/*
Theme Name: GRACE BODY REPAIR
Description: GRACE BODY REPAIR のテーマ
Version: 1.0
Author:	株式会社GRACE
License: GPL
License URI: https://www.gnu.org/copyleft/gpl.html
*/


@charset "utf-8";

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    font-weight: normal;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
    -webkit-text-size-adjust: 100%;
}

article,aside,details,figcaption,figure,
footer,header,menu,nav,section {
	display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

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

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

/* Reset+ */

ol li,
ul li {
	list-style: none;
	list-style-position: inside;
}

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

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.mt05 { margin-top: 5px !important;}
.mt10 {	margin-top: 10px !important;}
.mt15 {	margin-top: 15px !important;}
.mt20 {	margin-top: 20px !important;}
.mt25 {	margin-top: 25px !important;}
.mt30 {	margin-top: 30px !important;}
.mt35 {	margin-top: 35px !important;}
.mt40 {	margin-top: 40px !important;}
.mt45 {	margin-top: 45px !important;}
.mt50 {	margin-top: 50px !important;}
.mt55 {	margin-top: 55px !important;}
.mt60 {	margin-top: 60px !important;}
.mt65 {	margin-top: 65px !important;}
.mt70 {	margin-top: 70px !important;}
.mt75 {	margin-top: 75px !important;}
.mt80 {	margin-top: 80px !important;}
.mt85 {	margin-top: 85px !important;}
.mt90 {	margin-top: 90px !important;}
.mt95 {	margin-top: 95px !important;}
.mt100 {margin-top: 100px !important;}
.mb00 {	margin-bottom: 0 !important;}
.mb05 {	margin-bottom: 5px !important;}
.mb10 {	margin-bottom: 10px !important;}
.mb15 {	margin-bottom: 15px !important;}
.mb20 {	margin-bottom: 20px !important;}
.mb25 {	margin-bottom: 25px !important;}
.mb30 {	margin-bottom: 30px !important;}
.mb35 {	margin-bottom: 35px !important;}
.mb40 {	margin-bottom: 40px !important;}
.mb45 {	margin-bottom: 45px !important;}
.mb50 {	margin-bottom: 50px !important;}
.mb55 {	margin-bottom: 55px !important;}
.mb60 {	margin-bottom: 60px !important;}
.mb65 {	margin-bottom: 65px !important;}
.mb70 {	margin-bottom: 70px !important;}
.mb75 {	margin-bottom: 75px !important;}
.mb80 {	margin-bottom: 80px !important;}
.mb85 {	margin-bottom: 85px !important;}
.mb90 {	margin-bottom: 90px !important;}
.mb95 {	margin-bottom: 95px !important;}
.mb100 { margin-bottom: 100px !important;}
.mr05 {	margin-right: 5px !important;}
.mr10 {	margin-right: 10px !important;}
.mr15 {	margin-right: 15px !important;}
.mr20 {	margin-right: 20px !important;}
.mr25 {	margin-right: 25px !important;}
.mr30 {	margin-right: 30px !important;}
.mr35 {	margin-right: 35px !important;}
.mr40 {	margin-right: 40px !important;}
.mr45 {	margin-right: 45px !important;}
.mr50 {	margin-right: 50px !important;}
.mr55 {	margin-right: 55px !important;}
.mr60 {	margin-right: 60px !important;}
.mr65 {	margin-right: 65px !important;}
.mr70 {	margin-right: 70px !important;}
.mr75 {	margin-right: 75px !important;}
.mr80 {	margin-right: 80px !important;}
.mr85 {	margin-right: 85px !important;}
.mr90 {	margin-right: 90px !important;}
.mr95 {	margin-right: 95px !important;}
.mr100 {margin-right: 100px !important;}
.ml05 {	margin-left: 5px !important;}
.ml10 {	margin-left: 10px !important;}
.ml15 {	margin-left: 15px !important;}
.ml20 {	margin-left: 20px !important;}
.ml25 {	margin-left: 25px !important;}
.ml30 {	margin-left: 30px !important;}
.ml35 {	margin-left: 35px !important;}
.ml40 {	margin-left: 40px !important;}
.ml45 {	margin-left: 45px !important;}
.ml50 {	margin-left: 50px !important;}
.ml55 {	margin-left: 55px !important;}
.ml60 {	margin-left: 60px !important;}
.ml65 {	margin-left: 65px !important;}
.ml70 {	margin-left: 70px !important;}
.ml75 {	margin-left: 75px !important;}
.ml80 {	margin-left: 80px !important;}
.ml85 {	margin-left: 85px !important;}
.ml90 {	margin-left: 90px !important;}
.ml95 {	margin-left: 95px !important;}
.ml100 {	margin-left: 100px !important;}
.m_a {	
    margin-right: auto;
	margin-left: auto;
}
.pt05 {	padding-top: 5px !important;;}
.pt10 {	padding-top: 10px !important;;}
.pt15 {	padding-top: 15px !important;;}
.pt20 {	padding-top: 20px !important;;}
.pt25 {	padding-top: 25px !important;;}
.pt30 {	padding-top: 30px !important;;}
.pt35 {	padding-top: 35px !important;;}
.pt40 {	padding-top: 40px !important;;}
.pt45 {	padding-top: 45px !important;;}
.pt50 {	padding-top: 50px !important;;}
.pt55 {	padding-top: 55px !important;;}
.pt60 {	padding-top: 60px !important;;}
.pt65 {	padding-top: 65px !important;;}
.pt70 {	padding-top: 70px !important;;}
.pt75 {	padding-top: 75px !important;;}
.pt80 {	padding-top: 80px !important;;}
.pt85 {	padding-top: 85px;}
.pt90 {	padding-top: 90px;}
.pt95 {	padding-top: 95px;}
.pt100 { padding-top: 100px;}
.pb05 {	padding-bottom: 5px !important;;}
.pb10 {	padding-bottom: 10px !important;;}
.pb15 {	padding-bottom: 15px !important;;}
.pb20 {	padding-bottom: 20px !important;;}
.pb25 {	padding-bottom: 25px !important;;}
.pb30 {	padding-bottom: 30px !important;;}
.pb35 {	padding-bottom: 35px !important;;}
.pb40 {	padding-bottom: 40px !important;;}
.pb45 {	padding-bottom: 45px !important;;}
.pb50 {	padding-bottom: 50px !important;;}
.pb55 {	padding-bottom: 55px !important;;}
.pb60 {	padding-bottom: 60px !important;;}
.pb65 {	padding-bottom: 65px !important;;}
.pb70 {	padding-bottom: 70px !important;;}
.pb75 {	padding-bottom: 75px !important;;}
.pb80 {	padding-bottom: 80px !important;;}
.pb85 {	padding-bottom: 85px;}
.pb90 {	padding-bottom: 90px;}
.pb95 {	padding-bottom: 95px;}
.pb100 { padding-bottom: 100px;}
.pb120 { padding-bottom: 120px;}
.pb150 { padding-bottom: 150px;}
.pr05 {	padding-right: 5px;}
.pr10 {	padding-right: 10px;}
.pr15 {	padding-right: 15px;}
.pr20 {	padding-right: 20px;}
.pr25 {	padding-right: 25px;}
.pr30 {	padding-right: 30px;}
.pr35 {	padding-right: 35px;}
.pr40 {	padding-right: 40px;}
.pr45 {	padding-right: 45px;}
.pr50 {	padding-right: 50px;}
.pr55 {	padding-right: 55px;}
.pr60 {	padding-right: 60px;}
.pr65 {	padding-right: 65px;}
.pr70 {	padding-right: 70px;}
.pr75 {	padding-right: 75px;}
.pr80 {	padding-right: 80px;}
.pr85 {	padding-right: 85px;}
.pr90 {	padding-right: 90px;}
.pr95 {	padding-right: 95px;}
.pr100 { padding-right: 100px;}
.pl05 {	padding-left: 5px;}
.pl10 {	padding-left: 10px;}
.pl15 {	padding-left: 15px;}
.pl20 {	padding-left: 20px;}
.pl25 {	padding-left: 25px;}
.pl30 {	padding-left: 30px;}
.pl35 {	padding-left: 35px;}
.pl40 {	padding-left: 40px;}
.pl45 {	padding-left: 45px;}
.pl50 {	padding-left: 50px;}
.pl55 {	padding-left: 55px;}
.pl60 {	padding-left: 60px;}
.pl65 {	padding-left: 65px;}
.pl70 {	padding-left: 70px;}
.pl75 {	padding-left: 75px;}
.pl80 {	padding-left: 80px;}
.pl85 {	padding-left: 85px;}
.pl90 {	padding-left: 90px;}
.pl95 {	padding-left: 95px;}
.pl100 { padding-left: 100px;
}
.fl_r,.floatR{float: right;}
.fl_l,.floatL{float: left;}
.fw_b,.bold{font-weight: bold;}
.txt_c,.textC{text-align: center;}
.txt_r,.textR {text-align: right;}
.txt_l,.textL {text-align: left;}

.w100per{width:100%;}
.w95per { width: 95%;}
.w90per { width: 90%;}
.w85per { width: 85%;}
.w80per { width: 80%;}
.w75per { width: 75%;}
.w70per { width: 70%;}
.w65per { width: 65%;}
.w60per { width: 60%;}
.w55per { width: 55%;}
.w50per { width: 50%;}

/* Common */

body {
	font-family: Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" ,  "メイリオ" , Meiryo , "Meiryo UI" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-size: 14px;
    line-height: 1.8;
    color: #000;
    background: #fff;
}

.serif {
    font-family:"Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    font-size: 16px;
}

.en{font-family: 'Archivo Narrow', sans-serif;}

a {
  color: #000;
	text-decoration:none;
}
a:hover {
  color: #000;
  opacity: 0.6;
  -webkit-transition: all .5s;
  transition: all .5s;
}
a:hover img {
	opacity: 0.8;
	-webkit-transition: all .5s;
	transition: all .5s;
}

.white{ color:#fff; }
.black{ color:#000; }
.red{ color:#da1313; }
.yl{ color:#ffc000; }

.bgRed{ background:#d5001c; }
.bgGray{ background: #333; }
.bgBlue{ background: #0a2d96; }
.bgBlack{ background: #000; }
.bgBlack2{ background: #333; }
.bgWhite{ background: #fff; }
.bgYl{ background: #ffc000; }
.bgF0{background-color:#f0f0f0;}
.bgF6{background-color:#f6f6f6;}
.bgD0{background-color:#d0d0d0;}

.fs12 {font-size:12px;}
.fs13 {font-size:13px;}
.fs14 {font-size:100%;}
.fs15 {font-size:15px;}
.fs16 {font-size:16px;}
.fs18 {font-size:18px;}
.fs20 {font-size:20px;}
.fs22 {font-size:22px;}
.fs24 {font-size:24px;}
.fs28 {font-size:28px;}
.fs30 {font-size:30px;}
.fs32 {font-size:32px;}
.fs36 {font-size:36px;}
.fs38 {font-size:38px;}
.fs40 {font-size:40px;}

.smp{display:none;}

/*クリアフィックス*/
.cf:after{
	content:".";
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
}

.contentWrp{
    width: 1280px;
    margin: 0 auto;
    position: relative;
}
.inner {
    margin: 0 auto;
    position: relative;
}
.dispTb{
    display: table;
}
.vMiddle{
    display: table-cell;
    vertical-align: middle;
}
iframe{ width:100%; }
.flex{
    display: -webkit-flex;
    display: flex;
}
.flex1 {
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex2 {
    justify-content: space-around;
    align-items: stretch;
}
.flex3{
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}
.flex-wrap{
    flex-wrap: wrap;
}
.col2{
    width:49%;
}
.col3 li{
    width:32%;
}
.col4 li{
    width:24%;
}
.flex.col4{
    flex-wrap: wrap;
}
.col5 li{
    width:19%;
}
.w100 img{
    width:100%;
    height: auto;
}

.btn{
    position: relative;
    cursor: pointer;
    font-size: 100%;
    line-height: 1;
}
.btn a{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.btn:hover{
    transition: .3s;
}
.btn1{
    max-width: 160px;
    width:100%;
    margin:auto;
    padding:10px 0 10px 20px;
    text-align: left;
    color:#fff;
    background:url(images/btn/arrow01.png) no-repeat 95% 50%;
    border:1px solid #fff; 
}
.btn1:hover{
    background:#d5001c url(images/btn/arrow01.png) no-repeat 95% 50%;
    border:1px solid #d5001c;
}
.btn2{
    padding:10px 0 10px 20px;
    color:#fff;
    background:#333 url(images/btn/arrow02.png) no-repeat 90% 50%;
}
.btn2:hover{
    background:#d5001c url(images/btn/arrow01.png) no-repeat 90% 50%;
}
.btn3{
    width:185px;
    padding:10px 0 10px 30px;
    text-align: left;
    color:#fff;
    background:#333 url(images/btn/arrow01.png) no-repeat 80% 50%;
}
.btn3:hover{
    background:#d5001c url(images/btn/arrow01.png) no-repeat 80% 50%;
}

.lh2{ line-height: 2; }
.lh12{line-height: 1.2;}

#loading {
    width: 100%;
    height: 100%;
    margin: 0;
    background: #fff;
    opacity: 1.0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999; 
}
#loading img {
    position:absolute;
    top:50%;
    left:0;
    right:0;
    margin-top:-80px;
    margin-left:-80px;
    width:80px;
    margin:auto;
}

/*---------------------
header
---------------------*/
header {
    position: relative;
	width: 100%;
    height:70px;
    background: #fff;
}
#header .logo{
    position: absolute;
    top:20px;
    left:20px;
    width:331px;
}
#header .contact.btn{
    position: absolute;
    top:0;
    right:0;
    width: 100px;
    height: 100%;
    display:flex;
    border-radius:0;
}
#header .contact.btn{
    background-color: #d5001c;
}
#header .contact.btn .icon{
    display:block;
    margin:auto;
    width:38px;
}
#header .telArea{
    position: absolute;
    top:20px;
    right:125px;
}
#header .telArea .tel{
    font-size: 22px;
    font-weight: bold;
    line-height: 1;
}
#header .telArea .txt{
    padding-top:3px;
}
#header .telArea .txt span{
    display: block;
}
.telArea span{
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}
.telArea span.icon{
    width:18px;
    margin-right: 5px;
}
.telArea .tel{
    font-size: 34px;
    font-weight: bold;
    line-height: 1;
}

.g_naviWrap {
    display: block;
    position: absolute;
    top:22px;
    right:490px;
    width: 520px;
}
.g_navi ul{
    margin: 0 auto;
    width: 100%;
}
.g_navi li {
    position: relative;
    text-align: center;
}
.g_navi li:hover{
    color:#d5001c;
}
.g_navi li a {
    position: absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
}
.g_navi li span{
    display: block;
}

/* メインビジュアル */
section#mv{
    padding:0;
}
#mv{
    position: relative;
    width:100%;
    top:0;
    margin:0 auto;
}
#mv .bx-wrapper{
}
#mv .bx-wrapper .bx-controls-direction{
    display: none;
}

#topImage{
    width:100%;
    margin:auto;
}
#topImage img{
    width: 100%;
}

#mv .bx-wrapper img.mv_sp {
    display: none;
}

