@charset "utf-8";
/* リセット
------------------------------------- */
* {
	margin:0;
	padding:0;
	box-sizing:border-box;
}

table {border-spacing:0; border-collapse:collapse;}
* html table {border-collapse:collapse;}
*:first-child+html table {border-collapse:collapse;}
caption,th {text-align:left; font-weight:normal;}
table,th,td,img {border:0;}
img,input {vertical-align:middle; outline:none;}
q:before,q:after {content:'';}
ul {list-style: none;}

hr,
legend,
caption {display:none;}

img {border:0; vertical-align:bottom;}

a:focus { outline:none;}


/* aタグ設定
------------------------------------- */
a{
    color:#0052bd;
    text-decoration: none;
}

a.tp{
    color:#0052bd;
    text-decoration: none;
    transition: 0.4s;
}

a.tp:hover {
	opacity:0.65;
	transition: 0.4s;
}

a.tp:active {
    position: relative;
    top: 2px;
    left: 2px;
}

/* 基本設定
------------------------------------- */
body{
    width: 100%;
    height: 100%;
    background: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    color: #000;
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.59;
}

.flex{
    display: flex;
}

p.flexwrap{
	width: 100%;
	display: inline-block;
}

/* 共通設定
------------------------------------- */
h2.top{
	display: inline-block;
	font-size: 34px;
	font-weight: 700;
	color: #717071;
	border-bottom: solid 6px #68AEF1;
	margin: 96px auto 44px;
}

.shadowLic{
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
}

.hyde{
    display: none; /* コーディング作業用　*/
}

.animate_popen_fadeIn{
    animation-name:fadeInAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


.animate_popen_fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:3s;
    animation-fill-mode:forwards;
    opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(60px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate_slidein {
    visibility: hidden;
    opacity: 0;
}

.slidein {
    visibility: visible;
    opacity: 1;
    animation: slideIn 2s cubic-bezier(.22,.33,.57,.99) 1 forwards;
}

@keyframes slideIn{
    0% {
        opacity: 0;
        transform: translateX(100px);
    }

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

.animate_slidein_fast {
    visibility: hidden;
    opacity: 0;
}

.slidein_fast {
    visibility: visible;
    opacity: 1;
    animation: slideInFast 1.0s cubic-bezier(.22,.33,.57,.99) 1 forwards;
}

@keyframes slideInFast{
    0% {
        opacity: 0;
        transform: translateX(60px);
    }

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

.animate_fadein {
 visibility: hidden;
 opacity: 0;
 transition: 2s;
}

.fadein {
 visibility: visible;
 opacity: 1;
}

.animate-fadeup-start{
 visibility: hidden;
 opacity: 0;    
}

.animate_fadeup {
 visibility: hidden;
 opacity: 0;
}

.fadeup {
    visibility: visible;
    opacity: 1;
    animation: fadeup 2s cubic-bezier(.22,.33,.57,.99) 1 forwards;
}

@keyframes fadeup {
  0% {
    transform: translateY(120px);
    opacity: 0;
  }

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

/* Header
------------------------------------- */
#header{
	margin: 0;
	width:100%;
	height: 94px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 0 70px;
    background: #fff;
    z-index: 10;
    border-bottom: solid 4px #0F5CBF;
}

#header #headerBoxL img{
	width: 186.7px;
	height: auto;
}

#header #headerBoxR{
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
}

#header #headerBoxR p{
	margin-left: 25px;
}

#header #headerBoxR p#bfConnect{
	width: 376px;
	height: 62px;
	background: #23C2AA;
	border-radius: 12px;
	color: #fff;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding-left: 35px;
	padding-right: 21px;
    transition: 0.4s;
}

#header #headerBoxR p#bfConnect:hover{
	opacity:0.65;
	transition: 0.4s;
}


#header #headerBoxR p#bfConnect span:nth-child(1){
	font-weight: 900;
	font-size: 20px;
}

#header #headerBoxR p#bfConnect span:nth-child(2){
	font-weight: 400;
	font-size: 16px;
	line-height: 1.3;
}

#header #headerBoxR p:nth-child(3){
	font-size: 13px;
	color: #000;
}

#header #headerBoxR p:nth-child(4){
	position: relative;
	width: 104px;
	height: 19px;
}

#header #headerBoxR p:nth-child(4) a img{
	position: relative;
	width: 104px;
	height: 19px;
	vertical-align: top;
	top: -1px;
}


/* Gloval Navigation
------------------------------------- */
#gnavi{
    position: relative;
	margin: 0;
	padding: 0 calc(( 100% - 1400px ) / 2 );
	height: 52px;	
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
    z-index: 100;
    background: #fff;
}

#gnavi.fixed{
     /* グロナビ固定時 */
    position: fixed;
    top: 0px;
    left:0;
    right: 0;
    background: #0f5cbf;
}

#gnavi li.main a{
    display: block;
    width: 100%;
    height: 52px;
    line-height: 52px;
    color: #000;
	opacity:1;
}

#gnavi li.main{
	position: relative;
	display: block;
	height: 52px;
	background: #fff;
	text-align: center;
}

#gnavi.fixed li.main{
	background: #0f5cbf;
}


#gnavi li.main::after {
	background: #d6e1f0;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(1, 0);
	transform-origin: 50% 100%;
	transition: .2s;
	z-index: 0;
}

#gnavi li.main:hover::after {
	transform: scale(1, 1);
}

#gnavi li.main:nth-child(1){width: 140px;}
#gnavi li.main:nth-child(2){width: 201px;}
#gnavi li.main:nth-child(3){width: 251px;}
#gnavi li.main:nth-child(4){width: 169px;}
#gnavi li.main:nth-child(5){width: 232px;}
#gnavi li.main:nth-child(6){width: 167px;}

/* normal */
#gnavi li.main .mainTxt{
    color: #000;
}

#gnavi li.main .mainTxt a{
    color: #000;
}

#gnavi.fixed li.main .mainTxt{
    color: #fff;
}

#gnavi.fixed li.main .mainTxt a{
    color: #fff;
}

/* hover時 */
#gnavi li.main .mainTxt.over{
    color: #1C91FF;
}

#gnavi li.main .mainTxt.over a{
    color: #1C91FF;
}

#gnavi li.main .mainTxtCur.over{
    color: #1C91FF !important;
}

#gnavi li.main .mainTxtCur.over a{
    color: #1C91FF !important;
}

/* カレント表示 */
#gnavi li.main .mainTxtCur{
    color: #1C91FF;
}

#gnavi li.main .mainTxtCur a{
    color: #1C91FF;
}

#gnavi.fixed li.main .mainTxtCur{
    color: #8dc8ff;
}

#gnavi.fixed li.main .mainTxtCur a{
    color: #8dc8ff;
}

#gnavi li.main span{
	font-size: 16.5px;
	color: #000;
	position:absolute;
  	top:50%;
  	left:50%;
  	transform:translate(-50%,-50%);
  	width:100%;
	transition: color 0.2s ease;
	z-index: 1;
}

#gnavi.fixed li.main span{
    corol: #fff;
}

#gnavi li.main div.subMenu{
	position: absolute;
	width: 1180px;
	height: 206px;
	background: #d6e1f0;
	display: none;
	top: 52px;
    z-index: 10;
}

#gnavi li.main div.ptn1{
	left: -140px;
}

#gnavi li.main div.ptn2{
	left: -341px;
}

#gnavi li.main div.ptn3{
	left: -993px;
}

#gnavi .subMenu ul{
	width: 100%;
	height: 100%;
	padding-top: 35px;
	padding-left: 50px;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-content: flex-start;
	opacity: 0;
}

#gnavi .subMenu ul li a{
	display: block;
	position: relative;
	width: 260px;
	height: 60px;
	border: solid 1px #c8c9ca;
	margin-right: 13px;
	margin-bottom: 13px;
	background: #fff;
}

#gnavi .subMenu ul li a span{
	text-align: left;
	font-size: 18px;
	color: #717071;
	line-height: 1.2;
	position:absolute;
  	top:50%;
	left: 26px;
  	transform:translateY(-50%);
	width: 100%;
}

