/*
Theme Name: 株式会社ケーワン
Description: 株式会社ケーワンのテーマ
Theme URI: http://www./
Author: ROCKSTREAM
Author URI: http://www.rockstream-jp.com
Version: 1.0
License: GPL
License URI: https://www.gnu.org/copyleft/gpl.html
*/


@charset "utf-8";

/* common.css
====================================== */


/* reset
-------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
b, u, i, 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: inherit;
    font-size: 100%;
    vertical-align: baseline;
}
html {
    line-height: 1;
    height: 100%;
}
ol, ul, li {
    list-style: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}
q, blockquote {
    quotes: none;
}
q::before, q::after, blockquote::before, blockquote::after {
    content: "";
    content: none;
}
a img {
    border: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block;
}

/*  common
-------------------------------------- */
body {
    color: #000;
    font-size: 12px;
    height: 100%;
}
body,
input,
textarea,
select,
button {
    line-height: 1.4;
    font-family: Hiragino Sans, HiraginoSans W3, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3";
    color: #221815;
}
a {
    text-decoration: none;
    display: block;
}
a:link,
a:visited {
    color: #221815;
}
a:hover,
a:hover img,
input:hover {
    opacity:0.8;
}
input[type="text"],
textarea{
    font-size: 1.5em;
    width: 100%;
    border: solid 1px #ccc;
}
textarea{
    height: 10em;
}
input[type="checkbox"],
input[type="radio"] {
    margin: 0 5px 0 20px;
    vertical-align: middle;
}
select {
    border-radius: 0px;
    border: solid 1px #ccc;
    padding: 0;
    background: none #fff;
    font-size: 1.3em;
    box-sizing: border-box;
    cursor: pointer;
}
video{
    width: 100%;
    display: block;
}
.red{
    color: #ff3030;
}
p {
   line-height:1.6em;
}


/*---------------------
微調整用
---------------------*/
.strong{ font-weight: bold;}

.w_auto img,
.w_auto_s img{
    width: auto;
}

.over_h { overflow: hidden;}
.float_l { float: left;}
.float_r { float: right;}
.clear-b { clear: both; }

.text_c { text-align: center;}
.text_l { text-align: left;}
.text_r { text-align: right;}

.mgT10{ margin-top: 10px;}
.mgT20{ margin-top: 20px;}
.mgT30{ margin-top: 30px;}
.mgT50{ margin-top: 50px;}
.mgT100{ margin-top: 100px;}
.mgT200{ margin-top: 200px;}

.mgB10{ margin-bottom: 10px;}
.mgB20{ margin-bottom: 20px;}
.mgB40{ margin-bottom: 40px;}
.mgB30{ margin-bottom: 30px;}
.mgB50{ margin-bottom: 50px;}
.mgB100{ margin-bottom: 100px;}

.pd10{ padding: 10px}
.pdT15{ padding-top: 15px;}
.pdL15{ padding-left: 15px;}

.subtitle{ font-size: 14px; margin-bottom:8px;}


