@charset "utf-8";

/*=================================================================================================================================*/
/** 個別指定 for スマートフォン
/*=================================================================================================================================*/

/*---------------------------------------------
 ** 740px
---------------------------------------------*/
@media screen and (max-width: 767px) {
  .only_sp_none {
    display: none !important;
  }

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

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

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

    100% {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0);
    }
  }
  .logo,
  .tel_sp,
  .navBtn {
    -webkit-animation: header 1s ease 0.2s;
    -moz-animation: header 1s ease 0.2s;
    animation: header 1s ease 0.2s;
    -webkit-animation-fill-mode: both;
    -moz-animation-fill-mode: both;
    animation-fill-mode: both;
  }
  .header_L {
    transform: translateY(0) !important;
  }
  /*---------------------------------------------
	html
---------------------------------------------*/
  body {
    font-size: 1.6rem;
  }
  html {
    scroll-behavior: smooth;
    font-size: calc(100vw / 44);
  }

  /*画像*/
  img {
    max-width: 100%;
  }
  p {
    text-align: justify;
  }
  h4 {
    padding: 0rem 0 2.6rem;
  }

  .sp_br{display: inline;}


  /*---------------------------------------------
 **  カラム
---------------------------------------------*/
  #main {
    width: 90%;
    padding: 0rem 0 2rem;
  }

  #top #main {
    width: 100%;
  }

  /*---------------------------------------------
 ** h2
---------------------------------------------*/
  h2 {
    font-size: 2.4rem;
    font-feature-settings: "palt";
  }
  /*---------------------------------------------
 ** h3
---------------------------------------------*/

  h3 {
    font-size: 2.1rem;
  }

  /*---------------------------------------------
 ** ヘッダー記述
---------------------------------------------*/

.header {
  position: fixed;
  top: 0;
  z-index: 10;
  background: #ffffff;
  width: 100%;
  -webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.15);
  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.15);
}

header #logo{
  width: 75px;
}
header #logo p{
  display: none;
}
header .contact{
  width:100%;
}
header .contact ul{
  width:96%;
  height:80px;
  background-color:rgba(0,0,0,0.8);
  display: flex;
  justify-content: space-between;
  position:fixed;
  bottom:0;
  left:0;
  z-index:9999;
  padding:0 2%;
}
header .contact ul li{
  width:49%;
  margin-top:12px;
  list-style: none;
  text-align: center;
  font-size:110%;
  font-weight: bold;
}
header .contact ul li.tel a{
  background: #185BA8;
  width:100%;
  height: 40px;
  display: block;
  border-radius: 5px;
  color:#fff;
  text-decoration: none;
  padding-top:15px;
}

header .contact ul li.mail a{
  background: #3CBBB7;
  width:100%;
  height: 40px;
  display: block;
  border-radius: 5px;
  color:#fff;
  text-decoration: none;
  padding-top:15px;
}
#suv_nav > ul:first-child{
  width: 100%;
  display: flex;
  list-style: none;
  margin:0 ;
  padding: 0;
  align-items: center;
  justify-content: flex-end;
}
#suv_nav > ul:first-child > li{
  padding: 11px 5px 11px 5px;
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: bold;
}

#suv_nav{
  width:200px;
  height:58px;
  position: absolute;
  top:0;
  right:58px;
}
#suv_nav > ul:first-child > li a{
  text-decoration: none;
}
#suv_nav > ul:first-child > li img{
  width: 28px;
}
#suv_nav .blog_icon{
  padding: 0 10px 0 15px;
}
#suv_nav .blog_icon a{
  text-indent: -9999px;
  overflow: hidden;
  display: block;
  width:32px;
  height:30px;
  background:url(../img/common/icon_blog.png) no-repeat;
  background-size:100% auto;
}




.header_wrapper {
    padding: 6px 0 0 3%;
    border-bottom: 2px solid #eaedf4;
    box-sizing: border-box; /*通常の記述*/
    -webkit-box-sizing: border-box; /*Google ChromeやSafariの機能を利用*/
    -moz-box-sizing: border-box; /*Firefoxの機能を利用*/
  }
  /* パンクズリスト */
  #breadcrumb {
    width: 90%;
    margin: 1rem auto;
    padding: 2% 0 0 0;
  }

  /* フッターロゴ */