#gnavi .subMenu ul li a::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 18px;
    width: 10px;
    height: 10px;
    margin-top: -6px;
    border-top: solid 2px #C8C9CA;
    border-right: solid 2px #C8C9CA;
    transform: rotate(45deg);
}

#gnavi .subMenu ul li a:hover{
	border: solid 1px #1C91FF;
	background: #D2E9FF;
	transition: 0.5s;
}
#gnavi .subMenu ul li a:hover span{
	color: #1C91FF;
	transition: 0.5s;
}

#gnavi .subMenu ul li a:hover::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 18px;
    width: 10px;
    height: 10px;
    margin-top: -6px;
    border-top: solid 2px #1C91FF;
    border-right: solid 2px #1C91FF;
    transform: rotate(45deg);
	transition: 0.5s;
}

/* スライドショー
------------------------------------- */
#slideImage{
    position: relative;
	width: 100%;
    z-index: 0;
    border-top: solid 1px #808080;
    border-bottom: solid 1px #808080;
}

#slideImage .slider .slideBox img {
    width: 100%;
    height: auto;
}

#slideImage .slider .slideBox a {
	transition: 0.8s;
}

#slideImage .slider .slideBox a:hover {
	opacity:0.65;
	transition: 0.8s;
}

#slideImage .slider img.arrowL{
    position: absolute;
    width: 40px;
    height: 40px;
    z-index: 1;
    top: calc(50% - 20px);
    left: 40px;
}

#slideImage .slider img.arrowR{
    position: absolute;
    width: 40px;
    height: 40px;
    z-index: 1;
    top: calc(50% - 20px);
    right: 40px;
}

#slideImage .slider img.arrowL:hover, #slideImage .slider img.arrowR:hover{
    opacity:0.55;
	transition: 0.5s;
    cursor: pointer;
}

#slideImage .slider ul.slideDots{
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: center;
    list-style-type: none;
}

#slideImage .slider ul.slideDots li{
    display: inline-block;
    margin: 0 5px;
}

#slideImage .slider ul.slideDots li button{
    position: relative;
    text-indent: -9999px;
    height: 12px;
    width: 12px;
    border-radius: 6px;
    border: none;
    background: #C8C9CA;
}

#slideImage .slider ul.slideDots li button:hover{
    opacity:0.55;
	transition: 0.5s;
    cursor: pointer;
}

#slideImage .slider ul.slideDots li.slick-active button{
    background: #1867F0;
}

#slideImage .slick-dotted.slick-slider{
    margin-bottom: 0 !important;
}

/* 製品バナー
------------------------------------- */
#products{
	margin: 0;
	width: 100%;
    border-bottom: solid 3px #B4B4B5;
}

#products ul{
    width: 100%;
    margin: 0 auto;
    height: 100px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: center;
}

#products ul li.spHr{
    display: none;
}

#products ul li{
    position: relative;
    display: block;
    height: 100px;
    width: 16.66vw;
}

#products ul li a{
    display: block;
    width: 100%;
    height: 100%;
}

#products ul li img{
    position: absolute;
    display: block;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

@media screen and (min-width: 1180px){

    #products ul li:nth-child(2) img{
        width: 11.69vw;
        height: auto;
    }

    #products ul li:nth-child(3) img{
        width: 10.25vw;
        height: auto;
    }

    #products ul li:nth-child(4) img{
        width: 11.78vw;
        height: auto;
    }

    #products ul li:nth-child(7) img{
        width: 12.54vw;
        height: auto;
    }

    #products ul li:nth-child(8) img{
        width: 11.01vw;
        height: auto;
    }

    #products ul li:nth-child(9) img{
        width: 9.49vw;
        height: auto;
    }
}

@media only screen and (max-width: 1180px) and (min-width: 769px){

    #products ul li:nth-child(2) img{
        width: 138px;
        height: auto;
    }

    #products ul li:nth-child(3) img{
        width: 121px;
        height: auto;
    }

    #products ul li:nth-child(4) img{
        width: 139px;
        height: auto;
    }

    #products ul li:nth-child(7) img{
        width: 148px;
        height: auto;
    }

    #products ul li:nth-child(8) img{
        width: 130px;
        height: auto;
    }

    #products ul li:nth-child(9) img{
        width: 112px;
        height: auto;
    }
}

a.hoverSlide1:hover{
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #000;
	opacity:1.0;
}

a.hoverSlide1::after {
	background: #eeeeef;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 100%;
	transform: scale(1, 0);
	transform-origin: 50% 50%;
	transition: .2s;
	z-index: -1;
}

a.hoverSlide1:hover::after {
	transform: scale(1, 1);
}

/* News
------------------------------------- */
#news{
	margin: 0;
	width: 100%;
	padding: 40px calc(( 100% - 980px ) / 2 ) 10px;
	background: #F7F7F7;
	text-align: left;
}

#news .boxNews{
    width: 100%;
    background: #fff;
    border: solid 1px #80c4ff;
    padding: 20px 33px;  
    font-size: 18px;
}

#news .boxNews p{
    display: grid;
    justify-items: left;
    align-items: center;
    color: #888888;
    width: 145px;
}

#news .boxNews ul{
    width: 769px;
}

#news .boxNews ul li{
    line-height: 1.6;
    margin: 0 auto 10px;
}

#news .boxNews ul li:last-child{
    margin-bottom: 0;
}

#news .boxNews ul li a{
    text-decoration: underline;
}

#news .boxNews ul.multiple{
    width: 746px;
}

#news .boxNews ul.multiple li{
    line-height: 1.44;
    margin: 0 auto 10px;
    color: #0C55BA;
    font-weight: 400;
    padding: 5px 0 15px;
    border-bottom: solid 1px #80C4FF;
}

#news .boxNews ul.multiple li span.ttl{
    position: relative;
    margin-left: 18px;
}

#news .boxNews ul.multiple li span.ttl::before{
    position: absolute;
    content: "・";
    left: -18px;
}

#news .boxNews ul.multiple li span.txtMain{
    display: block;
    font-weight: 300;
    margin: 0 36px;
}

#news .boxNews ul.multiple li:last-child{
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 4px;
}

/* 提供サービス
------------------------------------- */
#serviceTop1{
	margin: 0;
	width: 100%;
	padding: 0 calc(( 100% - 1400px ) / 2 ) 110px;
	background: #F7F7F7;
	text-align: center;
}

#serviceTop1 .boxHh{
    position: relative;
    display: block;
    width: 1094px;
    background: #fff;
    padding: 46px 0 15px;
    margin: 28px auto 130px;
    z-index: 0;
    transition: 0.5s;
    border: solid 1px #fff;
}

#serviceTop1 a:hover .boxHh{
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    transition: 0.6s;
    background: #D9EBFE;
    border: solid 1px #AFCCFC;
}

#serviceTop1 a:hover .boxHh img, #serviceTop1 a:hover .boxHh ul{
    opacity: 0.6;
    transition: 0.6s;
}

#serviceTop1 a:hover .boxHh .cover{
    opacity: 1;
    transition: 0.6s;
}

#serviceTop1 a:hover .boxHh .cover p.txt{
    transform: translateX(0);
    transition: 0.6s;
}

#serviceTop1 a:hover .boxHh .cover p.line{
    transform: scaleX(1);
    transition: 0.6s;
}

#serviceTop1 .boxHh .cover{
    position: absolute;
    width: 1008px;
    height: 231px;
    background: rgba(0,100,230,0.90);
    top: 160px;
    left: 43px;
    overflow: hidden;
    opacity: 0;
    transition: 0.6s;
}

#serviceTop1 .boxHh .cover p.txt{
    position: absolute;
    width: 708px;
    top: 0;
    right: 0;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.42;
    color: #fff;
    text-align: left;
    padding-top: 60px;
    padding-bottom: 8px;
    transform: translateX(200px);
    transition: 0.6s;
}

#serviceTop1 .boxHh .cover p.line{
    position: absolute;
    width: 708px;
    height: 0;
    top: 156px;
    right: 0px;
    border-top: solid 3px #fff;
    transform: scaleX(0);
    transform-origin: left top;
    transition: 0.6s;
}

#serviceTop1 .boxHh img:first-child{
    width: 472px;
    height: 64px;
    margin: 0 auto 50px;
    transition: 0.5s;
}

