@charset "utf-8";

/*---------------------------------------------
	リセット
---------------------------------------------*/
article,
aside,
hgroup,
header,
address,
figure,
figcaption {
  margin: 0;
  padding: 0;
}

ul {
  margin-block-start: 0;
  margin-block-end: 0;
  padding-inline-start: 0;
  padding: 0;
}

p {
  margin-block-start: 0px;
  margin-block-end: 0px;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
}

h1,
h2,
h3,
h4,
h5,
h6,
dl,
dt,
dd,
ul,
li,
p {
  margin-block-start: 0;
  margin-block-end: 0;
  margin: 0;
}

/*---------------------------------------------
	最小幅
---------------------------------------------*/

/*---------------------------------------------
	body
---------------------------------------------*/
html {
  /* scroll-behavior: smooth; */
  font-size: 62.5%;
  /*  overflow-y: scroll;*/
}

/* 10px */

body {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.6;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  color: #122025;
  overflow-x: hidden;
  font-family: 'メイリオ', 'Meiryo', sans-serif;
  /* font-family: "Noto Sans JP"; */
}

p {
  line-height: 2.0;
}

.sp_br {
  display: none;
}

/*---------------------------------------------
	Anchor
---------------------------------------------*/
a {
  outline: none;
  color: #122025;
}

a:link {
  text-decoration: none;

  text-decoration: underline;
}

a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}



/*---------------------------------------------
 ** ON OFF hover
---------------------------------------------*/
.hover {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.hover:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}

/*=================================================================================================================================*/
/**  アニメーション	*/
/*=================================================================================================================================*/
.effect-fade.fadeInUp {
  opacity: 0;
  transform: translateY(30px);
  transition: 1s;
}

.effect-fade.fadeInDown {
  opacity: 0;
  transform: translateY(-30px);
  transition: 2s;
}

.effect-fade.SlideInLeft {
  opacity: 0;
  transform: translateX(-30px);
  transition: 2s;
}

.effect-fade.SlideInRight {
  opacity: 0;
  transform: translateX(30px);
  transition: 2s;
}

.effect-fade.FadeIn {
  opacity: 0;
  transform: translateX(-30px);
  transition: 2s;
}

/* ディレイ */
.effect-fade.delay-lv1 {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.effect-fade.delay-lv2 {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.effect-fade.delay-lv3 {
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
}


/*---------------------------------------------
 ** パンくずリスト
---------------------------------------------*/
#breadcrumb {
  width: 95%;
  max-width: 1200px;
  margin: 1.5rem auto 4rem;
}

#breadcrumb ul {
  display: table;
  font-size: 1.4rem;
}

#breadcrumb ul li {
  margin: 0 10px 0 0;
  font-size: 1.4rem;
  float: left;
  list-style-type: none;
}

#breadcrumb ul li a {
  color: #007ac6;
  text-decoration: none;
  font-weight: bold;
}

#breadcrumb ul li:first-child::before {
  content: "";
  padding: 0;
}

#breadcrumb ul li::before {
  padding: 0 10px 0 0;
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: bold;
  font-size: 14px;
}

/*---------------------------------------------
 **  ページトップ
---------------------------------------------*/
#pageTop {
  position: fixed;
  bottom: 90px;
  right: 20px;
  z-index: 999;
}

#pageTop a {
  display: block;
  padding: 2rem;

  border: 1px solid #006cbb;
  color: #006cbb;
  font-weight: bold;
  text-decoration: none;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

#pageTop a:after {
  position: absolute;
  top: 61px;
  left: 0px;
  right: 0;
  margin: 0 auto;
  content: "pagetop";
  display: inline-block;
  font-size: 1.2rem;
  color: #006cbb;
  text-align: center;
}

/*---------------------------------------------
 ** フォント
---------------------------------------------*/
.notoSan {
  font-family: "Noto Sans JP";
}

.sawarabiM {
  font-family: "Sawarabi Mincho";
}

/*---------------------------------------------
 ** 共通ボタン
---------------------------------------------*/
.btn_white {
  display: inline-block;
}

.btn_white a {
  padding: 15px 40px 15px 30px;
  text-align: center;
  border: 1px solid #185BA8;
  background: url("../img/common/icon_btn.png") no-repeat 95%;
  margin-right: 15px;
  display: inline-block;
  color: #185BA8;
  text-decoration: none;
}

.btn_white a:hover {
  background: url("../img/common/icon_btn.png") no-repeat 98%;
  transition: 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_blue {
  display: inline-block;
}

.btn_blue a {
  padding: 15px 40px 15px 30px;
  text-align: center;
  border: 1px solid #185BA8;
  background: url("../img/common/icon_btn2.png") no-repeat 95% #185BA8;
  margin-right: 15px;
  display: inline-block;
  color: #fff;
  text-decoration: none;
}

.btn_blue a:hover {
  background: url("../img/common/icon_btn2.png") no-repeat 98% #185BA8;
  transition: 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.btn_blue2 {
  display: inline-block;
}

.btn_blue2 a {
  padding: 15px 40px 15px 30px;
  text-align: center;
  border: 1px solid #185BA8;
  background: url("../img/common/icon_btn3.png") no-repeat 90% 50% #185BA8;
  margin-right: 15px;
  display: inline-block;
  color: #fff;
  text-decoration: none;
}

.btn_blue2 a:hover {
  background: url("../img/common/icon_btn3.png") no-repeat 90% 60% #185BA8;
  transition: 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}




/*---------------------------------------------
 ** コンテンツ全体
---------------------------------------------*/
#content {
  width: 100%;
  position: relative;
}

#content:before {
  content: "";
  position: absolute;
  top: 0;
  width: 50%;
  border-top: 0 solid transparent;
  border-right: calc((410px) / 1.5) solid transparent;
  border-bottom: calc((410px) / 1.5) solid transparent;
  border-left: calc((410px) / 1.5) solid #e1f4fd;
  z-index: -1;
}

@media (max-width: 767px) {
  #content:before {
    border-right: calc((410px) / 3) solid transparent;
    border-bottom: calc((410px) / 3) solid transparent;
    border-left: calc((410px) / 3) solid #e1f4fd;
  }
}

#main {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding: 2.5rem 0 2rem;
}

#top #main {
  padding-top: 0;
  padding-bottom: 0;
  max-width: 100%;

  padding: 0rem 0 2rem;
}

#top .col-wrapper {
  width: 90%;
}

.col-wrapper-full {
  width: 100%;
}

.wp .item.main-col {
  width: 77%;
}

.wp .item.sub-col {
  width: auto;
}

.wp .item.sub-col img {
  overflow: hidden;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;

}

/*
#slideshow {
  display: none;
}
#top #slideshow {
  display: block;
}
*/

/*---------------------------------------------
 ** セクション
---------------------------------------------*/
.section_block {
  margin-bottom: 70px;
}

.section_block_top {
  padding-top: 56px;
}

/*---------------------------------------------
 ** li list typ 消す
---------------------------------------------*/
.lst_none li {
  list-style-type: none;
}

/* 画像 */
.img_box {
  display: flex;
}

/* フォントサイズ */
.fz17 {
  font-size: 1.7rem;
}

.fz20 {
  font-size: 2rem;
}

.mal {
  display: flex;
  justify-content: center;
  align-items: center;
}

/*=================================================================================================================================*/
/**  ここまで共通部分	*/
/*=================================================================================================================================*/

/*---------------------------------------------
 ** ナビ記述
---------------------------------------------*/
#footer .sub-menu {
  display: none;
}

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

/* ロゴ */
.logo a {
  display: block;
  z-index: 9;
  position: relative;
}

/*---------------------------------------------
 ** フッター
---------------------------------------------*/

#f_logo p {
  color: #185BA8;
  border-radius: 50px;
  border: 2px solid #185BA8;
  padding: 10px 20px;
  font-size: 2.0rem;
  font-weight: bold;
  float: left;
  margin-top: 30px;
  margin-left: 20px;
}

footer .footer_wrap .shop_info>img {
  border-radius: 10px;
  margin-bottom: 15px;
}

footer .footer_wrap .shop_info dl {
  width: 90%;
  margin: 5px auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

footer .footer_wrap .shop_info dl dt {
  width: 30%;
  background: #185BA8;
  color: #fff;
  font-weight: bold;
  padding: 10px 0;
  text-align: center;
  font-size: 1.4rem;
}

footer .footer_wrap .shop_info dl dd {
  width: 60%;
  font-size: 1.4rem;
  padding: 5px 0 5px 15px;
  text-align: left;
}

footer .footer_wrap .shop_info dl dd.large {
  font-size: 1.8rem;
  font-family: "Noto Sans JP";
}

footer .footer_wrap .shop_info ul {
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  margin-top: 20px;
}

footer .footer_wrap .shop_info ul li img {
  width: 30px;
  margin-top: 3px;
}

footer .footer_wrap .shop_info ul li {
  padding: 0 20px;
}

footer .footer_wrap .shop_info ul li {
  border-right: 1px solid #ddd;
}

footer .footer_wrap .shop_info ul li:last-child {
  border-right: 0px;
}

footer .footer_wrap .shop_info ul li:first-child img {
  padding-top: 2px;
}

footer .footer_wrap .shop_info ul li a {
  margin: 0;
  padding: 0;
}



/**  専用のcssは別途pluginフォルダ内に	*/
.xo-event-calendar {
  width: 95%;
  margin: 0 auto;
}

.xo-event-calendar div.holiday-all {
  background-image: url("../img/common/icon_calendar_all.png");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: 50% cener;
}

.xo-event-calendar div.holiday-none {
  background-image: url("../img/common/icon_calendar_none.png");
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: 50% cener;
}

.xo-event-calendar .holiday-titles {
  display: none;
}

/* 表示する場合
  .xo-event-calendar  .holiday-titles{
    display: flex;
  }
  .xo-event-calendar  .holiday-titles p{
    margin-left: 15px !important;
  }
  */


/* contact */
footer .footer_wrap .contact {
  margin-bottom: 10px;
}

footer .footer_wrap .contact ul {
  display: flex;
  list-style: none;
  width: 90%;
  margin: 0 auto;
}

footer .footer_wrap .contact ul li {
  width: 50%;
}

footer .footer_wrap .contact ul li a {
  color: #fff;
  text-decoration: none;
  font-family: "Noto Sans JP";
  text-align: center;
  padding: 15px 20px;
  letter-spacing: 0.1em;
  display: block;
}

footer .footer_wrap .contact ul li.tel a {
  background: #185BA8;
  border-radius: 10px 0 0 10px;
}

footer .footer_wrap .contact ul li.mail a {
  background: #3CBBB7;
  border-radius: 0 10px 10px 0;

}


/* コピーライト */
#copyright {
  font-size: 0.8em;
  width: 100%;
  text-align: center;
  letter-spacing: 3px;
  padding: 3rem 0 3rem;
  font-weight: bold;
  color: #006cbb;
}