/* セクション共通 */
section {}
h2{}
.h2tit{
    position: relative;
    z-index:2;
}
.h2tit:before{
    content: "";
    position: absolute;
    top:90%;
    width:50%;
    height: 1px;
    background:url(images/background/bgLine01.png);
}
.h2 {
    margin-bottom: 25px;
    padding:0 0 10px;
    font-size: 32px;
    text-shadow:
        0 1px 0 #fff,
        1px 0 0 #fff,
        0 -1px 0 #fff,
        -1px 0 0 #fff,
        -1px -1px 0 #fff,
        1px -1px 0 #fff,
        -1px 1px 0 #fff,
        1px 1px 0 #fff;
}
.h3 {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
    line-height: 1.5;
}
.h3 span{
    display: block;
    font-weight: bold;
}
.h3 .en{
    font-size: 32px;
    font-weight: normal;
}

.titArea h3 span{
    display: block;
}

.redLine {
    background-image: linear-gradient(transparent 50%, #b91c1c 90%);
    display: inline;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
    ::i-block-chrome, .redLine{
        background-image: linear-gradient(transparent 50%, #b91c1c 90%);
        display: inline;
      }
}

.bdR{position: relative;}
.bdR .border{
    position: absolute;
    width:96%;
    top:20px;
    left:0;
    right: 0;
    margin:auto;
    border-bottom:13px solid #b91c1c;
    z-index: 1;
}

.horizontal-line {
    overflow: hidden;
    text-align: center;
}
.horizontal-line span {
    display: inline-block;
    padding: 0 0.5em;
    position: relative;
	font-weight: bold;
}
.horizontal-line span:before,
.horizontal-line span:after {
    border-top: 1px solid;
    content: "";
    position: absolute;
    top: 50%;
    width: 99em;
}
.horizontal-line span:before {
    right: 100%;
}
.horizontal-line span:after {
    left: 100%;
}

.grayline {
    background: #353535;
    color: #fff;
    margin-bottom: 0;
    position: relative;
    line-height: 1.5;
    letter-spacing: 2px;
    font-size: 30px;
    padding: 25px 10px 20px;
    position: relative;
}
.grayline::before {
    position: absolute;
    content: "";
    display: block;
    width: 140px;
    height: 8px;
    background: #810021;
    top: 0;
    left: 50%;
    margin-left: -70px;
}
.grayline.lh2{ line-height: 2;}

.tablebox {
    display: table;
    width: 100%;
}
.tablebox .left,
.tablebox .right {
    display: table-cell;
    vertical-align: top;
    width: 50%;
}
.tablebox .left img,
.tablebox .right img {
    vertical-align: top;
}
ul.check01 li{
    margin-bottom:8px;
    padding:10px;
    font-size: 115%;
    line-height: 1;
    background-color:#efefef;
}
ul.check01 li span,
ul.check02 li span{
    display: inline-block;
    vertical-align: top;
}
ul.check01 li span.icon{
    width:17px;
    height: 16px;
    margin-right: 5px;
    background:url(images/icon/iconCheck1.png) no-repeat;
}
ul.check01 li span.txt{
    width:90%;
    line-height: 1.5;
}
ul.check01 li span.txt,
ul.check02 li span.txt{
    /*padding-left:1em;
    text-indent: -1em;*/
}
ul.check02{
    width: 49%;
}
ul.check02 li{
    margin-bottom:15px;
    line-height: 1.2;
}
ul.check02 li span.icon{
    width:13px;
    height: 12px;
    margin-right: 5px;
    background:url(images/icon/iconCheck2.png) no-repeat;
}

.telinfo span{
    display: block;
    line-height: 1.3;
}
.halfImg .upper,
.halfImg .lower{
    width:50%;
}
.halfImg .upper{
    margin-right: 50%;
}
.halfImg .lower{
    margin-left:50%;
}

/*************************** 
トップページコンテンツ 
**************************/
#top01 .topArea{
    background:url(images/toppage/topArea.png) no-repeat;
    background-size: cover;
}
.appeal{
    padding-top:40px;
    padding-bottom:60px;
    background-position: 0 30%;
    background-repeat: no-repeat;
    background-size: cover;
}
.appeal .lower{
    padding-top:20%;
    text-align: right;
}
.appeal h3,
.appeal p{
    text-shadow:
        0 1px 0 #000,
        1px 0 0 #000,
        0 -1px 0 #000,
        -1px 0 0 #000,
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}
.top01_01{
    background-image: url(images/toppage/bgTop01_01.jpg) ;
}
.top01_02{
    background: url(images/toppage/bgTop01_02.jpg) no-repeat 0 30%;
    background-size: cover;
}
#top02 .inner{
    max-width: 1280px;
    width:100%;
    padding-top:40px;
}
#top02 .left,
#top02 .right{
    width:50%;
    padding-top:100px;
    padding-bottom:100px;
    color: #fff;
}
.top02_01{
    background: url(images/toppage/bgTop02_01.jpg) no-repeat;
    background-size: cover;
}
.top02_02{
    background: url(images/toppage/bgTop02_02.jpg) no-repeat;
    background-size: cover;
}
.top02_03{
    position: relative;
    padding-top:60px;
    padding-bottom:30px;
    color: #fff;
    background: url(images/toppage/bgTop02_03.jpg) no-repeat;
    background-size: cover;
}
.top02_03 .btn{
    margin-left:80%;
}
.support li{
    max-width:300px;
    width:24%;
    margin-bottom:20px;
}
.support li .img{
    margin-bottom:10px;
}
.support li h3{
    margin-bottom: 5px;
    font-weight: bold;
}

/* 下層ページ共通 */
#mainImage{
    background-size: cover;
    background-repeat: no-repeat;
}
#mainImage h2 span{
    display: block;
    font-weight: bold;
}
#mainImage h2 span.en{
    font-size: 40px;
}
#mainImage h2 span.jp{
    font-size: 18px;
}
section.page{
    padding:40px 0 50px;
}
.breadcrumb{
    margin-bottom:50px;
    padding: 10px 0;
    background:#efefef;
    line-height: 1.4;
}
.breadcrumb a:hover{
}
.breadcrumb li{
    display: inline;
}

