﻿@charset "utf-8";
/*  base setting
==========================================================*/
/*----------------------------------------------------------
    universal reset
----------------------------------------------------------*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{
	margin:             0;
	padding:            0;
	border:             0;
	outline:            0;
	vertical-align:     baseline;
	background:         transparent;
}
* {
    word-break:         normal;
    word-wrap:          break-word;
    -webkit-box-sizing: border-box;
    -moz-box-sizing:    border-box;
    -o-box-sizing:      border-box;
    -ms-box-sizing:     border-box;
    box-sizing:         border-box;
}
html {
	height:             100%;
	font-size:          62.5%;
	letter-spacing:     0.1em;
}
body {
	height:             100%;
	font-size:          1.5rem;
	line-height:        1;
	letter-spacing:     0.1em;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display:            block;
}
nav ul {
	list-style:         none;
}
blockquote,
q {
	quotes:             none;
}
blockquote:before,
blockquote:after,
         q:before,
         q:after {
	content:            none
}
a {
	margin:             0;
	padding:            0;
	vertical-align:     baseline;
	background:         transparent;
}
ins {
	background-color:   #ff9;
	color:              #000;
	text-decoration:    none;
}
mark {
	background-color:   #ff9;
	color:              #000;
	font-style:         italic;
	font-weight:        bold;
}
del {
	text-decoration:    line-through;
}
abbr[title],
 dfn[title] {
	border-bottom:       1px dotted;
	cursor:              help;
}
table {
	border-collapse:     collapse;
	border-spacing:      0;
}
hr {
	display:             block;
	height:              1px;
	border:              0;
	border-top:          1px solid #ccc;
	margin:              1em 0;
	padding:             0
}
input,
select {
	vertical-align:     middle;
}
body,
th,
td {
    text-decoration:    none;
    color:              #333;
}
ul li {
    list-style:         none;
    margin:             0;
    padding:            0;
}
ul.listStyle-on li {
	background:     url(/module/img/common/marker_01.png) no-repeat 0 1.2rem;
    background-position: 0 0.5em;
    padding-left:   15px;
}
ol li {
    margin:             0 0 20px 1.5em;
    padding-left:       2rem;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor:             pointer;
}
::selection      { background-color: #d7ea9d; color: #237100; }
::-moz-selection { background-color: #d7ea9d; color: #237100; }


/*----------------------------------------------------------
    clearfix
----------------------------------------------------------*/
.clearfix:before,
.clearfix:after {
	content:            "";
	display:            table;
}
.clearfix:after {
	clear:              both;
}
.clearfix {
	zoom:               1;
}


/*----------------------------------------------------------
    LINK
----------------------------------------------------------*/
a:link,
a:visited {
    text-decoration:  underline;
    color:            #289404;
    text-decoration:  none;
    outline:          none;
}
a:hover,
a:active{
    text-decoration:  underline;
}
a:focus{
    outline:          none;
}
a.reverse:link,
a.reverse:visited {
    text-decoration:  none;
}
a.reverse:hover,
a.reverse:active{
    text-decoration:  underline;
}
a.hover-default:hover,
img.hover-default:hover {
    opacity:        0.7;
    filter:         alpha(opacity=70);
    -ms-filter:     "alpha(opacity=70)";
}
.contents a,
.contents button,
footer a,
footer button,
img.hover-default {
    -webkit-transition: 0.8s;
    -moz-transition:    0.8s;
    -o-transition:      0.8s;
    -ms-transition:     0.8s;
    transition:         0.8s;
}

/*----------------------------------------------------------
    BUTTON
----------------------------------------------------------*/
/* ボタンの構造パターン */
.btn,
.btn-block {
    position:        relative;
    width:           auto;
    height:          auto;
    border:          0;
    margin:          0 auto 10px;
    padding:         22px 30px 22px 20px;
    font-size:       1.5rem;
    line-height:     1;
    text-decoration: none;
    text-align: left;
}
.btn {
    display:         inline-block;
    min-width:       230px;
}
.btn-block {
    display:         block;
    width:           100%;
}
.btn + a{
    margin-left:     30px;
}
.btn:hover,
.btnbtn-block:hover {
    cursor:          pointer;
}
.btn:after,
.btn-block:after {
    content:         "〉";
    position:        absolute;
    right:           10px;
}


/* ボタンのデザインパターン */
.btn-primary {
    color: #fff !important;
    background-color: #289404;
}
.btn-primary:hover {
    text-decoration:  none;
    background-color: #5abc39;
}

.btn-saiyo {
    color: #fff !important;
    background-color: #001aff;
}
.btn-saiyo:hover {
    text-decoration:  none;
    background-color: #4153fa;
}

.btn-info {
    color: #fff !important;
    background-color: #60b544;
}
.btn-info:hover {
    text-decoration:  none;
    background-color: #7ecc65;
}
.btn-border-primary {
    color:            #289404 !important;
    border:           solid 5px #289404;
    background-color: none;
}
.btn-border-reverse {
    color:            #fff !important;
    border:           solid 5px #fff;
    background-color: none;
}
.btn-border-primary:hover,
.btn-border-reverse:hover {
    color:            #fff !important;
    border-color:     #114500;
    background-color: #114500;
    text-decoration: none;
}