/*=================================================================================================================================*/
/**  追加ブロックスタイル	*/
/*=================================================================================================================================*/
/* アウトライン 白抜きボタン */
.is-style-icon-btn .wp-block-button__link {
  background: #fff;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  border: 1px solid #104583;
  font-size: 1.9rem;
  color: #104583 !important;
  font-weight: bold;
  padding: 1rem 0.5rem;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
}

/* アウトライン 白抜きボタン 並んだ時 */
.is-style-icon-btn {
  display: inline-block;
  min-width: 250px;
}

.is-style-icon-btn+.is-style-icon-btn {
  margin-left: 0;
  margin-top: 20px;
}

/* アイコン戻るボタン */
.is-style-icon-btn_back .wp-block-button__link {
  width: 100%;
  max-width: 300px;
  padding: 1.2rem 4rem;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  text-decoration: none !important;
  font-size: 2rem;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  margin: 0 6px 0 0;
  background: #e3f1fe;
  box-shadow: 2px 2px #a6a6a6;
  position: relative;
}

.is-style-icon-btn_back .wp-block-button__link:after {
  width: 2rem;
  height: 2rem;
  margin-left: 1rem;
  position: absolute;
  top: 38%;
  left: 2rem;
  background: url(../img/common/icon_next_deep_blue.png) no-repeat;
  background-size: contain;
  content: "";
  transform: rotate(180deg);
}

/* 見出し h2 */
.is-style-h2_cs_01 {
  color: #113766;
  background-color: #a9cbf3;
  letter-spacing: 1px;
  text-shadow: unset;
  padding: 1.7rem 5rem 1.8rem;
  box-sizing: border-box;
  /*通常の記述*/
  -webkit-box-sizing: border-box;
  /*Google ChromeやSafariの機能を利用*/
  -moz-box-sizing: border-box;
  /*Firefoxの機能を利用*/
  margin-bottom: 0;
}

/* 見出し h2 */
.is-style-h2_cs_02 {
  color: #113766;
  letter-spacing: 3px;
  text-shadow: unset;
  margin: 0;
}

.is-style-h2_cs_02+p {
  margin: 0;
  letter-spacing: 3px;
  font-size: 1.2rem;
  margin-bottom: 5rem;
}

/* 見出し 背景薄水色 */
.is-style-h_bg_lb {
  background: #eefaff;
}

/* 見出し 背景薄グレー */
.is-style-h_bg_lg {
  background: #f2f2ea;
}

@media (min-width: 768px) {
  .clounm_3 .wp-block-column:not(:first-child) {
    margin-left: 45px !important;
  }

  .clounm_3 .wp-block-column:nth-child(2n) {
    margin-left: 45px !important;
  }
}

@media (max-width: 768px) {
  .clounm_3 .wp-block-column:not(:last-child) {
    margin-bottom: 39px;
  }

  .clounm_3 .wp-block-column:nth-child(2n) {
    margin-bottom: 39px;
  }
}

/* ヘッダ固定時のページ内リンクのずれを解消 */
#flow01,
#flow02 {
  margin-top: -125px;
  padding-top: 125px;
}

/*=================================================================================================================================*/
/*---------------------------------------------
 **  メイン画像
---------------------------------------------*/
.main_img {
  width: 100%;
  position: relative;
  background: rgb(240, 240, 240);
}

#index .main_img {
  background: unset;
}

.main_h1_wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 300px 5% 0;
}

#index .main_h1_wrapper {
  display: none;
}

#polish .main_h1,
#quartz .main_h1,
#himohs .main_h1,
#realglass .main_h1,
#glassfaq .main_h1,
#film .main_h1,
#leather .main_h1,
#room .main_h1,
#faq .main_h1 {
  display: none;
}


.main_h1 {
  width: 95%;
  max-width: 1200px;
  margin: 50px auto;
  display: block;
  text-align: left;
  text-shadow: 1px 1px 0 rgba(255, 255, 2550, 0.5),
    -1px -1px 0 rgba(255, 255, 2550, 0.2), -1px 1px 0 rgba(255, 255, 2550, 0.5),
    1px -1px 0 rgba(255, 255, 2550, 0.2), 0px 1px 0 rgba(255, 255, 2550, 0.5),
    0-1px 0 rgba(255, 255, 2550, 0.2), -1px 0 0 rgba(255, 255, 2550, 0.5),
    1px 0 0 rgba(255, 255, 2550, 0.2);
  font-size: 40px;
  letter-spacing: 0.5em;
  font-weight: normal;
}

#top .main_h1 {
  display: none;
}

.main-top-p {
  max-width: 600px;
  width: 70%;
}

/* 【 PC 】 768px ～ */
@media (min-width: 768px) {
  .main-top-p {
    max-width: 600px;
    margin-top: 124px;
  }
}

/*---------------------------------------------
 **  TOPページスライドショー
---------------------------------------------*/
.slideshow {
  height: 750px;
  list-style-type: none;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 auto;
  padding: 0;
}

.slideshow>li {
  opacity: 0;
  position: absolute;
  transition: opacity 3s ease-in-out;
  /*フェード時間・イージング*/
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.slideshow>li.showSlide {
  opacity: 1;
}

.slideshow>li {
  width: 100%;
  height: 100%;
}

/* SP用メディアクエリ */
@media screen and (max-width: 767px) {
  .slideshow {
    width: 100%;
    /* スライドショー幅（SP）*/
    height: 270px;
  }
}

.main_img_slide_01 {
  background: url(../img/main_img/top-main-01.jpg?01) center top no-repeat;
}

.main_img_slide_02 {
  background: url(../img/main_img/top-main-02.jpg) center top no-repeat;
}

.main_img_slide_03 {
  background: url(../img/main_img/top-main-03.jpg?02) center top no-repeat;
}

.main_img_slide_04 {
  background: url(../img/main_img/top-main-04_b.jpg) center top no-repeat;
}

.main_img_slide_01,
.main_img_slide_02,
.main_img_slide_03 {
  background-size: cover;
}


/* メイン画像 内部ページ */
.main_img {
  background: url(../img/main_img/news.jpg) top center no-repeat !important;
  background-size: 100%;
}

#index .main_img {
  background: unset !important;
}


body#facility .main_img {
  background: url(../img/main_img/tech_main_3723.jpg) top center no-repeat !important;
}

body#technique .main_img {
  background: url(../img/main_img/tech02_top_3239.jpg) top center no-repeat !important;
}

body#polish .main_img {
  background: url(../img/main_img/polish_top2903.jpg) top center no-repeat !important;
}

body#quartz .main_img {
  background: url(../img/main_img/quartz_top_6791.jpg) top center no-repeat !important;
}

body#himohs .main_img {
  background: url(../img/main_img/himohs_top_0692.jpg) top center no-repeat !important;
}

body#realglass .main_img {
  background: url(../img/main_img/gzox_top_1528.jpg) top center no-repeat !important;
}

body#glassfaq .main_img {
  background: url(../img/main_img/coatingQ&A_maintop_0528.jpg) top center no-repeat !important;
}

body#film .main_img {
  background: url(../img/main_img/carfilm_top_1586.jpg) top center no-repeat !important;
}

body#leather .main_img {
  background: url(../img/main_img/leather_top_0438.jpg) top center no-repeat !important;
}

body#room .main_img {
  background: url(../img/main_img/roomclean_main_1646.jpg) top center no-repeat !important;
}

body#afterservice .main_img {
  background: url(../img/main_img/coatingmainte_top_045.jpg) top center no-repeat !important;
}

body#shop .main_img {
  background: url(../img/main_img/daisya_top_0584.jpg) top center no-repeat !important;
}

body#faq .main_img {
  background: url(../img/main_img/main_shop.jpg) top center no-repeat !important;
}

body#news .main_img {
  background: url(../img/main_img/news.jpg) top center no-repeat !important;
}

body#maintenance .main_img {
  background: url(../img/main_img/maintenance.jpg) top center no-repeat !important;
}

body#handwash .main_img {
  background: url(../img/main_img/handwash.jpg) top center no-repeat !important;
}

@media (max-width: 767px) {
  body#handwash .main_img {
    background: url(../img/main_img/handwash.jpg) -70px 0px no-repeat !important;
    background-size: 130% !important;
  }

}

@media (max-width: 767px) {

  body#facility .main_img,
  body#technique .main_img,
  body#polish .main_img,
  body#quartz .main_img,
  body#himohs .main_img,
  body#realglass .main_img,
  body#glassfaq .main_img,
  body#film .main_img,
  body#leather .main_img,
  body#room .main_img,
  body#afterservice .main_img,
  body#shop .main_img,
  body#faq .main_img,
  body#news .main_img,
  body#contact .main_img,
  body#maintenance .main_img {
    background-size: contain !important;
  }
}

.coop-area {
  justify-content: left !important;
}

.coop-area li {
  font-size: 1.8rem !important;
}


.area-coop-lst {
  background: #ffffff;
  border: 3px solid #006cb8;
}

.area-coop-lst li {
  padding-top: .5rem !important;
  padding-bottom: 1.6rem !important;
  margin-bottom: 1.3rem !important;
  border-bottom: 3px solid #006cb8;
  border-color: #006cb8 !important;
}

.area-coop-lst li:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 1rem !important;
  border-bottom: unset !important;
}



.lens-wrapper-img img {
  width: 80% !important;
  height: auto;
}


