@charset "UTF-8";

/* **********************
リセット
********************** */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
a, abbr, acronym, address, big, cite,
dfn, img, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
b, u, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}

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

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/* **********************
[[[[アクアータ・ヴェルシータ]]]]
********************** */

/* **********************
全体
********************** */

body{
	font-family: "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
	-webkit-text-size-adjust: none;
    color: #333333;
    line-height: 25px;
}

input, textarea, select{
    font-family: "メイリオ", Meiryo, sans-serif;
}

.clearfix{
 *zoom: 1;
}
.clearfix:before, .clearfix:after {
	display: table;
	content: "";
	line-height: 0;
}
.clearfix:after {
	clear: both;
}

.fl{float: left;}

.fr{float: right;}

.bold{font-weight: bold;}

.t-center{text-align: center;}

.t-left{text-align: left;}

.t-right{text-align: right;}

p, h1, h2, h3, h4, h5{background-image:url(1px-transparent.gif);}

h1{
	font-size: 24px;
	font-weight: bold;
	padding-bottom: 20px;
}

h1.page-title{
    font-size: 22px;
    color: #353535;
    font-weight: normal;
    padding: 17px 20px;
    background: #f2f2f2;
}

h1.page-title span.secondary-title{
    font-size: 14px;
    color: #1269b5;
    padding-left: 17px;
}

h1.page-title span.secondary-title > p{
    display: inline-block;
}

h2{
    color: #353535;
	font-size: 22px;
    line-height: 36px;
	margin-bottom: 25px;
}

h2 span{
    line-height: 0;
    display: inline-block;
    vertical-align: middle;
    padding-right: 10px;
}

.container{
    width: 960px;
    margin: auto;
}

.body-overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5);
    z-index: 900;
    cursor: pointer;
    display: none;
}

.pc-content{
    display: block;
}

.sp-content{
    display: none;
}

button:focus {
  outline: 0;
}

.anchor-set{
    padding: 20px 20px 35px 20px;
}

.anchor-set div{
    display: inline-block;
    margin-bottom: 10px;
}

.anchor-set div a{
    color: #0b64b1;
    font-size: 12px;
    line-height: 36px;
    background: #fff;
    border: 1px solid #0b64b1;
    text-decoration: none;
    padding: 10px 15px;
    text-align: center;
    transition: background-color .2s linear,color .2s linear;
    -webkit-transition: background-color .2s linear,color .2s linear;
    -moz-transition: background-color .2s linear,color .2s linear;
    -o-transition: background-color .2s linear,color .2s linear;
}

.anchor-set div a:hover{
    color: #fff;
    background: #0b64b1;
    border: 1px solid #0b64b1;
    text-decoration: none;
}

.slick-slide img{
    margin: auto;
}

.breadcrumbs{
    padding: 20px 0;
    font-size: 10px;
}

.breadcrumbs a{
    color: #156ab4;
}

.breadcrumbs a:hover{
    text-decoration: none;
}

.breadcrumbs .secondary-title{
    display: none;
}

@media(max-width:959px){
    .container{
        width: 95%;
    }
}

@media screen and (max-width: 768px) {
    .pc-content{
        display: none;
    }

    .sp-content{
        display: block;
    }

    img{
        max-width: 100%;
    }

    .fl, .fr{
        float: none;
    }

}


/* **********************
ヘッダー
********************** */
header{
    border-top: 2px solid #003e74;
	position: relative;
    z-index: 999;
    background: #fff;
}

#head-logo{
    width: 239px;
    padding: 0;
    margin: 0;
}

#head-nav{
    width: 75%;
    padding: 22px 0px;
}

#head-nav.head-nav-en{
    padding: 32px 0px;
}

#head-nav li{
    float: left;
    position: relative;
    list-style: none;
}

#head-nav li:after{
    border-right: 1px solid #d6d6d6;
    content: "";
    position: absolute;
    height: 100%;
    right: 0;
    top: 0;
}

#head-nav li:first-child:before{
    border-left: 1px solid #d6d6d6;
    content: "";
    position: absolute;
    height: 100%;
    left: 0;
    top: 0;
}

#head-nav ul{
    padding: 0;
}

#head-nav a{
	display: block;
	color: #353535;
	text-decoration: none;
	font-size: 13px;
    padding: 0px 0;
    line-height: 26px;
    text-align: center;
    width: 125px;
    background: white;
    transition: background .2s linear;
    -webkit-transition: background .2s linear;
    -moz-transition: background .2s linear;
    -o-transition: background .2s linear;
}

#head-nav a:hover{
    background: #f1f1f1;
}

#head-nav a span{
    display: block;
    font-size: 11px;
    line-height: 19px;
    color: #1269b5;
}