#f_logo{
  text-align: center;
  overflow: hidden;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
  width: 80%;
  margin: 30px auto 0 auto;
}
#f_logo img{
  width: 48%;
  float: left;
}
#f_logo p{
  float: left;
  margin-left: 15px;
}
.shop_info,
.shop_cal{
  width: 80%;
  margin: 10px auto;
}
.substitute{
  margin-top: 30px;
  text-align: center;
}
.substitute img{
  width: 50%;
}
.substitute h3{
  font-size: 3.0rem;
  text-align: center;
}
.f_service{
  text-align: center;
}
.f_service .btn_white{
  margin-bottom: 10px;
}



  /* メイン画像 */
  .main_h1_wrapper {
    padding: 0 5%;
  }
  .lower .main_h1_wrapper {
    padding:90px 0 0;
    background-size:100% auto;
}
  /* TOP メイン文言 */
  .main-top-p {
    margin-top: 100px;
  }
  #top .main_h1_wrapper {
    left: 3%;
    padding: 0 3%;
  }

  .sub-menu {
    padding: 0 12% 0 7%;
    background: #ebf8ff;
  }
  .sub-menu li {
    border-bottom: 1px dashed #ccc;
  }
  .sub-menu li:last-of-type {
    border: none;
  }
  .sub-menu li a {
    padding: 0.8em 1em 0.7em 2.5em;
    font-size: 12px;
  }
  .sub-menu li a:after {
    position: absolute;
    top: 9px;
    left: 5px;
    color: #006cbb;
    font-weight: bold;
  }
  .sub-menu li:nth-of-type(1) a:after {
    content: "01. ";
  }
  .sub-menu li:nth-of-type(2) a:after {
    content: "02. ";
  }
  .sub-menu li:nth-of-type(3) a:after {
    content: "03. ";
  }
  .sub-menu li:nth-of-type(4) a:after {
    content: "04. ";
  }
  .sub-menu li:nth-of-type(5) a:after {
    content: "05. ";
  }
  .sub-menu li:nth-of-type(6) a:after {
    content: "06. ";
  }
  .sub-menu li:nth-of-type(7) a:after {
    content: "07. ";
  }
  .sub-menu li:nth-of-type(8) a:after {
    content: "08. ";
  }
  .sub-menu li:nth-of-type(9) a:after {
    content: "09. ";
  }
  .sub-menu li:nth-of-type(10) a:after {
    content: "10. ";
  }

  #nav01 {
    border-bottom: none;
  }

  .sub-menu li a:before {
    display: none;
  }

  .sub-menu {
    border-top: 1px solid #dcdddd;
    /* border-bottom: 1px solid #dcdddd; */
  }
  .sub-menu li:last-of-type {
    border-bottom: none;
    border-top: none;
  }

  /*---------------------------------------------
 ** フッター記述
---------------------------------------------*/
  footer {
    margin-bottom: 12rem;
  }
  .footer_wrapper {
    margin: 0;
    padding-bottom: 10px;
  }

  /* フッターナビ */
  #footer nav ul {
    background: #f6f6f6;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1px 0 1px 0;
  }
  #footer nav li {
    width: 49.3%;
    margin: 1px;
  }
  #footer nav a {
    width: 100%;
    background: #fff;
    padding: 10px 0;
    text-align: center;
    text-decoration: none;
    display: block;
    position: relative;
  }
  #footer nav a:after {
    width: 10px;
    height: 10px;
    position: absolute;
    top: 15px;
    right: 11px;
    background-size: 100%;
    content: "";
  }

  /* 診療時間 */
  .time_table th {
    font-size: 1.4rem;
    padding: 0.1rem 0.4rem 0.5rem;
  }
  .time_table td,
  tr.time_tr_shyujutsu td {
    font-size: 1.4rem;
    padding: 0.4rem 0.3rem;
  }
  /* MAP */
  .map {
    height: 300px;
  }
  /* 住所 */
  .txt-address {
    margin: 0 0 10px;
  }

  /*---------------------------------------------
 **  スマホナビ（
---------------------------------------------*/
  #nav03 ul {
    padding: 0px 5% 0 7%;
    background: #f6f6f6;
  }
  #nav03 ul li {
    border-bottom: 1px dashed #ccc;
  }
  #nav03 ul li:last-of-type {
    border: none;
  }
  #nav03 ul li a {
    padding: 0.8em 1em 0.7em 2em;
    font-size: 12px;
  }
  #nav03 ul li a:after {
    position: absolute;
    top: 7px;
    left: 5px;
    content: "≫";
    color: #0059b2;
  }
  #nav03 ul li:last-of-type a:after {
    content: "≫";
  }
  #nav03 {
    border-bottom: none !important;
  }

  #nav03 ul li a:before {
    display: none;
  }

  #nav03 ul {
    border-top: 1px solid #dcdddd;
    border-bottom: 1px solid #dcdddd;
  }

  .navBtn {
    width: 54px;
    height: 58px !important;
    background: #185BA8;
    top: 0px !important;
    right: 0px !important;
    padding: 24px 16px 0px 20px !important;
    box-sizing: border-box; /*通常の記述*/
    -webkit-box-sizing: border-box; /*Google ChromeやSafariの機能を利用*/
    -moz-box-sizing: border-box; /*Firefoxの機能を利用*/
    display: flex;
  }

  /*=================================================================================================================================*/
  /**  TOPコンテンツ	*/
  /*=================================================================================================================================*/


  .slick-next,
  .slick-prev {
    z-index: 999;
  }
  .slick-next {
    right: -10px !important;
  }
  .slick-prev {
    left: -13px !important;
  }
  button.slick-prev,
  button.slick-next {
    width: 23px !important;
    border: unset;
  }