.access-parking {
  font-weight: bold;
  display: inline-block;
  font-size: 130%;
  color: #006cbb;
}


.time-bottom-p {
  font-weight: bold;
}

.time-bottom-p span {
  color: #f9be00;
}

.time-txt-size-s {
  font-size: 65%;
}

/*mainview*/
#mainview {
  width: 100%;
  position: relative;
  text-align: center;
}

/* news */
.news_shop h3 {
  width: 100%;
  background: #185BA8;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: left;
  text-indent: 30px;
  padding: 10px 0;
  margin: 0;
  border: 1px solid #185BA8;
}

.news_shop h3 span {
  font-size: 12px;
  margin-left: 20px;
}

.news_shop dl {
  margin: 0;
  border-left: 1px solid #185BA8;
  border-right: 1px solid #185BA8;
  border-bottom: 1px solid #185BA8;
  display: flex;
  width: 100%;
}

.news_shop dl:nth-child(even) {
  background: #fff;
}

.news_shop dl:nth-child(odd) {
  background: #F5F5F5;
}

.news_shop dl dt {
  font-size: 14px;
  font-weight: bold;
  padding: 10px 15px 8px 30px;
}

.news_shop dl dd {
  padding: 8px 0;
}

.news_shop dl dd span.attention {
  width: 95px;
  display: inline-block;
  background: #AC3500;
  text-align: center;
  color: #fff;
  padding: 3px 0;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.2em;
  border-radius: 20px;
  margin-right: 20px;
}

.news_shop dl dd span.nml {
  width: 75px;
  display: inline-block;
  background: #f29600;
  text-align: center;
  color: #fff;
  padding: 3px 0;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.2em;
  border-radius: 20px;
  margin-right: 20px;
}

@media screen and (max-width: 1200px) {
  .news_shop dl dd span.attention {
    display: block !important;
    margin-bottom: 5px;
  }
}



/*intro*/
#index_intro {
  background-image: url("../img/index/index_intro_bg.jpg");
  background-size: contain;
  background-position: left top;
  background-repeat: no-repeat;
  background-color: #000;
}

/* intro */
#index_intro .intro_wrap {
  border-bottom: 10px solid #185BA8;
  text-align: center;
}

#index_intro h2 {
  text-align: center;
  color: #fff;
  font-weight: normal;
  padding-top: 100px;
}

#index_intro p {
  text-align: left;
  line-height: 2.0em;
  letter-spacing: 0.1em;
  color: #fff;
  width: 80%;
  margin: 0 auto;
}

#index_intro h3 {
  text-align: center;
  font-weight: normal;
  padding: 8px 0;
  color: #fff;
}

#index_intro .flexbox {
  justify-content: space-between;
  margin-top: 50px;
  padding-bottom: 50px;
}

#index_intro .flexbox div img {
  border-radius: 10px;
}




/*coating*/
#index_coating {
  background-image: url("../img/index/index_coating_bg.jpg");
  background-position: top left;
  background-repeat: no-repeat;
  background-color: #000;
  margin-top: 40px;
}

#index_coating .coating_menu {
  border-bottom: 10px solid #BB3C67;
}

#index_coating .coating_menu div {
  width: 22%;
}

#index_coating .coating_menu div img {
  border-radius: 10px;
}

#index_coating .coating_menu h3 {
  color: #fff;
  font-weight: normal;
  font-size: 1.4rem;
  margin-bottom: 30px;
}

#index_coating .coating_menu_txt h2 {
  color: #fff;
  font-weight: normal;
}

#index_intro h2 {
  text-align: center;
  color: #fff;
  font-weight: normal;
  padding-top: 100px;
}

#index_coating .coating_menu_txt p {
  text-align: left;
  letter-spacing: 0.1em;
  color: #fff;
  margin: 0 auto;
}


/*option*/
#index_option .flexbox>a {
  width: 100%;
  margin: 0 auto;
  min-height: 300px;
  display: block;
}

#index_option .flexbox>a:nth-child(1) {
  border-bottom: 10px solid #3CB7BB;
  background-image: url("../img/index/index_option_photo_1.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
}

#index_option .flexbox>a:nth-child(2) {
  border-bottom: 10px solid #9E3CBB;
  background-image: url("../img/index/index_option_photo_2.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}

#index_option .flexbox>div p {
  width: 100%;
  text-align: left;
}

#index_option .carfilm {
  width: 55%;
  margin-left: 5%;
}

#index_option .cleaning {
  width: 50%;
  margin-left: 45%;
}

#index_option h2,
#index_option p {
  color: #fff;
}

#index_option p {
  padding: 10px;
  line-height: 1.8em;
}

#index_option h2 {
  font-weight: normal;
}

/*maintenance*/
#index_mainte {
  background-image: url("../img/index/index_mainte_bg.jpg");
  background-size: contain;
  background-position: top right;
  background-repeat: no-repeat;
  background-color: #000;
}

#index_mainte h2,
#index_mainte h3,
#index_mainte p {
  color: #fff;
}

#index_mainte h2 {
  font-weight: normal;
}

#index_mainte .index_mainte_menu {
  border-bottom: 10px solid #FFC551;
}

#index_mainte .index_mainte_menu>div img {
  border-radius: 10px;
}

#index_mainte .index_mainte_menu h3 {
  font-weight: normal;
}

#index_mainte .index_mainte_txt p {
  text-align: left;
  margin-top: 15px;
  color: #fff;
}


/*---------------------------------------------
 **  下層ページ
---------------------------------------------*/

.w1200 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.con_box .w580 {
  width: 90%;
  max-width: 580px;
  /* background:#fff; */
  padding: 1% 5% 5%;
  margin: 0;
}

.con_no {
  font-size: 70px;
  color: #185BA8;
  display: block;
}

.con_box div h3 {
  font-size: 35px;
  margin: 0 0 20px;
  font-weight: normal;
}

.con_box div p {
  margin: 0 auto 30px;
}

.lower .btn {
  text-align: center;
}

.lower .btn_white {
  margin: 0 auto 20px;
}

.lower .btn_white a {
  min-width: 240px;
}

/*---------------------------------------------
 ** 共通ボタン
---------------------------------------------*/
.btn_white a {
  padding: 15px 45px 15px 30px;
}

.no_bg {
  padding: 10% 0;
}

.no_bg_02 {
  padding: 7% 0 4% 0;
}

.lower .flexbox {
  width: 100%;
  display: flex;
  justify-content: space-around;
}


.flex_between {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex_around {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

/* CBF品質 設備 */

#fac01 {
  width: 100%;
  min-height: 60px;
  background: url(../img/technique/facility/tech_01.jpg) center top;
  background-size: cover;
  padding-top: 3%;
}


#fac01 .content-txt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#fac01 .content-txt div {
  width: 46%;
  margin-bottom: 50px;
}

#fac01 .fac01_box2 {
  background: #185BA8;
  border-radius: 5px;
  margin-top: 100px;
}

#fac01 .fac01_box2 h3 {
  width: 95%;
  color: #fff;
  margin: 10px auto;
  font-size: 28px;
  text-align: center;
  padding: 10px 0;
}

#fac01 .fac01_box2 ul {
  width: 95%;
  margin: 0 auto 5%;
}

#fac01 .fac01_box2 ul li {
  width: 95%;
  padding: 10px 2.5%;
  background: #fff;
  margin: 0 auto 1%;
  list-style: none;
  text-align: center;
}

#fac02 .flex_between div {
  width: 47%;
  margin-bottom: 30px;
}

#fac02 .flex_between div.min130 p {
  min-height: 130px;
}

#fac03 {
  background: url(../img/quality/facility_bg01.jpg) no-repeat;
  background-size: cover;
  padding: 30% 0 2%;
}


/* CBF品質 技術 */

#tech01 {
  width: 100%;
  min-height: 600px;
  background: url(../img/technique/technique/cbftech_01.jpg) no-repeat;
  background-size: cover;
}

#tech02 {
  width: 100%;
  min-height: 600px;
  background: url(../img/technique/technique/cbftech_05.jpg) no-repeat;
  background-size: cover;
}


#tech03 {
  width: 100%;
  min-height: 600px;
  background: url(../img/technique/technique/cbftech_06.jpg) no-repeat;
  background-size: cover;
}

#tech03 .w580 {
  margin-left: inherit !important;
  margin-right: 0;
}

/* ガラスコーティング　共通パーツ */
#coating_foot {
  background: #F5F5F5;
  padding: 100px 0;
  position: relative;
}

#coating_foot::after {
  content: '';
  width: 70%;
  max-width: 800px;
  height: 10px;
  display: block;
  background: #BB3C67;
  position: absolute;
  bottom: -10px;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.coating_foot_in {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.coating_foot_in .brand {
  width: 70%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.coating_foot_in .brand div {
  width: 24%;
  max-width: 280px;
  position: relative;
}

.coating_foot_in .brand .brand_logo {
  width: 95%;
  position: absolute;
  bottom: 20%;
  right: 0;
  left: 0;
  margin: auto;
}

.coating_foot_in .brand p {
  margin: 20px auto;
  text-align: center;
  font-size: 90%;
}

.coating_foot_in .coating_foot_t {
  width: 28%;
}

.coating_foot_in .coating_foot_t h3 {
  font-size: 130%;
  text-align: center;
  margin-bottom: 10px;
}

.coating_foot_in .coating_foot_t p {
  font-size: 90%;
  margin-bottom: 20px;
}

.coating_foot_in .coating_foot_t .btn_white {
  margin-bottom: 10px;
}




/* ガラスコーティング：磨き */
#polish h3 {
  font-size: 2.6rem;
}

#polish01 {
  width: 100%;
  height: 300px;
  background: url(../img/coating/coating_main01.png) right top no-repeat #000;
  background-size: auto 100%;
  color: #fff;
  padding: 80px 0 120px;
}

#polish01 .w1200 div {
  width: 70%;
  max-width: 600px;
  padding-top: 30px;
  margin: 0;
}

#polish01 div h2 {
  color: #fff;
  display: block;
  margin-bottom: 20px;
  font-size: 3.6rem;
  position: relative;
}

