@charset "utf-8";

/*---------------------------------------------
	body
---------------------------------------------*/
html {
  scroll-behavior: smooth;
  font-size: 62.5%;
  font-family: "SF Pro JP", "SF Pro Text", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* 10px */
body {
  width: 100%;
  font-size: 1.8rem;
  color: #000;
  line-height: 1.9;
  text-align: left;
  -webkit-text-size-adjust: 100%;
}

/* 16px */
p {
  font-size: 1.8rem;
}

/* 16px */
img {
  width: 100%;
  height: auto;
}

.red {
  color: #C6191A;
}

.tac {
  text-align: center;
}

.success {
  padding-top: 20px;
}

/*---------------------------------------------
 **  フォント
---------------------------------------------*/
.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", Georgia, serif;
}


/*---------------------------------------------
 **  フッターナビ
---------------------------------------------*/
#footer {
  position: relative;
}

#footer #nav ul li ul {
  display: none;
}

/*---------------------------------------------
 **  メイン画像
---------------------------------------------*/

/*---------------------------------------------
	Anchor
---------------------------------------------*/
a {
  outline: none;
}

a:link {
  text-decoration: none;
  color: #333;
  text-decoration: none;
}

a:visited {
  text-decoration: none;
  color: #333;
}

a:hover {
  color: color-mod(#333; shade(50%));
  text-decoration: none;
}

a:active {
  text-decoration: none;
  color: #333;
}

a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/*---------------------------------------------
	p
---------------------------------------------*/
p {
  margin-bottom: 1em;
}

p+a {
  margin-top: 1em !important;
}

/*
p + div {
  margin-top: 1.5em !important;
}
*/


/*---------------------------------------------
 ** 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 )";
}


/*---------------------------------------------
 **  ページトップ
---------------------------------------------*/
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
}

#pageTop a {
  display: block;
  padding: 5px 3px 0px 3px;
  border-radius: 30px;
  background-color: #02529C;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  background: url(../img/common/page_top.png) no-repeat;
  background-size: 100%;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}


/*---------------------------------------------
 ** パンくずリスト
---------------------------------------------*/
nav#breadcrumbs ol {
  padding: 0;
}

nav#breadcrumbs ol li {
  display: inline;
  list-style-type: none;
  font-size: 80%;
}

nav#breadcrumbs ol li:before {
  content: " > ";
}

nav#breadcrumbs ol li:first-child:before {
  content: "";
}


/*=================================================================================================================================*/
/**  共通部分	*/
/*=================================================================================================================================*/

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/*---------------------------------------------
 ** 見出し
---------------------------------------------*/
/*---------------------------------------------
 ** h2
---------------------------------------------*/
h2 {
  font-size: 3.0rem;
  line-height: 1.5;
  margin-bottom: 1.0rem;
  font-family: 'Noto Sans JP', sans-serif;
}

h2 strong {
  text-shadow: 0px 0px 1px #999;
  letter-spacing: 0.02em;
}

/*---------------------------------------------
 ** h3
---------------------------------------------*/
h3 {
  margin-bottom: 1.5rem;
}

/*---------------------------------------------
 ** コンテンツ全体
---------------------------------------------*/
#content {
  width: 100%;
}

#main {
  width: 100%;
  margin: 0 auto;
  padding: inherit;
}

/*---------------------------------------------
 ** セクション
---------------------------------------------*/
section {
  margin-bottom: 70px;
}

/*---------------------------------------------
 ** ヘッダー記述
---------------------------------------------*/
#header {
  width: 100%;
}

.header_wrapper {
  width: 100%;
  min-height: 200px;
  background: url(../img/main_img/main.jpg)no-repeat center bottom;
  background-size: cover;
  padding-top: 3%;
  text-align: center;
  position: relative;
}

/* ヘッダー */

#main_ttl {
  width: 90%;
  max-width: 694px;
  background: url(../img/main_img/main_ttl.png) center top no-repeat;
  background-size: contain;
  text-align: center;
  margin: 0 auto;
  padding: 240px 0 140px;
  z-index: 0;
}

.trans_btn {
  width: 320px;
  height: 71px;
  display: block;
  background: url(../img/common/btn_bg.png) no-repeat;
  background-size: contain;
  margin: 0 auto;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  z-index: 1;
  letter-spacing: 2px;
}

.trans_btn span {
  padding-top: 23px;
  display: block;
  color: #fff;
}

.trans_btn:hover {
  background: url(../img/common/btn_bg_on.png) no-repeat;
}


/* ロゴ */
.header_wrapper #logo {
  width: 345px;
  height: 47px;
  background: url(../img/common/logo01.png) no-repeat;
  background-size: 100%;
  margin: 0 auto;
  z-index: 90;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  text-align: center;
}

.header_wrapper #logo a {
  width: 100%;
  height: 100%;
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

/* スライドメニューボックス */
#slideCamp {
  width: 1004px;
  height: 358px;
  z-index: 99;
  cursor: pointer;
  position: fixed;
  top: 60px;
  right: -920px;
  display: flex;
  display: none;
}

#slideCamp_sp {
  display: none;
}

.campBtn {
  width: 84px;
}

.campBox {
  width: 880px;
  height: 300px;
  padding: 15px 20px 38px 0;
  background: url(../img/common/camp_bg.png) repeat-x left top;
}

.off .campBox::before {
  content: url(../img/common/open.png);
  width: 10px;
  display: block;
  position: absolute;
  bottom: 30px;
  left: 40px;
}

.on .campBox::before {
  content: url(../img/common/close.png);
  width: 10px;
  display: block;
  position: absolute;
  bottom: 30px;
  left: 40px;
}

.campBox_in {
  width: 880px;
  height: 300px;
  display: flex;
  background-color: #fff;
  margin: 0 auto;
  padding: 10px 0;
}

.campBox_in img {
  width: 500px;
  height: 300px;
  margin: 0 10px;
}

.campBox_in div {
  width: 340px;
  display: block;
  margin: 10px auto;
}

.campBox_in div p {
  width: 95%;
  margin: 0 auto;
  text-align: left;
  font-size: 1.5rem;
}

.campBox_in div p.campTitle {
  font-size: 2.0rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
  line-height: 1.4;
}

#slideTel {
  width: 454px;
  height: 108px;
  z-index: 99;
  cursor: pointer;
  position: fixed;
  top: 430px;
  right: -370px;
  display: flex;
}

#slideTel_sp {
  display: none;
}

.telBtn {
  width: 84px;
  height: 108px;
}

.telBox {
  width: 330px;
  height: 68px;
  padding: 20px 20px 20px 0;
  background: url(../img/common/tel_bg.png) repeat-x left top;
}

.telBox p {
  font-size: 3.6rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
}



.btn00 {
  border: 1px solid #000;
  width: 100%;
  max-width: 250px;
  text-align: center;
  display: inline-block;
  padding: 20px 16px 18px;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none !important;
  background: #fff;
  position: relative;
  margin: 0;
}

.btn00:hover {
  background: #000;
  color: #fff;
}

.btn00::after {
  content: url(../img/common/btn_arrow.png);
  position: absolute;
  top: 20px;
  right: 15px;
}

.btn_area {
  height: 100px;
  text-align: center;
  min-width: 750px;
}

.btn01 {
  border: 1px solid #000;
  width: 100%;
  max-width: 300px;
  text-align: center;
  display: inline-block;
  padding: 25px 16px 23px;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none !important;
  background: #fff;
  position: relative;
}

