/*css*/

/*全体*/

* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
}

body {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, 游ゴシック体, 'Yu Gothic', YuGothic, sans-serif;
    font-size: 16px;
    text-align: center;
    line-height: 2rem;
    vertical-align: top;
    color: #212121;
    position: relative
}

ul {
    margin: 0;
    padding: 10px 20px;
    list-style-type: none;
    text-align: left;
    color: #212121
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

#container {
    width: 100%;
    height: 100%;
}

img {
    width: inherit;
    height: auto;
}

#content {
    padding-top: 46px;
    /* min-height: -webkit-fill-available;*/
    overflow: hidden;
}

.avoidclicks {
    pointer-events: none;
}

/*なんども使いそうなやつ*/

.white {
    color: #fff;
}

.black {
    color: #212121;
}

.black:hover {
    opacity: 0.7
}

.block {
    display: block
}

.center {
    text-align: center
}

.right {
    text-align: right;
}

.small {
    font-size: 12px;
}

.verysmall {
    font-size: 9px
}

.big {
    font-size: 28px
}

.b {
    font-weight: 600;
}

s .strong {
    font-size: 2.4rem;
    font-weight: 500
}

.hover_up {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.hover_up:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.whiteflame {
    border: #fff 1px solid;
}

.whiteflame a {
    color: #fff;
}


/*リンク・ボタン系*/

a {
    display: inline-block;
    text-decoration: none;
    color: #00BFA5;
}

.iconbutton {
    width: 46px;
    height: 46px;
}

.iconbutton img {
    margin: 11px;
    width: inherit;
}

.button {
    padding: 0 10px;
    min-width: 120px;
    height: 36px;
    display: inline-block;
    text-align: center;
    border-radius: 2px;
    line-height: 36px;
    margin: 0;
    position: relative;
    right: 0;
    bottom: 0;
}

.button.right:hover {
    opacity: 0.7;
}

.topbuttonwrap {
    text-align: center;
    padding: 20px;
    background-color: rgba(240, 240, 240, .6)
}

.topbuttonwrap2 {
    display: none;
}

.button.fullwidth {
    display: block
}


.button.primary {
    background-color: #00BFA5;
    color: #fff
}

.button.big {
    width: 200px;
    height: 50px;
    font-size: 18px;
    line-height: 50px;
    margin: 8px;
}

.button.white {
    background-color: #fff;
    color: #00BFA5
}

.button.white:hover {
    color: #1DE9B6
}

.button.lightblue {
    background-color: #00BCD4;
    color: #fff;
}

.button.lightblue:hover {
    top: -2px;
    background-color: #26CADE
}




.button.primary:hover,
.button.whiteflame:hover {
    background-color: #1DE9B6;
}

.raised {
    box-shadow: 0px 0px 15px 1px rgba(84, 110, 122, 0.2);
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}

.planbutton.raised,
.button.raised {
    box-shadow: 0px 3px 10px 1px rgba(84, 110, 122, 0.2), 0px 3px 10px 1px rgba(84, 110, 122, 0.1), 0px 2px 3px 1px rgba(84, 110, 122, 0.1);
}

.button.raised:hover,
.planbutton.raised:hover {
    box-shadow: 0px 5px 10px 1px rgba(84, 110, 122, 0.2), 0px 5px 10px 1px rgba(84, 110, 122, 0.1), 0px 4px 3px 1px rgba(84, 110, 122, 0.1);
    top: -2px;
}

.button.right {
    position: absolute;
    right: 0;
    bottom: 0;
}

.button.primary:disabled {
    background-color: #ccc
}

/*テキスト系*/

h1 {
    margin-left: 10px;
    z-index: 1000;
}

h2 {
    color: #212121;
    /*文字色*/
    box-sizing: border-box;
    line-height: 4rem;
    font-weight: 400;
    font-size: 2rem
}

.hukidashi {
    display: inline-block;
    padding: 20px 10px;
    background-color: #37474f;
    border-radius: 2px;
    position: relative;
    font-size: 1.2rem
}

.memo {
    padding: 10px 5px;
    background-color: #FFB300;
    display: inline-block;
    width: auto;
    height: auto;

}

.memo > p {
    font-size: .9rem;
    line-height: 1.4rem;
    padding: 0 14px;
}

.hukidashi:before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    top: 100%;
    left: 50%;
    right: 50%;
    background-color: #fff;
    border: 20px solid transparent;
    border-top: 14px solid #37474f;
    margin-left: -20px;
}