#serviceTop1 .boxHh ul.hhImgs{
    margin: 0 auto;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

#serviceTop1 .boxHh ul.hhImgs li{
    display: block;
    width: 336px;
    height: 231px;
}

#serviceTop1 .boxHh ul.hhImgs li:nth-child(1){
    display: block;
    background: url("../img/img_hh4.jpg") no-repeat;
    background-size: 100%;
}

#serviceTop1 .boxHh ul.hhImgs li:nth-child(2){
    display: block;
    background: url("../img/img_shh.jpg") no-repeat;
    background-size: 100%;
}

#serviceTop1 .boxHh ul.hhImgs li:nth-child(3){
    display: block;
    background: url("../img/img_hhi.jpg") no-repeat;
    background-size: 100%;
}

#serviceTop1 .boxHh ul.hhLogos{
    margin: 0 auto;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

#serviceTop1 .boxHh ul.hhLogos li{
    display: block;
    width: 336px;
    height: 156px;
}

#serviceTop1 .boxHh ul.hhLogos li:nth-child(1){
    background: url("../img/logo_hh4.svg") no-repeat;
    background-size: 290px 63px;
    background-position: center;
}

#serviceTop1 .boxHh ul.hhLogos li:nth-child(2){
    background: url("../img/logo_shh.svg") no-repeat;
    background-size: 254px 63px;
    background-position: center;
}

#serviceTop1 .boxHh ul.hhLogos li:nth-child(3){
    background: url("../img/logo_hhi.svg") no-repeat;
    background-size: 278px 71px;
    background-position: center;
}

#serviceTop1 ul.boxEtc{
    width: 1156px;
    margin: 0 auto;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    z-index: 0;
}

#serviceTop1 ul.boxEtc li{
    position: relative;
    width: 364px;
}

#serviceTop1 ul.boxEtc li p{
    opacity: 1.0;
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc li p:nth-child(1){
    width: 364px;
    height: 197px;
}

#serviceTop1 ul.boxEtc li p:nth-child(2){
    width: 364px;
    height: 134px;
}

#serviceTop1 ul.boxEtc li.shi p:nth-child(1){
    background: url("../img/img_shi.jpg") no-repeat;
    background-size: 100%;
}

#serviceTop1 ul.boxEtc li.shi p:nth-child(2){
    background: #e2f0d8 url("../img/logo_shi.svg") no-repeat;
    background-size: 267px 63px;
    background-position: center;
}

#serviceTop1 ul.boxEtc li.thi p:nth-child(1){
    background: url("../img/img_thi.jpg?20241028") no-repeat;
    background-size: 100%;
}

#serviceTop1 ul.boxEtc li.thi p:nth-child(2){
    background: #ccdaff url("../img/logo_thi.svg?20241024") no-repeat;
    background-size: 258px 43px;
    background-position: center;
}

#serviceTop1 ul.boxEtc li.rji p:nth-child(1){
    background: url("../img/img_rji.jpg") no-repeat;
    background-size: 100%;
}

#serviceTop1 ul.boxEtc li.rji p:nth-child(2){
    background: #cae6dc url("../img/logo_rji.svg") no-repeat;
    background-size: 232px 84px;
    background-position: center;
}

#serviceTop1 ul.boxEtc a:hover li{
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    transition: 0.6s;
}


#serviceTop1 ul.boxEtc a:hover li.shi p:nth-child(2){
    background: #A6CFE7 url("../img/logo_shi.svg") no-repeat;
    background-size: 267px 63px;
    background-position: center;
    opacity: 0.65;
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc a:hover li.thi p:nth-child(2){
    background: #99C3FC url("../img/logo_thi.svg") no-repeat;
    background-size: 260px 42px;
    background-position: center;
    opacity: 0.65;
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc a:hover li.rji p:nth-child(2){
    background: #98C9E9 url("../img/logo_rji.svg") no-repeat;
    background-size: 232px 84px;
    background-position: center;
    opacity: 0.65;
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc a:hover li .cover{
    opacity: 1;
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc a:hover li .cover span.txt{
    transform: translateX(0);
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc a:hover li .cover span.line{
    transform: scaleX(1);
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc li .cover{
    position: absolute;
    width: 100%;
    height: 198px;
    background: rgba(0,100,230,0.90);
    top: 0;
    left: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc li .cover span.txt{
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    height: 130px;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.47;
    color: #fff;
    text-align: left;
    padding-top: 60px;
    padding-bottom: 8px;
    transform: translateX(200px);
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc li .cover span.line{
    position: absolute;
    display: block;
    top: 125px;
    right: 0;
    height: 0x;
    border-top: solid 3px #fff;
    transform: scaleX(0);
    transform-origin: left top;
    transition: 0.6s;
}

#serviceTop1 ul.boxEtc a:nth-child(1) li .cover span{
    width: 297px;
}

#serviceTop1 ul.boxEtc a:nth-child(2) li .cover span{
    width: 341px;
}

#serviceTop1 ul.boxEtc a:nth-child(3) li .cover span{
    width: 347px;
}

/* 無料サービス
------------------------------------- */
#serviceTop2{
	margin: 0;
	width: 100%;
	padding: 0 calc(( 100% - 920px ) / 2 );
	background: #fff;
	text-align: center;
}

#serviceTop2 h3{
    position: relative;
    font-size: 24px;
    font-weight: 700;
    color: #5f8cc2;
    margin: 100px auto 0;
    z-index: 0;
}

#serviceTop2 h3:after{
    content: "";
    position: absolute;
    top: 18px;
    left: 0;
    width: 100%;
    height: 2px;
    border-bottom: solid 2px #5f8cc2;
    z-index: -1;
}

#serviceTop2 h3 p{
    display: inline-block;
    background: #fff;
    padding: 0 10px;
}

#serviceTop2 ul.free{
    width: 888px;
    margin: 60px auto 130px;
    font-size: 24px;
    font-weight: 700;
    color: #004190;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    z-index: 0;
}

#serviceTop2 ul.free li{
    position: relative;
}

#serviceTop2 ul.free li span{
    display: inline;
}

#serviceTop2 ul.free a li{
    width: 392px;
    height: 144px;
    display: grid;
    place-items: center;
    transition: 0.5s;
}

#serviceTop2 ul.free a:nth-child(1) li{
    letter-spacing: 0.25em;
    background: #d0ecf2;
}

#serviceTop2 ul.free a:nth-child(2) li{
    background: #cae8dd;
}

#serviceTop2 ul.free a:hover li{
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    transition: 0.5s;

}
#serviceTop2 ul.free a:hover li .cover{
    opacity: 1;
    transition: 0.6s;
}

#serviceTop2 ul.free a:hover li .cover p{
    transform: translateX(0);
    transition: 0.6s;
}

#serviceTop2 ul.free li .cover{
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,100,230,0.90);
    top: 0;
    left: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.6s;
    z-index: 1;
    display: grid;
    place-items: center;
}

#serviceTop2 ul.free li .cover p{
    font-size: 19px;
    font-weight: 700;
    line-height: 1.6;
    color: #fff;
    text-align: left;
    letter-spacing: 0;
    transform: translateX(200px);
    transition: 0.6s;
}

/* 説明動画
------------------------------------- */
#movies{
	margin: 0;
	width: 100%;
	padding: 0 calc(( 100% - 1400px ) / 2 );
	background: #EEEEEE;
	text-align: center;
}

#movies ul{
    margin: 0 auto;
    width: 920px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 0px;
}

#movies ul:nth-child(3),
#movies ul:nth-child(7){
    justify-content: center;
}

#movies ul:nth-child(7){
    padding-bottom: 110px;
}

#movies ul h3{
    position: relative;
    width: 100%;
    margin-top: 56px;
    margin-bottom: 45px;
    height: 32px;
    z-index: 0;
}

#movies ul h3.movies{
    margin-top: 100px;
}

#movies ul h3:after{
    content: "";
    position: absolute;
    top: 13px;
    left: 0;
    width: 100%;
    height: 2px;
    z-index: -1;
}

#movies div:nth-child(1) ul h3:after{
    border-bottom: solid 2px #68A4D9;
}

#movies ul:nth-child(3) h3:after{
    border-bottom: solid 2px #1E98A8;
}