#head-nav.head-nav-en a{
    color: #1269b5;
    font-size: 12px;
}

#head-nav-sp{
    display: none;
    cursor: pointer;
}

#nav-sp{
    display: none;
    position: absolute;
    z-index: 999;
    background: #f3f3f3;
    width: 100%;
    left: 0;
    top: 42px;
    border-top: 1px solid #cacaca;
    border-bottom: 1px solid #cacaca;
}

#nav-sp ul li{
    border-top: 1px solid #cacaca;
}

#nav-sp ul li:first-child{
    border-top: 0;
}

#nav-sp a{
    color: #1b1b1b;
    text-decoration: none;
    position: relative;
    font-size: 14px;
    padding: 15px;
    display: block;
}

#nav-sp a:after{
    position: absolute;
    content: "\f105";
    font: normal normal normal 25px/1 FontAwesome;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 10px;
    height: 28px;
}

#nav-sp #to-home a,
#nav-sp .nav-language-switch a{
    background: #156ab4;
    color: #fff;
}

#nav-sp .nav-language-switch a{
    text-transform: uppercase;
}

#nav-sp #to-home a{
    border-bottom: 1px solid #cacaca;
}

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

    header{
        border-top: 4px solid #003e74;
        position: relative;
        height: 42px;
    }

    #head-logo a{
        height: 42px;
    }

    #head-logo img{
        max-width: 50%;
    }

    #head-nav-sp{
        display: block;
        font-size: 13px;
        position: absolute;
        right: 20px;
        top: 10px;
        width: 20px;
        height: 20px;
    }

    #head-nav{
        display: none;
    }

    #nav-sp a:after{
        right: 30px;
    }

    #head-nav-sp span{
        display: inline-block;
        -webkit-transition: all .3s;
        transition: all .3s;
        box-sizing: border-box;
        position: absolute;
        left: 0px;
        width: 20px;
        height: 2px;
        background-color: #000;
    }

    #head-nav-sp.is-open span:nth-child(1) {
        -webkit-animation: menuOpen-line01 .6s forwards;
        animation: menuOpen-line01 .6s forwards;
    }

    #head-nav-sp.is-close span:nth-child(1) {
        -webkit-animation: menuClose-line01 .6s forwards;
        animation: menuClose-line01 .6s forwards;
    }

    #head-nav-sp span:nth-child(1) {
        top: 4px;
    }

    #head-nav-sp.is-open span:nth-child(2) {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    }

    #head-nav-sp.is-close span:nth-child(2) {
        -webkit-transition: all .3s;
        transition: all .3s;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }

    #head-nav-sp span:nth-child(2) {
        top: 10px;
    }

    #head-nav-sp.is-open span:nth-child(3) {
        -webkit-animation: menuOpen-line03 .6s forwards;
        animation: menuOpen-line03 .6s forwards;
    }

    #head-nav-sp.is-close span:nth-child(3) {
        -webkit-animation: menuClose-line03 .6s forwards;
        animation: menuClose-line03 .6s forwards;
    }

    #head-nav-sp span:nth-child(3) {
        top: 16px;
    }
}

/* **********************
フッター
********************** */
#footer-inner01{
    background: url(img/common/footer_bg.png) repeat-x top center;
    width: 100%;
    height: 158px;
    position: relative;
    background-size: cover;
}

#footer-info-wrapper{
    padding: 45px 0 15px 0;
}

#footer-info{
    border-left: 1px solid #66b3d5;
    padding-left: 25px;
    margin-left: 20px;
}

#footer-info p{
    color: #fff;
    font-size: 12px;
    line-height: 20px;
}

#footer-nav ul li{
    display: inline-block;
    padding: 0 30px;
}

#footer-nav ul li:first-child{
    padding-left: 0;
}

#footer-nav ul li a{
    text-decoration: none;
    color: #fff;
    font-size: 13px;
    line-height: 24px;
}

#footer-nav ul li a:hover{
    text-decoration: underline;
}

#footer-inner02{
    background: #0b5092;
    padding: 12px 0;
}

#footer-inner02 .container{
    position: relative;
}

.language-switch{
    position: absolute;
    right: 0;
}

#footer-inner02 p{
    font-size: 10px;
    line-height: 24px;
    color: #fff;
    text-align: center;
}

#pc-to-pagetop{
    position: fixed;
    right: 30px;
    bottom: 8px;
    z-index: 999;
    display: none;
}

#to-pagetop{
    text-align: center;
    margin: auto;
    margin-bottom: 40px;
    width: 70px;
}

#to-pagetop img{
    width: 100%;
}

.language-switch a{
    color: white;
    text-decoration: none;
    text-transform: uppercase;
}