.btn01:hover {
  background: #000;
  color: #fff;
}

.btn01::after {
  content: url(../img/common/btn_arrow.png);
  position: absolute;
  top: 27px;
  right: 15px;
}








/*---------------------------------------------
 **  ナビゲーション
---------------------------------------------*/


/* メインイメージ */

.main_img {
  width: 100%;
  position: relative;
}

.main_img p {
  color: #fff;
  font-size: 120%;
}

.main_img a:link {
  text-decoration: none;
}

.main_img li {
  width: 50%;
  float: left;
  margin: 0;
  overflow: hidden;
}

.main_img li img.back {
  width: 100%;
  -moz-transition: -moz-transform 0.5s linear;
  -webkit-transition: -webkit-transform 0.5s linear;
  -o-transition: -o-transform 0.5s linear;
  -ms-transition: -ms-transform 0.5s linear;
  transition: transform 0.5s linear;
}

.main_img li a:hover img.back {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -o-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.main_t01 {
  width: 48%;
  position: absolute;
  top: 40%;
  left: 0%;
  text-align: center;
  z-index: 1;
  margin: 0 auto;
}

.main_t01 img {
  width: 254px;
  height: 78px;
  margin-bottom: 10px;
  z-index: 0;
  margin: 0 auto;
}

.main_t02 {
  width: 49%;
  position: absolute;
  top: 40%;
  right: 0%;
  text-align: center;
  z-index: 1;
}

.main_t02 img {
  width: 402px;
  height: 79px;
  margin-bottom: 10px;
  z-index: 0;
  margin: 0 auto;
}

/*---------------------------------------------
 ** トップ コンテンツ
---------------------------------------------*/

/* お知らせ */
#news {
  width: 100%;
  background-color: #F0F0F0;
  padding: 2% 0;
  box-shadow: 0 0 8px gray;
  position: relative;
  z-index: 1;
}

#news_in {
  width: 100%;
  max-width: 1010px;
  margin: 0 auto;
  background: url(../img/top/logo_news.png) no-repeat center left;
  display: flex;
  padding-left: 100px;
}

.news_box {
  width: 90%;
  margin-right: 5%;
  display: flex;
  border-left: 6px solid #000;
  padding-left: 20px;
}

.news_box img {
  max-width: 92px;
  max-height: 92px;
}

.news_box div {
  width: 100%;
  margin-left: 4%;
}

.news_box .news_d {
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 5px;
}

.news_box .news_t {
  font-size: 1.6rem;
  margin-bottom: 0;
  line-height: 1.6;
}

.news_box .news_t a:hover {
  text-decoration: underline;
}

/* ガラスコーティング*/
#top01 {
  width: 100%;
  background: url(../img/top/glass_bg.jpg) repeat-x bottom #F3F3F3;
  padding-bottom: 50px;
}

h2 {
  text-align: center;
  margin-top: 3%;
}

#top01 h2 {
  background: #fff;
  margin-bottom: 0 !important;
  padding-bottom: 1.0rem;
}

.h2_span {
  margin: 5px auto 25px;
  display: inline-block;
  position: relative;
  font-weight: bold;
  text-shadow: 2px 2px 1px #cccccc;
  font-size: 3.0rem;
  padding: 0 30px;
  line-height: 0.8;
}

.h2_span::before {
  content: url(../img/common/ttl_border_l.png);
  position: absolute;
  bottom: 0;
  left: 0;
}

.h2_span::after {
  content: url(../img/common/ttl_border_r.png);
  position: absolute;
  bottom: 0;
  right: 0;
}

.h2_span span {
  font-size: 1.2rem;
  text-shadow: 2px 2px 1px #fff !important;
  color: #666;
}

#top01_bg {
  width: 100%;
  background: url(../img/top/glass_main.jpg) no-repeat;
  background-size: contain;
  padding-top: 4%;
}

#top01_in {
  max-width: 1420px;
  margin: 0 auto;
}

.h3_01 {
  text-align: right;
  font-size: 4rem;
  font-weight: bold;
  text-shadow: 1px 1px 3px #000;
  line-height: 1.4;
  color: #fff;
  margin-right: 3%;
  margin-bottom: 4%;
  letter-spacing: 2px;
}

.h3_02 {
  text-align: center;
  font-size: 4rem;
  font-weight: bold;
  text-shadow: 1px 1px 3px gray;
  line-height: 1.4;
  margin-top: 2%;
  margin-bottom: 1%;
  letter-spacing: 2px;
}

.h3_03 {
  text-align: left;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1%;
  letter-spacing: 2px;
  border-bottom: 1px solid #000;
}

.h3_03 span {
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
}

.h3_03 span::after {
  content: '';
  width: 100%;
  display: block;
  border: 1.5px solid #D7000F;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.h3_04 {
  display: inline-block;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  text-shadow: 1px 1px 3px gray;
  line-height: 1.8;
  letter-spacing: 2px;
  margin: 20px auto 50px;
  background: #FFE6F2;
  padding: 20px 30px;
}

.h3_04 span {
  font-size: 3rem;
}

#top01_in .g_brand {
  width: 100%;
  margin: 0 auto;
  display: flex;
}

#top01_in .g_brand a {
  width: 24%;
  min-width: 310px;
  display: block;
  margin: 0.5% 0.5% 3%;
}

#top01_in .g_brand dl {
  background: #fff;
  margin: 0.5% 0.5% 3%;
}

#top01_in .g_brand dt {
  width: 100%;
  height: 220px;
  text-align: center;
  position: relative;
}

#top01_in .g_brand dt img {
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}



#top01_in .g_01::before {
  content: 'ガラス100%';
}

#top01_in .g_02::before {
  content: '2層構造';
}

#top01_in .g_03::before {
  content: '最高硬度9H';
}

#top01_in .g_04::before {
  content: '部分施工OK ';
}


#top01_in .g_brand dt::before {
  width: 150px;
  text-align: center;
  position: absolute;
  background: #D7000F;
  text-align: center;
  display: block;
  color: #fff;
  font-weight: bold;
  padding: 5px 0;
  top: -20px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 99;
}

#top01_in .g_brand dd {
  background: #000;
  color: #777777;
  font-size: 1.4rem;
  text-align: center;
  padding: 5% 0;
  line-height: 1.6;
  letter-spacing: 2px;
}

#top01_in .g_brand dd span {
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
  letter-spacing: 1px;
}

#top01_in .g_brand dd span::after {
  content: url(../img/common/btn_arrow_w.png);
  width: 14px;
  height: 15px;
  position: absolute;
  top: 5px;
  right: -28px;
}

.read {
  width: 90%;
  max-width: 1020px;
  margin: 0 auto 2%;
  text-align: left;
}

#top01_in .btn_area {
  width: 52%;
  margin: 0 auto 5%;
  display: flex;
  text-align: center;
}

#top01_in .btn_area .detailBtn {
  width: 392px;
}


.g_quality {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto 3%;
  display: flex;
}

.g_quality a {
  width: 49%;
  max-width: 500px;
  display: block;
  margin: 1.5%;
}

.g_quality dl {
  background: #fff;
  margin: 0.5%;
}

.g_quality dt {
  width: 100%;
  text-align: center;
  position: relative;
}

.g_quality dt img {}


.g_05::after {
  content: '一定のクオリティを保つために';
}

.g_06::after {
  content: '技術を最大限引き出すために';
}