h3 {
    font-weight: 400
}

h4 {
    margin-top: 50px;
}

p {
    color: #212121;
    text-align: left;
    padding-left: 10px;
    padding-right: 10px;
    line-height: 1.4rem
}

span {}

.caption {
    color: #212121;
    margin: 0 auto;
    font-size: 1rem;
    max-width: 900px;
    line-height: 1.4rem;
    text-align: center
}

.caption.white {
    color: #fff;
}

.caption.big {
    font-size: 1.2rem;
    line-height: 2rem
}

/*ヘッダー*/

header {
    width: 100%;
    height: 48px;
    background-color: #37474f;
    position: fixed;
    top: 0;
    z-index: 300;
}

.logoimage {
    height: 40px;
    vertical-align: middle;
    margin-top: 4px;
    margin-left: 14px;
}

#sitetitle {
    height: 100%;
    margin: 0;
    max-width: 180px;
}

.topnav {
    width: auto;
    padding: 0 10px;
    line-height: 46px;
    text-align: center;
    opacity: 0.7
}

.topnav:hover {
    opacity: 1;
}

nav {
    width: calc(100% - 146px);
    text-align: right;
    padding-right: 4px;
}

#headercontent {
    max-width: 1200px;
    display: flex;
    margin: 0 auto;
}


/*ヘッダーからのサイドバー*/

#togglebutton {
    /*jsと併用　初期状態検出用*/
    z-index: 10000;
    display: none;
    cursor: pointer;
}

#menuimg {
    width: 24px;
}

#round {
    content: "";
    width: 100%;
    height: 100%;
    max-width: 240px;
    top: 48px;
    left: -400px;
    position: fixed;
    background: #37474f;
    transition: .5s;
    z-index: 1000;
}

#round.open {
    display: block;
    left: 0;
    transition: .5s;
}

#globalnav {
    display: block;
}

#globalnav.open {
    margin-left: 48px;
    display: block !important;
    z-index: 2000;
}

#globalnav.open > * {
    display: block !important;
    text-align: center;
    margin: 10px auto;
}


/*なかみトップページ*/

#loader {
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: #fff;
    z-index: 10000
}

#topimage {
    width: 100%;
    height: auto;
    background: url(../image/header.png) center center / contain no-repeat;
    background-size: 100% auto;
    position: relative
}

#catchcopywrap {
    text-align: left;
    padding: 0;
    position: absolute;
    width: 100%;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: 428px;
    background-color: rgba(255, 255, 255, 0.7);
    opacity: 0;
    transition: .6s all linear
}

#catchcopy {
    font-weight: 500;
    font-size: 1.2rem;
    text-align: left;
    line-height: 1rem;
    margin: 0;
    margin-bottom: 30px;
    text-align: center
}

#catchcopy p {
    color: #212121;
    line-height: normal
}

#topcontent {
    max-width: 1200px;
    height: inherit;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.birdimage {
    width: 160px;
    height: auto
}

#ie_error {
    display: none;
    background-color: rgba(239, 83, 80, 0.7);
    display: inline-block\9;
    color: #fff;
    border-radius: 2px
}

@media all and (-ms-high-contrast: none) {
    #ie_error {
        display: inline-block;
    }
}

_:-ms-lang(x)::-ms-backdrop,
#ie_error {
    display: inline-block;
}

.copybox {
    text-align: center;
    font-size: 1rem;
    margin: 0 20px
}

.copybox p {
    text-align: center
}

.copyimage {
    width: 260px
}

canvas {
    transition: .4s;
}

.hukidashi.top {
    padding: 10px;
    margin: 30px auto 20px;
    color: #fff;
}

.logoimage.top {
    margin: 0;
    margin-bottom: 3px
}

.topimg3 {
    display: inline-block;
    margin-top: 30px;
    max-width: 580px
}

/*各セクション*/

.sectcontent {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding-bottom: 40px;
    width: 90%
}

.sect {
    min-height: 100px;
    padding-top: 50px;
}

.sect.white {
    background-color: #fff;
}

.sect.gray {
    background-color: #f5f8fa;
}

.toolsect {
    background-color: #fff;
    position: relative;
    display: flex;
    min-height: 170px;
    margin-right: 0;
    margin-left: auto;
    align-items: center;
    margin: 40px auto;
    padding-left: 10px
}

.toolsect.sub {
    border-top: 2px solid #eee;
    padding: 20px;
    margin: 0;

}