.language-switch a:hover{
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    #sp-footer-logo{
        position: relative;
    }

    #sp-footer-logo a,
    #sp-footer-logo .app_logo_img{
        position: absolute;
        top: 36%;
        left: 2%;
        width: 50%;
    }

    #sp-footer-logo img{
        width: 100%;
        vertical-align: bottom;
    }

    #sp-footer-nav{
        background: url(img/common/sp_footer_bg.jpg) no-repeat;
        background-size: 100% 100%;
    }

    #sp-footer-nav ul{
        border-top: 1px solid rgba(225,225,225,0.8);
        border-bottom: 1px solid rgba(225,225,225,0.8);
    }

    #sp-footer-nav ul li{
        border-top: 1px solid rgba(225,225,225,0.8);
    }

    #sp-footer-nav ul li:first-child{
        border-top: 0;
    }

    #sp-footer-nav a{
        color: #fff;
        text-decoration: none;
        position: relative;
        font-size: 14px;
        padding: 15px;
        display: block;
    }

    #sp-footer-nav a:after{
        position: absolute;
        content: "\f105";
        font: normal normal normal 25px/1 FontAwesome;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 30px;
        height: 28px;
    }

    #footer-inner02 p{
        font-size: 9px;
        text-align: center;
    }

    #pc-to-pagetop{
        display: none!important;
    }

    .language-switch{
        display: none;
    }
}


/* **********************
トップページ
********************** */
#home h2{
    color: #0b64b1;
    font-size: 34px;
    line-height: 36px;
    text-align: center;
    padding: 0;
    font-weight: normal;
    font-family: 'Ubuntu', sans-serif;
}

#home-main{
    background: url(img/top/mani_bg.jpg) no-repeat center;
    height: 329px;
    background-size: cover;
    border-radius: 15px;
}

#en-home-main{
    background: url(img/top/en_mani_bg.jpg) no-repeat center;
    height: 329px;
    background-size: cover;
    border-radius: 15px;
}

#home-service{
    padding: 40px 0 50px 0;
    background: #fff;
}

#home-service h2{
    margin-bottom: 45px;
    font-weight: normal;
}

#home-service h3{
    color: #005fa2;
    font-size: 22px;
    line-height: 36px;
    margin-bottom: 15px;
    text-align: center;
}

.home-service-item{
    display: inline-block;
    width: 30%;
    margin-left: 4%;
    text-align: center;
    vertical-align: top;
}

.home-service-item:first-child{
    margin-left: 0%;
}

.home-service-item img{
    margin: 0 auto 40px auto;
}

.home-service-item p{
    font-size: 15px;
    line-height: 24px;
    color: #252525;
    text-align: left;
}

#home-service #service-btn{
    width: 280px;
    margin: auto;
    margin-top: 45px;
}

#home-service #service-btn a{
    display: block;
    text-decoration: none;
    font-size: 15px;
    line-height: 36px;
    text-align: center;
    color: #0b64b1;
    border: 3px solid #0b64b1;
    background: #fff;
    position: relative;
    border-radius: 3px;
    transition: background-color .2s linear,color .2s linear;
    -webkit-transition: background-color .2s linear,color .2s linear;
    -moz-transition: background-color .2s linear,color .2s linear;
    -o-transition: background-color .2s linear,color .2s linear;
}

#home-service #service-btn a:hover{
    color: #fff;
    background: #0b64b1;
}

#home-service #service-btn a:before{
    position: absolute;
    content: "\f105";
    font: normal normal normal 25px/1 FontAwesome;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 10px;
    height: 28px;
}

#home-news{
    background: #eeeeee;
    padding: 40px 0;
}

#home-news h2{
    margin-bottom: 40px;
    font-weight: normal;
}

#home-news-list{
    width: 700px;
    margin: auto;
    list-style: none;
    color: #0056a1;
    font-weight: bold;
    font-size: 16px;
    line-height: 24px;
}


#home-news-list li{
    margin-bottom: 25px;
    position: relative;
    padding-left: 25px;
}

#home-news-list .news-date:before{
    content: "\25cf";
    padding-right: 10px;
}

#home-news-list .news-date{
    float: left;
    display: block;
    width: 135px;
    line-height: 21px;
}

#home-news-list .news-title{
    font-weight: normal;
    color: #333333;
    line-height: 21px;
    float: right;
    width: 524px;
    vertical-align: middle;
}

#home-btn-set{
    background: #fff;
    padding: 60px 0 100px 0;
}

#home-btn-set .container{
    text-align: center;
}

#home-btn-set .btn{
    display: inline-block;
    padding: 0 20px;
}