.g_quality dt::after {
  width: 320px;
  text-align: center;
  position: absolute;
  background: #D7000F;
  text-align: center;
  display: block;
  color: #fff;
  font-weight: bold;
  padding: 5px 0;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.g_quality dd {
  background: #000;
  text-align: center;
  padding: 8% 0 4%;
}

.g_quality dd span {
  color: #fff;
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1.2;
  position: relative;
  letter-spacing: 1px;
}

.g_quality dd span::after {
  content: url(../img/common/btn_arrow_w.png);
  width: 14px;
  height: 15px;
  position: absolute;
  top: 1px;
  right: -27px;
}



#top02 {}

.top02_box {
  width: 100%;
  min-height: 500px;
  display: flex;
}

.top02_box dl {
  min-width: 350px;
  position: relative;
}

.top02_box .dl_p {
  background: url(../img/top/other_bg01.jpg) no-repeat;
  background-size: cover;
}

.top02_box .dl_m {
  background: url(../img/top/other_bg02.jpg) no-repeat;
  background-size: cover;
}

.top02_box .dl_r {
  background: url(../img/top/other_bg03.jpg) no-repeat;
  background-size: cover;
}

.top02_box dt div {
  position: absolute;
  top: 35%;
  left: 0;
  right: 0;
  text-align: center;
}

.top02_box dd {
  color: #fff;
  padding: 30px 40px;
  margin-top: 57%;
}

.top02_box dd span {
  text-shadow: 1px 1px 3px #000;
  letter-spacing: 2px;
  font-size: 3.0rem;
  font-weight: bold;
  font-style: oblique;
  display: block;
}

.top03_box {
  margin-bottom: 70px;
}

.slider {
  margin: 20px auto;
  width: 80%;
  position: relative;
}

.slider a {
  display: block;
}

.slider img {
  height: auto;
  width: 100%;
}

/*slick setting*/
.slick-prev:before,
.slick-next:before {
  color: #000;
}

.slider button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -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;
}

.slider button:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}

.slider .slide-arrow {
  width: 42px;
  height: 39px;
  position: absolute;
  top: 50%;
  margin-top: -15px;
}

.slider .prev-arrow {
  left: -50px;
  background: url(../img/top/gal_prev.png);
}

.slider .next-arrow {
  right: -50px;
  background: url(../img/top/gal_next.png);
}

.slider .slide_box {
  width: 95%;
  margin: 0 auto;
  box-shadow: 0 0 5px gray;
}

.slider .new_icon {}

.slider .new_icon::after {}


.slider p {
  width: 90%;
  margin: 0 auto 7px;
  padding: 40px 0;
  line-height: 1.4;
}

.slider p span {
  font-size: 12px;
  color: #666666;
  display: block;
  margin-bottom: 5px;
}

.slider li .new_icon p {
  position: relative;
}

.slider li .new_icon p::after {
  content: 'new';
  width: 44px;
  display: block;
  background: #D7000F;
  color: #fff;
  font-weight: bold;
  padding: 4px 20px;
  position: absolute;
  top: -10px;
  right: 0;
}


#top03 .detailBtn {
  margin: 0 auto;
}

/*---------------------------------------------
 ** フッター記述
---------------------------------------------*/
#footer_shop {
  width: 100%;
  margin: 0 auto;
  background: linear-gradient(#F3F3F3, #fff);
  padding-top: 20px;
  text-align: center;
}

.footer_shop_in {
  max-width: 1200px;
  margin: 0 auto;
}

#footer_shop p {
  width: 90%;
  margin: 0 auto 30px;
  text-align: left;
}

.gmap {
  width: 100%;
  height: 500px;
  max-width: 1200px;
  margin: 0 auto 10px;
  overflow: hidden;
  border-radius: 20px;
  -webkit-transform: translateZ(0);
  -webkit-mask-image: -webkit-radial-gradient(circle, white, black);
}

.gmap iframe {
  width: 100%;
  height: 500px;
  max-width: 1200px;
}

#footer_shop .add {
  text-align: center;
  font-size: 30px;
  margin-bottom: 70px;
}

#footer_shop .card_insta {
  max-width: 1200px;
  display: flex;
  margin: 0 auto;
}

#footer_shop .card {
  width: 50%;
  margin: 0 auto 50px;
  text-align: center;
  border: 1px solid #eee;
  box-shadow: 0 0 8px #ccc;
  padding: 20px 0 0;
}

#footer_shop .card p {
  font-size: 2.0rem;
  text-align: center;
  background: gray;
  color: #fff;
  font-weight: bold;
  margin-bottom: 20px;
  padding: 3px 10px;
}

#footer_shop .card img {
  max-width: 493px;
  margin: 0 auto 20px;
}

#footer_shop .insta {
  width: 18%;
  margin: 0 auto 50px 30px;
  text-align: center;
}

#footer_shop .facebook {
  width: 18%;
  margin: 0 auto 50px;
  text-align: center;
}

#footer_shop .insta img {
  max-width: 245px;
  margin: 20px auto 30px;
}

#footer_shop .facebook img {
  max-width: 245px;
  margin: 20px auto 30px;
}





#footer {
  clear: both;
  position: relative;
}

.footer_wrapper {
  width: 100%;
  text-align: center;
  background: #F0F0F0;
  padding: 10px 0;
  box-shadow: 0px 9px 3px -3px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 9px 3px -3px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 9px 3px -3px rgba(0, 0, 0, 0.2);
}





/* フッターインナー */
.footer_inner {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  padding: 50px 0;
  text-align: left;
}

#footer #logo {
  max-width: 406px;
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 999;
  margin: 0;
}

#footer .foot_tel {
  position: absolute;
  top: 10px;
  right: 260px;
}

#footer .foot_tel p:nth-child(1) {
  font-size: 5.0rem;
  background: url(../img/common/tel_logo.png) no-repeat;
  padding: 5px 0 5px 60px;
  color: #FF0000;
  font-weight: bold;
  line-height: 1.0;
  margin-bottom: 0;
  letter-spacing: -1px;
}

#footer .foot_tel p:nth-child(2) {
  font-size: 1.6rem;
  padding: 0 0 0 97px;
  line-height: 1.0;
}

#footer .contact {
  width: 240px;
  position: absolute;
  top: 10px;
  right: 0;
}

#footer .btn01 {
  max-width: 200px;
}

#footer .contact {
  display: block;
}

#footer .contact_sp {
  display: none;
}

#footer .contact img {
  width: 100%;
}






/* コピーライト */
#copyright {
  font-size: 0.8em;
  width: 100%;
  text-align: center;
  letter-spacing: 3px;
  padding: 15px 0 18px;
}

/*=================================================================================================================================*/
/**  下層ページ共通	*/
/*=================================================================================================================================*/
.lower .header_wrapper,
#blog .header_wrapper {
  background: #000;
  padding: 20px 0;
  min-height: 60px;
  border-bottom: 1px solid #fff;
}

.lower #main_ttl,
#blog #main_ttl {
  display: none;
}

.lower #main,
#blog #main {
  padding-top: 18%;
}

#blog #main {
  background: url(../img/main_img/m_polish.jpg) no-repeat;
  background-size: contain;
}



/*=================================================================================================================================*/
/**  ガラスコーティング top	*/
/*=================================================================================================================================*/
#glass #main {
  background: url(../img/main_img/m_glass.jpg) no-repeat;
  background-size: contain;
}

.p_img {
  width: 100%;
  height: auto;
  max-width: 1200px;
  margin: 3% auto;
  display: flex;
  overflow: hidden;
}