/*---------------------
見出し
---------------------*/
h1 {
    font-size: 4em;
    font-weight: bold;
}
h1 span{
    font-size: 22px;
    font-weight: normal;
    display: block;
    letter-spacing: 0;
    margin-top: 10px;
}
h2{
    font-size: 45px;
    font-weight: bold;
    padding: 10px 0;
    display: inline-block;
}
h2::after{
    content: "";
    display: block;
    background-image: linear-gradient(to right, #ff3030 50%, transparent 50%);
    height: 3px;
}
footer h3 {
    font-size: 24px;
    font-weight: bold;
}

/*---------------------
カラム設定
---------------------*/
.clearfix:after {
    display: block;
    content: '';
    clear: both;
    height: 0;
}
.col1of2 { width: 50%;}
.col1of2-1 { width: 60%;}
.col1of2-2 { width: 40%;}
.col1of3 { width: 31%; padding: 1%;}
.col2of3 { width: 62%; padding: 1%;}
.col1of4 { width: 25%;}
.col3of4 { width: 75%;}
.col1of5 { width: 19%; padding: 0.5%; }
.col2of5 { width: 39%; padding: 1%;}
.col3of5 { width: 57%; padding: 1%;}
.col1of2, .col1of2-1, .col1of2-2, .col1of3, .col2of3,.col1of4,.col3of4,.col1of5,.col2of5,.col3of5{
    float: left;
}
.reverse .col1of2{
    float: right;
}
img{
    width: 100%;
    height:auto;
}

/*---------------------
背景色・幅設定
---------------------*/
.contentWrapper{
    width: 1000px;
    margin: 0 auto;
    padding: 50px 0;
    clear: both;
    overflow: hidden;
}
.contentWrapper.pd0{
    padding: 0;
}
.contentWrapper.pdB0{
    padding-bottom: 0!important;
}
.bg_red{
    background: #ff3030;
    color: #fff;
    padding: 20px 5%;
    box-sizing: border-box;
}
.bg_lightblue{
    background: #c5eeff;
    padding: 20px 5%;
    box-sizing: border-box;
}
/*---------------------
box・線
---------------------*/
.ver_center{
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.box_lead{
    font-size: 16px;
    margin-bottom: 15px;
}

/*---------------------
リンクバナー
---------------------*/
.bnrArea{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align-items: center;
    -webkit-align-items: center;
    -ms-flex-align-items: center;
    align-items: center;
    -webkit-box-justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-justify-content: center;
    justify-content: center;
    text-align: center;
    margin: 50px 0;
}
.bnrArea li{
    flex: 1;
}
.bnrArea li span{
    display: block;
    margin: 20px 0;
    font-size: 18px;
}
.bnrArea li a{
    width: 100%;
    height: 100%;
    padding: 50px 0;
}
.bnrArea li a:hover,
.bnrArea li a:hover img{
    background: #ff3030;
    -moz-opacity: 1.0;
    -webkit-opacity: 1.0; 
    opacity: 1.0; 
    color: #fff;
}
.bnrArea img{
    width: 80%;
    max-width: 142px;
}
/*---------------------
アイコン・ボタン
---------------------*/
.btn{
    text-align: center;
}
.btn img{
    width: auto;
}
.btn_white a{
    background: #fff;
    border-radius: 3px;
    color: #ff3030;
    display: inline-block;
    margin: 7% 0 0;
    padding: 15px 0;
    width: 100%;
    max-width: 180px;
    text-align: center;
}
.btn_white a:hover{
    background: #000;
    color: #fff;
    opacity: 1.0;
}
.btn_red a{
    background: #ff3030;
    border-radius: 3px;
    color: #fff;
    display: inline-block;
    margin: 7% 0 0;
    padding: 15px 0;
    width: 100%;
    max-width: 180px;
    text-align: center;
    border: solid 1px #ff3030;
    /*position: absolute;*/
    /*bottom: 20px;*/
}
.btn_red a:hover{
    background: #fff;
    color: #ff3030;
    opacity: 1.0;
    border: solid 1px #ff3030;
    box-sizing: border-box;
}
#pageTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
}

.pc{ display:block; }
.smp{ display:none; }
.smptate{ display:none; }

/*---------------------
header
---------------------*/
header {
    color: #fff;
    position: relative;
}
header::before,
.footer_navArea::before{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 220px 220px 0 0;
    border-color: #ff3939 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
header::after,
.footer_navArea::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 220px 220px;
    border-color: transparent transparent #c5eeff transparent;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}
header .logo{
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 1;
}
header ul.hd_right{
    float: right;
    padding: 15px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align-items: center;
    -webkit-align-items: center;
    -ms-flex-align-items: center;
    align-items: center;
}
header ul.hd_right li{
    display: inline-block;
}
header ul.hd_right img{
    vertical-align: bottom;
    margin-right: 10px;
}

/*---------------------
パンクズ
---------------------*/
.breadcrumb.b_top {
    margin: 50px auto 0;
}
.breadcrumb.contentWrapper {
    padding: 30px 0;
}
.breadcrumb li {
    display: inline-block;
    padding: 0 10px;
    position: relative;
}
.breadcrumb li a::after {
    position: absolute;
    right: -6px;
    display: inline-block;
    content: '/';
}

/*---------------------
nav
---------------------*/
.g_naviWrap{
    background: #000;
    color: #fff;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
}
.g_naviWrap .contentWrapper{
    padding: 0;
}
.g_navi ul{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align-items: center;
    -webkit-align-items: center;
    -ms-flex-align-items: center;
    align-items: center;
    -webkit-box-justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-justify-content: space-between;
    justify-content: space-between;
}
.g_navi li {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    box-sizing:border-box;
    border-left: solid 1px #ccc;
    width: 100%;
}
.g_navi li a{
    padding: 10px 0;
    text-align: center;
    vertical-align: top;
    box-sizing:border-box;
    color: #fff;
}
.g_navi li:first-child a{
    padding: 10px;
}
.g_navi li:first-child {
    border-left: none;
}
.g_navi li a:hover {
    background: #ff3030;
    opacity: 1.0;
    padding: 20px 0;
    margin: -10px 0;
}
.g_navi li:first-child a:hover {
    padding: 10px;
    margin: 0;
}
.g_navi li a:hover img{
    opacity: 1.0;
}
.navi_button{
    display: none;
}
.fixed{
    position: fixed!important;
}


/*---------------------
main
---------------------*/
.main_img{
    position: relative;
}
.main_img span.main_img_bg{
    background: url(./img/main/top/bg_video.png);
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
}
.main_img img{
    display: block;
}
.main_word {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 100%;
    padding: 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
    z-index: 5;
    letter-spacing: 3px;
}
.main_word img{
    display: inline-block;
    max-width: 534px;
    width: 80%;
}
.fadein{
    visibility: hidden;
}
.fadeInDown {
/* -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;*/
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
.fadeInDown.delay {
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
}
.not_delay {
 -webkit-animation-duration:0s!important;
 -ms-animation-duration:0s!important;
 animation-duration:0s!important;
}

@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(+50px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(+50px); -ms-transform: translateY(+50px); transform: translateY(+50px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

/*---------------------
footer
---------------------*/
footer{
    background: #000;
    color: #fff;
}
footer .ft_topArea{
    background: url(./img/ft/ft_top_bg.jpg) no-repeat;
    background-size: cover;
    border-top: solid #ff3030;
    color: #000;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align-items: center;
    -webkit-align-items: center;
    -ms-flex-align-items: center;
    align-items: center;
    -webkit-box-justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-justify-content: center;
    justify-content: center;
    padding: 50px 5%;
}
footer .ft_topArea div{
    display: inline-block;
    vertical-align: middle;
    margin: 0 10px;
}
footer .ft_topArea div:nth-child(1),
footer .ft_topArea div:nth-child(3){
    text-align: left;
}
footer .ft_topArea .btn a{
    background: #ff3030;
    padding: 15px 20px;
    color: #fff;
    font-size: 14px;
}
footer .ft_topArea .btn img{
    vertical-align: bottom;
}

footer .footer_navArea{
    position: relative;
}
footer .footer_navBox{
    line-height: 2;
}
footer .footer_navArea p{
    margin: 0 10px 10px;
}
footer .footer_nav > li{
    display: inline-block;
}
footer .footer_nav a{
    color: #fff;
}
footer .footer_nav > li::before{
    content: ">";
}
footer .footer_nav > li > a{
    display: inline-block;
    padding-left: 5px;
    color: #fff;
}

footer .footer_nav li ul li{
    list-style: disc;
    margin: 0 10px 0 30px;
}
footer .ft_cal{
    padding: 10px;
    background: #fff;
}
footer .ft_copyright{
    font-size: 10px;
}
footer .ft_copyright.contentWrapper {
    padding: 0 0 50px;
}
footer .ft_copyright p:first-child {
    text-decoration: underline;
}

/*---------------------
top
---------------------*/
#top header{
    margin-top: 0px!important;
}
#top #main{
    margin-top: 52px;
}
#top .g_naviWrap{
    margin-bottom: -52px;
    position: static;
}
#top .navi_button.none .nav_logo{
    display: none;
}
#top .hd_top{
	position: absolute;
	top: 0;
	width: 100%;
}
#top h1 {
    font-size: 0.8em;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: middle;
    padding-top: 10px;
    text-align: right;
}
#top h2{
    font-size: 30px!important;
    padding: 10px 0;
}
#top .messageArea h2{
    font-size: 28px!important;
}
.btn_white a {
    position: absolute;
    bottom: 20px;
}