.toolsect.sub.child {
    width: 800px;
    margin-right: 0;
    margin-left: auto;
    margin-top: 10px;
    margin-bottom: 10px;
    background-color: #F7F9FC;
    border: none;
}

.toolcaption.faq {
    margin-top: -60px;
    padding-top: 60px
}

.toolsect.sub.faq > .tooltext {
    padding-top: 10px;
    padding-bottom: 0
}

.toolsect:hover {
    box-shadow: 0px 0px 15px 3px rgba(84, 110, 122, 0.15), 0px 0px 15px 3px rgba(0, 0, 0, 0.15);
}

.toolsect.sub:hover {
    box-shadow: none;
}

.toollinkarea {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

a.black {
    color: #212121;
    text-decoration: underline;
}

.mokuji {
    padding: 1rem;
    margin-bottom: 60px;
    text-align: left;
    margin-top: 50px;
}

.toolsectbox {
    margin: 40px 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: center
}

.rightbox {
    text-align: right
}

.modalbase {
    background-color: rgba(0, 0, 0, 0.7);
    border-radius: 4px;
    display: none;
    position: fixed;
    top: 50%;
    z-index: 600;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.modalbase.modalopen {
    display: block;
}

#modalbg {
    display: none;
    background-color: rgba(0, 0, 0, 0.6);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 300
}

.modalvideo {
    margin: 40px
}

.modalvideobody {
    max-width: 100%;
}

.videobody {
    max-height: 400px;
}

/*機能一覧*/

.toolcaption {
    font-size: 1.2rem;
    font-weight: 600;
    display: block;
    margin: 0;
    text-align: left;
    margin-bottom: 10px;
}

.toolcaption:first-letter {
    font-size: 1.6rem;
    color: #00BFA5;
}

.toolimage {
    align-items: center;
    display: inline-block;
    text-align: center;
    margin: 0;
    vertical-align: middle;
    height: 150px;
}

.toolimagearea {
    position: relative;
    height: 100%;
}

.playmark {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    opacity: .3;
}

.toolimagearea:hover > .playmark {
    opacity: 1
}

.tooltext {
    display: block;
    vertical-align: top;
    padding: 20px 10px;
    width: 100%
}

.tooliconimg {
    height: auto;
    width: 200px;
}

/*導入事例*/

#tilewrap {
    position: relative;
    padding: 0;
}

.tilebase {
    display: inline-block;
    background-color: #fff;
    width: 140px;
    height: 140px;
    background: url(../image/kinokari.png) center center / cover no-repeat;
    position: relative;
    margin: 0 10px;
}

.tilefooter {
    background-color: rgba(0, 0, 0, 0.2);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

/*機能一覧*/

.featlinkarea {
    width: 1px;
    height: 1px;
    position: absolute;
    top: -54px;
}

.featcontent {
    width: 900px;
    margin: 0 auto;
}

/*料金プラン*/

.planbox {
    width: 95%;
    justify-content: center;
    flex-wrap: wrap;
    padding: 40px 20px;

    margin: 20px auto;
}

.planbox.sub {
    background-color: #fff;
}

.flexbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%
}

.greyback {
    background-color: #e0e9ed;
    padding: 20px;
    margin-bottom: 40px;
    display: inline-block
}

.imagebox {
    margin: auto;
    width: 100%;
    max-width: 600px
}

.planbase {
    background-color: #cfd8dc;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 16px 0;
    display: inline-block
}

.planbase.sub {}

.tate,
.leftlabel {
    flex: 0 0 23%;
    margin-right: 5px
}

.tate.sub {
    flex: 0 0 25%;
}

#optioncell {
    margin-top: 103px
}

.leftlabel {
    padding-top: 160px;
    width: 240px
}

.leftlabel.sub {
    padding-top: 160px;
    flex: 0 0 20%;
}

.planheader {
    color: #fff;
    width: 95%;
    margin: 0 auto;
    height: 140px;
    padding: 10px 0;
    border-radius: 2px;
    font-weight: 500;
    font-size: 1.2rem
}


.plancell,
.planbutton {
    background-color: #fff;
    color: #455A64;
    border-radius: 2px;
    width: 95%;
    height: 50px;
    line-height: 50px;
    padding: 0 30px;
    margin: 10px auto 0
}


.plus {
    width: 30px;
    height: auto;
    display: block;
    margin: 0 auto
}

.bottombase {
    width: 100%;

    display: inline-block;
    padding: 10px;
    padding-top: 0;
    background-color: #ECEFF1
}