/*----------------------------------------------------------
    GROVAL NAVIGATION
----------------------------------------------------------*/
header{
	display:            table;
    position:           fixed;
    top:                0;
    left:               0;
    z-index:            100;
    width:              100%;
    min-width:          1000px;
    height:             70px;
    background:         url(/module/img/common/bg_green.jpg)
                        repeat-x
                        center
                        bottom
                        #289403;
    box-shadow:         0px 5px 10px 0px rgba(0,0,0,0.2);
    font-size:          1.2rem;
}
h1.ci{
    display:            table-cell;
    z-index:            1;
    width:              200px;
    background-color:   #fff;
    text-align:         center;
    vertical-align:     top;
}
h1.ci a{
    width:              200px;
    height:             70px;
    overflow:           hidden;
}
a.ci{ background-color: #fff; display: table-cell; height: 70px; overflow: hidden; text-align: center; vertical-align: top; width: 200px; z-index: 1;}
nav {
    display:            table-cell;
}
header a {
    display:            block;
    color:              #fff;
    text-decoration:    none;
}
.navInner{
    width:              100%;
}
#gNav {
    display:            table;
    width:              100%;
    vertical-align:     top;
}
#gNav > li{ border-left: 1px solid rgba(0, 0, 0, 0.1); display: table-cell; margin: 0; position: relative; text-align: center; width: 16.666%;
/*    background:         url(/module/img/common/bg_gnav_r.png)
                        right
                        bottom
                        no-repeat,
                        url(/module/img/common/bg_gnav_l.png)
                        left
                        bottom
                        no-repeat;
*/
}
#gNav > li:before,#gNav > li:after,.all-icon-area{ background-image: url("../img/common/all_icon-01.png"); background-repeat: no-repeat; content: ""; text-indent: -9999px !important;}
#gNav > li:before{ background-position: center 0; bottom: 0; height: 53px; left: 0; pointer-events: none; position: absolute; width: 53px;}
#gNav > li:after{ background-position: center -150px; bottom: 0; height: 53px; pointer-events: none; position: absolute; right: 0; width: 53px;}

#gNav > li > a {
    display:            block;
    padding:            20px 0;
    height:             70px;
    color:              #fff;
    text-decoration:    none;
    -webkit-transition: 1s;
    -moz-transition:    1s;
    -o-transition:      1s;
    -ms-transition:     1s;
    transition:         1s;
}
#gNav > li > a:hover{
    background:         rgba(1,100,8,0.5);
}
#gNav > li > a span{
    display:            block;
    margin-top:         10px;
    color:              #c8dc5c;
    font-size:          1rem;
}
.subNavi {
    display:            none;
	background-color:   rgba(0, 0, 0, 0.5);
    /* width:              512px; */
    padding:            20px 0 10px;
    position:           fixed;
    top:                70px;
    /* left:               0; */
    z-index:            10;
}

.subNaviInner li {
    margin-bottom:      1px;
}
.subNaviInner a {
    display:            block;
    padding:            12px 15px;
    background-color:   #f5f5f5;
    text-decoration:    none;
}
.subNaviInner li:first-child a {
    padding:            0px;
    height:             120px;
}

/*.gNav1 .subNaviInner {
    width:              793px;
}
.gNav1 .subNaviInner li {
	float:              left;
	margin-right:       1px;
}
.gNav1 .subNaviInner a {
	background-color:   #f5f5f5;
}
.gNav1 .subNaviInner li:nth-child(n+2) {
	width:              320px;
	height:             61px;
	margin-bottom:      1px;
}
.gNav1 .subNaviInner li:nth-child(n+2) a {
	padding:            2em !important;
}*/

.gNav2 .subNaviInner {
	width:              980px;
}
.gNav2 .subNaviInner li {
	margin-bottom:      1px;
}
.gNav2 .subNaviInner a {
	display:            block;
	padding:            15px;
	background-color:   #f5f5f5;
	text-decoration:    none;
}
.gNav2 .subNaviInner li:first-child {
	margin-bottom:      0px;
}
.gNav2 .subNaviInner li:first-child a {
	padding:            0px;
}
.gNav2 .subNaviInner li:nth-child(2) a {
	padding:            25px 15px ;
	font-size:          1.5rem;
}

.subNaviInner a {
    color:              #289404;
    text-align:         left;
    opacity:            1;
    filter:             alpha(opacity=100);
    -ms-filter:        "alpha(opacity=100)";
    -webkit-transition: all .4s;
    -moz-transition:    all .4s;
    -o-transition:      all .4s;
    -ms-transition:     all .4s;
    transition:         all .4s;
}
.subNaviInner {
	margin:             0 auto;
}
.subNaviInner .boxTtl {
    margin-bottom:      0;
    padding:            10px;
    color:              #fff;
    text-align:         center;
    background:         url(/module/img/common/bg_headline_01.jpg)
                        0
                        0
                        no-repeat;
}
.subNaviInner a {
	text-decoration:    none;
}
.subNaviInner a:hover {
    background:         rgba(245, 245, 245, 0.8);/* #f5f5f5 */
}