#home-btn-set .btn a{
    display: block;
    opacity: 1;
    transition: opacity .2s linear;
    -webkit-transition: opacity .2s linear;
    -moz-transition: opacity .2s linear;
    -o-transition: opacity .2s linear;
}

#home-btn-set .btn a:hover{
    opacity: 0.4;
}

.slick-prev{
    background: url(img/slide-prev.png) no-repeat;
    width: 29px;
    height: 29px;
    border: 0;
    position: absolute;
    text-indent: -9999px;
    left: 2%;
    top: 15%;
    margin: auto;
    z-index: 100;
    cursor: pointer;
    background-size: 29px 29px;
}

.slick-next{
    background: url(img/slide-next.png) no-repeat;
    width: 29px;
    height: 29px;
    border: 0;
    position: absolute;
    text-indent: -9999px;
    right: 2%;
    top: 15%;;
    margin: auto;
    z-index: 100;
    cursor: pointer;
    background-size: 29px 29px;
}

.slick-dots{
    text-align: center;
    margin-top: 10px;
}

.slick-dots li{
    display: inline-block;
}

.slick-dots li button{
    text-indent: -9999px;
    background: none;
    border: 0;
    position: relative;
    width: 20px;
    height: 20px;
}

.slick-dots li button:before{
    content: "\25cf";
    color: #dcdcdc;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    text-indent: 0;
    font-size: 20px;
}

.slick-dots li.slick-active button:before{
    color: #0b64b1;
}

@media screen and (max-width: 768px) {
    #home-main{
        height: 250px;
    }

    #home-service{
        padding: 20px 0 25px 0;
    }

    #home-service h2{
        margin-bottom: 20px;
    }

    #home-service h3{
        font-size: 18px;
        line-height: 19px;
    }

    .home-service-item p{
        font-size: 14px;
        line-height: 21px;
    }

    #home-service #service-btn{
        width: 70%;
        margin-top: 30px;
    }

    #home-service #service-btn a{
        font-size: 14px;
        padding: 12px;
        line-height: 18px;
    }

    #home h2{
        font-size: 30px;
        line-height: 35px;
        font-weight: normal;
    }

    #home-news{
        padding: 25px 0;
    }

    #home-news h2{
        margin-bottom: 20px;
    }

    .home-service-item img{
        margin-bottom: 23px;
    }

    #home-news-list{
        width: 100%;
        font-size: 14px;
        line-height: 15px;
    }

    #home-news-list li{
        list-style: none;
        border-top: 1px solid #bebebe;
        margin-left: 0;
        padding: 15px 20px 0px 20px;
        margin: 15px 0 0 0;
    }

    #home-news-list .news-date:before{
        content: "";
        padding-right: 0;
    }

    #home-news-list li:first-child{
        border-top: 0;
        margin-top: 0;
        padding-top: 0;
    }

    #home-news-list .news-date{
        display: inline;
        padding-top: 10px;
        width: 100%;
        float: none;
    }

    #home-news-list .news-title{
        display: block;
        padding-top: 10px;
        width: 100%;
        float: none;
    }

    .home-service-item{
        display: block;
        width: 100%;
        margin-left: 0%;
        text-align: center;
        padding: 0 2%;
    }

    #home-btn-set{
        padding: 25px 0 20px 0;
    }

    #home-btn-set a {
        margin-bottom: 15px;
    }

    #home-btn-set a img{
        width: 100%;
        height: auto;
        vertical-align: top;
    }



}

@media screen and (max-width: 480px) {
    #home-main{
        background: url(img/top/sp_main.png) no-repeat center;
        height: 202px;
        background-size: cover;
        border-radius: 0;
    }

    #en-home-main{
        background: url(img/top/sp_main_en.png) no-repeat center;
        height: 202px;
        background-size: cover;
        border-radius: 0;
    }

}

@-webkit-keyframes menuOpen-line01 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    50% {
        -webkit-transform: translateY(6px) rotate(0);
        transform: translateY(6px) rotate(0);
    }
    100% {
        -webkit-transform: translateY(6px) rotate(45deg);
        transform: translateY(6px) rotate(45deg);
    }
}
@keyframes menuOpen-line01 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    50% {
        -webkit-transform: translateY(6px) rotate(0);
        transform: translateY(6px) rotate(0);
    }
    100% {
        -webkit-transform: translateY(6px) rotate(45deg);
        transform: translateY(6px) rotate(45deg);
    }
}