.bigcell {
    height: auto
}

.bigcell > p {
    text-align: center;
    color: #78909C;
    font-size: 0.8rem;
    padding: 0 5px;
    line-height: 1.6rem
}

.planbutton {
    background-color: #00BCD4;
    color: #fff;
    position: relative;
    width: 200px;
}

.button.primary.sub {
    margin-top: 30px
}

.planbutton:hover {
    top: -2px;
    background-color: #26CADE
}

.plantitle {
    font-size: 1.2rem
}

.planlabel {
    line-height: 1.2rem;
    color: #455A64;
    width: 100%;
    height: 60px;
    margin: 0 auto;
    margin-right: 0;
    font-size: 0.9rem;
    border-bottom: 2px #ECEFF1 solid;
    padding-top: 20px
}

.planlabel.sub {}

.buttonwrap {
    width: 100%;
    margin-top: 10px
}

.planlabel:nth-child(1) {
    padding-top: 20px
}

.planlabel:nth-child(2) {
    padding-top: 30px;
    height: 114px
}

/*#example {
    margin-top: -60px;
    padding-top: 100px
}*/

.example {
    width: auto
}

.example > tbody > tr > td {
    width: 300px
}

.plantable > tbody > tr > td.headercell {
    color: #fff;
    padding: 20px 10px
}

.headercell > p {
    text-align: center
}

.headercell.free {
    background-color: #29B6F6;
}

.headercell.basic {
    background-color: #546E7A;
}

.headercell.addoption {
    background-color: #FFB300;
}

.midashicell {
    font-weight: 600;
    background-color: #d3e0e5
}

.whitecell {
    background-color: #fff;
    line-height: 1.5rem;
    vertical-align: middle;
    color: #212121;
}


h2.planpage {
    margin-top: 100px;
    margin-bottom: 20px
}

.plantable {
    background-color: #e0e9ed;
    max-width: 900px;
    margin: 0 auto
}

.plantable,
.plantable > tbody > tr > td {
    border: 3px solid #e0e9ed;
    border-collapse: collapse;
}

.plantable > tbody > tr > td {
    padding: 10px;
}

.plantable > tbody > tr > th {
    padding: 10px;
    border: none;
}

.planheader.free > .plantitle {
    padding-top: 10px;
}

.planheader > * {
    text-align: center
}

.plantitle > .small {
    line-height: 1rem;
    text-align: center;
}

.planheader > .big {
    line-height: 40px
}



.notebox {
    padding-top: 10px;
}

.notebox > .small {
    text-align: right;
    line-height: 1.4rem
}

.ticimg {
    width: 60px;
}


.newsbadge,
.toolbadge,
.otherbadge {
    background-color: #ec407a;
    padding: 3px 16px;
    border-radius: 1000px;
    color: #fff;
    font-size: 0.8rem;
    margin: 2px;
}


.newsbadge {
    background-color: #1da2dd;
}

.toolbadge {
    background-color: #26A69A;
}

.otherbadge {
    background-color: #777;
}

.badge_free,
.badge_basic,
.badge_option {
    padding: 6px 16px;
    color: #fff;
    font-size: 0.9rem;
    margin: 2px;
    border-radius: 1000px;
    word-break: keep-all
}

.badge_free {
    background-color: #29B6F6;
}

.badge_basic {
    background-color: #546E7A;
}

.badge_option {
    background-color: #FFB300;
}

/*最新ニュース*/

.newslink {
    color: #212121;
    padding: 3px
}

.newslink:hover {
    opacity: .7;
}

/*フォーム関連*/

input,
textarea,
select,
    {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    line-height: 1.02rem;
    font: 16px sans-serif;
}

input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
    font: 16px sans-serif;
}

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

input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

input[type="text"],
input[type="number"],
textarea {
    border: none;
    border-bottom: solid 1px #bdbdbd;
    resize: none;
    -webkit-transition: all 1s ease-out;
    transition: all 1s ease-out;
    font-size: 1rem;
    width: 80%;
    margin: 20px auto;
}

textarea {
    height: 5rem;
    margin: 10px 0;
}

input[type="text"]:focus,
textarea:focus {
    outline: 0;
    border-bottom: 2px solid #2196f3;
}

::-webkit-input-placeholder {
    color: #bdbdbd;
}

::-moz-placeholder {
    color: #bdbdbd;
}

:-ms-input-placeholder {
    color: #bdbdbd;
}