/*newsarea*/
.newsArea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}
.newsArea .col1of4{
    position: relative;
}
.newsArea .col3of4 {
}
#newsList{
}
#newsList li{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
#newsList li a{
    display: block;
    font-size:14px;
    padding:25px 45px;
    width:100%;
    box-sizing:border-box;
}
#newsList li:nth-child(odd){
    background:#f7f7f7 url(./img/common/nav-btn.gif) no-repeat 95% 50%;
    background-size:8px 10px;
}
#newsList li:nth-child(even){
    background:#eeeced url(./img/common/nav-btn.gif) no-repeat 95% 50%;
    background-size:8px 10px;
}
#newsList .newsDate{
    margin-right:10px;
}
#newsList .newsDate:before{
    content:'→';
    margin-right:8px;
}

/*about*/
.aboutArea{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.aboutArea .col1of2{
    overflow: hidden;
    position: relative;
}
.aboutArea img{
    width: auto;
    height: 100%;
}

/*feature*/
.top_feature {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}
.top_feature .col3of4 {
    background: url(./img/main/top/bg_feature.png) no-repeat right top;
    background-size: cover;
}
.top_feature .col3of4 img{
	float: left;
}
.top_feature .col3of4 li{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.top_feature .col1of4 {
    position: relative;
}
.top_feature .btn_white a {
    color: #000;
    position: absolute;
    bottom: 20px;
    border-radius: 3px;
    display: inline-block;
    margin: 7% 0 0;
    padding: 15px 0;
    width: 60%;
    max-width: 180px;
    text-align: center;
}
.top_feature .btn_white a:hover {
    background: red;
    color: #fff;
}
.top_feature .col3of4 li div{
	padding: 20px;
}
.top_feature .feature_title {
    background: url(./img/main/top/ico_checkbox.png) no-repeat left center;
    margin-bottom: 10px;
    padding: 10px 20px 10px 50px;
    border-bottom: solid 2px red;
    font-size: 24px;
    font-style: italic;
    color: red;
}
.top_feature .col1of3 p {
    padding: 0px 20px 0px 50px;
    font-size: 16px;
}
.top_feature .feature_title + p {
    font-size: 16px;
    margin-bottom: 5px;
}
.fbArea img{
    width: 100%;
    max-width: 487px;
}

/*case*/
.caseArea h2 {
    font-size: 30px!important;
    padding: 10px 0!important;
    display: inline-block!important;
    margin: 0!important;
}
.caseArea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-flex-wrap: wrap;
    flex-wrap: wrap;
}
.caseArea li{
    padding: 20px;
    box-sizing: border-box;
}
.caseArea li.case_label {
    padding: 20px 5%;
    position: relative;
}
.case_imgBox{
    position: relative;
    overflow: hidden;
}
.case_imgBox + p{
    font-size: 16px;
    margin-top: 10px;
}
.case_imgBox span{
    background: #000;
    color: #fff;
    padding: 10px;
    position: absolute;
    bottom: 10px;
    left: 10px;
}
.case_imgBox img {
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
    height:auto;
}
.case_imgBox img:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    background: red;
}


/*message*/
.messageArea{
    background: #c5eeff;
}
.messageArea ul:first-child > li{
    padding: 30px 3%;
    box-sizing: border-box;
}
.messsage_imgBox li{
    padding: 10px;
    box-sizing: border-box;
}
.messsage_imgBox li:last-child {
    position: relative;
}
.messsage_imgBox li:last-child span{
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
}
.messsage_imgBox li:last-child span a{
    padding: 10px 30px;
    background: #ff4431;
    color: #fff;
    border-radius: 5px;
    display: inline-block;
}
.messsage_imgBox li:last-child:hover span a {
    opacity: 0.8;
}

.contractionBox li{
    position: relative;
}
.contractionBox li img{
    display: block;
}
.contractionBox li div{
    color: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 100%;
    padding: 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
}

#top .contractionBox h2::after{
    content: "";
    display: block;
    background-image: linear-gradient(to right, #ff3030 50%,#ff3030 50%);
    width: 50px;
    margin: 0 auto;
}

/*blog*/
#top .blogArea,
#company .blogArea  {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #f0f0f0;
}
#company .blogArea{
    margin-top:10%;
}
#top .blogArea .col3of4,
#company .blogArea .col3of4  {
    padding: 20px;
}
.blogArea h2 {
    font-size: 30px!important;
    display: inline-block!important;
    margin: 0!important;
    padding: 0!important;  
}
.blogArea h2::after {
    background-image: linear-gradient(to right, #fff 50%, transparent 50%)!important;
}
.blogArea .col1of4{
    position: relative;
}
.blogBox li{
    padding: 10px;
    box-sizing: border-box;
}
.blogBox li p:first-child{
    font-weight: bold;
    margin:20px 0 10px;
}
.blogBox li div:nth-child(1){
    position: relative;
    max-width: 165px;
    max-height: 165px;
    width: 48%;
    float: left;
    margin-right: 10px;
    overflow: hidden;
    border-radius: 5px!important;
    z-index: 1;
}
.blogBox li div img {
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
    z-index: -1;
    max-width: 165px;
}
.blogBox li div img:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
#blog .blogBox li div{
    width: 48%;
    margin-right: 2%;
    float: left;
}


/*access*/
.accessArea .google_maps{
    display:block;
}
.accessArea .google_maps iframe{
    width:100%;
}
.accessArea .google_map {
    display:none;
}
.access_title{
    padding: 20px 5%;
}
.address_detail{
    text-align: right;
    text-decoration: underline;
}