#polish01 div h2::before {
  content: 'ガラスコーティング';
  background: #185BA8;
  display: inline-block;
  padding: 5px 20px 3px;
  font-size: 2.0rem;
  position: absolute;
  top: -50px;
  left: 0;
}

#polish01 div p {
  color: #fff;
}

#polish02 {
  padding: 5% 0;
}

#polish02 .flex_between dl {
  width: 47%;
}

#polish02 .flex_between dl dt {
  font-size: 2.6rem;
  margin: 0 0 4%;
  min-height: 2.5em;
}

#polish03 {
  background: url(../img/glasscoating/polish/polish_01.jpg) top center no-repeat;
  background-size: cover;
  padding: 5% 0;
}

#polish03 .w1200,
#fac01 .w1200 {
  position: relative;
}

#polish03 .w1200 .btn,
#fac01 .w1200 .btn {
  display: inline-block;
  position: absolute;
  top: 10px;
  right: 0;
}

.w1200 .btn .close {
  display: inline-block;
  position: absolute;
  top: -50px;
  right: 0;
  padding: 10px 30px;
}

#fac01 .w1200 .btn .close {
  top: 40px;
}

.w1200 .content-txt {
  padding: 30px 0;
}

#polish03 .w1200 .content-txt div {
  padding: 10px 0;
  display: flex;
  justify-content: flex-end;
}

.w1200 .content-txt div img {
  margin-left: 20px;
  max-width: 200px;
}

#polish04 {
  padding: 5% 0;
}

#polish04 h3 {
  margin-bottom: 2% !important;
}

#polish04 .flex_between dl {
  width: 47%;
  margin-bottom: 30px;
}

#polish04 .flex_between dl dt {
  font-size: 2.6rem;
  display: inline-block;
  margin: 0 0 1%;
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes slideDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.slide-down {
  -webkit-animation-name: slideDown;
  animation-name: slideDown;
}

@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}

@keyframes slideUp {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}

.slide-up {
  -webkit-animation-name: slideUp;
  animation-name: slideUp;
}

.content-wrap {
  height: 440px;
  overflow: hidden;
  position: relative;
  margin: 0;
}

.content-wrap.ptn-01 {
  height: 440px;
  overflow: hidden;
  position: relative;
}


.close-btn,
.more-btn {
  display: block;
  width: 100%;
  padding: 80px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  background: -moz-linear-gradient(top,
      rgba(245, 245, 245, 0) 0%,
      rgba(245, 245, 245, 1) 100%);
  background: -webkit-linear-gradient(top,
      rgba(245, 245, 245, 0) 0%,
      rgba(245, 245, 245, 1) 100%);
  background: linear-gradient(to bottom,
      rgba(245, 245, 245, 0) 0%,
      rgba(245, 245, 245, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00f5f5f5',
      endColorstr='#f5f5f5',
      GradientType=0);
}

.more-btn.btn-ptn-02 {
  display: block;
  width: 100%;
  padding: 80px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  background: -moz-linear-gradient(top,
      rgba(245, 245, 245, 0) 0%,
      rgba(245, 245, 245, 1) 80%);
  background: -webkit-linear-gradient(top,
      rgba(245, 245, 245, 0) 0%,
      rgba(245, 245, 245, 1) 80%);
  background: linear-gradient(to bottom,
      rgba(245, 245, 245, 0) 0%,
      rgba(245, 245, 245, 1) 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00f5f5f5',
      endColorstr='#f5f5f5',
      GradientType=0);
}

#fac01 .close-btn,
#fac01 .more-btn {
  display: block;
  width: 100%;
  padding: 344px 0 0;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  background: -moz-linear-gradient(top,
      rgba(219, 219, 219, 0) 50%,
      rgba(219, 219, 219, 1) 100%);
  background: -webkit-linear-gradient(top,
      rgba(219, 219, 219, 0) 50%,
      rgba(219, 219, 219, .2) 100%);
  background: linear-gradient(to bottom,
      rgba(219, 219, 219, 0) 50%,
      rgba(219, 219, 219, .2) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00f5f5f5',
      endColorstr='#f5f5f5',
      GradientType=0);
}

.close-btn,
#fac01 .close-btn {
  background: none;
}

.slide-up {
  height: 150px;
  padding-bottom: 0;
  overflow: hidden;
}

#fac01 .slide-up {
  height: 450px;
}

@media (max-width: 767px) {
  #fac01 .slide-up {
    height: 380px;
  }

  .content-wrap {
    height: 370px;
  }

  #fac01 .close-btn,
  #fac01 .more-btn {
    padding: 304px 0 0;
  }
}


.slide-down {
  height: auto;
  overflow: visible;
  padding-bottom: 50px;
}

.more-btn p {}

.close-btn {
  padding: 0;
}

.close-btn p {
  background: #185BA8;
  color: #FFF;
}

.open {
  padding: 15px 40px 15px 30px;
  text-align: center;
  border: 1px solid #185BA8;
  background: url("../img/common/icon_btn3.png") no-repeat 90% 50% #185BA8;
  margin-right: 15px;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  z-index: 99;
}



/* ガラスコーティング：クォーツ */
#quartz h3 {
  font-size: 2.6rem;
}

#quartz01 {
  width: 100%;
  height: 300px;
  background: url(../img/coating/coating_main02.png) right top no-repeat #000;
  background-size: auto 100%;
  color: #fff;
  padding: 80px 0 120px;
}

#quartz01 .w1200 div {
  width: 70%;
  max-width: 600px;
  padding-top: 30px;
  margin: 0;
}

#quartz01 div h2 {
  color: #fff;
  display: block;
  margin-bottom: 20px;
  font-size: 3.6rem;
  position: relative;
}

#quartz01 div h2::before {
  content: 'ガラスコーティング';
  background: #185BA8;
  display: inline-block;
  padding: 5px 20px 3px;
  font-size: 2.0rem;
  position: absolute;
  top: -50px;
  left: 0;
}

#quartz01 div p {
  color: #fff;
}

#quartz02 {
  padding: 5% 0;
}

#quartz02 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#quartz02 h3::before {
  content: '01.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  top: 0;
  left: -100px;
}

#quartz02 .flex_between dl:nth-child(1) {
  width: 60%;
}

#quartz02 .flex_between dl:nth-child(2) {
  text-align: center;
  width: 35%;
}

#quartz02 .flex_between dl dt img {
  max-width: 225px;
  margin: 30px auto 10px;
}

#quartz02 .flex_between dl:nth-child(2) dd {
  margin-left: 10px;
}

#quartz02 ul li:nth-child(1) {
  background: url(../img/coating/quartz_r01.png) no-repeat right top #000;
  background-size: 60% auto;
}

#quartz02 ul li:nth-child(2) {
  background: url(../img/coating/quartz_r02.png) no-repeat right top #000;
  background-size: 60% auto;
}

#quartz02 ul li:nth-child(3) {
  background: url(../img/coating/quartz_r03.png) no-repeat right top #000;
  background-size: 60% auto;
}

#quartz02 ul li:nth-child(4) {
  background: url(../img/coating/quartz_r04.png) no-repeat right top #000;
  background-size: 60% auto;
}

#quartz03 {
  padding: 5% 0;
}

#quartz03 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#quartz03 h3::before {
  content: '02.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#quartz03 .flex_between dl {
  width: 60%;
}

#quartz03 .flex_between .blue_box {
  text-align: center;
  width: 35%;
}

#quartz03 .flex_between dl dt img {
  max-width: 225px;
  margin: 30px auto 10px;
}

#quartz03 .flex_between dl:nth-child(2) dd {
  margin-left: 10px;
}

.blue_box p {
  width: 90%;
  margin: 0 auto;
  border: 2px solid #185BA8;
  padding: 10px 0;
  text-align: center;
  border-radius: 10px;
  color: #185BA8;
  font-weight: bold;
  display: block;
}

#quartz03 .blue_box p {
  margin-top: 70px;
}

.quartz_flow {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.quartz_flow dl {
  width: 32%;
  margin-right: 2%;
  position: relative;
  z-index: 0;
}

.quartz_flow dl::before {
  content: '';
  width: 0;
  height: 0;
  display: block;
  border-top: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 30px solid #D0121B;
  position: absolute;
  top: 40%;
  left: -7%;
  z-index: 2;
}

.quartz_flow dl:first-child::before {
  border-left: 0;
}

.quartz_flow dl:last-child {
  margin-right: 0;
}

.quartz_flow dt {
  z-index: 1;
}

.quartz_flow dd {
  width: 100%;
  background: #D0121B;
  color: #fff;
  display: block;
  font-weight: bold;
  text-align: center;
  padding: 10px 0;
  position: absolute;
  bottom: 0;
  left: 0;
}

#quartz04 {
  padding: 5% 0;
}

#quartz04 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#quartz04 h3::before {
  content: '03.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#quartz05 {
  padding: 5% 0;
}

#quartz05 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#quartz05 h3::before {
  content: '04.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#quartz05 ul {
  width: 100%;
  margin: 10px auto;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: flex-start;
}

#quartz05 ul li {
  width: 23%;
  margin-right: 2%;
  margin-bottom: 15px;
}

#quartz06 {
  padding: 5% 0;
}

#quartz06 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#quartz06 h3::before {
  content: '05.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#quartz06 .blue_box p {
  width: 100% !important;
  margin-top: 20px;
}

/* ハイモースコート */
#himohs h3 {
  font-size: 2.6rem;
}

#himohs01 {

  width: 100%;
  height: 300px;
  background: url(../img/coating/coating_main03.png) right top no-repeat #000;
  background-size: auto 100%;
  color: #fff;
  padding: 80px 0 120px;
}

#himohs01 .w1200 div {
  width: 70%;
  max-width: 600px;
  padding-top: 30px;
  margin: 0;
}

#himohs01 div h2 {
  color: #fff;
  display: block;
  margin-bottom: 20px;
  font-size: 3.6rem;
  position: relative;
}

#himohs01 div h2::before {
  content: 'ガラスコーティング';
  background: #185BA8;
  display: inline-block;
  padding: 5px 20px 3px;
  font-size: 2.0rem;
  position: absolute;
  top: -50px;
  left: 0;
}

