/*
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;
}

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

.mt00 {
    margin-top: 0 !important;
}

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

.pt00 {
    padding-top: 0 !important;
}

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

.pt90 {
    padding-top: 90px !important;
}

.pt95 {
    padding-top: 95px !important;
}

.pt100 {
    padding-top: 100px !important;
}

.pb00 {
    padding-bottom: 0 !important;
}

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

.pb90 {
    padding-bottom: 90px !important;
}

.pb95 {
    padding-bottom: 95px !important;
}

.pb100 {
    padding-bottom: 100px !important;
}

.pr05 {
    padding-right: 5px !important;
}

.pr10 {
    padding-right: 10px !important;
}

.pr15 {
    padding-right: 15px !important;
}

.pr20 {
    padding-right: 20px !important;
}

.pr25 {
    padding-right: 25px !important;
}

.pr30 {
    padding-right: 30px !important;
}

.pr35 {
    padding-right: 35px !important;
}

.pr40 {
    padding-right: 40px !important;
}

.pr45 {
    padding-right: 45px !important;
}

.pr50 {
    padding-right: 50px !important;
}

.pr55 {
    padding-right: 55px !important;
}

.pr60 {
    padding-right: 60px !important;
}

.pr65 {
    padding-right: 65px !important;
}

.pr70 {
    padding-right: 70px !important;
}

.pr75 {
    padding-right: 75px !important;
}

.pr80 {
    padding-right: 80px !important;
}

.pr85 {
    padding-right: 85px !important;
}

.pr90 {
    padding-right: 90px !important;
}

.pr95 {
    padding-right: 95px !important;
}

.pr100 {
    padding-right: 100px !important;
}

.pl05 {
    padding-left: 5px !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pl15 {
    padding-left: 15px !important;
}

.pl20 {
    padding-left: 20px !important;
}

.pl25 {
    padding-left: 25px !important;
}

.pl30 {
    padding-left: 30px !important;
}

.pl35 {
    padding-left: 35px !important;
}

.pl40 {
    padding-left: 40px !important;
}

.pl45 {
    padding-left: 45px !important;
}

.pl50 {
    padding-left: 50px !important;
}

.pl55 {
    padding-left: 55px !important;
}

.pl60 {
    padding-left: 60px !important;
}

.pl65 {
    padding-left: 65px !important;
}

.pl70 {
    padding-left: 70px !important;
}

.pl75 {
    padding-left: 75px !important;
}

.pl80 {
    padding-left: 80px !important;
}

.pl85 {
    padding-left: 85px !important;
}

.pl90 {
    padding-left: 90px !important;
}

.pl95 {
    padding-left: 95px !important;
}

.pl100 {
    padding-left: 100px !important;
}

.floatL {
    float: left;
}

.floatR {
    float: right;
}

.fw_b,
.bold {
    font-weight: bold;
}

.textC {
    text-align: center;
}

.textR {
    text-align: right;
}

.textL {
    text-align: left;
}

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

.oswald {
    font-family: 'Oswald', sans-serif;
}

.oswaldB {
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
}

h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
}

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

.gold {
    color: var(--sub-color);
}

.bgBlack {
    background: var(--main-color);
}

.bgWhite {
    background: #fff;
}

.bgGray {
    /*background: #f0f0f0;*/
    background: linear-gradient(#fffe, #fffe), var(--main-color);
}

.bgGray2 {
    /*background: #484848;*/
    background: linear-gradient(#ffffff40, #ffffff40), var(--main-color)
}

.bgBeige {
    background: var(--bg-color);
}

.fs10 {
    font-size: 10px;
}

.fs11 {
    font-size: 11px;
}

.fs12 {
    font-size: 12px;
}

.fs14 {
    font-size: 100%;
}

.fs16 {
    font-size: 16px;
}

.fs18 {
    font-size: 18px;
}

.fs20 {
    font-size: 20px;
}

.fs22 {
    font-size: 22px;
}

.fs24 {
    font-size: 24px;
}

.fs26 {
    font-size: 26px;
}

.fs28 {
    font-size: 28px;
}

.fs30 {
    font-size: 30px;
}

.fs32 {
    font-size: 32px;
}

.fs36 {
    font-size: 36px;
}

.smp {
    display: none;
}

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

.contentWrp {
    width: 1000px;
    margin: 0 auto;
    position: relative;
}

.contentWrpW {
    width: 1200px;
    width: 96%;
    margin: auto;
    position: relative;
}

.inner {
    position: relative;
}

.dispTb {
    display: table;
}

.vMiddle {
    display: table-cell;
    vertical-align: middle;
}

iframe {
    width: 100%;
}

ul.disc li {
    list-style-type: disc;
}

ul.circle li {
    list-style-type: circle;
}

ul.square li {
    list-style-type: square;
}

.lh1 {
    line-height: 1;
}

.lh12 {
    line-height: 1.2;
}

.lh15 {
    line-height: 1.5;
}

.lh2 {
    line-height: 2;
}

.w100 img {
    width: 100%;
}

/*---------------------
loader
---------------------*/
#loader {
    width: 100%;
    height: 100%;
    margin: 0;
    background: #fff;
    opacity: 1.0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
}

#loader img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -40px;
    margin-left: -40px;
    width: auto;
}

/*---------------------
ヘッダー
---------------------*/
header#header {
    width: 100%;
    height: 118px;
}

#header .upper {
    height: 36px;
    padding: 8px 0;
    background: var(--main-color);
    color: #fff;
}

#header .lower {
    position: relative;
    height: 73px;
    padding: 10px 0;
}

#header .logoArea {
    position: absolute;
    left: 0;
    width: 239px;
}


#header .logoArea img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#header .logoArea .address {
    padding-left: 40px;
    line-height: 1.2;
}

#header .makerArea {
    position: absolute;
    top: 25px;
    left: 250px;
    width: 335px;
    height: 32px;
}

#header .makerArea .right {
    padding-top: 2px;
    padding-left: 10px;
}

#header .makerArea .right p {
    display: inline-block;
    vertical-align: middle;
}

#header .makerArea .right p.txt {
    margin-left: 5px;
    line-height: 1.2;
}

#header .cardArea {
    position: absolute;
    top: 22px;
    right: 220px;
    width: 181px;
}

#header .telArea {
    position: absolute;
    top: 15px;
    right: 0;
    width: 210px;
}

