@charset 'UTF-8';

/* =====================================================
 * Base
 * ================================================== */


/*! normalize.css v3.0.0 | MIT License | git.io/normalize */

@import url(//fonts.googleapis.com/css?family=Bai+Jamjuree:400,700&display=swap);
@import url(//fonts.googleapis.com/css?family=Roboto:400,700,900);
@import url(//fonts.googleapis.com/css?family=M+PLUS+1p);
html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-family: sans-serif;
}

body {
    margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden],
template {
    display: none;
}

a {
    background-color: transparent;
}

a:active,
a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

h1 {
    margin: 0.67em 0;
    font-size: 2em;
}

mark {
    background: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 1em 40px;
}

hr {
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    color: inherit;
    font: inherit;
}

button {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
    cursor: pointer;
    -webkit-appearance: button;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    padding: 0;
    border: 0;
}

input {
    line-height: normal;
}

input[type='checkbox'],
input[type='radio'] {
    box-sizing: border-box;
    padding: 0;
}

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
    height: auto;
}

input[type='search'] {
    box-sizing: content-box;
    -webkit-appearance: textfield;
}

input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
    -webkit-appearance: none;
}

fieldset {
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
    border: 1px solid #c0c0c0;
}

legend {
    padding: 0;
    border: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}


/* -----------------------------------------------------
 * scrollbar
 * -------------------------------------------------- */
/* スクロールバーの幅と高さを設定する */
.scrollbar::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
/* スクロールバーの形を設定する */
.scrollbar-thumb-rounded::-webkit-scrollbar-thumb {
  border-radius: 50px;
}
/* スクロールバーの色を設定する */
.scrollbar-thumb-black::-webkit-scrollbar-thumb {
  --bg-opacity: 1;
  background-color: #ccc;
}

/* -----------------------------------------------------
 * Init
 * -------------------------------------------------- */

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


/* normalize overwrite */

html {
    position: relative;
    min-height: 100%;
    /* font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', Meiryo, sans-serif;*/
    font-size: 62.5%;
}

body {
    height: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #555;
    font-size: 1.6rem;
    line-height: 1.5;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
}

html {
    overflow-x: inherit;
}

body {
    font-family: "Roboto", "Noto Sans JP", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', Meiryo, sans-serif;
    letter-spacing: .1rem;
    overflow-x: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1;
}

a {
    color: #3f95cb;
}

a:hover {
    text-decoration: none;
}

a:active,
a:focus,
a:visited {
    color: #3f95cb;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ol,
ul,
li,
figure,
figcaption,
small {
    margin: 0;
    font-size: 100%;
    font-weight: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #000;
    line-height: 1.25;
}

img {
    vertical-align: bottom;
}

ul {
    list-style-type: none;
    padding: 0;
}

ol {
    padding: 0;
}

th {
    font-weight: normal;
    text-align: left;
}


/* =====================================================
 * Module
 * ================================================== */


/* -----------------------------------------------------
 * Base
 * -------------------------------------------------- */

html {
    overflow-x: hidden;
}

body {
    display: flex;
    overflow-x: hidden;
    flex-direction: column;
}

h2 {
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1.25;
    text-align: center;
    letter-spacing: 0.25rem;
}

figure img {
    width: 100%;
    height: auto;
}


/* -----------------------------------------------------
 * animate State classes
 * -------------------------------------------------- */

.invisible {
    opacity: 0.0;
    transition: all 0.5s ease;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
}

.visible {
    opacity: 1.0;
    transition: all 0.5s ease;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}


/* -----------------------------------------------------
 * Utilities
 * -------------------------------------------------- */


/*docs
---
title: テキスト寄せ
name: util-010
category: utilities
---

```html
<p class="mod-left">.mod-left</p>
<p class="mod-center">.mod-center</p>
<p class="mod-right">.mod-right</p>
```
*/

.mod-left {
    text-align: left !important;
}

.mod-center {
    text-align: center !important;
}

.mod-right {
    text-align: right !important;
}


/*docs
---
title: メディア表示
name: util-020
category: utilities
---

```html
<div class="is-pc-hide">PC非表示（指定がなければSP表示）</div>
<div class="is-pc-show">PCでは必ず表示（指定がなければSP表示）</div>
<div class="is-sp-show">SPでは必ず表示（指定がなければPC表示）</div>
<div class="is-sp-hide">SP非表示（指定がなければPC表示）</div>
<p>テキストテキストテキスト。<br class="is-br-sp-show">SPでは改行が入る。</p>
<p>テキストテキストテキスト。<br class="is-br-pc-show">PCでは改行が入る。</p>
```
*/

.is-br-sp-show {
    display: none;
}

.is-br-pc-show {
    display: none;
}


/*docs
---
title: JSメディアチェック用
name: util-030
category: utilities
---
SP表示チェック。
- jQueryのis(':visible')を利用することで、JSとCSSの同期が取れる。
- SP時に display: block; となる。

```html
<div class="check-media">SP時 display: block;</div>
```
*/

.check-media {
    display: block;
}


/*docs
---
title: マージン用
name: util-040
category: utilities
---
クラス名を付与してマージンを開ける

```html
<div class="mod-center mod-mt20 mod-mt50-pc"><a href="./hoge" class="mod-btn"></a></div>
```
*/

.mod-mt0 {
    margin-top: 0 !important;
}

.mod-mr0 {
    margin-right: 0 !important;
}

.mod-mb0 {
    margin-bottom: 0 !important;
}

.mod-ml0 {
    margin-left: 0 !important;
}

.mod-mt5 {
    margin-top: 5px !important;
}

.mod-mr5 {
    margin-right: 5px !important;
}

.mod-mb5 {
    margin-bottom: 5px !important;
}

.mod-ml5 {
    margin-left: 5px !important;
}

.mod-mt10 {
    margin-top: 10px !important;
}

.mod-mr10 {
    margin-right: 10px !important;
}

.mod-mb10 {
    margin-bottom: 10px !important;
}

.mod-ml10 {
    margin-left: 10px !important;
}

.mod-mt15 {
    margin-top: 15px !important;
}

.mod-mr15 {
    margin-right: 15px !important;
}

.mod-mb15 {
    margin-bottom: 15px !important;
}

.mod-ml15 {
    margin-left: 15px !important;
}

.mod-mt20 {
    margin-top: 20px !important;
}

.mod-mr20 {
    margin-right: 20px !important;
}

.mod-mb20 {
    margin-bottom: 20px !important;
}

.mod-ml20 {
    margin-left: 20px !important;
}

.mod-mt25 {
    margin-top: 25px !important;
}

.mod-mr25 {
    margin-right: 25px !important;
}

.mod-mb25 {
    margin-bottom: 25px !important;
}

.mod-ml25 {
    margin-left: 25px !important;
}

.mod-mt30 {
    margin-top: 30px !important;
}

.mod-mr30 {
    margin-right: 30px !important;
}

.mod-mb30 {
    margin-bottom: 30px !important;
}

.mod-ml30 {
    margin-left: 30px !important;
}

.mod-mt35 {
    margin-top: 35px !important;
}

.mod-mr35 {
    margin-right: 35px !important;
}

.mod-mb35 {
    margin-bottom: 35px !important;
}

.mod-ml35 {
    margin-left: 35px !important;
}

.mod-mt40 {
    margin-top: 40px !important;
}

.mod-mr40 {
    margin-right: 40px !important;
}

.mod-mb40 {
    margin-bottom: 40px !important;
}

.mod-ml40 {
    margin-left: 40px !important;
}

.mod-mt45 {
    margin-top: 45px !important;
}

.mod-mr45 {
    margin-right: 45px !important;
}

.mod-mb45 {
    margin-bottom: 45px !important;
}

.mod-ml45 {
    margin-left: 45px !important;
}

.mod-mt50 {
    margin-top: 50px !important;
}

.mod-mr50 {
    margin-right: 50px !important;
}

.mod-mb50 {
    margin-bottom: 50px !important;
}

.mod-ml50 {
    margin-left: 50px !important;
}

.mod-mt55 {
    margin-top: 55px !important;
}

.mod-mr55 {
    margin-right: 55px !important;
}

.mod-mb55 {
    margin-bottom: 55px !important;
}

.mod-ml55 {
    margin-left: 55px !important;
}

.mod-mt60 {
    margin-top: 60px !important;
}

.mod-mr60 {
    margin-right: 60px !important;
}

.mod-mb60 {
    margin-bottom: 60px !important;
}

.mod-ml60 {
    margin-left: 60px !important;
}

.mod-mt65 {
    margin-top: 65px !important;
}

.mod-mr65 {
    margin-right: 65px !important;
}

.mod-mb65 {
    margin-bottom: 65px !important;
}

.mod-ml65 {
    margin-left: 65px !important;
}

.mod-mt70 {
    margin-top: 70px !important;
}

.mod-mr70 {
    margin-right: 70px !important;
}

.mod-mb70 {
    margin-bottom: 70px !important;
}

.mod-ml70 {
    margin-left: 70px !important;
}

.mod-mt75 {
    margin-top: 75px !important;
}

.mod-mr75 {
    margin-right: 75px !important;
}

.mod-mb75 {
    margin-bottom: 75px !important;
}

.mod-ml75 {
    margin-left: 75px !important;
}

.mod-mt80 {
    margin-top: 80px !important;
}

.mod-mr80 {
    margin-right: 80px !important;
}

.mod-mb80 {
    margin-bottom: 80px !important;
}

.mod-ml80 {
    margin-left: 80px !important;
}

.mod-mt85 {
    margin-top: 85px !important;
}

.mod-mr85 {
    margin-right: 85px !important;
}

.mod-mb85 {
    margin-bottom: 85px !important;
}

.mod-ml85 {
    margin-left: 85px !important;
}

.mod-mt90 {
    margin-top: 90px !important;
}

.mod-mr90 {
    margin-right: 90px !important;
}

.mod-mb90 {
    margin-bottom: 90px !important;
}

.mod-ml90 {
    margin-left: 90px !important;
}

.mod-mt95 {
    margin-top: 95px !important;
}

.mod-mr95 {
    margin-right: 95px !important;
}

.mod-mb95 {
    margin-bottom: 95px !important;
}

.mod-ml95 {
    margin-left: 95px !important;
}

.mod-mt100 {
    margin-top: 100px !important;
}

.mod-mr100 {
    margin-right: 100px !important;
}

.mod-mb100 {
    margin-bottom: 100px !important;
}

.mod-ml100 {
    margin-left: 100px !important;
}


/* -----------------------------------------------------
* SP NAVI
* -------------------------------------------------- */


/* =====================================================
 * Layout
 * ================================================== */


/* -----------------------------------------------------
* Header
* -------------------------------------------------- */

@-webkit-keyframes sub-menu {
    from {
        opacity: 0;
        -webkit-transform: translate(-50%, 95%);
        transform: translate(-50%, 95%);
    }
    to {
        opacity: 1;
        -webkit-transform: translate(-50%, 100%);
        transform: translate(-50%, 100%);
    }
}

@keyframes sub-menu {
    from {
        opacity: 0;
        -webkit-transform: translate(-50%, 95%);
        transform: translate(-50%, 95%);
    }
    to {
        opacity: 1;
        -webkit-transform: translate(-50%, 100%);
        transform: translate(-50%, 100%);
    }
}

.l-header {
    position: relative;
    z-index: 999;
    width: 100%;
    background-color: #fff;
    transition: all 0.4s ease-in-out;
}

.page-home .l-header {
    position: fixed;
    background-color: inherit;
}


/*
.page-home .l-header-logo .is-show-page {
  opacity: 0;
  display: none;
}

.page-home .l-header-logo .is-show-top {
  opacity: 1
}
*/

.page-home .l-header-contact a {
    border-color: #fff;
    background-image: url(/img/arrow_right_01.png);
    color: #fff;
}

.page-home .l-header-contact a:hover {
    border-color: #fff;
    background-color: #fff;
    background-image: url(/img/arrow_right_02.png);
    color: #3f95cb;
}

.page-home .l-header-menu-list>ul>li>a {
    color: #fff;
}

.page-home .l-header-btn-hamburger div {
    background-color: #fff;
}

.page-home .l-header-btn-txt {
    color: #fff;
}

.l-header.is-fixed {
    position: fixed;
    background-color: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
/*　スティッキーヘッダー用調整*/
.l-header.is-fixed .i-logo-sns{
	display: none;
}
.l-header.is-fixed .i-logo-climbercloud img{
	 height: 50px;
}
.l-header.is-fixed .list-sub-nav .hide{
	 display: none;
}
.l-header.is-fixed .i-logo-nttdata{
	position: absolute;
	right: 0;
	top:15px;
}


.l-header.is-fixed .l-header-inner {
    height: 80px;
    padding: 10px 25px;
}
.l-header.is-fixed .list-sub-nav {
	margin: 0px 190px 0 0;
}
.l-header.is-fixed .l-header-btn {
        position: absolute;
        top: 18px;
        right: 150px;
    }

.l-header.is-fixed .list-global-nav {
        margin: 0px 0 0 10px;
    }


/* =====================================================
 * FLOATING
 * ================================================== */

.btn-floating {
        top: auto;
        right: auto;
        bottom: 0;
        left: 0;
       position: fixed;
		z-index: 9999;
        padding: 10px 40px;
        width: 100%;
        background: #ff9c00;
	display: flex;
	justify-content: center;
	height: 80px;
}

.btn-floating a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin:0 10px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.04em;
    font-weight: bold;
    line-height: 1;
	 padding: 0 20px;
        width: 350px;
        height: 60px;
        border-radius: 50px;
	background: #fffc00;
	font-size: 20px;
	color: #ff8a00;
}

.btn-floating a:hover {
    opacity: 0.8;
}


 .btn-floating.is-fixed {
        position: fixed;
		z-index: 9999;
	  display: flex;
    }

/*
.l-header.is-fixed .l-header-logo a.is-show-page {
  opacity: 1;
}

.page-home .l-header.is-fixed .l-header-logo a.is-show-page {
  display: block
}

.l-header.is-fixed .l-header-logo a.is-show-top {
  display: block;
}

.l-header.is-fixed .l-header-logo a.is-show-top {
  display: none;
}
*/

.l-header .l-header-logo .is-show-page {
    display: block;
}

.l-header .l-header-logo .is-show-top {
    display: none;
}

.l-header.is-fixed .l-header-contact a {
    border-color: #3f95cb;
    background-image: url(/img/arrow_right_02.png);
    color: #3f95cb;
}

.l-header.is-fixed .l-header-contact a:hover {
    border-color: #3f95cb;
    background-color: #3f95cb;
    background-image: url(/img/arrow_right_01.png);
    color: #fff;
}

.l-header.is-fixed .l-header-menu-list>ul>li>a {
    color: inherit;
}

.l-header.is-fixed .l-header-btn-hamburger div {
    background-color: #fff;
}

.l-header.is-fixed .l-header-btn-txt {
    color: #3f95cb;
}

.l-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 90px;
    padding: 5px 25px;
}