#himohs01 div p {
  color: #fff;
}

#himohs02 {
  padding: 5% 0;
}

#himohs02 h3 {
  position: relative;
  display: inline-block;
  margin-left: 80px;
}

#himohs02 h3.h3_first::before {
  content: '01-1.';
  font-size: 3.0rem;
  color: #185BA8;
  position: absolute;
  bottom: 0;
  left: -80px;
}

#himohs02 h3.h3_second::before {
  content: '01-2.';
  font-size: 3.0rem;
  color: #185BA8;
  position: absolute;
  bottom: 0;
  left: -80px;
}

#himohs02 .flex_between>div {
  width: 45%;
}

#himohs02 ul {
  margin-bottom: 40px;
}

#himohs02 ul li {
  background: #000;
}

#himohs03 {
  padding: 5% 0;
}

#himohs03 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#himohs03 h3::before {
  content: '02.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#himohs03 .flex_between dl {
  width: 60%;
}

#himohs03 .flex_between .blue_box {
  text-align: center;
  width: 35%;
}

#himohs03 .flex_between dl dt img {
  max-width: 225px;
  margin: 30px auto 10px;
}

#himohs03 .flex_between dl:nth-child(2) dd {
  margin-left: 10px;
}

.blue_box p {
  width: 90%;
  margin: 0 auto;
  border: 2px solid #185BA8;
  padding: 10px 0;
  text-align: center;
  border-radius: 10px;
  color: #185BA8;
  font-weight: bold;
  display: block;
}

#himohs03 .blue_box p {
  margin-top: 70px;
}

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

.quartz_flow dl {
  width: 32%;
  margin-right: 2%;
  position: relative;
  z-index: 0;
}

.quartz_flow dl::before {
  content: '';
  width: 0;
  height: 0;
  display: block;
  border-top: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 30px solid #D0121B;
  position: absolute;
  top: 40%;
  left: -7%;
  z-index: 2;
}

.quartz_flow dl:first-child::before {
  border-left: 0;
}

.quartz_flow dl:last-child {
  margin-right: 0;
}

.quartz_flow dt {
  z-index: 1;
}

.quartz_flow dd {
  width: 100%;
  background: #D0121B;
  color: #fff;
  display: block;
  font-weight: bold;
  text-align: center;
  padding: 10px 0;
  position: absolute;
  bottom: 0;
  left: 0;
}

#himohs04 {
  padding: 5% 0;
}

#himohs04 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#himohs04 h3::before {
  content: '03.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#himohs05 {
  padding: 5% 0;
}

#himohs05 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#himohs05 h3::before {
  content: '04.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#himohs05 ul {
  width: 100%;
  margin: 10px auto;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: flex-start;
}

#himohs05 ul li {
  width: 23%;
  margin-right: 2%;
  margin-bottom: 15px;
}

#himohs06 {
  padding: 5% 0;
}

#himohs06 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#himohs06 h3::before {
  content: '05.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#himohs06 .blue_box p {
  width: 100% !important;
  margin-top: 20px;
}

/* リアルガラスコーティング */
#realglass h3 {
  font-size: 2.6rem;
}

#realglass01 {
  width: 100%;
  height: 300px;
  background: url(../img/coating/real_logo.png) right 8% center no-repeat #000;
  background-size: auto 25%;
  color: #fff;
  padding: 80px 0 120px;
}

#realglass01 .w1200 div {
  width: 70%;
  max-width: 600px;
  padding-top: 30px;
  margin: 0;
}

#realglass01 div h2 {
  color: #fff;
  display: block;
  margin-bottom: 20px;
  font-size: 3.6rem;
  position: relative;
}

#realglass01 div h2::before {
  content: 'ガラスコーティング';
  background: #185BA8;
  display: inline-block;
  padding: 5px 20px 3px;
  font-size: 2.0rem;
  position: absolute;
  top: -50px;
  left: 0;
}

#realglass01 div p {
  color: #fff;
}

#realglass02 {
  padding: 5% 0;
}

#realglass02 .flex_between {
  margin-bottom: 80px;
}

#realglass02 dl dt {
  text-align: center;
}

#realglass02 dl dt img {
  width: 90%;
  max-width: 300px;
  margin: 10px auto 30px;
}

#realglass02 dl dd p {
  margin-bottom: 5px;
}

#realglass02 h3 {
  position: relative;
  display: inline-block;
  margin-left: 80px;
  text-align: left;
}

#realglass02 h3.h3_first::before {
  content: '01-1.';
  font-size: 3.0rem;
  color: #185BA8;
  position: absolute;
  bottom: 0;
  left: -80px;
}

#realglass02 h3.h3_second::before {
  content: '01-2.';
  font-size: 3.0rem;
  color: #185BA8;
  position: absolute;
  bottom: 0;
  left: -80px;
}

#realglass02 h3.h3_third::before {
  content: '01-3.';
  font-size: 3.0rem;
  color: #185BA8;
  position: absolute;
  bottom: 0;
  left: -80px;
}

#realglass02 .flex_between>div {
  width: 47%;
}

#realglass02 ul {
  margin-bottom: 40px;
}

#realglass02 ul li {
  background: #000;
}

#realglass03 {
  padding: 5% 0;
}

#realglass03 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#realglass03 h3::before {
  content: '02.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#realglass03 .flex_between dl {
  width: 60%;
}

#realglass03 .flex_between .blue_box {
  text-align: center;
  width: 35%;
}

#realglass03 .flex_between dl dt img {
  max-width: 225px;
  margin: 30px auto 10px;
}

#realglass03 .flex_between dl:nth-child(2) dd {
  margin-left: 10px;
}

#realglass04 {
  padding: 5% 0;
}

#realglass04 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#realglass04 h3::before {
  content: '03.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#realglass05 {
  padding: 5% 0;
}

#realglass05 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#realglass05 h3::before {
  content: '04.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#realglass05 ul {
  width: 100%;
  margin: 10px auto;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: flex-start;
}

#realglass05 ul li {
  width: 23%;
  margin-right: 2%;
  margin-bottom: 15px;
}

#realglass06 {
  padding: 5% 0;
}

#realglass06 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#realglass06 h3::before {
  content: '05.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#realglass06 .blue_box p {
  width: 100% !important;
  margin-top: 20px;
}

.ribbon-wrapper {
  display: block;
  position: relative;
  margin: 15px auto;
  padding: 15px 0;
  background: #f1f1f1;
  box-sizing: border-box;
  color: #fff;
  list-style: none;
}

.ribbon {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 30px;
  margin: 0;
  padding: 15px 0 5px;
  z-index: 2;
  width: 80px;
  text-align: center;
  background: #D0121B;
  font-size: 4.0rem;
}

.ribbon:after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 40px solid #D0121B;
  border-right: 40px solid #D0121B;
  border-bottom: 20px solid transparent;
}

.ribbon-wrapper p {
  margin: 30px 20px 30px 150px !important;
  font-size: 3.6rem;
}

.ribbon-wrapper p span {
  font-size: 1.4rem;
  font-weight: normal;
  display: block;
  font-family: "Noto Sans JP";
}

#himohs .ribbon,
#realglass .ribbon {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 20px;
  margin: 0;
  padding: 15px 0 5px;
  z-index: 2;
  width: 60px;
  text-align: center;
  background: #D0121B;
  font-size: 3.0rem;
}

#himohs .ribbon:after,
#realglass .ribbon:after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 30px solid #D0121B;
  border-right: 30px solid #D0121B;
  border-bottom: 15px solid transparent;
}

#himohs .green .ribbon,
#realglass .green .ribbon {
  background: #18A83E;
}

#himohs .green .ribbon:after,
#realglass .green .ribbon:after {
  border-left: 30px solid #18A83E;
  border-right: 30px solid #18A83E;
}

#himohs .ribbon-wrapper p,
#realglass .ribbon-wrapper p {
  margin: 10px 20px 10px 100px !important;
  font-size: 2.4rem;
}

/* ガラスコーティング　よくあるご質問 */
#glassfaq01 {
  width: 100%;
  background-size: auto 25%;
  color: #fff;
  padding: 100px 0 40px;
  background: #000;
  margin-bottom: 5%;
}

#glassfaq01 div h2 {
  color: #fff;
  display: block;
  margin-bottom: 20px;
  font-size: 3.6rem;
  position: relative;
}

#glassfaq01 div h2::before {
  content: 'ガラスコーティング';
  background: #185BA8;
  display: inline-block;
  padding: 5px 20px 3px;
  font-size: 2.0rem;
  position: absolute;
  top: -50px;
  left: 0;
}


/* 車種対応表 */
#cartable .lineup {
  width: 90%;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 5%;
}

#cartable .lineup li {
  list-style: none;
}

#cartable .lineup li a {
  width: 160px;
  padding: 15px 20px 15px 10px;
  text-align: center;
  border: 1px solid #185BA8;
  background: url("../img/common/icon_btn3.png") no-repeat 95% 50% #185BA8;
  margin: 0 15px 15px 0;
  display: block;
  color: #fff;
  text-decoration: none;
}

#cartable .car_ank {
  margin-top: -160px;
  padding-top: 160px;
  display: inline-block;
}

#cartable table {
  width: 100%;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  border-collapse: collapse;
  margin-bottom: 60px;
}

#cartable table tr th,
#cartable table tr td {
  border: 1px solid #185BA8;
}

#cartable table tr th {
  background: #185BA8;
  color: #fff;
  font-size: 130%;
  text-align: center;
  padding: 10px 0;
  font-family: "Sawarabi Mincho";
}

#cartable table tr td:nth-child(1) {
  width: 250px;
  padding: 15px 0;
  font-size: 110%;
  vertical-align: center;
  text-align: center;
  background: #F5F5F5;
}

#cartable table tr td:nth-child(2) {
  padding: 10px 0;
  vertical-align: center;
  text-align: left;
}

#cartable table tr td:nth-child(2) ul {
  width: 95%;
  margin: 0 auto;
}

#cartable table tr td:nth-child(2) ul li {
  display: inline-block;
  list-style: none;
  padding: 8px 40px 8px 0;
}

