/*
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%;
    padding-top: 20px;
    text-align: center;
    border-radius: 0;
}

#header .contact.btn {
    background-color: #d5001c;
}

#header .contact.btn .icon {
    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;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#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%;
}

.top02_03 p:not(.btn) {
    padding: 0 15px;
}

.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;
}

@media only screen and (max-width: 817px) {
    .support li h3.fs20 {
        font-size: 16px;
    }
}

/* 下層ページ共通 */
#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 {
    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 .contentWrp .inner.page_works_fix_inner {
    margin-right: 56%;
    width: auto;
}

@media only screen and (max-width: 640px) {
    .pageContL .contentWrp .inner.page_works_fix_inner {
        margin-right: 0;
    }
}



















.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_01 li:nth-child(7) {
    background: url(images/bodyworks/bodyworks01_01_07.jpg) no-repeat center;
    background-size: cover;
}

#bodyworks01_01 li:nth-child(8) {
    background: url(images/bodyworks/bodyworks01_01_08.jpg) no-repeat center;
    background-size: cover;
}

#bodyworks01_01 li:nth-child(9) {
    background: url(images/bodyworks/bodyworks01_01_09.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;
}*/


#bodyworks01_05 .pageContT {
    background: url(images/bodyworks/bodyworks01_05t.jpg) no-repeat center;
    background-size: cover;
}

#bodyworks01_05 .pageContL {
    background: url(images/bodyworks/bodyworks01_05l.png) no-repeat center/cover;
}

#bodyworks01_05 .pageContR {
    background: url(images/bodyworks/bodyworks01_05r.png) no-repeat center/cover;
}

#bodyworks01_06 .pageContT {
    background: url(images/bodyworks/bodyworks01_06t.jpg) no-repeat center;
    background-size: cover;
}

#bodyworks01_06 .pageContL {
    background: url(images/bodyworks/bodyworks01_06l.png) no-repeat center/cover;
}

#bodyworks01_06 .pageContR {
    background: url(images/bodyworks/bodyworks01_06r.png) no-repeat center/cover;
}

#bodyworks01_07 .pageContT {
    background: url(images/bodyworks/bodyworks01_07t.jpg) no-repeat center;
    background-size: cover;
}

#bodyworks01_07 .pageContL {
    background: url(images/bodyworks/bodyworks01_07l.png) no-repeat center/cover;
}

#bodyworks01_07 .pageContR {
    background: url(images/bodyworks/bodyworks01_07r.png) no-repeat center/cover;
}

/*---------------------
コーディング
---------------------*/
.coding .topArea {
    padding-bottom: 140px;
    background: url(images/coding/topArea.png) no-repeat;
    background-size: cover;
}

.coding .topArea .box {
    max-width: 660px;
    width: 100%;
    padding: 13px 10px;
    background-color: #efefef;
}

.coding .topArea .box .logo1 {
    width: 52px;
    margin-right: 15px;
}

.coding .topArea .box .txt {
    padding-top: 6px;
    line-height: 1.3;
}

#coding01_02 .titArea {
    position: relative;
    padding: 60px 0;
    background: #efefef;
    z-index: 1;
}

#coding01_02 .titArea:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;
    height: 100%;
    margin-right: 30%;
    background: url(images/coding/coding01_02t.png) no-repeat;
    background-size: cover;
}

#coding01_02 .titArea .bgTit {
    position: relative;
    padding: 80px 0;
    background: url(images/background/bgWhite.png) repeat-y;
    background-size: 100%;
    z-index: 2;
}

#coding01_02 .titArea .bgTit .inner {
    width: 520px;
    margin-left: 50%;
    padding-left: 60px;
}

#coding01_02 .titArea .bgTit .inner .h3 {
    text-align: left;
}

#coding01_02 .bgImg {
    padding: 50px 0;
}

#coding01_02 .bgImg .left,
#coding01_02 .bgImg .right {
    max-width: 640px;
}

#coding01_02 .bgImg .left {
    margin-right: 50%;
}

#coding01_02 .bgImg .right {
    margin-left: 50%;
}

#coding01_02 .box {
    padding: 35px 30px;
    text-align: center;
    background: rgba(255, 255, 255, 0.9);
}

#coding01_02 .boxL,
#coding01_02 .boxR {
    max-width: 540px;
    margin: auto;
}

#coding01_01 .pageContL {
    background: url(images/coding/coding01_01l.png) no-repeat center;
    background-size: cover
}

#coding01_01 .pageContR {
    background: url(images/coding/coding01_01r.png) no-repeat center;
    background-size: cover;
}

#coding01_02_01 {
    background: url(images/coding/coding01_02_01.jpg) no-repeat center;
    background-size: cover
}

#coding01_02_02 {
    background: url(images/coding/coding01_02_02.jpg) no-repeat center;
    background-size: cover
}

#coding01_02_03 {
    background: url(images/coding/coding01_02_03.jpg) no-repeat center;
    background-size: cover
}