.topArea.message{
    position: relative;
}
.topArea.message .contentWrp:nth-child(2){
    padding-left:15px;
    z-index: 2;
}
.topArea.message .logo{
    position: absolute;
    top:0;
    left:0;
    right:0;
    max-width: 1280px;
    width:100%;
    height: 222px;
    margin:auto;
    z-index: 1;
}
.topArea.message .logo img{
    position: absolute;
    top:10px;    
    right:5%;
    width:165px;
}
.topArea.message .checkArea{
    max-width: 920px;
    width:100%;
}
.topArea.message .checkArea ul.check01{
    width:49%;
}
.topArea.message p.fs16,
.topArea.message .left p{
    text-shadow:
        0 1px 0 #fff,
        1px 0 0 #fff,
        0 -1px 0 #fff,
        -1px 0 0 #fff,
        -1px -1px 0 #fff,
        1px -1px 0 #fff,
        -1px 1px 0 #fff,
        1px 1px 0 #fff;
}
.pageTitle{
    position: relative;
    height: 160px;
}
.pageTitle .h2{
    margin-bottom:15px;
    padding-top:10px;
}
.pageTitle .logo{
    position: absolute;
    top:0;
    left:0;
    right:0;
    max-width: 1280px;
    width:100%;
    height: 115px;
    margin:auto;
    z-index: 1;
}
.pageTitle .logo img{
    position: absolute;
    top:10px;    
    left:680px;
    width:87px;
}
.pageCont01{}
.pageContT{
    padding-top:50px;
    padding-bottom:180px;
}
.pageContT .left{
    width:50%;
    color:#fff;
}
.pageContT .left h3,
.pageCont01 .box h3{
    margin-bottom:15px;
    padding-bottom:8px;
    font-size: 24px;
    font-weight: bold;
    border-bottom:1px solid #7e7e7e;
    line-height: 1.5;
}
.pageContL,
.pageContR{
    position: relative;
    padding-top:50px;
    padding-bottom:50px;
}
.pageContL .contentWrp .inner,
.pageContR .contentWrp .inner{
    width:49%;
}
.pageContR .contentWrp .inner{
    margin-left: 52%;
}
.pageContL .contentWrp .inner{
    margin-right: 52%;
}
.pageContL .img,
.pageContR .img{
    display: none;
}
.pageCont01 .box{
    max-width: 640px;
    width:50%;
    padding:50px;
    background:rgba(235,235,235,0.9);
}
.pageCont01 .boxL{margin-left: 50%;}
.pageCont01 .boxR{margin-right: 50%;}
.pageCont02 h3{
    margin-bottom:30px;
    padding-bottom:10px;
    border-bottom: 1px solid #7e7e7e;
}
.pageCont02 .box{
    padding:30px;
    background:#fff;
    border: 1px solid #7e7e7e;
}
.pageCont02 .box h4{
    margin-bottom:20px;
    padding-bottom:5px;
    text-align: center;
    font-weight: bold;
    border-bottom: 1px solid #7e7e7e;
}

/*---------------------
整備・車検
---------------------*/
.maintenance .topArea{
    background:url(images/maintenance/topArea.png) no-repeat;
    background-size: cover;
}
#maintenance01_01 .pageContT{
    background:url(images/maintenance/maintenance01_01t.jpg) no-repeat center;
    background-size: cover;
}
#maintenance01_01 .pageContL{
    background:url(images/maintenance/maintenance01_01l.png) no-repeat center;
    background-size: cover
}
#maintenance01_01 .pageContR{
    background:url(images/maintenance/maintenance01_01r.png) no-repeat center;
    background-size: cover;
}
#maintenance01_02 .pageContT{
    background:url(images/maintenance/maintenance01_02t.jpg) no-repeat center;
    background-size: cover;
}
#maintenance01_02 .pageContL{
    background:url(images/maintenance/maintenance01_02l.png) no-repeat center;
    background-size: cover;
}
#maintenance01_02 .pageContR{
    background:url(images/maintenance/maintenance01_02r.png) no-repeat center;
    background-size: cover;
}
#maintenance01_03 .pageContT{
    background:url(images/maintenance/maintenance01_03t.jpg) no-repeat center;
    background-size: cover;
}
#maintenance01_03 .pageContL{
    background:url(images/maintenance/maintenance01_03l.png) no-repeat center;
    background-size: cover;
}
#maintenance01_03 .pageContR{
    background:url(images/maintenance/maintenance01_03r.png) no-repeat center;
    background-size: cover; 
}
#maintenance01_04{
    background:url(images/maintenance/maintenance01_04.jpg) no-repeat center;
    background-size: cover; 
}
#maintenance01_04 .box h4{
    margin-bottom:15px;
    padding-bottom:10px;
    font-weight: bold;
    border-bottom:1px solid #7e7e7e;
}
#maintenance02 .h2tit::before {
    content: "";
    position: absolute;
    top: 90%;
    width: 65%;
    height: 1px;
    background: url(images/background/bgLine01.png);
}
#maintenance02 .pageTitle .logo img{
    position: absolute;
    top:10px;    
    left:990px;
    width:87px;
}
#maintenance02_01{
    background:url(images/maintenance/maintenance02_01.jpg) no-repeat center;
    background-size: cover; 
}
#maintenance02_04 .titArea{
    padding:50px 0;
    background:url(images/maintenance/maintenance02_04.jpg) no-repeat center;
    background-size: cover; 
}
#maintenance02_04.pageCont02 h3{
    margin-bottom:0;
}
#maintenance02_04 .lower{
    top:-20px;
}
#maintenance02_04 .lower p{
    margin-top:60px;
}
#maintenance02_04 .lower .box ul.check02{
    margin-left:30%;
}

/*---------------------
鈑金・塗装
---------------------*/
.bodyworks .topArea{
    background:url(images/bodyworks/topArea.png) no-repeat;
    background-size: cover;
}
#bodyworks01_01 .inner,
#bodyworks01_05.inner{
    max-width: 1280px;
    width:100%;
    margin:auto;
}
#bodyworks01_01 li{
    width:calc(100%/3);
    padding-top:160px;
    padding-bottom:60px;
    color:#fff:
}
#bodyworks01_01 li p{
    display: inline-block;
    padding-left:50px;
    color:#fff;
    border-bottom:1px solid #fff;
}
#bodyworks01_01 li:nth-child(1){
    background:url(images/bodyworks/bodyworks01_01_01.jpg) no-repeat center;
    background-size: cover;
}
#bodyworks01_01 li:nth-child(2){
    background:url(images/bodyworks/bodyworks01_01_02.jpg) no-repeat center;
    background-size: cover;
}
#bodyworks01_01 li:nth-child(3){
    background:url(images/bodyworks/bodyworks01_01_03.jpg) no-repeat center;
    background-size: cover;
}
#bodyworks01_01 li:nth-child(4){
    background:url(images/bodyworks/bodyworks01_01_04.jpg) no-repeat center;
    background-size: cover;
}
#bodyworks01_01 li:nth-child(5){
    background:url(images/bodyworks/bodyworks01_01_05.jpg) no-repeat center;
    background-size: cover;
}
#bodyworks01_01 li:nth-child(6){
    background:url(images/bodyworks/bodyworks01_01_06.jpg) no-repeat center;
    background-size: cover;
}
#bodyworks01_02{
    background:url(images/bodyworks/bodyworks01_02.jpg) no-repeat center;
    background-size: cover;
}
#bodyworks01_03 .pageContT{
    background:url(images/bodyworks/bodyworks01_03t.jpg) no-repeat center;
    background-size: cover;
}
#bodyworks01_03 .pageContL{
    background:url(images/bodyworks/bodyworks01_03l.png) no-repeat center;
    background-size: cover
}
#bodyworks01_03 .pageContR{
    background:url(images/bodyworks/bodyworks01_03r.png) no-repeat center;
    background-size: cover;
}
#bodyworks01_04 .pageContT{
    background:url(images/bodyworks/bodyworks01_04t.jpg) no-repeat center;
    background-size: cover;
}
#bodyworks01_04 .pageContL{
    background:url(images/bodyworks/bodyworks01_04l.png) no-repeat center;
    background-size: cover;
}
#bodyworks01_04 .pageContR{
    background:url(images/bodyworks/bodyworks01_04r.png) no-repeat center;
    background-size: cover;
}
#bodyworks01_04 .pageContL:nth-of-type(4){
    background:url(images/bodyworks/bodyworks01_04-02l.png) no-repeat center;
    background-size: cover;
}
#bodyworks01_04 .pageContR:last-of-type{
    background:url(images/bodyworks/bodyworks01_04-02r.png) no-repeat center;
    background-size: cover;
}
#bodyworks01_05{
    position: relative;
}
#bodyworks01_05.inner{
    margin-bottom:30px;
}
#bodyworks01_05 .col2{
    position: relative;
    width:50%;
}
#bodyworks01_05 .bgBlack{
    position: relative;
    padding:20px 40px;
    /*bottom:-75px;*/
    z-index: 2;
}
#bodyworks01_05 .col2:nth-child(1) .bgBlack{
    max-width:455px;
    width:100%;
}
#bodyworks01_05 .col2:nth-child(2) .bgBlack{
    max-width:525px;
    width:100%;
}
#bodyworks01_05 .col2 .h3{
    margin-bottom:5px;
    text-align: left;
}
#bodyworks01_05 .col2 .img{
    position: relative;
    top:-70px;
    z-index: 1;
}

/*---------------------
コーディング
---------------------*/
.insurance .topArea{
    padding-bottom:140px;
    background:url(images/insurance/topArea.png) no-repeat;
    background-size: cover;
}
.insurance .topArea .box{
    max-width: 660px;
    width:100%;
    padding:13px 10px;
    background-color:#efefef;
}
.insurance .topArea .box .logo1{
    width:52px;
    margin-right: 15px;
}
.insurance .topArea .box .txt{
    padding-top:6px;
    line-height: 1.3;
}
#insurance01_02 .titArea{
    position: relative;
    padding:60px 0;
    background:#efefef;
    z-index: 1;
}
#insurance01_02 .titArea:before{
    content:'';
    position: absolute;
    top:0;
    left:0;
    width:70%;
    height: 100%;
    margin-right:30%;
    background:url(images/insurance/insurance01_02t.png) no-repeat;
    background-size: cover;
}
#insurance01_02 .titArea .bgTit{
    position: relative;
    padding:80px 0;
    background:url(images/background/bgWhite.png) repeat-y;
    background-size: 100%;
    z-index: 2;
}
#insurance01_02 .titArea .bgTit .inner{
    width:520px;
    margin-left:50%;
    padding-left:60px;
}
#insurance01_02 .titArea .bgTit .inner .h3{
    text-align: left;
}