.p_img img {
  width: 34%;
  height: 100%;
  display: block;
}

.g_ban01 {
  width: 88%;
  max-width: 1200px;
  margin: 0 auto 30px;
  display: flex;
  border: 2px solid #000;
}

.ban01_l {
  width: 30%;
  position: relative;
}

.g_ban01 img {
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
}

.g_ban01 .b01 {
  max-width: 368px;
  padding-top: 40px;
}

.g_ban01 .b02 {
  max-width: 216px;
  padding-top: 40px;
}

.g_ban01 .b03 {
  max-width: 216px;
  padding-top: 40px;
}

.g_ban01 .b04 {
  max-width: 216px;
  padding-top: 40px;
}

.g_ban02 .b01 {
  max-width: 368px;
  padding-top: 40px;
}

.g_ban02 .b02 {
  max-width: 236px;
  padding-top: 40px;
}

.g_ban02 .b03 {
  max-width: 216px;
  padding-top: 40px;
}

.g_ban02 .b04 {
  max-width: 216px;
  padding-top: 40px;
}


@media (min-width: 768px) {
  .g_ban02 .b03 {
    max-width: 276px;
    padding-top: 60px;
  }

  .g_ban02 .b04 {
    max-width: 276px;
    padding-top: 60px;
  }
}

.ban01_l p {
  width: 120px;
  padding: 5px 15px;
  display: inline-block;
  background: #D70009;
  color: #fff;
  font-weight: bold;
  position: absolute;
  top: 220px;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
}

.ban01_r {
  width: 70%;
}

.ban01_name {
  width: 92%;
  border-left: 3px solid #D7000F;
  font-size: 3.0rem;
  margin: 20px 20px 0 0 !important;
  padding: 5px 0 10px 30px;
  font-weight: bold;
  line-height: 1.4;
}

.ban01_name span {
  font-size: 1.4rem;
  letter-spacing: 3px;
  color: #777;
  font-weight: normal;
  display: block;
}

.ban01_read {
  width: 92%;
  border-left: 1px #a2a2a2 solid;
  margin: 0 20px 20px 1px !important;
  padding-left: 30px;
}

.g_ban02_box {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 30px;
  display: flex;
}

.g_ban02 {
  width: 48%;
  border: 2px solid #000;
  margin: 0 auto;
}


.g_ban02:nth-child(1) {
  margin-right: 30px;
}

.ban02_t {
  width: 100%;
  height: 220px;
  position: relative;
}

.ban02_t img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  padding: 50px 40px;
}

.ban02_b {
  width: 90%;
  margin: 10px auto;
  border-top: 1px #a2a2a2 solid;
  position: relative;
}

.ban02_b::after {
  content: '';
  position: absolute;
  top: -2px;
  left: 20px;
  width: 78px;
  border: 1.5px solid #D7000F;
}

.ban02_name {
  width: 92%;
  font-size: 3.0rem;
  font-weight: bold;
  line-height: 1.4;
  margin: 20px 0 10px;
}

.ban02_name span {
  font-size: 1.4rem;
  letter-spacing: 3px;
  color: #777;
  font-weight: normal;
  display: inline-block;
  padding-left: 10px;
}

.ban02_read {
  width: 92%;
}

#glass01 .btn_area {
  width: 100%;
  margin: 0 auto;
  display: flex;
  text-align: center;
  min-width: auto;
}

.g_ban01 .btn01 {
  width: 83%;
}

.g_ban02 .btn01 {
  width: 73%;
}

.g_ban01 .btn_area .detailBtn {
  width: 50%;
  margin: 0 auto;
}

.g_ban02 .btn_area .detailBtn {
  width: 50%;
  margin: 0 auto;
}

.ban02_b .btn_area {
  min-width: auto;
}

.ban02_b .btn_area div {
  margin-bottom: 10px !important;
}

#glass02 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 50px;
  text-align: center;
}

#glass02 .mainte {
  width: 90%;
  text-align: left;
  margin: 30px auto;
}

#glass02 ul {
  display: flex;
  flex-wrap: wrap;
}

#glass02 ul li {
  width: 31%;
  margin-right: 3%;
}

#glass02 ul li:nth-child(3n) {
  margin-right: 0;
}

#glass02 ul li img {
  max-width: 260px;
  margin-bottom: 10px;
}

#glass02 ul li h4 {
  font-size: 110%;
  font-weight: bold;
  margin-bottom: 10px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 5px 0;
}

#glass02 ul li h4 span {
  font-size: 80%;
  display: block;
  text-align: right;
  font-weight: normal;
}

#glass02 ul li p {
  font-size: 95%;
  text-align: left;
}


/*=================================================================================================================================*/
/**  ガラスコーティング クォーツ	+ RD */
/*=================================================================================================================================*/
#quartz #main {
  background: url(../img/main_img/m_quartz.jpg) no-repeat;
  background-size: contain;
}

#rd #main {
  background: url(../img/main_img/m_rd.jpg) no-repeat;
  background-size: contain;
}

#quartz01,
#quartz02,
#quartz03,
#quartz04,
#rd01,
#rd02,
#rd03,
#rd04 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 120px;
  text-align: center;
}

.q_img01,
.r_img01 {
  max-width: 1020px;
  margin: 10px auto;
  display: block;
}

.q_img02 {
  max-width: 216px;
  margin: 10px auto 30px;
}

.r_img02 {
  max-width: 161px;
  margin: 10px auto 30px;
}

.q_imgbox {
  max-width: 1200px;
  display: flex;
  margin: 70px auto 30px;
}

.q_imgbox dl {
  width: 31%;
  margin: 0 40px 20px 0;
  position: relative;
}

.q_imgbox dl:nth-child(3) {
  margin: 0 0 20px 0;
}

.q_imgbox dl::before {
  content: url(../img/glass/point.png);
  display: block;
  width: 114px;
  height: 114px;
  position: absolute;
  left: 0;
  right: 0;
  top: -57px;
  margin: 0 auto;
}

.q_imgbox dt img {
  max-width: 380px;
  margin: 0 auto;
}

.q_imgbox dd {
  text-align: left;
}

.q_imgbox dd span {
  font-size: 2.4rem;
  text-align: left;
  font-weight: bold;
  color: #D7000F;
  display: block;
  margin: 10px auto;
  text-align: center;
  line-height: 1.6;
}

.q_imgbox2 {
  max-width: 1200px;
  display: flex;
  margin: 20px auto 30px;
}

.q_imgbox2 img {
  width: 18%;
  max-width: 220px;
  display: block;
  margin: 0 27px 0 0;
}

.q_imgbox2 img:nth-child(5) {
  margin: 0 0 0 0;
}

.price_p {
  color: #C6191A;
  text-align: center;
  margin: 10px auto 30px;
}

.price {
  width: 80%;
  margin: 20px auto 50px;
  border: 2px solid #000;
}

.price th {
  font-size: 20px;
  font-weight: bold;
  padding: 5px 10px;
  background: #F0F0F0;
  border: 1px solid #000;
}

.price td {
  padding: 5px 10px;
  border: 1px solid #000;
}

.faq {
  width: 95%;
  margin: 30px auto 50px;
  display: flex;
  flex-wrap: wrap;
}

.faq dl {
  width: 30%;
  margin: 0 40px 50px 0;
  text-align: left;
}

.faq dl:nth-child(3n) {
  margin: 0 0 30px 0;
}