.formbase {
    width: 90%;
    height: auto;
    background-color: #fff;
    margin: 0 auto;
}

.formbox {}

.formitem {
    margin: 30px 0;
}

.formitem label {
    display: block;
    color: #757575;
    text-align: left;
    line-height: 1rem;
}

.radiolabel {
    padding: 7px 20px;
    position: relative;
    display: inline-block;
    cursor: pointer;
    font-size: 0.9rem;
}

input[type="radio"] {
    display: none;
}

.radiolabel::before,
.radiolabel::after {
    position: absolute;
    content: '';
    top: 50%;
    border-radius: 100%;
}

.radiolabel::before {
    left: 0;
    width: 14px;
    height: 14px;
    margin-top: -8px;
    background: #fff;
    border: 2px solid #ddd;
}

.radiolabel::after {
    opacity: 0;
    left: 4px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background: #2196F3;
    -webkit-transform: scale(2);
    transform: scale(2);
}

input[type="radio"]:checked + .radiolabel::before {
    border: 1px solid #2196F3;
}

input[type="radio"]:checked + .radiolabel::after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.radioitem {
    margin-left: 20px;
}

.error {
    font-size: 0.65rem;
    color: #f44336;
}

.formcontent {
    padding: 40px;
    font-size: 0.9rem
}

.sect.white.sent {
    min-height: 500px;
    padding-top: 60px
}

/*お知らせ*/

.newstitle,
.sidebartitle {
    display: block;
    line-height: 48px;
    text-align: left;
    padding-bottom: 6px;
    border-bottom: 1px solid #ddd;
    padding-left: 20px;
}

.date {

    display: inline-block;

    padding: 0 20px;
}

.datebox {
    display: inline-block
}

#news_main {
    flex: 3;
    margin: 0 20px;
}

#news_sidebar {
    flex: 1;
    margin-right: 20px;
}

.news_sidebar_title {
    font-size: 12px;
    line-height: 1.2rem;
    padding: 10px 20px;
}

#subbase {
    padding: 20px;
}

.newscontent {
    padding: 12px 20px;
    padding-bottom: 30px
}

.newscontent > p {
    padding: 0
}

.newscontent > p > img.size-full {
    width: 100%;
    max-width: 600px
}

.newscontent > p > img.size-medium {
    width: 300px;
}

.newscontent > p > img.size-large {
    width: 1024px;
}

.newscontent > p > img.size-thumbnail {
    width: 150px
}

.newscontent > p > a {
    text-decoration: underline;
}

.newscontent > p > a > img:hover {
    opacity: .7
}

.contentbox {
    justify-content: center;
    flex-wrap: wrap;
    padding: 20px;
    display: flex
}

.contentbase {
    min-width: 240px;
    background-color: #fff;
    padding: 0;
    margin: 20px;
    text-align: left;
    padding-top: 10px;
    position: relative
}

/*お知らせページネーション*/

h2.screen-reader-text {
    display: none;
}

#news_main > nav {
    margin: 0 auto
}

.nav-links {
    display: block;
    text-align: center;
    height: 30px
}

.nav-links > * {
    line-height: 30px;
    margin: 0 6px
}

.page-numbers.current {}

/*お知らせ アーカイブページ*/

.contentbase.archive {
    position: relative;
}

.contentbase.archive:hover {
    top: -2px;
}

a.archivecard {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%
}

/*フッター*/

footer {
    background-color: #90a4ae;
    width: 100%;
    position: relative;
    padding-top: 30px;
    /*background: url(../image/footer.png) center center / cover no-repeat;*/
}

.infologo {
    width: 180px;
    display: inline-block
}

#return_top {
    position: fixed;
    bottom: -50px;
    right: 20px;
    z-index: 500;
    opacity: 0;
    transition: all 0.3s linear 0s;

}

#return_top img {
    -webkit-filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.1));
    -moz-filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.1));
    -ms-filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.1));
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.1));
}

.footernav a {
    color: #fff;
    display: inline-block;
    margin: 0 10px;
    font-size: 0.8rem
}

.footernav a:hover {
    opacity: 0.7
}

#sns {
    display: flex;
    justify-content: center;
}

.snsbase {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    margin: 10px;
}

.fb-share-button span {
    vertical-align: top !important;
}

.fb-share-button,
.twitter-share-button {
    margin: 10px
}

.snsbase.tw {
    background: url(../image/twitter.png)center center / cover no-repeat;
    ;
}