#movies ul:nth-child(5) h3:after{
    border-bottom: solid 2px #919CCA;
}

#movies ul:nth-child(7) h3:after{
    border-bottom: solid 2px #93C4B5;
}

#movies ul h3 p{
    font-size: 22px;
    margin: 0 auto;
    height: 32px;
    color: #fff;
    line-height: 1.3;
    border-radius: 100vh;
    z-index: 1;
}

#movies div:nth-child(1) ul h3 p{
    background: #007FC7;
    width: 180px;
}

#movies ul:nth-child(3) h3 p{
    background: #1E98A8;
    width: 364px;
}

#movies ul:nth-child(5) h3 p{
    background: #6674B5;
    width: 374px;
}

#movies ul:nth-child(7) h3 p{
    background: #5DA68F;
    width: 404px;
}

#movies ul li{
    width: 392px;
    text-align: left;
    font-size: 21px;
    font-weight: 700;
    margin: 0 15px 0;
}

#movies ul li img{
    width: 392px;
    height: 220px;
    margin-bottom: 25px;
}

#movies ul li img:hover{
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    transition: 0.5s;
}

#movies ul li span{
    display: block;
    font-size: 17px;
    font-weight: 300;
    margin-top: 3px;
    line-height: 1.5;
}

/* 導入をご検討の方へ
------------------------------------- */
#consider{
	margin: 0;
	width: 100%;
	padding: 0 calc(( 100% - 1400px ) / 2 );
	background: #fff;
	text-align: center;
}

#consider ul{
    width: 920px;
    margin: 25px auto 150px;
    flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}

#consider ul li{
    width: 392px;
    margin: 0 15px;
    text-align: left;
    font-size: 21px;
    font-weight: 700;
}

#consider ul li img{
    width: 392px;
    height: 220px;
    margin-bottom: 25px;
}

#consider ul li img:hover{
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    transition: 0.5s;
}

#consider ul li span{
    display: block;
    font-size: 17px;
    font-weight: 300;
    margin-top: 3px;
    line-height: 1.5;
}

/* 導入をご検討の方へ
------------------------------------- */
#applications{
	margin: 0;
    padding-bottom: 100px;
	width: 100%;
	padding: 0 calc(( 100% - 1400px ) / 2 );
	background: #FCE9D4;
	text-align: center;
}

#applications ul{
    margin: 0 auto;
    width: 900px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

#applications ul li{
    position: relative;
    width: 420px;
    height: 220px;
    font-size: 25px;
    font-weight: 500;
    border: solid 2px #e6e6e6;
    margin-bottom: 50px;
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
}

#applications ul li:nth-child(1){
    background: #fff url("../img/iconAppliUse.svg") no-repeat;
    background-size: 60px auto;
    background-position: center 37px;
}

#applications ul li:nth-child(2){
    background: #fff url("../img/iconAppliTrial.svg") no-repeat;
    background-size: 112px auto;
    background-position: center 45px;
}

#applications ul li:nth-child(3){
    background: #fff url("../img/iconAppliRemote.svg") no-repeat;
    background-size: 101px auto;
    background-position: center 44px;
}

#applications ul li:nth-child(4){
    background: #fff url("../img/iconAppliDocreq.svg") no-repeat;
    background-size: 104px auto;
    background-position: center 46px;
}

#applications ul li:last-child{
    margin-bottom: 150px;
}

#applications ul li a{
    display: block;
    color: #BF1817;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 140px;
}

#applications ul li:hover{
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
    border: solid 2px #ecbab9;
    background-color: #ffe1fb;
    transition: 0.4s;
    opacity:0.60;
}

#applications ul li:active {
    position: relative;
    top: 3px;
    left: 3px;
}

/* 判例秘書ラインナップ
------------------------------------- */
#hhlineup{
    border-top: solid 1px #808080;
}

#hhlineup h1{
    width: 625px;
    height: 76px;
    background:url("../img/ttlHhLineup.svg") no-repeat;
    margin: 90px auto 75px;
    text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

#hhlineup p{
    font-size: 26px;
    font-weight: 500;
    line-height: 1.54;
    text-align: center;
}


#hhlineup a#btnConcept{
	display: block;
	width: 551.39px;
	height: 82.96px;
	margin: 61px auto 0;
}

#hhlineup a#btnConcept img{
	width: 100%;
	height: 100%;
}

#hhlineup a#btnConcept:hover img{
	opacity:0.65;
	transition: 0.4s;
}

#hhlineup ul#lineup{
    margin: 65px auto 125px;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content:space-between;
    align-items: center;
    width: 1150px;
}

#hhlineup ul#lineup li{
    position: relative;
    width: 368px;
    height: 575px;
    display: block;
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.1);
}

#hhlineup ul#lineup li p.photo{
    position: absolute;
    top: 0;
    left: 0;
    width: 368px;
    height: 193px;
}

#hhlineup ul#lineup li span{
    position: absolute;
    font-size: 22px;
    font-weight: 500;
    color: #231815;
}

#hhlineup ul#lineup li p.logo{
    position: absolute;
    display: block;
    width: 348px;
    height: 144px;
    bottom: 10px;
    left: 10px;
    border-radius: 6px;
}

#hhlineup ul#lineup a:nth-child(1) li{
    background: #f7f3a9;
}
#hhlineup ul#lineup a:nth-child(1) li p.photo{
    background: url("../img/imgLineup_hh4.jpg") no-repeat;
    background-size: 368px 193px;
    border-bottom: solid 15px #ebe55e;
    box-sizing: content-box;
}
#hhlineup ul#lineup a:nth-child(1) li span{
    top: 227px;
    left: 40px;
}
#hhlineup ul#lineup a:nth-child(1) li p.logo{
    background: #fff url("../img/logo_hh4.svg") no-repeat;
    background-position: center;
    background-size: 303px 66px;
}

#hhlineup ul#lineup a:nth-child(2) li{
    background: #b8eaea;
}
#hhlineup ul#lineup a:nth-child(2) li p.photo{
    background: url("../img/imgLineup_shh.jpg") no-repeat;
    background-size: 368px 193px;
    border-bottom: solid 15px #5ccccc;
    box-sizing: content-box;
}
#hhlineup ul#lineup a:nth-child(2) li span{
    top: 227px;
    left: 30px;
}
#hhlineup ul#lineup a:nth-child(2) li p.logo{
    background: #fff url("../img/logo_shh.svg") no-repeat;
    background-position: center;
    background-size: 276px 69px;
}

#hhlineup ul#lineup a:nth-child(3) li{
    background: #c1dbff;
}
#hhlineup ul#lineup a:nth-child(3) li p.photo{
    background: url("../img/imgLineup_hhi.jpg") no-repeat;
    background-size: 368px 193px;
    border-bottom: solid 15px #80b5ff;
    box-sizing: content-box;
}
#hhlineup ul#lineup a:nth-child(3) li span{
    top: 243px;
    left: 46px;
}
#hhlineup ul#lineup a:nth-child(3) li p.logo{
    background: #fff url("../img/logo_hhi.svg") no-repeat;
    background-position: center;
    background-size: 291px 75px;
}

#hhlineup ul#lineup a:hover{
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0);
}

#hhlineup h2{
    display: block;
    width: 1180px;
    height: 76px;
    color: #fff;
    font-size: 32px;
    font-weight: 700;
    margin: 0 auto 80px;
    background: #737575;
    padding-left: 25px;
    padding-top: 11px;
}

#hhlineup ul#compare{
    width: 1042px;
    height: 100px;
    margin: 0 auto;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content:space-between;
    align-items: flex-start;
    z-index: 1;
}

#hhlineup ul#compare li{
    position: relative;
    width: 336px;
    height: 100px;
    border-top: solid 4px #9eb0e0;
    border-left: solid 4px #9eb0e0;
    border-right: solid 4px #9eb0e0;
    background: #fff; 
}

#hhlineup ul#compare li.btn{
    position: relative;
    width: 336px;
    height: 88px;
    border: none;
    background: #dbdcdc;
    opacity: 0.5;
    transition: 0.4s;
}

#hhlineup ul#compare li.btn:hover{
    opacity: 1.00;
    transition: 0.4s;
    cursor: pointer;
}