@-webkit-keyframes menuOpen-line03 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    50% {
        -webkit-transform: translateY(-6px) rotate(0);
        transform: translateY(-6px) rotate(0);
    }
    100% {
        -webkit-transform: translateY(-6px) rotate(-45deg);
        transform: translateY(-6px) rotate(-45deg);
    }
}
@keyframes menuOpen-line03 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
        transform: translateY(0) rotate(0);
    }
    50% {
        -webkit-transform: translateY(-6px) rotate(0);
        transform: translateY(-6px) rotate(0);
    }
    100% {
        -webkit-transform: translateY(-6px) rotate(-45deg);
        transform: translateY(-6px) rotate(-45deg);
    }
}
@-webkit-keyframes menuClose-line01 {
    0% {
      -webkit-transform: translateY(6px) rotate(45deg);
              transform: translateY(6px) rotate(45deg);
    }
    50% {
      -webkit-transform: translateY(6px) rotate(0);
              transform: translateY(6px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
}
@keyframes menuClose-line01 {
    0% {
      -webkit-transform: translateY(6px) rotate(45deg);
              transform: translateY(6px) rotate(45deg);
    }
    50% {
      -webkit-transform: translateY(6px) rotate(0);
              transform: translateY(6px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
}
@-webkit-keyframes menuClose-line03 {
    0% {
      -webkit-transform: translateY(-6px) rotate(-45deg);
              transform: translateY(-6px) rotate(-45deg);
    }
    50% {
      -webkit-transform: translateY(-12px) rotate(0);
              transform: translateY(-12px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
}
@keyframes menuClose-line03 {
    0% {
      -webkit-transform: translateY(-6px) rotate(-45deg);
              transform: translateY(-6px) rotate(-45deg);
    }
    50% {
      -webkit-transform: translateY(-6px) rotate(0);
              transform: translateY(-6px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
}


/* **********************
page
********************** */
#page h1{
    margin-bottom: 20px;
}

/* **********************
sesrvice
********************** */

#service h2{
    margin-left: 50px;
}

#service h2 span{
    margin-left: -50px;
}

#service-smartphone{
    padding-bottom: 45px;
}

.service-slide{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}

.service-item{
    display: inline-block;
    width: 31.3%;
    vertical-align: top;
    margin-left: 2%;
    margin-bottom: 20px;
    background: #f5f5f5;
    border-radius: 5px;
    text-align: center;
}

#service-smartphone .slick-next, #service-smartphone .slick-prev{
    top: 35%;
}

.service-item:nth-child(3n+1){
    margin-left: 0;
}

.service-item-wrapper{
    padding: 25px 20px;
}

.service-item h3{
    font-size: 20px;
    line-height: 36px;
    color: #353535;
    font-weight: bold;
    padding-bottom: 18px;
}

.service-item .image{
    line-height: 0;
    padding-bottom: 17px;
    text-align: center;
}

.service-item p{
    text-align: left;
    color: #2a2a2a;
    font-size: 14px;
    line-height: 24px;
    padding-bottom: 25px;
}

.service-item .service-item-btn div{
    display: inline-block;
    width: 49%;
}

.service-item .service-item-btn div a{
    transition: opacity .2s linear;
    -webkit-transition: opacity .2s linear;
    -moz-transition: opacity .2s linear;
    -o-transition: opacity .2s linear;
    display: block;
    opacity: 1;
}

/*.service-item .service-item-btn div a:hover{
    opacity: 0.4;
}*/

.service-item .service-item-btn div.appstore a img{
    width: 88%;
    height: auto;
    padding: 6%;
}

.service-item .service-item-btn div.google a img{
    width: 100%;
    height: auto;
}

#service-media{
    padding-bottom: 65px;
}

#service-media .text{
    padding-left: 40px;
    width: 515px;
}

#service-media .text p{
    font-size: 15px;
    color: #252525;
    line-height: 30px;
}


#service-webportal{
    padding-bottom: 65px;
}

#service-webportal .text{
    padding-left: 40px;
    width: 515px;
}

#service-webportal .text p{
    font-size: 15px;
    color: #252525;
    line-height: 30px;
}

#service-tech{
    padding-bottom: 75px;
}

#service-tech .text{
    padding-left: 40px;
    width: 515px;
}

#service-tech .text p{
    font-size: 15px;
    color: #252525;
    line-height: 30px;
}

@media screen and (max-width: 768px) {
    .service-item{
        width: 100%;
        margin: 0;
    }

    #service-media .text{
        padding-left: 0;
        width: 100%;
    }

    #service-webportal .text{
        padding-left: 0;
        width: 100%;
    }

    #service-tech .text{
        padding-left: 0;
        width: 100%;
    }

    #service-media .image{
        text-align: center;
    }


    #service-webportal .image{
        text-align: center;
    }

    #service-tech .image{
        text-align: center;
    }
}


/* **********************
aboutus
********************** */
#aboutus-inner{
    padding: 0 20px;
}

#aboutus p{
    font-size: 16px;
    line-height: 30px;
    color: #353535;
}