#coding01_02_04 {
    background: url(images/coding/coding01_02_04.jpg) no-repeat center;
    background-size: cover
}

#coding01_02_04 .box {
    max-width: 1180px;
    width: 100%;
    margin: auto;
}

#coding01_02_04 .box h3 {
    margin-bottom: 15px;
    padding-bottom: 5px;
    border-bottom: 1px solid #7e7e7e;
}

#coding02 .pageContT {
    background: url(images/coding/coding02t.jpg) no-repeat center;
    background-size: cover;
}

#coding02 .pageContL {
    background: url(images/coding/coding02l.png) no-repeat center;
    background-size: cover
}

#coding02 .pageContR {
    background: url(images/coding/coding02r.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;
}

#inquiryForm {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 40px;
    font-size: 16px;
    border-top: 1px solid #d2d2d2;
}

#inquiryForm th {
    width: 30%;
    padding: 15px;
    font-weight: bold;
    text-align: left;
    border-bottom: 1px solid #d2d2d2;
}

#inquiryForm th span.red {
    display: inline-block;
    margin-left: 8px;
}

#inquiryForm tr:last-child th {
    vertical-align: top;
}

#inquiryForm td {
    width: 70%;
    padding: 15px 30px;
    border-bottom: 1px solid #d2d2d2;
}

#inquiryForm input,
#inquiryForm textarea {}

#inquiryForm .w80 {
    width: 80%;
    padding: 5px;
    background: #f4f4f4;
}

#inquiryForm .w80::-webkit-input-placeholder {
    color: #b2b2b2;
    font-weight: normal;
}

#inquiryForm .w80:-ms-input-placeholder {
    color: #b2b2b2;
    font-weight: normal;
}

#inquiryForm .w80::-moz-placeholder {
    color: #b2b2b2;
    font-weight: normal;
}

.mwform-tel-field input[type="text"],
.mwform-zip-field input[type="text"] {
    background: #f4f4f4;
}

#inquiryForm input[type="file"] {
    font-size: 95%;
}

span.mwform-tel-field input[name="tel[data][0]"],
span.mwform-tel-field input[name="fax[data][0]"] {
    width: 25%;
    padding: 5px;
    background: #f4f4f4;
}

span.mwform-tel-field input[name="tel[data][1]"],
span.mwform-tel-field input[name="fax[data][1]"] {
    width: 30%;
    padding: 5px;
    background: #f4f4f4;
}

span.mwform-tel-field input[name="tel[data][2]"],
span.mwform-tel-field input[name="fax[data][2]"] {
    width: 30%;
    padding: 5px;
    background: #f4f4f4;
}

.checkPolicy {
    text-align: center;
    margin-bottom: 30px;
}

.checkPolicy a {
    color: #000;
    text-decoration: underline;
}

.checkPolicy 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 .checkPolicy {
    margin-bottom: 30px;
}

#inquiry .checkPolicy a {
    color: #da1313;
    text-decoration: underline;
}

input.btn_contact_return {
    margin: 0 10px;
}

.checkPolicy label .mwform-checkbox-field-text {
    display: none;
}

.mwform-checkbox-field input,
.mwform-radio-field input {
    display: inline-block;
}

.checkPolicy .mwform-checkbox-field {
    display: inline-block;
}

.mw_wp_form .error {
    display: inline-block;
}

.checkPolicy .textLink {
    display: inline-block;
}

.mw_wp_form_confirm .checkPolicy {
    display: none;
}

.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;
}

#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%;
}

@media only screen and (min-width: 1281px) {
    ul.type.col4 {
        row-gap: 15px;
    }
}

.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: 345px;
}

#ftContact .bgImg:before {
    position: absolute;
    content: '';
    width: 45%;
    height: 345px;
    background: #fff;
}























#ftContact .bgImg .box {
    max-width: 580px;
    width: 50%;
    padding: 25px;
}



#ftContact .bgImg .box.fix_box {
    max-width: 545px;
}





















#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%;
    }

    #coding01_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: 0;
        padding-top: 20px;
        padding-left: 15px;
    }

    /* グローバルナビ */
    .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;
    }

    #coding01_02 .titArea:before {
        width: 100%;
        margin-right: 0;
    }

    #coding01_02 .titArea .bgTit {
        padding: 0;
        background: none;
    }

    #coding01_02 .titArea .bgTit .inner {
        width: 80%;
        margin: auto;
        padding: 30px;
        text-align: center;
        background-color: #fff;
    }

    #coding01_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; */
        /* 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,
    .coding .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;
    }

    .coding .topArea {
        padding-bottom: 70px;
    }

    .coding .topArea .box .txt {
        padding-top: 0;
    }

    #coding01_02 .titArea .bgTit .inner {
        max-width: 540px;
        width: 100%;
    }

    #coding01_02 .bgImg .right,
    #coding01_02 .bgImg .left {
        margin: auto;
    }

    #coding01_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;
        }
    }

    /* メールフォームテンプレート */
    #inquiryForm {
        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: none;
        width: 60px;
        height: 80px;
        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;
    }

    /* メールフォームテンプレート */
    #inquiryForm th,
    #inquiryForm td {
        display: block;
        width: 100%;
    }

    #inquiryForm th {
        padding-bottom: 0;
        border-bottom: none;
    }

    #inquiryForm .w80 {
        width: 100%;
    }

    input.btnConfirm {
        max-width: 300px;
        width: 70%;
    }

    .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%;
    }

    #coding01_02 .titArea .bgTit .inner,
    #coding01_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;
    }
}