.l-header-logo {
    display: flex;
    align-items: center;
    height: 40px;
}

.l-header-logo img {
    width: auto;
    height: 48px;
}

.i-logo-nttdata {
    height: 34px;
    padding: 3px 14px 0;
    border-left: 1px solid #ccc;
    margin-left: 14px;
}

.i-logo-nttdata img {
    width: auto;
    height: 15px;
}

.l-header-menu-list {
    margin-right: 30px;
}

.l-header-menu-list>ul {
    display: flex;
}

.l-header-menu-list>ul>li {
    /* position: relative; */
    height: 37px;
    margin-right: 30px;
    line-height: 33px;
}

.l-header-menu-list>ul>li:last-child {
    margin-right: 0;
}

.l-header-menu-list>ul>li a {
    position: relative;
}

.l-header-menu-list>ul>li a::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: #3f95cb;
    transition: 0.2s all ease-in;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.l-header-menu-list>ul>li.is-current a::after,
.l-header-menu-list>ul>li:hover a::after {
    width: 100%;
}

.l-header-menu-list>ul>li>a {
    display: block;
    height: 100%;
    color: inherit;
    font-size: 1.4rem;
    text-decoration: none;
}

.l-header-child-menu {
    display: none;
    position: absolute;
    /* bottom: 0; */
    bottom: 23px;
    /* left: 50%; */
    width: 360px;
    /* width: 96vw; */
    /* padding: 30px 0 0; */
    padding: 0;
    transition: 0.2s all ease-in;
    /* -webkit-transform: translate(-50%, 95%); */
    /* transform: translate(-50%, 95%); */
    -webkit-animation: sub-menu 0.2s ease-in 0s;
    animation: sub-menu 0.2s ease-in 0s;
    background-color: rgba(255, 255, 255, 0.98);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

.l-header-child-menu ul {
    /* padding: 20px; */
    /* border-radius: 5px; */
    /* background-color: #fff; */
    /* box-shadow: 0 0 14px rgba(0, 0, 0, 0.15); */
}

.l-header-child-menu ul:before {
    content: none;
    display: block;
    position: absolute;
    /* top: 30px; */
    top: 0;
    left: 50%;
    width: 0;
    height: 0;
    border: 7px solid #fff;
    -webkit-transform: rotate(45deg) translateX(-50%);
    transform: rotate(45deg) translateX(-50%);
}

.l-header-child-menu ul li {
    /* margin-bottom: 25px; */
    line-height: 1;
    /* text-align: center; */
    /* margin-bottom: 1.4rem; */
    /* margin-bottom: 2rem; */
}

.l-header-child-menu ul li:last-child {
    /* margin-bottom: 0; */
}

.l-header-child-menu ul li a {
    /* font-size: 1.4rem; */
    /* text-decoration: underline; */
    /* display: flex;
  text-decoration: none;
  border: 2px solid #02a3e8;
  color: #02a3e8;
  border-radius: 45px;
  padding: 0 2em;
  height: 80px;
  align-items: center; */
    display: block;
    padding: .5em;
    transition: 0.2s ease-in-out;
}

.l-header-child-menu ul li a::after {
    content: none !important;
}

.l-header-child-menu ul li a:hover {
    text-decoration: none;
    background-color: #02a3e8;
    color: #fff;
}

.l-header-child-menu ul li a:hover::after {
    content: none !important;
}

.is-show .l-header-child-menu {
    display: block;
    -webkit-transform: translate(-50%, 100%);
    transform: translate(-50%, 100%);
}

.l-header-contact a {
    display: block;
    width: 110px;
    padding: 5px 0;
    border: 1px #3f95cb solid;
    border-radius: 5px;
    background: url(/img/arrow_right_02.png) no-repeat right 5px center;
    background-size: 8px auto;
    color: #3f95cb;
    font-size: 1.1rem;
    text-align: center;
    text-decoration: none;
    transition: all 0.4s ease-in-out;
}

.l-header-contact a:hover {
    border-color: #3f95cb;
    background-color: #3f95cb;
    color: #fff;
}

.l-header-btn {
    width: 59px;
    height: 45px;
    background: #009EE8;
    padding: 15px 18px;
    border-radius: 45px;
    cursor: pointer;
}

.l-header-btn-hamburger {
    position: relative;
    /*  margin-bottom: 3px;*/
}

.l-header-btn-hamburger div {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: all 0.3s ease-in;
}

.l-header-btn-hamburger div:first-child {
    top: 3px;
}


/*
.l-header-btn-hamburger div:nth-child(2) {
  top: 8px;
}
*/

.l-header-btn-hamburger div:last-child {
    top: 10px;
}

.l-header-btn.is-open .l-header-btn-hamburger div:first-child,
.l-header-btn.is-open .l-header-btn-hamburger div:last-child {
    top: 6.5px;
}


/*
.l-header-btn.is-open .l-header-btn-hamburger div:nth-child(2) {
  opacity: 0;
}
*/

.l-header-btn.is-open .l-header-btn-hamburger div:first-child {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.l-header-btn.is-open .l-header-btn-hamburger div:last-child {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.l-header-btn-txt {
    color: #3f95cb;
    font-family: 'Bai Jamjuree', sans-serif;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.06em;
}


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

.block-menu {
    /* border-top: 2px dashed #3f95cb; */
    /* padding: 2vw 2%; */
    padding: 0 2%;
}

.block-menu:first-of-type {
    border: none;
}

.block-menu.l-row {
    margin-left: 0;
    margin-right: 0;
}

.block-menu .box-col {
    /* width: 33.333%; */
    width: 100%;
    text-align: left;
    border-bottom: 2px dashed #3f95cb;
    padding-bottom: 2rem !important;
    padding-top: 2rem !important;
}

.block-menu .box-col:last-child {
    border-bottom: none;
    margin-bottom: 0;
}


/* -----------------------------------------------------
* SP NAVI
* -------------------------------------------------- */

.l-gnav-sp {
    display: none;
    position: fixed;
    z-index: 99;
    top: 90px;
    left: 0;
    overflow-y: scroll;
    width: 100%;
    height: calc(100% - 90px);
    background-color: #009EE8;
}

footer .l-gnav-sp {
    background-color: #06284e;
}


/* -----------------------------------------------------
 * Footer
 * -------------------------------------------------- */

.l-footer {
    position: relative;
    z-index: 1;
    padding: 0 0 20px 0;
    background: #06284e;
    color: #fff;
	margin-bottom: 80px;
}

.l-footer-nav-bottom {
    text-align: center;
}

.l-footer-nav-bottom ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.l-footer-nav-bottom ul li {
    width: 175px;
    margin: 20px 0 0;
    font-size: 1.2rem;
}

.l-footer-nav-bottom ul li a {
    color: #fff;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

.l-footer-nav-bottom ul li a:hover {
    opacity: 0.7;
}

.l-footer-license {
    margin: 50px 0 0;
}

.l-footer-license ul li {
    margin: 40px 0 0;
}

.l-footer-license ul li figure {
    /* width: 180px; */
    margin: 0 auto;
    padding: 10px;
    display: flex;
    justify-content: center;
}

.l-footer-license ul li figure a {
    transition: opacity 0.2s ease-in-out;
    padding: 0 5px;
}

.l-footer-license ul li figure a:hover {
    opacity: 0.7;
}

.l-footer-license ul li figure a img {
    max-height: 70px;
}

.l-footer-license ul li p {
    margin: 20px 0 0;
    font-size: 1.1rem;
    text-align: center;
}

.l-footer-license ul li figure img {
    max-height: 70px;
    width: auto;
}

.l-footer-copyright {
    margin: 20px 0 0;
    padding: 20px 0 0;
    border-top: 1px #698cb2 solid;
    font-family: sans-serif;
    font-size: 1.1rem;
    text-align: center;
}


/* フッターSNS */

.l-footer-nav-bottom .l-footer-sns_icon_list {
    width: 200px;
}

.l-footer-sns_icon_list ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
}

.l-footer-sns_icon_list ul li {
    padding: 0 8px;
    width: auto;
    margin: 6px 0 0;
}

.l-footer-sns_icon_list img {
    width: 24px;
}


/* -----------------------------------------------------
 * banner
 * -------------------------------------------------- */

section.l-banner {
    padding: 100px;
    height: 700px;
}

.l-banner-inner {
    color: #555;
}

.l-banner-title {
    padding: 50px 20px 0;
}

.l-banner-catch {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 73px;
    border-bottom: solid 2px;
    margin: 0 10vw 89px;
    padding-bottom: 20px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    white-space: nowrap;
    flex-wrap: wrap;
}

.l-banner-catch p {
    font-weight: bold;
    background: linear-gradient(transparent 50%, yellow 50%);
}

.l-banner-box {
    display: flex;
    position: relative;
    /* padding-top: 100px; */
}

.l-banner-logo {
    text-align: right;
    margin-bottom: 70px;
}

.l-banner-logo img {
    width: 400px;
}

.l-banner-image {
    right: 0;
    top: 0;
}

.l-banner-cards {
    display: flex;
    justify-content: flex-start;
    margin-top: 42px;
}

.l-banner-card {
    background-color: #eee;
    width: 270px;
    margin-right: 13px;
    padding: 18px 24px;
    /* text-align: center; */
    border-radius: 3px;
    box-shadow: 0px 1px 3px #aeaebb;
}

.l-banner-card-title {
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: 16px;
    border-bottom: solid 1px;
    color: #6d7073;
}

.l-banner-card-text {
    font-size: 1.4rem;
}


/* -----------------------------------------------------
 * pagetop
 * -------------------------------------------------- */

.mod-pagetop {
    position: fixed;
    z-index: 99999;
    right: 10px;
    bottom: 100px;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    -webkit-transform: translateY(66.66667vw);
    transform: translateY(66.66667vw);
}

.mod-pagetop a {
    display: block;
    overflow: hidden;
    width: 60px;
    height: 0;
    padding: 60px 0 0;
    border-radius: 50%;
    background: #fff url(/img/arrow_up_01.png) no-repeat 50% 50%;
    background-size: 15px auto;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
    opacity: 0.8;
}

.is-page-active .mod-pagetop {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}


/* -----------------------------------------------------
 * Layout
 * -------------------------------------------------- */

.l-wrapper {
    flex-direction: column;
    min-height: 100vh;
}

.l-main {
    position: relative;
    z-index: 2;
    flex-grow: 1;
    min-width: 320px;
    background-color: #fff;
}


/* -----------------------------------------------------
 * hero
 * -------------------------------------------------- */

@-webkit-keyframes fadein {
    from {
        opacity: 0;
        -webkit-transform: scale(4) translate3d(0, 50%, 0);
        transform: scale(4) translate3d(0, 50%, 0);
    }
    to {
        opacity: 1.0;
        -webkit-transform: scale(1) translate3d(0, 0, 0);
        transform: scale(1) translate3d(0, 0, 0);
    }
}

@keyframes fadein {
    from {
        opacity: 0;
        -webkit-transform: scale(4) translate3d(0, 50%, 0);
        transform: scale(4) translate3d(0, 50%, 0);
    }
    to {
        opacity: 1.0;
        -webkit-transform: scale(1) translate3d(0, 0, 0);
        transform: scale(1) translate3d(0, 0, 0);
    }
}

.l-hero {
    position: relative;
    width: 100%;
    height: 550px;
    color: #fff;
    font-family: 'M PLUS 1p';
    text-align: center;
}

.l-hero-inner {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 550px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.l-hero-inner::after {
    content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 550px;
    margin: 0 auto;
    background: url(/img/bg_hero_sp_01.png) no-repeat 50% 100%;
    background-size: 150% auto;
    opacity: 0;
    -webkit-animation: fadein 1s 1s forwards;
    animation: fadein 1s 1s forwards;
}

.l-hero-logo {
    width: 150px;
    margin: 0 auto;
    padding: 100px 0 30px;
}

.l-hero-logo img {
    width: 100%;
    height: auto;
}

.l-hero-copy {
    font-size: 2.4rem;
    line-height: 1.5;
}

.l-hero-copy2 {
    margin: 20px auto 0;
    font-size: 1.2rem;
}


/* =====================================================
 * Page
 * ================================================== */


/* -----------------------------------------------------
 * news
 * -------------------------------------------------- */

.l-news {
    width: calc(100% - 20px);
    margin: -60px auto 0;
    padding: 20px;
    background-color: #3f95cb;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
    color: #fff;
}

.l-news h2 {
    color: #fff;
    font-family: 'Bai Jamjuree', sans-serif;
    font-weight: 400;
    text-align: left;
    letter-spacing: 0.25rem;
}

.l-news-list {
    margin: 10px 0 0;
}

.l-news-list ul li {
    display: flex;
    padding: 10px;
    font-size: 1.2rem;
}

.l-news-list ul li a {
    display: flex;
    color: #fff;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

.l-news-list ul li a:hover {
    opacity: 0.7;
}

.l-news-list ul li figure {
    width: 90px;
    min-width: 90px;
    padding: 0 10px 0 0;
}

.l-news-list ul li dt {
    font-family: 'Bai Jamjuree', sans-serif;
}

.l-news-list ul li dt span {
    margin: 0 0 0 5px;
    padding: 0.1rem 5px;
    background-color: #163c67;
    font-size: 1.0rem;
    white-space: nowrap;
}

.l-news-list ul li dd {
    margin: 5px 0 0;
}


/* -----------------------------------------------------
 * solution
 * -------------------------------------------------- */

.l-solution {
    padding: 10px;
    background: url(/img/bg_body_01.png) no-repeat 50% 25px;
    background-size: 1600px auto;
}


/* solution-q
------------------------------------------------- */

.l-solution-q {
    padding: 25px 0;
}

.l-solution-q ul {
    width: 80%;
    margin: 30px auto 0;
}

.l-solution-q ul li {
    width: 100%;
    margin: 5px auto 0;
    padding: 5px;
    border-radius: 5px;
    background-color: #163c67;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
}


/* solution-a
------------------------------------------------- */

.l-solution-a {
    padding: 25px 0;
}

.l-solution-a .logo {
    width: 150px;
    margin: 0 auto;
}

.l-solution-a .logo img {
    width: 100%;
    height: auto;
}

.l-solution-a h2 {
    margin: 20px 0 0;
    padding-bottom: 60px;
    background: url(/img/arrow_down_01.png) no-repeat 50% 100%;
    background-size: 25px auto;
}

.l-solution-a-section {
    position: relative;
    padding: 240px 0 0;
}

.l-solution-a-section::after {
    content: '';
    display: block;
    position: absolute;
    top: 30px;
    left: -80px;
    width: calc(100% + 160px);
    height: 220px;
    background: url(/img/bg_pc_01.png) no-repeat 100% 0;
    background-size: auto 220px;
}

.l-solution-a-section:nth-of-type(even)::after {
    background: url(/img/bg_pc_02.png) no-repeat 0 0;
    background-size: auto 220px;
}

.l-solution-a h3 {
    margin: 30px 0 0;
    padding: 0 0 5px;
    border-bottom: 2px #3f95cb solid;
    color: #000;
    font-size: 2.2rem;
    font-weight: 300;
    letter-spacing: 0.25rem;
}

.l-solution-a p {
    margin: 15px 0 0;
    font-size: 1.2rem;
    text-align: center;
}

.l-solution-a table {
    width: 100%;
    margin: 10px 0 0;
    font-size: 1.1rem;
}

.l-solution-a table th,
.l-solution-a table td {
    padding: 5px;
    border: 1px #555 solid;
}

.l-solution-a table th {
    background-color: #eee;
}

.l-solution-a .mod-answer {
    margin: 15px auto 0;
    padding: 30px 0 0;
    background: url(/img/arrow_down_02.png) no-repeat 50% 2px;
    background-size: 25px auto;
}

.l-solution-a .mod-answer p {
    margin: 0;
    color: #000;
    font-size: 1.3rem;
    font-weight: bold;
}

.l-solution-a .mod-answer p span {
    color: #555;
    font-size: 1.1rem;
    font-weight: normal;
}

.l-solution-a .l-button {
    margin: 0 auto 30px;
}


/* solution-usecase
------------------------------------------------- */

.l-solution-usecase {
    padding: 25px 0;
}

.l-solution-usecase ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 20px auto 0;
}

.l-solution-usecase ul li {
    width: calc(50% - 5px);
    margin: 20px 0 0;
}

.l-solution-usecase ul li h3 {
    display: flex;
    align-items: center;
    height: 5.4rem;
    padding: 0 0 0 30px;
    border-radius: 5px;
    background-color: #163c67;
    background-repeat: no-repeat;
    background-position: 5px 50%;
    background-size: 20px auto;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 300;
}

.l-solution-usecase ul li:nth-of-type(1) h3 {
    background-image: url(/img/ico_usecase_01.png);
}

.l-solution-usecase ul li:nth-of-type(2) h3 {
    background-image: url(/img/ico_usecase_02.png);
}

.l-solution-usecase ul li:nth-of-type(3) h3 {
    background-image: url(/img/ico_usecase_03.png);
}

.l-solution-usecase ul li:nth-of-type(4) h3 {
    background-image: url(/img/ico_usecase_04.png);
}

.l-solution-usecase ul li:nth-of-type(5) h3 {
    background-image: url(/img/ico_usecase_05.png);
}

.l-solution-usecase ul li:nth-of-type(6) h3 {
    background-image: url(/img/ico_usecase_06.png);
}

.l-solution-usecase ul li:nth-of-type(7) h3 {
    background-image: url(/img/ico_usecase_07.png);
}

.l-solution-usecase ul li:nth-of-type(8) h3 {
    background-image: url(/img/ico_usecase_08.png);
}

.l-solution-usecase ul li:nth-of-type(9) h3 {
    background-image: url(/img/ico_usecase_09.png);
}

.l-solution-usecase ul li p {
    margin: 10px 0 0;
    font-size: 1.2rem;
}


/* -----------------------------------------------------
 * merit
 * -------------------------------------------------- */

.l-merit {
    padding: 50px 10px;
    background: #163c67 url(/img/bg_merit_01.jpg) no-repeat 50% 50%;
    background-size: cover;
    color: #fff;
}

.l-merit h2 {
    color: #fff;
}

.l-merit h3 {
    margin: 50px 0 0;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 300;
    letter-spacing: 0.25rem;
}

.l-merit h3::after {
    content: '';
    display: block;
    height: 1px;
    margin: 10px 0 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), white);
}

.l-merit p {
    margin: 20px 0 0;
    font-size: 1.2rem;
    line-height: 1.75;
}

.l-merit figure {
    width: 70%;
    margin: 20px auto 0;
}


/* -----------------------------------------------------
 * feature
 * -------------------------------------------------- */

.l-feature {
    padding: 50px 10px;
}

.l-feature ul {
    margin: 40px 0 0;
}

.l-feature ul li {
    margin: 40px 0 0;
}

.l-feature ul li figure {
    width: 70%;
    margin: 0 auto;
}

.l-feature ul li h3 {
    margin: 20px 0 0;
    color: #000;
    font-size: 1.8rem;
    font-weight: 300;
    text-align: center;
    letter-spacing: 0.25rem;
}

.l-feature ul li p {
    margin: 20px 0 0;
    font-size: 1.2rem;
    line-height: 1.75;
}


/* -----------------------------------------------------
 * ui
 * -------------------------------------------------- */

.l-ui {
    padding: 50px 10px 60px;
    background-color: #3f95cb;
    color: #fff;
}

.l-ui h2 {
    color: #fff;
}

.l-ui-slider {
    width: 84%;
    margin: 40px auto 0;
    padding: 0 0 20px;
    border-bottom: 1px #fff solid;
}

.l-ui-slider ul {
    position: relative;
    width: 100%;
}

.l-ui-slider ul li figure {
    width: 100%;
}

.l-ui-slider ul li h3 {
    margin: 10px 0 0;
    color: #fff;
    font-size: 1.8rem;
}

.l-ui-slider ul li p {
    margin: 10px 0 0;
    font-size: 1.2rem;
}

.l-ui-slider .slick-prev,
.l-ui-slider .slick-next {
    position: absolute;
    top: 50%;
    overflow: hidden;
    box-sizing: border-box;
    width: 16px;
    height: 0;
    margin: 0;
    margin: -50px 0 0;
    padding: 0;
    padding: 16px 0 0;
    border: 0;
    border-radius: 0;
    background: none transparent;
    background-repeat: none;
    background-position: 0 0;
    background-clip: padding-box;
    background-size: 16px auto;
    color: inherit;
    font-size: inherit;
    vertical-align: middle;
    transition: opacity 0.2s ease-in-out;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.l-ui-slider .slick-prev:hover,
.l-ui-slider .slick-next:hover {
    opacity: 0.7;
}

.l-ui-slider .slick-prev::-ms-clear,
.l-ui-slider .slick-next::-ms-clear {
    display: none;
}

.l-ui-slider .slick-prev::-ms-reveal,
.l-ui-slider .slick-next::-ms-reveal {
    display: none;
}

.l-ui-slider .slick-prev::-ms-expand,
.l-ui-slider .slick-next::-ms-expand {
    display: none;
}

.l-ui-slider .slick-prev {
    left: -20px;
    background-image: url(/img/arrow_left_01.png);
}

.l-ui-slider .slick-next {
    right: -20px;
    background-image: url(/img/arrow_right_01.png);
}

.l-ui-slider .slick-dots {
    display: flex;
    position: absolute;
    bottom: -60px;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
}

.l-ui-slider .slick-dots li {
    margin: 0 5px;
}

.l-ui-slider .slick-dots li button {
    overflow: hidden;
    box-sizing: border-box;
    width: 10px;
    height: 0;
    margin: 0;
    padding: 0;
    padding: 10px 0 0;
    border: 0;
    border-radius: 0;
    border-radius: 50%;
    background: none transparent;
    background-color: #2f7199;
    background-clip: padding-box;
    color: inherit;
    font-size: inherit;
    vertical-align: middle;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.l-ui-slider .slick-dots li button::-ms-clear {
    display: none;
}

.l-ui-slider .slick-dots li button::-ms-reveal {
    display: none;
}

.l-ui-slider .slick-dots li button::-ms-expand {
    display: none;
}

.l-ui-slider .slick-dots li.slick-active button {
    background-color: #163c67;
}


/* -----------------------------------------------------
 * cooperation
 * -------------------------------------------------- */

.l-cooperation {
    padding: 50px 10px;
}

.l-cooperation ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.l-cooperation ul li {
    width: calc(50% - 5px);
    margin: 40px 0 0;
}

.l-cooperation ul li figure {
    width: 60px;
    margin: 0 auto;
}

.l-cooperation ul li h3 {
    margin: 15px 0 0;
    color: #000;
    font-size: 1.8rem;
    font-weight: 300;
    text-align: center;
    letter-spacing: 0.25rem;
}

.l-cooperation ul li p {
    margin: 10px 0 0;
    font-size: 1.2rem;
    line-height: 1.75;
}


/* -----------------------------------------------------
 * contact
 * -------------------------------------------------- */

.l-contact {
    margin: 0 0 0;
    padding: 50px 10px;
    background-color: #3f95cb;
    color: #fff;
}

.page-home .l-contact {
    margin: 0;
}

.l-contact h2 {
    color: #fff;
}

.l-contact p {
    margin: 30px 0 0;
    font-size: 1.2rem;
    line-height: 2;
    text-align: center;
    letter-spacing: 0.25rem;
}

.l-contact a {
    display: block;
    width: 300px;
    margin: 30px auto 0;
    padding: 15px;
    border-radius: 5px;
    background: #fff url(/img/arrow_right_02.png) no-repeat right 10px center;
    background-size: 12px auto;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

.l-contact a:hover {
    opacity: 0.7;
}


/* -----------------------------------------------------
 * trial
 * -------------------------------------------------- */

.l-trial {
    margin: 0 0 0;
    padding: 50px 10px;
    background-color: #112159;
    color: #fff;
}

.page-home .l-trial {
    margin: 0;
}

.l-trial h2 {
    color: #fff;
}

.l-trial p {
    margin: 30px 0 0;
    font-size: 1.2rem;
    line-height: 2;
    text-align: center;
    letter-spacing: 0.25rem;
}

.l-trial a {
    display: block;
    width: 300px;
    margin: 30px auto 0;
    padding: 15px;
    border-radius: 5px;
    background: #fff url(/img/arrow_right_02.png) no-repeat right 10px center;
    background-size: 12px auto;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

.l-trial a:hover {
    opacity: 0.7;
}


/* -----------------------------------------------------
 * common - heading
 * -------------------------------------------------- */

.heading-solid {
    padding: 10px;
    border-radius: 5px;
    background-color: #163c67;
    color: #fff !important;
    font-weight: 300;
}

.heading-line {
    padding: 0 0 5px;
    border-bottom: 2px #3f95cb solid;
}

.heading-line-gray {
    padding: 0 0 5px;
    border-bottom: 2px #8F8F8F solid;
}


/* -----------------------------------------------------
 * common - background
 * -------------------------------------------------- */

.bg-blue {
    background-color: #3f95cb;
}

.bg-blue * {
    color: #fff;
}

.bg-gray {
    background-color: #eee;
}


/* -----------------------------------------------------
 * common - button
 * -------------------------------------------------- */

.l-button {
    margin: 30px auto 0;
    text-align: center;
}

.mod-button {
    display: inline-block;
    padding: 15px 25px;
    border-radius: 5px;
    background-color: #163c67;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

.mod-button:hover {
    opacity: 0.7;
}

.mod-button:link,
.mod-button:visited,
.mod-button :active,
.mod-button :hover {
    color: #fff;
}

.mod-button-down {
    display: inline-block;
    padding: 15px 40px 15px 30px;
    border-radius: 5px;
    background: url('../img/arrow_down_03.png') no-repeat right 10px center #163c67;
    background-size: 12px auto;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

.mod-button-down:hover {
    opacity: 0.7;
}

.mod-button-down:link,
.mod-button-down:visited,
.mod-button-down :active,
.mod-button-down :hover {
    color: #fff;
}

.mod-button-white {
    display: inline-block;
    min-width: 300px;
    margin: 30px auto 0;
    padding: 15px 30px;
    border: 1px solid #3f95cb;
    border-radius: 5px;
    background: #fff url(/img/arrow_right_02.png) no-repeat right 10px center;
    background-size: 12px auto;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.2s ease-in-out;
}

.mod-button-white:hover {
    opacity: 0.7;
}


/* -----------------------------------------------------
 * .mod-arrow-down
 * -------------------------------------------------- */

.mod-arrow-down {
    margin: 20px 0 0;
}

.mod-arrow-down img {
    width: 25px;
}


/* -----------------------------------------------------
  * mod-nav-local
  * -------------------------------------------------- */

.mod-nav-local ul {
    display: flex;
    flex-wrap: wrap;
}


/* -----------------------------------------------------
 * l-page-title
 * -------------------------------------------------- */

.l-page-title {
    position: relative;
    width: 100%;
    min-height: 150px;
    padding: 0 10px;
    background: #009ee8 url(/img/bg_title_01.png) no-repeat right -25px center;
    background-size: 170px auto;
    color: #fff;
}

.l-page-title-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% - 20px);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.l-page-title h1 {
    color: #fff;
    font-size: 2.8rem;
    font-family: "Noto Sans JP";
    font-weight: 700;
}

.l-page-title .tx_catch {
    margin: 10px 0 0;
    font-size: 1.4rem;
    line-height: 2;
    text-align: left;
}

.l-page-title p {
    margin: 10px 0 0;
    font-size: 1.2rem;
}


/* -----------------------------------------------------
 * mod-breadcrumb
 * -------------------------------------------------- */

.mod-breadcrumb {
    padding: 10px 10px 0;
}

.mod-breadcrumb ol {
    display: flex;
    list-style: none;
	flex-wrap: wrap;
}

.mod-breadcrumb ol li {
    font-size: 1.1rem;
}

.mod-breadcrumb ol li::after {
    content: '＞';
    margin: 0 10px;
}

.mod-breadcrumb ol li:last-child::after {
    display: none;
}


/* -----------------------------------------------------
 * mod-section
 * -------------------------------------------------- */

.mod-section {
    padding: 50px 10px;
}

.mod-section h2 {
    font-size: 2.8rem;
    font-weight: 300;
    text-align: left;
}

.mod-section h3 {
    margin: 50px 0 0;
    font-size: 2.4rem;
    font-weight: 300;
    text-align: left;
}

.mod-section h4 {
    margin: 40px 0 0;
    font-size: 2.0rem;
    font-weight: 300;
    text-align: left;
}

.mod-section h5 {
    margin: 30px 0 0;
    font-size: 1.8rem;
    font-weight: 300;
    text-align: left;
}

.mod-section p {
    margin: 30px 0 0;
    font-size: 1.2rem;
    line-height: 2;
}

.mod-section img {
    display: block;
    max-width: 100%;
    margin: 20px auto 0;
}

.mod-section ol {
    margin: 25px 0 0 2.5rem;
}

.mod-section ol.inline-block {
    display: inline-block;
    text-align: left;
}

.mod-section ol li {
    margin: 5px 0 0;
    font-size: 1.2rem;
    line-height: 2;
}

.mod-section strong {
    font-size: 2rem;
}

.mod-section .mod-source {
    color: #b8b8b8;
    font-size: 1rem;
}

.mod-section .mod-supplement {
    font-size: 1.2rem;
    text-align: left;
}


/* -----------------------------------------------------
 * mod-table
 * -------------------------------------------------- */

.mod-table {
    overflow-x: scroll;
    table-layout: fixed;
    min-width: 100%;
    margin: 30px 0 0;
    -webkit-overflow-scrolling: touch;
}

.mod-table table {
    width: 100%;
    border-bottom: 1px #ccc solid;
}

.mod-table table tr {
    border-top: 1px #ccc solid;
}

.mod-table table th {
    padding: 20px 10px;
    border: 1px #fff solid;
    border-width: 0 1px;
    background-color: #f5f5f5;
    color: #555;
    font-size: 1.4rem;
    white-space: nowrap;
}

.mod-table table th:last-child {
    border-right: none;
}

.mod-table table td {
    padding: 20px 10px;
    background-color: #fff;
    color: #555;
    font-size: 1.2rem;
}

.mod-table table ul:first-child {
    margin: 0;
}

.mod-table table ul:first-child li:first-child {
    margin-top: 0;
}

.mod-table+.summary {
    margin-top: 0 !important;
    font-size: 1.6rem;
    font-weight: bold;
}


/* -----------------------------------------------------
 * mod-list
 * -------------------------------------------------- */

.mod-list-disc {
    margin: 25px 0 0 0.5rem;
    text-align: left;
}

.mod-list-disc.inline-block {
    display: inline-block;
}

.mod-list-disc li {
    margin: 5px 0 0 1.6rem;
    font-size: 1.2rem;
    line-height: 2;
    text-indent: -1.2rem;
}

.mod-list-disc li::before {
    content: '●';
    padding: 0 0.4rem 0 0;
    color: #3f95cb;
}

.mod-list-pdf {
    margin: 25px 0 0 0.5rem;
    text-align: left;
}

.mod-list-pdf li {
    margin: 5px 0 0 1.6rem;
    padding: 0 0 0 2.0rem;
    background: url(/img/ico_pdf_01.png) no-repeat 0 0.4rem;
    background-size: auto 1.6rem;
    font-size: 1.2rem;
    line-height: 2;
}


/* -----------------------------------------------------
 * mod-num
 * -------------------------------------------------- */

.mod-num {
    color: #3f95cb;
    font-family: 'Bai Jamjuree', sans-serif;
    font-size: 2.4rem;
}

.mod-num.black {
    color: #000;
}

b.mod-num {
    font-size: 7.2rem;
}

small.mod-num {
    font-size: 2rem;
}


/* -----------------------------------------------------
 * mod-box
 * -------------------------------------------------- */

.mod-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.mod-box .col {
    margin: 40px 0 0;
}

.mod-box .col>h2:first-child,
.mod-box .col>h3:first-child,
.mod-box .col>h4:first-child,
.mod-box .col>h5:first-child,
.mod-box .col>p:first-child,
.mod-box .col>ul:first-child,
.mod-box .col>ol:first-child {
    margin-top: 0;
}

.mod-box .col figure+h2,
.mod-box .col figure+h3,
.mod-box .col figure+h4,
.mod-box .col figure+h5,
.mod-box .col figure+p,
.mod-box .col figure+ul,
.mod-box .col figure+ol {
    margin-top: 30px;
}

.mod-box .col img {
    width: 100%;
    height: auto;
    margin-top: 0;
}

.mod-box.cols2 .col,
.mod-box.cols3 .col {
    width: 100%;
}

.mod-box.cols4 .col {
    width: calc(50% - 5px);
}


/* -----------------------------------------------------
 * mod-usecase
 * -------------------------------------------------- */

.mod-usecase ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 20px auto 0;
}

.mod-usecase ul li {
    width: calc(50% - 5px);
    margin: 20px 0 0;
    text-indent: 0;
}

.mod-usecase ul li::before {
    display: none;
}

.mod-usecase ul li h3 {
    display: flex;
    align-items: center;
    height: 5.4rem;
    margin: 0;
    padding: 0 0 0 30px;
    border-radius: 5px;
    background-color: #163c67;
    background-repeat: no-repeat;
    background-position: 5px 50%;
    background-size: 20px auto;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 300;
}

.mod-usecase ul li:nth-of-type(1) h3 {
    background-image: url(/img/ico_usecase_01.png);
}

.mod-usecase ul li:nth-of-type(2) h3 {
    background-image: url(/img/ico_usecase_02.png);
}

.mod-usecase ul li:nth-of-type(3) h3 {
    background-image: url(/img/ico_usecase_03.png);
}

.mod-usecase ul li:nth-of-type(4) h3 {
    background-image: url(/img/ico_usecase_04.png);
}

.mod-usecase ul li:nth-of-type(5) h3 {
    background-image: url(/img/ico_usecase_05.png);
}

.mod-usecase ul li:nth-of-type(6) h3 {
    background-image: url(/img/ico_usecase_06.png);
}

.mod-usecase ul li:nth-of-type(7) h3 {
    background-image: url(/img/ico_usecase_07.png);
}

.mod-usecase ul li:nth-of-type(8) h3 {
    background-image: url(/img/ico_usecase_08.png);
}

.mod-usecase ul li:nth-of-type(9) h3 {
    background-image: url(/img/ico_usecase_09.png);
}

.mod-usecase ul li p {
    margin: 10px 0 0;
    font-size: 1.2rem;
}


/* -----------------------------------------------------
 * mod-solution
 * -------------------------------------------------- */

.mod-solution ul {
    width: 80%;
    margin: 30px auto 0;
}

.mod-solution ul li {
    width: 100%;
    margin: 5px auto 0;
    padding: 5px;
    border-radius: 5px;
    background-color: #163c67;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
    text-indent: 0;
}

.mod-solution ul li::before {
    display: none;
}

.mod-solution .logo {
    width: 150px;
    margin: 50px auto 0;
}

.mod-solution .logo img {
    width: 100%;
    height: auto;
}

.mod-solution p {
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: 0.25rem;
}

.mod-solution-a .logo {
    width: 150px;
    margin: 0 auto;
}

.mod-solution-a .logo img {
    width: 100%;
    height: auto;
}

.mod-solution-a-section {
    position: relative;
    padding: 240px 0 0;
}

.mod-solution-a-section::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: -80px;
    width: calc(100% + 160px);
    height: 220px;
    background: url(/img/bg_pc_01.png) no-repeat 100% 0;
}

.mod-solution-a-section.transaction::after {
    background: url(/img/bg_pc_01.png) no-repeat 100% 0;
    background-size: auto 220px;
}

.mod-solution-a-section.data::after {
    background: url(/img/bg_pc_02.png) no-repeat 0 0;
    background-size: auto 220px;
}

.mod-solution-a h2 {
    margin: 0 0 0;
    padding: 0 0 5px;
    border-bottom: 2px #3f95cb solid;
    color: #000;
    font-size: 2.2rem;
    font-weight: 300;
    letter-spacing: 0.25rem;
}

.mod-solution-a p {
    margin: 15px 0 0;
    font-size: 1.2rem;
    text-align: center;
}

.mod-solution-a table {
    width: 100%;
    margin: 10px 0 0;
    font-size: 1.1rem;
}

.mod-solution-a table th,
.mod-solution-a table td {
    padding: 5px;
    border: 1px #555 solid;
}

.mod-solution-a table th {
    background-color: #eee;
}

.mod-solution-a .mod-answer {
    margin: 15px auto 0;
    padding: 30px 0 0;
    background: url(/img/arrow_down_02.png) no-repeat 50% 2px;
    background-size: 25px auto;
}

.mod-solution-a .mod-answer p {
    margin: 0;
    color: #000;
    font-size: 1.3rem;
    font-weight: bold;
}

.mod-solution-a .mod-answer p span {
    color: #555;
    font-size: 1.1rem;
    font-weight: normal;
}


/* -----------------------------------------------------
 * mod-merit
 * -------------------------------------------------- */

.mod-merit {
    padding: 50px 10px;
    background: #163c67 url(/img/bg_merit_01.jpg) no-repeat 50% 50%;
    background-size: cover;
    color: #fff;
}

.mod-merit h2 {
    color: #fff;
}

.mod-merit h3 {
    margin: 50px 0 0;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 300;
    letter-spacing: 0.25rem;
}

.mod-merit h3::after {
    content: '';
    display: block;
    height: 1px;
    margin: 10px 0 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), white);
}

.mod-merit p {
    margin: 20px 0 0;
    font-size: 1.2rem;
    line-height: 1.75;
}

.mod-merit figure {
    width: 70%;
    margin: 20px auto 0;
}


/* -----------------------------------------------------
 * ui
 * -------------------------------------------------- */

.mod-ui {
    color: #555;
}

.mod-ui h2 {
    color: #555;
}

.mod-ui-slider {
    width: 84%;
    margin: 40px auto 0;
    padding: 0 0 20px;
    border-bottom: 1px #3f95cb solid;
}

.mod-ui-slider ul {
    position: relative;
    width: 100%;
}

.mod-ui-slider ul li figure {
    width: 100%;
}

.mod-ui-slider ul li h3 {
    margin: 10px 0 0;
    font-size: 1.8rem;
}

.mod-ui-slider ul li p {
    margin: 10px 0 0;
    font-size: 1.2rem;
}

.mod-ui-slider .slick-prev,
.mod-ui-slider .slick-next {
    position: absolute;
    top: 50%;
    overflow: hidden;
    box-sizing: border-box;
    width: 16px;
    height: 0;
    margin: 0;
    margin: -50px 0 0;
    padding: 0;
    padding: 16px 0 0;
    border: 0;
    border-radius: 0;
    background: none transparent;
    background-repeat: none;
    background-position: 0 0;
    background-clip: padding-box;
    background-size: 16px auto;
    color: inherit;
    font-size: inherit;
    vertical-align: middle;
    transition: opacity 0.2s ease-in-out;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.mod-ui-slider .slick-prev:hover,
.mod-ui-slider .slick-next:hover {
    opacity: 0.7;
}

.mod-ui-slider .slick-prev::-ms-clear,
.mod-ui-slider .slick-next::-ms-clear {
    display: none;
}

.mod-ui-slider .slick-prev::-ms-reveal,
.mod-ui-slider .slick-next::-ms-reveal {
    display: none;
}

.mod-ui-slider .slick-prev::-ms-expand,
.mod-ui-slider .slick-next::-ms-expand {
    display: none;
}

.mod-ui-slider .slick-prev {
    left: -20px;
    background-image: url(/img/arrow_left_02.png);
}

.mod-ui-slider .slick-next {
    right: -20px;
    background-image: url(/img/arrow_right_03.png);
}

.mod-ui-slider .slick-dots {
    display: flex;
    position: absolute;
    bottom: -60px;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
}

.mod-ui-slider .slick-dots li {
    margin: 0 5px;
}

.mod-ui-slider .slick-dots li button {
    overflow: hidden;
    box-sizing: border-box;
    width: 10px;
    height: 0;
    margin: 0;
    padding: 0;
    padding: 10px 0 0;
    border: 0;
    border-radius: 0;
    border-radius: 50%;
    background: none transparent;
    background-color: #2f7199;
    background-clip: padding-box;
    color: inherit;
    font-size: inherit;
    vertical-align: middle;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

.mod-ui-slider .slick-dots li button::-ms-clear {
    display: none;
}

.mod-ui-slider .slick-dots li button::-ms-reveal {
    display: none;
}

.mod-ui-slider .slick-dots li button::-ms-expand {
    display: none;
}

.mod-ui-slider .slick-dots li.slick-active button {
    background-color: #163c67;
}

.l-data-kind ul {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.l-data-kind li {
    width: 100%;
    margin-bottom: 10px;
}

.l-data-kind li:last-child {
    margin-right: 0;
    margin-bottom: 0;
}

.l-data-kind a {
    display: block;
    width: 100%;
}


/* -----------------------------------------------------
 * パートナー企業一覧
 * -------------------------------------------------- */

.mod-cards {
    padding: 100px 30px;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.partner-card {
    border: solid 1px #e2e2e2;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    width: 363px;
    height: 222px;
    display: flex;
    padding: 20px 34px 24px;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    position: relative;
    z-index: 1;
    margin-bottom: 60px;
}

.partner-card>a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: -999px;
    z-index: 2;
}

.card-annotation {
    font-size: 1.1rem;
    padding-top: 9px;
    color: #969696;
}

.partner-logo a img {
    width: 135px;
    margin: 0;
}

.partner-logo.amano a img {
    width: 120px;
    padding: 5px 0 5px;
}

.partner-logo.aiinside a img {
    width: 111px;
    padding: 2px 5px 0 0;
}

.partner-logo.nttdata a img {
    width: 185px;
    padding: 23px 0 5px;
}

.partner-logo.skj a img {
    width: 87px;
    margin-top: -8px;
}

.partner-logo.yamada a img {
    width: 279px;
    padding-top: 2px;
}

.partner-logo.wave a img {
    width: 185px;
    margin: 29px 0 18px;
}

.partner-logo.wave225 a img {
    width: 237px;
    margin: 18px 0px 10px;
}

.partner-logo.intramart a img {
    width: 190px;
}

.partner-logo.intramart_service a img {
    width: 169px;
}

.partner-logo.toma a img {
    width: 151px;
    margin-top: 15px;
}

.partner-logo.kobelco a img {
    width: 244px;
    margin-top: 27px;
}

.partner-logo.r_meisai a img {
    width: 153px;
    margin-top: 16px;
}

.partner-logo.rakus a img {
    width: 82px;
    margin-top: 11px;
}

.partner-logo.bizutto a img {
    width: 249px;
}

.partner-logo.digital-serve a img {
    width: 279px;
    margin-top: 2px;
}

.partner-logo.skitflexi a img {
    width: 200px;
    padding: 18px 0 10px;
}

.partner-logo.belldata a img {
    width: 250px;
}

.partner-logo.collaboflow a img {
    width: 250px;
}

.partner-logo.magicxpi a img {
    width: 75px;
}

.partner-logo.saastainer a img {
    width: 250px;
}

.partner-logo.strategit a img {
    width: 250px;
}

.partner-logo.upc a img {
    width: 279px;
}

.partner-logo.nttdata-kyushu a img {
    width: 185px;
    padding: 23px 0 20px;
}

.partner-logo.microlink a img {
    width: 120px;
    padding: 23px 0 20px;
}

.partner-logo.digicomnet a img {
    width: 220px;
    padding: 23px 0 20px;
}

.partner-logo.scsk a img {
    width: 180px;
    padding: 23px 0 20px;
}

.partner-logo.dcr a img {
    width: 190px;
    padding: 23px 0 20px;
}

.partner-logo.jsd a img {
    width: 110px;
    padding: 23px 0 20px;
}

.partner-logo.nttdata-chugoku a img {
    width: 185px;
    padding: 23px 0 20px;
}

.partner-logo.ma-eyes a img {
    width: 185px;
    padding: 23px 0 15px;
}

.partner-logo.ncsa a img {
    width: 279px;
    padding: 23px 0 20px;
}

.partner-logo.automail a img {
    width: 220px;
    padding: 23px 0 20px;
}

.partner-logo.autojob a img {
    width: 220px;
    padding: 23px 0 20px;
}

.partner-logo.invoice a img {
    width: 220px;
    padding: 23px 0 20px;
}

.partner-logo.usac a img {
    width: 180px;
    padding: 23px 0 20px;
}

.partner-logo.willofwork a img {
    width: 135px;
    padding: 0px 0 3px;
}

.partner-logo.telwel a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.coel a img {
    width: 160px;
    padding: 20px 0 20px;
}

.partner-logo.hcs a img {
    width: 120px;
    padding: 23px 0 20px;
}

.partner-logo.manage a img {
    width: 175px;
    padding: 23px 0 10px;
}

.partner-logo.qanatuniverse a img {
    width: 240px;
    padding: 23px 0 10px;
}

.partner-logo.sakurainfosys a img {
    width: 185px;
    padding: 23px 0 20px;
}

.partner-logo.actionpassport a img {
    width: 220px;
    margin-top: 3px;
}

.partner-logo.eNetS a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.technigate a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.OEC a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.icst a img {
    width: 200px;
    padding: 23px 0 20px;
}

.partner-logo.himico a img {
    width: 180px;
    padding: 23px 0 20px;
}

.partner-logo.UT400 a img {
    width: 200px;
    padding: 23px 0 20px;
}

.partner-logo.iST a img {
    width: 120px;
    padding: 23px 0 20px;
}

.partner-logo.sbcs a img {
    width: 180px;
    padding: 23px 0 20px;
}

.partner-logo.questetra a img {
    width: 160px;
    padding: 13px 0 5px;
}

.partner-logo.workflowex a img {
    width: 180px;
    padding: 23px 0 20px;
}

.partner-logo.knowlbo a img {
    width: 180px;
    padding: 23px 0 20px;
}

.partner-logo.njk a img {
    width: 180px;
    padding: 23px 0 20px;
}


.partner-logo.daiko-xtech a img {
    width: 300px;
    padding: 39px 0 20px;
}

.partner-logo.hos a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.aigoss a img {
    width: 200px;
    padding: 23px 0 20px;
}

.partner-logo.cloudsign a img {
    width: 240px;
    padding: 23px 0 10px;
}

.partner-logo.yss a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.nttbsol a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.nextset a img {
    width: 160px;
    padding: 15px 0 5px;
}

.partner-logo.sateraito a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.R-PiCS a img {
    width: 180px;
    padding: 25px 0 10px;
}

.partner-logo.koueki_info a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.webbalanceman a img {
    width: 240px;
    padding: 23px 0 20px;
}

.partner-logo.elgana a img {
    width: 185px;
    padding: 13px 0 0px;
}

.partner-logo.axis a img {
    width: 185px;
    padding: 3px 0 20px;
}

.partner-logo.wilcomm a img {
    width: 185px;
    padding: 28px 0 20px;
}

.partner-logo.e_syohsi a img {
    width: 130px;
    padding: 8px 0 0px;
}

.partner-logo.fourbs a img {
    width: 135px;
    padding: 10px 0 5px;
}

.partner-logo.child a img {
    width: 230px;
    padding: 28px 0 5px;
}

.partner-logo.computerscience a img {
    width: 250px;
    padding: 28px 0 5px;
}

.partner-logo.nttdata-kansai a img {
    width: 175px;
    padding: 28px 0 5px;
}

.partner-logo.sankbinary a img {
    width: 135px;
    padding: 0px 0 0px;
}

.partner-logo.v-one-cloud a img {
    width: 233px;
    padding: 23px 0 20px;
}

.partner-logo.reckoner a img {
    width: 233px;
    padding: 7px 0 0px;
}

.partner-logo.kintone a img {
    width: 185px;
    padding: 20px 0 13px;
}

.partner-logo.tetrabridge a img {
    width: 290px;
    padding: 20px 0 13px;
}

.partner-logo.core-plus-neo-2-0 a img {
    width: 290px;
    padding: 20px 0 13px;
}

.partner-logo.iguazu a img {
    width: 210px;
    padding: 26px 0 0px;
}

.partner-logo.bead-series a img {
    width: 110px;
    padding: 15px 0 6px;
}

.partner-logo.yoom a img {
    width: 75px;
    padding: 10px 0 3px;
}

/* -----------------------------------------------------
 * cert
 * -------------------------------------------------- */

.partner-logo.isms a img {
    width: 200px;
    padding: 23px 0 20px;
}

.partner-logo.peppol a img {
    width: 200px;
    padding: 23px 0 20px;
}

.partner-name {
    font-size: 1.7rem;
}

.partner-service {
    font-size: 1.5rem;
    font-weight: bold;
    padding-top: 9px;
}

.partner-category {
    font-size: 1.7rem;
}

@media print,
screen and (min-width: 768px) {
    h2 {
        font-size: 3.8rem;
    }
    .is-pc-hide {
        display: none !important;
    }
    .is-pc-show {
        display: block !important;
    }
    .is-br-pc-show {
        display: inline-block !important;
    }
    .check-media {
        display: none;
    }
    .mod-mt0-pc {
        margin-top: 0 !important;
    }
    .mod-mr0-pc {
        margin-right: 0 !important;
    }
    .mod-mb0-pc {
        margin-bottom: 0 !important;
    }
    .mod-ml0-pc {
        margin-left: 0 !important;
    }
    .mod-mt5-pc {
        margin-top: 5px !important;
    }
    .mod-mr5-pc {
        margin-right: 5px !important;
    }
    .mod-mb5-pc {
        margin-bottom: 5px !important;
    }
    .mod-ml5-pc {
        margin-left: 5px !important;
    }
    .mod-mt10-pc {
        margin-top: 10px !important;
    }
    .mod-mr10-pc {
        margin-right: 10px !important;
    }
    .mod-mb10-pc {
        margin-bottom: 10px !important;
    }
    .mod-ml10-pc {
        margin-left: 10px !important;
    }
    .mod-mt15-pc {
        margin-top: 15px !important;
    }
    .mod-mr15-pc {
        margin-right: 15px !important;
    }
    .mod-mb15-pc {
        margin-bottom: 15px !important;
    }
    .mod-ml15-pc {
        margin-left: 15px !important;
    }
    .mod-mt20-pc {
        margin-top: 20px !important;
    }
    .mod-mr20-pc {
        margin-right: 20px !important;
    }
    .mod-mb20-pc {
        margin-bottom: 20px !important;
    }
    .mod-ml20-pc {
        margin-left: 20px !important;
    }
    .mod-mt25-pc {
        margin-top: 25px !important;
    }
    .mod-mr25-pc {
        margin-right: 25px !important;
    }
    .mod-mb25-pc {
        margin-bottom: 25px !important;
    }
    .mod-ml25-pc {
        margin-left: 25px !important;
    }
    .mod-mt30-pc {
        margin-top: 30px !important;
    }
    .mod-mr30-pc {
        margin-right: 30px !important;
    }
    .mod-mb30-pc {
        margin-bottom: 30px !important;
    }
    .mod-ml30-pc {
        margin-left: 30px !important;
    }
    .mod-mt35-pc {
        margin-top: 35px !important;
    }
    .mod-mr35-pc {
        margin-right: 35px !important;
    }
    .mod-mb35-pc {
        margin-bottom: 35px !important;
    }
    .mod-ml35-pc {
        margin-left: 35px !important;
    }
    .mod-mt40-pc {
        margin-top: 40px !important;
    }
    .mod-mr40-pc {
        margin-right: 40px !important;
    }
    .mod-mb40-pc {
        margin-bottom: 40px !important;
    }
    .mod-ml40-pc {
        margin-left: 40px !important;
    }
    .mod-mt45-pc {
        margin-top: 45px !important;
    }
    .mod-mr45-pc {
        margin-right: 45px !important;
    }
    .mod-mb45-pc {
        margin-bottom: 45px !important;
    }
    .mod-ml45-pc {
        margin-left: 45px !important;
    }
    .mod-mt50-pc {
        margin-top: 50px !important;
    }
    .mod-mr50-pc {
        margin-right: 50px !important;
    }
    .mod-mb50-pc {
        margin-bottom: 50px !important;
    }
    .mod-ml50-pc {
        margin-left: 50px !important;
    }
    .mod-mt55-pc {
        margin-top: 55px !important;
    }
    .mod-mr55-pc {
        margin-right: 55px !important;
    }
    .mod-mb55-pc {
        margin-bottom: 55px !important;
    }
    .mod-ml55-pc {
        margin-left: 55px !important;
    }
    .mod-mt60-pc {
        margin-top: 60px !important;
    }
    .mod-mr60-pc {
        margin-right: 60px !important;
    }
    .mod-mb60-pc {
        margin-bottom: 60px !important;
    }
    .mod-ml60-pc {
        margin-left: 60px !important;
    }
    .mod-mt65-pc {
        margin-top: 65px !important;
    }
    .mod-mr65-pc {
        margin-right: 65px !important;
    }
    .mod-mb65-pc {
        margin-bottom: 65px !important;
    }
    .mod-ml65-pc {
        margin-left: 65px !important;
    }
    .mod-mt70-pc {
        margin-top: 70px !important;
    }
    .mod-mr70-pc {
        margin-right: 70px !important;
    }
    .mod-mb70-pc {
        margin-bottom: 70px !important;
    }
    .mod-ml70-pc {
        margin-left: 70px !important;
    }
    .mod-mt75-pc {
        margin-top: 75px !important;
    }
    .mod-mr75-pc {
        margin-right: 75px !important;
    }
    .mod-mb75-pc {
        margin-bottom: 75px !important;
    }
    .mod-ml75-pc {
        margin-left: 75px !important;
    }
    .mod-mt80-pc {
        margin-top: 80px !important;
    }
    .mod-mr80-pc {
        margin-right: 80px !important;
    }
    .mod-mb80-pc {
        margin-bottom: 80px !important;
    }
    .mod-ml80-pc {
        margin-left: 80px !important;
    }
    .mod-mt85-pc {
        margin-top: 85px !important;
    }
    .mod-mr85-pc {
        margin-right: 85px !important;
    }
    .mod-mb85-pc {
        margin-bottom: 85px !important;
    }
    .mod-ml85-pc {
        margin-left: 85px !important;
    }
    .mod-mt90-pc {
        margin-top: 90px !important;
    }
    .mod-mr90-pc {
        margin-right: 90px !important;
    }
    .mod-mb90-pc {
        margin-bottom: 90px !important;
    }
    .mod-ml90-pc {
        margin-left: 90px !important;
    }
    .mod-mt95-pc {
        margin-top: 95px !important;
    }
    .mod-mr95-pc {
        margin-right: 95px !important;
    }
    .mod-mb95-pc {
        margin-bottom: 95px !important;
    }
    .mod-ml95-pc {
        margin-left: 95px !important;
    }
    .mod-mt100-pc {
        margin-top: 100px !important;
    }
    .mod-mr100-pc {
        margin-right: 100px !important;
    }
    .mod-mb100-pc {
        margin-bottom: 100px !important;
    }
    .mod-ml100-pc {
        margin-left: 100px !important;
    }
    .l-header-gnav-pc {
        display: flex;
        align-items: flex-start;
    }
    /*展開時*/
    .is-menu-open .l-header {
        background: #009ee8;
        box-shadow: none;
    }
    .is-menu-open .l-header .l-header-logo .is-show-page {
        display: none;
    }
    .is-menu-open .l-header .l-header-logo .is-show-top {
        display: block;
    }
    .l-header-inner {
        /* max-width: 1220px; */
        max-width: 100%;
        /* height: 70px; */
        height: 120px;
        margin: 0 auto;
        /* padding: 10px; */
        padding: 10px 40px;
    }
    .i-logo-climbercloud {
        margin-right: 1em;
    }
    .i-logo-climbercloud img {
        height: 79px;
        margin-bottom: 10px;
    }
    .i-logo-climbercloud img:hover {
        opacity: 0.8;
    }
    .l-header-btn {
        position: absolute;
        top: 51px;
        right: 40px;
    }
    .is-menu-open .l-header-btn {
        background: #fff;
    }
    .is-menu-open .l-header-btn.is-open .l-header-btn-hamburger div {
        background: #009ee8;
    }
    .l-header-contact a {
        width: 140px;
        background-position: right 10px center;
        background-size: 10px auto;
        font-size: 1.4rem;
    }
    .l-gnav-sp {
        top: 80px;
        overflow-y: auto;
        height: calc(100% - 120px);
        color: #fff;
		padding-top: 30px;
		z-index: 99;
    }
    .l-gnav-sp a {
        color: #fff;
        text-decoration: none;
    }
    .l-gnav-sp a:hover {
        opacity: 0.8;
    }
    .l-gnav-sp .list-first {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto;
        padding: 0 20px;
        max-width: 1280px;
    }
    .l-gnav-sp .list-first>li {
        margin: 37px 20px 27px;
        width: 300px;
    }
    .l-gnav-sp .list-first li.has-child>a {
        display: block;
        margin: 0 0 20px 0;
        padding: 0 0 20px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
        font-size: 20px;
        pointer-events: none;
    }
    .l-gnav-sp .list-first li.has-child>img {
        display: none;
    }
    .l-gnav-sp .list-secondary {}
    .l-gnav-sp .list-secondary li {
        min-height: 40px;
        font-size: 17px;
    }
    .l-gnav-sp .list-secondary.list-sns li {
        min-height: 60px;
        font-size: 18px;
    }
    .l-gnav-sp .list-secondary.list-sns li img {
        margin: 45px 20px 0 10px;
    }
    .l-gnav-sp .list-secondary.list-contact li {
        position: relative;
        top: -10px;
        min-height: 80px;
        font-size: 20px;
    }
    .l-gnav-sp .list-secondary.list-contact li a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 60px;
        border: 2px solid #fff;
        border-radius: 30px;
    }
    .l-gnav-sp .list-secondary.list-contact li a:hover {
        background: #fff;
        color: #009ee8;
    }
    /* ヘッダー左・テキストナビ */
    .list-global-nav {
        margin: 26px 0 0 10px;
    }
    .is-menu-open .list-global-nav {
        display: none;
    }
    .list-global-nav ul {
        display: flex;
    }
    .list-global-nav ul li {
        margin: 0 15px 0 0;
    }
    .list-global-nav ul li a {
        color: #000;
        text-decoration: none;
        font-weight: bold;
        font-size: 15px;
    }
    .list-global-nav ul li a:hover {
        opacity: 0.8;
    }
    /* ヘッダー右・ロゴ */
    .i-logo-nttdata {
        height: auto;
        padding: 0;
        border-left: none;
        margin-left: 0;
    }
    .i-logo-nttdata img {
        position: absolute;
        top: 18px;
        right: 42px;
        height: 19px;
    }
    .i-logo-nttdata img:hover {
        opacity: 0.8;
    }
    /* ヘッダー右・SNS */
    .i-logo-sns {
        position: absolute;
        top: 13px;
        right: 157px;
    }
    .is-menu-open .i-logo-sns {
        display: none;
    }
    .i-logo-sns img {
        margin-left: 8px;
        height: 21px;
    }
    .i-logo-sns img:hover {
        opacity: 0.8;
    }
    /* ヘッダー右・ボタン */
    .is-menu-open .list-sub-nav {
        display: none;
    }
    .list-sub-nav {
        display: flex;
        margin: 28px 67px 0 0;
    }
    .list-sub-nav a {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 0 0 6px;
        width: 100px;
        height: 45px;
        border: 2px solid #009ee8;
        border-radius: 22.5px;
        color: #009ee8;
        text-decoration: none;
        font-weight: bold;
        font-size: 12px;
    }
    .list-sub-nav .wide{
        width: 120px;
    }
    .list-sub-nav a:last-child {
        border-color: #000;
        background: #000;
        color: #fff;
    }
    .list-sub-nav a:hover {
        border-color: #009ee8;
        background: #009ee8;
        color: #fff;
    }
    .tooltip {
        /* 補足説明するテキストのスタイル */
        position: relative;
        cursor: pointer;
        padding: 0 5px;
        font-size: 0.9em;
        color: #4682b4;
    }
    .description_top {
        /* ツールチップのスタイル */
        width: 150px;
        /* 横幅 */
        position: absolute;
        left: 50%;
        bottom: 80%;
        /* Y軸の位置 */
        transform: translateX(-50%);
        margin-bottom: 8px;
        /* テキストとの距離 */
        padding: 8px;
        border-radius: 10px;
        /* 角の丸み */
        background-color: #666;
        font-size: 0.7em;
        color: #fff;
        text-align: center;
        visibility: hidden;
        /* ツールチップを非表示に */
        opacity: 0;
        /* 不透明度を0％に */
        z-index: 1;
        transition: 0.5s all;
        /* マウスオーバー時のアニメーション速度 */
    }
    .tooltip:hover .description_top {
        /* マウスオーバー時のスタイル */
        bottom: 100%;
        /* Y軸の位置 */
        visibility: visible;
        /* ツールチップを表示 */
        opacity: 1;
        /* 不透明度を100％に */
    }
    .list-sub-nav .logindetail a:hover {
        border-color: #009ee8;
        background: #009ee8;
        color: #fff;
    }
	
	
    .l-footer-nav-top {
        padding: 40px 0;
        background-color: #103765;
    }
    .l-footer-nav-top .list-first {
        display: flex;
        /* justify-content: center; */
        justify-content: flex-start;
        margin-bottom: 2em;
    }
    .l-footer-nav-top .list-first>li {
        margin-right: 40px;
    }
    .l-footer-nav-top .list-first>li:last-child {
        margin-right: 0;
    }
    .l-footer-nav-top .list-first>li img {
        display: none;
    }
    .l-footer-nav-top .list-first>li.has-child>a:hover {
        cursor: default;
        text-decoration: none;
    }
    .l-footer-nav-top .list-first>li>a {
        color: #fff;
        font-size: 1.6rem;
        pointer-events: none;
        text-decoration: none;
    }
    .l-footer-nav-top .list-first>li>a.txd-line {
        text-decoration: underline;
        pointer-events: auto!important;
    }
    .l-footer-nav-top .list-first>li>a:hover {
        text-decoration: none;
    }
    .l-footer-nav-top .list-secondary {
        margin-top: 10px;
    }
    .l-footer-nav-top .list-secondary li {
        position: relative;
        padding-left: .5em;
    }
    .l-footer-nav-top .list-secondary li:before {
        content: '- ';
        display: inline;
        color: #698cb2;
        position: absolute;
        left: 0;
    }
    .l-footer-nav-top .list-secondary a {
        color: #698cb2;
        font-size: 1.4rem;
        text-decoration: none;
    }
    .l-footer-nav-top .list-secondary a:hover {
        text-decoration: underline;
    }
    .l-footer {
        padding: 0 0 20px;
    }
    .l-footer-inner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        max-width: 1200px;
        margin: 0 auto;
    }
    .l-footer-nav ul li {
        width: auto;
        margin: 0 25px 10px;
        font-size: 1.4rem;
    }
    .l-footer-license ul {
        display: flex;
    }
    .l-footer-license ul li {
        width: calc(100% / 4);
        padding: 0 15px;
    }
    .l-footer-license ul li figure {
        display: block;
        width: auto;
        height: 70px;
        margin: 0;
        padding: 0;
    }
    .l-footer-license ul li figure img {
        width: auto;
        height: 100%;
    }
    .l-footer-license ul li p {
        margin: 10px 0 0;
        font-size: 1.2rem;
        text-align: left;
    }
    .l-footer-copyright {
        margin: 40px 0 0;
        font-size: 1.2rem;
    }
    .l-hero {
        height: 768px;
    }
    .l-hero-inner {
        position: fixed;
        height: 768px;
    }
    .l-hero-inner::after {
        height: 768px;
        background-image: url(/img/bg_hero_01.png);
        background-size: 100% auto;
    }
    .l-hero-logo {
        width: 234px;
        padding: 120px 0 40px;
    }
    .l-hero-copy {
        font-size: 4.0rem;
        line-height: 1.5;
    }
    .l-hero-copy2 {
        margin: 40px auto 0;
        font-size: 2.2rem;
    }
    .l-news {
        max-width: 1200px;
        padding: 30px 50px 40px;
    }
    .l-news h2 {
        font-size: 3.2rem;
        text-align: center;
    }
    .l-news-list ul {
        display: flex;
    }
    .l-news-list ul li {
        width: calc(100% / 3);
        font-size: 1.4rem;
    }
    .l-news-list ul li figure {
        width: 100%;
        max-width: 160px;
        padding: 0 15px 0 0;
    }
    .l-news-list ul li dl {
        padding: 0 15px 0 0;
    }
    .l-news-list ul li dt span {
        font-size: 1.2rem;
    }
    .l-solution-q {
        max-width: 1200px;
        margin: 0 auto;
        padding: 30px 0;
    }
    .l-solution-q h2 {
        margin: 60px auto 0;
    }
    .l-solution-q ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
        margin: 50px auto 0;
    }
    .l-solution-q ul li {
        width: calc(50% - 30px);
        margin: 30px auto 0;
        padding: 10px;
        font-size: 2.0rem;
        font-weight: 500;
    }
    .l-solution-a {
        max-width: 1200px;
        margin: 0 auto;
        padding: 50px 0;
    }
    .l-solution-a .logo {
        width: 240px;
        margin: 0 auto;
    }
    .l-solution-a h2 {
        margin: 30px auto 0;
        padding-bottom: 80px;
        background-size: 30px auto;
    }
    .l-solution-a-section {
        max-width: 570px;
        margin: 0;
        padding: 40px 0;
    }
    .l-solution-a-section::after {
        top: 40px;
        left: 620px;
        width: 920px;
        height: 500px;
        background: url(/img/bg_pc_01.png) no-repeat 0 0;
        background-size: 920px auto;
    }
    .l-solution-a-section:nth-of-type(even) {
        margin: 0 0 0 auto;
    }
    .l-solution-a-section:nth-of-type(even)::after {
        left: -980px;
        background-size: 920px auto;
    }
    .l-solution-a h3 {
        margin: 0;
        font-size: 3.2rem;
    }
    .l-solution-a p {
        font-size: 1.8rem;
    }
    .l-solution-a table {
        font-size: 1.6rem;
    }
    .l-solution-a table th,
    .l-solution-a table td {
        padding: 5px 10px;
    }
    .l-solution-a .mod-answer {
        margin: 20px auto 0;
        padding: 40px 0 0;
        background-size: 30px auto;
    }
    .l-solution-a .mod-answer p {
        font-size: 2.0rem;
    }
    .l-solution-a .mod-answer p span {
        font-size: 1.6rem;
    }
    .l-solution-a .l-button {
        margin: 0 auto;
    }
    .l-solution-usecase {
        max-width: 1200px;
        margin: 0 auto;
        padding: 80px 0 100px;
    }
    .l-solution-usecase ul {
        margin: 80px auto 0;
    }
    .l-solution-usecase ul li {
        width: calc(100% / 3 - 10% / 3);
        margin: 50px 0 0;
    }
    .l-solution-usecase ul li h3 {
        display: flex;
        align-items: center;
        height: 6.0rem;
        padding: 0 10px 0 50px;
        background-position: 10px 50%;
        background-size: 32px auto;
        font-size: 1.6rem;
    }
    .l-solution-usecase ul li p {
        margin: 20px 0 0;
        font-size: 1.6rem;
    }
    .l-merit {
        padding: 100px 10px;
        background-color: #163c67;
        color: #fff;
    }
    .l-merit-inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .l-merit-inner:after {
        content: '';
        display: block;
        clear: both;
    }
    .l-merit-txt {
        float: left;
        width: calc(100% - 440px);
    }
    .l-merit h3 {
        margin: 80px 0 0;
        font-size: 3.2rem;
    }
    .l-merit p {
        margin: 30px 0 0;
        font-size: 1.6rem;
    }
    .l-merit figure {
        float: right;
        width: 370px;
        margin: 80px 0 0;
    }
    .l-feature {
        padding: 100px 10px;
    }
    .l-feature-inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .l-feature ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 40px 0 0;
    }
    .l-feature ul li {
        width: calc(25% - 10% / 4);
        margin: 40px 0 0;
    }
    .l-feature ul li figure {
        width: 100%;
        max-width: 270px;
    }
    .l-feature ul li h3 {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        min-height: 10.0rem;
        margin: 30px 0 0;
        font-size: 2.0rem;
    }
    .l-feature ul li p {
        margin: 30px 0 0;
        font-size: 1.6rem;
    }
    .l-ui {
        padding: 100px 10px;
    }
    .l-ui-inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .l-ui-slider {
        width: 86%;
        max-width: 860px;
        margin: 80px auto 0;
    }
    .l-ui-slider ul li h3 {
        margin: 50px 0 0;
        font-size: 2.4rem;
    }
    .l-ui-slider ul li p {
        margin: 20px 0 0;
        font-size: 1.6rem;
    }
    .l-ui-slider .slick-prev,
    .l-ui-slider .slick-next {
        width: 40px;
        margin: -100px 0 0;
        padding: 40px 0 0;
        background-size: 40px auto;
    }
    .l-ui-slider .slick-prev {
        left: -40px;
    }
    .l-ui-slider .slick-next {
        right: -40px;
    }
    .l-ui-slider .slick-dots li button {
        width: 14px;
        padding: 14px 0 0;
    }
    .l-cooperation {
        padding: 100px 10px;
    }
    .l-cooperation-inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .l-cooperation ul li {
        width: calc(25% - 30px);
        margin: 80px 0 0;
    }
    .l-cooperation ul li figure {
        width: 80px;
    }
    .l-cooperation ul li h3 {
        margin: 30px 0 0;
        color: #000;
        font-size: 2.0rem;
    }
    .l-cooperation ul li p {
        margin: 30px 0 0;
        font-size: 1.6rem;
    }
    .l-contact {
        padding: 100px 10px;
    }
    .l-contact-inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .l-contact p {
        margin: 50px 0 0;
        font-size: 1.6rem;
    }
    .l-contact a {
        margin: 50px auto 0;
        font-size: 1.6rem;
    }
    .l-button {
        margin: 60px auto 0;
    }
    .mod-button {}
    .mod-button-down {
        font-size: inherit;
    }
    .mod-arrow-down {
        margin: 32px 0 0;
    }
    .mod-arrow-down img {
        width: 30px;
    }
    .mod-nav-local {
        max-width: 1200px;
        margin: 0 auto;
    }
    .mod-nav-local ul li {
        flex: 1;
    }
    .mod-nav-local .mod-button {
        width: 100%;
    }
    .l-page-title {
        min-height: 250px;
        background-position: 90% 50%;
        background-size: 300px auto;
    }
    .l-page-title-inner {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }
    .l-page-title h1 {
        font-size: 4.0rem;
    }
    .l-page-title .tx_catch{
        margin: 30px 0 0;
        font-size: 1.6rem;
        line-height: 2.5;
    }
    .l-page-title p {
        margin: 20px 0 0;
        font-size: 1.6rem;
    }
    .mod-breadcrumb {
        padding: 40px 10px 0;
    }
    .mod-breadcrumb ol {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
    }
    .mod-breadcrumb ol li {
        font-size: 1.4rem;
    }
    .mod-section .mod-supplement {
        font-size: 1.4rem;
        text-align: center;
    }
    .mod-section {
        max-width: 1220px;
        margin: 0 auto;
        padding: 100px 0;
    }
    .mod-section.case{
        max-width: 1220px;
        margin: 0 auto;
        padding: 100px 90px;
    }
    .mod-section h2 {
        font-size: 4.0rem;
    }
    .mod-section h3 {
        margin-top: 100px;
        font-size: 3.2rem;
    }
    .mod-section h4 {
        margin-top: 80px;
        font-size: 2.4rem;
    }
    .mod-section h5 {
        margin-top: 40px;
        font-size: 2.0rem;
    }
    .mod-section p {
        margin-top: 40px;
        font-size: 1.6rem;
    }
    .mod-section ol {
        margin-top: 30px;
    }
    .mod-section ol li {
        margin: 10px 0 0;
        font-size: 1.6rem;
    }
    .mod-table+.summary {
        text-align: right;
    }
    .mod-table {
        overflow-x: hidden;
        margin: 60px 0 0;
    }
    .mod-table table th {
        font-size: 1.6rem;
    }
    .mod-table table td {
        font-size: 1.4rem;
    }
    .mod-list-disc li {
        font-size: 1.6rem;
        text-indent: -1.6rem;
    }
    .mod-list-pdf li {
        padding: 0 0 0 2.4rem;
        background: url(/img/ico_pdf_01.png) no-repeat 0 0.6rem;
        background-size: auto 2.0rem;
        font-size: 1.6rem;
    }
    .mod-num {
        font-size: 4rem;
    }
    .mod-box .col figure+h2,
    .mod-box .col figure+h3,
    .mod-box .col figure+h4,
    .mod-box .col figure+h5,
    .mod-box .col figure+p,
    .mod-box .col figure+ul,
    .mod-box .col figure+ol {
        margin-top: 40px;
    }
    .mod-box .col img {
        width: auto;
    }
    .mod-box.cols2 .col {
        width: calc(50% - 30px);
    }
    .mod-box.cols3 .col {
        width: calc(100% / 3 - 40px);
    }
    .mod-box.cols4 .col {
        width: calc(25% - 40px);
    }
    .mod-usecase ul li {
        width: calc(100% / 3 - 10% / 3);
        margin: 50px 0 0;
        text-indent: 0;
    }
    .mod-usecase ul li h3 {
        display: flex;
        align-items: center;
        height: 6.0rem;
        padding: 0 10px 0 50px;
        background-position: 10px 50%;
        background-size: 32px auto;
        font-size: 1.6rem;
    }
    .mod-usecase ul li p {
        margin: 20px 0 0;
        font-size: 1.6rem;
    }
    .mod-solution-a {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0;
    }
    .mod-solution-a .logo {
        width: 240px;
        margin: 0 auto;
    }
    .mod-solution-a-section {
        max-width: 570px;
        margin: 0;
        padding: 0 0;
    }
    .mod-solution-a-section::after {
        top: 0;
        width: 920px;
        height: 500px;
        background: url(/img/bg_pc_01.png) no-repeat 0 0;
        background-size: 920px auto;
    }
    .mod-solution-a-section.transaction::after {
        left: 620px;
        background-size: 920px auto;
    }
    .mod-solution-a-section.data {
        margin: 0 0 0 auto;
    }
    .mod-solution-a-section.data::after {
        left: -980px;
        background-size: 920px auto;
    }
    .mod-solution-a h2 {
        margin: 0;
        font-size: 3.2rem;
    }
    .mod-solution-a p {
        font-size: 1.8rem;
    }
    .mod-solution-a table {
        font-size: 1.6rem;
    }
    .mod-solution-a table th,
    .mod-solution-a table td {
        padding: 5px 10px;
    }
    .mod-solution-a .mod-answer {
        margin: 20px auto 0;
        padding: 40px 0 0;
        background-size: 30px auto;
    }
    .mod-solution-a .mod-answer p {
        font-size: 2.0rem;
    }
    .mod-solution-a .mod-answer p span {
        font-size: 1.6rem;
    }
    .mod-solution ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
        margin: 50px auto 0;
    }
    .mod-solution ul li {
        width: calc(50% - 30px);
        margin: 30px auto 0;
        padding: 10px;
        font-size: 2.0rem;
        font-weight: 500;
        text-indent: 0;
    }
    .mod-solution .logo {
        width: 240px;
    }
    .mod-solution p {
        font-size: 4.0rem;
    }
    .mod-merit {
        padding: 100px 10px;
        background-color: #163c67;
        color: #fff;
    }
    .mod-merit-inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .mod-merit-inner:after {
        content: '';
        display: block;
        clear: both;
    }
    .mod-merit-txt {
        float: left;
        width: calc(100% - 440px);
    }
    .mod-merit h3 {
        margin: 80px 0 0;
        font-size: 3.2rem;
    }
    .mod-merit p {
        margin: 30px 0 0;
        font-size: 1.6rem;
    }
    .mod-merit figure {
        float: right;
        width: 370px;
        margin: 80px 0 0;
    }
    .mod-ui-inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .mod-ui-slider {
        width: 86%;
        max-width: 860px;
        margin: 80px auto 0;
    }
    .mod-ui-slider ul li h3 {
        margin: 50px 0 0;
        font-size: 2.4rem;
    }
    .mod-ui-slider ul li p {
        margin: 20px 0 0;
        font-size: 1.6rem;
    }
    .mod-ui-slider .slick-prev,
    .mod-ui-slider .slick-next {
        width: 40px;
        margin: -100px 0 0;
        padding: 40px 0 0;
        background-size: 40px auto;
    }
    .mod-ui-slider .slick-prev {
        left: -40px;
    }
    .mod-ui-slider .slick-next {
        right: -40px;
    }
    .mod-ui-slider .slick-dots li button {
        width: 14px;
        padding: 14px 0 0;
    }
    .l-about-what .col-list {
        width: calc(100% - 400px);
    }
    .l-about-feature .col-text {
        width: calc(100% - 500px);
    }
    .l-data-kind ul {
        flex-direction: row;
        justify-content: center;
    }
    .l-data-kind li {
        width: auto;
        margin-right: 20px;
        margin-bottom: 0;
    }
}

@media print,
screen and (min-width: 768px) and (min-width: 768px) {
    .mod-section .mod-source {
        font-size: 1.2rem;
        text-align: right;
    }
}

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

  /* =====================================================
    * FLOATING
    * ================================================== */
.mod-pagetop {
    bottom: 70px;
}

    .btn-floating {
		position: fixed;
        top: auto;
        right: auto;
        bottom: 0;
        left: 0;
        display: flex;
        padding: 10px 5px;
        width: 100%;
		height: 60px;
    }

    .btn-floating.is-fixed {
        position: fixed;
		z-index: 9999;
    }
    .btn-floating a {
        margin: 0 5px;
        padding: 0 20px !important;
        width: 50%;
        height: 40px !important;
        border-radius: 40px;
        font-size: 14px !important;
    }

	
/*　スティッキーヘッダー用調整*/

.l-header.is-fixed .i-logo-climbercloud img{
	 height: 48px;
}

.l-header.is-fixed .i-logo-nttdata{
	position: relative;
	left: 0;
	top:0;
}
.l-header.is-fixed .l-header-inner {
    height: 90px;
    padding: 5px 25px;
}

.l-header.is-fixed .l-header-btn {
        position: absolute;
        top: 23px;
        right: 25px;
    }
	
	
    .is-sp-show {
        display: block !important;
    }
    .is-sp-hide {
        display: none !important;
    }
    .is-br-sp-show {
        display: inline-block !important;
    }
    .mod-nav-sp li.has-child {
        position: relative;
        z-index: 3;
    }
    .mod-nav-sp li.has-child>a:hover {
        text-decoration: none;
    }
    .mod-nav-sp li.has-child img {
        display: block;
        position: absolute;
        z-index: 2;
        top: 25px;
        right: 10px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        pointer-events: none;
        border-radius: 5px;
        background-color: #009EE8;
    }
    footer .mod-nav-sp li.has-child img {
        background-color: #3F95CB;
    }
    .mod-nav-sp a {
        display: block;
        position: relative;
        height: 50px;
        border-bottom: 1px solid #fff;
        color: #fff;
        font-size: 1.4rem;
        line-height: 50px;
        text-decoration: none;
    }
	
.l-footer {
	margin-bottom: 60px;
    }
    footer .mod-nav-sp a {
        border-bottom: 1px solid #698cb2;
    }
    .mod-nav-sp a:before {
        content: '';
        display: block;
        position: absolute;
        z-index: 1;
        top: 50%;
        right: 20px;
        width: 14px;
        height: 5px;
        background: url(../../img/base/top_2022/ico-arrow-short-white.svg) no-repeat center;
        background-size: cover;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    footer .mod-nav-sp a:before {
        width: 8px;
        height: 8px;
        background: url(../../img/base/arrow_right_02.png) no-repeat center;
    }
    .mod-nav-sp .list-first>li>a {
        padding-left: 20px;
        background-color: #009EE8;
    }
    footer .mod-nav-sp .list-first>li>a {
        background-color: #06284e;
    }
    .mod-nav-sp .list-secondary {
        display: none;
    }
    .mod-nav-sp .list-secondary>li>a {
        padding-left: 30px;
        background-color: #53C8FF;
        color: #fff;
    }
    footer .mod-nav-sp .list-secondary>li>a {
        background-color: #041d38;
        color: #698cb2;
    }
    .partner-card {
        margin: 0 0 25px;
    }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}


/*===============================================
secondary renewal
===============================================*/

.page-home .li-img-logo .is-show-page {
    opacity: 0;
    display: none;
}

.l-header.is-fixed .li-img-logo a.is-show-top {
    display: none;
}

.l-header.is-fixed .li-img-logo a.is-show-page {
    display: block;
}

.l-header.is-fixed .li-img-logo a.is-show-page {
    opacity: 1;
}

.li-img-logo {
    margin-right: 30px;
}

.li-img-logo img {
    height: 34px;
    width: 135px;
}

.mod-inner {
    max-width: 1220px;
    margin: 0 auto;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 1px;
    padding-bottom: 1px;
    position: relative;
}

.mod-update-date {
    position: absolute;
    right: 5px;
    top: 253px;
    display: flex;
    font-size: 1.4rem;
}

.mod-create-date {
    display: none;
}

.l-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -2.0%;
    margin-right: -2.0%;
}