.faq dt {
  display: flex;
  flex-wrap: wrap;
}

.faq dt .q {
  width: 20%;
  color: #fff;
  font-size: 1.8rem;
  display: inline-block;
  position: relative;
  width: 49px;
  height: 32px;
  background-color: #C6191A;
  text-align: center;
  margin-right: 25px;
}

.faq dt .q::after {
  position: absolute;
  content: "";
  border: solid 16px transparent;
  border-left: solid 16px #C6191A;
  top: 0px;
  left: 49px;
}

.faq dt .a {
  width: 75%;
  color: #C6191A;
  font-weight: bold;
  font-size: 1.8rem;
}

#glassback .btn01::after {
  content: url(../img/common/btn_arrow02.png);
  position: absolute;
  top: 27px;
  left: 15px;
  text-align: left;
}

/*=================================================================================================================================*/
/**  磨き 	*/
/*=================================================================================================================================*/
#polish #main {
  background: url(../img/main_img/m_polish.jpg) no-repeat;
  background-size: contain;
}

#polish01,
#polish02 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 120px;
  text-align: center;
}

.comp {
  width: 90%;
  display: flex;
  margin: 20px auto;
}

.comp .before,
.comp .after {
  max-width: 465px;
}

.comp .before {
  margin-right: 40px;
}

.comp .arrow {
  width: 100px;
  height: 30px;
  color: #fff;
  padding: 10px 0;
  text-align: center;
  background: #D70009;
  margin-right: 50px;
  position: relative;
  margin-top: 10%;
}

.comp p.arrow::after {
  position: absolute;
  content: "";
  border: solid 25px transparent;
  border-left: solid 25px #D70009;
  top: 0;
  bottom: 0;
  right: -50px;
  margin: auto 0;
}

.comp .arrow2 {
  width: 100px;
  height: 30px;
  color: #fff;
  padding: 10px 0;
  text-align: center;
  background: #D70009;
  margin-right: 40px;
  position: relative;
  margin-top: 10%;
}

.comp p.arrow2::before {
  position: absolute;
  content: "";
  border: solid 25px transparent;
  border-right: solid 25px #D70009;
  top: 0;
  bottom: 0;
  left: -50px;
  margin: auto 0;
}

.comp p.arrow2::after {
  position: absolute;
  content: "";
  border: solid 25px transparent;
  border-left: solid 25px #D70009;
  top: 0;
  bottom: 0;
  right: -50px;
  margin: auto 0;
}


#polish02 .text {
  width: 90%;
  margin: 10px auto 70px;
  text-align: left;
  line-height: 1.6;
}

#polish02 .text span {
  font-size: 2.0rem;
  text-align: left;
  font-weight: bold;
  color: #D7000F;
  display: block;
  margin: 10px auto;
  line-height: 1.6;
}

.polish_img ul {
  width: 100%;
  display: flex;
  margin: 10px auto;
}

.polish_img li {
  width: 19%;
  margin: 0 20px 30px 0;
}

.polish_img li:nth-child(5) {
  margin: 0 0 30px 0;
}

.polish_img li img {
  max-width: 220px;
}

/*=================================================================================================================================*/
/**  愛車のメンテナンス 	*/
/*=================================================================================================================================*/
#mainte #main {
  background: url(../img/main_img/m_mainte.jpg) no-repeat;
  background-size: contain;
}

#mainte01,
#mainte02,
#mainte03,
#mainte04,
#mainte05 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 120px;
  text-align: center;
}

.flow {
  display: flex;
  margin: 40px auto;
}

.flow .chart {
  width: 38%;
  margin-right: 40px;
}

.flow .chart p {
  background: #D70009;
  font-weight: bold;
  font-size: 1.8rem;
  padding: 15px 0 15px 30px;
  text-align: left;
  color: #fff;
  text-align: center;
  position: relative;
  margin: 0 auto 40px;
}

.flow .chart p span {
  display: inline-block;
  position: absolute;
  padding: 5px 10px;
  background: #f1cece;
  top: 10px;
  left: 10px;
  color: #D70009;
}

.flow .chart p::after {
  content: '';
  width: 10px;
  height: 10px;
  border: 5px solid;
  border-color: transparent transparent #D70009 #D70009;
  transform: rotate(-45deg);
  position: absolute;
  left: 0;
  right: 0;
  bottom: -25px;
  margin: 0 auto;
}

.flow .chart p:last-child {
  background: #000;
}

.flow .chart p:last-child span {
  background: #ccc;
  color: #000;
}

.flow .chart p:last-child::after {
  display: none;
}

.flow .photo {
  width: 57%;
  position: relative;
}

.flow .photo img {
  max-width: 465px;
  border: 8px solid #fff;
  -webkit-filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, .2));
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, .2));
}

.flow .photo img:nth-last-child(1) {
  position: absolute;
  top: 0px;
  left: 50px;
  transform: rotate(-3deg);
}

.flow .photo img:nth-last-child(2) {
  position: absolute;
  transform: rotate(5deg);
  bottom: 30px;
  right: 0;
}

#mainte03 {
  display: flex;
}

#mainte03 .mainte_box {
  width: 50%;
  margin: 0 90px 30px 0;
}

#mainte03 .mainte_box:nth-child(2) {
  margin: 0 0 30px 0;
}

#mainte03 .mainte_box img {
  width: 90%;
  max-width: 465px;
  display: block;
  margin: 30px auto 20px;
}

#mainte03 .mainte_box p {
  width: 90%;
  max-width: 465px;
  margin: 0 auto 30px;
  text-align: left;
}

.mainte_img ul {
  width: 100%;
  display: flex;
  margin: 10px auto;
}

.mainte_img li {
  width: 19%;
  margin: 0 20px 30px 0;
}

.mainte_img li:nth-child(5) {
  margin: 0 0 30px 0;
}

.mainte_img li img {
  max-width: 220px;
}

/*=================================================================================================================================*/
/**  オプションメニュー 	*/
/*=================================================================================================================================*/
#room #main {
  background: url(../img/main_img/m_room.jpg) no-repeat;
  background-size: contain;
}

#room01,
#room02,
#room03,
#room04,
#room05,
#coat,
#coat01,
#coat02,
#penki,
#penki01,
#penki02 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 120px;
  text-align: center;
}

.pagelink {
  width: 80%;
  margin: 30px auto;
  display: flex;
  text-align: center;
}

.pagelink li {
  width: 200px;
  margin: 5% 4%;
  position: relative;
  text-align: left;
}

.pagelink li::before {
  content: '▼';
  color: #D7000F;
  position: absolute;
  left: 20px;
  bottom: 11px;
  font-size: 1.8rem;
  z-index: 99;
}

.pagelink li a {
  text-decoration: underline;
  border: 1px solid #000;
  width: 100%;
  max-width: 200px;
  text-align: center;
  display: inline-block;
  padding: 15px 10px 13px 26px;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none !important;
  background: #fff;
  position: relative;
}

.pagelink li a:hover {
  background: #000;
  color: #fff;
}


.point_box {
  display: flex;
  margin: 40px auto;
}

.point_box .point {
  width: 38%;
  margin-right: 40px;
}

.point_box .point p {
  font-weight: bold;
  font-size: 2.4rem;
  padding: 30px 0 30px 100px;
  text-align: left;
  color: #fff;
  text-align: center;
  position: relative;
  margin: 0 auto 20px;
  border-radius: 10px;
}