.snsbase.fb {
    background: url(../image/facebook.png)center center / cover no-repeat;
    ;
}

#copyright {
    font-size: 0.7rem;
    margin-right: 70px;
    color: #fff
}

.titleheader {
    width: 100%;
    height: 400px;
    background-color: #42A5F5;
    background: url(../image/kariheader.png) center center / cover repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -3
}

.titleheader.plan {
    background: url(../image/kariheader.png) center center / cover repeat;
}

h2.sub {
    margin: 100px auto 80px;
    display: inline-block
}

table,
tbody {
    width: 100%;
}

th {
    font-weight: 300
}

.blue {
    color: #2196F3
}

.entrywrap {
    padding-bottom: 60px
}



.loader,
.loader:before,
.loader:after {
    border-radius: 50%;
}

.loader {
    color: #00bfa5;
    font-size: 11px;
    text-indent: -99999em;
    margin: 55px auto;
    position: relative;
    width: 10em;
    height: 10em;
    box-shadow: inset 0 0 0 1em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}

.loader:before,
.loader:after {
    position: absolute;
    content: '';
}

.loader:before {
    width: 5.2em;
    height: 10.2em;
    background: #fff;
    border-radius: 10.2em 0 0 10.2em;
    top: -0.1em;
    left: -0.1em;
    -webkit-transform-origin: 5.2em 5.1em;
    transform-origin: 5.2em 5.1em;
    -webkit-animation: load2 2s infinite ease 1.5s;
    animation: load2 2s infinite ease 1.5s;
}

.loader:after {
    width: 5.2em;
    height: 10.2em;
    background: #fff;
    border-radius: 0 10.2em 10.2em 0;
    top: -0.1em;
    left: 5.1em;
    -webkit-transform-origin: 0px 5.1em;
    transform-origin: 0px 5.1em;
    -webkit-animation: load2 2s infinite ease;
    animation: load2 2s infinite ease;
}

.handleanimate {
    animation-delay: 2s;
    -webkit-animation-duration: 2s;
}

.illust {
    max-width: 300px;
    display: block;
    margin: 0 auto
}

.greentext {
    color: #00BFA5;
    font-weight: 600;
    text-align: center;
    margin: 0 auto;
    padding-bottom: 20px
}

.backtotop {
    display: none
}


/*計算機*/

.block {
    padding: 10px
}

.leftblock,
.rightblock {
    margin: 20px;
    padding: 0;
    background-color: #fff;
    border: 2px solid #e0e9ed;
    min-width: 250px
}

.leftblock > p,
.rightblock > p {
    background-color: #e0e9ed;
    font-weight: 600;
    padding: 10px 16px
}

.input_num {
    text-align: right;
}

.input_num > label {
    display: block;
    text-align: left;
    margin-top: 30px;
    font-weight: 600
}

.nomargin {
    margin: 0 !important
}

.input_num > input[type="number"] {
    display: inline-block;
    background-color: transparent;
    margin-right: 0;
    width: 6rem;
    margin: 0;
    margin-top: 8px
}

.resultblock {
    background-color: #e0e9ed;
    padding: 20px;
    font-weight: 600;
    font-size: 1.1rem;
    margin-top: 30px
}

.red {
    color: #e23d43
}

#app_and,
#app_ios {
    width: 8rem
}

.sect.gray.calc {
    padding-top: 20px
}

.settingblock {
    width: 100%;
    margin: 0 auto
}

.settingblock > p {
    text-align: center;
    margin: 10px auto
}

#self_server {
    display: none
}

.settingcheck {
    cursor: pointer;
    padding: 0 6px;
    width: 100%;
    display: block
}

.dummycheck {
    position: relative;
    width: 18px;
    height: 18px;
    display: inline-block;
    border-radius: 3px;
    margin-right: 8px;
    vertical-align: text-bottom;
    margin-bottom: 1px
}

.dummycheck::before,
.dummycheck::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 18px;
    height: 18px;
    top: 0;
    left: 0;
    transition: all 0.2s linear
}

.dummycheck::before {
    border: 1px solid #ccc;
    background-color: #fff;
    border-radius: 3px;
}

.dummycheck::after {
    background: url(/image/check.png) center center / contain no-repeat;
    left: 1px
}

#self_server:checked + .dummycheck::before {
    background-color: #00BCD4;
    border: 1px solid #00BCD4;
}

#self_server:checked + .dummycheck::after {}