#hhlineup ul#compare li.btn:active {
    opacity: 0.5;
    transition: 0s;
}

#hhlineup ul#compare li img{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
}

#hhlineup ul#compare li:nth-child(1) img{
    width: 198px;
    height: 43px;
}

#hhlineup ul#compare li:nth-child(2) img{
    width: 174px;
    height: 43px;
}

#hhlineup ul#compare li:nth-child(3) img{
    width: 183px;
    height: 47px;
}

#hhlineup #boxCompare{
    width: 1042px;
    height: 616px;
    border: solid 4px #9eb0e0;
    margin: -4px auto 0;
    z-index: -1;
}

#hhlineup #boxCompare.hh4{
    background: url("../img/figCompare_hh4.png") no-repeat;
    background-size: 930px 500px;
    background-position: center;
}

#hhlineup #boxCompare.shh{
    background: url("../img/figCompare_shh.png") no-repeat;
    background-size: 930px 500px;
    background-position: center;
}

#hhlineup #boxCompare.hhi{
    background: url("../img/figCompare_hhi.png") no-repeat;
    background-size: 930px 500px;
    background-position: center;
}

#hhlineup .annotation{
    width: 1042px;
    font-size: 14px;
    font-weight: 300;
    color: #000;
    text-align: right;
    margin: 10px auto 0;
}

#hhlineup #concept{
    background: #efefef;
    margin-top: 162px;
    padding: 135px calc(( 100% - 1080px ) / 2 ) 165px;
}

#hhlineup #concept #boxConcept{
    position: relative;
    width: 1080px;
    height: 780px;
    background: #fff;
}

#hhlineup #concept #boxConcept h2{
    display: block;
    width: 100%;
    height: 76px;
    color: #fff;
    font-size: 37.5px;
    font-weight: 700;
    margin: 0;
    background: linear-gradient(to right, #5688c4 47%, #ffffff 100%);
    padding-left: 27px;
    padding-top: 6px;   
}

#hhlineup #concept #boxConcept p:nth-child(2){
    position: absolute;
    color: #1d6bbf;
    text-align: left;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.66;
    top: 138px;
    left: 50px;
}

#hhlineup #concept #boxConcept p:nth-child(3){
    position: absolute;
    color: #231815;
    text-align: left;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.71;
    width: 470px;
    top: 386px;
    left: 50px;
}

#hhlineup #concept #boxConcept img{
    position: absolute;
    width: 448px;
    height: auto;
    top: 185px;
    left: 590px;
}

/* リモート説明動画
------------------------------------- */
#introRemote{
    width: 100%;
    background: #f7efdf;
    padding-top: 110px;
    padding-bottom: 165px;
    text-align: center;
    border-top: solid 1px #808080;
}

#introRemote h1{
    display: inline-block;
    font-size: 34px;
    font-weight: 500;
    color: #717071;
    border-bottom: solid 6px #f29971;
}

#introRemote h1 span{
    color: #e50012;
    font-weight: 700;
}

#introRemote .boxMov{
    display: block;
    width: 800px;
    height: 452px;
    margin: 90px auto 0;
}

#introRemote .boxMov:hover{
    cursor: pointer;
}

#introRemote a.btnGoForm{
    position: relative;
    display: block;
    width: 552px;
    height: 100px;
    background: #ff6b21 url("../img/iconBtnGoForm.svg") no-repeat;
    background-size: 46px 42px;
    background-position: 442px 28px;
    color: #fff;
    text-align: left;
    padding-left: 73px;
    padding-top: 30px;
    font-size: 23px;
    font-weight: 700;
    margin: 130px auto 0;
    transition: 0.4s;
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
}

#introRemote a.btnGoForm:hover{
    transition: 0.4s;
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

#introRemote a.btnGoForm:active{
    top: 2px;
    left: 2px;
}

/* よくあるご質問
------------------------------------- */
#faq{
    width: 100%;
    background: #fff;
    padding-top: 50px;
    text-align: center;
    border-top: solid 1px #808080;
    overflow-x: hidden;
}

#faq .ttlBox{
    position: relative;
    margin: 0 auto;
    width: 1142px;
    height: 190px;
    background: url("../img/baseTtlFaq.png") no-repeat;
    background-size: 100%;
    display: grid;
    place-content: center;
}

#faq .ttlBox h1{
    position: relative;
    display: inline-block;
    color: #717071;
    font-size: 34px;
    font-weight: 700;
    border-bottom: solid 6px #80BDF6;
    top: -10px;
}

#faq ul{
    width: 784px;
    margin: 42px auto 83px;
}

#faq ul li{
    position: relative;
    width: 100%;
    height: 91px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid 1px #B4B4B5;
    padding-bottom: 1px;
}

#faq ul a li::before{
    position: absolute;
    width: 100%;
    height: 90px;
    content: "";
    top: 0;
    left: 0;
    background:rgba(218,237,250,0);
    transition: 0.4s;
}

#faq ul a:hover li::before{
    background:rgba(218,237,250,0.7);
    transition: 0.4s;
}

#faq ul li p:nth-child(1){
    display: block;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    background: #A1D6CF;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 1.4;
    margin-left: 15px;
    margin-right: 47px;
}

#faq ul li p:nth-child(2){
    text-align: left;
    color: #2B67E3;
    font-size: 22px;
    font-weight: 500;
    width: 620px;
}

#faq ul li img{
    width: 24px;
    height: 24px;
    margin-right: 20px;
}

#faq .boxFaqContact{
    margin: 0 auto 125px;
    width: 844px;
    height: 302px;
    border: solid 6px #69BFB4;
    color: #000;
}

#faq .boxFaqContact p.msg{
    font-size: 21px;
    font-weight: 400;
    margin: 45px auto 45px;
    width: 100%;
}

#faq .boxFaqContact div.telmail{
    margin-top: 0;
    height: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;

}

#faq .boxFaqContact div.telmail p{
    padding-top: 10px;
    font-size: 24px;
    font-weight: 400;
}

#faq .boxFaqContact div.telmail div{
    text-align: left;
    margin-left: 40px;
}

#faq .boxFaqContact div.telmail div span:nth-child(1){
    position: relative;
    display: block;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 10px;
}

#faq .boxFaqContact div.telmail div span:nth-child(2){
    position: relative;
    display: block;
    font-size: 22px;
    font-weight: 700;
}

#faq .boxFaqContact div.telmail div span:nth-child(1) p.tel{
    position: relative;
    display: inline-block;
    width: 44px;
    height: 44px;
    background: #69BFB4 url("../img/iconSupportTel.svg") no-repeat;
    background-size: 27px 35px;
    background-position: center;
    margin-right: 14px;
    top: 8px;
}

#faq .boxFaqContact div.telmail div span:nth-child(2) p.mail{
    position: relative;
    display: inline-block;
    width: 34px;
    height: 34px;
    background: #69BFB4 url("../img/iconSupportMail.svg") no-repeat;
    background-size: 24px 15px;
    background-position: center;
    margin-right: 13px;
    top: 8px;
}

#faq .qaArea{
    width: 100%;
    background: #EEEEEE;
    padding-top: 90px;
    padding-bottom: 60px;
}

#faq .qaArea table{
    width: 888px;
    margin: 0 auto 60px;
    text-align: left;
    border: solid 1px #B4B4B5;
    background: #fff;
    line-height: 1.6;
}

#faq .qaArea table th{
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    padding: 20px 18px;
    border: solid 1px #B4B4B5;
    text-align: center;
    vertical-align: top;
}

#faq .qaArea table tr:nth-child(1) th{
    background: #A1D6CF;
}

#faq .qaArea table tr:nth-child(2) th{
    background: #A2B4E0;
    padding-top: 12px !important;
}

#faq .qaArea table td{
    position: relative;
    color: #231815;
    font-size: 20px;
    font-weight: 300;
    padding: 20px 50px;
    border: solid 1px #B4B4B5;
    vertical-align: center;
}

#faq .qaArea table td .txtBld{
    font-weight: 500;
}

#faq .qaArea table td .txtUl{
    font-weight: 500;
    text-decoration: underline;
}

#faq .qaArea table td .txtSml{
    font-size: 17px;
}