#insurance01_02 .bgImg{
    padding:50px 0;
}
#insurance01_02 .bgImg .left,
#insurance01_02 .bgImg .right{
    max-width: 640px;
}
#insurance01_02 .bgImg .left{
    margin-right: 50%;
}
#insurance01_02 .bgImg .right{
    margin-left: 50%;
}
#insurance01_02 .box{
    padding:35px 30px;
    text-align: center;
    background:rgba(255,255,255,0.9);
}
#insurance01_02 .boxL,
#insurance01_02 .boxR{
    max-width: 540px;
    margin:auto;
}
#insurance01_01 .pageContL{
    background:url(images/insurance/insurance01_01l.png) no-repeat center;
    background-size: cover
}
#insurance01_01 .pageContR{
    background:url(images/insurance/insurance01_01r.png) no-repeat center;
    background-size: cover;
}
#insurance01_02_01{
    background:url(images/insurance/insurance01_02_01.jpg) no-repeat center;
    background-size: cover
}
#insurance01_02_02{
    background:url(images/insurance/insurance01_02_02.jpg) no-repeat center;
    background-size: cover
}
#insurance01_02_03{
    background:url(images/insurance/insurance01_02_03.jpg) no-repeat center;
    background-size: cover
}
#insurance01_02_04{
    background:url(images/insurance/insurance01_02_04.jpg) no-repeat center;
    background-size: cover
}
#insurance01_02_04 .box{
    max-width: 1180px;
    width:100%;
    margin:auto;
}
#insurance01_02_04 .box h3{
    margin-bottom:15px;
    padding-bottom:5px;
    border-bottom:1px solid #7e7e7e;
}
#insurance02 .pageContT{
    background:url(images/insurance/insurance02t.jpg) no-repeat center;
    background-size: cover;
}
#insurance02 .pageContL{
    background:url(images/insurance/insurance02l.png) no-repeat center;
    background-size: cover
}
#insurance02 .pageContR{
    background:url(images/insurance/insurance02r.png) no-repeat center;
    background-size: cover;
}

/*---------------------
私達について
---------------------*/
#case .topArea,
.about-us .topArea{
    padding-bottom:50px;
    background:url(images/aboutus/topArea.png) no-repeat;
    background-size: cover;
}
.about-us .topArea.message .logo img{
    right:15%;
}
#aboutus01 table{
    width:100%;
    border-top:1px solid #888;
    border-left:1px solid #888;
}
#aboutus01 table th,
#aboutus01 table td{
    padding:15px 30px;
    border-right:1px solid #888;
    border-bottom:1px solid #888;
}
#aboutus01 table th{
    width:30%;
    text-align: left;
    background:#f0f0f0;
}
#aboutus01 table td{
    width:70%;
    background:#fff;
}
#aboutus02 .bottom .h3{
    text-align: left;
}
#aboutus02 .bottom .box{
    max-width: 480px;
    width:100%;
    padding:20px;
}
#aboutus02 .bottom .img{
    max-width: 640px;
    width:50%;
}

.flow .box{
}
.flow .box .img{
    max-width:640px;
    width: 50%;
}
.flow .box .right{
    max-width:640px;
    width:50%;
    padding:40px 50px;
}
.flow .box .right h3{
    margin-bottom:20px;
}
.flow .box .right h3 span{
    display: inline-block;
    vertical-align: middle;
}
.flow .box .right h3 span.step{
    width:84px;
    padding:5px 10px 3px;
    text-align: center;
    color:#fff;
    background:#d5001c;
    line-height: 1;
}
.flow .box .right h3 span.txt{
    padding-left:15px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
}
.flow .box .right .telArea .icon{
    margin-right: 5px;
    padding-top:5px;
}
.flow .box .right .telArea .tel{
    font-size: 36px;
    line-height: 0.9;
}
.flow .box .right .telArea .txt{
    padding-left:5px;
    line-height: 1.2;
}
.flow08 .tit{
    margin-bottom:10px;
    padding:5px;
    text-align: center;
    background:#dcdcdc;
}
.flow08 .card{
    max-width: 339px;
    width:100%;
    margin:0 auto 30px;
}

/*---------------------
お問い合わせ
---------------------*/
#inquiry .telArea{
    margin-bottom:30px;
}
#inquiry .telArea .icon{
    margin-right: 5px;
    padding-top:5px;
}
#inquiry .telArea .tel{
    font-size: 36px;
    line-height: 0.9;
}
#inquiry .telArea .txt{
    padding-left:5px;
    line-height: 1.2;
}

.c-cform{
    width:100%;
    max-width: 1000px;
    margin:0 auto 40px;
    font-size:16px;
    border-top:1px solid #d2d2d2;
}
.c-cform th{
    width:30%;
    padding:15px;
    font-weight: bold;
    text-align: left;
    border-bottom:1px solid #d2d2d2;
}
.c-cform th span.red{
    display: inline-block;
    margin-left:8px;
}
.c-cform tr:last-child th{
    vertical-align: top;
}
.c-cform td{
    width:70%;
    padding:15px 30px;
    border-bottom:1px solid #d2d2d2;
}
.c-cform input,
.c-cform textarea{
    
}
.c-cform .w80{
    width:80%;
    padding:5px;
    background: #f4f4f4;
}
.c-cform .w80::-webkit-input-placeholder {
    color: #b2b2b2;
    font-weight: normal;
}
.c-cform .w80:-ms-input-placeholder {
    color: #b2b2b2;
    font-weight: normal;
}
.c-cform .w80::-moz-placeholder {
    color: #b2b2b2;
    font-weight: normal;
}
.c-cform input[type="file"]{
    font-size:95%;
}
.c-cform__consent{
    text-align: center;
    margin-bottom:30px;
}
.c-cform__consent a{
    color:#000;
    text-decoration:underline;
}
.c-cform__consent input{
    margin-right: 10px;
}

input.btnConfirm,
input.submitback{
    width:300px;
    margin:auto;
    padding:15px 0;
    color:#fff;
    background:#d5001c url(images/btn/arrow01.png) no-repeat 85% 49%;
    text-align:center;
    font-weight:bold;
    cursor:pointer;
    box-shadow: 0;
    border:none;
    line-height: 1;
    margin-bottom: 10px;
}
input.submitback {
    width:100px;
    margin:0 10px 10px;
    background:#333;
}
input.btn_contact_return{
    margin:0 10px;
}
#inquiry .c-cform__consent{
    margin-bottom: 30px;
}
#inquiry .c-cform__consent a{
    color:#da1313;
    text-decoration: underline;
}

input.btn_contact_return{
    margin:0 10px;
}
.c-cform__consent .textLink{
    display: inline-block;
}
.mw-wp-form_image img{
    width:40%;
}

/* プライバシーポリシー */
#privacy .contentWrp .inner{
    max-width:870px; 
}
#privacy h3{
    font-weight: bold;
}

/*---------------------
施工事例
---------------------*/
/* 地域別 */
.mainArea{
    padding:100px 0 70px;
}
.mainArea .inner{
    max-width: 590px;
    width:100%;
    margin:auto;
}
.mainArea.gifu{
    background:url(images/main/mvGifu.jpg) no-repeat center;
    background-size: cover;
}
.mainArea.aichi{
    background:url(images/main/mvAichi.jpg) no-repeat center;
    background-size: cover;
}
.mainArea.otherPref{
    background:url(images/main/mvOther.jpg) no-repeat center;
    background-size: cover;
}
.areaWrp{
    background:#f3f3f3 url(images/works/bgArea.png) no-repeat left;
    background-size: cover;
}
.areaWrp .box{
    max-width: 890px;
    width:100%;
    margin:auto;
    padding:30px;
    text-align: center;
    background:#fff;
    border:1px solid #7e7e7e;
}
.areaWrp .box h3{
    margin-bottom:20px;
    padding-bottom:5px;
    border-bottom:1px solid #7e7e7e;
}

/* 施工事例一覧 */
#topCase .bx-wrapper {
}
topCase .bx-viewport {
    height: auto !important;
    margin: auto;
}
#topCase .bx-wrapper .bx-controls-direction a {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    outline: 0;
    width: 56px;
    height: 56px;
    text-indent: -9999px;
    z-index: 9999;
}
#topCase .bx-wrapper .bx-prev {
    left: -30px;
    background: url('images/main/top/prev.png') no-repeat;
}
#topCase .bx-wrapper .bx-next {
    right: -30px;
    background: url('images/main/top/next.png') no-repeat;
}
#topCase ul{
    margin-bottom:60px;
}
/* Areaボタンリストの折返し行間（三重県追加でその他エリアが2段目に回るため） */
ul.area,
ul.area2{
    row-gap:15px;
}
#topCase .btn.more{
    margin:auto
}
.topCaseS{ display: none; }

ul.model li{
    max-width: 405px;
    width:32%;
    margin-right: 2%;
    margin-bottom:20px;
}
ul.model li:nth-child(3n){
    margin-right:0;
}
ul.model li.btn,
ul.area li.btn,
ul.area2 li.btn,
ul.type li.btn{
    padding:15px 0 15px 20px;
    font-size: 115%;
}
ul.model li.btn,
ul.area2 li.btn,
ul.type li.btn{
    background:#efefef url(images/btn/arrow02.png) no-repeat 95% 50%;
}
ul.model li.btn:hover,
ul.model li:last-child.btn:hover,
ul.type li.btn:hover,
ul.area2 li.btn:hover{
    color:#fff;
    background:#d5001c url(images/btn/arrow01.png) no-repeat 95% 50%;
}
ul.model li.btn span,
ul.area li.btn span,
ul.area2 li.btn span,
ul.type li.btn span{
    display: inline-block;
}
ul.model li.btn span.jp,
ul.area li.btn span.jp,
ul.area2 li.btn span.jp{
    width:30%;
}
ul.type li.btn span.jp{
    width:35%;
}
ul.model li.btn span.en,
ul.area li.btn span.en,
ul.area2 li.btn span.en,
ul.type li.btn span.en{
    font-family: "narrow";
    font-size: 87%;
}
ul.model li:last-child.btn{
    color:#fff;
    background:#333 url(images/btn/arrow02.png) no-repeat 95% 50%;;
}
ul.model li:last-child.btn span.jp,
ul.area li:last-child.btn span.jp,
ul.area2 li:last-child.btn span.jp{
    width:48%;
}
ul.type.col4 li{
    width:24%;
}
.menuArea .lower{
    padding-bottom:180px;
    background:url(images/works/bgMenu.png) no-repeat bottom right;
    background-size: cover;
}

#case .model.menuArea{
    margin-bottom: 20px;
}
#case .type.menuArea{
    margin-bottom: 40px;
}

