@charset "utf-8";

/* ************************************************ 
*	ページ上部タイトル
* ************************************************ */	
.page-toptitle-box {
margin: 0 auto;
padding: 100px 0 0 0;
text-align:center;
position: relative;
overflow: hidden;
}
.page-toptitle-box img{
vertical-align: bottom;
}
.page-toptitle-box:before {
content: "";
position: absolute;
top: 100;
left: 0;
width: 100%;
height: 100%;
background:rgba(0,153,191,0.3);
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}
.page-toptitle {
font-weight:500;
letter-spacing: 0.05em;
padding: 0;
margin: 0;
color: #fff;
text-align:center;
width:100%;
position: absolute;
top: calc(50% + 50px);
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
z-index:999;
font-size: min(3.6vw,36px);
line-height: 100%;
}

.page-toptitle span{
font-size: min(2.4vw,24px);
}


/* ************************************************ 
*   見出し
* ************************************************ */
.htitle {
  position: relative;
  padding: 0 0 20px 0;
  margin: 0 0 10px 0;
  font-size: min(2.4vw,24px);
  font-weight: 500;
  line-height: 1;
}
.htitle:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 7px;
  content: '';
  background-color: #0099BF;
}
.htitle2 {
  position: relative;
  padding: 0 0 15px 0;
  margin: 0 auto 30px auto;
  font-size: min(2.4vw,24px);
  font-weight: 500;
  line-height: 150%;
  display: inline-block;
text-align: center;
}
.htitle2:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 7px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.htitle3 {
  position: relative;
  padding: 0 0 15px 0;
  margin: 0 auto 30px auto;
  font-size: min(2.4vw,24px);
  font-weight: 500;
  line-height: 150%;
  display: block;
}
.htitle3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 7px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #0099BF, #0099BF 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #0099BF, #0099BF 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}



