@charset "utf-8";

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




/*---------------------------------------------
 ** 780px
---------------------------------------------*/
@media screen and (max-width: 780px) {

  /*---------------------------------------------
	body
  ---------------------------------------------*/
  html {
    scroll-behavior: smooth;
  }

  html {
    font-size: 62.5%;
  }

  body {
    font-size: 15px;
    font-family: sans-serif;
    color: #444;
  }

  p {
    font-size: 14px;
  }

  /* コンテンツ全体 */

  #main {
    padding: 0 0 0 0;
  }

  /* fook */
  .only_sp_none {
    display: none !important;
  }



  .pc_none {
    display: inline-block;
  }

  /*画像*/
  img {
    max-width: 100%;
    height: auto;
  }


  #logo {
    width: 175px;
    height: 58px;
    bottom: 0px;
    left: 0%;
    right: 0px;
    margin: 28px auto 13px;
  }

  h2 {
    font-size: 2.2rem;
    margin-bottom: 1.7rem;
  }


  h3 {
    font-size: 19px;
  }

  /*---------------------------------------------
 ** スマホメニュー
---------------------------------------------*/

  .hamburger {
    display: block;
    position: absolute;
    z-index: 3;
    right: 15px;
    top: 22px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    text-align: center;
    background: #B2B200;
    z-index: 99999;
  }

  #header.HeightMin .hamburger {
    top: 15px;
  }

  .hamburger span {
    display: block;
    position: absolute;
    width: 30px;
    height: 4px;
    left: 10px;
    background: #fff;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }

  .hamburger span:nth-child(1) {
    top: 10px;
  }

  .hamburger span:nth-child(2) {
    top: 23px;
  }

  .hamburger span:nth-child(3) {
    top: 37px;
  }

  /* ナビ開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
    top: 25px;
    left: 10px;
    background: #fff;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }

  .hamburger.active span:nth-child(2),
  .hamburger.active span:nth-child(3) {
    top: 25px;
    background: #fff;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }

  #header.HeightMin {
    height: 78px;
  }

  #index #header.HeightMin {
    height: 78px;
  }

  .globalMenuSp {
    position: fixed;
    z-index: 2;
    height: 100vh;
    top: 0;
    left: 0;
    color: #fff;
    background: #333333fc;
    text-align: center;
    width: 100%;
    opacity: 0;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    padding-top: 7px;
    padding-bottom: 30px;
  }

  header {
    height: 90px;
  }

  #breadcrumb {
    display: none;
  }

  #index #header {
    position: absolute;
    top: 0;
    background: none;
    padding: 0;
  }

  header nav>a {
    top: 15px;
    left: 0;
    margin-left: 15px;
  }

  #index header nav>a {
    top: 20px;
    left: 0;
    margin-left: 20px;
  }

  #header.HeightMin nav>a {
    width: 120px;
  }

  .globalMenuSp #menu-menu {
    margin: 70px auto 0;
    padding: 0;
    display: block;
    width: 90%;
    max-width: 400px;
  }

  #header.HeightMin #menu-menu {
    padding: 0;
  }


  .globalMenuSp #menu-menu>li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: 0.4s all;
    border-bottom: 0 solid #fff;
    border-left: 0 !important;
    border-right: 0 !important;
    margin: 0 0 10px !important;
  }

  .globalMenuSp #menu-menu>li:hover {
    background: #ddd;
  }

  .globalMenuSp #menu-menu>li>a {
    display: block;
    color: #fff;
    padding: 0.8em 0;
    text-decoration: none;
    text-align: center;
    background: #868644cf;
    font-size: 90%;
  }

  .globalMenuSp {
    pointer-events: none;
  }

  .globalMenuSp.active {
    opacity: 100;
    pointer-events: visible;
  }

  header #menu-menu>li ul {
    display: flex;
    width: 100%;
    position: static;
    flex-wrap: wrap;
    margin: 15px auto;
  }

  header #menu-menu>li:nth-child(1):after,
  header #menu-menu>li:nth-child(2):after,
  header #menu-menu>li:nth-child(3):after,
  header #menu-menu>li:nth-child(4):after {
    content: '';
    display: none;
  }

  header #menu-menu>li ul li {
    width: 50% !important;
    border-bottom: 0px !important;
    margin-top: -10px !important;
  }

  header #menu-menu>li ul li a {
    background: unset;
    font-size: 80%;
    padding: 0 0 0;
    text-align: left;
  }

  header #menu-menu>li li a::before {
    content: '';
    width: 5px;
    height: 5px;
    display: inline-block;
    background: url(../img/icon_arrow.png) no-repeat top 2px left;
    background-size: 100% auto;
    padding: 5px 5px;
    box-sizing: border-box;
    margin-right: 5px;
  }

  header #menu-menu>li:last-child a {
    display: block;
    width: 100%;
    height: auto;
    color: #fff;
    padding: 0.8em 0;
    text-decoration: none;
    text-align: center;
    background: #868644cf;
    border-radius: unset;
    text-indent: 0;
    margin-left: 0;
  }

  #index #main {
    padding: 0;
    height: 320px;
    position: relative;
    margin-bottom: 400px;
  }

  #catch {
    width: 85%;
    padding: 5%;
    margin-left: 0;
    position: absolute;
    bottom: -150px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
  }

  #catch h2.mincho {
    font-size: 130%;
    line-height: 1.6;
    margin-bottom: 20px;
  }

  #catch h2.mincho br {
    display: none;
  }

  #catch p {
    font-size: 80%;
  }

  #index #main .btn {
    justify-content: center;
  }

  #index #main #top_info {
    width: 100%;
    bottom: -350px;
    left: 0;
    right: 0;
    margin: 0 auto;
    min-height: 150px;
  }

  #index #main #top_info>p {
    padding: 10px 5px 5px 0;
  }

  .scroll {
    width: 20px;
    right: 5px;
  }

  #top_coat {
    position: relative;
    margin-bottom: 5%;
    padding: 50% 0 0 0;
    background: url(../img/top_bg01.jpg) no-repeat top left;
    background-size: auto 30%;
  }

  #top_coat>div {
    width: 90%;
    margin: 0 auto;
  }

  #top_coat .bg_w {
    width: 100%;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    background:#fff;
    justify-content: space-between;
    padding: 8% 5% 5%;
    align-items: flex-start;
  }

  #top_coat .bg_w::before {
    content: "";
    top: 0;
    left: 0;
    border-bottom: 3em solid transparent;
    border-left: 4em solid #B2B200;
    position: absolute;
  }

  #top_coat .bg_w>p {
    padding: 10px 5px 10px 0;
    font-size: 80%;
    margin-top: 10px;
  }

  #top_coat .bg_w>div h3 {
    font-size: 120%;
    line-height: 1.6;
  }

  #top_coat .bg_w>div>div p {
    width: 100%;
  }

  #top_coat .bg_w>div>div div {
    margin: 0 auto;
  }

  #top_coat .bg_b,
  #top_coat .bg_g {
    width: 100%;
    padding: 5%;
    background:#000;
  }
  #top_coat .bg_g {
    width: 100%;
    padding: 5%;
    background:#333;
  }

  #top_coat .bg_b h4,
  #top_coat .bg_g h4 {
    background: url(../img/icon_q.png) no-repeat left top;
    background-size: 30px auto;
    padding: 0 0 20px 40px;
    font-size: 110%;
  }

  #top_coat .bg_b h4 br,
  #top_coat .bg_g h4 br {
    display: none;
  }

  #top_film {
    position: relative;
    margin-bottom: 5%;
    padding: 50% 0 0 0;
    background:url(../img/top_bg02.jpg) no-repeat top left;
    background-size: auto 70%;
  }

  #top_film .bg_w {
    width: 90%;
    margin: 0 auto;
    background:#fff;
  }

  #top_film .bg_w>p {
    padding: 10px 5px 10px 0;
    font-size: 80%;
    margin-top: 10px;
  }

  #top_film .bg_w::before {
    content: "";
    top: 0;
    left: 0;
    border-bottom: 3em solid transparent;
    border-left: 4em solid #B2B200;
    position: absolute;
  }

  #top_film .bg_w>div>div h3 {
    font-size: 120%;
    line-height: 1.6;
  }

  #top_film .bg_w>div>div h3 br {
    display: none;
  }

  #top_film .bg_w>div>div {
    width: 100%;
  }

  #top_film .bg_w>div>img {
    width: 50%;
    max-width: 100px;
    margin: 0 auto;
  }

  #top_option {
    padding-top: 50%;
  }

  #top_option>div>div {
    width: 100%;
    margin-bottom: 5%;
  }

  #top_option>div>div .btn {
    position: static;
  }

  #top_option>div>div .btn a {
    margin: 0 auto 20px;
  }

  #foot_data>div>img {
    width: 120px;
    margin: 5% auto;
  }

  #foot_data>div>div:nth-of-type(1) {
    width: 100%;
  }


  body:not(#index) #main {
    background: url(../img/quartz/main_sp.jpg?date=20211215b) no-repeat top center;
    padding: 15% 0 0;
    position: relative;
    margin-bottom: 50px;
    background-size: contain !important;
    height: 190px;
  }
  
  #quartz #main {
    background: url(../img/quartz/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  
  #realglass #main {
    background: url(../img/realglass/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  
  #himohs #main {
    background: url(../img/himohs/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  
  #film #main {
    background: url(../img/film/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  
  #room #main {
    background: url(../img/room/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  
  #window #main {
    background: url(../img/window/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  
  #rd #main {
    background: url(../img/rd/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  
  #shop #main {
    background: url(../img/shop/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  
  #clean #main {
    background: url(../img/clean/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  #coat #main {
    background: url(../img/coat/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }
  #option #main {
    background: url(../img/option/main_sp.jpg?date=20211215b) no-repeat top right !important;
    background-size: auto 60%;
  }



  #main_data>p {
    width: 5%;
  }

  #main_data>p br {
    display: none;
  }

  #main_data>div {
    width: 90%;
  }

  #main_data h2 {
    font-size: 110%;
    margin-bottom: 5px;
    margin-top: 5px;
  }

  #main_data h3.mincho {
    font-size: 150%;
    margin-bottom: 10px;
  }

  .quartz01>div:nth-child(1) {
    width: 100%;
  }

  .quartz01>div:nth-child(2) {
    margin: 10px auto 70px;
    width: 200px;
    text-align: center;
  }

  .quartz01>div:nth-child(2)::before {
    width: 200px;
    height: 200px;
    right: 0;
    margin: 0 auto;
  }

  .quartz01>div:nth-child(2) img {
    width: 150px;
    padding-top: 55px;
    margin: 0 auto;
  }

  .quartz02>div>div dd span {
    font-size: 110%;
    font-weight: bold;
  }

  form#slct_price {
    padding: 35px 50px 20px;
  }

  .himohs01>div>div {
    width: 100%;
    margin-bottom: 5%;
  }

  .step_box dl {
    width: 48%;
  }

  .film_box dl {
    width: 47%;
    margin-bottom: 10%;
  }

  .film_box dl dd {
    margin-top: -30px;
  }

  .film_data .point dl {
    width: 100%;
  }

  .film_data .point dl dt {
    width: 22%;
  }

  .film_data .point dl dd {
    width: 75%;
    padding-top: 3%;
  }

  .kore>div:nth-child(2) {
    margin-top: 70px;
  }

  .tbl01 {
    width: 100%;
  }

  .tbl01 tr th {
    padding: 10px 10px;
  }

  .tbl01 tr th:nth-child(1),
  .tbl01 tr td:nth-child(1) {
    font-size: 90%;
    width: 25%;
  }

  .tbl01 tr th span {
    display: block;
  }

  .tbl01 tr th small {
    font-size: 50%;
    letter-spacing: -0.1em;
  }

  .osusume {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: #F0F0E1;
    padding: 3% 4%;
  }

  .osusume dl {
    width: 100%;
    box-sizing: border-box;
    padding: 3% 2% 3%;
    border-right: none;
    border-bottom: 1px #CECEBF solid;
  }

  .osusume dl:last-child {
    border-bottom: none;
  }

  .osusume dl dt {
    margin-bottom: 0;
  }

  .price_tbl {
    font-size: 80%;
  }

  .shop_data {
    width: 85% !important;
  }

  .shop_data>div:nth-child(1)>div:nth-of-type(1) {
    width: 100%;
  }

  .shop_data h5 {
    font-size: 130%;
  }

  .shop_data h6 {
    font-size: 160%;
  }

  .shop_data>div:nth-child(1)>div:nth-of-type(2) {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }

  .shop_car>div {
    width: 100%;
  }

  .shop_car>table {
    width: 100%;
    max-width: 500px;
    margin: 3% auto;
  }

  .shop_car table tr th {
    font-size: 120%;
  }
  .shop_car > img{
      width: 90%;
      max-width:500px;
      margin:0 auto;
  }


}

@media screen and (max-width: 480px) {
  body {
    font-size: 13px;
  }

  .sp_br {
    display: inline;
  }

  #top_coat,
  #top_film,
  #top_option {
    padding: 70% 0 5% 0;
  }
  #top_option{
    background: url(../img/top_bg03.jpg) no-repeat #000 top center;
    background-size: auto 30%;
  }

  #foot_data>div>div:nth-of-type(1) p {
    font-size: 16px !important;
  }

  #foot_data>div>div:nth-of-type(2) p:nth-of-type(1) {
    font-size: 30px;
    background-size: 40px auto;
    padding-left: 55px;
  }

  #main_data>p {
    font-size: 80%;
  }

  body:not(#index) #main {
    padding: 50% 0 0;
  }

  #quartz #main {
    background: url(../img/quartz/main_sp.jpg) no-repeat top right !important;
    background-size: auto 50% !important;
  }

  #content>section {
    margin-bottom: 12%;
  }

  #content>section>img:nth-of-type(1) {
    margin: 0 auto 15px;
  }

  section h4 {
    font-size: 140%;
    padding-left: 40px;
    line-height: 1.6;
    margin-bottom: 10px;
  }

  section h4::before {
    width: 30px;
    height: 10px;
    top: 10px;
  }

  section h5 {
    font-size: 140% !important;
    margin-bottom: 10px !important;
  }


  .quartz02>div>div {
    width: 90%;
    margin: 0 auto 7%;
  }

  .quartz02>div>div:nth-child(2n) {
    margin: 0 auto 7%;
  }

  .quartz02>div>div dt {
    margin-bottom: 0;
  }

  .quartz03>div>div img {
    width: 100%;
    border-radius: 10px 10px 0 0;
  }

  .quartz03>div>div {
    margin-bottom: 30px;
  }

  .quartz03>div>div div {
    width: 100%;
  }

  .quartz03>div>div::after {
    width: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }

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

  .step_box dl {
    width: 90%;
    margin: 0 auto 5%;
  }

  .realglass01 img:nth-of-type(1) {
    margin-bottom: 0;
  }

  .step_box dl dt p {
    right: 15px;
  }

  .lower h5 {
    font-size: 120% !important;
    margin-bottom: 0px !important;
  }

  .film_box dl {
    width: 100%;
  }

  .film_data>div:nth-child(1) {
    width: 95%;
    margin: 0 0 20px 5%;
  }

  .film_data>div:nth-child(1)::before {
    left: -30px;
  }

  .film_data>div:nth-child(1)>div {
    width: 100%;
  }

  .film_data.data01>div:nth-child(1)>img {
    width: 80%;
    margin: 0 auto 5%;
  }

  .film_data .point dl dd {
    padding-top: 0;
  }

  .film_box dl dt.toumei:before {
    background: url(../img/film/icon_toumei.png) no-repeat;
    background-size: 90% auto;
    top: -20px;
    right: 85px;
  }

  .film_box dl dt.smoke:before {
    background: url(../img/film/icon_smoke.png) no-repeat;
    background-size: 90% auto;
    top: -20px;
    right: 85px;
  }

  .film_box dl dt.dannetsu:after {
    background: url(../img/film/icon_dannetsu.png) no-repeat;
    background-size: 90% auto;
    top: -20px;
    right: 5px;
  }

  .film_box dl dt.shanetsu:after {
    background: url(../img/film/icon_shanetsu.png) no-repeat;
    background-size: 90% auto;
    top: -20px;
    right: 5px;
  }

  .film_data .point dl {
    margin-bottom: 10px;
  }

  .kore {
    padding: 5%;
  }

  .kore>div:nth-child(1) {
    width: 100%;
  }

  .kore>div:nth-child(2) {
    width: 80%;
    margin: 0 auto;
  }

  .kore h5::after {
    content: '';
    width: 150px;
    height: 60px;
    background: url(../img/film/icon_kore.png) no-repeat top right;
    background-size: 100% auto;
    position: absolute;
    right: -160px;
    top: -8px;
  }

  .tbl01 tr th span {
    font-size: 100%;
    padding: 0 5px;
  }

  .tbl01 tr th:nth-child(1),
  .tbl01 tr td:nth-child(1) {
    font-size: 10px;
    width: 8em;
    padding: 8px;
  }

  span.smoke40:after,
  span.smoke50:after,
  span.smoke60:after,
  span.smoke70:after {
    width: 50px;
    height: 30px;
  }

  span.smoke05:after,
  span.smoke20:after,
  span.smoke35:after {
    width: 70px;
    height: 30px;
  }

  .tbl01 tr th {
    padding: 10px 5px;
  }

  .tbl01 tr th small {
    font-size: 10px;
    letter-spacing: -0.14em;
  }

  .tbl01 tr td {
    line-height: 1.6;
  }

  .tbl01 tr td img {
    width: 16px;
  }

  .film_data .point dl dd {
    font-size: 90%;
  }

  .film_data .point dl dd span {
    font-size: 110%;
  }

  .film_data>div:nth-child(1)>img {
    width: 80%;
    margin: 0 auto 5%;
  }

  .right_img>div {
    width: 100%;
  }

  .right_img>img {
    width: 100%;
  }



  .price_tbl {
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
  }

  .price_tbl th {
    padding: 0;
    min-height: 30px;
    padding: 10px 0;
  }

  .price_tbl tr td {
    border-bottom: 1px solid #CDCDCD;
    padding: 0;
    min-height: 30px;
    padding: 10px 0;
  }

  .price_tbl td>span,
  .price_tbl th>span {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    white-space: nowrap;
    display: block;
  }

  .lower .kore h5 {
    font-size: 150% !important;
    margin-bottom: 10px !important;
  }

  .kore h5::after {
    width: 130px;
    right: -140px;

  }

  #shop #main,
  #contact #main,
  #infomation #main {
    margin-bottom: 0 !important;
  }
  #contact #main{ display: none;}

  .shop_data>div:nth-child(1) {
    width: 95%;
    margin-left: 5%;
  }

  .shop_data>div:nth-child(1)::before {

    left: -30px;
  }

  .shop_data h5 {
    font-size: 110%;
    line-height: 1.6;
  }

  .shop_data h6 {
    font-size: 140%;
  }

  .shop_data table th {
    font-size: 110%;
  }

  .shop_data table td {
    font-size: 100%;
  }

  .shop_data table td span {
    display: block;
  }

  .shop_data .telno {
    font-size: 240%;
  }

  .shop_data .telno a {
    background: url(../img/shop/icon_tel_b.png) no-repeat top 3px left;
    background-size: 40px auto;
    padding-left: 55px;
  }

  .img_3 img {
    width: 100%;
    max-width: 340px;
    margin: 0 auto 3%;
  }

  .shop_car table tr th {
    padding: 10px;
  }

  .shop_car dl {
    font-size: 90%;
  }

  #cf-tbl table tr td {
    padding: 5%;
  }

  .form_txt {
    display: block;
    margin: -7px 0 5px;
  }
  .faq > div dl{
    width:100%;
    margin:0 auto 8%;
  }
  .faq > div dl dt{
    font-size:100%;
    padding:3px 4% 8px;
    margin-bottom:4%;
    text-indent: -16px;
    padding-left:43px;
  }
  .faq > div dl dt span{
    font-size:120%;
    margin-right:5px;
  }
  .faq > div dl dd{
    font-size:90%;
  }

 #content .realglass01,
 #content .quartz01,
 #content .himohs01,
 #content .film01,
 #content .room01,
 #content .window01{
   margin-top: 22rem;
 }
  

}

@media screen and (max-width: 400px) {
  body {
    font-size: 13px;
  }

  p {
    font-size: 13px;
  }

  #room h3.mincho {
    font-size: 120%;
    margin-top: 10px;
  }

  section h4 {
    font-size: 120%;
  }

  .film_box dl dt.toumei:before {
    background: url(../img/film/icon_toumei.png) no-repeat;
    background-size: 80% auto;
    top: -20px;
    right: 65px;
  }

  .film_box dl dt.smoke:before {
    background: url(../img/film/icon_smoke.png) no-repeat;
    background-size: 80% auto;
    top: -20px;
    right: 65px;
  }

  .film_box dl dt.dannetsu:after {
    background: url(../img/film/icon_dannetsu.png) no-repeat;
    background-size: 80% auto;
    top: -20px;
    right: -5px;
  }

  .film_box dl dt.shanetsu:after {
    background: url(../img/film/icon_shanetsu.png) no-repeat;
    background-size: 80% auto;
    top: -20px;
    right: -5px;
  }


}

@media screen and (max-width: 320px) {
  body {
    font-size: 12px;
  }

  p {
    font-size: 10px;
  }

/*
  header #menu-menu>li ul li {
    width: 100% !important;
  }
*/
  span.toumei89:after{
    width:55px;
  }
  span.toumei90:after{
    width:55px;
  }
  span.smoke05:after, span.smoke20:after, span.smoke35:after{
    width:55px;
  }

}

/* スマホのときのみ電話をかける */
@media (min-width: 780px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