.case.inner{
    max-width: 1280px;
    width:98%;
    margin:auto;
}
#topCase.case .archivePost{
    position: relative;
    margin:inherit;
}
.list.case .archivePost{
    position: relative;
    /*float:left;*/
    width:24%;
    margin:0 0.5% 20px;
}
.case .archivePost a{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height: 100%;
}
.case .archivePost .img{
    margin-bottom:8px
}
.case .archiveContents .sort{
    margin-bottom:5px;
}
.case .archiveContents .sort span,
#case-detail .sort span,
.datecate .cate span{
    margin-right: 3px;
    padding:2px 9px;
    font-size: 12px;
    color:#fff;
    background: #717171;
    border-radius: 5px;
    line-height: 1;
    display: inline-block;
}
.case .archiveContents table{
    width:100%;
    border-top:1px solid #d6d6d6;
}
.case .archiveContents table th,
.case .archiveContents table td{
    padding:5px 0;
    border-bottom:1px solid #d6d6d6;
}
.case .archiveContents table th{
    width:25%;
}
.case .archiveContents table td{
    width:75%;
}

/* 施工事例詳細 */
#case-detail #casetop .sort{
    margin-bottom:20px;
}
#case-detail #casetop table{
    width:100%;
    margin-bottom:15px;
    border-top:1px solid #d5d5d5;
}
#case-detail #casetop table th,
#case-detail #casetop table td{
    padding:10px 0;
    text-align: left;
    border-bottom:1px solid #d5d5d5;
}
#case-detail #casetop table th{
    width:25%;
}
#case-detail #casetop table td{
    width:75%;
}
.caseInner{
    max-width:700px;
    width:100%;
    margin:auto;
}
.detail .h2tit::before {
    content: "";
    position: absolute;
    top: 90%;
    width: 80%;
    height: 1px;
    background: url(images/background/bgLine01.png);
}
.detail .h2tit .h2{
    font-size: 30px;
}

/* 新着情報一覧 */
.news #mainLeft{
    max-width:960px;
    width:75%;
}
#news_list li{
    margin-bottom:25px;
    padding-bottom:25px;
    border-bottom:1px solid #bcbcbc;
}
#news_list li .img{
    width:250px;
    margin-right: 10px;
}
#news_list li .right{
    width:700px;
}
.news .datecate .date{
    padding-top:2px;
}
#news_list li .right h3{
    margin-bottom:15px;
    padding-bottom:5px;
    border-bottom:1px solid #000;
}

/* サイドバー */
.news #sidebar{
    max-width:260px;
    width:23%;
}
.news #sidebar .box{
    padding:15px;
}
.news #sidebar h2{
}
.news #sidebar li{
    padding:15px 18px;
    border-bottom: 1px dotted #7b7b7b;
}
.news #sidebar li a{
    text-decoration:underline;
}
.news .sp{display: none;}

/*---------------------
Pager
---------------------*/
.pager::before, .pager::after {
    content: " ";
    display: table;
}
.pager::after {
    clear: both;
}
.pager::before, .pager::after {
    content: " ";
    display: table;
}
.pager {
    position: relative;
    color:#fff;
}
.pager.bottomPager{
    padding-top:20px;
}
.pager span.pageNumber{
    display: inline-block;
    vertical-align: top;
    margin-right:5px;
    padding-top:8px;
}
.pager div.pager_num {
    display:inline-block;
    text-align:center;
    margin:0 auto;
}
.pager .pager_num span,
.pager .pager_num a {
    display: block;
    float:left;
    width:28px;
    height: 28px;
    text-align: center;
    margin:0 5px;
    padding-top: 0px;
    color:#000;
    background:#fff;
    border:1px solid #e0e0e0;
    border-radius:20px;
}
.pager .pager_num a.next,
.pager .pager_num a.prev{
}
.pager .pager_num span.current,
.pager .pager_num a:hover{
    color:#fff;
    background: #da1313;
    opacity: 1;
}

/* 詳細ページナビ */
.pagenavi .left,
.pagenavi .right{
    width:120px;
    position: relative;
}
.pagenavi .left a{
    background:url(images/icon/iconArrow3.png) no-repeat;
}
.pagenavi .left span{
    display: inline-block;
    margin-left:40px;
}
.pagenavi .right a{
    background:url(images/icon/iconArrow4.png) no-repeat 100% 0;
}
.pagenavi .right span{
    display: inline-block;
    margin-right: 40px;
}
.pagenavi .left a,
.pagenavi .right a{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height: 100%;
}
.pagenavi p{
    width: calc(100%/3);
}
.pagenavi .btn{
    margin:auto;
}
.pagenavi .btn3{
    width:250px;
    background-position: 90% 45%;
}

/* 新着情報詳細 */


/* ビジュアルエディタ装飾 */
.freeeditor h1 {
	text-align: left;
	font-size: 140%;
	font-weight: bold;
	border-bottom: 3px solid #e8e7e3;
	padding-bottom: 5px;
	margin-bottom: 20px;
}
.freeeditor h2 {
	text-align: left;
	border: none;
	font-size: 130%;
	font-weight: bold;
	border-bottom: 2px solid #e8e7e3;
	padding-left: 0;
	padding-bottom: 5px;
	margin-bottom: 20px;
}
.freeeditor h3 {
	text-align: left;
	font-size: 120%;
	font-weight: bold;
	border-bottom: 1px solid #e8e7e3;
	padding-bottom: 5px;
	margin-bottom: 10px;
}
.freeeditor h4 {
	text-align: left;
	font-size: 110%;
	font-weight: bold;
	margin-bottom: 10px;
}
.freeeditor h5 {
	text-align: left;
	font-weight: bold;
	margin-bottom: 10px;
}
.freeeditor strong {
	font-weight: bold;
}
.freeeditor img.alignright { display: block; margin: 0 0 0 auto; }/* 配置位置 右 */
.freeeditor img.alignleft { display: block; margin: 0 auto 0 0; }/* 配置位置 左 */
.freeeditor img.aligncenter { display: block; margin: 0 auto; }/* 配置位置 中央 */
.freeeditor img{
    width: auto;
    max-width: 700px;
    height: auto;
}

/* フッター */
#ftContact{
    background: url(images/footer/bgContact.jpg) no-repeat center;
    background-size: cover;
}
#ftContact .bgImg{
    position: relative;
    height: auto;
}
#ftContact .bgImg:before{
    position: absolute;
    content:'';
    width:45%;
    top:0;
    bottom:0;
    background:#fff;
}
#ftContact .bgImg .box{
    max-width: 580px;
    width:50%;
    padding:25px;
}
#ftContact .bgImg .box h3{
    margin-bottom:10px;
}

#footer .upper .left{}
#footer .upper #news{
    width: 880px;
}
#footer .newsList li {
    border-bottom: 1px solid #ccc;
    padding-bottom: 8px;
    margin-bottom: 8px;
}
#footer #news .newsList a {
    color: #000;
}
#footer .newsList li .cate span{
    display: inline-block;
    padding:2px 5px;
    font-size: 12px;
    color:#fff;
    background:#717171;
    border-radius: 5px;
    line-height: 1.2;
}
#footer .newsList li .date{
    padding-top:3px;
}
#footer .instagram h3 span{
    display: inline-block;
    vertical-align: middle;
}
#footer .instagram h3 span.icon{
    max-width: 31px;
    margin-right: 10px;
}
#footer .instagram ul li{
    max-width: 200px;
    width:16%;
}
#footer .instagram .snapwidget {
	position: relative;
	padding: 0 0 16%;
	height: 0;
	overflow: hidden;
}
#footer .instagram .snapwidget iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
#footer .lower {
    padding-top: 0;
}
#footer .lower{
    color: #fff;
}
#footer .lower a {
    color: #fff;
}
#footer .lower a:hover{
    color:#fff;
}
#footer .lower .h2tit .h2{
    text-shadow:
        0 1px 0 #333,
        1px 0 0 #333,
        0 -1px 0 #333,
        -1px 0 0 #333,
        -1px -1px 0 #333,
        1px -1px 0 #333,
        -1px 1px 0 #333,
        1px 1px 0 #333;
}
#footer .lower .h2tit:before{
    background:url(images/background/bgLine02.png);
}
#footer .lower .sitemap{
    max-width: 765px;
}
#footer .lower .sitemap li{
    position: relative;
    width:calc(100%/7);
    text-align: center;
    line-height: 1.5;
}
#footer .lower .sitemap li a{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
#footer .lower .sitemap li:hover{
    color:#d5001c;
}
#footer .lower .sitemap li span{
    display: block;
}
#footer .lower .logo{
    max-width: 331px;
    width:100%;
}

#footer .copyright {
    font-size: 12px;
    text-align: center;
}

/* error */
.error {
	margin: 30px auto;
}
.error h2 {
	font-size: 18px;
	margin-bottom: 15px;
}

/* gotop */
#top {
	position: relative;
    overflow: hidden;
}
.gotop {
	position: fixed;
	right: 50px;
	bottom: 50px;
	text-align: center;
	z-index: 4;
	background: rgba(0, 0, 0,0.7);
	padding: 15px 15px;
	border-radius:100px;
	-moz-border-radius:100px;
	-webkit-border-radius:100px;
	cursor: pointer;
	color: #fff;
	font-size: 36px;
    line-height: 1;
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    border: 1px solid #6c6c6c;
    text-align: center;
}
.gotop:hover {
	color: #fff;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, :root 
    .gotop{
        padding-top: 20px;
    }
}

/************************************************
      PC
************************************************ */

@media only screen and (min-width: 999px){
    .sp,
    .mini {
  	    display: none;
   }
}

@media only screen and (max-width: 1450px){
    #header .logo{
        width:25%;
        left:2%;
    }
    #header .telArea{
        top:8px;
        width:250px;
    }
    #header .telArea .txt span{
        display: inline-block;
    }
    .g_naviWrap{
        width:40%;
        left:0;
        right:0;
        margin:auto;
    }
    .g_navi ul{
        width:100%;
    }
    .g_navi li{
        font-size: 13px;
    }
}