.subNavi .closeBtn{ font-size: 16px; margin-top: 6px;}

#fixedButton {
    position: fixed;
    right: 20px;
    top: 90px;
    width: auto;
    height: auto;
    z-index: 10;
}
    #fixedButton li:first-child {
    margin-right: 10px;
    }
    #fixedButton a {
        font-size: 1.0rem;
        text-align: left;
        letter-spacing: 0.1em;
        color: #c8dc5c;
        padding: 8px 12px;
        width: auto;
        transition: all 0.8s ease 0s;
        background-color: #01a604;
    }
    #fixedButton a:hover {
        color: #c8dc5c;
        background-color: #018405;
        text-decoration: none;
    }
    #fixedButton li {
        float: left;
    }



/*----------------------------------------------------------
    MainVisual
----------------------------------------------------------*/


#mv,
#mvMid-A,
#mvMid-B,
#mvMin {
    padding:            200px 100px 0;
    width:              100%;
    height:             100%;
    position:           fixed;
    top:                0;
    left:               0;
    z-index:            0;
    text-align:         left;
    background-size:    cover;
    background-repeat:  none;
    background-position:center center;
}
#mv{ padding: 0; max-width: 100%; min-width: 1000px; }

#mvMid-A h1 { margin-bottom: 30px; }

#mvMid-B { padding: 18% 0 0; text-align: center; }
#mvMid-B .ttl_lg { margin-top: 60px; }
#mvMid-B .ttl_sm { margin-top: 30px; }

#mvMin { height: 500px; }
#mvMin .ttl_md { margin-top: 50px; }
#mvMin .ttl_sm { margin-top: 10px; }

#scrollTop {
    opacity:            0;
    filter:             alpha(opacity=0);
    -ms-filter:        "alpha(opacity=0)";
}
div.contents {
    position: relative;
    z-index: 1;
    background-color: #000;
}
#mvMin + div.contents {
    margin-top: 500px;
}
.bx-wrapper .bx-viewport {
    border: none!important;
    left: 0 !important;
}
#subMV {
    position:fixed;
    top:0;
    left: 0;
    z-index: 1;
    width:100%;
    display:none;
}
.scroll{
    width: 72px;
    position: absolute;
    bottom: 40px;
    left: 50%;
    margin-left:-36px;
}


/*----------------------------------------------------------
    Footer
----------------------------------------------------------*/
#footerBanner{
    position: relative;
    z-index:1;
    padding-top: 60px;
    background: #fff;
}
.infoBanner {
    display: block;
    width:1000px;
    margin: 0 auto;
}
.infoBanner li{
    display: inline-block;
}
.infoBanner li + li{
    margin-left: 40px;
}
.footerLink{
    display: table;
    margin: 0 auto;
}
.footerLink > li{
    display: table-cell;
    padding: 30px 0 ;
    vertical-align: middle;
}
.footerMenu{
    font-size: 1.1rem;
}
.footerMenu li{
    display: inline-block;
    margin-left:30px;
}
.footerMenu li:first-child{
    margin:0;
}
.region{
    width:22%;
}
.region li{
    display: inline-block;
    border-right: 1px dotted #ddd;
    padding: 0 20px;
}
.region li:first-child{
    border-left: 1px dotted #ddd;
}
.region li a:hover,
.footerMenu li a:hover{
    text-decoration: underline;
}
.sns{
    width:18%;
    text-align: right;
}
.sns a{
    display: inline-block;
    border: none;
    margin-left:30px;
}
.sns a:first-child{
    margin-left:0;
}
footer{
    font-size: 1.1rem;
}
#Fnavi{
    width:100%;
    height:auto;
    position: relative;
    z-index:1;
    padding:0 0 0 30px;
    background: #fff;
    border-top: 1px solid #ececec;
    border-bottom: 1px solid #ececec;
    display: block;
}
#Fnavi ul{
    background:url(/module/img/common/ico_home.gif) no-repeat left center;
}
#Fnavi ul li{
    float:left;
    background:url(/module/img/common/ico_arrow.gif) no-repeat left center;
	font-size: 1.1rem;
    padding:15px 10px 15px 15px;
}
#Fnavi ul li.first {
    padding:15px 10px 15px 30px;
    background:none;
}
#footer{
    position: relative;
    z-index:1;
    padding: 100px 0 60px;
    background: #289404;
    background: url(/module/img/common/bg_green.jpg) repeat-x center bottom;
}
.ftItem{
    display: block;
    margin-bottom: 40px;
    text-align: center;
}
.ftItem > *{
    display: inline-block;
    margin-right: 40px;
    vertical-align: middle;
}
.ftItem > a:nth-child(3){
    margin: -40px 20px 0 -20px;
}
#copy{
    display: block;
    color: #fff;
    text-align: center;
}