.topftArea{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.topftArea div{
    padding: 20px;
    box-sizing :border-box;
}

.topftArea .insta div{
    padding: 0;
}



.topftArea div:first-child{
    flex: 3;
    background: #f0f0f0;
}
.topftArea div:last-child{
    flex: 5;
    background: #e9f9ff;
}
.topftArea ul{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-flex-wrap: wrap;
    flex-wrap: wrap;
}
.topftArea ul li{
    width: 25%;
    padding: 5px;
    box-sizing :border-box;
}


/*---------------------
features
---------------------*/
.five_featuresArea ul li ul{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.five_featuresArea ul li ul li{
    width: 50%;
    position: relative;
}
.five_featuresArea li:nth-child(odd) ul li.feature_img span{
    width: 120px;
    border-left: 80px solid #fff;
    border-bottom: 80px solid transparent;
    border-top: 80px solid transparent;
    height: 157px;
    position: absolute;
    top: 0;
    left: 0
}
.five_featuresArea li:nth-child(even) ul li.feature_img span{
    width: 120px;
    border-right: 80px solid #fff;
    border-bottom: 80px solid transparent;
    border-top: 80px solid transparent;
    border-left: none;
    height: 157px;
    min-height: 65px;
    position: absolute;
    top: 0;
    right: 0;
}
.five_featuresArea ul li:nth-child(1) ul {
    background: url(./img/main/top/ico_almighty.png) no-repeat left 5% top;
    background-size: 6%;
}
.five_featuresArea ul li:nth-child(2) ul {
    background: url(./img/main/top/ico_speed.png) no-repeat right 5% top;
    background-size: 6%;
}
.five_featuresArea ul li:nth-child(3) ul {
    background: url(./img/main/top/ico_quality.png) no-repeat left 5% top;
    background-size: 6%;
}
.five_featuresArea ul li:nth-child(4) ul {
    background: url(./img/main/top/ico_onestop.png) no-repeat right 5% top;
    background-size: 6%;
}
.five_featuresArea ul li:nth-child(5) ul {
    background: url(./img/main/top/ico_propose.png) no-repeat left 5% top;
    background-size: 6%;
}


.five_featuresArea ul li ul li.feature_text{
    background: url(./img/main/feature/bg_features_l.png) no-repeat left top;
    background-size: cover;
    padding: 20px 5% 20px 13%;
    box-sizing: border-box;
    position: relative;
}
.five_featuresArea ul li:nth-child(odd) ul li.feature_text > div.ver_center{
    padding: 0 5% 0 27%;
}
.five_featuresArea ul li:nth-child(even) ul li.feature_text > div.ver_center{
    padding: 0 27% 0 5%;
}
.five_featuresArea ul li:nth-child(even) ul li.feature_text > div.ver_center{
    -webkit-transform: translateY(-50%) scaleX(-1);
    -ms-transform: translateY(-50%) scaleX(-1);
    transform: translateY(-50%) scaleX(-1);
}
.five_featuresArea ul li ul li.feature_text p.red{
    margin: 10px 0 5%;
    font-size: 15px;
}
.five_featuresArea ul li ul li.feature_text p.red + p{
    font-size: 14px;
}
.five_featuresArea ul li:nth-child(even) ul li.feature_text{
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
     -webkit-animation-duration:0s!important;
    -ms-animation-duration:0s!important;
    animation-duration:0s!important;
}
.five_featuresArea ul li:nth-child(even) ul li.feature_text > *{
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
     -webkit-animation-duration:0s!important;
    -ms-animation-duration:0s!important;
    animation-duration:0s!important;
}
.five_featuresArea ul li img {
    display: block;
    height: 100%;
}
.five_featuresArea ul li:nth-child(even) ul li.feature_text{
    order: 2;
    text-align: right;
}

.feature_flowArea h3,
.five_featuresArea h3{
    font-size: 27px;
    font-style: italic;
    font-weight: bold;
}

.section_title{
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    margin: 100px 0;
    line-height: 1.2;
}
.section_title h2{
    display: block;
    padding-bottom: 0;
}
.section_title h2:after{
    content: "";
    display: block;
    background-image: linear-gradient(to right, #ff3030 50%,#ff3030 50%);
    width: 100px;
    margin: 0 auto;
    height: 2px;
}
.section_title span{
    font-size: 18px;
    font-weight: normal;
}

.feature_flowArea{
    margin-bottom: 100px;
}
.feature_flowArea ol li{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #f6f6f6;
    border-top: solid 2px #f1f1f1;
    padding: 30px 10px;
    position: relative;
    text-align: center;
    font-weight: bold;
}
.feature_flowArea ol li::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 50px 0;
    border-color: red transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.feature_flowArea ol li:first-child::after{
    content: "";
    border: none;
}
.feature_flowArea ol li div:nth-child(1){
    flex: 2;
    text-align: right;
    font-size: 27px;
    font-style: italic;
}
.feature_flowArea ol li div:nth-child(1):after{
    content: "";
    display: block;
    background-image: linear-gradient(to right, #ff3030 50%,#ff3030 50%);
    width: 30px;
    height: 1px;
    text-align: right;
    margin-left: auto;
    margin-right: 25px;
}
.feature_flowArea ol li div:nth-child(2){
    flex: 3;
    color: #ff3030;
    text-align: left;
    padding-left: 5%;
    font-size: 18px;
}
.feature_flowArea ol li div:nth-child(3){
    flex: 5;
    text-align: left;
    padding-left: 5%;
    font-size: 14px;
}



/*---------------------
case
---------------------*/
.category_listArea{
    text-align: center;
    font-size: 18px;
    line-height: 2;
}
.category_listArea li {
    display: inline-block;
    padding: 0 10px;
    position: relative;
}
.category_listArea li::after {
    position: absolute;
    top: 0;
    right: -6px;
    display: inline-block;
    content: '/';
}
.category_listArea li:last-child::after {
    content: '';
}

.category_listArea_bnr{
    text-align: center;
    font-size: 18px;
    line-height: 2;
}
.category_listArea_bnr li {
    display: inline-block;
    padding: 0 10px;
    position: relative;
}
.category_listArea_bnr li::after {
    position: absolute;
    top: 0;
    right: -6px;
    display: inline-block;
}

.pagenationArea {
    padding: 150px 0 50px;
    text-align: center;
    font-size: 22px;
}
.pagenationArea li {
    display: inline-block;
}
.pagenationArea span,
.pagenationArea a{
    display: inline-block;
}
.pagenationArea a {
    background: #f0f0f0;
    padding: 5px 10px;
}
.pagenationArea span.current{
    padding: 5px 10px;
    background: #ff3030;
    color: #fff;
    opacity: 1;
}
.pagenationArea a:hover {
    background: #ff3030;
    color: #fff;
    opacity: 1;
}
.pagenationArea a.prev,
.pagenationArea a.next{
    background: none;
}
.pagenationArea li:first-child a,
.pagenationArea li:last-child a{
    background: none;
}
.pagenationArea li:first-child a:hover,
.pagenationArea li:last-child a:hover{
    color: #000;
    opacity: 0.8;
}
.pagenationArea a.prev:hover,
.pagenationArea a.next:hover{
    color: #000;
    opacity: 0.8;
}

.category_name{
    font-size: 34px;
    text-align: center;
    margin-bottom: 50px;
}

.detail_mainArea img {
    width: 100%;
}

.detailPhoto img{
    height:auto;
    width: 100%;
}

.subArea{
}

.subArea li{
    display:inline-block;
    max-width:370px;
    width:49%;
    margin-bottom:10px;
}
.subArea li:nth-child(odd){
    margin-right:1%;
}
.subArea li:nth-child(even){
    /*margin-left:1%;*/
}
.subArea li img{
    width:100%;
    height:auto;
}

/*---------------------
detail
---------------------*/
.detailArea{
    padding-top: 70px;
}
.detail_label{
    background: #000;
    padding: 5px 10px;
    display: inline-block;
    color: #fff;
}
.detail_comment{
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.5
}

.btn_back_list a {
    background: #ff3939;
    display: inline-block;
    margin: 30px;
    padding: 10px 50px;
    font-size: 16px;
    color: #fff;
    border-radius: 3px;
}

/*detailArea*/
/*detail*/
.detailArea .contentWrapper {
    padding: 0 0 50px;
}
.detail_mainArea{
    width: 75%;
    float: left;
}

.detail_sideArea {
    width: 20%;
    float: right;
    background: #f0f0f0;
    padding: 10px;
    margin-bottom: 50px;
}
.detail_sideArea h3 {
    font-size: 18px;
    text-align: left;
    line-height: 1.5;
    margin-bottom: 15px;
}

.detail_sideArea h3:after {
    content: "";
    display: block;
    background-image: linear-gradient(to right, #ff3030 50%,#ff3030 50%);
    width: 77px;
    height: 2px;
}
.detailArea .topic_title {
    font-size: 22px;
    margin: 30px 0 10px;
}

.side_newsArea{
    overflow: hidden;
    font-size: 13.5px;
}
.side_newsArea .newNews{
    margin-bottom: 20px;
}
.side_newsArea .side_detail_title {
    background: #000;
    display: inline-block;
    padding: 5px 10px;
    color: #fff;
    margin-bottom: 10px;
    border-radius: 3px;
    font-size:11px;
}
.side_newsArea .side_blog_title {
    display: inline-block;
    padding: 5px 0;
    font-weight: bold;
    font-size: 14px;
}
.side_newsArea .side_bnr li{
    margin-bottom: 10px;
}


.detail_sideArea .newsArea ul li{
    overflow: hidden;
    margin-bottom: 10px;
}
.detail_content li:first-child {
    width: 30%;
    float: left;
    margin-right: 10px;
}

.sitemapBox h4 a {
    font-size: 1rem;
    margin-top: 20px;
    padding-left: 25px;
    background: url(./img/main/case/ico_sideitem.png) no-repeat;
    background-size: 20px;
    font-weight: bold;
}
.sitemapBox ul {
    margin-bottom: 1em;
    padding-left: 40px;
    list-style: disc;
}
.sitemapBox li{
    list-style: disc;
    line-height: 1.5;
}

#blog .detailArea .topic_title {
    margin: 0 0 10px;
}

/*---------------------
teian
---------------------*/
.toownerArea{
    position: relative;
}
.toowner_text{
    color: #fff;
    line-height: 2;
    font-size: 16px;
    padding-left: 11%;
}
.toowner_text h3{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}


/*---------------------
blog
---------------------*/
#blog .blogArea{
    background: #c5eeff;
    margin: 70px 0;
    padding-bottom: 50px;
}
#blog .blogbox{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-flex-wrap: wrap;
    flex-wrap: wrap;
}
#blog .pagenationArea {
    padding: 50px 0 50px;
}

/*---------------------
company
---------------------*/
.company_lead{
    background: #000;
    text-align: right;
    position: relative;
    margin-top: 60px;
}
.company_lead .lead_txt{
    font-size: 28px;
    line-height: 2;
    font-style: italic;
}
.company_lead .lead_txt + p{
    font-size: 18px;
}
.company_lead img{
    width: 50%;
    vertical-align: bottom;
}
.company_lead div{
    text-align: left;
    color: #fff;
    padding: 20px 6%;
}

#company h2#history,
#company h2#gaiyo,
#company h2#access {
    padding: 150px 0 50px;
    font-size: 28px;
    font-weight: bold;
    display: block; 
    text-align: center;
}
#company h2::after {
    background-image: none;
}
#company .h2_above{
    margin-bottom: -50px;
}
.company_message{
    position: relative;
}
.company_message .message_title{
    font-size: 4em;
    font-weight: bold;
}
.company_message .message_title::after{
    content: "";
    display: block;
    background-image: linear-gradient(to right, #ff3030 30%, transparent 30%);
    height: 1px;
}
.company_message .bg_lightbule {
    background: #c5eeff;
    width: 80%;
    height: 350px;
    display: block;
    position: absolute;
    top: 0;
    z-index: -1;
}
.company_message .bg_redline {
    background: red;
    width: 80%;
    height: 350px;
    display: block;
    position: absolute;
    top: 8px;
    left: -100px;
    z-index: -2;
}
.company_message img {
    display: block;
    width: 85%;
    margin: 5%;
}
.company_message div{
    text-align: left;
    padding: 0 6%;
}
.company_message p{
    padding: 5% 5% 0;
    font-size: 14px;
}
.president_name{
    margin: 20px 0;
    text-align: right;
}
.company_history{
    position: relative;
    /*margin-bottom: 10%;*/
    overflow: hidden;
}
.company_history h3{
    font-size: 28px;
    margin-bottom: 30px;
    font-weight: bold;
}
.company_history h3 span{
    font-size: 18px;
    margin-left: 20px;
}
.company_history h3:before{
    content: "";
    display: block;
    background-image: linear-gradient(to right, #ff3030 30%, transparent 30%);
    height: 1px;
    margin-bottom: 20px;
}
.company_history > ul > li{
    padding: 5%;
    box-sizing: border-box;
}
.company_history ul li ul li {
    list-style: disc;
    list-style-position: inside;
    border-bottom: solid 1px #ccc;
    padding: 10px 10px 10px 3em;
    text-indent: -2em;
}
.company_history ul li ul li:last-child {
    border: none;
}
.company_history img {
    display: block;
    width: 85%;
    margin-top: 10%;
}
.company_history .bg_lightbule {
    background: #c5eeff;
    width: 80%;
    height: 300px;
    display: block;
    position: absolute;
    bottom: 8px;
    right: 0;
    z-index: -1;
}
.company_history .bg_redline {
    background: red;
    width: 80%;
    height: 300px;
    display: block;
    position: absolute;
    bottom: 0;
    right: -100px;
    z-index: -2;
}

.table_style table{
    margin: 0 auto;
    font-size: 16px;
    border-top: solid 1px #000;
}
.table_style th,
.table_style td{
    padding: 20px 60px;
}
.table_style th{
    background: #000;
    color: #fff;
    text-align: left;
    border-bottom: solid 1px #fff;
}
.table_style tr:last-child th{
    border-bottom: solid 1px #000;
}
.table_style td{
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
}

/*---------------------
contact
---------------------*/
.table_style table {
    width: 90%;
    margin: 0 auto;
}
.table_style table input.w_60{ width: 60px;}
.table_style table input.w_70,
.table_style table select.w_70{
 width: 70px;
}

#contact .table_style table {
    border-top: solid 1px #c5eeff;
}
#contact .table_style td{
    background: #c5eeff;
}
#contact .table_style th{
    width:40%;
    border-bottom: solid 1px #eaeef0;
    font-size: 18px;
}
#contact .table_style tr:last-child th{
    border-bottom: solid 1px #eaeef0;
}
#contact .table_style td{
    border-bottom: solid 1px #eaeef0;
}
#contact .table_style + p{
    font-size: 18px;
    margin-top: 40px;
}