.telArea .left p {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.telArea.pc .left {
    display: flex;
    gap: 5px;
    flex-wrap: nowrap;
    align-items: center;
}

.telArea .tel {
    white-space: nowrap;
}

.telArea .txt {
    line-height: 1.2;
    margin-top: 4px;
}

/* セクション共通 */
section {
    padding: 30px 0;
}

.h2 {
    padding: 8px 0;
    font-size: 24px;
    text-align: center;
    color: #fff;
}

.h3 {
    margin-bottom: 10px;
    font-size: 18px;
    text-align: center;
}

.h3.borderB {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid #000;
}

.titArea.bgBlack {
    margin-bottom: 25px;
}

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

.flex {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
}

.flex1 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.flex.wrap,
.flex1.wrap {
    flex-wrap: wrap;
}

.flex1.col2 li {
    max-width: 480px;
    width: 49%;
}

.flex1.col3 li {
    max-width: 320px;
    width: 32%;
}

.flex1.col4 li {
    max-width: 240px;
    width: 24%;
}

.btn {
    position: relative;
    font-size: 100%;
    cursor: pointer;
    line-height: 1;
}

.btn a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.btn:hover {
    transition: .3s;
}

.btn1 {}

.btn1:hover {}

.btn2 {}

.btn2:hover {}

.btn3 {}

.btn3:hover {}

/* メインビジュアル */
#topImage {
    position: relative;
    width: 100%;
    height: auto;
    padding: 0;
}

#topImage .mv_wrapper {
    margin: auto;
    max-width: 1400px;
}

@media only screen and (min-width: 1400px) {

    #topImage .mv_wrapper::before,
    #topImage .mv_wrapper::after {
        content: "";
        display: block;
        width: calc(50vw - 640px);
        min-width: 0px;
        background: linear-gradient(to right, #000 calc(100% - 60px), transparent);
        height: 100%;
        top: 0;
        position: absolute;
        z-index: 100;
    }

    #topImage .mv_wrapper::before {
        left: 0;
    }

    #topImage .mv_wrapper::after {
        right: 0;
        transform: scale(-1);
    }
}

#topImage .bx-wrapper {
    position: relative;
    width: 100%;
    margin: 0 auto;
}


#topImage .bx-wrapper .bx-viewport {
    margin: 0 auto;
}

#topImage .bx-wrapper .bx-viewport li {
    position: relative;
    margin: 0;
}

#topImage .bx-wrapper .bx-pager.bx-default-pager {
    display: none;
}

#topImage .bx-wrapper .bx-controls-direction a {
    display: none;
}

#topImage .bx-wrapper img {
    width: 100%;
    height: auto;
}

/* グローバルナビ */

.g_naviWrap {
    display: block;
    position: relative;
    width: 100%;
    margin: auto;
    padding: 8px 0;
    z-index: 100;
}

.gnav {
    display: flex;
    align-items: stretch;
}

.gnav-list {
    width: 77%;
    max-width: 770px;
    align-items: center;
}

.gnav-item {
    position: relative;
    width: 150px;
    height: 37px;
    padding: 2px 0 1px;
    color: #fff;
    font-size: 16px;
    text-align: center;
    line-height: 1;
    display: table;
    background: var(--main-color);
}

.gnav-item span {
    display: table-cell;
    vertical-align: middle;
}


.gnav-item:nth-child(2) {
    background: var(--acc-color);
}

.gnav-item:hover {
    color: #000;
    background: #fff;
}

.gnav-item a {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.gnav-contact {
    max-width: 224px;
    width: 22.5%;
}

.gnav-contact a {
    display: block;
    height: 100%;
}

/* トップページコンテンツ */
.tcTop {
    padding: 130px 0;
    background: url(images/background/bgMaint01.png) no-repeat;
    background-size: cover;
}

#top01 .left,
#company01 .left {
    width: 48%;
    padding-top: 20px;
}

#top01 .right,
#company01 .right {
    width: 48%;
    max-width: 366px;
}

#top01 .title span {
    margin-left: 15px;
}

#top01 .catch span {
    display: inline-block;
    font-weight: bold;
    border-bottom: 2px solid #000;
}

#topCase .titArea {
    max-width: 810px;
    width: 96%;
    margin: 0 auto 30px;
}

#topCase .titArea span {
    display: block;
    padding-top: 5px;
    font-weight: bold;
    line-height: 1.2;
}

#topCase .titArea .right p {
    display: inline-block;
    vertical-align: middle;
}

#topCase .titArea .right p.img {
    margin-left: 20px;
}

#topCase.page .titArea {
    max-width: inherit;
    width: inherit;
    margin: inherit;
}

#topCase.page .titArea span {
    display: block;
    padding-top: 5px;
    font-weight: bold;
    line-height: 1.2;
}

#topCase.page .titArea .right p {
    display: inline-block;
    vertical-align: middle;
}

#topCase.page .titArea .right p.img {
    margin-left: 20px;
}

#topCase .contentWrpW {
    max-width: 1400px;
}

#topCase .bx-wrapper {
    position: relative;
    width: 100%;
    margin: 0 auto;
}

#topCase .bx-wrapper .bx-viewport {
    margin: 0 auto;
}

#topCase .bx-wrapper .bx-viewport li {
    position: relative;
    margin: 0;
}

#topCase .bx-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    height: 100%;
    padding: 0;
}

#topCase .bx-wrapper .bx-viewport {
    margin: 0 auto;
    overflow: hidden;
    width: 1000px;
}

#topCase .bx-wrapper .bx-controls {
    margin-top: 0px;
}

#topCase .bx-wrapper .bx-controls-direction {}

#topCase .bx-wrapper .bx-controls-direction a {
    width: 70px;
    height: 64px;
    outline: 0 none;
    position: absolute;
    top: 45%;
    text-indent: -9999px;
    z-index: 9999;
}

#topCase .bx-wrapper .bx-prev {
    background: rgba(0, 0, 0, 0) url("images/main/top/nextArrow.png") no-repeat scroll 0 0;
    left: -15px;
}

#topCase .bx-wrapper .bx-next {
    background: rgba(0, 0, 0, 0) url("images/main/top/prevArrow.png") no-repeat scroll 0 0;
    right: -35px;
}

.caseSlide .contentWrp.sp {
    display: none;
}

/* 下層ページ共通 */
#mainImage img {
    width: 100%;
}

.breadcrumb {
    padding: 10px 0;
    background: #f1f1f2;
}

.breadcrumb a {}

.breadcrumb a:hover {
    color: #e95a7e;
}

.breadcrumb li {
    display: inline;
}

.halfWrp .floatL,
.halfWrp .floatR {
    width: 50%;
}

