/*  General CSS  */
body {
 background: #fff;
}
.wrapper {
 max-width: 1020px;
 margin: 0 auto;
 padding: 18px 0 0 0;
}
h1, h2, h3, h4, h5, h6 {
 color: #333;
 /* [disabled]font-family: lato-regular, Helvetica, Arial, sans-serif; */
 /* [disabled]letter-spacing: 1px; */
}
/*h1              { font-size: 2em; margin: .67em 0 }
h2              { font-size: 1.5em; margin: .75em 0 }
h3              { font-size: 1.17em; margin: .83em 0 }
h5              { font-size: .83em; margin: 1.5em 0 }
h6              { font-size: .75em; margin: 1.67em 0 }
h1, h2, h3, h4,
h5, h6          { font-weight: bolder }
*/
.clearfix:before, .clearfix:after {
 content: " ";
 display: table;
}
.clearfix:after {
 clear: both;
}
.clearfix {
 *zoom: 1;
}
p {
 font-size: 16px;
 margin: 0 0 2.0em 0;
 padding: 0;
 line-height: 1.6;
}
p.ml {
 font-size: 14px;
}
p.large {
 font-size: 22px;
 line-height: 1.75em;
}
.gray {
 color: #78697B;
}
div.border-bottom {
 border-bottom: 1px dotted #CCC;
 padding-bottom: 0.5em;
 margin-bottom: 2em;
}
p.border-bottom {
 border-bottom: 1px dotted #CCC;
 padding-bottom: 1em;
}
h4 {
 font-size: 15px;
 margin: 0 0 0.4em 0;
 padding: 0;
 font-weight: bold;
}
h3.heading {
 font-size: 18px;
 margin: 0 0 1.8em 0;
 padding: 0;
 font-weight: bold;
 line-height: 1.8em;
}
.point {
 font-size: 15px;
 font-size: 1.5rem;
 line-height: 1.5;
 color: #072C62;
 font-weight: 700;
}
.sp {
 display: none
}
.pc {
 display: block
}
.txtLeft {
 text-align: left;
 color: #555555;
}
#page-top {
 position: fixed;
 bottom: 100px;
 right: 20px;
}
#page-top img {
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; /* IE */
 filter: alpha(opacity=65); /* IE */
 -moz-opacity: 0.65; /* Firefox(old) */
 -khtml-opacity: 0.7; /* Safari(old) */
 opacity: 0.65;
}
section#wrap {
 width: 100%;
 /* [disabled]height: 100px; */
 background: #FFF;
 overflow: hidden;
}
.head {
 background: #072C62;
 text-align: center;
 padding: 40px 10px;
 margin-bottom: 40px;
}
.head img {
 max-width: 100%;
 width: auto;
 height: auto;
}
#contener {
 width: 95%;
 max-width: 910px;
 padding: 0;
 margin: 0 auto;
 text-align: center;
}
.square {
 background: url(../img/bg_square.gif) no-repeat;
 background-size: contain;
 padding: 10px 5px;
}
.titleimg {
 padding: 0;
 margin: 0 auto 5px auto;
}
.p_list {
 padding: 0;
 margin: 0 auto 35px auto;
 font-size: 12px;
 color: #999;
}
h2.pagetitle {
 font-size: 26px;
 line-height: 1.5em;
 border-left: 8px solid #00a384;
 padding: 0.14em 0 0.15em 0.8em;
 margin: 0 0 1em 0;
}
h2.pagetitle span {
 font-size: 13px;
}
h2.pagetitle img {
 max-width: 160px;
 padding-bottom: 0.5em;
}
h2.pagetitle img.full {
 max-width: 300px;
}
.side_navi {
 float: right;
 width: 19%;
 margin-left: 5%;
 background: #FFF;
 padding: 0.5%;
}
.side_navi ul {
 list-style: none;
 border-top: 1px solid #DDD;
}
.side_navi ul li {
 border-bottom: 1px solid #DDD;
 padding: 0;
 font-size: 14px;
 line-height: 1.4em;
 margin: 0px;
}
.side_navi ul li a {
 display: block;
 background: url(../img/point.png) no-repeat 7px 16px;
 color: #333;
 background-color: #EEE;
 padding: 12px 2px 10px 20px;
 margin: 3px;
}
.side_navi ul li a:hover {
 background-color: #daf1ed;
 text-decoration: none;
}
.side_navi ul li a.hover {
 background-color: #daf1ed;
 background-image: none;
 padding: 12px 2px 10px 10px;
}
.cont {
 float: left;
 width: 75%;
}
.cont_full {
 margin: 0 auto 0 auto;
 width: 90%;
 padding-top: 1.2em;
}
/*  Header Section  */
header {
 width: 100%;
 /* [disabled]height: 100px; */
 background: #FFF;
 overflow: hidden;
}
header .logo {
 margin-top: 0px;
 /* [disabled]float: left; */
}
a.hamburger {
 text-decoration: none;
 display: none;
 float: right;
 margin: 10px 10px 0 0;
 width: 24px;
 height: 19px;
 background: url('../img/hamburger_icon.png') no-repeat;
}
a.hamburger.opned {
 width: 19px;
 background: url('../img/close_menu_icon.png') no-repeat;
}
nav {
 /* [disabled]float: right; */
 opacity: 1;
}
nav ul {
 margin-top: 15px;
 list-style: none;
 overflow: hidden;
 /* [disabled]float: left; */
}
nav ul li {
 display: inline;
}
nav ul li a {
 float: left;
 margin: 0 1%;
 width: 31.5%;
 text-align: center;
 text-decoration: none;
 color: #333;
 font-size: 13px;
 border-top: 4px solid #DDD;
 padding: 10px 0 8px 0;
 display: block;
}
nav ul li.hover a {
 border-top: 4px solid #00a384;
}
nav ul li a:hover {
 border-top: 4px solid #00a384;
 text-decoration: none;
}
nav ul li.g_home a {
 width: 31%;
}
nav .login_btn {}
nav .login_btn {
 float: right;
 margin: 30px 0 0 50px;
 padding: 10px 30px 11px 30px;
 border: 2px solid #ffffff;
 background: transparent;
 transition: background .1s linear;
 -webkit-transition: background .1s linear;
 -moz-transition: background .1s linear;
 -o-transition: background .1s linear;
}
li.contact {
 display: none;
}
#logo {
 float: left;
 width: 40%;
 text-align: center;
 margin-left: 30%;
 padding: 0px 0 0px 0;
 margin-top: 0;
 margin-bottom: 0;
}
.contact_btn {
 float: left;
 width: 29%;
 text-align: right;
 padding: 12px 1% 0 0;
}
/*  Hero Section  */
.hero {
 width: 100%;
 height: 900px;
 position: relative;
 background: url('../img/hero.jpg') no-repeat bottom center;
 background-size: cover;
 -webkit-background-size: cover;
 -moz-background-size: cover;
 -o-background-size: cover;
}
.hero .caption {
 width: 100%;
 position: absolute;
 text-align: center;
 top: 50%;
 margin-top: -105px;
 z-index: 10;
}
.hero .caption h2 {
 color: #fff;
 font-family: "p22_corinthia", Helvetica, Arial, sans-serif;
 font-size: 100px;
 font-weight: lighter;
 margin: 0;
 position: relative;
 display: block;
}
.hero .caption h3 {
 color: #fff;
 font-size: 14px;
 margin: -15px 0 0 25px;
 left: 1px;
}
#top_slide {
 margin: 0 auto;
 width: 98%;
 max-width: 1000px;
 position: relative;
}
#top_slide h2 {
 margin: 0 auto;
 padding: 0;
}
.mainImg img {
 width: 100%;
}
/*  TopMenu  */
.bg_topmenu {
 width: 100%;
 background: #d9f1ed;
 margin: 40px auto 30px auto;
 padding: 20px 0;
 overflow: hidden;
}
#topmenu {
 width: 98%;
 max-width: 1010px;
 margin: 0 auto;
}
#topmenu .content {
 width: 24%;
 margin: 0px 0.5%;
 float: left;
 background: #FFF;
}
#topmenu .content div {
 margin: 0;
 padding: 0;
}
#topmenu .content .ph {
 text-align: center;
}
#topmenu .content .ph img {
 width: 100%;
 margin: 0;
 padding: 0;
 line-height: 1.0em;
}
#topmenu .content .ph img.logo {
 max-width: 160px;
}
#topmenu .content h2 {
 text-align: center;
 margin: 0px;
 padding: 0px;
 line-height: 1em;
}
#topmenu .content h3 {
 background: #d9f1ed;
 text-align: center;
 margin: 0 4px 5px 4px;
 font-size: 15px;
 padding: 6px 0 4px 0;
 line-height: 1.2em;
 color: #00a384;
}
#topmenu .content p {
 font-size: 12px;
 line-height: 1.5em;
 text-align: center;
 padding-bottom: 4px;
 margin: 0;
}
#topmenu a .content {
 color: #333;
 text-decoration: none;
}
#topmenu a:hover .content {
 opacity: 0.8;
}
/*  Toplist  */
#toplist {
 width: 98%;
 max-width: 1020px;
 margin: 0 auto 30px auto;
 overflow: hidden;
}
#toplist ul li {
 width: 17.8%;
 margin: 0 1%;
 float: left;
 text-align: center;
 list-style: none;
 line-height: 1.5em;
}
#toplist ul li img {
 padding-bottom: 8px;
}
/*  NEWS  */
#news {
 width: 98%;
 max-width: 1000px;
 margin: 0 auto;
}
#news .titlearea {
 background: #EEE;
 margin: 0 auto 15px auto;
 padding: 8px 10px 8px 0px;
}
#news .titlearea h3 {
 font-size: 15px;
 border-left: 8px solid #00a384;
 float: left;
 width: 40%;
 padding: 0 0 0 6px;
 margin: 0;
 line-height: 1.2em;
 margin-top: 3px;
}
#news .titlearea .newsbtn {
 float: right;
 width: 50%;
 text-align: right;
}
#news dl {
 margin-left: 15px;
}
#news dl.list {
 margin-left: 0px;
}
#news dt {
 width: 15%;
 float: left;
 text-align: 1.6em;
 padding-bottom: 10px;
}
#news dd {
 width: 85%;
 float: left;
 text-align: 1.6em;
 padding-bottom: 10px;
}
#news dd a {
 color: #333;
 text-decoration: underline;
}
#news dl.list dt, #news dl.list dd {
 padding-bottom: 30px;
 font-size: 13px;
}
/*  footer  */
#footer {
 padding: 30px 0 10px 0;
 background: #EEE;
 margin-top: 0px;
}
#footer p{
 font-size: 13px;
}
.footerarea {
 width: 98%;
 max-width: 1000px;
 margin: 0 auto;
}
.footerarea ul {}
.footerarea li {
 list-style: none;
 border-left: 4px solid #00a384;
 margin: 0 0 1.2em 0;
 padding: 2px 0 0 10px;
 line-height: 1.5em;
 list-style-position: outside;
}
.footerarea li a {
 color: #333;
}
.fleft {
 width: 17%;
 margin-right: 5%;
 float: left;
 display: inline;
 position: relative;
}
.fcenter {
 width: 31%;
 margin-right: 5%;
 float: left;
 display: inline;
 position: relative;
}
.fcenter ul.slist {
 margin-top: 1.2em;
}
.fcenter ul.slist li {
 border-left: none;
 margin: 0 0 0.8em 0;
 padding: 2px 0 0 0px;
 line-height: 1.5em;
}
.fright {
 width: 19%;
 margin-right: 5%;
 float: left;
 display: inline;
 position: relative;
}
.flogo {
 width: 100%;
 text-align: center;
 margin-top: 0em;
 position: relative;
}
/*　共通　*/
.green, h3.green, h4.green {
 color: #00a384
}
.frame_a {
 border: 5px solid #DDD;
 padding: 16px;
 /* [disabled]margin-bottom: 1em; */
}
.frame_a p {
 margin-bottom: 0;
}
h3 {
 font-size: 16px;
 margin: 0 0 0.8em 0;
 padding: 0;
}
h3.f_or {
 font-size: 16px;
 margin: 0 0 0.6em 0;
 padding: 0;
 line-height: 1.6em;
}
h3.large {
 font-size: 18px;
}
h3.subtitle {
 border-top: 1px solid #CCC;
 border-bottom: 1px solid #CCC;
 background: #EEE;
 padding: 12px 4px 8px 8px;
 line-height: 1.5em;
 margin: 0 0 1.8em 0;
 font-size: 18px;
}
h3.subtitle span {
 font-size: 70%;
 color: #999;
 font-weight: normal;
}
h3.subtitle:first-letter {
 color: #00a384;
}
.bg_table {
 background: #AAA;
 margin-bottom: 6px;
}
table.table_a th {
 background: #DDD;
 padding: 8px 8px 6px 8px;
 font-weight: bold;
}
table.table_a td {
 background: #FFF;
 padding: 8px 8px 6px 8px;
}
table.table_a td.lb {
 background: #F0FFFF;
}
table.table_a td.ye {
 background: #FFFACD;
}
h4.feature1 {
 background: url(../img/service/item-feature1.jpg) no-repeat 0px 1px;
 display: block;
 padding: 0 0 0 85px;
 margin-bottom: 0.8em;
}
h4.feature2 {
 background: url(../img/service/item-feature2.jpg) no-repeat 0px 1px;
 display: block;
 padding: 0 0 0 85px;
 margin-bottom: 0.8em;
}
h4.feature3 {
 background: url(../img/service/item-feature3.jpg) no-repeat 0px 1px;
 display: block;
 padding: 0 0 0 85px;
 margin-bottom: 0.8em;
}
h4.feature4 {
 background: url(../img/service/item-feature4.jpg) no-repeat 0px 1px;
 display: block;
 padding: 0 0 0 85px;
 margin-bottom: 0.8em;
}
h4.feature5 {
 background: url(../img/service/item-feature5.jpg) no-repeat 0px 1px;
 display: block;
 padding: 0 0 0 85px;
 margin-bottom: 0.8em;
}
h4.feature6 {
 background: url(../img/service/item-feature6.jpg) no-repeat 0px 1px;
 display: block;
 padding: 0 0 0 85px;
 margin-bottom: 0.8em;
}
.float_left {
 float: left;
 margin: 0 5% 0 0;
}
.float_right {
 float: right;
 margin: 0 0 0 0;
}
.w25 {
 width: 25%;
}
.w30 {
 width: 30%;
}
.w65 {
 width: 65%;
}
.w70 {
 width: 70%;
}
.w35 {
 width: 35%;
}
.w45 {
 width: 45%;
}
.w60 {
 width: 60%;
}
.f_or {
 color: #F60;
}
.wide_01 {
 -moz-transform: scale(2.5, 1); /* Firefox */
 -webkit-transform: scale(2.5, 1); /* Chrome,Safari */
 -o-transform: scale(2.5, 1); /* Opera */
 -ms-transform: scale(2.5, 1); /* IE */
 transform: scale(2.5, 1); /* CSS3 */
}
/*  サービス  */
table.t_case {
 margin-bottom: 1em;
 width: 100%;
}
table.t_case th, table.t_case td {
 line-height: 1.6em;
 vertical-align: top;
 text-align: left;
 font-weight: normal;
}
table.t_case th {
 padding: 0 1.3em 1em 0
}
table.t_case td {
 padding: 0 0 0.5em 0
}
table.t_case td.align_r {
 text-align: right;
}
ul.case li {
 list-style-type: none;
 font-size: 120%;
 font-weight: bold;
 border-bottom: 1px dotted #AAA;
}
ul.case li span {
 font-size: 80%;
 color: #333;
}
ul.case li.active {
 background-color: #EEE;
 padding: 0.8em 2px 0.7em 28px;
 margin: 0;
 display: block;
}
ul.case li a {
 background: url(../img/service/file.png) no-repeat 5px 0.9em;
 padding: 0.8em 2px 0.7em 28px;
 margin: 0;
 display: block;
}
ul.case li a:hover {
 background-color: #ddf3ee;
 text-decoration: none;
}
ul.service_cont li {
 list-style-type: disc;
 margin: 0 0 0.3em 1.5em;
 list-style-position: outside;
 color: #00a384;
 line-height: 1.6em;
}
ul.service_cont li span {
 color: #333;
}
ul.service_cont li strong {
 color: #F60;
}
.option {
 border: 1px solid #999;
 background: #EEE;
}
h3.subtitle_op {
 background: #999;
 color: #FFF;
 text-align: center;
 padding: 0.5em;
}
h3.subtitle_op span {
 font-weight: normal;
 font-size: 75%;
}
.op_space {
 padding: 0.5em 1em 0 1em;
}
/*ul.service_cont li:before {
    content: "● ";
    color: #f00;
	left:-1em;
}*/
.btn_print {
 float: right;
 padding-top: 8px;
 width: 150px;
 display: block;
 text-align: right;
}
.btn_print img {
 border: 3px solid #FFF;
}
.service_menu {
 background: #efedf0;
 width: 100%;
 border: 1px solid #CCC;
 padding: 15px 0;
 margin-bottom: 2em;
}
.service_menu ul {
 list-style: none;
 width: 96%;
 margin: 0 auto;
}
.service_menu li {
 width: 25%;
 float: left;
 text-align: center;
}
.service_menu img {
 width: 95%;
 max-width: 146px;
}
p.voice {
 border-bottom: 1px dotted #CCC;
 padding-bottom: 1.5em;
}
/*  会社概要  */
img.sign {
 max-width: 320px;
}
dl.com_table {
 border-top: 1px solid #DDD;
}
dl.com_table dt {
 float: left;
 width: 21%;
 margin: 0;
 padding: 16px 0 14px 2%;
 border-bottom: 1px solid #DDD;
 line-height: 2.0em;
 font-size: 14px;
}
dl.com_table dd {
 float: left;
 width: 75%;
 margin: 0;
 padding: 16px 2% 14px 0;
 border-bottom: 1px solid #DDD;
 line-height: 2.0em;
 font-size: 14px;
}
dl.holder dt {
 float: left;
 width: 20%;
 margin: 0;
 padding: 6px 0 4px 5%;
 border-bottom: none;
 line-height: 1.8em;
 font-size: 14px;
}
dl.holder dd {
 float: left;
 width: 73%;
 margin: 0;
 padding: 6px 2% 4px 0;
 border-bottom: none;
 line-height: 1.8em;
 font-size: 14px;
}
iframe.map {
 width: 550px;
 height: 350px;
}
/*お問い合わせ*/
form table {
 width: 100%;
 border: 1px;
}
form table th {
 background: #EEE;
 padding: 10px;
 text-align: left;
 width: 30%;
 font-size: 13px;
}
form table td {
 background: #FFF;
 padding: 10px;
 text-align: left;
 font-size: 13px;
}
table th em, span.or {
 color: #F30;
}
p.error {
 color: #F30;
 margin-bottom: 0.8em;
 font-size: 14px;
 font-weight: bold;
}
form table td input {
 height: 28px;
 font-size: 13px;
}
form table td textarea {
 font-size: 13px;
}
.confirm {
 padding: 20px 0;
 text-align: center;
 background: #FFF;
}
p.copyright {
 DISPLAY: none;
}
.confirm input {
 margin: 0 12px;
 padding: 5px 10px;
 width: 120px;
 height: 40px;
}
input[type=radio] {
 margin-left: 10px;
}
#contact form {
 background: #AAA;
}
/*ダウンロード*/
.download ul {
 border-top: 1px dotted #999;
}
.download li {
 list-style: none;
 border-bottom: 1px dotted #999;
}
.download li a {
 padding: 18px 2px 14px 33px;
 display: block;
 background: url(../img/pdf.png) no-repeat 8px 20px;
 color: #333;
}
.download li a.xls {
 background: url(../img/xls.png) no-repeat 10px 20px;
}
.download li a:hover {
 text-decoration: none;
 background-color: #ddf3ee;
}
/*採用ボタン*/
.btn_recruit a {
 background: #00a384;
 color: #FFF;
 line-height: 1.2em;
 display: block;
 width: 11em;
 padding: 1.2em 2em 1em 2em;
 margin: 10px auto;
 border: 2px solid #FFF;
 box-shadow: 2px 2px 6px 2px #CCC;
 font-size: 14px;
}
.btn_recruit a:hover {
 text-decoration: none;
 background: #4cbea9;
}
/*デスクトップボタン*/
.btn_dtp a {
 background: #00a384;
 color: #FFF;
 line-height: 1.4em;
 display: block;
 width: 26em;
 padding: 1.2em 2em 1em 2em;
 margin: 10px auto 1.5em auto;
 border: 2px solid #FFF;
 box-shadow: 2px 2px 6px 2px #CCC;
 font-size: 14px;
 text-align: center;
}
.btn_dtp_s a {
 background: #00a384;
 color: #FFF;
 line-height: 1.4em;
 display: block;
 width: 16em;
 padding: 0.8em 1em 0.6em 1em;
 margin: 10px auto 1em auto;
 border: 2px solid #FFF;
 box-shadow: 2px 2px 6px 2px #CCC;
 font-size: 13px;
 text-align: center;
 float: right;
}
.btn_dtp a:hover, .btn_dtp_s a:hover {
 text-decoration: none;
 background: #4cbea9;
}
/*デスクトップフォーム*/
.flow {
 background: #FFFACD;
 padding: 12px;
}
.flow .title {
 float: left;
 width: 16%;
 background: #00a384;
 padding: 3.2% 0 2.8% 0;
 text-align: center;
 font-size: 15px;
 color: #FFF;
 font-weight: bold;
}
.flow .nagare {
 float: right;
 width: 82%;
 text-align: center;
}
h4.redbox {
 background: #F00;
 padding: 4px 10px 3px 10px;
 color: #FFF;
 text-align: center;
 margin-bottom: 10px;
}
.frame_lg {
 background: #D7FFEF;
 padding: 1.5em;
}
.frame_lg table td {
 vertical-align: top;
 padding: 0 1.5em 0.5em 0;
 font-size: 110%;
}
.frame_lg p {
 font-size: 110%;
}
p.nomargin {
 margin-bottom: 0;
}
ol.privacy li {
 margin: 0 0 8px 2em;
}
ol.privacy {
 padding: 0 0 16px 0;
}
/******/
.main {
 width: 95%;
 max-width: 950px;
 margin: 30px auto 0 auto;
 text-align: center;
}
.obi {
 width: 100%;
 margin-top: 30px;
 background: #253F96;
 text-align: center;
}
.obi img {
 width: 85%;
 max-width: 500px;
}
.frame_contact {
 width: 100%;
 background: #FFFAC6;
 text-align: center;
 padding: 30px 0 15px 0;
}
.frame_contact {
 width: 100%;
 background: #FFFAC6;
 text-align: center;
 padding: 40px 0 20px 0;
 border-bottom: 1px solid #253F96;
}
.frame_contact img {
 width: 70%;
 max-width: 397px;
 padding: 0 0 20px 0;
}