/* 各種フォーム
------------------------------------- */
#forms{
    width: 100%;
    background: #eeeeee;
    padding-top: 65px;
    padding-bottom: 100px;
    text-align: center;
    border-top: solid 1px #808080;    
}

#forms.result{
    background: #93BCF5;
    padding-bottom: 70px;
}

#forms.result #boxForm{
    margin: 0 auto 0px;
}

#forms.result #boxForm .boxResultMsg{
    background: #FFFDF5;
    border: solid 1px #DEC985;
    padding: 55px 0 55px;
    margin-top: 20px;
}

#forms.result #boxForm .boxResultMsg p:nth-child(1){
    font-size: 29px;
    font-weight: 700;
    color: #FF0000;
}

#forms.result #boxForm .boxResultMsg p:nth-child(2){
    font-size: 20px;
    font-weight: 400;
    color: #000;
    line-height: 1.7;
    margin-top: 30px;
}

#forms #boxForm{
    width: 990px;
    margin: 0 auto 100px;
    background: #fff;
    padding: 50px 45px 100px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}

#forms #boxForm h1{
    display: inline-block;
    margin: 0 auto 40px;
    color: #717071;
    font-size: 34px;
    font-weight: 700;
    border-bottom: solid 3px #D25D5D;    
}

#forms #boxForm p.txtLead{
    margin: 0 auto 40px;
    color: #000;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.7;
}

#forms #boxForm p.txtLead span.txtRed{
    display: block;
    color: #E50012;
    margin-top: 20px;
}

#forms table.tableMain{
    width: 904px;
    margin: 0 auto 0;
    text-align: left;
    font-size: 16px;
    line-height: 1.5;
    border: solid 1px #cccccc;
    background-clip: padding-box;/*FireFox用対策*/
}

#forms table.tableMain th{
    position: relative;
    width: 259px;
    background: #FAF3DE;
    line-height: 1.375;
    padding: 20px;
    border-bottom: solid 1px #cccccc;
    background-clip: padding-box;/*FireFox用対策*/
}

#forms table.tableMain td{
    position: relative;
    width: 645px;
    background: #fff;
    line-height: 1.375;
    padding: 10px 20px;
    border-bottom: solid 1px #cccccc;
    background-clip: padding-box;/*FireFox用対策*/
}

#forms table.tableMain.confirm th{
    padding: 15px 20px;
}

#forms table.tableMain td#boxService ul li{
    margin-top: 4px;
    margin-bottom: 4px;
}

#forms table.tableMain td#boxService ul li input{
    margin-right: 5px;
}

#forms table.tableMain td#boxService p{
    text-align: left;
    font-size: 15.5px;
    font-weight: 300;
    line-height: 1.5;
    margin-top: 10px;
}

#forms table.tableMain td#boxDate ul li{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    padding-top: 5px;
    padding-bottom: 5px;
}

#forms table.tableMain td#boxDate ul li span:nth-child(1){
    margin-right: 15px;
}

#forms table.tableMain td#boxDate ul li span:nth-child(3){
    margin-left: 5px;
    margin-right: 10px;
}

#forms table.tableMain td#boxDate ul li span:nth-child(5){
    margin-left: 5px;
    margin-right: 20px;
}

#forms table.tableMain td#boxDate ul li span:nth-child(7){
    margin-left: 7px;
    margin-right: 7px;
}

#forms table.tableMain td#boxDate ul li span:nth-child(9){
    margin-left: 7px;
}

#forms table.tableMain td#boxDate p{
    text-align: left;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 10px;
}

#forms table.tableMain td.confirmDate{
    line-height: 1.8;
}

#forms table.tableMain td#boxDaihyou ul li{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

#forms table.tableMain td#boxDaihyou ul li p{
    width: 100px;
    font-weight: 400;
}

#forms table.tableMain td#boxDaihyou ul li div.boxName{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

#forms table.tableMain td#boxDaihyou ul li div.boxName p{
    width: 21px;
    font-weight: 300;
}
#forms table.tableMain td#boxDaihyou ul li div.boxName p:nth-child(3){
    margin-left: 20px;
}

#forms table.tableMain td#boxDaihyou ul li:nth-child(1){
    padding-top: 7px;
    padding-bottom: 15px;
    border-bottom: dashed 1px #cccccc;
}

#forms table.tableMain td#boxDaihyou ul li:nth-child(2){
    padding-top: 15px;
    padding-bottom: 7px;
}


#forms table.tableMain td#boxDaihyou ul.confirmDaihyou li{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

#forms table.tableMain td#boxDaihyou ul.confirmDaihyou li p:nth-child(1){
    width: 75px;
}
#forms table.tableMain td#boxDaihyou ul.confirmDaihyou li p:nth-child(2){
    width: 21px;
}
#forms table.tableMain td#boxDaihyou ul.confirmDaihyou li p:nth-child(3){
    margin-left: 5px;
    width: auto;
}


#forms table.tableMain td .txtAnnotation{
    display: block;
    font-size: 15.5px;
    font-weight: 300;
    margin-top: 5px;
    margin-left: 2px;
}

#forms table.tableMain th.required{
    background: #FAF3DE url("../img/iconRequired.svg") no-repeat;
    background-size: 32px 22px;
    background-position: right 14px center;
    border-bottom: solid 1px #cccccc;
    background-clip: padding-box;/*FireFox用対策*/
}

#forms table.tableMain input::placeholder {
    color: #808080;
}

#forms table.tableMain input[type="text"],
#forms table.tableMain input[type="tel"],
#forms table.tableMain input[type="email"]{
    height: 40px;
    border: solid 1px #999999;
    border-radius: 6px;
    font-size: 0.95em;
    padding-left: 14px;
}

#forms table.tableMain select{
    width: 52px;
}

#forms table.tableMain input[type="text"]#inputCheck_Organization{
    width: 505px;
}

#forms table.tableMain input[type="text"]#inputCheck_Daihyou1,
#forms table.tableMain input[type="text"]#inputCheck_Daihyou2,
#forms table.tableMain input[type="text"]#inputCheck_Daihyou3,
#forms table.tableMain input[type="text"]#inputCheck_Daihyou4{
    width: 197px;
}

#forms table.tableMain input[type="text"]#inputCheck_Department,
#forms table.tableMain input[type="text"]#inputCheck_Tantou{
    width: 395px;
}

#forms table.tableMain input[type="text"]#inputCheck_Zip{
    width: 170px;
}

#forms table.tableMain input[type="text"]#inputCheck_Address{
    width: 585px;
}

#forms table.tableMain input[type="tel"]#inputCheck_Tel{
    width: 170px;
}

#forms table.tableMain input[type="email"]#inputCheck_Mail{
    width: 445px;
}

#forms .boxPrivacy{
    width: 904px;
    background: #F2F2F2;
    border: solid 1px #CCCCCC;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.538;
    text-align: left;
    padding: 12px 20px;
    margin-top: 50px;
    margin-bottom: 100px;
}

#forms .boxPrivacy .txtBold{
    font-weight: 500;
}

#forms .boxPrivacy.bottomNarrow{
    margin-bottom: 16px !important;
}

#forms .boxTrial{
    width: 904px;
    background: #F2F2F2;
    border: solid 1px #CCCCCC;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.538;
    text-align: left;
    padding: 12px 20px;
    margin-bottom: 22px;
}

#forms #BoxConsent{
    margin: 0 auto 100px;
    width: 242px;
    height: 30px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    padding-left: 15px;
    background: #ff0;
}

#forms #BoxConsent p{
    padding-left: 5px;
}

#forms #BoxConsent.required{
    background: #fff url("../img/iconRequired.svg") no-repeat;
    background-size: 32px 22px;
    background-position: right 14px center;
}

#forms #boxFormBtn{
    width: 904px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#forms #boxFormBtn .btnSubmit{
    width: 252px;
    height: 82px;
    margin: 0 65px;
    background: #E10001 url("../img/btnSubmit.svg") no-repeat;
    background-size: 252px 82px;
    border-radius: 14px;
    border: none;
    transition: 0.4s;
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
    opacity: 1.0;
}