#cartable table tr td:nth-child(2) ul li::before {
  content: "●";
  margin: 0 0.5rem 0 0;
  color: #0079c5;
  font-size: 1.6rem;
  display: inline-block;
}


/* フッターナビ */
.fnavi {
  width: 100% !important;
  max-width: inherit !important;
  background: url(../img/quality/quality_foot.jpg) no-repeat right top;
  background-size: auto 100%;
  padding: 2% 0 2% !important;
}

.fnavi ul {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: flex-start !important;
}


.fnavi ul>li {
  display: none !important;
  width: 90%;
  max-width: 600px;
  text-align: left;
}

.fnavi ul li a {
  color: #fff;
  font-family: "Sawarabi Mincho";
  font-weight: normal;
  height: inherit !important;
}

.fnavi ul li a::after {
  content: '' !important;
  display: none !important;
}

.fnavi .sub-menu {
  display: flex;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  position: static !important;
}

.fnavi .sub-menu li {
  width: 50% !important;
  border: 0px !important;
  text-align: left;
  width: inherit;
  max-width: inherit;
  position: relative;
}

.fnavi .sub-menu li a:before {
  content: '■';
  font-size: 2.6rem;
}

.fnavi .sub-menu li a {
  width: inherit !important;
  padding: 15px 0 !important;
  margin: 0;
}

.fnavi .sub-menu li {
  background: url(../img/common/fnavi_line.png) no-repeat right center;
  padding: 2% 0 2% 30px;
}

.fnavi .sub-menu li:last-child {
  background: none;
  padding: 2% 0 2% 30px;
}


.fnavi_commit ul li:nth-child(1)>a {
  pointer-events: none;
  font-size: 3.0rem;
  background: none;
}

.fnavi_commit .sub-menu li:nth-child(1)>a {
  pointer-events: all;
}

.fnavi_commit ul.sub-menu li {
  display: inline-block !important;
}

.fnavi_commit ul.sub-menu li>a {
  font-size: 3.0rem !important;
  background: none !important;
}


.fnavi_commit ul>li:nth-child(1) {
  display: block !important;
}

.fnavi_commit .sub-menu li:nth-child(1):after {
  content: 'Facility';
  color: #707070;
  font-size: 1.6rem;
  display: inline-block;
  position: absolute;
  right: 55px;
  top: 32px;
}

.fnavi_commit .sub-menu li:nth-child(2):after {
  content: 'Technique';
  color: #707070;
  font-size: 1.6rem;
  display: inline-block;
  position: absolute;
  right: 55px;
  top: 32px;
}

/* カーフィルム */

#film01 {
  width: 100%;
  height: 300px;
  background: url(../img/film/film_00.jpg) center top;
  background-size: cover;
  padding: 90px 0 20px;
}

#film01 .w1200 div {
  width: 80%;
  max-width: 700px;
  padding-top: 30px;
  margin: 0;
}

#film01 div h2 {
  display: block;
  margin-bottom: 20px;
  font-size: 3.6rem;
  position: relative;
}

#film01 div h2::before {
  content: 'カーフィルム';
  color: #fff;
  background: #185BA8;
  display: inline-block;
  padding: 5px 20px 3px;
  font-size: 2.0rem;
  position: absolute;
  top: -50px;
  left: 0;
}


#film02 {
  padding: 5% 0;
}

#film02 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#film02 h3::before {
  content: '01.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#film02 h3+img {
  margin-bottom: 50px;
}

#film02 .flex_between dl {
  width: 30%;
}

#film02 .flex_between dl dt img {
  max-width: 389px;
  margin: 30px auto 10px;
}

#film02 .flex_between dl dd {
  padding-left: 40px;
}

#film03 h3::before {
  content: '02.';
  font-size: 6.0rem;
  color: #185BA8;
  position: relative;
  bottom: -8px;
  margin-right: 0.3em;
}

/* 車内のケア */

#leather01,
#room01 {
  width: 100%;
  height: 300px;
  background: #ECECEC;
  padding: 80px 0;
}

#leather01 {
  background: url(../img/incar/leather_bg00.jpg) center top;
  background-size: cover;
}

#room01 {
  background: url(../img/incar/room_bg00.jpg) center top;
  background-size: cover;
}

#leather01 .w1200 div,
#room01 .w1200 div {
  width: 80%;
  max-width: 700px;
  padding-top: 30px;
  margin: 0;
}

#leather01 div h2,
#room01 div h2 {
  display: block;
  margin-bottom: 20px;
  font-size: 3.6rem;
  position: relative;
}

#leather01 div h2::before,
#room01 div h2::before {
  content: '車内のケア';
  color: #fff;
  background: #185BA8;
  display: inline-block;
  padding: 5px 20px 3px;
  font-size: 2.0rem;
  position: absolute;
  top: -50px;
  left: 0;
}

#maintenance div h2::before {
  display: none;
}


#leather02 {
  padding: 5% 0;
}

#leather02 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#leather02 h3::before {
  content: '01.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#leather02 .flex_between dl {
  width: 30%;
}

#leather02 .flex_between dl dt img {
  max-width: 389px;
  margin: 30px auto 10px;
}

#leather02 .flex_between dl dd {
  padding-left: 40px;
}

#leather03 {
  padding: 5% 0;
}

#leather03 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#leather03 h3::before {
  content: '02.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#leather03 .flex_between dl {
  width: 60%;
}

#leather03 .flex_between .blue_box {
  text-align: center;
  width: 35%;
}

#leather03 .flex_between dl dt img {
  max-width: 225px;
  margin: 30px auto 10px;
}

#leather03 .flex_between dl:nth-child(2) dd {
  margin-left: 10px;
}

.incar_flow {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.incar_flow dl {
  width: 23%;
  margin-right: 2%;
  position: relative;
  z-index: 0;
}

.w33 {
  width: 30% !important;
}

.incar_flow dl::before {
  content: '';
  width: 0;
  height: 0;
  display: block;
  border-top: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 30px solid transparent;
  border-left: 30px solid #D0121B;
  position: absolute;
  top: 40%;
  left: -11%;
  z-index: 2;
}

.incar_flow dl:first-child::before {
  border-left: 0;
}

.incar_flow dl:last-child {
  margin-right: 0;
}

.incar_flow dt {
  z-index: 1;
  margin: 0;
  padding: 0;
}

.incar_flow dd {
  background: #D0121B;
  color: #fff;
  display: block;
  font-weight: bold;
  padding: 15px 15px;
  min-height: 60px;
  margin-top: -10px;
}

.note {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 4% 10%;
  background: #F9F9F9;
  margin-top: 20px;
}

.note dt {
  width: 25%;
  background: url(../img/incar/icon_note.png) no-repeat left top;
  padding: 7px 0 5px 60px;
  color: #185BA8;
  font-weight: bold;
  font-size: 120%;
}

.note dd {
  width: 70%;
}

#leather04 {
  padding: 5% 0;
}

#leather04 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#leather04 h3::before {
  content: '03.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

.incar_ul {
  border: 2px solid #333;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}

.incar_ul dl {
  width: calc(25% - 1px);
  border-right: 1px solid #999;
}

.incar_ul dl:last-child {
  width: 25%;
  border-right: 0px;
}

.incar_ul_c3 dl {
  width: calc(33.333% - 1px);
  border-right: 1px solid #999;
}

.incar_ul_c3 dl:last-child {
  width: 33.333%;
  border-right: 0px;
}

.incar_ul dl dt {
  background: #eee;
  border-bottom: 1px solid #999;
  padding: 10px;
  font-size: 3.0rem;
  text-align: center;
}

.incar_ul_c3 dl dt.incar_ozon {
  padding: 34px 0;
}

.incar_ul dl dd {
  padding: 30px 20px;
  font-size: 3.6rem;
  text-align: center;
}

#leather05 {
  padding: 5% 0;
}

#leather05 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#leather05 h3::before {
  content: '04.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

.faq {
  display: flex;
  flex-wrap: wrap;
}

.faq dl {
  width: 48%;
}

.faq dl:nth-child(2n-1) {
  margin-right: 4%;
}

.faq dl dt {
  font-size: 2.4rem;
  border-bottom: 1px solid #185BA8;
  padding: 0 0 10px;
}

.faq dl dt span {
  font-size: 3.0rem;
  color: #185BA8;
  display: inline-block;
  margin-right: 10px;
}

.faq dl dd {
  padding: 20px 0 60px;
}

#room02,
#room03 {
  padding: 5% 0;
}

#room02 h3,
#room03 h3 {
  position: relative;
  display: inline-block;
  margin-left: 100px;
}

#room02 h3::before {
  content: '01.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

#room03 h3::before {
  content: '02.';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

.room_step>div {
  position: relative;
  margin-bottom: 50px;
}

.room_step>div .step_no {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0px;
  margin: 0;
  padding: 15px 0 5px;
  z-index: 2;
  width: 80px;
  text-align: center;
  background: #185BA8;
  font-size: 4.0rem;
  color: #fff;
}

.room_step>div .step_no::after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 40px solid #185BA8;
  border-right: 40px solid #185BA8;
  border-bottom: 20px solid transparent;
}

.room_step>div div {
  margin-left: 110px;
}

.room_step h4 {
  font-size: 2.4rem;
  color: #185BA8;
  padding-bottom: 10px;
}

.room_step ul {
  display: flex;
  flex-wrap: wrap;
}

.room_step ul li {
  width: 31%;
  list-style: none;
  margin-right: 2.333%;
}

.room_step ul li:nth-child(3n) {
  margin-right: 0;
}

.step_no03 h4 {
  margin-bottom: 15px;
}

.step_no03 img {
  width: 31%;
  float: left;
  margin: 0 20px 20px 0;
}

.step_no03::after {
  content: '';
  clear: both;
  display: block;
}

#room03 h4 {
  background: #185BA8;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  font-size: 2.0rem;
  margin: 10px auto 20px;
}

#room03 p.hosoku {
  text-align: center;
  font-size: 1.6rem;
  margin: 10px auto 60px;
}

/* 車内のケア　共通パーツ */
#incar_foot {
  background: #F5F5F5;
  padding: 100px 0;
  position: relative;
}