/*----------------------------------------------------------
    display
----------------------------------------------------------*/
.element-block {
	display:        block;
}
.element-inline {
	display:        inline-block;
}

/*----------------------------------------------------------
    layout
----------------------------------------------------------*/
.pos {
    position:       relative;
}
.posAl{
    position:       absolute;
}
.center {
	text-align:     center !important;
}
.right {
	text-align:     right;
}
.left {
	text-align:     left;
}

.float_left {
	float:          left;
	display:        block;
}
.float_right {
	float:          right;
	display:        block;
}
.mb-lg            { margin-bottom: 90px !important; }
.mb-md            { margin-bottom: 70px !important; }
.mb-nm            { margin-bottom: 40px !important; }
.mb-sm            { margin-bottom: 20px !important; }
.mb-xs            { margin-bottom: 10px !important; }

.mt-lg            { margin-top:    90px !important; }
.mt-md            { margin-top:    70px !important; }
.mt-nm            { margin-top:    40px !important; }
.mt-sm            { margin-top:    20px !important; }
.mt-xs            { margin-top:    10px !important; }



/*----------------------------------------------------------
    Container
----------------------------------------------------------*/
#wrap{
    width:         auto;
    height:        100%;
    max-width:     100%;
    min-width:     1000px;
}
.modBlock {
    position:      relative;
    height:        auto;
    z-index:       1;
    padding:       100px 0;
}
.modBlock-reverse {
    background:    url(/module/img/common/bg_white.jpg)
                   center
                   top
                   repeat;;
}
.modBlock-primary {
    background:    url(/module/img/common/bg_light.jpg)
                   center
                   top
                   repeat;
}

/*----------------------------------------------------------
    col-box-1 　1分割レイアウト
----------------------------------------------------------*/
.col-box-1 { width: 980px; margin: 0 auto; }
.col-box-1_min { width: 800px; margin: 0 auto; }



/*----------------------------------------------------------
    col-setBox-2 　2分割レイアウト
----------------------------------------------------------*/