/* ************************************************ 
*	会社概要
* ************************************************ */
.greeting-box {
text-align: center;
margin: 0 0 200px 0;
padding: 0;
}
.greeting-box h2{
font-family: 'Shippori Mincho',sans-serif;
font-weight:500;
margin: 0 0 50px 0;
padding: 0;
text-align: center;
font-size: min(3.8vw,36px);
}
.greeting-box-inner {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.greeting-box-inner__textbox{
width: 100%;
}
.greeting-box-inner__imgbox{
width: 35%;
text-align: center;
}

.greeting-box-inner__textbox p{
font-family: 'Shippori Mincho',sans-serif;
margin: 0;
padding: 0;
font-size: min(2.0vw,18px);
line-height: 2.2;
text-align: left;
}
.greeting-box-inner__imgbox img{
vertical-align: bottom;
margin: 0 0 15px 0;
}
.greeting-box-inner__imgbox p{
font-family: 'Shippori Mincho',sans-serif;
margin: 0;
padding: 0;
font-size: min(2.0vw,18px);
line-height: 1;
}
.greeting-box-inner__imgbox p span{
font-size: min(1.8vw,16px);
}


table.company {
width: 100%;
margin: 0 0 100px 0;
padding: 0 0 0 0;
border-collapse: collapse;
border-spacing: 0;
}
table.company tr {
border-bottom: 1px #999 solid;
}
table.company th {
font-weight: normal;
text-align: center;
padding: 20px 10px;
white-space: nowrap; 
width:20%;
font-size: min(1.8vw,16px);
}
table.company td {
text-align: left;
padding: 20px 10px;
white-space: normal;
vertical-align: middle;
font-size: min(1.8vw,16px);
}

.company-bis-box {
margin: 0 0 100px 0;
padding: 0;
}

.access-box {
margin: 0 0 100px 0;
padding: 0;
}
.access-box-addtext {
margin: 0 0 30px 0;
padding: 0;
font-size: min(1.8vw,16px);
}
.access-box-addtext::before {
display:inline-block;
content: "";
position: relative;
top: 10px;
left: 0;
padding-left: 10px;
width: 30px;
height: 40px;
background:url("../images/icon_access.svg") no-repeat;
background-size:contain;
}

.map-box {
width: 100%;
height: 500px;
margin: 0;
padding: 0;
}


/* ************************************************ 
*	主な取扱メーカー
* ************************************************ */
.partner-block {
width: 100%;
padding: 120px 0 95px 0;
margin: 0 auto;
background-color: #e5f5f8;
}
.partner-block h3{
padding: 0;
margin: 0 auto 50px auto;
text-align: center;
font-size: min(2.1vw,21px);
font-weight: 500;
}
.partner-box-inner {
width: 1260px;
max-width: 90%;
padding: 0;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: start;
}
.partner-box-inner li{
width: 18.5%;
text-align: center;
padding: 0;
margin: 0 1.875% 25px 0;
background-color: #fff;
box-shadow: 0 0 5px #efefef;
border-radius: 5px;
}
.partner-box-inner li:nth-child(5n){
margin: 0 0 25px 0;
}
.partner-box-inner li a{
display: block;
height: 140px;
padding: 0 15px;
flex-wrap: wrap;
align-content: center;
font-size: min(3.0vw,30px);
font-weight: 700;
color: #333;
}
.partner-box-inner li a:hover{
color: #666;
}
.partner-box-inner li img{
vertical-align: bottom;
}
.partner-box-inner li img.w90{ width: 90px; }
.partner-box-inner li img.w120{ width: 120px; }
.partner-box-inner li img.w130{ width: 130px; }
.partner-box-inner li img.w134{ width: 134px; }
.partner-box-inner li img.w140{ width: 140px; }
.partner-box-inner li img.w150{ width: 150px; }
.partner-box-inner li img.w160{ width: 160px; }
.partner-box-inner li img.w170{ width: 170px; }
.partner-box-inner li img.w180{ width: 180px; }
.partner-box-inner li img.w188{ width: 188px; }
.partner-box-inner li img.w190{ width: 190px; }
.partner-box-inner li img.w200{ width: 200px; }
.partner-box-inner li img.w205{ width: 205px; }


/* ************************************************ 
*	店舗情報
* ************************************************ */
.shop-box-inner {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 0 0 120px 0;
}
.shop-box-inner__leftbox{
width: 37.5%;
}
.shop-box-inner__rightbox{
width: 57.5%;
}
table.shop {
width: 100%;
margin: 0 0 30px 0;
padding: 0 0 0 0;
border-collapse: collapse;
border-spacing: 0;
}
table.shop tr {
border-bottom: 1px #999 solid;
}
table.shop th {
font-weight: normal;
text-align: center;
padding: 20px 10px;
white-space: nowrap; 
width:20%;
font-size: min(1.8vw,16px);
}
table.shop td {
text-align: left;
padding: 20px 10px;
white-space: normal;
vertical-align: middle;
font-size: min(1.8vw,16px);
}

.shopmap-box {
width: 100%;
height: 595px;
margin: 30px 0 0 0;
padding: 0;
}


.slider-shop {
z-index: 0;
list-style: none;
}
.slider-shop .slick-slide {
position: relative;
overflow: hidden;
margin: 0;
z-index:0;
}
.slider-shop .slick-slide::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,160,180,0.05);
}
.slider-shop .slick-slide img {
width: 100%;
height: auto;
}
.slider-shop .slick-prev:before,
.slider-shop .slick-next:before {
position:absolute;
top:50%;
transform : translateY(-50%);
content:"";
display:inline-block;
width:10px;
height:20px;
background-size:contain;

}
.slider-shop .slick-prev:before {
left: 5px;
background:url("../images/slide-prev.svg") no-repeat;
}
.slider-shop .slick-next:before {
right: 5px;
background:url("../images/slide-next.svg") no-repeat;
}



/* ************************************************ 
*	事業内容
* ************************************************ */
.business-titlebox {
text-align: center;
margin: 0 0 100px 0;
}
.business-titlebox p{
margin: 0;
padding: 0;
font-size: min(2.1vw,18px);
}

.business-box-inner {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 30px 0 100px 0;
}
.business-box-inner-box {
width: 23.5%;
margin: 0;
padding: 0;
}
.bis-box {
width: 100%;
margin: 0 0 10px 0;
padding: 0;
position: relative;
z-index:0;
overflow: hidden;
}
.bis-box img{
border-radius: 10px;
vertical-align: bottom;
}
.bis-box:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 10px;
background:rgba(0,0,0,0.3);
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}
.bis-box-title {
font-weight:500;
letter-spacing: 0.05em;
padding: 0;
margin: 0;
color: #fff;
text-align:center;
width:100%;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
z-index:999;
font-size: min(2.4vw,24px);
line-height: 1;
}

.bis-list-block {
width: 100%;
padding: 120px 0 95px 0;
margin: 0 auto;
background-color: #e5f5f8;
}
.bis-list-block h3{
padding: 0;
margin: 0 auto 50px auto;
text-align: center;
font-size: min(2.1vw,21px);
font-weight: 500;
}
.bis-list-box-inner {
width: 1260px;
max-width: 90%;
padding: 0;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: start;
}
.bis-list-box-inner li{
width: 22.5%;
height: 60px;
text-align: center;
align-content: center;
padding: 0;
margin: 0 2.5% 25px 0;
background-color: #fff;
box-shadow: 0 0 5px #efefef;
border-radius: 5px;
font-weight: 500;
line-height: 1.4;
}
.bis-list-box-inner li:nth-child(4n){
margin: 0 0 25px 0;
}