@media only screen and (max-width: 1280px){
    .contentWrp{
        width:96%;
    }
    #header .telArea{
        top:20px;
        right:100px;
        width:210px;
    }
    #header .telArea .txt{
        display: none;
    }
    .g_naviWrap{
        width:38%;
        left:30%;
        right: inherit;
    }
    .h2tit .h2{
        padding-left:15px;
        padding-right: 20px;
        padding-bottom:5px;
        display: inline-block;
        border-bottom:1px solid #000;
        line-height: 1.5;
    }
    .h2tit .h2.contentWrp{
        width:inherit;
    }
    .h2tit:before{
        display: none;
    }
    #footer .lower .h2tit .h2{
        border-bottom:1px solid #fff;
    }
    .fs18{font-size: 16px;}
    
    ul.check02 li span.icon{
        max-width: 13px;
        width:6%;
        margin-right: 2%;
        background-size: 100%;
    }
    ul.check02 li span.txt{
        width:90%;
    }
    #insurance01_02 .titArea .bgTit .inner{
        width:480px;
    }
    .flow .box .img{
        max-width: 400px;
        width:42%;
    }
    .flow .box .right{
        max-width: 540px;
        width:54%;
    }
    #inquiry .contactArea.flex2{
        max-width: 500px;
        width:100%;
        margin:0 auto 20px;
        flex-wrap: wrap;
    }
    #inquiry .contactArea .title,
    #inquiry .contactArea .right{
        width:100%;
        margin:auto;
    }
    #inquiry .contactArea .title{
        margin-bottom:10px;
        text-align: center;
    }
    
    #topCase .bx-wrapper .bx-prev {
        left: 10px;
    }
    #topCase .bx-wrapper .bx-next {
        right: 10px;
    }
    ul.type.col4 li {
        width: 32%;
        margin-bottom:10px;
    }
    #news_list li .img{
        max-width: 250px;
        width:28%;
        margin-right:2%;
    }
    #news_list li .right{
        max-width:800px;
        width:70%;
    }
    
    #ftContact .bgImg:before{
        display: none;
    }
    #ftContact .bgImg .box{
        max-width: 520px;
        width:90%;
        background-color:#fff;
    }
    #footer .upper .left {
        width:25%;
    }
    #footer .upper #news {
        width: 75%;
        max-width: 880px;
    }
}

@media only screen and (max-width: 999px){
    .pc,
    .mini {
    	display: none;
    }
    header{
        height: 62px;
    }
    #header .logo{
        position: static;
        max-width: 331px;
        width:70%;
        margin: auto;
        padding-top:20px;
    }
    /* グローバルナビ */
    .g_naviWrap {
        display: none;
    }
    /* ドロワー */
    .drawer-hamburger {
        top:0;
        background-color: rgba(255, 255, 255, 0.8) !important;
        border: 1px solid #ccc;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        border-radius: 3px;
    }
    @media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, :root 
        .drawer-hamburger{
            top:-2px;
        }
    }
    .drawer-nav {
        color: #fff;
        background-color: rgba(0,0,0,0.7);
        padding: 20px 0;
        z-index: 10000;
    }
    .drawer-nav ul li {
    	width: 100%;
    	text-align: left;
    	font-size: 14px;
      border-bottom: 1px solid #586e85;
    }
    .drawer-nav ul li a {
    	color: #fff;
    	display: block;
        padding: 10px;
    }
    .drawer-hamburger-icon, .drawer-hamburger-icon::before, .drawer-hamburger-icon::after {
      background-color: #000;
    }
    .drawer-nav .telarea {
      padding: 10px;
    }
    .drawer-nav .telarea .icon,
    .drawer-nav .telarea .number {
      display: inline-block;
      vertical-align: middle;
    }
    .drawer-nav .telarea .icon {
      margin-right: 5px;
    }
    .drawer-nav .telarea .number {
      text-align: center;
    }
    .drawer-nav .telarea .number .tel {
      font-size: 18px;
      font-weight: bold;
    }
    
    .pageContT .left {
        width: 100%;
    }
    .pageCont01 .box{
        width:90%;
        padding:20px;
    }
    .pageCont01 .boxL,
    .pageCont01 .boxR{margin: auto;}
    #bodyworks01_05 .bgBlack{
        padding:10px;
    }
    #bodyworks01_05 .col2:nth-child(1) .bgBlack{
        max-width: inherit;
        border-right:1px solid #fff;
    }
    #bodyworks01_05 .col2:nth-child(2) .bgBlack{
        max-width: inherit;
    }
    #insurance01_02 .titArea:before{
        width:100%;
        margin-right: 0;
    }
    #insurance01_02 .titArea .bgTit{
        padding:0;
        background: none;
    }
    #insurance01_02 .titArea .bgTit .inner{
        width:80%;
        margin:auto;
        padding:30px;
        text-align: center;
        background-color:#fff;
    }
    #insurance01_02 .titArea .bgTit .inner .h3{
        text-align: center;
    }
    
    .topCase{
        display: none;
    }
    .topCaseS{
        display: block;
    }
    ul.model li,
    ul.model li:nth-child(3n),
    ul.type.col4 li,
    ul.col3.area2 li{
        max-width: inherit;
        width:48%;
        margin:0 1% 15px
    }
    ul.area2 li:last-child.btn span.jp{
        width:30%;
    }
    .case .archivePost{
        width:24%;
        margin:0 0.5% 20px;
    }
    .case .archiveContents table th{
        font-size: 1.3vw;
    }
    .news #sidebar .box{
        padding:10px;
    }
}

/************************************************
        Tablet max-width: 817px
************************************************ */
@media only screen and (max-width: 817px){
    body {
      font-size: 13px;
      line-height: 1.6;
    }
    .pt40{ padding-top:20px !important;}
    .pt50{ padding-top:25px !important;;}
    .pt60,.pt70,.pt80{ padding-top:30px !important;}
    .pt100{ padding-top:50px !important;}
    .pb40,.pb50{ padding-bottom:25px !important;}
    .pb60,.pb70,.pb80{ padding-bottom:30px !important;}
    .pb100,.pb120,.pb150{ padding-bottom:50px !important;}
    .mb30,.mb40{margin-bottom:20px !important;}
    .mb50 { margin-bottom: 25px !important;}
    .mb90{margin-bottom:40px !important;}
    .mt50{ margin-top:20px !important;}
    .fs12{font-size:10px;}
    .fs15,.fs16{ font-size: 100%;}
    .fs18{ font-size: 15px;}
    .fs20{ font-size: 18px;}
    .fs24,.fs28{ font-size: 20px;}
    .fs30{ font-size: 20px;}
    .fs36 {font-size:30px;}
    .fs38 {font-size:30px;}
    .fs40 {font-size:34px;}

    .breadcrumb{
        font-size:12px;
    }
    
    /* セクション共通 */
    .h2 {
        margin-bottom:15px;
        font-size: 24px;
    }
    .h3 {font-size: 22px;}
    .h3 .en {
        font-size: 24px;
    }
    .btn2,.btn3,
    .btn2:hover,.btn3:hover{
        background-size:20px;
    }
    #mainImage h2 span.en{
        font-size: 34px;
    }
    .breadcrumb {
        margin-bottom:30px;
    }
    
    /* コンテンツ */
    .appeal{
        padding-top:20px;
        padding-bottom:30px;
    }
    .appeal .lower{
        text-align: left;
    }
    
    #top01 .topArea .left{
        padding-bottom:15px;
        /* background:url(images/common/porsche.png) no-repeat right; ← porsche非表示(輸入車化) */
        background-size: 15%;
    }
    #top01 .topArea .logo{
        display: none;
    }
    #top02 .inner{
        padding-top:15px;
    }
    #top02 .left, #top02 .right {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .top02_03{
        padding-top:30px;
    }
    .top02_03 .btn{
        margin:15px auto 0;
    }
    .topArea.message .contentWrp:nth-child(2) {
        padding-left: 0;
    }
    .pageTitle{
        height:auto;
        margin-bottom:20px;
    }
    .pageTitle .logo img{
        max-width:60px;
        width:10%;
        left:90%;
    }
    .pageContT{
        padding-top:40px;
        padding-bottom:50px;
    }
    .pageContT .left h3, .pageCont01 .box h3{
        font-size: 20px;
    }
    .maintenance .topArea,
    .bodyworks .topArea,
    .insurance .topArea,
    #case .topArea, 
    .about-us .topArea{
        background-size: 100%;
        background-position: bottom;
    }
    .topArea.message .logo img{
        max-width:120px;
        width:20%;
    }
    .pageCont02 .col2{
        width:100%;
    }
    .pageCont02 p.col2{
        margin-bottom: 15px;
    }
    .pageCont02 .box{
        padding:15px 25px;
    }
    
    #maintenance02_04 .titArea{
        padding:25px 0;
    }
    #maintenance02_04 .lower p{
        margin-top:40px;
    }
    #bodyworks01_05.inner{
        height: 300px;
    }
    #bodyworks01_05 .col2 .img {
        position: absolute;
        top: 0;
    }
    .insurance .topArea{
        padding-bottom:70px;
    }
    .insurance .topArea .box .txt{
        padding-top:0;
    }
    #insurance01_02 .titArea{
        padding-top: 130px;
        padding-bottom: 20px;
    }
    #insurance01_02 .titArea:before{
        background-position: bottom 180px center;
        background-size: 100%;
    }
    #insurance01_02 .titArea .bgTit .inner{
        max-width: 540px;
        width:100%;
    }
    #insurance01_02 .bgImg .right,
    #insurance01_02 .bgImg .left{
        margin:auto;
    }
    #insurance01_02 .bgImg{
        padding-top: 130px;
        padding-bottom: 20px;
        background-size: max(700px, 100%);
        background-position-y: top;
    }
    #insurance01_02 .box{
        padding:25px;
    }
    #aboutus02 .bottom .col2.left,
    #aboutus02 .bottom .img{
        width: 100%;
        margin:auto;
    }
    #aboutus02 .bottom .col2.left{
        margin-bottom:15px;
    }
    
    .flow .box{
        margin-bottom:40px;
        padding:15px 15px 20px;
    }
    .flow .box .img,
    .flow .box .right{
        width:100%;
        margin:auto;
    }
    .flow .box .img{
        margin-bottom:15px;
    }
    .flow .box:before{
        border-width:30px;
        bottom:-60px;
    }
    .flow .box .right h3 span.txt{
        padding-left:20px;
    }
    .flow .box .right{
        padding:20px;
    }
    
    #inquiry .telArea .tel{
        font-size: 30px;
    }
    #inquiry .telArea .icon,
    .flow .box .right .telArea .icon{
        padding-top:0;
    }

    /* 施工事例一覧 */
    #topCase ul {
        margin-bottom: 30px;
    }
    ul.model li.btn, ul.area li.btn{
        padding: 15px;
        font-size: 100%;
    }
    ul.model li.btn,
    ul.model li:last-child.btn,
    ul.model li.btn:hover,
    ul.model li:last-child.btn:hover,
    ul.area li.btn,
    ul.area li.btn:hover,
    ul.area2 li.btn,
    ul.area2 li.btn:hover,
    ul.type li.btn,
    ul.type li.btn:hover{
        background-size:20px;
    }
    .menuArea .lower{
        padding-bottom:60px;
    }
    .mainArea{
        padding:50px 0;
    }
    .areaWrp .box{
        padding:15px;
    }
    #case .type.menuArea{
        margin-bottom:20px;
    }
    .case .archivePost{
        width: 49%;
    }
    .case .archiveContents table th{
        font-size: 100%;
    }
    #case_cate ul li a {
      font-size: 18px;
    }
    .case .archiveContents .sort{
        margin-bottom:10px;
    }
    .case .archiveContents .sort span, #case-detail #casetop .sort span{
        font-size: 10px;
    }

    /* 施工事例詳細 */
    #case-detail #casetop .sort{
        margin-bottom: 10px;
    }
    #case-detail #casetop table{
        margin-bottom: 10px;
    }
    #case-detail #casetop table th, #case-detail #casetop table td{
        padding:5px 0;
    }
    #casemid .bgWhite{
        padding:15px;
    }
    .detail .h2tit .h2 {
        font-size: 18px;
    }

    /* 新着情報一覧 */
    .news .sp{display: block;}
    .news #mainLeft{
        width:100%;
    }
    .news #sidebar{
        display: none;
    }
    #news_list li{
        margin-bottom:10px;
    }
    #news #news_list ul li{
        padding:15px 0;
    }
    .news .datecate{
        margin-bottom:8px;
    }
    .news .datecate .cate span{
        font-size: 10px;
    }
    .archiveList li{
        display: inline-block;
        margin-right: 10px;
    }
    #cate_archive h3,
    #monthly_archive h3{
        margin-bottom:10px;
        padding:5px;
        font-weight: bold;
        color:white;
        background:#333;
    }
    
    /* pager */
    .pager .pager_num span, .pager .pager_num a{
        padding-top:2px;
    }
    
    /* 新着情報詳細 */
    #news-detail {
      padding-top: 0;
    }

    #news-detail .inner {
      padding: 10px;
    }

    #news-detail #news-detail_top {
        padding-bottom: 0;
    }
    .freeeditor img{
        max-width: 100%;
        height: auto;
    }
    /* pagenavi */
    .pagenavi .left a,
    .pagenavi .right a{
        background-size: 20px;
    }
    .pagenavi .left span{
        margin-left:30px;
    }
    .pagenavi .right span {
        margin-right: 30px;
    }
    .pagenavi .btn3 {
        width: 220px;
        margin-top:-5px
    }

    /* gotop */
    .gotop {
        width: 40px;
        height: 40px;
    	font-size: 20px;
    	right: 10px;
    	bottom: 10px;
        padding-top:10px;
        padding-left:10px;
    }
    @media screen and (-webkit-min-device-pixel-ratio: 0) {
    _::-webkit-full-page-media, _:future, :root 
        .gotop{
            padding-top: 11px;
            padding-left:9px;
        }
    }

    /* メールフォームテンプレート */
    .c-cform{
        font-size: 100%;
    }

    /* フッター */
    #ftContact .bgImg{
        height: auto;
    }
    #ftContact .bgImg .box{
        max-width: 520px;
        width:90%;
        margin:auto;
        padding:15px;
        text-align: center;
    }
    #ftContact .bgImg .box .contact{
        max-width: 400px;
        width:100%;
        margin:auto;
    }
    #ftContact .bgImg .box .contact.flex{
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }
    .contact .btnContact{
        width:90px;
    }
    .telArea .tel,
    .flow .box .right .telArea .tel{
        font-size: 30px;
    }
    #footer .upper .left {
        width:100%;
        margin-bottom:20px;
    }
    #footer .upper #news {
        width: 100%;
        max-width: 880px;
    }
    #footer .newsList li .cate span{
        font-size: 10px;
    }
}