.l-row .box-col {
    padding: 0 2.0%;
}

.l-row .box-col .box-col-inner {
    height: 100%;
}

.l-row .box-col a.box-col-inner {
    display: block;
    transition: all .3s;
}

.l-row .box-col a.box-col-inner:hover {
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
    background-color: #F0FAFE
}

.l-row .box-col a.box-col-inner:hover .btn {
    opacity: .7;
}

@media print,
screen and (min-width: 768px) {
    .mod-inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .mod-section-visual {
        max-width: 1200px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 768px) {
    /* スクリーンサイズが767px以下の場合に適用 */
    .li-img-logo {
        display: none;
    }
}


/* -----------------------------------------------------
 * 20220808 QA表CSS
 * -------------------------------------------------- */

.cp_qa *,
.cp_qa *:after,
.cp_qa *:before {
    font-family: sans-serif;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cp_qa {
    margin: 0 0 2em 10px;
    padding: 1em 1em 0.5em 1em;
    background: #e1f5fe;
}

.cp_qa h1 {
    font-size: 1.2em;
    position: relative;
    margin-right: 1em;
    margin-left: -26px;
    padding: 0.3em;
    color: #ffffff;
    background-color: #42a5f5;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}

.cp_qa h1::after {
    position: absolute;
    bottom: -10px;
    left: 0;
    display: inline-block;
    width: 0;
    height: 0;
    content: '';
    border-width: 0 10px 10px 0;
    border-style: solid;
    border-color: transparent #1976d2 transparent transparent;
}

.cp_qa dl {
    margin: 0;
}

.cp_qa dt {
    margin-bottom: 0.5em;
    padding: 0.2em 0.5em 0.5em 2em;
    border-radius: 0.2em;
    background: #232b43;
    color: white;
}

.cp_qa dd {
    margin-bottom: 1em;
    margin-left: 0;
    padding: 0.5em 1em 1.5em 3em;
}


/* QAアイコン */

.cp_qa dt::before,
.cp_qa dd::before {
    font-size: 1.5em;
    color: #ffffff;
}

.cp_qa dt::before {
    margin: 0.3em 0.3em 0 -1em;
    content: 'Q';
}

.cp_qa dd::before {
    margin: 0 0.5em 0 -2em;
    padding: 0.2em 0.4em;
    content: 'A';
    border-radius: 0.2em;
    background: #d81b60;
}

@media screen and (max-width: 1059px) {
    .list-sub-nav,
    .list-global-nav {
        display: none;
    }
    .l-gnav-sp .list-first {
        max-width: 720px;
    }
}