#aboutus h2{
    color: #353535;
    font-size: 22px;
    line-height: 36px;
}

#aboutus h3{
    color: #353535;
    font-size: 19px;
    padding-bottom: 6px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ababab;
}

#aboutus ul li{
    line-height: 35px;
    font-size: 16px;
    color: #353535;
    text-indent: -25px;
    margin-left: 25px;
}

#aboutus ul li:before{
    content: "●";
    color: #0056a1;
    padding-right: 10px;
}

#aboutus-idea p#idea{
    font-family: 'Ubuntu', sans-serif;
    font-size: 40px;
    line-height: 36px;
    color: #1269b5;
    text-align: center;
    padding: 25px 0 40px 0;
}

#aboutus-idea p#idea span{
    display: block;
    font-size: 24px;
    padding-top: 20px;
    font-family: "メイリオ", Meiryo;
}

.about-idea-cont{
    padding-bottom: 75px;
}

#aboutus-message{
    padding-bottom: 25px;
}

#aboutus-message #message{
    padding: 35px 0 50px 0;
    font-size: 26px;
    color: #353535;
}

#aboutus-message span{
    font-size: 28px;
    padding: 30px 0;
    display: block;
    line-height: 35px;
}

#aboutus-message span#aboutus-message-span02{
    font-size: 24px;
}

#aboutus-message span.blue{
    color: #0568c6;
    font-size: 24px;
}

#aboutus-message p#ceo{
    color: #2e2e2e;
    font-size: 16px;
    line-height: 30px;
    padding-bottom: 60px;
}

#aboutus-message p#ceo span{
    color: #2e2e2e;
    font-weight: bold;
    font-size: 20px;
    padding: 0;
}


@media screen and (max-width: 768px) {
    #aboutus-idea p#idea{
        font-size: 34px;
    }

    #aboutus-idea p#idea span{
        font-size: 16px;
    }
}


/* **********************
company
********************** */
#company-wrapper{
    padding: 20px 20px 60px 20px;
}

#company table{
    width: 100%;
    border-bottom: 1px solid #ababab;
}

#company table tr{
    border-top: 1px solid #ababab;
}

#company table tr:first-child{
    border-top: 0;
}

#company table th{
    font-weight: bold;
    padding: 18px 15px 18px 0;
    font-size: 16px;
    color: #353535;
    text-align: left;
    width: 20%;
}

#company table td{
    font-weight: normal;
    padding: 18px 15px 18px 0;
    font-size: 14px;
    color: #353535;
    text-align: left;
}

#company table td .place-item{
    margin-bottom: 35px;
}

#company table td .place-item span{
    font-weight: bold;
}

#company table td .place-item a{
    color: #2fb7e9;
}

#company table td .place-item a:hover{
    text-decoration: none;
}

#company table td span#ceo-name{
    line-height: 0;
    display: inline-block;
    vertical-align: middle;
}

#company table td ul li{
    line-height: 30px;
    font-size: 14px;
    color: #353535;
    text-indent: -25px;
    margin-left: 25px;
}

#company table td ul li:before{
    content: "●";
    color: #0056a1;
    padding-right: 10px;
}


/* **********************
recruit
********************** */
#recruit h2{
    color: #353535;
    font-weight: bold;
    font-size: 22px;
    margin-bottom: 20px;
}

#recruit-inner{
    padding: 0 20px;
}

#recruit-inner span.blue{
    color: #156ab4;
    font-weight: bold;
}

#recruit-point{
    padding-bottom: 60px;
}

#recruit-point-p01{
    font-size: 16px;
    line-height: 30px;
    color: #353535;
    padding: 10px 0 25px 0;
}

#recruit-point table{
    margin-bottom: 35px;
    width: 100%;
}

#recruit-point table tr{
    border-bottom: 1px solid #ababab;
}

#recruit-point table tr th{
    padding: 30px 10px 30px 0;
    font-weight: bold;
    width: 22%;
    text-align: left;
    font-size: 16px;
    color: #353535;
}

#recruit-point table tr td{
    padding: 30px 10px;
    font-size: 14px;
    line-height: 28px;
    color: #353535;
}

#recruit-point table tr td span{
    font-weight: bold;
}

#recruit-point table tr td ul{
    padding-right: 70px;
}

#recruit-point table tr td ul li{
    display: inline-block;
    padding-right: 10px;
}

#recruit-point-img{
    text-align: center;
}

#recruit-point-img div{
    float: left;
    width: 24%;
    margin-left: 1.3%;
}

#recruit-point-img div:first-child{
    margin-left: 0;
}

#recruit-form{
    padding-bottom: 65px;
}

#recruit-form-table{
    width: 100%;
    background: #f2f2f2;
}