#setting {
    text-decoration: underline;
    text-align: center;
    cursor: pointer;
    margin-bottom: 20px
}

#settingarea {
    display: none
}

#settingarea.open {
    display: flex;
    justify-content: center;
    padding-bottom: 16px
}

.input_num.setting {
    display: inline-block;
    margin: 0 10px
}

.input_num.setting > label {
    margin-top: 0;
}

.flexbox.calc {
    align-items: stretch
}

@-webkit-keyframes load2 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load2 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/*テーブル*/

table,
td,
th {
    border: 1px solid #595959;
    border-collapse: collapse;
}

td,
th {
    padding: 3px;
    width: 30px;
    height: 25px;
}

th {
    background: #f0e6cc;
}

.even {
    background: #fbf8f0;
}

.odd {
    background: #fefcf9;
}

.customer {
    background-color: #eee
}

.customerheader {
    background-color: #023678;
    width: 100%;
    height: auto;
    position: relative;

}

.headerfilter {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .4);
    z-index: 3
}

.customerheader .title {
    position: relative;
    padding: 2rem 0;
    color: #fff;
    z-index: 4
}

.customerheader .title h3 {
    font-size: 1.6rem
}

.customerheader .title h4 {
    font-size: 1.2rem
}

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

.flexbox.ex {
    height: auto;
    align-items: flex-start
}

.flexbox.ex p {
    text-align: center
}

.flexbox.ex p {
    max-width: 50%
}

span.image.caption {
    font-size: .7rem;
    color: #455A64;
    display: inline-block
}

.examplebox,
.installbox {
    display: block;
    box-shadow: 0px 0px 15px 3px rgba(84, 110, 122, 0.2);
    text-align: left;
}

.examplebox {
    flex: 1 1 auto;
    margin: 1.4rem;
    box-shadow: 0px 0px 15px 3px rgba(84, 110, 122, 0.1);
}

.examplebox a img,
.examplebox img {
    max-height: 200px;
    max-width: 200px
}

.examplebox ul li {
    position: relative;
    margin-left: .8rem;
}

.examplebox ul li:before {
    content: "";
    width: 0.3rem;
    height: 1rem;
    background-color: #EC407A;
    position: absolute;
    top: .5rem;
    left: -.8rem
}

.examplebox h5,
.installbox h4 {
    color: #111;
    font-weight: normal;
    padding: 1rem;
    font-size: 1.2rem
}

.examplebox h5 {
    background-color: transparent;
    text-align: left;
    font-weight: 600
}

.examplebox p,
.installbox p {
    padding: 1rem
}

@media screen and (max-width:960px) {
    #headercontent {
        width: 300px;
        margin: 0;
        flex-wrap: wrap
    }

    h2.sub {
        margin: 60px auto
    }

    .sectcontent {
        width: 100%
    }

    #togglebutton {
        /*jsと併用　初期状態検出用*/
        width: 46px;
        display: block;
    }

    #catchcopywrap {
        padding: 0;
        height: auto;
        height: 300px;
        width: 100%
    }

    .logoimage.top {
        display: none;
    }

    .hukidashi.top {
        font-size: 1.2rem;
        margin-top: 50px;
        padding: 20px
    }

    #catchcopy {
        margin: 0
    }

    #catchcopy p {
        font-size: 1rem;
    }

    #catchcopy p.small {
        font-size: 0.9rem;
    }

    #topimage {
        min-height: auto
    }

    .topimg3 {
        width: 100%
    }

    .topbuttonwrap {
        display: none
    }

    .topbuttonwrap2 {
        display: block;
        margin: 20px
    }

    #topcontent {
        align-items: flex-end;
        justify-content: center
    }

    .logoimage {
        margin-left: 0px;
    }

    #news_main,
    #news_sidebar {
        flex-basis: 100%;
        margin: 20px;
        width: 100%
    }

    .modalbase {
        width: 100%
    }

    .modalvideo {
        width: 100%;
        margin: 0
    }

    .modalvideobody {
        width: 100%
    }

    .planbase {
        margin: 10px;
    }

    #globalnav {
        display: none
    }

    .planbase,
    .planbase.sub {
        margin: 0
    }

    .planbase {}

    .planbase.sub {}

    .planheader.sub {
        height: 120px
    }

    .planheader.sub {}

    .tate {
        margin-right: 5px
    }

    .plancell,
    .plancell.sub {
        padding: 0 5px;
    }

    .planbutton.sub {
        width: 180px
    }

    .planbutton {
        width: 100px
    }

    .planlabel,
    .planlabel.sub {
        margin: 0;
        font-size: 0.7rem
    }

    .leftlabel,
    .leftlabel.sub {
        width: auto
    }

    .leftlabel {
        flex: 0 0 auto
    }

    .big,
    .plantitle {
        font-size: 18px;
        line-height: 20px;
        padding: 0
    }

    .plantitle {}

    .plantitle.sub {}

    .small {
        font-size: 10px
    }

    .bigcell > p {
        font-size: 0.6rem;
    }

    .flexbox.planbody {
        padding-top: 30px;
    }

    .memo {
        position: static;
        width: 80%;
        height: auto;
        border-radius: 0
    }

    .memo > p {
        margin: 0
    }

    .featcontent {
        width: 100%
    }

    .toolimagearea {
        display: block;
        margin: 0 auto
    }

    .toolsect.sub,
    .toolsect.sub.child {
        width: 100%;
        display: flex;
        flex-wrap: wrap
    }

    .toolcaption {
        text-align: left
    }
}