#news{
  width: 100%;
}


/*intro*/
#index_intro{
  width: 100%;
}
#index_intro .intro_wrap{
  width: 90%;
  margin: 0 auto;
}
#index_intro h2{
  font-size: 3.0rem;
  text-shadow: 3px 1px black;
}
#index_intro .flexbox{
  flex-direction: column;
  width: 90%;
  margin: 10px auto 0 auto;
}

/*coating*/
#index_coating{
  background-size: 150%;
  padding-top: 100px;
}
#index_coating .coating_menu{
  width: 100%;
  margin: 0 auto;
  padding-bottom: 50px;
}



#index_coating .flexbox.w1200{ display: flex; flex-direction: column-reverse !important;}
#index_coating .coating_menu.flexbox{
  width: 90%;
  margin: 10px auto 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#index_coating .coating_menu.flexbox > div{ width: 45%;}
#index_coating .coating_menu h3{ text-align: center;}
#index_coating .coating_menu img{
  border: 1px solid #666;
  border-radius: 10px;
  padding: 5px;
}
#index_coating .coating_menu_txt{
  width: 90%;
  margin: 10px auto;
}
#index_coating .coating_menu_txt h2{
  text-align: center;
  font-size: 3.0rem;
}
#index_coating .coating_menu_txt p{
  width: 80%;
  margin: 0 auto;
  line-height: 2.0em;
}

/*option*/
#index_option .carfilm,
#index_option .cleaning{
  padding-top: 50px;
}
#index_option .flexbox > a:nth-child(2){
  background-position: left;
}
#index_option h2{
  text-align: center;
  font-size: 2.4rem;
}
#index_option p{
  line-height: 2.0em;
}


/*mainte*/
#index_mainte .index_mainte_txt{
  width: 90%;
  margin: 0 auto;
  padding-top: 50px;
}
#index_mainte .index_mainte_txt h2{
  text-align: center;
  font-size: 3.0rem;
}
#index_mainte .index_mainte_txt p{
  line-height: 2.0em;
  width: 80%;
  margin: 15px auto 0 auto;
}
#index_mainte .index_mainte_menu{
  border-bottom:10px solid #FFC551;
  width: 80%;
  margin: 15px auto 0 auto;
  padding-bottom: 50px;
}
#index_mainte .index_mainte_menu h3{
  text-align: center;
  margin-bottom: 15px;
}

/* ガラスコーティング　共通パーツ */
#coating_foot{
  padding:30px 0;
}
#coating_foot::after{
  content:'';
  width:100%;
  max-width:800px;
  height:5px;
  display: block;
  background:#BB3C67;
  position:absolute;
  bottom:-5px;
  right:0;
  left:0;
  margin:0 auto;
}
.coating_foot_in{
  width:95%;
  display: block;
}
.coating_foot_in .brand{
  width:95%;
  margin:0 auto;
}
.coating_foot_in .brand div{
  width:48%;
}
.coating_foot_in .coating_foot_t{
  width:100%;
}
.coating_foot_in .brand .brand_logo{
  bottom:18%;
}