.point_box .point p.i01 {
  background: url(../img/room/icon01.png) no-repeat #D70009 center left 20px;
}

.point_box .point p.i02 {
  background: url(../img/room/icon02.png) no-repeat #D70009 center left 20px;
}

.point_box .point p.i03 {
  background: url(../img/room/icon03.png) no-repeat #D70009 center left 20px;
}

.point_box .point p.i04 {
  background: url(../img/room/icon04.png) no-repeat #D70009 center left 20px;
}

.point_box .point p.i05 {
  background: url(../img/room/icon05.png) no-repeat #D70009 center left 20px;
}


.point_box .photo {
  width: 57%;
  position: relative;
}

.point_box .photo img {
  max-width: 465px;
  border: 8px solid #fff;
  -webkit-filter: drop-shadow(0px 3px 10px rgba(0, 0, 0, .2));
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, .2));
}

.point_box .photo img:nth-last-child(1) {
  position: absolute;
  top: 0px;
  left: 50px;
  transform: rotate(-3deg);
}

.point_box .photo img:nth-last-child(2) {
  position: absolute;
  transform: rotate(5deg);
  bottom: 30px;
  right: 0;
}

#room03,
#coat01,
#penki01 {
  display: flex;
}

.room_box {
  width: 50%;
  margin: 0 90px 30px 0;
}

.room_box:nth-child(2) {
  margin: 0 0 30px 0;
}

.room_box img {
  width: 90%;
  max-width: 465px;
  display: block;
  margin: 30px auto 20px;
}

.room_box p {
  width: 90%;
  max-width: 465px;
  margin: 0 auto 30px;
  text-align: left;
}

.room_img ul {
  width: 100%;
  display: flex;
  margin: 10px auto;
}

.room_img li {
  width: 19%;
  margin: 0 20px 30px 0;
}

.room_img li:nth-child(5) {
  margin: 0 0 30px 0;
}

.room_img li img {
  max-width: 220px;
}

/*=================================================================================================================================*/
/**  施工ギャラリー */
/*=================================================================================================================================*/
#gallery #main,
#g01 #main {
  background: url(../img/main_img/m_gallery.jpg) no-repeat;
  background-size: contain;
}

#gallery01 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 120px;
  text-align: center;
}

.gallery_list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.gallery_list li {
  width: 31%;
  box-shadow: 0 0 5px gray;
  margin-right: 3%;
  margin-bottom: 15px;
}

.gallery_list li a {
  width: 100%;
  display: block;
}

.gallery_list li:nth-child(3n) {
  margin-right: 0;
}

.gallery_list li .new_icon p {
  position: relative;
}

.gallery_list li .new_icon p::after {
  content: 'new';
  width: 44px;
  display: block;
  background: #D7000F;
  color: #fff;
  font-weight: bold;
  padding: 4px 20px;
  position: absolute;
  top: -10px;
  right: 0;
}

.gallery_list div {
  width: 100%;
  margin: 0 auto;
  text-align: left;
}

.gallery_list div p {
  width: 90%;
  margin: 0 auto 7px;
  padding: 40px 0;
  line-height: 1.4;
}

.gallery_list div p span {
  font-size: 12px;
  color: #666666;
  display: block;
  margin-bottom: 10px;
}

.g_img {
  width: 100%;
  max-width: 1100px;
  margin: 10px auto;
  display: block;
}

.title {
  width: 100%;
  max-width: 1100px;
  margin: 10px auto 20px;
  text-align: center;
}

.title dt {
  font-size: 1.2rem;
  color: #666;
}

.title dd {
  font-size: 2.4rem;
  font-weight: bold;
}

.g_data {
  width: 100%;
  max-width: 1100px;
  border-top: 1px solid #000;
  margin: 0 auto 30px;
}

.g_data div {
  width: 100%;
  border-bottom: 1px solid #000;
  margin: 0 auto;
}

.g_data div ul {
  width: 95%;
  margin: 0 auto;
  padding: 10px 0;
  text-align: left;
}

.g_data div ul li {
  display: inline-block;
  padding: 10px 10px 10px 0;
  margin-right: 20px;
}

.g_data div ul li span {
  background: #F0F0F0;
  padding: 5px 0;
  width: 120px;
  text-align: center;
  display: inline-block;
  font-weight: bold;
  margin-right: 10px;
}

.staff_data {
  width: 100%;
  max-width: 940px;
  margin: 20px auto 60px;
  display: flex;
}

.staff_data img {
  max-width: 180px;
  margin-right: 30px;
  border-radius: 90px;
}

.staff_data dl {
  width: 75%;
  text-align: left;
}

.staff_data dl dt {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.staff_data dl dd {}

#gallery02 .btn01::after {
  content: url(../img/common/btn_arrow02.png);
  position: absolute;
  top: 27px;
  left: 35px;
  text-align: left;
}




/*=================================================================================================================================*/
/**  店舗紹介・アクセス */
/*=================================================================================================================================*/
#shop #main {
  background: url(../img/main_img/m_shop.jpg) no-repeat;
  background-size: contain;
}

#shop01,
#shop02,
#shop03,
#shop04,
#shop05 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 120px;
  text-align: center;
}

.light_box {
  width: 100%;
  display: flex;
}

#shop02 .light_box .photo {
  width: 48%;
  margin: 0 65px 30px 0;
}

#shop02 .light_box dl {
  width: 48%;
  margin: 0 0 30px 0;
}

#shop03 .light_box .photo {
  width: 48%;
  margin: 0 0 30px 0;
}

#shop03 .light_box dl {
  width: 48%;
  margin: 0 65px 30px 0;
}

.light_box dt {
  display: flex;
  flex-wrap: wrap;
}

.light_box dt .arrow {
  color: #fff;
  font-size: 2.0rem;
  display: block;
  position: relative;
  width: 100px;
  height: 32px;
  background-color: #C6191A;
  text-align: center;
  padding: 5px 0 10px;
}

.light_box dt .arrow::after {
  position: absolute;
  content: "";
  border: solid 23px transparent;
  border-left: solid 23px #C6191A;
  top: 0px;
  left: 100px;
}

.light_box dt .text {
  width: 75%;
  color: #C6191A;
  font-weight: bold;
  font-size: 2.4rem;
  text-align: left;
  margin-left: 35px;
}

.light_box dd {
  text-align: left;
}

.light_box ul {
  width: 100%;
  display: flex;
}

.light_box li {
  width: 24%;
  margin: 0 20px 30px 0;
  position: relative;
  font-size: 1.6rem;
  background: #000;
}

.light_box li:nth-child(4) {
  margin: 0 0 30px 0;
}

.light_box li span {
  width: 100%;
  height: 50px;
  background: #000;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  position: absolute;
  text-align: center;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
}

#shop04 .light_box li {
  background: #fff;
}

#shop04 .light_box li img {
  margin-bottom: 10px;
}

#shop04 .light_box li p {
  font-size: 95%;
}

.shop_data {
  width: 90%;
  border-top: 1px solid #000;
  margin: 0 auto;
}

.shop_data div {
  border-bottom: 1px solid #000;
  padding: 20px 0;
}

.shop_data .add {
  font-size: 3.0rem;
  text-align: center;
}

.shop_data ul,
.shop_data dl {
  width: 95%;
  margin: 0 auto;
  display: flex;
  text-align: left;
}

.shop_data ul li {
  width: 28%;
  margin-right: 20px;
}

.shop_data ul li:nth-child(2) {
  width: 44%;
}