#contact #main h2.contact_h2{
    margin: 70px 0 50px;
    font-size: 24px;
    text-align: center;
    display: block;
}
#contact #main h2.contact_h2:after{
    background: none;
}

.contact_lead{
    margin: 50px 0 100px;
    font-size: 18px;
}
.contact p a{
    text-decoration: underline;
    display: inline-block;
}
.contact_btn{
    text-align: center;
}
.contact_btn span input[name="confirm"],
.contact_btn span input[name="submitConfirm"] {
    margin: 40px auto;
    padding: 10px 100px;
    display: inline-block;
    background: #ff3030;
    text-align: center;
    color: #fff;
    font-size: 24px;
    border:none;
    cursor:pointer;
}
.contact_btn span input[name="submitBack"]{
    display: inline-block;
    padding: 10px 50px;
    margin: 40px 1%;
    background: #000;
    text-align: center;
    color: #fff;
    font-size: 20px;
    border:none;
    cursor:pointer;
}

.contact .top_bnr{
    width: 90%;
    margin: 0 auto 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align-items: center;
    -webkit-align-items: center;
    -ms-flex-align-items: center;
    align-items: center;
    background: #f0f0f0;
    text-align: center;
}
.contact .top_bnr li:first-child{
    background: #ff3939;
    font-size: 22px;
    text-align: center;
    float: left;
    padding: 0 10px;
    line-height: 94px;
    position: relative;
    color: #fff;
    flex: 2;
}
.contact .top_bnr li:first-child:after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(255, 150, 0, 0);
    border-left-color: #ff3939;
    border-width: 48px;
    margin-top: -48px;
}
.contact .contactForm {
    background: #f0f0f0;
    text-align: center;
    padding: 10px 0 0;
    display: inline-block;
    flex: 3;
}

