/*
Theme Name: タイヤパラダイス
Theme URL:https://sub.typara.jp/
Description: typaraのテーマ
Author: darking
Author URL:dar-king.com
Version: 1.0
*/


body {
margin:0;
font-family:sans-serif;
line-height:1.6;
}

img {width:100%;display:block;}

.wrapper {
    max-width: 1000px;
    margin: 0 auto;
}

/* ===== HEADER ===== */
.header {
background:#ffd800;
padding:15px;
position:relative;
z-index:1000;
}

.header-inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-direction: column;
}

/* ===== ナビ（PC） ===== */
.nav {
    width:100%;
    max-width:none;
}
.nav ul {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:40px;
    list-style:none;
    margin:0;
    padding:0;
}

.nav a {
text-decoration:none;
color:#000;
font-weight:bold;
}

.nav ul li img{
    width:auto;
    height:40px;
}

/* PCでは非表示 */
.sp-logo{
    display:none;
}


/* ===== ハンバーガー ===== */
.hamburger {
display:none;
flex-direction:column;
gap:5px;
cursor:pointer;
z-index:1100;
}

.hamburger span {
width:25px;
height:3px;
background:#000;
transition:0.3s;
}

/* バツ */
.hamburger.active span:nth-child(1){
transform:rotate(45deg) translate(5px,5px);
}
.hamburger.active span:nth-child(2){
opacity:0;
}
.hamburger.active span:nth-child(3){
transform:rotate(-45deg) translate(5px,-5px);
}

/* ===== FV ===== */

/* FVスライダー */
.fv {
  position: relative;
  width: 100%;
  height: 600px;
}