.halfWrp2 .floatL,
.halfWrp2 .floatR {
    width: 49%;
}

ul.check li {
    margin-left: 1em;
    margin-bottom: 8px;
    padding-left: 1em;
    text-indent: -0.8em;
    line-height: 1.2;
}

ul.check li:before {
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    content: url(images/icon/iconCheck1.png);
}

.tcTop h2 {
    display: inline-block;
    margin-bottom: 15px;
    color: #000;
    border-bottom: 1px solid #000;
    line-height: 1.5;
}

.contentP .caseTop li {
    position: relative;
    width: 49%;
    padding: 30px 2% 20px;
    border: 1px solid #000;
}

.contentP .caseTop li h3 {
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    width: 145px;
    margin: auto;
    padding: 5px;
    text-align: center;
    color: #fff;
    background: #000;
    line-height: 1;
}

.contentP .box {
    position: relative;
    width: calc(100%/3);
    padding: 40px 4%;
    float: left;
    border: 1px solid #000;
}

.contentP .box:nth-child(1),
.contentP .box:nth-child(2) {
    border-right: none;
}

.contentP .box h3 {
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    width: 220px;
    margin: auto;
    background: #fff;
}

/*---------------------
メーカーリストアコーディオン
---------------------*/
.makerList #openclose {
    padding: 20px;
}

.makerList .bgBlack .left,
.makerList .bgBlack .right {
    max-width: 470px;
    width: 49%;
}

.makerList p.ac1 {
    padding: 15px 20px;
    background: url(images/maker/iconDown.png) no-repeat 95% 50%;
    border-bottom: 1px solid #eee;
}

.makerList p.ac1.active {
    background: url(images/maker/iconUp.png) no-repeat 95% 50%;
    border-bottom: 1px solid #000;
}

.makerList p.ac1 span {
    display: inline-block;
    vertical-align: middle;
}

.makerList p.ac1 span.icon {
    margin-right: 20px;
}

.makerList li.last {
    position: relative;
    padding: 15px 20px;
}

.makerList p.other {
    width: 100%;
    background: none;
    cursor: inherit;
}

.makerList li.last a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.makerList p.other span {
    display: inline-block;
    vertical-align: middle;
}

.makerList p.other span:nth-child(2) {
    margin-left: 20px;
}

#openclose dt {
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

.accordion {}

.accordion .inner {
    display: none;
    padding: 10px 0;
}

.accordion .inner li ul {
    display: none;
}

.accordion p {
    cursor: pointer;
}

.accordion .inner li {
    padding: 3px 0.5em;

}

.accordion .inner li.all {
    position: relative;
    padding-left: 50px;
    background: url(images/maker/iconArrow.png) no-repeat 5% 50%;
    border-bottom: 1px solid #eee;
}

.accordion .inner li.all a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.accordion .inner li.content1-1>ul>li {
    position: relative;
}

.accordion .inner li.content1-1>ul>li a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.accordion .inner li.content1-1 p {
    padding-left: 45px;
    padding-top: 3px;
    padding-bottom: 3px;
    background: url(images/maker/iconDown.png) no-repeat 3.5% 50%;
    border-bottom: 1px solid #eee;
}

.accordion .inner li.content1-1 p.active {
    background: url(images/maker/iconUp.png) no-repeat 3.5% 50%;
}

.accordion .inner li ul li {
    padding: 3px 0 3px 4em;
    background: url(images/maker/iconArrow.png) no-repeat 7% 50%;
    border-bottom: 1px solid #eee;
}

.accordion .inner li>p {
    cursor: pointer;
}

.type.bgGray ul {
    max-width: 840px;
    width: 100%;
    margin: auto;
    padding: 15px 0;
}

.type.bgGray ul li {
    max-width: 150px;
    width: 19%;
    padding: 8px;
    text-align: center;
    color: #fff;
    background: #000;
    border-radius: 0;
}

/*---------------------
整備車検
---------------------*/
#maintenance {}

#maintenance .tcTop {}

.contentP .bgImg .photo {
    display: none;
}

.contentP .bgImg {
    position: relative;
    background: var(--bg-color);
}

#maintenance01 .bgImgL:before {
    width: 50%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    right: 50%;
    background: url(images/maintenance/maintenance01_01.jpg) no-repeat;
    background-size: cover;
}

#maintenance01 .bgImgR:before {
    width: 50%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    background: url(images/maintenance/maintenance01_02.jpg) no-repeat;
    background-size: cover;
}

.contentP .bgImg .txt,
.maintenance03_01 .txt {
    padding: 30px 0;
}

.contentP .bgImg.bgImgR .floatL {
    padding-right: 30px;
}

.contentP .bgImg.bgImgL .floatR,
.maintenance03_01 .bgImgL .floatR {
    padding-left: 30px;
}

.maintenance02_03 .txt {
    display: table;
}

.bgTit.titArea {
    padding: 40px 2%;
}

.bgTit.titArea h3 {
    display: inline-block;
    padding: 10px 20px;
    background: #f3f3f3;
}

.bgTit.titArea h3 span {
    display: inline-block;
    vertical-align: middle;
}

#maintenance03 .titArea {
    background: url(images/maintenance/titMaintenance03.jpg) no-repeat;
    background-size: cover;
}

#maintenance03 .titArea h2 span {
    display: inline-block;
    vertical-align: middle;
}

.maintenance03_01 .bgImgL:before {
    width: 50%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    right: 50%;
    background: url(images/maintenance/maintenance03_01.jpg) no-repeat;
    background-size: cover;
}

.maintenance03_01 .photo {
    display: none;
}

.maintenance03_02 .floatR.box,
.maintenance03_03 .box,
#maintenance04 .floatR.box,
#inspection .floatL.box,
#accessmap .floatL.box {
    padding: 20px;
    border: 1px solid #000;
}

.maintenance03_02 .floatR.box h3,
.maintenance03_03 .box h3,
#maintenance04 .floatR.box h3,
#inspection .floatL.box h3,
#accessmap .floatL.box h3 {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000;
}

#maintenance04 .titArea {
    background: url(images/maintenance/titMaintenance04.jpg) no-repeat;
    background-size: cover;
}

#maintenance04 .flex li {
    margin-left: 1em;
    padding-right: 10px;
    list-style-position: outside;
}

.maintenance03_03 .flex ul li {
    margin-left: 1.2em;
    padding-right: 8px;
    list-style-position: outside;
}

#inspection .contactArea a {
    color: #fff;
}