.incar_foot_in {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.incar_foot_in .brand {
  width: 65%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.incar_foot_in .brand div {
  width: 32%;
  max-width: 280px;
  position: relative;
}

.incar_foot_in .brand .brand_logo {
  width: 95%;
  position: absolute;
  bottom: 20%;
  right: 0;
  left: 0;
  margin: auto;
}

.incar_foot_in .brand p {
  margin: 20px auto;
  text-align: center;
  font-size: 90%;
}

.incar_foot_in .brand img {
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
}

.incar_foot_in .incar_foot_t {
  width: 28%;
}

.incar_foot_in .incar_foot_t h3 {
  font-size: 130%;
  text-align: center;
  margin-bottom: 10px;
}

.incar_foot_in .incar_foot_t p {
  font-size: 90%;
  margin-bottom: 20px;
}

.incar_foot_in .incar_foot_t .btn_white {
  margin-bottom: 10px;
}


/* 店舗案内 */
#shop01 {
  margin-bottom: 5%;
}

#shop h2 {
  font-size: 60px;
  color: #185BA8;
  display: block;
  font-weight: normal;
}

.shop_img {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 5%;
}

.shop_img img {
  width: 33.333%;
}

#shop01 .shop_img img:first-child {
  width: 100%;
}

#shop01 table {
  width: 100%;
  border-radius: 10px;
  border: 2px solid #185BA8;
  border-spacing: 0;
  border-collapse: separate;
  overflow: hidden;
  margin: 0 0 3%;
}

#shop01 table th {
  width: 15%;
  text-align: center;
  color: #fff;
  padding: 2%;
  background: #185BA8;
  overflow: hidden;
  border-bottom: 1px solid #82abda;
}

#shop01 table tr td {
  padding: 2% 5%;
  border-bottom: 1px solid #82abda;
  font-size: 120%;
}

#shop01 table tr:first-child td {
  position: relative;
  padding-right: 20%;
}

#shop01 table tr:first-child td span {
  width: 20%;
  font-size: 80%;
  position: absolute;
  right: 10px;
  top: 35%;
}

#shop01 table tr:first-child td span::before {
  content: url(../img/common/icon_btn.png);
  display: inline-block;
  margin-right: 10px;
}

#shop01 table tr:last-child td {
  border-bottom: 0px;
  padding: 2% 3%;
}

#shop01 table td ul li {
  list-style: none;
  position: relative;
  display: inline-block;
  margin-right: 40px;
  padding-left: 20px;
  font-size: 90%;
  margin-bottom: 5px;
  min-width: 140px;
  text-align: left;
}

#shop01 table td ul li::before {
  content: "";
  position: absolute;
  top: .4em;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #185BA8;
  border-radius: 50%;
}

.shop_con {
  position: relative;
  width: 100%;
  height: 80px;
}

.shop_con .contact {
  margin-bottom: 10px;
  margin-right: 0;
  position: absolute;
  top: 0;
  right: 0;
}

.shop_con .contact ul {
  display: flex;
  list-style: none;
}

.shop_con .contact ul li {
  padding-top: 15px;
  font-size: 160%;
}

.shop_con .contact ul li a {
  color: #fff;
  text-decoration: none;
  font-family: "Noto Sans JP";
  text-align: center;
  padding: 15px 30px;
  letter-spacing: 0.1em;
}

.shop_con .contact ul li.tel a {
  background: #185BA8;
  border-radius: 10px 0 0 10px;
  width: 50%;
  font-weight: bold;
}

.shop_con .contact ul li.mail a {
  background: #3CBBB7;
  border-radius: 0 10px 10px 0;
  width: 50%;
}

#shop03 {
  background: url(../img/shop/shop_bg01.jpg) no-repeat;
  background-size: cover;
}

#shop03 .w1200 div {
  max-width: 600px;
  padding: 5% 0;
}

#shop03 .w1200 div p {
  margin-bottom: 0;
}


.full-width {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}


/*---------------------------------------------
 **  施工費用の目安
---------------------------------------------*/
.price-set-common img {
  width: auto;
  display: block;
  margin-bottom: 20px;
}




/*---------------------------------------------
 **  タイトル
---------------------------------------------*/
.ttl-nbr {
  position: relative;
  display: inline-block;
  margin-left: 100px !important;
}

.ttl-nbr:before {
  content: '';
  font-size: 6.0rem;
  color: #185BA8;
  position: absolute;
  bottom: -20px;
  left: -100px;
}

.ttl-nbr.no-01:before {
  content: '01.';
}

.ttl-nbr.no-02:before {
  content: '02.';
}

.ttl-nbr.no-03:before {
  content: '03.';
}

.ttl-nbr.no-04:before {
  content: '04.';
}

.ttl-nbr.no-05:before {
  content: '05.';
}


#maintenance01 {
  background: url(../img/maintenance/mentenance_00.jpg) center top;
  background-size: cover;
  width: 100%;
  height: 300px;
  padding: 80px 0;
}

#maintenance01 .w1200 div {
  width: 80%;
  max-width: 700px;
  padding-top: 30px;
  margin: 0;
}

#maintenance01 div h2 {
  display: block;
  margin-bottom: 20px;
  font-size: 3.6rem;
  position: relative;
}



.col-wrapper {
  display: flex;
}

.col-2 .item {
  width: 50%;
}


@media (max-width: 767px) {
  .col-2 .item {
    width: 90% !important;
    margin: 0 auto;
  }
}


.calendar-all .xo-months {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.calendar-all .xo-months .xo-month-wrap {
  width: 45%;
  margin: 0 auto 30px;
}

@media (max-width: 767px) {
  .calendar-all .xo-months .xo-month-wrap {
    width: 100% !important;
  }

}


.hosoku {
  text-align: center;
  font-size: 1.6rem;
  margin: 10px auto 60px;
}



/*---------------------------------------------
 **  ｗｐ
---------------------------------------------*/
.wp_container {
  width: 100%;
  _zoom: 1;
  overflow: hidden;
}

.m-b-20 {
  margin-bottom: 20px;
}


.cmp_all h3 {
  font-size: 2.6rem;
  color: #185BA8;
  padding: 3px 0 3px 12px;
  font-family: "Sawarabi Mincho";
  margin: 30px 0 16px;
  border-left: 5px solid #185BA8;
}





/*---------------------------------------------
 **  お問い合わせフォーム
---------------------------------------------*/
.contact-form,
.contact-tel {
  max-width: 90rem;
  padding: 6rem 8rem 2rem;
  -webkit-box-shadow: 10px 10px 50px -9px rgba(0, 0, 0, 0.2);
  box-shadow: 10px 10px 50px -9px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  /*通常の記述*/
  -webkit-box-sizing: border-box;
  /*Google ChromeやSafariの機能を利用*/
  -moz-box-sizing: border-box;
  /*Firefoxの機能を利用*/
  border-radius: 8px;
}

@media (max-width: 600px) {

  .contact-form,
  .contact-tel {
    padding: 6% 5%;
  }
}

.contact-form dl,
.contact-tel dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1rem;
  padding-bottom: 2.7rem;
  margin-bottom: 1.3rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border-bottom: 1px solid #eee;
}