/************************************************
      Smartphone max-width: 640px
************************************************ */
@media only screen and (max-width: 640px){
    #mv .bx-wrapper img.mv_pc {
        display: none;
    }
    #mv .bx-wrapper img.mv_sp {
        display: block;
    }
    .list.case .archivePost{
        width:48%;
        margin:0 1% 15px;
    }
    #top01 .topArea,
    #top01 .topArea .left {
        background: none;
    }
    #top01 .topArea {
        position: relative;
    }
    #top01 .topArea::before {
        content: "";
        width: 60px;
        height: 80px;
        display:none; /* porsche crest非表示(輸入車化) 旧: background-image:url(images/common/porsche.png); */
        background-position:center;
        background-repeat:no-repeat;
        -moz-background-size:cover;
        background-size:cover;
        position: absolute;
        top: 0;
        right: 10px;
    }
    .topArea.message .contentWrp:nth-child(2) {
        padding-bottom: 10px !important;
    }
    .top01_01,
    .top01_02 {
        background: #000;
    }
    .top01_01.appeal,
    .top01_02.appeal,
    .top01_01.appeal .lower,
    .top01_02.appeal .lower {
        padding: 0;
    }
    .top01_01.appeal .upper,
    .top01_02.appeal .upper,
    .top01_01.appeal .lower,
    .top01_02.appeal .lower {
        padding: 20px 0 210px;
        position: relative;
    }
    .top01_02.appeal .lower {
        padding-bottom: 220px;
    }
    .top01_01.appeal .upper::after,
    .top01_02.appeal .upper::after,
    .top01_01.appeal .lower::after,
    .top01_02.appeal .lower::after {
        content: "";
        display: block;
        width: 100%;
        height: 200px;
        position: absolute;
        bottom: 0;
        left: 0;
        background-position:center;
        background-repeat:no-repeat;
        -moz-background-size:cover;
        background-size:cover;
    }
    .top01_01.appeal .upper::after {
        background-image:url(images/toppage/bgTop01_01_upper.jpg);
    }
    .top01_01.appeal .lower::after {
        background-image:url(images/toppage/bgTop01_01_lower.jpg);
    }
    .top01_02.appeal .upper::after {
        background-image:url(images/toppage/bgTop01_02_upper.jpg);
    }
    .top01_02.appeal .lower::after {
        background-image:url(images/toppage/bgTop01_02_lower.jpg);
        bottom: 10px;
    }
    .top01_01.appeal h3,
    .top01_02.appeal h3 {
        /* color: #fde3b5; */
        font-weight: bold;
        margin-bottom:8px;
    }

    #top02 .left, #top02 .right{
        width:100%;
    }
    .pageContL, .pageContR{
        padding:20px 0;
        background:none !important;
    }
    .pageContL .txt, .pageContR .txt{
        margin-bottom:15px;
    }
    .pageContL .img, .pageContR .img{
        display: block;
    }
    .pageContL .contentWrp .inner, .pageContR .contentWrp .inner{
        width:100%;
    }
    .pageContL .contentWrp .inner{
        margin-right: 0;
    }
    .pageContR .contentWrp .inner{
        margin-left:0;
    }
    #bodyworks01_01 li{
        width:50%;
        padding-top:20%;
        padding-bottom:30px;
    }
    #bodyworks01_01 li p{
        padding-left:10%;
    }
    #bodyworks01_05 .col2{
        width:100%;
    }
    #bodyworks01_05.inner{
        height: auto;
    }
    #bodyworks01_05 .col2:nth-child(1) .bgBlack{
        border-right:none;
    }
    #bodyworks01_05 .col2 .img{
        position: relative;
        top:-50px;
        margin-bottom:-50px;
    }
    .support li{
        width: 48%;
        margin-bottom:15px;
    }
    
    /* メールフォームテンプレート */
    .c-cform th,
    .c-cform td {
        display: block;
        width: 100%;
    }
    .c-cform th{
        padding-bottom:0;
        border-bottom:none;
    }
    .c-cform .w80{
        width:100%;
    }
    input.btnConfirm{
        max-width: 300px;
    }
    .area.col3 li{
        width:100%;
        max-width: 400px;
        margin:0 auto 10px;
    }
    ul.model li.btn span.jp, ul.area li.btn span.jp, ul.area2 li.btn span.jp,ul.area2 li:last-child.btn span.jp,ul.type li.btn span.jp,ul.model li:last-child.btn span.jp,ul.area li:last-child.btn span.jp{
        width: auto;
        margin-right: 10px;
    }
}

@media only screen and (max-width: 568px){
    .topArea.message .checkArea ul.check01{
        width:100%;
    }
    ul.model li, ul.model li:nth-child(3n),
    ul.type.col4 li, ul.col3.area2 li{
        max-width: 400px;
        width: 96%;
        margin: 0 auto 10px;
    }
    #footer .lower .sitemap li{
        width:calc(100%/4);
        margin-bottom:15px;
    }
    #footer .lower .col2{
        width:100%;
        margin-bottom: 15px;
    }
}

/************************************************
    Smartphone max-width: 414px
************************************************ */
@media only screen and (max-width: 414px){
    .pb40{padding-bottom:20px !important;}
    .pb50,.pb100{padding-bottom: 30px !important;}
    .pt30,.pt40{padding-top:20px !important;}
    .pt100{padding-top:30px !important;}
    .mb20,.mb30{margin-bottom:15px !important;}
    .mb60,.mb80,.mb90{margin-bottom:30px !important;}
    .mini {
    	display: block;
    }
    body{font-size:12px;}
    .fs16,.fs18{ font-size: 14px;}
    .fs20,.fs22{ font-size: 16px;}
    .fs24,.fs28{ font-size: 17px;}
    .fs30{ font-size: 18px;}
    .fs36 {font-size:20px;}
    .fs38 {font-size:20px;}
    .fs40 {font-size:26px;}
    .grayline {
        font-size: 19px;
        padding: 20px 1%;
        margin-bottom: 0;
    }
    .h2 {font-size: 20px;}
    .h3 {font-size: 16px;}
    .btn{ font-size: 10px;}
    
    /*header*/
    #header .logo{
        margin-right:25%;
    }
    .h2tit .h2 {
        padding-left: 10px;
        padding-right: 10px;
    }
    .topArea.message .logo{
        display: none;
    }
    
    /* 下層ページ */
    #mainImage h2 span.en {
        font-size: 30px;
    }
    #mainImage h2 span.jp{
        font-size: 14px;
    }
    .breadcrumb {
        margin-bottom:20px;
        font-size: 10px;
    }
    .pageContT {
        padding: 25px 0;
    }
    .pageCont01 .box{
        width:96%;
        padding:10px;
    }
    .pageContT .left h3, .pageCont01 .box h3{
        font-size: 18px;
    }
    .pageCont02 .box {
        padding: 15px;
    }
    .pageTitle .logo img {
        width: 8%;
        left: 85%;
    }
    #insurance01_02 .titArea .bgTit .inner,
    #insurance01_02 .box{
        padding:15px;
    }
    .flow .box{
        padding:10px;
    }
    .flow .box .right h3 span.step{
        font-size: 3.5vw;
    }
    .flow .box .right h3 span.txt{
        padding:10px;
        font-size: 4vw;
    }
    .flow .box .right{
        padding:10px;
    }
    .contact #inquiry .telArea{
        margin-left:0;
    }
 
    /* 施工事例一覧 */
    .mainArea{
        padding:20px 0;
    }
    .menuArea .lower {
        padding-bottom: 30px;
    }
    #case-detail #case-detail_flow .bgWhite .fl_r .title{
        font-size:16px;
    }
    .case .archivePost{
        width: 100%;
    }
    #news_list li .right h3{
        margin-bottom:5px;
    }
    .pagenavi .left span,
    .pagenavi .right span{
        display: none;
    }
    .pagenavi .btn3 {
        width: 200px;
        padding:10px;
        text-align: center;
        background-image:none;
    }
    #news_list li .img{
        width:100%;
        margin:0 auto 15px;
    }
    #news_list li .right{
        width:100%;
    }
    
    /* フッター */
    .gotop {
        font-size: 18px;
    }
    .contact .telArea{
        width:100%;
        max-width: 280px;
        margin:0 auto 15px;
        text-align: left;
    }
    .telArea .tel,
    .flow .box .right .telArea .tel{
        font-size: 26px;
    }
    .telArea span.icon{
        margin-top:-5px;
    }
    .contact .btnContact{
        width:100%;
        margin:auto;
        padding:0;
        text-align: center;
    }
    .contact .btnContact img{
        width: 90px;
    }
}