/* ************************************************ 
*	お知らせ
* ************************************************ */
.news-box {
margin: 0;
padding: 0 0 120px 0;
}
ul.news{
margin: 0 0 80px 0;
padding: 0 0 0 0;
list-style: none;
border-top:1px solid #999;
}
ul.news li{
font-size: min(1.8vw,16px);
margin: 0 0 0 0;
padding: 20px 0 20px 10px;
border-bottom:1px solid #999;
}
ul.news li a{
font-size: min(1.8vw,16px);
margin: 0 0 0 25px;
color:#333;
text-decoration: none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}
ul.news li a:hover{
color:#000;
text-decoration: underline;
}
.pager{
margin: 0 auto 0 auto;
text-align:center;
}
.news-page-navi{
margin: 0 3px;
padding: 0;
text-align:center;
}
.news-page-navi a{
color: #333;
padding: 6px 10px;
text-decoration:none;
border:1px solid #999;
}
.news-page-navi a:hover{
color: #fff;
border:1px solid #000;
background-color: #000;
text-decoration:none;
}
.news-contents-box{
margin: 30px 0 0 0;
padding: 0 0 0 0;
line-height: 180%;
}
.news-contents-box img{
margin: 0 0 0 0;
padding: 30px 0px;
}


/* ************************************************ 
*	お問い合わせ
* ************************************************ */
.contact-box {
margin: 0;
padding: 0 0 120px 0;
}
.contact-line{
padding:15px 20px;
border:1px solid #333;
}
.contact-line a{
text-decoration: underline;
color: #0099BF;
}
.contact-line a:hover{
text-decoration: none;
color: #000;
}
table#contact {
width: 100%;
margin: 50px 0 30px 0;
padding: 0 0 0 0;
border-collapse: collapse;
border-spacing: 0;
font-size: 15px;
}
table#contact th {
padding: 16px 20px 15px 20px;
white-space: normal;
vertical-align: middle;
width: 25%;
}
table#contact th.last,
table#contact td.last {
vertical-align: top;
}
table#contact td {
text-align: left;
padding: 15px 0px 15px 15px;
white-space: normal;
vertical-align: top;
width: 75%;
}
.width20{ width: 20%!important; }
.contact-red { color: #c20018; font-size: 80%; }
input[type="checkbox"] {
    position: relative;
    top: 1px;
    font-size: 110%;
}
.contact-end{
text-align: center;
margin: 0 auto 0 auto;
font-size: min(1.8vw,16px);
line-height: 1.5;
}

.contactlink-box {
margin: 30px auto 0 auto;
padding: 0;
text-align:center;
}
.contactlink {
margin: 0 auto;
text-align:center;
width: 30%;
font-size: 110%;
background-color:#333;
color: #fff;
padding: 15px 0;
display: block;
border: none;
border-radius: 50vh;
font-size: min(1.8vw,16px);
}
.contactlink:hover{
color: #fff;
background-color:#0099BF;
border: none;
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
}


/* ************************************************ 
*	プライバシーポリシー
* ************************************************ */
.privacy-block{
margin: 0;
padding: 0 0 120px 0;
}
.privacy-box{
margin: 0;
padding: 20px 20px;
border:1px solid #666;
}
.privacy-title{
margin: 25px 0 10px 0;
padding: 10px;
font-size: min(2.1vw,18px);
font-weight: 500;
background-color: #efefef;
}



/* ************************************************ 
*   レスポンシブ
* ************************************************ */
/* PC 画面の横幅が960px以上 */
@media only screen and (min-width: 960px){
#anq {
margin-top: -100px;
padding-top: 100px;
}

}

/* Tablet (Portrait) 画面の横幅が768px〜959pxまで */
@media only screen and (min-width: 768px) and (max-width: 959px) {
.greeting-box { margin: 0 0 100px 0; }
table#contact th {
padding: 16px 0px 15px 10px;
width: 30%;
}
table#contact td {
padding: 16px 0px 15px 10px;
width: calc(70% - 20px);
}
.partner-block {
padding: 100px 0 75px 0;
}
.partner-box-inner li a{
height: 120px;
}

}