#inspection .contact .photo {
    display: none;
}

#inspection .contact a img {
    max-width: 224px;
}

/*---------------------
鈑金塗装
---------------------*/
#bodyworks01 .bgImgL:before {
    width: 50%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    right: 50%;
    background: url(images/bodyworks/bodyworks01_01.jpg) no-repeat;
    background-size: cover;
}

#bodyworks01 .bgImgR:before {
    width: 50%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    background: url(images/bodyworks/bodyworks01_02.jpg) no-repeat;
    background-size: cover;
}

#reason .titArea {
    background: url(images/bodyworks/titReason.jpg) no-repeat;
    background-size: cover;
}

#reason .titArea h2 span {
    display: inline-block;
    vertical-align: middle;
}

#reason .reason {
    padding: 40px 0;
}

.reason .tit {
    margin-bottom: 20px;
}

.reason .tit p {
    display: inline-block;
    padding: 5px 15px;
    border: 1px solid var(--sub-color);
    line-height: 1;
    letter-spacing: 0.05em;
}

.reason .left,
.reason .right {
    width: 48%;
}

.reason01 .left img {
    max-width: 466px;
}

#inspection .floatL.box ul {
    padding-left: 30px;
}

#inspection .contact .floatL {
    background: url(images/bodyworks/inspection01.jpg) no-repeat;
    background-size: cover;
}

#inspection .contact .floatL.photo {
    display: none;
}

#inspection .contact .floatR {
    padding: 30px 2%;
}

#inspection .contact .floatR .contactArea {
    padding-bottom: 20px;
}

/*---------------------
会社概要
---------------------*/
#company01.tcTop {
    padding: 80px 0;
}

#company02 table {
    width: 100%;
    margin-bottom: 25px;
    border-top: 1px solid #d2d2d2;
}

#company02 table th,
#company02 table td {
    padding: 18px 0;
    border-bottom: 1px solid #d2d2d2;
}

#company02 table th {
    width: 21%;
    padding-left: 30px;
    text-align: left;
}

#company02 table td {
    width: 79%;
}

#company02 .flex li {
    width: 32%;
}

.flowArea .box {
    padding: 30px 0;
}

.flowArea h3 {
    margin-bottom: 10px;
}

.company-flow__step-title {
    margin-right: 10px;
    padding: 5px 10px;
    border: 1px solid var(--sub-color);
    color: var(--sub-color);
    line-height: 1;
    letter-spacing: 0.05em;
}

.flowArea h3 span {
    display: inline-block;
    vertical-align: middle;
}

.flowArea01 .bgWhite {
    padding: 20px 0;
}

.flowArea01 .bgWhite .flex {
    max-width: 730px;
    width: 90%;
    margin: auto;
}

/*---------------------
お問い合わせ
---------------------*/
#contact .inner {
    max-width: 480px;
    width: 100%;
    margin: auto;
}

#inquiryForm {
    width: 100%;
    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 {
    float: right;
    font-size: 90%;
    padding: 4px 5px 2px;
    font-weight: 700;
    color: var(--acc-color);
    font-size: 14px;
}

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

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

#inquiryForm .tel input,
#inquiryForm .fax input,
#inquiryForm textarea {
    padding: 8px;
    background: #fff;
    border: 1px solid #000;
    font-size: 16px;
    border-radius: 2px;

}

#inquiryForm .w80 {
    width: 80%;
    padding: 8px;
    background: #fff;
    border: 1px solid #000;
    font-size: 16px;
    border-radius: 2px;
}


td:has(.error) input {
    background: #ffffd1 !important;
}

#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: #fff;
}

#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: 15%;
    background: #fff;
}

span.mwform-tel-field input[name="tel[data][1]"],
span.mwform-tel-field input[name="fax[data][1]"] {
    width: 20%;
    background: #fff;
}

span.mwform-tel-field input[name="tel[data][2]"],
span.mwform-tel-field input[name="fax[data][2]"] {
    width: 20%;
    background: #fff;
}

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

.checkPolicy a {
    color: var(--acc-color);
    text-decoration: underline;
}

.checkPolicy input {
    margin-right: 10px;
}

input.btnConfirm,
.submitback input {
    width: 230px;
    margin: auto;
    padding: 10px 0;
    color: #fff;
    background: var(--acc-color);
    text-align: center;
    font-size: 125%;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0;
    border: none;
    border-radius: 3px;
}

.submitback {
    display: inline-block;
    margin-left: 20px;
}

.submitback input {
    background: #888;
}

input.btn_contact_return {
    margin: 0 10px;
}

#inquiry .checkPolicy {
    margin-bottom: 20px;
}

#inquiry .privacy {
    margin-bottom: 30px;
}

#inquiry .privacy .title {
    margin-bottom: 15px;
    font-weight: bold;
}

#inquiry .checkPolicy span.agree {
    color: var(--acc-color);
    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;
}

#privacypolicy h2 {
    margin-bottom: 20px;
}

#privacypolicy h3 {
    margin-bottom: 10px;
}

#privacypolicy p {
    margin-bottom: 20px;
}

.mw-wp-form_image img {
    max-width: 300px;
    width: 30%;
}

/*-------------------------------
施工事例一覧
-------------------------------*/
/*
.caseSlide .bx-wrapper {
    margin: 0 auto;
    padding: 0;
    position: relative;
    width: 100%;
}
.caseSlide .bx-wrapper .bx-viewport {
    margin: 0 auto;
}
.caseSlide .bx-wrapper .bx-prev{
    left:-10px;
}
.caseSlide .bx-wrapper .bx-next{
    right:-10px;
}
.caseSlide .archivePost{
    width:24%;
    max-width: 280px;
}*/

#casetop .tcTop {
    padding: 60px 0 80px;
}

#casetop .tcTop li:first-child {
    width: 190px;
    padding: 20px 25px;
}

#casetop .tcTop li {
    width: 250px;
}

#casetop .tcTop li .upper {
    padding: 20px 5% 15px 5%;
}

#casetop .tcTop li h3 span {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

#casetop .tcTop li h3 span.num {
    margin-right: 5px;
    padding: 3px 7px;
    color: #fff;
    background: #bea872;
    border-radius: 2px;
}

.btn.caseRtn {
    max-width: 280px;
    width: 90%;
    margin: auto;
    padding: 10px 20px;
    text-align: center;
    background: #000 url(images/btn/arrow01.png) no-repeat 95% 50%;
    color: #fff;
}