.contact-form dl dt,
.contact-tel dl dt {
  font-size: 2rem;
  font-size: 1.6rem;
  margin-bottom: 1.5rem;
  color: #01001A;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.contact-form dl dt span,
.contact-tel dl dt span {
  display: inline-block;
  background: #D7000E;
  color: #FFF;
  font-size: 1.1rem;
  padding: 0 1.0rem .2rem;
  margin-left: 1rem;
  border-radius: 4px;
}

.contact-form dl dd input,
.contact-tel dl dd input,
.contact-form dl dd textarea,
.contact-tel dl dd textarea,
.contact-form dl dd select,
.contact-tel dl dd select {
  padding: 1.2rem 1.3rem 1.1rem;
  font-size: 1.6rem;
  border-radius: 6px;
  border: 1px solid #CCC;
  box-sizing: border-box;
  /*通常の記述*/
  -webkit-box-sizing: border-box;
  /*Google ChromeやSafariの機能を利用*/
  -moz-box-sizing: border-box;
  /*Firefoxの機能を利用*/
}

@media (max-width: 767px) {

  .contact-form dl dd input,
  .contact-tel dl dd input,
  .contact-form dl dd textarea,
  .contact-tel dl dd textarea,
  .contact-form dl dd select,
  .contact-tel dl dd select {
    width: 100%;
  }


  input[type="checkbox"i] {
    width: unset !important;
  }
}




.contact-form dl dd input::-webkit-input-placeholder,
.contact-tel dl dd input::-webkit-input-placeholder {
  color: #CCC;
}

.contact-form dl dd input:-ms-input-placeholder,
.contact-tel dl dd input:-ms-input-placeholder {
  color: #CCC;
}

.contact-form dl dd input::-ms-input-placeholder,
.contact-tel dl dd input::-ms-input-placeholder {
  color: #CCC;
}

.contact-form dl dd input::placeholder,
.contact-tel dl dd input::placeholder {
  color: #CCC;
}

.contact-form .wpcf7-not-valid-tip,
.contact-tel .wpcf7-not-valid-tip {
  padding: 0.5rem 0 0 0.5rem;
}

.contact-form input[type="submit"],
.contact-tel input[type="submit"] {
  border: none;
  cursor: pointer;
  max-width: 32rem;
  width: 100%;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  background: #185BA8;
  color: #FFF !important;
  padding: 10px;
  font-weight: bold;

}

.contact-form input[type="radio"],
.contact-tel input[type="radio"] {
  width: unset;
}

.contact-form label,
.contact-tel label {
  cursor: pointer;
}

.contact-form input:checked+span,
.contact-tel input:checked+span {
  color: #487cff;
  font-weight: bold;
}

.contact-form .clinic-open input,
.contact-tel .clinic-open input {
  max-width: 20rem;
}

.contact-tel {
  padding: 4rem 8rem 4rem;
}


.contact-form label:before {
  display: none;
}


.news_camp {
  margin: 20px 5% 20px !important;
}





.contact-form-new input,
.contact-form-new textarea,
.contact-tel textarea,
.contact-form-new select,
.contact-tel select {
  padding: 1.2rem 1.3rem 1.1rem;
  font-size: 1.6rem;
  border-radius: 6px !important;
  border: 1px solid #CCC;
  box-sizing: border-box;
  /*通常の記述*/
  -webkit-box-sizing: border-box;
  /*Google ChromeやSafariの機能を利用*/
  -moz-box-sizing: border-box;
  /*Firefoxの機能を利用*/
}

.contact-form-new ul {
  width: 100% !important;
}

.wpforms-field-label {
  margin-bottom: 1.5rem !important;
  width: 210px !important;
}

.wpforms-field {
  display: flex;
  padding: 1rem !important;
  padding-bottom: 1.7rem !important;
  margin-bottom: 1.3rem !important;
  border-bottom: 1px solid #eee !important;
}

input::-webkit-input-placeholder {
  color: #CCCCCC;
}

input:-moz-placeholder {
  color: #CCCCCC;
}

input::-moz-placeholder {
  color: #CCCCCC;
}

input:-ms-input-placeholder {
  color: #CCCCCC;
}


.wpforms-submit {
  width: 300px !important;
  font-weight: bold !important;
  max-width: 33rem !important;
  color: #FFF !important;
  font-size: 1.8rem !important;
  background: #185BA8 !important;
  padding: 1.5em 1em !important;
  margin: 0 auto !important;
  display: block !important;
}


/* 純水手洗い洗車 */

.hand-wash-price {
  font-size: 2.2rem !important;
}

.car-name {
  font-size: 1.2rem;
  border-top: 1px dashed #00000038;
  padding-top: .5em;
  margin-top: 0.5em;
}

.yen {
  font-size: 1.8rem;
}

.incar_ul.hand_wash_price {
  display: flex;
  margin-bottom: 2rem;
}

.incar_ul.hand_wash_price dl {
  width: 20%;
  box-sizing: border-box;
}

.incar_ul.hand_wash_price dl dt {
  font-size: 2rem;
  padding: 10px 8px;
  height: 90px;
}

@media (max-width: 767px) {
  .incar_ul.hand_wash_price dl {
    width: 100%;
  }

  .incar_ul.hand_wash_price dl dt {
    height: unset;
  }

}

.handwash-01 {
  background: url(../img/after-service/hand-wash/bg-01.jpg) center top;
  background-size: cover;
  width: 100%;
  height: 300px;
  padding: 80px 0;
}

@media (max-width: 767px) {
  .handwash-01 {
    width: 100%;
    height: 300px;
    padding: 80px 0;
  }
}

.handwash-01 h2 {
  display: block;
  margin-bottom: 20px;
  font-size: 3.6rem;
  position: relative;
}

.handwash-01 .w1200 {
  width: 95%;
  max-width: 1200px;
}

.handwash-01 .w1200 div {
  width: 80%;
  max-width: 700px;
  padding-top: 30px;
  margin: 0;
}

@media (max-width: 767px) {
  .handwash-01 .w1200 div {
    width: 100%;
  }

}


@media (max-width: 767px) {
  .ttl-01 {
    margin-left: 0 !important;
    font-size: 1.8rem;
  }

  .ttl-01:before {
    font-size: 4.0rem !important;
    left: -65px !important;
    bottom: -10px !important;
  }

  .ttl-01 span {
    display: block;
  }
}


.ttl-02 {
  font-size: 2.5rem;
  margin-bottom: 0.3em;
}

.txt-red {
  color: red;
  font-weight: bold;
}

.hand-wash-lst {
  margin-bottom: 6rem;
}

.hand-wash-lst .inner {
  width: 100%;
  margin: 0 auto;
  border: 2px solid #185BA8;
  padding: 10px 0;
  text-align: center;
  border-radius: 10px;
  display: block;
  padding: 3em;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .hand-wash-lst .inner {
    padding: 5%;
  }
}

.hand-wash-lst .inner h3 {
  font-weight: bold;
  margin-bottom: .8em;
  color: #185BA8;
}

.hand-wash-lst .inner h3,
.hand-wash-lst .inner p {
  text-align: left;
}

.hand-wash-lst .col-2 {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .hand-wash-lst .col-2 {
    flex-direction: column;
  }
}

.hand-wash-lst .col-2 .txt {
  width: 100%;
}

.hand-wash-lst .col-2 .img {
  padding: 1em;
}





/* テーブル */
.campaign-single table th {
  min-width: 190px !important;
}



@media (min-width: 768px) {
  #news .flexbox{
  width: 100%;
}
.news_camp,.news_shop{
  width: 100%;
}

.news_camp{
  margin-right: 0 !important;
  margin-left: 0 !important;

}
}


.more-pre{
  background: #f6e83f;
  display: inline-block;
  font-weight: bold;
}

.jyunsui{
  width: 100% !important;
}

@media (min-width: 768px) {

.jyunsui td{
  padding: 0.8em 1.5em !important;
    font-size: 1.4rem !important;
}
}


.cmp_all table{
  width: 100% !important;
}

.cmp_all figcaption {
padding: 0 !important;
}
@media (max-width: 767px) {
  .cmp_all{
    width: 90%;
    margin: 0 auto;
  }
  .cmp_all h3{
    font-size: 1.7rem;
  }
  .cmp_all table{
    font-size: 1.2rem;
  }

  .cmp_all table th,
  .cmp_all table td{
    padding: 1em 1.5em !important;
        box-sizing: border-box;
  }

}





body.open_popup {
    overflow: hidden;
}

.bg_onetime_popup {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}

body.open_popup .bg_onetime_popup {
    opacity: 1;
    visibility: visible;
}

.onetime_popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 50%;
    min-width: 500px;
}

@media (max-width: 767px) {
  .onetime_popup {
    min-width: 340px;
}

}

.onetime_popup_title {
    position: relative;
    padding: 1em 80px;
    margin: 0px;
    color: #fff;
    font-size: 32px;
    text-align: center;
    line-height: 1.5;
}

@media (max-width: 767px) {
.onetime_popup_title {
  font-size: 18px;
}
}

.onetime_popup_title_close {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 30px;
    height: 30px;
    transform: translateY(-50%);
    cursor: pointer;
}

@include sp {
.onetime_popup_title_close {
        bottom: 40px;
    /* left: 50%; */
    right: 13%;
    width: 30px;
    height: 30px;
}
}


.onetime_popup_title_close::before,
.onetime_popup_title_close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 4px;
    background-color: #fff;
    content: "";
}
.onetime_popup_title_close::before {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.onetime_popup_title_close::after {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.onetime_popup_content {
        padding: 20px 20px;
    text-align: center;
  box-sizing: border-box;
    background: #FFF;
}

@media (max-width: 767px) {
  .onetime_popup_content {
        padding: 5px;
  }
}

@media (max-width: 767px) {
  .only_sp_none{
    display: none;
  }
}


.front-car-film{
  width: 202px;
  height: 40px;
  margin: 0 auto 0.7em;
}


/*---------------------------------------------
 **  カーフィルム
---------------------------------------------*/
.carfilm-mokuteki-ttl{
  text-align: center;
  padding: 30px 5% 15px;
}
.carfilm-mokuteki{
  background: #fbfbfb;
  padding: 57px 0 44px;
}



.col-kobotect{
  justify-content: center;
}
.col-kobotect .item{
  width: calc((50% - 0)) !important;
}
.col-kobotect .item img{
  max-width: 412px;
  display: block;
  margin: 0 auto;
}

.col-kobotect_L{
  display: flex;
  justify-content: center;
  align-items: center;
}

.col-kobotect_L-h3{
  font-size: 27px;
  font-weight: normal;
  margin-bottom: 0;
}

.col-kobotect_L-h3-span{
  background: #FF003D;
  color: #FFF;
  font-size: 16px;
  padding: .2em .6em .1em;
  margin-right: 19px;
}

.ca-copy{
  font-size: 25px;
  margin-bottom: 0;
      line-height: 1.5;
    padding: 10px 0 15px;
}

.col-kobotect_L-h3-ul{
display: block;
margin-bottom: 15px;
}

.col-kobotect_L-h3-ul li{
  color: #6678af;
  border: 1px solid #6678af;
  list-style-type: none;
  background: #FFF;
  display: inline-block;
  padding: 3px 10px 1px;
}


.carfilm-mokuteki-a{
  color: #0e57a3;
  text-decoration: none !important;
}

@media (max-width: 767px) {
  .col-kobotect_L-h3-span{
  font-size: 12px;
  padding: .2em .6em .1em;
}
  .carfilm-mokuteki{
    padding: 27px 0 22px;
  }

.ca-copy{
      font-size: 16px;
    line-height: 1.5;
    padding: 10px 0;
}
}


.carfilm-mokuteki-botttom{
  background: #ececec;
  padding: 50px 50px 15px;
}
@media (max-width: 767px) {
  .carfilm-mokuteki-botttom{
    padding: 20px 0;
  }

  .carfilm-mokuteki-botttom > .col-2{
    width: 90%;
    margin: 0 auto;
  }

  .carfilm-mokuteki-botttom .item{
    width: 45% !important;
  }

  .carfilm-mokuteki-botttom .carfilm-mokuteki-botttom-L,
  .carfilm-mokuteki-botttom .carfilm-mokuteki-botttom-R{
    width: 100% !important;
  }
  .carfilm-mokuteki-botttom-L img{
    width: 80%;
    height: 100px;
    object-fit: cover;
    display: block;
    margin: 0 auto;
  }

}


.price-ask{
  font-size: 12px;
  margin-top: 10px;
}


.carfilm-kouka-jikkan{
  background: #FFF;
}

/* .carfilm-kouka-jikkan .img{
  width: 40% !important;
}
.carfilm-kouka-jikkan .col-kobotect_L{
  width: 60% !important;
} */


.ttl-04{
  color: #185ba8;
  text-align: center;
  font-weight: bold;
  margin-bottom: 1em !important;
}
.ttl-04_L{
  color: #185ba8;
  text-align: left;
  font-weight: bold;
  margin-bottom: 1em !important;
}


.film-kobotect-bg{
  background: #fbfbfb;
}

.w_100{
  width: 100% !important;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
.tac{
  text-align: center;
}