/* Mobile (Portrait) 画面の横幅が767pxまで */
@media only screen and (max-width: 767px) {
.page-toptitle-box { padding: 0 0 0 0; }
.page-toptitle {
    top: 50%;
    left: 50%;
    font-size: 6.5vw;
}
.page-toptitle span {
    font-size: 5.5vw;
}
.htitle {
font-size: 5vw;
line-height: 1.2;
}
.htitle2 {
display: block;
font-size: 5vw;
}
.htitle3 {
font-size: 4.75vw;
line-height: 1.2;
}

.greeting-box { margin: 0 0 100px 0; }
.greeting-box h2 {
font-size: 5.5vw;
margin: 0 0 30px 0;
}
.greeting-box-inner__textbox{
width: 100%;
margin: 0 0 30px 0;
}
.greeting-box-inner__imgbox{
width: 70%;
margin: 0 auto;
}

.greeting-box-inner__textbox p{
font-size: 4.25vw;
line-height: 2.2;
}
.greeting-box-inner__imgbox p{
font-size: 4.5vw;
}
.greeting-box-inner__imgbox p span{
font-size: 4.25vw;
}

table.company { margin: 0 0 100px 0; }
table.company th,
table.shop th {
display:block;
width: calc(100% - 10px);
text-align: left;
padding: 16px 0 5px 0;
font-size: 4.25vw;
}
table.company td,
table.shop td {
display:block;
width: 100%;
text-align: left;
padding: 0 0 15px 0;
font-size: 4.25vw;
}

.company-bis-box { margin: 0 0 70px 0; }
.access-box { margin: 0 0 70px 0; }
.access-box-addtext {
margin: 0 0 30px 0;
font-size: 4.25vw;
}
.access-box-addtext::before {
top: 8px;
left: 0;
padding-left: 8px;
width: 20px;
height: 30px;
}
.map-box { height: 350px; }

.partner-block { padding: 70px 0 45px 0; }
.partner-block h3 {
margin: 0 auto 30px auto;
font-size: 5vw;
line-height: 1.7;
}
.partner-box-inner {
justify-content: space-between;
}
.partner-box-inner li {
width: 47.5%;
margin: 0 0 25px 0;
}
.partner-box-inner li a {
height: 100px;
font-size: 6vw;
}

.shop-box-inner {
padding: 0 0 70px 0;
}
.shop-box-inner__leftbox{
width: 100%;
margin: 0 0 50px 0; 
}
.shop-box-inner__rightbox{
width: 100%;
}
.shopmap-box { height: 350px; }

.slider-shop .slick-prev:before {
left: 10px;
}
.slider-shop .slick-next:before {
right: 10px;
}


.business-titlebox {
margin: 0 0 70px 0;
}
.business-titlebox p{
font-size: 4.5vw;
}
.business-box-inner {
padding: 20px 0 40px 0;
}
.business-box-inner-box {
width: 100%;
margin: 0 0 30px 0;
}
.bis-box-title {
font-size: 6vw;
}

.bis-list-block { padding: 70px 0 45px 0; }
.bis-list-block h3 {
margin: 0 auto 30px auto;
font-size: 4.75vw;
line-height: 1.7;
}
.bis-list-box-inner {
justify-content: space-between;
}
.bis-list-box-inner li {
width: 47.5%;
margin: 0 0 25px 0;
font-size: 3.75vw;
}


.news-box { padding: 0 0 80px 0; }
ul.news{
margin: 0 0 60px 0;
}
ul.news li{
line-height: 1.5;
font-size: 4.25vw;
padding: 20px 0;
}
ul.news li a{
line-height: 1.5;
font-size: 4.25vw;
margin: 0 0 0 0;
}
.news-page-navi a{
font-size: 4.25vw;
}

.contact-box { padding: 0 0 70px 0; }
table#contact { border-top: none; }
table#contact th {
display:block;
width: calc(100% - 10px);
text-align: left;
padding: 16px 0px 5px 0px;
border-bottom: none;
font-weight:500;
}
table#contact td {
display:block;
width: 100%;
text-align: left;
padding: 0px 0px 15px 0px;
border-bottom: none;
}

.contact-end{ font-size: 4.25vw; }
.contactlink {
width: 100%;
font-size: 4.25vw;
}
.width20{ width: 50%!important; }

input[type="text"],
input[type="password"],
input[type="email"],
textarea {
width: calc(96% - 2px);
padding: 10px 2%;
font-size: 4.25vw;
}

.privacy-block{ padding: 0 0 70px 0; }
.privacy-title{ font-size: 4.5vw; }

#anq {
margin-top: -10px;
padding-top: 10px;
}

}