/* 背景白セット */
.col-setBox-2 {
	width:         980px;
	margin:        0 auto;
}
.col-setBox-2 > * {
	display:       block;
	float:         left;
	width:         465px;
	height:        auto;
	margin-bottom: 50px;
	background:    #fff;
}
.col-setBox-2 > *:nth-child(even) { margin-left: 50px; }
.col-setBox-2 h4 { color: #289404; font-size: 1.8rem; margin-top: 30px; padding-left: 35px; }
.col-setBox-2 p { font-size: 1.3rem; line-height: 2; margin-top: 12px; padding: 0 35px 35px; letter-spacing: 0.01em; }


/*----------------------------------------------------------
    col-setBox-3 　３分割レイアウト
----------------------------------------------------------*/
.col-setBox-3 {
	width:          980px;
	margin:         0 auto;
}
.col-setBox-3 > * {
	display:        block;
	float:          left;
	margin:         0 140px 30px 0;
    width:          233px;
}
.col-setBox-3 > *:nth-child(3n) {
	margin:         0;
}
.col-setBox-3 img {
	display:        block;
	margin:         0 auto;
}
.col-setBox-3 h3 {
	display:        table;
	width:          233px;
	height:         100px;
	padding:        35px 0 15px;
	font-size:      2rem;
	color:          #289404;
	font-weight:    bold;
	letter-spacing: 0;
	text-align:     center;
	line-height:    1.3;
}
.col-setBox-3 h3 span {
	display:        table-cell;
	text-align:     center;
	vertical-align: top;
}
.col-setBox-3 p {
	line-height:    1.846;
	font-size:      1.3rem;
}

/*----------------------------------------------------------
    col-setBox-3 　※　.bgActive併用で背景が白になる
----------------------------------------------------------*/
.col-setBox-3.bgActive {
	width:          980px;
}
.col-setBox-3.bgActive > * {
	width:          293px;
	margin:         0 50px 50px 0;
	background:     #fff;
}
.col-setBox-3.bgActive > *:nth-child(3n) {
	margin-right:   0;
}
.col-setBox-3.bgActive h2 {
	padding:        30px 30px 20px;
}
.col-setBox-3.bgActive p {
	padding:        0 30px 30px;
}

/*----------------------------------------------------------
    col-setBox-4 　4分割レイアウト
----------------------------------------------------------*/
.col-box-4{
	width:          215px;
	float:          left;
	margin-right:   40px;
}
.col-box-4:last-child {
	margin-right:   0px;
}

/*----------------------------------------------------------
    thumbList
----------------------------------------------------------*/
.description,
.thumbList { width: 980px; margin: 20px auto 0 auto; }
.thumbList li { width: 195px; height: 195px; float: left; text-align: center; color: #289404;
font-weight: bold; margin: 0 0px 1px 1px; background: #fff; position: relative; }
.thumbList li span { position: absolute; display: block; bottom: 20px; text-align: center; width: 195px; }

.thumbText { width: 980px; margin: 20px auto 0 auto; }
.thumbText dl { display: table; width: 100%; margin-bottom: 50px; }
.thumbText dl > * { display: table-cell; width: auto; vertical-align: top; text-align: left; line-height: 3rem;}
.thumbText dl > *:first-child { width: 244px; }
.thumbText dl > *:nth-child(n+2) { padding-left: 40px; }
.thumbText-primary { width: 640px; }

/*----------------------------------------------------------
    flexMvLink
----------------------------------------------------------*/
.flexMvLink {
	width:              100%;
	height:             500px;
	background-size:    cover;
	-webkit-transition: 0.8s;
	-moz-transition:    0.8s;
	-o-transition:      0.8s;
	-ms-transition:     0.8s;
	transition:         0.8s;
}
.flexMvLink > a {
	display:            block;
	width:              100%;
	height:             500px;
	padding-top:        100px;
}
.flexMvLink:hover {
	opacity:            0.6;
    filter:             alpha(opacity=60);
    -ms-filter:        "alpha(opacity=60)";
}
.flexMvLink.offHover:hover {
	opacity:            1;
    filter:             alpha(opacity=100);
    -ms-filter:        "alpha(opacity=100)";
}
.flexMvLink > a:hover {
	text-decoration:    none;
}

/*----------------------------------------------------------
    elementBlockList
----------------------------------------------------------*/
.elementBlockList {
	margin-bottom:  50px;
}
.elementBlockList > * {
    display:        table-cell;
	vertical-align: top;
}
.elementBlockList > *:first-child {
	/*width:          65px;*/
    background:     url(/module/img/common/bg_green.jpg)
                    left
                    top
                    repeat-y;
}
.elementBlockList > *:nth-child(2n) {
	width:          auto;
	padding-left:   40px;
}

/*----------------------------------------------------------
    listPanel
----------------------------------------------------------*/
.listPanel {
    background-color: #fff;
    margin-bottom: 50px;
}
.listPanel dt {
    padding: 25px 30px 0;
    font-weight:      bold;
    font-size:        1.3rem;
    color:            #289404;
}
.listPanel dd {
    padding: 10px 30px 25px;
    border-bottom:    1px solid #ececec;
    font-size:        1.3rem;
}

/*----------------------------------------------------------
    Headline
----------------------------------------------------------*/
.ttl_lg       { font-size:      5rem;   }
.ttl_md       { font-size:      4rem;   }
.ttl_nmd      { font-size:      3.5rem; }
.ttl_nm       { font-size:      3rem;   }
.ttl_snm      { font-size:      2.5rem; }
.ttl_sm       { font-size:      2rem;   }
.ttl_xs       { font-size:      1.8rem; }
.ttl_xxs      { font-size:      1.5rem; }
.ttl_xxxs     { font-size:      1.3rem; }
.ttl_xxxxs    { font-size:      1.1rem; }

.boxTtl       { margin-bottom:  50px; }
.boxTtl_xxxlg { font-size:      6rem;   margin-bottom: 50px; line-height: 1.2; display: block; }
.boxTtl_xxlg  { font-size:      5rem;   margin-bottom: 50px; line-height: 1.2; display: block; }
.boxTtl_xlg   { font-size:      4.5rem; margin-bottom: 45px; line-height: 1.2; display: block; }

.boxTtl_lg    { display: block; font-size: 4rem; line-height: 1.2; margin-bottom: 40px;}

.boxTtl-lg-01    { background-image: url("../img/common/header-link-list-title.png"); background-repeat: no-repeat; display: block; height: 30px; margin-bottom: 20px; text-indent: -9999px;}
.boxTtl-lg-01.katsugyou{ background-position: center 0;}
.boxTtl-lg-01.business{ background-position: center -60px;}
.boxTtl-lg-01.company{ background-position: center -120px;}
.boxTtl-lg-01.solution{ background-position: center -180px;}
.boxTtl-lg-01.security{ background-position: center -240px;}

.boxTtl_mlg   { font-size:      3.5rem; margin-bottom: 35px; line-height: 1.2; display: block; }
.boxTtl_md    { font-size:      3rem;   margin-bottom: 30px; line-height: 1.2; display: block; }
.boxTtl_sm    { font-size:      2.5rem; margin-bottom: 20px; line-height: 1.2; display: block; }
.boxTtl_xs    { font-size:      2rem;   margin-bottom: 20px; line-height: 1.2; display: block; }

.color-default{ color:          #111 !important;    }
.color-primary{ color:          #289404 !important; }
.color-reverse{ color:          #fff !important;    }


/*----------------------------------------------------------
    maru_green 　３分割レイアウト
----------------------------------------------------------*/
.maru_green { background: url(/module/img/common/bg_headline_01.jpg); width: 465px; height: 54px; display: table; text-align: center; }
.maru_green span { display: table-cell; vertical-align: middle; color: #fff; font-weight: bold; font-size: 1.8rem; }


/*----------------------------------------------------------
    font
----------------------------------------------------------*/
body{
    font-family:   'Hiragino Kaku Gothic ProN',
                   'ヒラギノ角ゴ ProN W3',
                    Meiryo,
                    メイリオ,
                    sans-serif;
}
select,input,button,textarea{
	font:           99% arial,
	                helvetica,
	                clean,
	                sans-serif;
}
table{
	font:           100%;
	font-size:      inherit;
}
pre,code,kbd,samp,tt{
    font-family:    monospace;
    *font-size:     108%;
    line-height:    100%;
}
p {
    line-height:    2.267;
    letter-spacing: 0.07em;
    text-align:     justify;
    text-justify:   inter-ideograph;
 }
p.text-lg           { font-size: 1.5rem; }
p.text-sm           { font-size: 1.3rem; }
p.text-xs           { font-size: 1.1rem; }

.text-xxxlg-mb      { margin-bottom: 50px; }
.text-xxlg-mb       { margin-bottom: 40px; }
.text-xlg-mb        { margin-bottom: 30px; }
.text-lg-mb         { margin-bottom: 20px; }
.text-sm-mb         { margin-bottom: 15px; }
.text-xs-mb         { margin-bottom: 10px; }

.letter-lg          { letter-spacing: 0.2rem !important;}
.letter-md          { letter-spacing: 0.15rem !important; }
.letter-sm          { letter-spacing: 0.1rem !important; }
.letter-xs          { letter-spacing: 0.05rem !important; }
.letter-xxs         { letter-spacing: 0.01rem !important; }

.indent-pull-sm             { text-indent: -0.5em; }
.indent-push-sm             { text-indent: 0.5em; }



/*----------------------------------------------------------
    Table
----------------------------------------------------------*/
.table_default{
    width:          980px;
    margin:         0 auto;
    height:         auto;
    white-space:    normal;
}
.table_default tr:nth-child(odd) {
	background-color:#fff;
}
.table_default tr:nth-child(even) {
	background-color:#f8fef4;
}
.table_default th{
    height:         auto;
    background:     #c0eda7;
    color:          #289404;
    border-bottom:  1px solid #fff;
    text-align:     left;
    vertical-align: middle;
    padding:        25px 20px;
    font-size:      1.5rem;
}
.table_default td{
    vertical-align: middle;
    border-bottom:  1px solid #ffffff;
    padding:        25px 20px;
    font-size:      1.3rem;
    line-height:    2rem;
}
.table_default dl{
    display:        table;
    vertical-align: top;
}



.table-primary {
	width:          750px;
	margin:         0 auto ;
}
.table-primary-lg {
	width:          980px;
	margin:         0 auto ;
}
.table-primary th,
.table-primary td,
.table-primary-lg th,
.table-primary-lg td {
	padding-bottom: 30px;
	vertical-align: middle;
	text-align:     left;
	font-size:      1.8rem;
	line-height:    1.5em;
}



.tableTitle {
    background:     url(/module/img/common/bg_green.jpg) center top repeat;
}
.tableTitle th {
    background:     none;
    padding:        25px 0;
    color:          #fff;
    text-align:     center;
}
.tableTitle span {
    border-right:   dotted 1px #fff;
    display:        block;
    width:          100%;
}
.tableTitle th:last-child span {
    border-right:   none;
}


/*----------------------------------------------------------
    TableList
----------------------------------------------------------*/

.tableList { text-align: left; }
.tableList th,
.tableList td {
    text-align:     left;
    padding-bottom: 10px;
    line-height:    2em;
}
.tableList.ListStyle-on th {
    background:     url(/module/img/common/marker_01.png) no-repeat 0 1.2rem;
    padding-left:   15px;
}

/*----------------------------------------------------------
    scheduleList
----------------------------------------------------------*/
.scheduleList {
    display:        table;
    vertical-align: top;
}
.scheduleList + *.scheduleList {
    margin-top:     30px;
}
.scheduleList > * {
    display:        table-cell;
    vertical-align: top;
    line-height:    2rem;
}
.scheduleList dt {
    min-width:      90px;
    text-align:     right;
    padding-right:  30px;
}
.scheduleList dd {
    background:     url(/module/img/common/marker_01.png) no-repeat 0 1.2rem;
    background-position: 0 0.5em;
    padding-left:   15px;
}

/*----------------------------------------------------------
    SmartPhone
----------------------------------------------------------*/
.smartPhone header {
    position:       relative;
}
.smartPhone .subNavi {
    position:       absolute;
}
.smartPhone #mv {
    position:       relative;
    height:         850px;
    padding-bottom: 0;
}
.smartPhone #mvMid-A,
.smartPhone #mvMid-B {
    position:       relative;
    height:         850px;
}
.smartPhone #mvMin {
    position:       relative;
    height:         500px;
}
.smartPhone #mvMin + div.contents {
    margin-top:     0;
}
.smartPhone .bx-wrapper {
    margin-bottom:  0;
}
.smartPhone .scroll {
    display:        none;
}
.smartPhone p,
.smartPhone dd,
.smartPhone span {
    background-image:url(image);
}
.kuma02 {
	background: url(/blog/wp-content/themes/contentslibrary/img/linkumaimg/linkuma_1.svg) no-repeat;
	width: 37px;
	height: 50px;
	background-size: 100%;
	margin: 4px 0 0 0;
}
.kmbtn {
	width: 163px !important;
	margin: auto;
	font-size: 0.5rem;
}
.kmbtn p {
	font-size: 1.0rem !important;
}

.kmbtn {
	background-color: rgba(1,166,4,0.75);
	padding: 10px;
	width: 260px;
	margin-top:20px;
	z-index:1;
}

.kmbtn a {
	background-color: rgba(1,166,4,0) !important;
	letter-spacing: -0.1em !important;
	padding: 5px !important;
}
.col_OR {
	background-color: #F60 !important;
	color: #FFFFFF;
	margin-bottom: 5px;
	text-align: center;
}
.alr{
	text-align: right;
}
.km02{
	width: 95.125px;
}
.w95 {
	width : 95.125px !important ;
	font-size: 1.0rem !important;
}


.wpc-rsg-area{ background-color: rgba(255,255,255,0.75) !important; display: block; height: 150px; margin: 10px auto; padding: 0 !important; width: 162px !important;}
.wpc-rsg-area:hover img{ opacity: 0.4;}
.basic-bt,.solution-service-page-bt,.case-studies-page-bt,.covid19-protection-page-bt,.youtube-video-bt-01{ background-color: inherit !important; display: block; margin-top: 10px; padding: 0 !important;}
.basic-bt:hover,.solution-service-page-bt:hover,.case-studies-page-bt:hover,.covid19-protection-page-bt:hover,.youtube-video-bt-01:hover{ opacity: 0.4}

.all-icon-area.white-scroll-down{ background-position: center -250px; display: block; height: 83px; width: 72px;}
.all-icon-area.green-scroll-down{ background-position: center -370px; display: block; height: 83px; width: 72px;}
.all-icon-area.white-scroll-top{ background-position: center -490px; height: 83px; width: 72px;}
.all-icon-area.facebook{ background-position: center -615px; height: 30px; width: 30px;}
.all-icon-area.twitter{ background-position: center -775px; height: 30px; width: 30px;}
.all-icon-area.google-plus{ background-position: center -695px; height: 30px; width: 30px;}

.all-icon-area.white-scroll-down:hover,.all-icon-area.green-scroll-down:hover{ opacity: .5;}

.ss-bt-area-01{ margin: 0 auto; width: 714px;}
.ss-bt-area-01 p.head{ font-size: 14px; font-weight: bold;}
.ss-bt-area-01 a{ background-color: #ffffff; border-radius: 6px; box-shadow: 2px 2px 12px #adadad; cursor: pointer; display: block; padding: 10px;}
.ss-bt-area-01 a:after{ clear: both; content: ""; display: block;}
.ss-bt-area-01 a:hover{ opacity: 0.4;}
.ss-bt-area-01 a div.left{ float: left; width: 524px;}
.ss-bt-area-01 a div.left p{ color: #000000; font-size: 14px; letter-spacing: 0; line-height: 20px;}
.ss-bt-area-01 a div.left p.small-green{ color: #289404; font-size: 16px; font-weight: bold; line-height: 20px;}
.ss-bt-area-01 a div.left p.big-green{ color: #289404; font-size: 32px; font-weight: bold; line-height: 36px; margin: 10px 0;}
.ss-bt-area-01 a div.left p.big-green span{ font-size: 18px;}
.ss-bt-area-01 a div.right{ float: right; width: 160px;}
.ss-bt-area-01 a div.right div.photo{ background-image: url("/module/img/common/solution-service-photo-bt-01.png"); background-repeat: no-repeat; height: 100px; text-align: left; text-indent: -9999px; width: 160px;}
.ss-bt-area-01 a div.right div.photo.ss-bt-01{ background-position: center 0;}
.ss-bt-area-01 a div.right div.photo.ss-bt-02{ background-position: center -130px;}
.ss-bt-area-01 a div.right div.photo.ss-bt-03{ background-position: center -260px;}
.ss-bt-area-01 a div.right div.photo.ss-bt-04{ background-position: center -390px;}
.ss-bt-area-01 a div.right p{ color: #289404; font-size: 12px; font-weight: bold; text-align: center;}
.ss-bt-area-01 a div.right p:after{ content: "〉"; margin-left: 6px;}

#footer-photo-link-area{ border-left: 1px solid #d5d5d5; margin: 0 auto 30px; width: 992px;}
#footer-photo-link-area:after{ clear: both; content: ""; display: block;}
#footer-photo-link-area li{ border-right: 1px solid #d5d5d5; float: left; width: calc(20% - 1px);}
#footer-photo-link-area li a{ display: block; font-size: 14px !important; font-weight: bold; min-height: 116px; line-height: 18px !important; text-align: center;}
#footer-photo-link-area li a span{ background-image: url("/module/img/common/footer-photo-01.png"); background-repeat: no-repeat; display: block; height: 100px; margin: 0 auto; width: 145px;}
#footer-photo-link-area li:hover a span{ opacity: .4;}
#footer-photo-link-area li:first-child a span{ background-position: center 0;}
#footer-photo-link-area li:nth-child(2) a span{ background-position: center -120px;}
#footer-photo-link-area li:nth-child(3) a span{ background-position: center -240px;}
#footer-photo-link-area li:nth-child(4) a span{ background-position: center -360px;}
#footer-photo-link-area li:last-child a span{ background-position: center -480px;}

.color-black{ color: #000000 !important; display: block;}
.color-black:hover{ opacity: .4; text-decoration: none;}
.update-date-01{ background-color: #ffffff; color: #ababab; font-size: 10px; padding: 6px 0 !important; position: relative; text-align: center; z-index: 1;}

.right-menu-special-line-tel{ background-color: rgba(255,255,255,0.5); border: 1px solid #888888; margin-top: 10px; padding: 5px;}
.right-menu-special-line-tel a{ background: -webkit-linear-gradient(top,#adadad,#474747 10%,#474747 50%,#262626 90%,#262626 100%); background: linear-gradient(top,#adadad,#474747 10%,#474747 50%,#262626 90%,#262626 100%); border-radius: 6px; color: #ffffff !important; font-size: 14px !important; display: block; font-weight: bold; line-height: 18px !important; margin-bottom: 10px; padding: 10px !important; position: relative;}
.right-menu-special-line-tel a:hover{ background: -webkit-linear-gradient(top,#529a52,#006a00 10%,#006a00 50%,#004200 90%,#001f00 100%); background: linear-gradient(top,#529a52,#006a00 10%,#006a00 50%,#004200 90%,#001f00 100%); color: #ffff00 !important; text-decoration: underline !important;}
.right-menu-special-line-tel a::after{ content: "▲"; display: block; position: absolute; right: 2px; top: calc(50% - 8px); transform: rotate(90deg) scale(1, 0.7);}

.right-new-information { background-color: #35af02; border-radius: 6px; color: #c8dc5c; display: block; font-size: 10px; padding: 10px 0; text-align: center !important;}
.right-new-information span { color: #ffffff; display: block; font-size: 14px;}
.right-new-information span::before { background-image: url("/module/img/index/update-information-topic-icon.png"); content: ""; display: inline-block; height: 24px; margin-right: 6px; vertical-align: middle; width: 24px;}

.margin-bottom-10{ margin-bottom: 10px !important;}
.padding-bottom-10{ padding-bottom: 10px !important;}
.text-align-center{ text-align: center;}
.green-bt-01,.green-bt-02{ background-color: #289404; color: #ffffff !important; display: block; margin: 0 35px 35px; padding: 16px 4px; -webkit-transition: 0.8s; -moz-transition: 0.8s; -o-transition: 0.8s; -ms-transition: 0.8s; transition: 0.8s;}
.green-bt-02{ display: inline-block; margin: 0; padding: 16px 30px;}
.green-bt-01:hover,.green-bt-02:hover{ background-color: #5abc39; text-decoration: none;}
@charset "utf-8";
/*  grobal setting  */

.contents {
background-color: #f7f7f7;
background-image: url(/module/img/common/bg_white.jpg);
background-position: center top;
background-repeat: repeat;
width: 100%;
}

.contents section {
text-align: center;
padding-top: 95px;
padding-bottom: 100px;
margin-left: auto;
margin-right: auto;
}

li {
list-style-type: disc !important;
list-style-position: inside !important;
}

p,ul,li {
font-size: 13px;
color: rgb(17, 17, 17);
line-height: 1.846;
text-align: justifyLeft;
margin: 0 auto;
text-align: left;
width: 550px;
padding: 0 2em;
}

h1 {
font-size: 15px;
line-height: 74px;
color: rgb(40, 148, 4);
text-align: justifyLeft;
background-color: rgb(255, 255, 255);
box-shadow: 0px 1px 0px 0px rgba(236, 236, 236, 0.392);
-moz-box-shadow: 0px 1px 0px 0px rgba(236, 236, 236, 0.392);
-webkit-box-shadow: 0px 1px 0px 0px rgba(236, 236, 236, 0.392);
-ms-box-shadow: 0px 1px 0px 0px rgba(236, 236, 236, 0.392);
width: 550px;
height: 74px;
margin: 0 auto 30px;
vertical-align: middle;
text-align: left;
padding-left: 2em;
}

h2 {
font-size: 15px;
line-height: 44px;
color: rgb(40, 148, 4);
text-align: justifyLeft;
background-color: rgb(248, 254, 244);
box-shadow: 0px 1px 0px 0px rgba(237, 245, 232, 0.392);
-moz-box-shadow: 0px 1px 0px 0px rgba(237, 245, 232, 0.392);
-webkit-box-shadow: 0px 1px 0px 0px rgba(237, 245, 232, 0.392);
-ms-box-shadow: 0px 1px 0px 0px rgba(237, 245, 232, 0.392);
width: 550px;
height: 44px;
vertical-align: middle;
margin: 35px auto;
text-align: left;
padding-left: 2em;
}