/* 共通 */
.case .archivePost {
    position: relative;
    float: left;
    width: 24.6%;
    margin: 0 0.2%;
    color: #1f1f1f;
    background: #fff;
    border: 1px solid #f2f2f2;
    box-shadow: 0px 6px 3px -3px rgba(230, 230, 230, 0.6);
    -webkit-box-shadow: 0px 6px 3px -3px rgba(230, 230, 230, 0.6);
    -moz-box-shadow: 0px 6px 3px -3px rgba(230, 230, 230, 0.6);
}

.case .archivePost img {
    width: 100%;
}

.case .archiveContents {
    padding: 10px;
}

.case .archiveContents table {
    width: 100%;
}

.case .archiveContents table th {
    width: 25%;
}

.case .archiveContents table td:nth-child(2) {
    width: 5%;
}

.case .archiveContents table td:nth-child(3) {
    width: 70%;
}

.case .archiveContents .sort span,
#case-detail #casetop .sort span {
    display: inline-block;
    margin-right: 3px;
    margin-bottom: 3px;
    padding: 3px 15px;
    color: #fff;
    background: #000;
    border-radius: 3px;
}

/* 一覧 */

#case_list .flex1 {
    justify-content: flex-start;
    max-width: 1152px;
    margin-right: auto;
    margin-left: auto;
}

#case #casetop .left {
    width: 50%;
}

#case #casetop .catch p {
    display: inline-block;
    margin-right: 15px;
    vertical-align: middle;
}

#case #casetop .right {
    max-width: 366px;
    padding-top: 30px;
}


#case_list .contentWrpW {
    max-width: 1600px;
}

#case_list .archivePost {
    max-width: 280px;
    margin-bottom: 20px;
}

/* 新着情報一覧 */
.news #mainLeft {
    width: 72%;
    max-width: 715px;
}

section#news_list {
    padding-top: 0;
}

#news #news_list ul li {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #bcbcbc;
}

#news #news_list ul li .floatL {
    width: 300px;
}

#news #news_list ul li .floatL .img img {
    width: 100%;
    height: auto;
}

#news #news_list ul li .floatR {
    width: 395px;
}

#news #news_list ul li .floatR .date,
#news #news_list ul li .floatR .cate {
    display: inline-block;
}

#news #news_list ul li .floatR .date span {
    margin-right: 5px;
}

#news #news_list ul li .floatR .cate span,
#news-detail .cate span {
    margin-right: 5px;
    padding: 2px 10px;
    color: #fff;
    font-size: 12px;
    background: #000;
    line-height: 1;
    border-radius: 3px;
}

#news #news_list ul li .floatR .h3 {
    text-align: left;
    border-bottom: 1px solid #000;
}

#news #news_list ul li .floatR .excerpt {
    padding-right: 20px;
}

/* サイドバー */
.news #sidebar {
    width: 26%;
    max-width: 260px;
}

.news #sidebar .bgGray {
    padding: 15px;
}

.news #sidebar h2.title {
    width: 100%;
    padding: 8px;
    text-align: center;
    color: #fff;
    background: #000;
}

.news #sidebar li {
    padding: 13px 0;
    border-bottom: 1px dotted #000;
}

.news #sidebar li a {
    text-decoration: underline;
}

/*---------------------
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: 50px;
}

.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: 26px;
    height: 26px;
    text-align: center;
    margin: 0 5px;
    padding-top: 0;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 20px;
}

.pager .pager_num a.next,
.pager .pager_num a.prev {
    padding-top: 0;
    padding-bottom: 1px;
}

.pager .pager_num span.current,
.pager .pager_num a:hover {
    color: #fff;
    background: #c0aa75;
    opacity: 1;
}

/* 施工事例,新着情報詳細 */
#case-detail #casetop {
    padding-top: 10px;
}

#case-detail #casetop .inner,
#case-detail #caseLower .inner,
#news-detail #casetop .inner,
#news-detail #caseLower .inner {
    max-width: 730px;
    margin: auto;
}

#case-detail #casetop .flex {
    max-width: 400px;
    width: 100%;
    margin: 0 auto 15px;
}

#case-detail #casetop .flex dt,
#case-detail #casetop .flex dd {
    display: inline-block;
}

#case-detail #casetop .bdbottom {
    width: 100%;
    border-bottom: 1px solid #d9d9d9;
}

/* ビジュアルエディタ装飾 */
.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.size-full,
.freeeditor img.size-large {
    max-width: 730px;
    width: 100%;
    height: auto;
}

/* 詳細ページナビ */
.btn.return {
    width: 170px;
    padding: 8px;
    color: #fff;
    background: #000;
}

.pagenavi {
    max-width: 730px;
    width: 96%;
    margin: auto;
    padding: 50px 0;
}

.pagenavi a {}

.pagenavi p {
    width: 33.33%;
}

/* bottom */
#service .service {
    padding: 60px 0 80px;
}

.bg-scale {
    position: relative;
    overflow: hidden;
    text-align: center;
    /*border-top: solid 1px #596456;
    border-bottom: solid 1px #596456;
    text-shadow: 0 0 12px #7b7a35;*/
    padding: 0;
}

.bg-scale:after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    background: url(bg.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    transition: all .3s ease-out;
}

.service01.bg-scale:after {
    background: url(images/bottom/bgService01.jpg) no-repeat center center;
    background-size: cover;
}

.service02.bg-scale:after {
    background: url(images/bottom/bgService02.jpg) no-repeat center center;
    background-size: cover;
}

.bg-scale:hover:after {
    opacity: .8;
    -moz-transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

.bg-scale .inner {
    z-index: 1;
    position: relative;
    text-align: left;
}

.service01 .inner {
    float: left;
    margin-left: 40px;
}

.service02 .inner {
    margin-right: 20px;
}

#service .btn {
    width: 280px;
    padding: 10px 10px 8px;
    background: var(--sub-color) url(images/btn/arrow01.png) no-repeat 95% 50%;
}

#support .bgBeige {
    padding: 30px 0;
}

#support li {
    /*max-width: 240px;
    width:24%;*/
}

#support .bgWhite {
    padding: 30px 0;
}

#support .bgWhite li {
    /*max-width: 480px;
    width:49%;*/
}

#support .bgWhite li .btn {
    display: inline-block;
    padding: 8px 15px;
    text-align: center;
}

#btContact .bgImg {
    position: relative;
}

#btContact .bgImg:before {
    width: 50%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: url(images/bottom/btContact.jpg) no-repeat;
    background-size: cover;
}

