h1,h2,h3,h4,p{
    color: #2F2F2F;
    line-height: 1.5em;
}
h1{
    font-size: 36px;
    margin-bottom: 20px;
    font-weight: 600;
}
h2{
    font-size: 24px;
    font-weight: 500;
}
h3{
    font-size: 20px;
}
h4{
    font-size: 32px;
    font-weight: bold;
}
p{
    font-size: 16px;
}
.mainBox{
    width: 100%;
}
.underY{
    background:linear-gradient(transparent 70%, #FFC700 0%);
}
.underB{
    background:linear-gradient(transparent 80%, #00ACFF 0%);
}
.bold{
    font-weight: bold;
}

/* globalnavigation */
#daiichi #naviCNT #sitesearch label{
    margin-bottom: 10px;
}
img{
    vertical-align: baseline;
}

/* hero */
.hero{
    background-image: url(../image/campaign/relay/hero.png) ;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    width: 100%;
    height:100vh;
    height: 450px;
    padding-top: 70px;
}
.hero h2{
    font-size: 20px;
    margin: 10px 0;
}
.hero > div{
    background-color: #FFF;
    width: 900px;
    margin: auto;
    border-radius: 10px;
}
.heroSpace{
    display: flex;
    align-items: flex-end;
    width: 850px;
    margin:  auto;
    padding-top: 32.5px;
    border-radius: 10px;
}
.heroBox{
    width: 600px;
    height: 325px;
    text-align: center;
}
.hero img.heroLogo{
    height: 20px;
}
.bottonBox{
    display: flex;
    margin-top: 20px;
    justify-content: space-evenly;
    text-align: center;
}
.bottonBox a{
    display: block;
    margin: auto;
    padding-top: 7px;
    height: 55px;
    border-radius: 10px;
    box-shadow:3px 5px 8px 3px #ccc;
}
.bottonBox a h2{
    color: #ffffff;
    margin: 0;
    font-weight: bold;
}
.bottonBox img{
    height: 22px;
    margin-right: 5px;
    vertical-align: -4px;
}
.bottonBox .downloadBotton{
    background-color: #00ACFF;
    width: 235px;
    border-bottom: 5px solid #4281A0;
}
.bottonBox .downloadBotton:hover{
    border-bottom: 0;
    border-top: 5px solid #4281A0;
    box-shadow:5px 5px 8px 3px #4281A0 inset;
}
.bottonBox .inquiryBotton{
    background-color: #FFC700;    
    width: 220px;
    border-bottom: 5px solid #B48D01;
}
.bottonBox .inquiryBotton:hover{
    border-bottom: 0;
    border-top: 5px solid #B48D01;
    box-shadow:5px 5px 8px 3px #B48D01 inset;
}
.hero h3{
    margin: 15px 0 0;
}
.call{
    text-align: center;
}
.call h4{
    font-size: 40px;
}
.callImage{
    width: 32px;
    margin: -5px 5px 0;
}
img.heroProductImage{
    width: 131px;
    margin: 0 3px 20px;
}
/* question */
.question{
    display: flex;
    justify-content: center;
    background: linear-gradient(180deg,white 0%,white 102px,#CBEEFF 100px,#CBEEFF 100%);
}
.question>div{
    display: flex;
}
.question h2{
    font-size: 32px;
    font-weight: bold;
    margin-top: 20px;
}
.question img{
    width:116px;
    margin-right: 10px;
    position: relative;
    top: -50px;
}

/* feature */
.feature{
    background-color: #CBEEFF;
    text-align: center;
    padding-bottom: 10px;
}
.featureBox{
    width: 700px;
    margin: 0 auto 30px;
    padding: 10px 0;
    background-color: #ffffff;
    border-radius: 10px;
}
.featureBox img.check{
    width: 60px;
    position: relative;
    left: 15px;
    top:10px;
}
.feature h4{
    margin-bottom: 10px;
}
.feature p{
    line-height: 1.7em;
}
.bigFont{
    font-size: 24px;
}
.maintenanceBox{
    display: flex;
    margin: 15px 40px;
    justify-content: space-evenly;
    align-items: center;
    justify-items: center;
}
.balloon-right , .balloon-left{
    position: relative;
    display: inline-block;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 16px;
    background: #FFF;
    border: solid 3px #555;
    box-sizing: border-box;
    border-radius: 5px;
}
.balloon-right{
    margin: 1.5em 0 1.5em 15px;
}
.balloon-left{
    margin: 1.5em 15px 1.5em 0;
}
.balloon-right:before, .balloon-left:before {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -12px;
    border: 12px solid transparent;
    z-index: 2;
}
.balloon-right:before{
    left: -24px;
    border-right: 12px solid #FFF;
}
.balloon-left:before{
    right: -24px;
    border-left: 12px solid #FFF;
}
.balloon-right:after, .balloon-left:after {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -14px;
    border: 14px solid transparent;
    z-index: 1;
}
.balloon-right:after{
    left: -30px;
    border-right: 14px solid #555;
}
.balloon-left:after{
    right: -30px;
    border-left: 14px solid #555;
}
.balloon-right p {
    margin: 0;
    padding: 0;
}
.maintenanceBox img{
    width: 130px;
}
.costImage{
    display: block;
    margin: 15px auto;
    width: 400px;
}
.trustImageBox{
    width: 550px;
    display: flex;
    justify-content: center;
    margin: 15px auto 0;
}
.trustImageBox img{
    display: block;
    width: 210px;
    margin: 10px 2px;
}
.trustImageBox img:first-child{
    border-radius: 10px 0 0 10px;
}
.trustImageBox img:last-child{
    border-radius: 0 10px 10px 0;
}
.trustImage{
    position: relative;
    text-align: center;
}
.trustImage p{
    display: block;
    font-size: 24px;
    font-weight: bold;
    color: #FFF;
    background-color: #00ACFF;
    width: 500px;
    border-radius: 10px;
    position: absolute;
    transform: translate(-50%,-50%);
    left: 50%;
    top: 85%;
}
.trustImage img{
    width: 100%;
    border-radius: 0  0 10px 10px;
    margin: 15px auto -15px;
}
.featureBox:last-child{
    display: flex;
    justify-content: space-evenly;
    padding-top: 30px;
    margin-bottom: 50px;
}
.featureBox img.woman{
    width: 130px;
    height: 170px;
    position: relative;
    top: 10px;
}
.feature .bottonBox{
    margin: 0;
    width: 500px;
    justify-content: space-between;
}
.btn-copy {
    font-size: 1.5rem;
    position: relative;
    margin-bottom: .2em;
    text-align: center;
}
.feature .call p,.feature .call a{
    margin: 0;
    padding: 0;
    line-height: 0em;
}

/* product */
.product{
    width: 800px;
    margin: auto;
    margin: 20px auto;
}
.productSpace{
    width: 700px;
    margin: 0 auto 40px;
    background-color: #D9F3FF;
    border-radius: 10px;
}
.product>h4{
    text-align: center;
}
.productBox{
    display: flex;
    justify-content: space-evenly;
    align-items: end;
    margin: 20px 0 0;
    padding: 30px 0 0;
}
.productImage{
    width: 200px;
    height: 100%;
}
.productBox ul{
    margin: 10px 20px;
    list-style: "■";
}
.productBox .bottonBox{
    display: flex;
    justify-content: start;
}
.productBox .bottonBox a{
    margin: 0;
}
.productBox .bottonBox .downloadBotton{
    display: flex;
    width: 350px;
    height: 68px;
}
.productBox .bottonBox .downloadBotton h2{
    font-size: 24px;
    margin: auto;
}
.productBox .bottonBox .downloadBotton h2 img{
    width: 36px;
    height: 36px;
    vertical-align: -10px;
}
.protection{
    width: 640px;
    margin: 20px auto 0;
    padding: 0;
    border-radius: 10px;
}
.protectionBox{
    background-color: #FFFFFF;
    border-radius: 10px;
    padding: 10px 0;
}
.protectionBox>div{
    justify-content: space-evenly;
    display: flex;
    padding: 5px 0;
}
.protection img{
    width: 100px;
    border-radius: 10px;
    border: #00ACFF 3px solid;
}
.system{
    width: 640px;
    margin: 20px auto 5px ;
}
.productSystem{
    display: block;
    width: 696px;
    margin: auto;
    border: #00ACFF 2px solid;
    border-radius: 10px;
}

/* closing */
.closing{
    background-color: #00ACFF;
    padding: 30px;
}
.closingSpace{
    width: 700px;
    margin: auto;
    background-color: #FFF;
    border-radius: 10px;
    padding-top: 20px;
}
.closing h3{
    font-weight: normal;
}
.closingBalloon{
    position: relative;
    padding: 20px;
    background-color: #D9F3FF;
    color: #ffffff;
    border-radius: 10px;
    width: 460px;
    margin: auto;
    text-align: center;
}
.closingBalloon::before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-radius: 50%;
    transform: rotate(225deg);
    left: 40px;
    top: 152px;
    border-left: 20px solid #D9F3FF;
    border-top: 20px solid #D9F3FF;
    border-right: 20px solid transparent;
    border-bottom: 20px solid transparent;
}
.closingBalloon::after{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-radius: 50%;
    transform: rotate(225deg);
    left: 20px;
    top: 152px;
    border-left: 20px solid #FFF;
    border-top: 20px solid #FFF;
    border-right: 20px solid transparent;
    border-bottom: 20px solid transparent;
}
.closingBottom{
    display: flex;
    margin: 0 20px;
}
.closing img.woman{
    display: block;
    width: 160px;
}
.closing .callAndBotton{
    width: 500px;
}
.closing .bottonBox{
    display: flex;
    justify-content: space-between;
}
/* download */
#download{
    margin: 40px auto 40px;
    width: 700px;
    padding: 0 0 40px;
    border-bottom: solid 2px #00ACFF;
}
#download h2{
    margin-bottom: 20px;
}
table,th,td{
    border: #000000 solid 2px;
    text-align: center;
    margin: auto;
}
th{
    background-color: #4D4D4D;
    color: #ffffff;
}
th,td{
    padding: 10px 0
}
td img{
    width: 25px;
}
.thModelName{
    width: 200px;
}
.thName{
    width: 280px;
}
.thPDF{
    width: 120px;
}
#download a{
    color: #333333;
}
#download a:hover{
    color: #cc0000;
}