/* ===== 屋号テキストロゴ（brand_logo） ===== */
#header .logo .brand_logo {
    font-weight: 800;
    font-size: 40px;
    line-height: 1.1;
    letter-spacing: .03em;
    color: #111;
    display: inline-block;
    white-space: nowrap;
}

#footer .lower .logo .brand_logo {
    font-weight: 800;
    font-size: 34px;
    line-height: 1.1;
    letter-spacing: .03em;
    color: #fff;
    display: inline-block;
    white-space: nowrap;
}

@media only screen and (max-width:768px) {
    #header .logo .brand_logo {
        font-size: 30px;
    }

    #footer .lower .logo .brand_logo {
        font-size: 30px;
    }
}

/* reCAPTCHA バッジを追従CTA/gotopの上へ退避 */
.grecaptcha-badge {
    bottom: 120px !important;
}

@media only screen and (max-width:768px) {
    .grecaptcha-badge {
        bottom: 60px !important;
        z-index: 9999;
    }
}

/* ===== CF7 メールフォーム(.c-cform) ブリッジ（MW→CF7移行） ===== */
.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;
    color: #d5001c;
}

.c-cform tr:last-child th {
    vertical-align: top;
}

.c-cform td {
    width: 70%;
    padding: 15px 30px;
    border-bottom: 1px solid #d2d2d2;
}

.c-cform td.tel {}

.c-cform .w80 {
    width: 80%;
    padding: 5px;
    background: #f4f4f4;
    border: 1px solid #ccc;
}

.c-cform .w80::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 {
    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;
    border: none;
    line-height: 1;
    margin-bottom: 10px;
}

.wpcf7 .wpcf7-not-valid-tip {
    color: #c00;
    font-size: 14px;
}

@media screen and (max-width:768px) {
    .c-cform {
        font-size: 100%;
    }

    .c-cform th,
    .c-cform td {
        display: block;
        width: 100%;
    }

    .c-cform th {
        padding-bottom: 0;
        border-bottom: none;
    }

    .c-cform td {
        padding: 10px 15px;
    }

    .c-cform .w80 {
        width: 100%;
    }

    input.btnConfirm {
        width: 100%;
        max-width: 300px;
    }
}

/* CF7 送信ボタン中央維持：spinnerを絶対配置（MW→CF7移行 FB） */
.c-submit {
    position: relative;
    display: inline-block;
}

.c-submit .wpcf7-spinner {
    position: absolute;
    top: 50%;
    right: 0;
    margin: 0;
    transform: translate(120%, -50%);
}


/* エリアページMV: 全幅1枚(TOP MV流用) */
.mainArea {
    padding: 0;
}

.mainArea.gifu,
.mainArea.aichi,
.mainArea.otherPref {
    background: none;
}

.mainArea img {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: top;
}


@media only screen and (max-width: 817px) {
    #coding01_02 .titArea {
        padding-top: min(120px, 32vw);

    }

    #coding01_02 .titArea:before {
        background-position: top center;
        background-size: 100%;
    }

    #coding01_02 .bgImg {
        padding-top: min(120px, 32vw);
        background-position: top center;
        background-size: max(100%, 720px);
    }
}











/* =============================================================
【_260928_sugimoto 構築チェック時の修正ここから】
=============================================================== */

/* コーディングページ */
.fix_pageCont_flex_block {
    display: flex;
    align-items: center;
}

.fix_pageCont_flex_block.fix_pageContL {
    flex-flow: row-reverse;
}

.fix_pageCont_flex_block_img {
    width: 50%;
    max-height: 300px;
    object-fit: cover;
}

.fix_pageCont_flex_block_txt {
    width: 50%;
    max-width: 630px;
    font-size: 13px;
    line-height: 1.4;
    padding: 8px 24px;
}

@media screen and (max-width:999px) {
    .fix_pageCont_flex_block {
        flex-direction: column;
        flex-flow: column-reverse;
        margin-bottom: 30px;
    }

    .fix_pageCont_flex_block.fix_pageContL {
        flex-flow: column-reverse;
    }

    .fix_pageCont_flex_block_img {
        width: 100%;
    }

    .fix_pageCont_flex_block_txt {
        width: 100%;
        max-width: 100%;
    }
}

/* お問い合わせページ */
.contact #inquiry .c-submit {
    display: block;
}

/* =============================================================
【_260928_sugimoto 構築チェック時の修正ここまで】
=============================================================== */