#recruit-form table th{
    font-size: 16px;
    color: #212121;
    font-weight: bold;
    padding: 30px 20px;
    text-align: left;
    position: relative;
    vertical-align: top;
    width: 27%;
}

#recruit-form table th .required{
    color: #fff;
    background: #0b64b1;
    border-radius: 5px;
    padding: 0 10px;
    font-weight: normal;
    font-size: 14px;
    position: absolute;
    right: 20px;
}

#recruit-form table td{
    font-size: 16px;
    color: #212121;
    font-weight: bold;
    padding: 30px 20px;
    text-align: left;
    width: 60%
}

#recruit-form table input{
    border: 1px solid #b5b5b5;
    font-size: 16px;
    padding: 7px;
    box-sizing: border-box;
    width: 70%;
}

#recruit-form table textarea{
    border: 1px solid #b5b5b5;
    font-size: 16px;
    padding: 2%;
    width: 85%;
    box-sizing: border-box;
}

#recruit-form .example{
    font-size: 12px;
    color: #212121;
    padding-top: 20px;
    font-weight: normal;
}

#recruit-form input[type="submit"]{
    background: white;
    border: 3px solid #0b64b1;
    color: #0b64b1;
    font-size: 20px;
    text-align: center;
    width: 40%;
    padding: 2% 0;
    margin: 40px auto 0px auto;
    display: block;
    border-radius: 3px;
    transition: background-color .2s linear,color .2s linear;
    -webkit-transition: background-color .2s linear,color .2s linear;
    -moz-transition: background-color .2s linear,color .2s linear;
    -o-transition: background-color .2s linear,color .2s linear;
    cursor: pointer;
}

#recruit-form input[type="submit"]:hover{
    background: #0b64b1;
    color: #fff;
}

#recruit-form .wpcf7-not-valid-tip{
    font-size: 12px;
    font-weight: normal;
    padding-top: 3px;
    color: #c30101;
}


@media screen and (max-width: 768px) {
    #recruit-point-img div{
        width: 48%;
        margin-left: 2%;
        margin-bottom: 2%;
        line-height: 0;
    }

    #recruit-point-img div:nth-child(2n+1){
        margin-left: 0;
    }

    #recruit-point-img div img{
        width: 100%;
    }

    #recruit-form table{
        padding-bottom: 6%;
    }

    #recruit-form table tr{
        display: block;
        padding: 3% 0;
    }

    #recruit-form table th{
        display: block;
        padding: 0% 4% 1% 4%;
        width: 92%;
    }

    #recruit-form table th .required{
        position: relative;
        right: -5px;
    }

    #recruit-form table td{
        display: block;
        padding: 0 4%;
        width: 92%;
    }

    #recruit-form .example{
        padding-top: 0;
    }

    #recruit-point table tr td ul{
        padding: 0;
    }
}

@media screen and (max-width: 480px) {
    #recruit-form table input {
        padding: 2%;
        width: 96%;
    }

    #recruit-form table textarea{
        padding: 2%;
        width: 96%;
    }


    #recruit-point table tr td ul li{
        display: block;
        padding: 0;
    }

}


/* **********************
contact
********************** */
#contact-form{
    padding-bottom: 65px;
}

#contact-form-table{
    width: 100%;
}

#contact-form table th{
    font-size: 16px;
    color: #212121;
    font-weight: bold;
    padding: 10px 20px;
    text-align: left;
    position: relative;
    vertical-align: top;
    width: 27%;
}

#contact-form .contact-form-en th{
    width: 32%;
}

#contact-form table th .required{
    color: #fff;
    background: #0b64b1;
    border-radius: 5px;
    padding: 0 10px;
    font-weight: normal;
    font-size: 14px;
    position: absolute;
    right: 20px;
}

#contact-form table td{
    font-size: 16px;
    color: #212121;
    font-weight: bold;
    padding: 10px 20px;
    text-align: left;
    width: 73%;
}

#contact-form table input{
    border: 2px solid #e5e5e5;
    font-size: 16px;
    padding: 7px;
    border-radius: 3px;
    box-sizing: border-box;
    width: 70%;
}

#contact-form table textarea{
    border: 2px solid #e5e5e5;
    font-size: 16px;
    padding: 2%;
    width: 85%;
    border-radius: 3px;
    box-sizing: border-box;
}


#contact-form input[type="submit"]{
    background: white;
    border: 3px solid #0b64b1;
    color: #0b64b1;
    font-size: 20px;
    text-align: center;
    width: 40%;
    padding: 2% 0;
    margin: 40px auto 0px auto;
    display: block;
    border-radius: 3px;
    transition: background-color .2s linear,color .2s linear;
    -webkit-transition: background-color .2s linear,color .2s linear;
    -moz-transition: background-color .2s linear,color .2s linear;
    -o-transition: background-color .2s linear,color .2s linear;
    cursor: pointer;
    box-sizing: border-box;
}