.shop_data ul li:nth-child(3) {
  margin-right: 0px;
}

.shop_data ul li span {
  width: 100px;
  background: #C6191A;
  font-size: 2.0rem;
  padding: 5px 10px;
  color: #fff;
  text-align: center;
  margin-right: 10px;
  display: inline-block;
}

.shop_data dl dt {
  width: 20%;
  font-weight: bold;
  margin-right: 10px;
}

.shop_data dl dd {
  width: 80%;
  text-align: left;
}

.shop_data p {
  width: 95%;
  margin: 0 auto;
  text-align: left;
}

.shop_data p span {
  display: inline-block;
  background: #000;
  color: #fff;
  width: 100px;
  padding: 5px 10px;
  text-align: center;
  margin-right: 10px;
}

.shop_data .enkaku {
  position: relative;
  margin-left: 158px;
  display: inline-block;
}

.shop_data .enkaku::before {
  content: '沿革';
  background: #000;
  width: 100px;
  padding: 5px 10px;
  text-align: center;
  position: absolute;
  top: 0;
  left: -128px;
  color: #fff;
  display: block;
}

#shop02 .h3_03 {
  margin-top: 30px;
}

.electricity {
  width: 100%;
  display: flex;
  margin: 20px auto;
}

.electricity div:nth-child(1) {
  width: 45%;
  text-align: left;
}

.electricity div:nth-child(2) {
  width: 51%;
  margin-left: 4%;
}

.electricity div:nth-child(2) img {
  max-width: 533px;
}



/*=================================================================================================================================*/
/**  お問い合わせ */
/*=================================================================================================================================*/
#contact #main {
  background: url(../img/main_img/m_contact.jpg) no-repeat;
  background-size: contain;
}

#contact01,
#con_form {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 120px;
  text-align: left;
}

/*=================================================================================================================================*/
/**  お知らせ */
/*=================================================================================================================================*/
#news #main {
  background: url(../img/main_img/m_info.jpg) no-repeat;
  background-size: contain;
}

#news #news_block {
  width: 100%;
  max-width: 1200px;
  display: flex;
  margin: 0 auto;
}

#main_contents {
  width: 80%;
  margin: 50px auto;
  text-align: left;
}

#main_contents .data {
  width: 90%;
  margin: 0 auto 50px;
}

#main_contents h3 {
  font-size: 30px;
  margin: 10px auto;
  border-bottom: 2px #000 solid;
  position: relative;
  padding-bottom: 10px;
  text-align: left;
  padding-left: 10px;
}

#main_contents h3::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 200px;
  border: 3px solid #D7000F;
}

#main_contents .date {
  width: 95%;
  font-size: 90%;
  text-align: right;
  margin: 0 auto 20px;
}

#main_contents .kiji {
  width: 95%;
  text-align: left;
  margin: 0 auto 50px;
}

#main_contents .cate {
  width: 95%;
  font-size: 80%;
  text-align: left;
  margin: 0 auto 20px;
  border-top: 1px dotted #000;
  padding-top: 10px;
}

#side {
  width: 20%;
  margin: 50px auto;
  text-align: left;
}

#side h4 {
  width: 100%;
  background: #000;
  color: #fff;
  padding: 5px 0;
  margin-bottom: 10px;
  text-align: center;
}

#side ul {
  width: 90%;
  margin: 0 auto 30px;
  font-size: 90%;
}

#side li {
  text-align: left;
  position: relative;
  padding-left: 20px;
}

#side li::before {
  content: '??';
  color: #D7000F;
  position: absolute;
  bottom: 2px;
  left: 0;
  font-size: 80%;
}

.kiji-img {
  display: none;
}

.kiji h2 {
  margin: 60px 0 30px;
  text-align: left;
}

.kiji-tag {
  border-top: 1px dotted #ccc;
  border-bottom: 1px dotted #ccc;
  padding: 10px 0;
  margin-bottom: 50px;
}


/*=================================================================================================================================*/
/**  お得なキャンペーン */
/*=================================================================================================================================*/
#camp #main {
  background: url(../img/main_img/m_camp.jpg) no-repeat;
  background-size: contain;
}

#camp_contents {
  width: 100%;
  max-width: 1200px;
  margin: 50px auto;
}

#camp_contents .data {
  width: 90%;
  margin: 0 auto 50px;
}

#camp_contents .data_img {
  margin: 20px auto 40px;
  text-align: center;
}

#camp_contents img {
  max-width: 500px;
}

#camp_contents h3 {
  font-size: 30px;
  margin: 10px auto;
  border-bottom: 2px #000 solid;
  position: relative;
  padding-bottom: 10px;
  text-align: left;
  padding-left: 10px;
  font-weight: bold;
}

#camp_contents h3::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 200px;
  border: 3px solid #D7000F;
}

#camp_contents .date {
  width: 95%;
  font-size: 90%;
  text-align: right;
  margin: 0 auto 20px;
}

#camp_contents ul {
  width: 95%;
  margin: 0 auto 20px;
}

#camp_contents li {
  font-weight: bold;
}

#camp_contents li span {
  color: #D7000F;
}

#camp_contents .kiji {
  width: 95%;
  text-align: left;
  margin: 0 auto 50px;
}

#camp_contents .kiji span {
  color: #D7000F;
  font-size: 160%;
  font-weight: bold;

}

.camp_contact {
  width: 100%;
  max-width: 1200px;
  margin: 170px auto 80px;
  display: flex;
  position: relative;
}

.camp_contact::before {
  content: '';
  width: 300px;
  height: 80px;
  position: absolute;
  top: -85px;
  right: 0;
  left: 0;
  margin: 0 auto;
  text-align: center;
  background: url(../img/common/logo02.png)no-repeat;
  background-size: contain;
}

.camp_contact .btn_area {
  width: 50%;
  min-width: 300px;
}

.camp_contact .btn_area {
  width: 50%;
  min-width: 300px;
}

.camp_contact .btn01 {
  margin-left: 280px;
}

.camp_tel p {
  font-size: 4.0rem;
  padding: 20px 0 5px 60px;
  color: #FF0000;
  font-weight: bold;
  line-height: 1.0;
  margin: 0 auto 80px;
  letter-spacing: -1px;
}


/*=================================================================================================================================*/
/**  404ページ */
/*=================================================================================================================================*/
#e404 #main {
  background: url(../img/main_img/m_glass.jpg) no-repeat;
  background-size: contain;
}

#e404 .e404_box {
  margin: 30px auto;
  text-align: center;
}

/*=================================================================================================================================*/
/**  内部ページ	*/
/*=================================================================================================================================*/


.mb15 {
  margin-bottom: 15px !important;
}

.access-car-wrapper {
  border-top: 1px solid #000;
  background: #FAFAFA;
}

.access-car-title {
  border-bottom: 1px solid #000;
}

.access-car-wrapper>p {
  font-size: 14px !important;
}

.text-col-01 {
  color: #FF0000;
  font-weight: bold;
}




#nav-blog a {
  color: #FFF;
  font-weight: bold;
  font-size: 16px;
  padding: 0.3em 2em !important;
  text-align: center;
  display: block;
  width: 11% !important;
  text-shadow: #0573b9 1px 0 10px;

  -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;
}

#nav-blog a:hover {
  color: #0573b9;
}



.gal-col4 li {
  width: 43%;
}

@media screen and (max-width: 741px) {
  .gal-col4 li {
    width: 100%;
  }

  .staff_data {
    display: flex !important;
  }

  .staff_data div {
    margin-right: .8em !important;
  }

  .staff_data div img {
    max-width: 50px;
  }
}