#btContact .halfWrp .floatR {
    padding: 40px 0;
    width: 48%;
    -webkit-text-stroke: 1px solid var(--main-color);
    paint-order: stroke;
}

#btContact .halfWrp .floatR .telArea .icon {
    margin-right: 6px;
}

#btContact .halfWrp .floatR .telArea a {
    color: #fff;
}

#btContact .halfWrp .floatR .contact {
    padding-top: 10px;
}

/* フッター */
#footer #upper {}


#header .logo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#footer #news .newslist li {
    padding: 25px 0;
}

#footer #news .newslist li:nth-child(odd) {
    background: #e6e6e6;
}

#footer #news .newslist li:nth-child(even) {
    background: #cfcfcf;
}

#footer #news .newslist .left {
    width: 21%;
    padding-left: 20px;
    border-right: 1px solid #000;
}

#footer #news .newslist .right {
    width: 79%;
    padding-left: 25px;
}

#footer #news .newslist a {
    color: #000;
}

#footer #news .newslist .cate span {
    display: inline-block;
    margin-right: 5px;
    padding: 3px 10px;
    font-size: 12px;
    border: 1px solid #000;
    border-radius: 3px;
    line-height: 1;
}

#footer #news .bgGray2 {
    padding: 30px 0 80px;
}

#footer #news .btnMore {}

#footer #news .btn a {
    color: #000;
    display: block;
    width: 80%;
    margin: 0 auto;
}

#footer .bgImg {
    color: #fff;
    background: var(--main-color);
}

#footer .bgImg a {
    color: #fff;
}

footer a:hover {
    color: #fff;
    text-decoration: underline;
}


#footer #sitemap {
    border-bottom: 1px solid #fff;
}

#footer #sitemap li {
    float: left;
    width: 20%;
    margin-left: 1em;
    margin-bottom: 15px;
}

#footer .makerlist {
    max-width: 540px;
    width: 54%;
    height: 180px;
    padding: 20px 3%;
    border: 1px solid #fff;
}

#footer .makerlist .maker p {
    display: inline-block;
    vertical-align: middle;
}

#footer .copyright {
    padding: 5px 0;
}

/* プライバシーポリシー */
#privacypolicy h3 {
    font-size: 22px;
    margin: 20px 0;
    text-align: left;
    border-left: 8px solid #0090db;
    padding-left: 5px;
    line-height: 1;
}

#privacypolicy ul li {
    padding-left: 20px;
    list-style: disc;
    list-style-position: inside;
}

/* 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: var(--sub-color);
    border-radius: 2px;
    box-shadow: 0 2px 5px #0004;
    /*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;*/
}

/************************************************
      PC
************************************************ */
@media only screen and (min-width: 769px) {

    .sp,
    .mini {
        display: none;
    }
}

@media only screen and (max-width: 1159px) {}

@media only screen and (max-width: 999px) {
    .contentWrp {
        width: 96%;
        margin: auto;
    }

    header#header {
        height: 80px;
    }

    #header .upper {
        height: 0;
        padding: 0;
    }

    #header .makerArea {
        width: 260px;
    }

    .makerArea .left {
        display: none;
    }

    #header .cardArea {
        display: none;
    }

    .gnav-item {
        width: 19%;
    }

    #top01 .left {
        padding-top: 0;
    }

    #top01 .title span {
        display: inline-block;
        margin-left: 0;
    }

    .caseSlide .contentWrpW {
        display: none;
    }

    .caseSlide .contentWrp.sp {
        display: block;
    }

    .caseSlide .contentWrp.sp .archivePost {
        position: relative;
        width: 24%;
        margin: 0 0.5%;
    }

    .caseSlide .archivePost {
        max-width: inherit;
    }

    .breadcrumb {
        font-size: 13px;
    }

    #btContact .contactArea .contact {
        width: 45%;
    }

    #btContact .contactArea .contact img {
        width: 100%;
    }

    #footer #sitemap li {
        width: auto;
        margin-right: 10px;
    }

    #footer .info {
        width: 44%;
    }

    #footer .info .logo img {
        width: 100%;
    }

    #footer .makerlist {
        height: auto;
    }

    #casetop .tcTop {
        text-align: center;
    }

    #casetop .tcTop .flex1 {
        display: block;
    }

    #casetop .tcTop li,
    #casetop .tcTop li:first-child {
        max-width: 500px;
        width: 100%;
        margin: 0 auto 10px;
        padding-bottom: 10px;
        text-align: center;
    }

    #casetop .tcTop li .upper {
        padding: 10px;
    }

    #casetop .tcTop li h3 br {
        display: none;
    }

    #casetop .tcTop li p.w100 {
        max-width: 251px;
        width: 100%;
        margin: auto;
    }

    #news #news_list ul li .floatL {
        width: 42%;
    }

    #news #news_list ul li .floatR {
        width: 56%;
    }
}