@media screen and (max-width:600px) {
    * {
        font-size: 0.9rem
    }

    .caption.big {
        font-size: 1rem
    }

    .button {
        height: auto;
    }

    #catchcopy {}

    #catchcopy p {
        font-size: 1rem;
    }

    .hukidashi.top {
        padding: 8px 4px;
        margin: 30px auto 20px;
        font-size: 1rem
    }

    .formcontent {
        padding: 10px
    }

    canvas {}

    #topimage {
        min-height: 260px;
        background-size: auto auto
    }

    .copybox {
        margin: 0 5px
    }

    .copybox img {
        width: 120px
    }

    #catchcopywrap {
        background-color: rgba(255, 255, 255, 0.9);
        height: 260px
    }

    #catchcopy p.small {
        font-size: 0.8rem;
    }

    h2.sub {
        margin: 40px auto
    }

    .toolsect {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        padding-top: 20px
    }

    .tilebase {
        width: 80%;
    }

    .contentbox {
        padding: 0;
    }

    .planbox,
    .planbox.sub {
        width: 100%;
        /*min-width: 500px*/
        padding: 30px 10px;
    }

    .plantitle > .small {
        display: none
    }

    .planheader > .big {
        line-height: 1.1rem;
        font-size: 1rem;
        margin-top: 1rem
    }

    .planheader > p > span {
        font-size: 0.9rem;
        line-height: 1rem
    }

    .planbase,
    .planbase.sub {
        margin: 0;
    }

    .plancell,
    .plancell.sub {}

    .planheader,
    .planheader.sub {
        left: 5px;
    }

    .planbutton,
    .planbutton.sub {}

    .toolimage {
        height: 100px
    }

    .playmark {
        width: 50px;
        height: auto;
    }

    .birdimage {
        width: 100px
    }

    .backtotop {
        display: block
    }

    .flexbox {
        flex-wrap: wrap
    }

    .button.big {
        width: 90%;
        display: block;
        margin: 8px auto
    }
}






























.formbase.raised.small {
    max-width: 540px
}

p.status_title {
    font-size: 1.7rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px auto;
}

p.status_title span.status_chip {
    font-size: 1.4rem;
    position: relative;
    color: #fff;
    padding: 16px;
    padding-left: 46px;
    border-radius: 6px;
    min-width: 138px;
    text-align: center
}

p.status_title span.status_chip.operational {
    background-color: #00c853;
}

p.status_title span.operational::before {
    content: "";
    position: absolute;
    left: 16px;
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url("../image/ok.svg");
    background-size: 24px 24px;
    background-repeat: no-repeat;
}

p.status_title span.status_chip.outage {
    background-color: #f44336;
}

p.status_title span.outage::before {
    content: "";
    position: absolute;
    left: 14px;
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url("../image/error.svg");
    background-size: 24px 24px;
    background-repeat: no-repeat;
}

.formcontent {
    text-align: left;
    position: relative;
    padding-bottom: 6s0px
}

.formcontent a.button.right {
    display: inline-block;
    position: static
}

footer{
    background-color: transparent
}
footer p {
    text-align: right;
    font-size: 0.6rem;
    color: #444
}

.serverlink {
    line-height: 1.5rem;
    margin-top: 10px;
    display: none
}

.serverlink.open {
    display: block
}
p.divider{
    border-bottom: 1px solid #eee;
    margin: 10px auto 20px;
}