/* ガラスコーティング：磨き */
#polish01{
  background-size:auto 40%;
  height:400px;
}
#polish01 .w1200 div {
  width:100%;
}
#polish02 .flex_between dl{
  width:100%;
  margin-bottom:30px;
}
#polish02 .flex_between dl dt{
  min-height:inherit;
}
#polish h3{
  font-size:2.0rem;
  margin-bottom:0;
}

#polish03 .w1200 .content-txt div{
  flex-wrap: wrap;
  justify-content: space-between;
}
#polish03 .w1200 .content-txt div img{
  width:48%;
  height:100%;
  margin-left:0;
  margin-bottom:10px;
}
#polish03 .w1200 .btn .close{
  display: inline-block;
  position:absolute;
  top:-8%;
  right:0;
  padding:5px 20px;
}
#polish04 .flex_between dl{
  width:100%;
}

/*=================================================================================================================================*/
  /**  内部ページ	*/
  /*=================================================================================================================================*/

  .main_img {
    position: relative;
    justify-content: center;
    align-items: center;
    background-position: 30% 0 !important;
  }
  #top .main_img {
    display: block;
    height: 100%;
  }
  .lower .main_img {
    height:100px;
  }
  /* スライドショー位置調整 */
  .main_img_slide_01 {
    background-size: 150% !important;
    background-position: 72% 30% !important;
  }
  .main_img_slide_02 {
    background-size: 150% !important;
    background-position: 44% 30% !important;
  }
  .main_img_slide_03 {
    background-size: 150% !important;
    background-position: 86% 30% !important;
  }
  .main_img_slide_04 {
    background-size: 150% !important;
    background-position: 63% 30% !important;
  }
  .main_img_slide_05 {
    background-size: 150% !important;
    background-position: 57% 30% !important;
  }
  .main_img_slide_06 {
    background-size: 150% !important;
    background-position: 65% 30% !important;
  }
  .main_img_slide_07 {
    background-size: 150% !important;
    background-position: 71% 30% !important;
  }

  .slideshow {
    width: 100%;
    position: relative;
    left: 0;
  }


  /*---------------------------------------------
 **  緑内障
---------------------------------------------*/
  .is-position-unset {
    position: unset;
  }

  /*---------------------------------------------
 **  common.css 打ち消し
---------------------------------------------*/
  /* .p-LR_4per{
  padding-left: unset;
  padding-right: unset;
} */

  @media (max-width: 767px) {
    .txt-left-sp{
      text-align: left;
    }
  }

  .ttl-lens-01{
    font-size: 3.2vw;
    font-weight: bold;
    left: 42px;
  }
  .is-ico-question{
      width: 30px;
      height: 50px;
  }

  .lower .main_h1{
    width:90%;
    margin:10px auto;
    font-size:2.6rem;
    letter-spacing:0.1em;
  }

  .lower .w1200{
    width:90%;
    margin:0 auto;
  }

  .con_no{
    font-size:40px;
  }
  .con_box div h3{
    font-size:2.6rem;
  }
  #tech01 .w580, #tech02 .w580, #tech03 .w580{
    background:#ffffffc4;
  }

  .lower .flexbox{
    width:100%;
    display: block;
  }

  .fnavi{
    width:100%!important;
    max-width: inherit!important;
    background:url(../img/quality/quality_foot.jpg) no-repeat right top #26232a;
    background-size:auto 100%;
    padding:2% 0 2%!important;
    }
  .fnavi .menu-navigation-container{
    background:none!important;
  }
  .fnavi .sub-menu{
    background:none!important;
    border:none;
  }
  .fnavi li a:link{
    text-decoration: none!important;
  }

  .fnavi_commit ul li:nth-child(1) > a{
    font-size:1.6rem;
  }

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


  .fnavi .sub-menu li{
    background:url(../img/common/fnavi_line.png) no-repeat right center;
    background-size:20px auto;
    padding:2% 35px 2% 10px!important;
  }

  .fnavi_commit .sub-menu li:nth-child(1):after{
    content:'';
  }
  .fnavi_commit .sub-menu li:nth-child(2):after{
    content:'';
  }
  .fnavi .sub-menu li{
    width:auto!important;
  }

  #fac01 .content-txt div{
    width:100%;
    margin-bottom:40px;
  }
  #fac01 .fac01_box2{
    margin-top:-20px;
    margin-bottom:20px;
  }
  #fac01 .fac01_box2 h3{
    font-size:2.2rem;
  }
  #fac02 .flex_between div{
    width:100%;
  }
  #fac02 .flex_between div.min130 p{
    min-height:auto;
  }


  /* ガラスコーティング：クォーツ */


  #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 200px;
    padding:80px 0 120px;
  }
  #quartz01 .w1200 div {
    width:100%;
    padding-top:30px;
  }

  #quartz01 div h2{
    font-size:2.6rem;
  }

  #quartz01 div h2::before{
    font-size:1.6rem;
  }
  #quartz h3, #himohs h3, #realglass h3, #leather h3, #room h3, #film h3{
    margin-left:65px!important;
    font-size:2.4rem;
    position:relative;
  }
  #quartz h3::before, #himohs h3::before,
  #realglass h3::before, #leather h3::before,
  #room h3::before, #film h3::before{
    font-size:4.0rem!important;
    left:-65px!important;
    bottom:-10px!important;
  }

  #quartz02 .flex_between dl:nth-child(1){
    width:100%;
  }
  #quartz02 .flex_between dl:nth-child(2){
    text-align: center;
    width:100%;
    margin-bottom:50px;
  }
  #quartz02 .flex_between dd p{
    margin-bottom:0;
  }

  #quartz02 ul li{
    background-size:100% auto;
  }
  #quartz03 .flex_between dl{
    width:100%;
  }
  #quartz03 .flex_between .blue_box{
    width:100%;
  }
  #quartz03 .blue_box p{
    margin-top:0px;
  }

  .quartz_flow dl{
    width:100%;
    margin:0 0 40px;
  }
  .quartz_flow dl::before{
    content:'';
    width: 0;
    height: 0;
    display: block;
    border-left: 30px solid transparent!important;
    border-right: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-top: 30px solid #D0121B;
    position:absolute;
    top:auto;
    left:0;
    right:0;
    bottom:-60px;
    margin:0 auto;
  }
  .quartz_flow dl:last-child::before{
    border-top: 0px;
  }



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

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

  .ribbon:after {
    content: '';
    position: absolute;
    left: 60px;
    top: 0;
    height: 0;
    width: 0;
    border-left: 0px;
    border-bottom: 20px solid #D0121B;
    border-top: 20px solid #D0121B;
    border-right: 10px solid transparent;
  }
  .green .ribbon:after {
    border-bottom: 20px solid #18A83E;
    border-top: 20px solid #18A83E;
  }

  .ribbon-wrapper p{
    margin:60px 20px 20px 20px!important;
    font-size:2.0rem;
  }
  .ribbon-wrapper p span{
    font-size:1.4rem;
  }

  form#slct_price{
    padding:35px 20px 20px;
  }
  form#slct_price dl{
    display: flex;
    flex-wrap: wrap;
    margin-bottom:10px;
  }

  form#slct_price dl > dt{
    width:50%;
    margin:0 auto 10px;
  }
  form#slct_price dl > dd{
    width:100%;
    padding:0;
    margin-bottom:10px;
  }

  div.output_unit>h6{
    font-size:1.6em;
  }
  div.output_unit dl{
    font-size:1.4em;
  }
  div.output_unit dl dd{
    font-size:1.4em;
  }

  .output_add{
    margin:0 auto 20px;
  }
  #quartz05 ul{
    width:100%;
    margin:10px auto;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    justify-content:space-between;
  }
  #quartz05 ul li{
    width:48%;
    margin-right:0;
    margin-bottom:15px;
  }




  #himohs div h2,
  #realglass div h2{
    font-size:2.6rem;
  }

  #himohs div h2::before,
  #realglass div h2::before{
    font-size:1.6rem;
  }

  #himohs h3,
  #realglass h3{
    font-size:2.2rem;
  }

  #himohs01 .w1200 div,
  #realglass01 .w1200 div {
    width:100%;
  }

  #himohs01{
    width:100%;
    background: url(../img/coating/coating_main03.png)center bottom 2% no-repeat #000;
    background-size:90% auto;
    color:#fff;
    padding:80px 0 50%;
  }

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

  #himohs02{
    margin-bottom:5%;
  }
  #himohs02 .flex_between > div{
    width:100%;
    margin-bottom:10%;
  }
  #himohs02 h3,
  #realglass02 h3{
    margin-left:0;
    padding-top:35px;
  }
  #himohs02 h3.h3_first,
  #himohs02 h3.h3_second,
  #realglass02 h3{
  }

  #himohs02 h3.h3_first::before,
  #himohs02 h3.h3_second::before,
  #realglass02 h3.h3_first::before,
  #realglass02 h3.h3_second::before,
  #realglass02 h3.h3_third::before{
    font-size:2.8rem;
    bottom:auto;
    top:0;
    left:0;
  }

  #himohs .ribbon,
  #realglass .ribbon {
    display: inline-block;
    position: absolute;
    top: 10px;
    left: 0;
    margin: 0;
    padding: 5px 0 5px;
    z-index: 2;
    width: 60px!important;
    height:30px;
    text-align: center;
    background: #D0121B;
    font-size:2.0rem;
  }
  #himohs .ribbon:after,
  #realglass .ribbon:after {
    content: '';
    position: absolute;
    left: 60px;
    top: 0;
    height: 0;
    width: 0;
    border-left: 0px;
    border-bottom: 20px solid #D0121B;
    border-top: 20px solid #D0121B;
    border-right: 10px solid transparent;
  }
  #himohs .green .ribbon:after,
  #realglass .green .ribbon:after {
    border-bottom: 20px solid #18A83E;
    border-top: 20px solid #18A83E;
    border-left: 0px;
    border-right: 10px solid transparent;
  }



  #himohs .ribbon-wrapper p,
  #realglass .ribbon-wrapper p{
    margin:40px 20px 10px 20px!important;
    font-size:2.0rem;
  }
  #himohs02 ul{
    margin-bottom:20px;
  }
  #himohs .w1200 div.btn,
  #himohs .w1200 div.btn_blue{
    padding:0!important;
  }
  #himohs03 .flex_between .blue_box,
  #realglass03 .flex_between .blue_box{
    text-align: center;
    width:100%;
    margin:0 auto!important;
    padding-top:0!important;
  }
  #himohs03 .blue_box p,
  #realglass03 .blue_box p{
    margin:10px auto;
  }
  #himohs .output_unit > div,
  #realglass .output_unit > div{
    display: block;
  }
  #himohs .output_unit > div dl:nth-child(1),
  #realglass .output_unit > div dl:nth-child(1),
  #realglass .output_unit > div dl:nth-child(2){
    border-right:2px solid #333!important;
    border-bottom:0px!important;
  }

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

  #realglass02 .flex_between > div{
    width:100%;
    margin-bottom:20px;
  }

  #realglass02 dl dt img{
    margin:10px auto 0;
  }
  #realglass02 dl dd p{
    margin:10px auto 20px;
  }

  #film{
    height:auto;
    padding:60px 0 30px;
  }
  #film .w1200 div{
    width:100%;
  }
  #film div h2{
    font-size:2.6rem;
  }

  #film div h2::before{
    font-size:1.6rem;
  }
  #film{
    padding:10% 0 5%;
  }


  #leather01, #room01{
    height:auto;
    padding:60px 0 30px;
  }
  #leather01 .w1200 div, #room01 .w1200 div{
    width:100%;
  }
  #leather01 div h2, #room01 div h2{
    font-size:2.6rem;
  }

  #leather01 div h2::before,
  #room01 div h2::before{
    font-size:1.6rem;
  }
  #leather02, #room02{
    padding:10% 0 5%;
  }
  #leather02 .flex_between dl{
    width:90%;
    margin-bottom:30px;
  }
  #leather02 .flex_between dl dt img{
    margin:5px auto 5px;
  }
  #leather02 .flex_between dl dd{
    padding-left:40px;
  }

  .incar_flow dl{
    width:100% !important;
    margin:0 0 40px;
  }
  .incar_flow dl::before{
    content:'';
    width: 0;
    height: 0;
    display: block;
    border-left: 30px solid transparent!important;
    border-right: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-top: 30px solid #D0121B;
    position:absolute;
    top:auto;
    left:0;
    right:0;
    bottom:-60px;
    margin:0 auto;
  }
  .incar_flow dl:last-child::before{
    border-top: 0px;
  }

  .note{
    padding:4% 5%;
  }
  .note dt{
    width:100%;
    padding:7px 0 5px 50px;
    margin-bottom:5px;
    font-size: 150%;
  }
  .note dd{
    width:100%;
  }

  .incar_ul dl{
    width:100%;
    border-right:0;
    border-bottom:1px solid #999;
  }

  .incar_ul dl:last-child{
    width:100%;
    border-bottom:0px;
  }
  .incar_ul dl dt{
    font-size:1.4em;
  }
  .incar_ul_c3 dl dt.incar_ozon{
    padding:15px 0;
  }
  .incar_ul dl dd{
    font-size:1.6em;
    padding: 15px 20px;
    text-align: center;
  }

  .faq{
    display: flex;
    flex-wrap: wrap;
  }
  .faq dl{
    width:100%;
  }
  .faq dl:nth-child(2n-1){
    margin-right:0;
  }
  .faq dl dt{
    font-size:2.0rem;
  }
  .faq dl dt span{
    font-size:2.4rem;
  }

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

  .room_step > div .step_no::after{
  content: '';
  position: absolute;
  left: 60px;
  top: 0;
  height: 0;
  width: 0;
  border-left: 0px;
  border-bottom: 20px solid #185BA8;
  border-top: 20px solid #185BA8;
  border-right: 10px solid transparent;
  }
  .room_step > div div{
    margin-left:0;
    padding-top:45px;
  }
  .room_step h4{
    font-size:2.4rem;
    color:#185BA8;
    padding-bottom:0;
  }
  .room_step ul li{
    width:48%;
    list-style: none;
    margin-right:4%;
    margin-bottom:4%;
  }
  .room_step ul li:nth-child(3n){
    margin-right:4%;
  }
  .room_step ul li:nth-child(2n){
    margin-right:0;
  }
  .step_no03 h4{
    margin-bottom:10px;
  }
  .step_no03 img{
    width:100%;
    float:none;
    margin:0 auto 20px;
  }

  #incar_foot{
    padding:30px 0;
  }
  #coating_foot::after{
    content:'';
    width:100%;
    max-width:800px;
    height:5px;
    display: block;
    background:#BB3C67;
    position:absolute;
    bottom:-5px;
    right:0;
    left:0;
    margin:0 auto;
  }
  .incar_foot_in{
    width:95%;
    display: block;
  }
  .incar_foot_in .brand{
    width:100%;
  }
  .incar_foot_in .incar_foot_t{
    width:100%;
  }
  #leather .incar_foot_in h3,#room .incar_foot_in h3{
    margin-left:0!important;
  }
  .incar_foot_in .brand p{
    margin:0 auto 20px;
    font-size:80%;
  }

  #shop h2{
    font-size:3.2rem;
  }

  .shop_img img{
    height:100%;
  }

  #shop01 table tr{
    display: flex;
    flex-wrap: wrap;
  }
  #shop01 table th{
    width:100%;
  }
  #shop01 table tr td {
    width:100%;
    text-align: center;
  }
  #shop01 table tr:first-child td {
    padding-bottom:2.0em;
    text-align: center;
    padding-right:0;
  }
  #shop01 table tr:first-child td span {
    width:100%;
    font-size:80%;
    position:absolute;
    right:0;
    left:0;
    top:inherit;
    bottom:8px;
    text-align: center;
    margin:0 auto;
  }
  #shop01 table tr:last-child td {
    text-align: left;
  }
  #shop01 table td ul li{
    margin-right:0;
  }
  .shop_con{
    position:relative;
    width:100%;
    height:inherit;
  }
  .shop_con .contact{
    margin-bottom: 10px;
    position:static;
  }
  .shop_con .contact ul li{
    width:50%;
    font-size:100%;
  }
  .shop_con .contact ul li a{
    width:calc(100% - 30px)!important;
    padding: 15px;
    letter-spacing: 0;
    display: block;
  }
  #shop02 .shop_img img{
    width:50%;
  }
  #shop03 .w1200 div{
    padding:10% 0 50%;
  }



body h3::before{
  position: unset !important;
}

#quartz h3, #himohs h3, #realglass h3, #leather h3, #room h3, #film h3{
  padding-left: 0;
  margin-left: unset !important;
}


#maintenance01{
  height: unset;
  padding-bottom: 1px;
}

#maintenance01 .w1200 div{
  width: 100%;
}

.ttl-nbr{
  margin-left: unset !important;
}



} /*■■ ここまで ■■*/