/************************************************
        Tablet max-width: 768px
************************************************ */
@media only screen and (max-width: 768px) {
    img {
        max-width: 100%;
        height: auto;
    }

    .inner {
        width: 100%;
        padding: 0 10px;
    }

    body {
        font-size: 13px;
        line-height: 1.6;
    }

    .pt40 {
        padding-top: 20px !important;
    }

    .pt60 {
        padding-top: 20px !important;
    }

    .pt80 {
        padding-top: 30px !important;
    }

    .pb40 {
        padding-bottom: 20px !important;
    }

    .pb60 {
        padding-bottom: 20px !important;
    }

    .pb70 {
        padding-bottom: 30px !important;
    }

    .pb80 {
        padding-bottom: 30px !important;
    }

    .pb100 {
        padding-bottom: 50px !important;
    }

    .pt50 {
        padding-top: 25px !important;
    }

    .mb50 {
        margin-bottom: 25px !important;
    }

    .mb80 {
        margin-bottom: 40px !important;
    }

    .fs11,
    .fs12 {
        font-size: 10px;
    }

    .fs16 {
        font-size: 14px;
    }

    .fs18 {
        font-size: 15px;
    }

    .fs20 {
        font-size: 18px;
    }

    .fs22 {
        font-size: 18px;
    }

    .fs24 {
        font-size: 20px;
    }

    .fs28 {
        font-size: 20px;
    }

    .fs30 {
        font-size: 20px;
    }

    .fs32 {
        font-size: 26px;
    }

    .btn {
        font-size: 100%;
    }

    .breadcrumb {
        font-size: 12px;
    }

    .pc,
    .mini {
        display: none;
    }

    /* ドロワー */
    .drawer-hamburger {
        background-color: rgba(0, 0, 0, 0.6);
        border: 1px solid #ccc;
        padding-top: 12px;
        padding-right: .60rem;
        padding-bottom: 24px;
        padding-left: .60rem;
    }

    .drawer-hamburger:hover {
        cursor: pointer;
        background-color: rgba(0, 0, 0, 0.6);
    }

    .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: #fff;
    }

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

    /* ヘッダー */
    #header .logoArea {
        right: 0;
        margin: auto;
    }

    /* メインビジュアル */

    /* グローバルナビ */
    .g_naviWrap,
    .gnav,
    .gnav-contact {
        display: none;
    }

    /* セクション共通 */
    section {
        padding: 30px 0;
    }

    .h2 {
        font-size: 20px;
    }

    .h3 {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .flex {
        flex-wrap: wrap;
    }

    .halfWrp .floatL,
    .halfWrp .floatR {
        float: none;
        width: 100%;
        margin: 0 auto 15px;
    }

    .bdLine {
        margin-bottom: 30px;
    }

    /* トップページコンテンツ */
    .tcTop {
        padding: 40px 0;
    }

    #top01 .left,
    #company01 .left {
        padding-top: 0;
    }

    #topCase .titArea.flex1 {
        display: block;
    }

    #topCase .titArea .left {
        margin-bottom: 15px;
    }

    #topCase .titArea .right {
        text-align: center;
    }

    #topCase .titArea .right .img {
        width: 85px;
    }

    /* メーカーアコーディオン*/
    .makerList #openclose .flex1 {
        display: block;
    }

    .makerList .bgBlack .left,
    .makerList .bgBlack .right {
        width: 100%;
        max-width: inherit;
    }

    .accordion .inner li.all {
        background-position: 4.7% 50%;
    }

    .accordion .inner li ul li {
        padding: 3px 0 3px 5em;
    }

    /* ボトム共通コンテンツ */
    #service .service {
        padding: 30px 0;
        text-align: center;
    }

    .service01 .inner {
        margin-left: 0;
        text-align: center;
    }

    .service02 .inner {
        margin-right: 0;
        text-align: center;
    }

    .service02 .inner.floatR {
        float: none;
    }

    #service .btn {
        margin: auto;
    }

    /* page */
    #bodyworks01 .bgImgR:before,
    #bodyworks01 .bgImgL:before,
    #maintenance01 .bgImgR:before,
    #maintenance01 .bgImgL:before,
    .maintenance03_01 .bgImgL:before {
        background: none;
    }

    .contentP .tcTop {
        text-align: center;
    }

    .contentP .bgImg .contentWrp {
        padding: 20px 0;
    }

    .contentP .bgImg .photo {
        display: block;
    }

    .contentP .bgImg .photo img {
        width: 100%;
    }

    .contentP .bgImg .floatL,
    .contentP .bgImg .floatR {
        width: 100%;
    }

    .contentP .bgImg.bgImgR .floatL {
        padding-right: 0;
    }

    .contentP .bgImg.bgImgL .floatR,
    .maintenance03_01 .bgImgL .floatR {
        padding-left: 0;
    }

    .contentP .bgImg .txt {
        padding: 10px 0 0;
    }

    .bgTit.titArea h3 {
        padding: 5px 10px;
    }

    /* 整備・車検 */
    .maintenance02_03 .flex ul,
    #maintenance04 .flex ul {
        width: 50%;
    }

    .maintenance03_03 .flex ul {
        width: calc(100%/3);
        padding-right: 2%;
    }

    #inspection .contact .floatR {
        padding: 20px 2% 10px;
        text-align: center;
    }

    #inspection .contact .floatR .contactArea.flex1 {
        display: block;
    }

    .contactArea .contact {
        margin: auto;
    }

    /* 会社概要 */
    #company01.tcTop {
        padding: 30px 0;
    }

    .flowArea .box {
        padding: 30px 0 10px;
    }

    /* 施工事例一覧 */
    .type.bgGray ul li.btn {
        font-size: 12px;
    }

    #case #casetop .flex1 {
        display: block;
    }

    #case #casetop .left,
    #case #casetop .right {
        width: 100%;
        margin: auto;
    }

    #case #casetop .right {
        width: 90%;
    }

    .caseSlide .contentWrp.sp .archivePost {
        width: 48%;
        margin: 0 1% 15px;
    }

    #casetop .tcTop .top3 img {
        width: 90px;
    }

    #casetop .tcTop .maker img {
        width: 65px;
    }

    /* 施工事例詳細 */



    /* 新着情報詳細 */


    /* gotop */
    .gotop {
        width: 50px;
        right: 10px;
        bottom: 10px;
    }

    /* メールフォームテンプレート */
    #inquiry h2 {
        text-align: center;
        border-left: none;
    }

    .contactArea .floatL,
    .contactArea .floatR {
        float: none;
        text-align: center;
        margin: 0 auto 15px;
    }

    .contactArea .tel {
        /*margin-bottom:10px;*/
    }

    .contactArea .icon {
        width: 15px;
    }

    .contactArea .num {
        font-size: 30px;
    }

    #contact {
        background: none;
    }

    #contact .inner .flex1 {
        display: block;
        text-align: center;
    }

    #contact .inner .flex1 .telArea {
        margin-top: 15px;
    }

    table.inquiry_table,
    #contact .notice,
    .inquiry_complete {
        width: 100%;
    }

    table.inquiry_table {
        border-spacing: 5px;
        font-size: 14px;
    }

    .inquiry_table th,
    .inquiry_table td {
        padding: 15px 0px 5px;
    }

    .inquiry_table th {
        width: 20%;
    }

    textarea,
    input[type="text"] {
        width: 100%;
        font-size: 16px;
    }

    .mwform-tel-field input[type="text"] {
        width: 28%;
    }

    .policycheck {
        margin-bottom: 10px;
    }

    #submitback {
        display: block;
        margin-right: 0px;
        margin-bottom: 10px;
    }

    /* プライバシーポリシー */
    #privacypolicy h3 {
        font-size: 18px;
        line-height: 1.2;
    }

    /* pagenavi */
    .pagenavi {
        font-size: 14px;
        line-height: 1.6;
    }

    .pagenavi span.prev,
    .pagenavi span.next {
        display: block;
        margin-bottom: 10px;
    }

    .pagenavi span.gotolist {
        display: inline-block;
        margin-bottom: 10px;
    }

    /* フッター */
    #btContact .bgImg:before {
        width: 100%;
    }

    #btContact .halfWrp .floatR {
        float: none;
        max-width: 500px;
        width: 90%;
        margin: auto;
        padding: 20px 0;
    }

    #btContact .contactArea {
        padding-bottom: 10px;
    }

    #btContact .contactArea .tel {
        margin-bottom: 5px;
    }

    #footer #news .bgGray2 {
        padding: 30px 0;
    }

    #footer #news .newslist .left,
    #footer #news .newslist .right {
        padding-left: 10px;
    }

    #footer #lower .contentWrp.flex1 {
        display: block;
    }

    #footer .info {
        max-width: 320px;
        width: 100%;
        margin: 0 auto 15px;
    }

    #footer .makerlist {
        max-width: 490px;
        width: 100%;
        margin: auto;
    }
}