.privacy p{
    margin: 0 15px 30px;
}

.privacy .circle {
    background: rgba(0, 0, 0, 0) url("./img/ico/circle.png") no-repeat scroll 0 center;
    padding-left: 20px;
}
.privacy h3 {
    font-size: 24px;
    letter-spacing: 1px;
    margin: 0 5px 30px;
}

/*---------------------
レスポンシブ対応
---------------------*/

@media screen and (max-width: 1400px) {
    .footer_navArea .contentWrapper{
        width: auto;
        margin: 0 10%;
    }
    .footer_navArea div div{
        /*margin: 0 10% 30px;*/
        margin: 0 auto 30px;
    }
    .footer_navArea::before{
        border-width: 110px 110px 0 0;
    }
    .footer_navArea::after{
        border-width: 0 0 110px 110px;
    }
    footer .footer_navArea > div {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-justify-content: center;
        -webkit-justify-content: center;
        -ms-flex-justify-content: center;
        justify-content: center;
        -webkit-box-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        -ms-flex-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .footer_nav li{
        margin: 0 10px 10px 0;
    }
}

@media screen and (max-width: 1000px) {
    .contentWrapper,
    .breadcrumb{
        width: auto;
        margin: 0 2.5%;
    }
    .main_img img {
        height: auto;
    }
    header ul.hd_right  {
        display: none;
    }
    header::before{
        border-width: 110px 110px 0 0;
    }
    header::after{
        border-width: 0 0 110px 110px;
    }
    .navi_button {
        position: fixed;
        background: #000;
        width: auto;
        top: 0;
        right: 0;
        left: 0;
        padding: 10px;
        display: block;
        z-index: 100;
        box-sizing: border-box;
    }
    .navi_button .nav_logo{
        float: left;
        width: 50%;
        max-width: 171px;
    }
    .navi_button .nav_btn{
        float: right;
    }
    .navi_button .nav_btn:hover{
        cursor: pointer;
    }
    .g_naviWrap {
        width: 100%;
        top: 47px;
        left: 0;
        z-index: 100;
        display: none;
    }
    .g_naviWrap .contentWrapper{
        margin: 0;
    }
    .g_navi ul,
    .g_navi li{
        display: block;
        border: none;
        padding: 0;
    }
    .g_navi li a{
        width: auto;
        display: block;
        text-align: center;
        border-left: none;
        border-bottom: 1px solid #ddd;
        position: relative;
        margin: 0;
    }
    .g_navi li a:hover {
        background: #ff3030;
        opacity: 1.0;
        padding: 10px 30px;
        margin: 0;
    }
    .g_navi li:first-child{
        display: none;
    }
    .g_navi li:first-child img{
        height: 25px;
    }
    .g_navi li:first-child a:hover {
        padding: 5px 30px;
        margin: 0;
    }
    .g_navi li a{
        display: block;
    }

    footer .ft_topArea {
        display: block;
        text-align: center;
    }
    footer .ft_topArea div {
        display: block;
        margin-bottom: 20px;
    }
    footer .ft_topArea div:nth-child(1), 
    footer .ft_topArea div:nth-child(3) {
        text-align: center;
    }
    footer .ft_topArea div:nth-child(2) img {
        width: 100%;
        max-width: 422px;
    }
    footer .ft_topArea div:nth-child(4) {
        display: inline-block;
    }
    footer .footer_navBox {
        margin-bottom: 30px;
    }
    footer .footer_nav {
        margin: 0 1em
    }
    footer .ft_cal{
        width: 100%;
        max-width: 413px;
        padding: 10px;
        background: #fff;
    }

    /*top*/
    #top header{
        margin-top: 0!important;
    }
    #top .navi_button.none {
        background: none;
    }
    #top .navi_button .nav_logo{
        display: block;
    }
    #top h1{
        font-size: 0.7em;
        display: block;
        margin-right: 50px;
        overflow: hidden;
        padding: 5px 0 10px;
    }
    #top #main {
        margin-top: 0;
    }
    #top .g_naviWrap{
        margin-bottom: 0;
        position: absolute;
    }
    .caseArea .col1of4 {
        width: 50%; 
    }
    .blogBox li p:first-child {
        margin: 0px 0 10px;
    }
    .blogArea .btn_white a{
         right: 5%;
    }
    .blogBox li div img {
        height: auto;
    }

    /*feature*/
    .five_featuresArea ul li ul li.feature_text{
        position: static;
    }
    /*detail*/
    .detailArea .contentWrapper {
        padding: 30px 0 50px;
    }
    /*contact*/
    .contact .top_bnr li:first-child{
        border-radius: 5px 5px 0 0;
        height: auto; 
        line-height: 1em; 
        vertical-align: middle;
        float: none;
        padding: 20px;
        font-size: 1em;
    }
    .contact .top_bnr li:first-child:after {
        top: 189%;
        left: 50%;
        border-color: rgba(255, 150, 0, 0);
        border-top-color: #ff3939;
        border-width: 10px;
        margin-left: -10px;
    }
    .contact .top_bnr li img {
        max-width: 374px;
        width: 90%;
    }
    .contact .contactForm {
        border-radius: 0 5px 5px 5px;
    }
    .contact .top_bnr {
        width: 90%;
        margin: 0 auto 50px;
        display: block;
    }
}