@media screen and (min-width: 741px) {
  .staff_data div {
    margin-right: .8em !important;
  }

  .staff_data div img {
    max-width: 180px;
  }
}

/*---------------------------------------------
 **  youtube
---------------------------------------------*/
.wrapper {
  max-width: 1080px;
  margin: 0 auto;
}

.youtube-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  justify-content: space-between;
  background: #F7F7F7;
  padding: 3.5% 5% 3%;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
}

.youtube-list a {
  width: 32%;
  display: block;
}

.youtube-list img {
  margin-bottom: 10px;
}

.youtube-list span {
  display: block;
  padding: 0 1em;
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 741px) {
  .youtube-list a {
    width: 47%;
    display: block;
  }
}

.btn-base {
  padding: 6px 15px;
  margin: 0 auto;
  color: #FFF !important;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  display: block;
  text-align: center;
  position: relative;
  text-decoration: none !important;
  -moz-border-radius: 50px;
  /* 角丸 */
  -webkit-border-radius: 50px;
  /* 角丸 */
  border-radius: 50px;
  /* 角丸 */
  -webkit-transition: all 0.6s;
  /* アニメーション */
  transition: all 0.6s;
  /* アニメーション */
  box-sizing: border-box;
  /*通常の記述*/
  -webkit-box-sizing: border-box;
  /*Google ChromeやSafariの機能を利用*/
  -moz-box-sizing: border-box;
  /*Firefoxの機能を利用*/
  z-index: 2;
  -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;
}

.btn-01 {
  max-width: 240px;
  background: #4da6dc;
  margin: 0 auto;

}

.btn-01:after {
  left: 10%;
  right: unset;
  font-family: "Font Awesome 5 free";
  content: '\f054';
  margin-left: 0.6em;
}


#nav ul li a {
  padding-bottom: 10px !important;
}


#fade-in {
  list-style-type: none;
}

#fade-in>li.drop-down {
  display: inline-block;
  position: relative;
  -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;
}

#fade-in>li.drop-down>ul.child {
  display: none;
  -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;
}

#fade-in>li.drop-down:hover ul.child {
  display: block;
  position: absolute;
  padding: 0;
  margin: 0;
  top: 2.4em;
  left: 0;
  background: #4da6dc;
  padding: 0.4em 0.7em;
  list-style-type: none;
  width: 169px;
  text-align: center;
}

#fade-in>li.drop-down:hover ul.child>li {
  width: 100% !important;
}

.azkr-wrapper {
  padding: 1em;
  align-items: center;
  justify-content: center;
  color: #333333;
  font-size: 30px;
  max-width: 600px;
  margin: 0px auto 0;
  height: 100px;
  border-radius: 3px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}

.azkr {
  font-size: 29px;
  font-weight: bold;
  margin-bottom: 2px;
}

.ttl-01 {
  color: #C6191A;
  font-weight: bold;
  font-size: 2.0rem;
  text-align: left;
  margin-left: 35px;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 1em;
  margin-top: 2em !important;
  background: #c6191a0f;
  padding: .6em;
}


.col-wrapper {
  display: flex;
  justify-content: space-between;
}

.col-2 .item {
  width: 49%;
}

.img-under {}

.img-under img {
  border: 1px solid #000;
  max-width: 320px !important;
  padding: 1.8em 0.8em;
}












/*---------------------------------------------
 **  10周年記念
---------------------------------------------*/
.ten-anniversary-wrapper {
  background: url(../img/top/10a/10a-bg.jpg) 0.9vw 0 no-repeat;
  position: relative;
  margin-bottom: 120px;
  overflow: hidden;

}

.ten-main {
  position: relative;
  max-width: 725px;
  margin: 0 auto;
}

.ten-main-img {
  position: relative;
  z-index: 1;

}

.ten-R-img {
  position: absolute;
  top: 270px;
  right: -20vw;
  z-index: 1;
  width: 488px;
}

.ten-main-txt {
  z-index: 2;
  position: relative !important;
}

.ten-main-txt img {
  max-width: 450px;
  margin: -200px auto 0;
  display: block;
  position: relative;
  z-index: 1;
}

.ten-L {
  position: absolute;
  top: 300px;
  left: 0;
  z-index: 0;
}

.hidden-wrapper {
  width: 100%;
  max-width: 690px;
}

.hidden-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
  height: 290px;
  background-image: linear-gradient(90deg, transparent 0 70%, #FFF 100%);
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
  display: -ms-grid;
  overflow: hidden;
}

/*----------------------------*/
.d-demo__wrap {
  display: flex;
  overflow: hidden;
}

.d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left {
  animation: infinity-scroll-left 95s infinite linear 0.5s both;
}

.d-demo__list--right {
  animation: infinity-scroll-right 95s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(100vw / 4);
}

.d-demo__item>img {
  width: 100%;
  object-fit: cover;
  height: 280px;
}

/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

/*
左から右へ
----------------------------*/
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0%);
  }
}

@media (max-width: 1199px) {
  .ten-R-img {
    position: absolute;
    top: 720px;
    right: 120px;
    z-index: 1;
  }

  .ten-L {

    top: unset;
    bottom: 0;
    position: relative;
    margin-top: 65px;
  }

  .hidden-wrapper {
    width: unset;
    max-width: 100%;
  }

  .hidden-wrapper::after {
    display: none;
  }

  .d-demo__item {
    width: calc(100vw / 3);
  }

  .ten-anniversary-wrapper {
    background-size: 310%;
    background: url(../img/top/10a/10a-bg.jpg) center 0 no-repeat;
  }

  .ten-R-img {
    top: 230px;
    right: -16vw;
    width: 36vw;
  }
}

@media (max-width: 1000px) {
  .ten-R-img {
    right: -8vw;
    width: 36vw;
  }

  .d-demo__item>img {
    height: auto;
  }
}

@media (max-width: 640px) {
  .ten-main-txt img {
    max-width: 300px;
    margin: -27vw auto 0;
  }

  .ten-R-img {
    right: -2vw;
    width: 40vw;
    top: 101vw;
  }

}


.boxes-wrapper {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 300px;
}

.box {
  width: 30px;
  height: 30px;
  background-color: #333;
}

.box-02 {
  margin-top: 100px;
}

.displayed {
  animation: fadeUp 1s forwards;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(0);
  }

  100% {
    opacity: 1;
    transform: translateY(-100px);
  }
}

@media (max-width: 740px) {
  #room .price {
    font-size: 12px;
    margin-bottom: 0;
  }

  #room .price th {
    font-size: 12px;
  }


  .table-scroll {
    overflow-x: auto;
  }

  .table-scroll table {
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
  }

  .table-scroll th {
    width: 250px;
    padding: 5px;
    border: 1px solid #999;
    background-color: #eee;
  }

  .table-scroll td {
    width: 250px;
    padding: 5px;
    border: 1px solid #999;
  }
}

.price-ttl {
  text-align: left;
  font-weight: bold;
}

.price-list {
  width: 100%;
}

.price-list th,
.price-list td {
  font-size: 1.5rem;
}

.--table-size__L th:nth-of-type(1) {
  width: 9em;
}

.--table-size__L th:nth-of-type(2),
.--table-size__L th:nth-of-type(3) {
  width: 6.5em;
}

.--table-size__L th:nth-of-type(4) {
  width: 35em;
}