#forms #boxFormBtn .btnCancel{
    width: 252px;
    height: 82px;
    margin: 0 65px;
    background: #9E9E9F url("../img/btnCancel.svg") no-repeat;
    background-size: 252px 82px;
    border-radius: 14px;
    border: none;
    transition: 0.4s;
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
    opacity: 1.0;
}

#forms #boxFormBtn .btnSend{
    width: 252px;
    height: 82px;
    margin: 0 65px;
    background: #9E9E9F url("../img/btnSend.svg") no-repeat;
    background-size: 252px 82px;
    border-radius: 14px;
    border: none;
    transition: 0.4s;
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
    opacity: 1.0;
}

#forms #boxFormBtn .btnBack{
    width: 252px;
    height: 82px;
    margin: 0 65px;
    background: #9E9E9F url("../img/btnBack.svg") no-repeat;
    background-size: 252px 82px;
    border-radius: 14px;
    border: none;
    transition: 0.4s;
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
    opacity: 1.0;
}

#forms #boxFormBtn .btnSubmit:hover,
#forms #boxFormBtn .btnCancel:hover,
#forms #boxFormBtn .btnSend:hover,
#forms #boxFormBtn .btnBack:hover{
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0);
    cursor: pointer;
    transition: 0.4s;
    opacity: 0.65;
}

/* 利用規約
------------------------------------- */
#agreement{
    width: 100%;
    background: #eeeeee;
    padding-top: 65px;
    padding-bottom: 100px;
    text-align: center;
    border-top: solid 1px #808080;
}

#agreement #boxAgreement{
    width: 978px;
    margin: 0 auto 100px;
    background: #fff;
    padding: 85px 85px 50px;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.53;
    text-align: center;
}

#agreement #boxAgreement h1{
    display: inline-block;
    margin: 0 auto 90px;
    color: #717071;
    font-size: 34px;
    font-weight: 700;
    border-bottom: solid 3px #93cbff;
}


#agreement #boxAgreement ul{
    margin: 0;
    text-align: left;
}

#agreement #boxAgreement ul li h2{
    font-size: 17px;
    font-weight: 400;
}

#agreement #boxAgreement ul li{
    margin-bottom: 32px;
}

#agreement a.btnBack{
    position: relative;
    font-size: 20px;
    left: -15px;
}

#agreement a.btnBack:hover{
    border-bottom: solid 1px #0052bd;
}

#agreement a.btnBack::after{
    position: absolute;
    content: "";
    width: 20px;
    height: 20px;
    background: url("../img/iconBtnAfter.svg") no-repeat;
    background-size: 100%;
    top: 5px;
    right: -28px;
}

/* 個人情報保護方針
------------------------------------- */
#privacy{
    width: 100%;
    background: #eeeeee;
    padding-top: 65px;
    padding-bottom: 100px;
    text-align: center;
    border-top: solid 1px #808080;
}

#privacy #boxPrivacy{
    width: 978px;
    margin: 0 auto 100px;
    background: #fff;
    padding: 85px 85px 80px;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.53;
    text-align: center;
}

#privacy #boxPrivacy h1{
    display: inline-block;
    margin: 0 auto 90px;
    color: #717071;
    font-size: 34px;
    font-weight: 700;
    border-bottom: solid 3px #93cbff;
}

#privacy #boxPrivacy p:nth-child(2){
    text-align: left;
}

#privacy #boxPrivacy ul{
    margin: 32px 0 0;
    text-align: left;
}

#privacy #boxPrivacy ul li h2{
    font-size: 17px;
    font-weight: 400;
}

#privacy #boxPrivacy ul li{
    margin-bottom: 32px;
}

#privacy #boxPrivacy p:nth-child(4){
    text-align: right;
}

#privacy #boxPrivacy ol {
	margin-left: 1.8em;
	margin-top: 1.0em;
}

#privacy #boxPrivacy ol li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
	margin-bottom: 0.3em;
}

#privacy #boxPrivacy ol li:before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -3.5em;
	width: 3em;
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}

#privacy a.btnBack{
    position: relative;
    font-size: 20px;
    left: -15px;
}

#privacy a.btnBack:hover{
    border-bottom: solid 1px #0052bd;
}

#privacy a.btnBack::after{
    position: absolute;
    content: "";
    width: 20px;
    height: 20px;
    background: url("../img/iconBtnAfter.svg") no-repeat;
    background-size: 100%;
    top: 5px;
    right: -28px;
}

/* 会社概要
------------------------------------- */
#company{
    width: 100%;
    background: #fff;
    padding-top: 50px;
    padding-bottom: 130px;
    text-align: center;
    border-top: solid 1px #808080;
    overflow-x: hidden;
}

#company .ttlBox{
    margin: 0 auto;
    width: 1142px;
    height: 190px;
    background: url("../img/baseTtlCompany.png") no-repeat;
    background-size: 100%;
    display: grid;
    place-content: center;
}

#company .ttlBox h1{
    display: inline-block;
    color: #717071;
    font-size: 34px;
    font-weight: 700;
    border-bottom: solid 4px #93cbff;
}

#company table{
    width: 636px;
    margin: 65px auto;
    text-align: left;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.53;
    border-collapse: collapse;
}

#company table:nth-child(2){
    margin-top: 80px;
}

#company table:nth-child(4){
    margin-bottom: 185px;
}

#company table,
#company table th,
#company table td{
    border: solid 1px #c8c9ca;
}

#company table th,
#company table td{
    padding: 15px 22px 16px;
    vertical-align: top;
}

#company table th{
    width: 280px;
    background: #f7f7f7;
}

#company a.btnCompanyToPrivacy{
    position: relative;;
    display: block;
    width: 636px;
    height: 77px;
    background: #f7f7f7 url("../img/iconBtnCompanyOff.svg") no-repeat;
    background-size: 20px 20px;
    background-position: 430px 27px;
    border: solid 1px #9e9e9f;
    color: #595757;
    text-align: left;
    padding-left: 223px;
    padding-top: 21px;
    font-size: 20px;
    font-weight: 400;
    margin: 0 auto;
    transition: 0.4s;
    box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
}

#company a.btnCompanyToPrivacy:hover{
    background: #e6f3ff url("../img/iconBtnCompanyOn.svg") no-repeat;
    background-size: 20px 20px;
    background-position: 430px 27px;
    border: solid 1px #b4cdf0;
    color: #779de5;
    transition: 0.4s;
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

#company a.btnCompanyToPrivacy:active{
    top: 2px;
    left: 2px;
}

#company .boxCertification{
    width: 910px;
    background: #e9f3ff url("../img/iconCertification.svg") no-repeat;
    background-size: 516px 152px;
    background-position: 197px 92px;
    border: solid 2px #5378b7;
    margin: 185px auto 150px;
    padding: 0;
}

#company .boxCertification p{
    width: 100%;
    height: 49px;
    background: #5378b7;
    color: #fff;
    font-size: 23.4px;
    font-weight: 700;
    line-height: 1.9;
}

#company .boxCertification table{
    width: 515px;
    margin: 235px auto 25px;
    line-height: 1.53;
    font-size: 17px;
    font-weight: 400;
}

#company .boxCertification table,
#company .boxCertification table th,
#company .boxCertification table td{
    border: none;
    background: none;
    padding: 15px 0;
    vertical-align: top;
}

#company .boxCertification table th{
    width: 150px;
}

#company .boxCertification table th span{
    color: #7b97c7;
    margin-right: 5px;
}

#company .boxMap{
    width: 910px;
    margin: 0 auto;
    text-align: left;
}

#company .boxMap h2{
    font-size: 26px;
    font-weight: 500;
    margin-bottom: 20px;
}

#company .boxMap h2 span{
    color: #97AACC;
    margin-right: 7px;
}

#company .boxMap img{
    width: 100%;
    height: auto;
}



/* 特定商取引
------------------------------------- */
#tokusyou{
    width: 100%;
    background: #eeeeee;
    padding-top: 65px;
    padding-bottom: 100px;
    text-align: center;
    border-top: solid 1px #808080;
}

#tokusyou #boxTokusyou{
    width: 978px;
    margin: 0 auto;
    background: #fff;
    padding: 85px 85px 80px;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.53;
    text-align: center;
}