.fv-slider {
  width: 100%;
  height: 100%;
}
.fv-text{
    pointer-events:none;
}
.swiper {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.swiper-wrapper {
  height: 100%;
}

.swiper-slide {
  width: 100%;
  height: 100%;
  position: relative;
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.swiper-slide-active {
  opacity: 1 !important;
}
.swiper-slide a{
    display:block;
    width:100%;
    height:100%;
}

.swiper-slide a img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* テキスト */

.fv-text {
  position:absolute;
  bottom:20%;
  left:10%;
  color:#fff;
  z-index:10;
}

.fv-text h2 {
  font-size:32px;
  margin-bottom:10px;
}


/* テキスト重ね */
.fv-text {
  position:absolute;
  bottom:20%;
  left:10%;
  color:#fff;
}

.fv-text h2 {
  font-size:32px;
  margin-bottom:10px;
}

.fv-text p {
  font-size:18px;
}
/* ===== CTA ===== */
.cta {
display:flex;
}

.cta-box {
flex:1;
padding:20px;
text-align:center;
color:#fff;
font-weight:bold;
}

.cta-red { background:#d33; }
.cta-blue { background:#369; }


/* ===== カテゴリ ===== */
.category {
    margin: 0 auto;
    
}
.category_box {
    display: flex;
    flex-direction: row;
    max-width: 1000px;
    margin: 30px auto;
}

.box01 {
    width: 50%;
    margin: 0 10px 0 20px;
}

.box02 {
        width: 50%;
        margin: 0 20px 0 10px;
}


.category img{
    margin: 0 auto;
}

/* ===== ブランド ===== */
.brands-scroll img {
height:40px;
width:auto;
}


.brands {
  overflow:hidden;
  background:#fff;
}

.brands-scroll {
  width:100%;
  overflow:hidden;
}

.brands-track {
  display:flex;
  width:max-content;
  animation:scrollLoop 50s linear infinite;
    margin-bottom: 20px;
}

.brands-track img {
  height:50px;
  margin-right:40px;
    margin-top: 20px;
}

/* 無限ループ */
@keyframes scrollLoop {
  0% {
    transform:translateX(0);
  }
  100% {
    transform:translateX(-50%);
  }  
}
    
    
/* ===== 商品 ===== */
.products {padding:20px;background: linear-gradient(#58a8c9, #a8d0a5);}

.section-title {
text-align:center;
    padding-bottom:30px;
    max-width: 1000px;
    margin: 0 auto;
}

.product-scroll {display:flex;gap:15px;overflow-x:auto;justify-content: center;}

.product-card {
min-width:200px;
background:#f5f5f5;
padding:10px;
}

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

/* ===== スケジュール ===== */
.schedule {
    margin-top: 50px;
}

.schedule iframe {
width:90%;
height:400px;
border:none;
    padding:5%;
    margin-bottom: -10px;
    background-color:  #ceccca;
}

.schedule .section-title {
   background: linear-gradient(
  180deg,
  transparent 0%,
  transparent 50%,
  #ceccca 50%,
  #ceccca 100%
);
        
}

.products_button {
    max-width: 400px; 
    margin: 30px auto;
    
}

/* ===== CONTACT ===== */
.contact {
margin: 0 auto;
padding:30px;
    max-width: 800px;
    
}

.contact-btn {
font-size:20px;
color:#000;
text-decoration:none;
}


.tyre_size {
    max-width:500px;
    margin:30px auto;
}


/* ===== Instagram ===== */
.instagram {
    max-width: 940px;
    margin: 0 auto;
    padding: 20px 30px 20px 30px;
    background:linear-gradient(pink, lightblue);
}

.insta-block {
    position: relative;
}

.insta-block img {
  left: 5%;
  color:#fff;
  width: 300px;
  z-index: 10;
    margin: 0 auto;
}


.insta-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin: 50px;
    padding: 60px 30px 0 30px;
    background-color: white;
    opacity: 0.64;
}

.insta-grid div {
background:#5fb0a9;
padding-top:100%;
}

/* ===== SHOP ===== */
.shop-inner {
    display:flex;
    gap:20px;
    padding: 50px;
    max-width: 1000px;
    margin: 30px;
    /* margin: 0; */
}

.shop-info {
    min-width: 200px;
    background-color: white;
    opacity: 0.9;
    flex:1;
    padding: 0 10px 0 10px;
}

.companytitle_logo {
    padding: 3px;
    margin: 10px;
    border-bottom: 5px solid #00000030;
}

.shop-photo {
    width: 50%;
}

.shop {
        background-image: url('../img/company_back.png');
        /* width: 100%; */
        height: 100%;
        max-width: 1000px;
        margin: 0 auto;
        /* background-position: center; */
        background-size: 150%;
        background-repeat: no-repeat;
}

.shop-inner img {
}
/* table01 */
.shop-list tr {
    font-size:12px;
}

.shop-list th,
.shop-list td {
  padding: 5px 0;
  border: none;
}

.shop-list th {
  width: 30%;
}




/* ===== MAP ===== */
.map iframe {
width:100%;
height:300px;
border:none;
}

/* ===== FOOTER ===== */
.footer {
background:#fff;
color:#fff;
text-align:center;
padding:20px;
    margin: 0 auto;
    max-width: 1000px;
}
.copyright {
    font-size: 1vw;
    color: #000000;
}


.foternav {
    margin: 0 auto;
} 

/* ===== overlay（重要） ===== */
.overlay {
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.5);
opacity:0;
visibility:hidden;
transition:0.3s;
z-index:900;
}

.overlay.active {
opacity:1;
visibility:visible;
}

 .fv-text h2 {
    font-size:22px;
  }
/* ===== スクロール止める ===== */
body.menu-open {
overflow:hidden;
}



/* ===== タイヤ購入 ===== */

.tyre-page{
padding:50px 20px;
}

.page-title{
font-size:40px;
margin-bottom:40px;
text-align:center;
}

.tyre-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.tyre-card{
background:#fff;
padding:20px;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
border-radius:10px;
}

.tyre-card h2{
margin-top:15px;
font-size:20px;
}

.tyre-card .price{
font-size:24px;
font-weight:bold;
color:red;
}



/* Contact Form 7 */

.wpcf7{
    max-width:700px;
    margin:0 auto;
}

.wpcf7 label{
    display:block;
    font-weight:700;
    margin-bottom:10px;
    color:#000;
}

.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea{
    width:100%;
    padding:15px;
    border:2px solid #ddd;
    border-radius:8px;
    margin-top:8px;
    margin-bottom:25px;
    font-size:16px;
}

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
    border-color:#ffd800;
    outline:none;
}

.wpcf7-submit{
    background:#ffd800 !important;
    color:#000 !important;
    border:none !important;
    padding:18px 50px !important;
    font-size:18px !important;
    font-weight:700 !important;
    border-radius:999px !important;
    cursor:pointer;
    transition:.3s;
}

.wpcf7-submit:hover{
    transform:translateY(-3px);
}

.foternav ul{
    display:flex;
    justify-content:center;
    gap:20px;
    list-style:none;
    padding:0;
    margin:20px 0;
}

.foternav ul li img{
    width:auto;
    height:40px;
}








@media(max-width:768px){

.tyre-grid{
grid-template-columns:1fr;
}

}




/* ===== スマホ ===== */
@media (max-width:768px){

.hamburger{
display:flex;
}

.nav{
position:fixed;
top:0;
right:-100%;
width:280px;
height:100vh;
background:#fff;
padding:80px 20px;
transition:.3s;
z-index:1000;
overflow-y:auto;
}

.nav.active{
right:0;
}

.nav ul{
display:flex;
flex-direction:column;
align-items:center;
gap:30px;
padding:0;
margin:0;
}

.nav li{
list-style:none;
}

.nav li a{
display:block;
}

.nav img{
width:180px;
height:auto;
display:block;
}

.sp-logo{
    display:block;
}    
    
    
.cta{
flex-direction:column;
}

.shop-inner{
display:flex;
flex-direction:column;
}
.insta-grid {
grid-template-columns:repeat(2,1fr);
}
    
    .shop-photo {
        margin: 0 auto;
    } 
    .companytitle_logo {
        width:50%;
    } 
    .nav ul li img{
    width:70%;
    height:auto;
    display:block;
    margin:0 auto;
}
   
    
.foternav{
    position:static;
    width:100%;
    height:auto;
    padding:0;
    background:none;
}

.foternav ul{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
}

.foternav ul li img{
    width:auto;
    height:28px;
}
}



@media (max-width:390px){
    
    
.category_box {
    display: flex;
    flex-direction: column;
    margin: 20px auto;
}
    .box01 {
     width: 100%;
     margin:0 0 10px 0;
    }
    .box02 {
     width: 100%;   
     margin:0 0 10px 0;
    }
    
        .shop-inner {
            flex-direction:column;
            margin: 0;
            padding: 0;
    }
    
    
    
     #table01 th,
  #table01 td {
    width: 100%;
    display: block;
  }

  #table01 th {
    width: 100%;
  }
        .companytitle_logo {
        width: 90%;
    }
    .insta-block img {
    width: 50%;
    }
    
    
    
}