/* inquiry */
#request{
    width: 700px;
    margin: 40px auto;
}
#request h2{
    margin-bottom: 20px;
}
#request a{
    color: #00ACFF;
}
.form-group{
    margin: 10px 0;
}
#request .required{
    color: red;
    font-size: 12px;
    margin: 0 5px;
}
#request .form-control{
    width: 600px;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
#request .formBox{
    width: 600px;
    margin: 20px auto;
}
.formBottom{
    text-align: center;
    margin-top: 10px;
}
#request .btn{
    margin: 10px auto;
    padding-top: 7px;
    width: 270px;
    height: 50px;
    border-radius: 10px;
    box-shadow:3px 5px 8px 3px #ccc;
    background-color: #FFC700;    
    border: 0;
    border-bottom: 5px solid #B48D01;
}
#request .btn:hover{
    border-bottom: 0;
    border-top: 5px solid #B48D01;
    box-shadow:5px 5px 8px 3px #B48D01 inset;
}
#request .btn h2{
    margin: 0 auto;
    color: #ffffff;
    font-weight: normal;
    font-size: 20px;
}
#request .btn img{
    height: 22px;
    margin: 0 10px;
    vertical-align: -4px;
}
/* 以下、daiichi-campaign-demand-meters.cssから移植 */
#cover {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: none;
}
.cover-table {
    width: 100%;
    height: 100%;
    display: inline-table;
}
.cover-cell {
    width: 100%;
    height: 100%;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    background-color: rgba(255,255,255,0.85);
}
.thankscard {
    border: 1px solid #ccc;
    border-radius: 5px;
}
.thankscard h3 {
    font-size: 1.6rem;
    font-weight: bold;
    color: #c00;
    line-height: 1em;
    margin: 0 auto;
    padding: 3rem 0 1rem;
}
.thankscard p {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    line-height: 1.25em;
}
.thankscard p.telnum {
    margin: 0;
    padding: 1rem 0 1rem;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1em;
}
.cover-close {
    margin: 1rem 0 2rem;
    padding: 0;
}
.cover-close a {
    color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 1rem;
    line-height: 1em;
    margin: 0;
    padding: .5em 1em;
}
.cover-close a:hover {
    text-decoration: none;
    box-shadow: 0 0 5px #e0e0e0;
}
#request {
    position: relative;
}
#request .btn {
    margin-top: 1.5rem;
}
#request .note {
    margin: 1rem 0 2rem;
}