@media screen and (max-width: 900px) {

    /*top*/
    .top_feature {
        display: block;
    }
    .top_feature .col1of4 {
        width: 100%;
    }
    .top_feature .col3of4 {
        width: 100%;
        padding: 20px 5%;
        box-sizing: border-box;
    }
    .top_feature .col3of4 li div:nth-child(1) {
        padding: 20px 20px 20px 0;
    }
    .top_feature .btn_white a {
        right: 5%;
    }
    .messsage_imgBox ul li.col1of2{
        width: 100%;
    }
    .blogArea {
        display: block;
    }
    .blogArea .col1of4 {
        /*width: 100%;*/
        position: relative;
    }
    .blogArea .col3of4 {
        /*width: 100%;*/
        padding: 20px 5%;
        box-sizing: border-box;
    }
    .topftArea {
        display: block;
    }

    /*access*/
    .accessArea .google_maps{
        display:none;
    }
    .accessArea iframe{
        display: block;
    }
    .accessArea .google_map {
        display:block;
        position: relative;
        padding-bottom: 26.25%;
        padding-top: 30px;
        height: 0;
        overflow: hidden;
    }
    .accessArea .google_map iframe,
    .accessArea .google_map object,
    .accessArea .google_map embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

@media screen and (max-width: 768px) {
    .pc{ display:none; }
    .smp{ display:block; }
    .smptate{ display:none; }
    .main_img span.main_img_bg{ display:block; }

    header .logo{
        display: inline-block;
    }
    header .logo img{
        width: 50%;
    }
    #top h1{
        display: none;
    }
    h2 {
        font-size: 30px;
        padding: 10px;
    }
    .section_title {
        margin: 50px 0;
    }
    .bnrArea{
        -webkit-box-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        -ms-flex-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .bnrArea li{
        width: 50%;
        flex: none;
    }
    .blogArea .btn_white a{
        width:150px;
    }

    .contractionBox li p{
        line-height:1.2em;
        font-size:11px;
    }

    /*feature*/
    .five_featuresArea li.feature_img span {
        border-left: 50px solid #fff;
    }

    /*company*/
    .company_lead .ver_center {
        position: static; 
        -webkit-transform: none; 
        -ms-transform: none;
        transform: none; 
    }
    .company_lead img {
        width: 100%;
    }
    .company_lead .lead_txt {
        line-height: 1.3;
    }
    .company_message .col1of2,
    .company_history .col1of2 {
        width: 100%;
    }
    #company h2#history,
    #company h2#gaiyo,
    #company h2#access {
        padding: 50px 0 10px;
    }
    #company .h2_above{
        margin-bottom: 0;
    }
    .company_message .bg_redline,
    .company_message .bg_lightbule,
    .company_history .bg_lightbule,
    .company_history .bg_redline{
        display:none;
    }
    .table_style th {
        width:30%;
        padding: 20px;
    }

    /*teian*/
    #teian h1{
        font-size: 1.3em;
    }
    #teian h1 span{
        font-size: 0.8em;
    }
    .toowner_text {
        line-height: 1.5;
    }

    /*detail*/
    .detail_mainArea,
    .detail_sideArea{
        width: 100%;
        float: none;
    }
    .side_newsArea .newNews,
    .side_newsArea .sitemapBox{
        width: 50%;
        float: left;
    }
    .detail_sideArea .side_bnr{
        margin: 20px 0;
    }
    .detail_sideArea .side_bnr li{
        display: inline-block;
    }
    .detail_sideArea .side_bnr li img{
        width: auto;
    }
    .detail_sideArea .side_fbArea img{
        max-width: 236px;
    }
    .detail_content li:last-child {
        padding-right: 2%;
    }
    .detailArea {
        padding-top: 0;
    }

    /*contact*/
    .contact .table_style th, 
    .contact .table_style td {
        display: block;
        width: 100%;
        box-sizing:border-box;
    }
    #contact .table_style th{
        width: 100%;
        box-sizing:border-box;
    }
    .contact .contactForm {
        padding: 20px 0;
    }
    /*footer*/
    .footer_nav {
        width: auto;
    }
    footer .ft_topArea div.pc{
        display:none;
    }
    footer .ft_topArea div.smp a img{
        width:auto;
    }
    /*blog*/
    #blog .blogArea {
        margin: 10px 0 20px;
        padding-bottom:20px;
    }
    #blog .pagenationArea,
    #teian .pagenationArea,
    #case .pagenationArea{
        padding:20px 0;
    }

    /* Android Huck */
    html.android .caseArea li.col1of4{
        float:none;
        display:block;
        width:98%;
    }
    html.android .caseArea li.col1of4 img{
        width:100%;
    }
    html.android .contractionBox li div {
        top: 70%;
    }
    
    /*topnews*/
    .newsArea{
        display: block;
    }
    .newsArea .bg_lightblue{
        padding:1px 5%;
        box-sizing:border-box;
    }
    .newsArea .col1of4{
        width:100%;
        display: block;
        float:none;
    }
    .newsArea .col3of4 {
        width:100%;
        display: block;
        float:none;
    }

}
@media screen and (max-width: 640px) {
    .blogArea .btn_white a{
        width:130px;
    }
}
@media screen and (max-width: 479px) {
    .smp{ display:none; }
    .smptate{ display:block; }

    .contentWrapper {
        padding: 20px 0;
    }
    .col1of2,.col1of3,.col2of3,.col1of4,.col3of4,.col1of5,.col2of5,.col3of5{
        width: 100%;
        float: none;
    }
/*    .caseArea .col1of4 {
        width: 100%; 
    }
*/
    .w_auto_s img{
        width: 100%;
    }
    header .logo {
        position: absolute;
        top: 10px;
        left: 10px;
    }
    header::before,
    .footer_navArea::before{
        border-width: 50px 50px 0 0;
    }
    header::after,
    .footer_navArea::after{
        border-width: 0 0 50px 50px;
    }
    h1{
        font-size: 2em;
    }
    h1 span{
        font-size: 0.8em;
    }
    .bnrArea li a {
        padding: 10% 0;
    }
    footer .ft_topArea div.smp a img{
        width:100%;
    }
    .ft_topArea a.smp img{
        width:90%;
    }

    /*top*/
    .aboutArea {
        display: block;
    }
    .aboutArea img{
        display: block;
    }
    .aboutArea .btn_white a{
                position: static;
    }
    .top_feature .col3of4 li div:nth-child(1) {
        display: none;
    }
    .top_feature .btn_white a {
        position: static;
    }
    #top .blogArea {
        display: block;
    }
    #top .blogArea .blogBox .col1of2 {
         width: 100%; 
    }
    #top .blogArea .blogBox .col1of2::after {
        content: "";
        display: block;
        clear: both;
        height: 0;
    }
    #top .blogArea .btn_white a {
        /*position: static;*/
        width:150px;
    }
    .topftArea ul li {
        width: 50%;
    }
    #top .blogArea .col1of4,
    #top .blogArea .col3of4{
        float:none;
        display:block;
    }

    .top_feature .col3of4 {
        background: #f0f0f0 none repeat scroll 0 0;
    }

    /*feature*/
    .five_featuresArea ul li ul {
        display: block;
    }
    .five_featuresArea ul li ul li {
        width: 100%;
    }
    .five_featuresArea ul li:nth-child(even) ul li.feature_text {
        text-align: left;
    }
    .feature_flowArea ol li{
        display: block;
    }
    .feature_flowArea ol li div{
        margin-bottom: 10px;
    }
    .feature_flowArea ol li div:nth-child(1) {
        text-align: left;
        padding-left: 5%;
    }
    .feature_flowArea ol li div:nth-child(1):after {
        margin-left: 0;
        margin-right: auto;
    }
    .five_featuresArea ul li ul li.feature_text {
        padding: 5%;
    }
    .five_featuresArea li ul li.feature_img span{
        display: none;
    }
    .five_featuresArea ul li:nth-child(1) ul {
        background: url(./img/main/top/ico_almighty.png) no-repeat right 5% top;
        background-size: 10%;
    }
    .five_featuresArea ul li:nth-child(2) ul {
        background: url(./img/main/top/ico_speed.png) no-repeat right 5% top;
        background-size: 10%;
    }
    .five_featuresArea ul li:nth-child(3) ul {
        background: url(./img/main/top/ico_quality.png) no-repeat right 5% top;
        background-size: 10%;
    }
    .five_featuresArea ul li:nth-child(4) ul {
        background: url(./img/main/top/ico_onestop.png) no-repeat right 5% top;
        background-size: 10%;
    }
    .five_featuresArea ul li:nth-child(5) ul {
        background: url(./img/main/top/ico_propose.png) no-repeat right 5% top;
        background-size: 10%;
    }

    /*company*/
    #company h2 {
        margin: 30px 0;
        font-size: 20px;
    }
    .company_message .message_title {
        font-size: 2em;
    }
    .table_style th, .table_style td {
        display: block;
        width: auto;
    }

    /*teian*/
    .toowner_text.ver_center{
        position: static;
        color: #000;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }

    /*case*/
    .section_title {
        margin: 0 0 30px;
    }
    .category_listArea {
        font-size: 14px;
    }
    .category_name {
        margin-bottom: 0;
    }

    /*detail*/
    .detailArea .contentWrapper {
        padding: 0 0 50px;
    }
    .side_newsArea .newNews,
    .side_newsArea .sitemapBox {
        width: 100%;
        float: none;
    }
    .subArea li{
        float:none;
        max-width:370px;
        width:98%;
    }
    .subArea li:nth-child(odd){
        margin:0 auto 10px;
    }
    .subArea li:nth-child(even){
        margin:0 auto 10px;
    }

    /*contact*/
    .contact .table_style td {
        padding: 10px;
        box-sizing: border-box;
    }
    input[type="text"],
    input[type="email"], textarea {
        width: 90%;
    }

    .topftArea{
        display:none;
    }
    .topftArea .fbArea .fb_iframe_widget, 
    .topftArea .fbArea .fb_iframe_widget span,
    .topftArea .fbArea .fb_iframe_widget span iframe[style] {
        width: 100% !important;
    }
    .topftArea div{
        padding:inherit;
    }
    .topftArea .fbArea{
        padding:10px;
    }
    .topftArea .fbArea .fb-page{
        width: 100% !important;
        box-sizing:border-box;
    }

}