/************************************************
      Smartphone max-width: 640px
************************************************ */
@media only screen and (max-width: 640px) {
    #topCase .flex {
        flex-wrap: wrap;
    }

    #topCase.case .archivePost,
    #case_list .archivePost {
        width: 48%;
        margin-bottom: 15px;
    }

    .flex1.col2,
    .flex1.col4 {
        flex-wrap: wrap;
    }

    .flex1.col2 li {
        width: 100%;
        margin: 0 auto 15px;
    }

    .flex1.col4 li {
        width: 48%;
        max-width: inherit;
        margin-bottom: 15px;
    }

    #support .bgWhite {
        padding: 30px 0 0;
    }

    .flex.caseTop {
        display: block;
    }

    .flex.caseTop li {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 20px;
    }

    .contentP .box {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 30px;
        padding: 30px 4% 20px;
        float: none;
    }

    .contentP .box:nth-child(1),
    .contentP .box:nth-child(2) {
        border-right: 1px solid #000;
    }

    .halfWrp2 .floatL,
    .halfWrp2 .floatR {
        float: none;
        width: 100%;
        margin: 0 auto 20px;
    }

    .reason .flex {
        display: block;
    }

    .reason .left,
    .reason .right {
        width: 100%;
        margin: 0 auto 15px;
    }

    .reason .left p.w100 {
        text-align: center;
    }

    #company02 table th {
        width: 30%;
        padding-left: 10px;
    }

    #company02 table td {
        width: 70%;
    }

    #inquiryForm th,
    #inquiryForm td {
        display: block;
        width: 100%;
    }

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

    #inquiryForm th span.red {
        float: none;
        margin-left: 20px;
    }

    .submitback {
        margin-left: 0;
        margin-top: 10px;
    }


    /* 新着情報一覧 */
    #mainLeft.floatL,
    #sidebar.floatR {
        float: none;
        width: 100%;
        max-width: inherit;
    }
}

/************************************************
    Smartphone max-width: 414px
************************************************ */
@media only screen and (max-width: 414px) {
    .pb50 {
        padding-bottom: 30px !important;
    }

    .mb60 {
        margin-bottom: 30px !important;
    }

    .mini {
        display: block;
    }

    body {
        font-size: 12px;
    }

    .fs20 {
        font-size: 16px;
    }

    .fs22 {
        font-size: 16px;
    }

    .fs24 {
        font-size: 16px;
    }

    .fs30 {
        font-size: 16px;
    }

    .h2 {
        font-size: 16px;
    }

    .h3 {
        font-size: 14px;
    }

    .btn {
        font-size: 10px;
    }

    section {
        padding: 20px 0;
    }

    /* top bottomコンテンツ */
    #top01 .flex1,
    #company01 .flex1 {
        display: block;
    }

    #top01 .left,
    #top01 .right,
    #company01 .left,
    #company01 .right {
        width: 100%;
        margin: 0 auto 15px;
        text-align: center;
    }

    #top01 .left {
        margin-bottom: 20px;
    }

    #topCase .titArea .right .img {
        width: 75px;
    }

    /* メーカーアコーディオン */
    .makerList p.ac1,
    .makerList li.last {
        padding: 10px 15px;
    }

    .makerList p.ac1 span.icon {
        margin-right: 2px;
    }

    .makerList p.other span:nth-child(2) {
        margin-left: 2px;
    }

    /* 下層ページ */
    .maintenance02_03 .flex ul,
    #maintenance04 .flex ul {
        width: 100%;
    }

    .maintenance03_02 .box .flex {
        display: block;
    }

    .maintenance03_03 .flex ul {
        width: 100%;
    }

    /* 施工事例一覧 */
    #casetop .tcTop .top3 img {
        width: 70px;
    }

    #casetop .tcTop .maker img {
        width: 55px;
    }

    #topCase.case .archivePost,
    #case_list .archivePost {
        width: 100%;
        margin: 0 auto 15px;
    }

    .caseSlide .archivePost {
        max-width: 360px;
    }

    .type.bgGray ul.flex1 {
        display: block;
    }

    .type.bgGray ul li {
        width: 90%;
        max-width: inherit;
        margin: 0 auto 10px;
    }

    .type.bgGray ul li.btn {
        font-size: 10px;
    }

    #case-detail #casetop .flex {
        display: block;
        text-align: center;
    }

    #case-detail #casetop .flex dl {
        margin-bottom: 10px;
    }

    /* news */
    #news #news_list ul li .floatL,
    #news #news_list ul li .floatR {
        float: none;
        width: 100%;
    }

    #news #news_list ul li .floatL {
        max-width: 300px;
        margin: 0 auto 15px;
    }

    /* フッター */
    .contactArea.flex1 {
        display: block;
        text-align: center;
    }

    #btContact .contactArea .contact {
        max-width: 210px;
        width: 90%;
        margin: 10px auto 0;
    }

    #footer #news .newslist .left {
        width: 30%;
    }

    #footer #news .newslist .right {
        width: 70%;
    }

    #footer .info .line {
        width: 80px;
    }

    #footer .info .line img {
        width: 100%;
    }

    /* gotop */
    .gotop {
        width: 40px;
    }
}

/************************************************
  Smartphone max-width: 360px
************************************************ */
@media only screen and (max-width: 361px) {
    #header .logoArea {
        right: inherit;
        margin: inherit;
    }
}




.sns {
    display: flex;
    justify-content: start;
    gap: 10px;
    align-items: center;
    margin: 20px 0;
}

.sns a {
    display: block;
    width: 40px;
    aspect-ratio: 1/1;
}

.sns img,
.contact a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.contact a:has(img) {
    display: block;
    background: var(--sub-color);
    max-width: 240px;
}


.nowrap {
    display: inline-block;
}