#tokusyou #boxTokusyou h1{
    display: inline-block;
    margin: 0 auto 110px;
    color: #717071;
    font-size: 34px;
    font-weight: 700;
    border-bottom: solid 3px #93cbff;
}

#tokusyou #boxTokusyou table{
    width: 100%;
    text-align: left;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.53;
    border-collapse: collapse;
}

#tokusyou #boxTokusyou table,
#tokusyou #boxTokusyou table th,
#tokusyou #boxTokusyou table td{
    border: solid 1px #c8c9ca;
}

#tokusyou #boxTokusyou table th,
#tokusyou #boxTokusyou table td{
    padding: 15px 22px 16px;
    vertical-align: top;
    position: relative;
}

#tokusyou #boxTokusyou table th{
    width: 200px;
    background: #f7f7f7;
}

#tokusyou #boxTokusyou table td span.txtSml{
    position: relative;
    font-size: 10px;
    top: -8px;
}

/* ユーザーサポート
------------------------------------- */
#support{
    width: 100%;
    text-align: center;
    border-top: solid 1px #808080;
    padding-top: 45px;
    padding-bottom: 85px;
    overflow-x: hidden;
}

#support .ttlBox{
    margin: 0 auto;
    width: 1142px;
    height: 190px;
    background: #d4e9ff;
    display: grid;
    place-content: center;
}

#support .ttlBox h1{
    display: inline-block;
    color: #717071;
    font-size: 34px;
    font-weight: 700;
    border-bottom: solid 4px #93cbff;
}

#support p:nth-child(2){
    margin: 100px auto 90px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.7;
    color: #231815;
}

#support p:nth-child(3){
    margin: 0 auto 20px;
    font-size: 24px;
    font-weight: 700;
    color: #0081e0;
}

#support .boxSupport{
    width: 642px;
    height: 146px;
    background: #e9f4ff;
    border: solid 1px #cee3ff;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

#support .boxSupport ul{
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 73px;
}

#support .boxSupport ul.tel{
    border-bottom: solid 1px #c2d4eb;
}

#support .boxSupport ul li:nth-child(1){
    position: relative;
    width: 36px;
    height: 36px;
    background: #0081E0;
    margin-right: 35px;
    display: grid;
	place-items: center center;
}

#support .boxSupport ul.tel li:nth-child(1) img{
    height: 28px;
    width: 22px;
}

#support .boxSupport ul.tel li:nth-child(2){
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    height: 73px;
}

#support .boxSupport ul.tel li:nth-child(2) p:nth-child(1){
    font-size: 18px;
    font-weight: 400;
    margin-right: 35px;
}

#support .boxSupport ul.tel li:nth-child(2) p:nth-child(1) a{
    font-size: 27px;
    font-weight: 500;
}

#support .boxSupport ul.tel li:nth-child(2) p:nth-child(2){
    position: relative;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
    text-align: left;
    top: -5px;
}

#support .boxSupport ul.tel li:nth-child(2) p:nth-child(2) span{
    font-size: 14px;
}

#support .boxSupport ul.mail li:nth-child(1) img{
    height: 16px;
    width: 24px;
}

#support .boxSupport ul.mail li:nth-child(2) a{
    font-size: 23px;
    font-weight: 500;
}

/* Contact(TOP)
------------------------------------- */
#contactTop{
	margin: 0;
	width: 100%;
	padding: 0 calc(( 100% - 1400px ) / 2 );
	height: 504px;
	background: #fff;
	text-align: center;
	color: #000;
}

#contactTop p:nth-child(2){
	font-size: 24px;
}

#contactTop p:nth-child(3){
	font-size: 36px;
	font-weight: 700;
	font-family: "メイリオ", Meiryo, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif;
	margin: 30px auto 10px;
}

#contactTop p:nth-child(4){
	font-size: 22px;
	font-weight: 700;
	font-family: "メイリオ", Meiryo, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif;
}

/* Support(TOP)
------------------------------------- */
#supportTop{
	margin: 0;
	width: 100%;
	padding: 0 calc(( 100% - 1400px ) / 2 ) 100px;
	background: #D4E9FF;
	text-align: center;
}

#supportTop p:nth-child(2){
    font-size: 18px;
    margin: 0 auto;
}

#supportTop p:nth-child(3){
    font-size: 24px;
    font-family: "メイリオ", Meiryo, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif;
    font-weight: bold;
    color: #0081E0;
    margin: 30px auto 10px;
}

#supportTop #boxSupport{
    width: 1022px;
    height: 94px;
    background: #e9f4ff;
    margin: 0 auto;
    padding: 14px 33px 14px 45px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

#supportTop #boxSupport ul{
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 65px;
}

#supportTop #boxSupport ul.tel{
    border-right: solid 2px #c2d4eb;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 584px;
    padding-right: 36px;
}

#supportTop #boxSupport ul li:nth-child(1){
    position: relative;
    width: 38px;
    height: 38px;
    background: #0081E0;
    margin-right: 21px;
    display: grid;
	place-items: center center;
}

#supportTop #boxSupport ul.tel li:nth-child(1) img{
    height: 31px;
    width: 23.5px;
}

#supportTop #boxSupport ul.tel li:nth-child(2){
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

#supportTop #boxSupport ul.tel li:nth-child(2) p:nth-child(1){
    font-size: 17px;
    font-weight: 500;
    margin-right: 30px;
}

#supportTop #boxSupport ul.tel li:nth-child(2) p:nth-child(1) a{
    font-size: 26px;
    font-weight: 500;
}

#supportTop #boxSupport ul.tel li:nth-child(2) p:nth-child(2){
    position: relative;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.27;
    text-align: left;
}

#supportTop #boxSupport ul.mail{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    width: 360px;
    font-size: 17px;
    font-weight: 500;
    text-align: left;
    padding-left: 36px;
}

#supportTop #boxSupport ul.mail li:nth-child(1) img{
    height: 16px;
    width: 27px;
}

/* footer
------------------------------------- */
#footer{
	margin: 0;
	width: 100%;
	padding: 0 calc(( 100% - 1180px ) / 2 );
	background: #0F5CBF;
    color: #fff;
}

#footer .boxFooterUpper{
    position: relative;
    height: 138px;
    font-size: 18px;
    font-family: "メイリオ", Meiryo, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', sans-serif;
    border-bottom: solid 1px #fff;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;    
}

#footer .boxFooterUpper p{
    margin-right: 20px;
}

#footer .boxFooterUpper p span{
    color: #54BEEB;
}

#footer .boxFooterUpper img.lic{
    position: relative;
    display: inline-block;
    width: 214.6px;
    height: auto;
    margin-right: 50px;
    top: -3px;
}

#footer .boxFooterUpper img.eoc{
    width: 214.4px;
    height: auto;
}

#footer .boxFooterLower{
    height: 76px;
    font-size: 14px;
    padding: 20px;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;     
}


#footer .boxFooterLower ul{
    flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;  
}

#footer .boxFooterLower ul li{
    margin-right: 27px;
}

#footer .boxFooterLower ul li a{
    color: #fff;
}

/* Btn to the top
------------------------------------- */
#btnUp{
    display: none;
	position: fixed;
	width: 141px;
	height: 69px;
	background: url("../img/btnUp.png") no-repeat;
    background-size: 100%;
	right: 0px;
	bottom: 20px;
    text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
    z-index: 50;
}

a.tpBtnUp {
	transition: 0.4s;
}

a.tpBtnUp:hover {
	opacity:0.65;
	transition: 0.4s;
}

a.tpBtnUp:active #btnUp{
    position: fixed;
    right: -2px;
	bottom: 20px;
}

/* SideLinkBtn
------------------------------------- */
#btnSideAppli{
    display: none;
	position: fixed;
	width: 213px;
	height: 170px;
	background: url("../img/btnSideAppli.png") no-repeat;
	background-size: 100%;
	right: 0px;
	bottom: 72px;
	color: #fff;
	font-size: 24.3px;
	font-weight: 700;
	padding-top: 41px;
	padding-left: 43px;
    z-index: 50;
}

a.tpBtnSide{
	transition: 0.4s;
}

a.tpBtnSide:hover {
	opacity:0.65;
	transition: 0.4s;
}

a.tpBtnSide:active #btnSideAppli{
    position: fixed;
    right: -4px;
}