#contact-form input[type="submit"]:hover{
    background: #0b64b1;
    color: #fff;
}

#contact-form .wpcf7-not-valid-tip{
    font-size: 12px;
    font-weight: normal;
    padding-top: 3px;
    color: #c30101;
}


@media screen and (max-width: 768px) {
    #contact-form table{
        padding-bottom: 6%;
    }

    #contact-form table tr{
        display: block;
        padding: 3% 0;
    }

    #contact-form table th{
        display: block;
        padding: 0% 4% 1% 4%;
        width: 92%!important;
    }

    #contact-form table th .required{
        position: relative;
        right: -5px;
    }

    #contact-form table td{
        display: block;
        padding: 0 4%;
        width: 92%;
    }

    #contact-form .example{
        padding-top: 0;
    }
}

@media screen and (max-width: 480px) {
    #contact-form table input {
        padding: 2%;
        width: 100%;
    }

    #contact-form table textarea{
        padding: 2%;
        width: 100%;
    }

}


/* **********************
news
********************** */
#news-ichiran-wrapper{
    padding: 35px 20px 100px 20px;
}

#news-ichiran-wrapper #news-list li{
    color: #0766b8;
    font-size: 16px;
    line-height: 32px;
    margin-bottom: 30px;
}

#news-ichiran-wrapper #news-list li a{
    color: #0766b8;
    text-decoration: underline;
}

#news-ichiran-wrapper #news-list li a:hover{
    text-decoration: none;
}

#news-ichiran-wrapper .pagenation ul{
    text-align: center;
}

#news-ichiran-wrapper .pagenation ul li{
    display: inline-block;
}

/* **********************
404
********************** */
#error-page{
    padding: 90px 0 100px 0;
}

#error-page h2{
    text-align: center;
    font-size: 40px;
    color: #353535;
    margin-bottom: 30px;
    line-height: 50px;
}

#error-page p{
    font-size: 15px;
    line-height: 24px;
    color: #353535;
    text-align: center;
}

#error-page a{
    margin: 50px auto auto auto;
    display: block;
    text-decoration: none;
    font-size: 15px;
    line-height: 36px;
    text-align: center;
    color: #0b64b1;
    border: 3px solid #0b64b1;
    background: #fff;
    position: relative;
    border-radius: 3px;
    transition: background-color .2s linear,color .2s linear;
    -webkit-transition: background-color .2s linear,color .2s linear;
    -moz-transition: background-color .2s linear,color .2s linear;
    -o-transition: background-color .2s linear,color .2s linear;
    border-radius: 3px;
    width: 280px;
}

#error-page a:before{
    position: absolute;
    content: "\f105";
    font: normal normal normal 25px/1 FontAwesome;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 10px;
    height: 28px;
}

#error-page a:hover{
    color: #fff;
    background: #0b64b1;
    border: 3px solid #0b64b1;
    text-decoration: none;
}


@media screen and (max-width: 768px) {
    #error-page a{
        width: 70%;
    }

    #error-page h2 {
        text-align: center;
        font-size: 30px;
        color: #353535;
        margin-bottom: 30px;
        line-height: 46px;
    }

    #error-page {
        padding: 30px 0 100px 0;
    }
}


/* **********************
post
********************** */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

.blog-post-wrapper h1{
    margin-bottom: 45px;
}

.blog-post{
    padding: 20px 20px 65px 20px;
    color: #353535;
    font-size: 16px;
    line-height: 32px;
}

.blog-post h1{
    font-size: 24px;
    font-weight: bold;
}

.blog-post h2{
    font-size: 22px;
    font-weight: bold;
    color: #353535;
    margin-bottom: 25px;
}

.blog-post h3{
    font-size: 20px;
    font-weight: bold;
}

.blog-post h4{
    font-size: 19px;
    line-height: 36px;
    font-weight: bold;
    border-bottom: 1px solid #ababab;
    margin: 50px 0 20px 0;
}

.blog-post h5{
    font-size: 17px;
    font-weight: bold;
}

.blog-post h6{
    font-size: 15px;
    font-weight: bold;
}

.blog-post .blog-post-meta{
    text-align: right;
    font-size: 14px;
    color: #0b64b1;
}

.blog-post ul li:before{
    content: "●";
    color: #0056a1;
    margin-right: 10px;
}


.app-page{
    padding: 20px 0 60px 0;
}


/* **********************
app_page
********************** */
body#app_page p{
margin-bottom: 25px;
}