/************************************************
  Smartphone max-width: 360px
************************************************ */
@media only screen and (max-width: 361px){
    .list.case .archivePost{
        width:100%;
        margin:0 auto 15px;
    }
}

@media only screen and (max-width: 330px){
    #news_list li .img,
    #news_list li .right{
        width:100%;
        margin:auto;
    }
    #news_list li .img{
        margin-bottom:10px;
    }
}

/* ===== CF7移行（MW WP Form → Contact Form 7）ブリッジ ===== */
.c-cform td.tel input[type="tel"]{
    width:55%;
    padding:5px;
    background:#f4f4f4;
}
.c-cform__consent .wpcf7-acceptance,
.c-cform__consent .wpcf7-form-control-wrap{
    display:inline;
}
.c-cform__consent .wpcf7-list-item{
    margin:0;
    display:inline;
}
.c-cform__consent .wpcf7-list-item-label{
    display:none;
}
.c-cform .wpcf7-not-valid-tip,
.c-cform__consent .wpcf7-not-valid-tip{
    display:inline-block;
    color:#da1313;
}

/* submit + spinner: spinnerを絶対配置で送信ボタンの右外へ（レイアウトずれ防止） */
.c-submit{ position:relative; display:inline-block; }
.c-submit .wpcf7-spinner{ position:absolute; top:50%; right:0; margin:0; transform:translate(120%,-50%); }

/* reCAPTCHA v3 バッジを gotop（右下・PC bottom:50px / SP bottom:10px）の上へ退避 */
.grecaptcha-badge{ bottom:120px !important; z-index:9999 !important; }
@media screen and (max-width:768px){
  .grecaptcha-badge{ bottom:60px !important; }
}

/* ===== 屋号テキストロゴ（logo画像→テキスト置換 / 株式会社CAR GO） ===== */
.logo .brand_logo{
  display:inline-block;
  line-height:1.05;
  color:#1a1a1a;
  font-weight:700;
  letter-spacing:.03em;
  text-align:left;
}
.logo .brand_logo__co{
  display:block;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
}
.logo .brand_logo__name{
  display:block;
  font-size:30px;
  font-family:'Arial Black','Helvetica Neue',Arial,sans-serif;
  font-weight:900; /* Arial Black不在端末(SP)でも太字表示 */
}
#footer .lower .logo .brand_logo{ color:#fff; }
@media only screen and (max-width:1450px){
  .logo .brand_logo__name{ font-size:24px; }
  .logo .brand_logo__co{ font-size:11px; }
}
@media only screen and (max-width:767px){
  #header .logo .brand_logo__name{ font-size:26px; }
  #header .logo .brand_logo__co{ font-size:12px; }
}

/* ===== ヘッダー: 営業時間(平日/土日祝)＋定休日 を改行維持・通常フォントで収める =====
   営業時間が表示される >1280px のみ header高さ90px＋logo/nav/telAreaを縦センター(絶対配置のためtop:50%+translateY)。
   ≤1280は営業時間非表示のため原状70pxのまま(余白過多を回避)。width:auto/font縮小は不使用(nav被り/極小回避)。 */
#header .telArea .txt span{ display:block; white-space:nowrap; }
/* 定休日のフル注記（祝日の場合は営業…）: ヘッダー/ftContactは small で小さめに収める(brでなく同一行内) */
#header .telArea .txt .hol_note,
#ftContact .telArea .txt .hol_note{ font-size:10px; }
@media only screen and (min-width:1281px){
  header{ height:90px; }
  #header .logo{ top:50%; transform:translateY(-50%); }
  .g_naviWrap{ top:50%; transform:translateY(-50%); }
  #header .telArea{ top:50%; transform:translateY(-50%); }
}


/* 代表紹介(ceo) 参考:yunyusha-a 会社概要スタッフブロック ここから */
#ceo .secStaff__list{
  display: grid;
  grid-gap: 50px;
}
#ceo .secStaff__list .listItem__topBlk{
  width: calc(100% - 10px);
  display: flex;
  flex-direction: column;
  grid-gap: 7px;
}
#ceo .secStaff__list .listItem__btmBlk{
  width: calc(100% - 10px);
  margin: -25px 0 0 auto;
}
#ceo .secStaff__list .listItem__name{
  width: 100%;
  padding: 0 0 0 10px;
  font-weight: 700;
}
#ceo .secStaff__list .listItem__name .title{
  padding-right: 6px;
  color: #da1313;
  font-size: 14px;
  line-height: 1.7;
}
#ceo .secStaff__list .listItem__name .name{
  font-size: 22px;
  line-height: 30px;
}
#ceo .secStaff__list .listItem__img{
  width: 100%;
  padding-top: 55.386%;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
#ceo .secStaff__list .listItem__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
#ceo .secStaff__list .listItem__txtWrap{
  width: 100%;
  padding: 36px 22px 33px;
  background-color: #f0f0f0;
  border-radius: 20px;
  position: relative;
}
#ceo .secStaff__list .listItem__txtWrap .ttl{
  margin-bottom: 11px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
#ceo .secStaff__list .listItem__txtWrap .txt{
  line-height: 1.8;
}
#ceo .secStaff__list .listItem__txtWrap .txt + .txt{
  margin-top: 1.8em;
}
@media screen and (min-width: 768px){
  #ceo .secStaff__list{ grid-gap: 30px; }
  #ceo .secStaff__list .listItem{ display: flex; flex-direction: column; }
  #ceo .secStaff__list .listItem__topBlk{ width: 75%; flex-direction: column-reverse; grid-gap: 33px; }
  #ceo .secStaff__list .listItem__btmBlk{ width: 66.6666666667%; margin-top: -258px; }
  #ceo .secStaff__list .listItem__name{ padding: 0; }
  #ceo .secStaff__list .listItem__txtWrap{ padding: 40px; border-radius: 40px; }
  #ceo .secStaff__list .listItem__txtWrap .ttl{ margin-bottom: 20px; font-size: 20px; }
}
@media screen and (min-width: 1200px){
  #ceo .secStaff__list .listItem__name .title{ padding-right: 12px; font-size: 20px; }
  #ceo .secStaff__list .listItem__name .name{ font-size: 32px; }
  #ceo .secStaff__list .listItem__txtWrap{ padding: 60px; }
  #ceo .secStaff__list .listItem__txtWrap .ttl{ margin-bottom: 30px; font-size: 30px; }
}
@media screen and (min-width: 1200px){
  #ceo .secStaff__list .listItem__txtWrap{ padding: 60px 100px; }
}
/* 代表紹介(ceo) ここまで */


/* SNS (footer) ここから */
#footer .sns{ display:flex; gap:12px; margin:12px 0 8px; }
#footer .sns a{ display:flex; align-items:center; justify-content:center; width:36px; height:36px; background:#fff; border-radius:50%; }
#footer .sns img{ width:58%; height:auto; display:block; }
/* SNS (footer) ここまで */


/* header崩れ修正 ここから */
/* 116: SP/タブレット(≤999)でハンバーガー(右上fixed・約56px)とメールアイコンが重なる→メールをハンバーガー左へ寄せて両方表示 */
@media only screen and (max-width: 999px){
  header{ align-content:center; }
  /* 116: ロゴを左寄せ(中央→左)にして右側の空きを作り、メール＋ハンバーガーを右にまとめて非重複に */
  #header .logo{ margin:0; width:auto; max-width:56%; padding-top:0; padding-left:15px; }
  #header .contact.btn{ display:flex; width:44px; height:44px; top:9px; right:70px; left:auto; border-radius:3px; }
  #header .contact.btn .icon{ width:24px; }
  #header .contact.btn .icon img{ width:100%; height:auto; }
}
/* 115: グローバルナビと電話番号(050)の間隔確保（中央寄せナビをコンパクトに） */
@media only screen and (max-width: 1450px){
  .g_navi li{ font-size:12px; margin:0 8px; }
}
/* header崩れ修正 ここまで */


/* Modelボタン: 長い車種名で jp/en が各々折返して崩れる → jp行→"- en"行 の縦積み(nowrap)に */
ul.model li.btn span.jp,
ul.model li:last-child.btn span.jp,
ul.model li.btn span.en,
ul.model li:last-child.btn span.en{
  display:block;
  width:auto;
  white-space:nowrap;
  margin-right:0;
}


/* 屋号(株式会社CAR GO)を1かたまりに: titArea等の h3 span{display:block} でCAR GOがblock化し屋号が割れるのを防止。nowrapラッパーと内側spanをinlineへ */
h2 span[style*="nowrap"], h3 span[style*="nowrap"],
h2 span[style*="nowrap"] span, h3 span[style*="nowrap"] span{ display:inline; }

/* エリアページMV 1枚化(差し戻し③) ここから */
.mainArea{
    padding:0;
}
.mainArea.gifu,
.mainArea.aichi,
.mainArea.otherPref{
    background:none;
}
.mainArea img{
    width:100%;
    height:auto;
    display:block;
    vertical-align:top;
}
/* ここまで */

/* TOP Areaの地図と文言の重なり調整(差し戻し③) ここから */
/* 地図を背景から切り離し、本文の下に全幅の装飾ブロック(::after)として置く */
#topCase .menuArea .lower{
    padding-bottom:40px;
    background:none;
}
#topCase .menuArea .lower::after{
    content:'';
    display:block;
    width:100%;
    height:27.25vw;      /* 幅比で伸縮 */
    max-height:260px;    /* 高くなりすぎないよう頭打ち */
    background:url(images/works/bgMenu.png) no-repeat right top;
    background-size:contain;
    margin-top:-5%; /* 地図をボタン直下へ寄せる(上部の斜め余白が重なる) */
}
/* ここまで */
