@charset "UTF-8";

html{
  font-size: 62.5%;
}

body{
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
}

img{
  max-width:100%;
}

a{
  display: block;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  cursor: pointer;
  text-decoration: none;
  color: #333;
}

li{
  list-style: none;
}

.effect-fade {
  opacity: 0;
  transform: translate(0, 100px); /* フェードインで動く高さを指定 */
  transition: all 2000ms; /* フェードインにかかる時間を指定 */
}
.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}


#mind,#type,#point{
  max-width: 960px;
}

.wrapper{
  display: flex;
  flex-direction: row-reverse;
  position: absolute;
  top: 85px;
  color: #fff;
  width: -webkit-fill-available;
  padding: 0 35px ;
}

.wrapper-item{
  max-width: 960px;
  display: flex;
  flex-direction: row-reverse;
  position: relative;
  margin: auto;
  }

.text-2{
  position: absolute;
  margin: 40px auto 0 60px;
  display: block;
  text-align: center;
  padding: 0 20px;
  line-height: 1.5;
  z-index: 9;
}

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

#mind ,#type ,#point ,#product ,#contact-area {
    margin-top: 30px;
    max-width: 550px;
  }

  .wrapper-item{
    max-width: 768px;
  }
}


/* ボタン共通 */

#type .button,#point .button{
  width: 210px;
  background-color: #e7cb91;
  color: #fff;
  display: block;
  text-align: center;
  padding: 15px 0;
  margin-bottom: 30px;
  line-height: 1;
  border-radius: 25px 25px 25px 25px;
  font-size: 18px;
  margin: 50px auto 0 auto;
}

#type .button a,#point .button a{
  display: block;
  box-sizing: border-box;
  line-height: 1;
}

#header nav li a:hover,#footer nav li a:hover{
  transform: scale(1.2, 1.2);
  transition: transform 0.5s;
  opacity: 0.9;
}

#type a:hover,#point a:hover,#product .details:hover{
  transform: scale(1.15, 1.15);
  transition:  0.5s;
  opacity: 0.9;
}

#contact-area a:hover{
  transform: scale(1.1, 1.1);
  transition:  0.5s;
  opacity: 0.9;
  background-color: #b6d7c7 ;
  padding: 2px;
}

@media screen and (max-width:768px) {

  #type .button,#point .button{
    margin: 40px auto 0 auto;
  }
}


/* テキスト */
h1{
  font-size: 50px ;
  letter-spacing: 0.18em ;
  writing-mode: vertical-rl;
  position: absolute;
  top: 85px;
  right: 70px;
  color: #fff;
}

h2{
  font-size: 30px ;
  letter-spacing: 0.18em ;
  writing-mode: vertical-rl;
  margin-left: 40px;
}

#type h2,#product h2{
  font-size: 30px ;
  letter-spacing: 0.18em ;
  writing-mode: vertical-rl;
  margin-right: 40px;
  margin-left: 0 ;
}

.yomikana{
  font-size: 22px;
  letter-spacing: 0.18em ;
  margin-left: 5px;
  writing-mode: vertical-rl;
  color: #fff;
  position: absolute;
  top: 85px;
  right: 35px;
}

.p-yomikana{
  font-size: 20px ;
  letter-spacing: 0.18em ;
  margin-left: 5px;
  writing-mode: vertical-rl;
}

.p-yomikana-l{
  font-size: 20px ;
  letter-spacing: 0.18em ;
  margin-right: 5px;
  writing-mode: vertical-rl;
}

.text p{
  display: block;
  font-size: 16px;
  margin-bottom: 30px;
}

.text-2 p{
  display: block;
  font-size: 16px;
  margin-bottom: 30px;
}

.inner{
  width: 960px;
  margin: auto;
}

@media screen and (max-width: 768px) {
  #type h2{
    font-size: 17px;
    writing-mode: horizontal-tb;
    margin: 0;
  }

  #product h2{
    font-size: 17px;
    letter-spacing: 0.18em;
    writing-mode: horizontal-tb;
    margin-right: 0;
}

  .p-yomikana-l{
    font-size: 12px;
    writing-mode: horizontal-tb;
    margin-right: 0;
    text-align: center;
    margin-bottom: 5px;
  }

  .text-2 p{
    font-size: 15px;
    margin-bottom: 20px;
  }
}



/* メインビジュアル */


#header .slider{
  display: none;
}
#header .slider.slick-initialized{
  display: block;
  overflow: hidden;
}

#header .slider{
  display: flex;
  position: relative;
}

#header .slider img{
  height: 100vh;
  width: 100%;
  object-fit: cover;
}

.mainvisual{
  max-width: 100%;
  max-height: 100%;
}

.mainvisual-bottom {
  width: 100%;
}

.mainvisual-bottom img{
 line-height: 1;
 width: 100%;
}

#header .pc-nav{
  position: absolute;
  top: 140px;
  right: 200px;
  writing-mode: vertical-rl;
  margin-top: 65px;
}

#header .pc-nav li{
  letter-spacing: 0.18em ;
  font-size: 18px;
  margin: 0 25px;
} 

#header .pc-nav li a{
  text-decoration: none;
  color: #fff;
}

.sp-nav{
  display: none;
}


.catch{
  color: #fff;
  writing-mode: vertical-rl;
  font-size: 20px;
  position: absolute;
  top: 310px;
  right: 50%;
  margin: auto;
  letter-spacing: 0.18em ;
}

.onlinestore-button img{
  width: 75px;
}

.onlinestore-button{
  width: fit-content;
  display: block;
  position: absolute;
  bottom: 90px;
  left: 85px;
}

.onlinestore-button:hover{
  transform: scale(1.1, 1.1);
  transition: transform 0.5s;
}

.text-area{
  display: flex;
  flex-direction: row-reverse;
  margin-top: 30px;
}

.text-area-l{
  display: flex;
  width: 50%;
  position: absolute;
  left: 0;
  margin-top: 30px;
}

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

  #header .slider img {
    width: 100vw;
    height: 100vw;
  }

  #header .pc-nav{
    display: none;
  }

/* ハンバーガーメニュー */
  #hamburger {
   position: relative;
   display: block;
   width: 30px;
   height: 25px;
   margin: 0 0 0 auto;
}

.btn {
  position: absolute;
  top: 30px;
  right: 35px;
  width: 30px;
  height: 30px;
  z-index: 11;
}

.btn-line {
	display: block;
	position: relative;
	width: 100%;
	height: 1px;
	background-color: #fff;
	transition: .2s;
}

.btn-line::before,
.btn-line::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: .5s;
}

.btn-line.open {
	background-color: transparent;
}

.btn-line::before {
  transform: translateY(-10px);
  left: 0;
}
.btn-line::after {
  transform: translateY(10px);
  left: 0;
}

/* spハンバーガーメニュー */
 .sp-nav{
  width: 100%;
  height: 65%;
  margin-left: auto;
  display: flex;
  position: absolute;
  top: 0;
  flex-direction: row-reverse;
  color: #fff;
  background-color: #555057;
  transition: .9s;
  z-index: 10;
  right: -100%;
  padding: 20px;
 }

 .sp-nav.open {
  right: 0;
  transition: .9s;
}

 .menu-list{
 width: 100%;
 height: 120px;
 display: flex;
 writing-mode: vertical-rl;
 align-items: center;
 margin-top: 60px;
}

 .menu-list a{
  color: #fff;
 }

 .btn-line.open::before {
	transform: rotate(45deg);
}
 .btn-line.open::after {
	transform: rotate(-45deg);
}


#header .yomikana{
  position: absolute;
  font-size: 12px;
  writing-mode: vertical-lr;
  top: 95px;
  right: 42px;
  margin-left: 0;
}

#header h1{
  font-size: 20px;
  letter-spacing: 0.18em;
  position: absolute;
  top: 185px;
  right: 12px;
  writing-mode: horizontal-tb
}

.catch {
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 30%;
  right: 50%;
}

.onlinestore-button{
  height:fit-content;
  width: 31px;
  top: 60%;
  left: 30px;

}

.menu-box{
  height: 100%;
}



}



/* 私たちの想い */
#mind{
  margin: auto;
  display: block;
  margin-top: 70px;
  height: 530px;
}

#mind .text{
  display: block;
  text-align: center;
  padding: 20px;
  margin-top: 40px;
  text-shadow: 2px 1px 2px #b8b8b8;
  line-height: 1.5;
}

#mind .image-box{
 width: 50%;
 position: absolute;
 left: 0;
}

#mind .mind-image1{
width: 440px;
position:absolute;
top: 160px;
left: 145px;
z-index: 9;
}

#mind .mind-image2{
 width: 310px;
 position: absolute;
 top: 75px;
 left: 0px;
}

#mind .mind-image3{
 width: 270px;
 position: absolute;
 top: 315px;
 left: 35px;
}

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

  #mind{
  margin: auto;
  display: block;
  margin-top: 30px;
  height: 430px;
}

.text-area {
 flex-direction: revert;
}

  .mind-image2,.mind-image3{
    display: none;
  }

  #mind .mind-image1{
    width: 220px;
    height:150px;
    position: absolute;
    top: 0px;
    left: -20px;
    z-index: 9;
  }

  .wrapper-item {
    margin: 0 20px;
    flex-direction: column;
  }

  .text p{
    font-size: 14px;
  }

  h2 {
    font-size: 17px;
    letter-spacing: 0.18em;
    writing-mode: horizontal-tb;
    margin: auto 10px;
    text-align: center;
    line-height: 1.5;
   }

  .p-yomikana {
    font-size: 12px;
    letter-spacing: 0.18em;
    margin-left: 0px;
    writing-mode: horizontal-tb;
    margin: auto;
  }

  .image-b0x{
    left: -20px
  }


}


/* お知らせ */
#news{
  width: 100vw;
  height: 500px;
  background-image: url(../image/washi-orange.jpg);
  background-size: cover;
  margin-top: 70px;
}


#news h2{
  margin-left: 60px;
}

#news .news-list {
  padding: 70px 0 0 0;
  writing-mode: vertical-rl;
}
#news .news-list dt {
  font-size: 16px;
  padding: 45px 40px 0 10px;
  border-right: solid 0.5px #8c8c8c;
  }

#news .news-list dd{
  font-size: 16px;
  padding: 105px 0 30px 40px;
}

#news .news-list a:last-child {
  border-left: solid 0.5px #8c8c8c;
}

#news .news-list a:hover{
  opacity: 0.9;
  color: #8b8282;
}

#news .background-item {
 width: 175px;
 height: auto;
 display: flex;
}

#news .background-item img{
  position: absolute;
  left: 0px;
  top: 240px;
}

@media screen and (max-width: 768px) {

  #news{
    margin-top: 30px;
    height: 430px;
  }

  #news .wrapper-item{
    max-width: 768px;
  }

  #news .text-area{
    padding-bottom: 10px;
  }

  #news .section-title{
    margin-left: 10px;
  }

  #news .p-yomikana{
    margin-right: 0px;
  }

  #news .news-list {
    padding: 20px 0 0 0;
    max-width: 450px;
  }

  #news .news-list a:nth-child(n+4){
    display: none;
  }

  #news .news-list dt {
    padding-right: 20px;
    font-size: 14px;
  }

  #news .news-list dd {
    padding-left: 20px;
    font-size: 14px;
}

  #news .news-list a:nth-child(3){
  border-left: solid 0.5px #8c8c8c;
}

 #news .background-item img{
   width: 80px;
}

}

/* 茶葉比べ */

#type{
  height: 500px;
  margin: auto;
  margin-top: 70px;
}

#type .wrapper-item-l{
height: 100%;
display: flex;
position: relative;
flex-direction: row-reverse;
}

#type .image-box-l{
  display: flex;
  width: 50%;
  position: absolute;
}

#type .type-image1{
width: 520px;
height: 345px;
position: absolute;
top: 155px;
right: 0px;
z-index: 9;
}

#type .type-image2{
 width: 460px;
 height: 325px;
 position: absolute;
 top: 120px;
 right: 150px;
}

@media screen and (max-width: 768px){
#type {
  margin-top: 30px;
  height: 445px;
}

.text-2 {
  width: 100vw;
  margin: 50px auto 0 auto;
  padding: 45px 20px;
  box-sizing: border-box;
}

#type .text-2 p:nth-child(n+3){
 display: none;
}

#type .image-box-l{
 width: 100%;
 justify-content: center;
}

#type .type-image1{
  width: 220px;
  height:150px;
  top: 0;
  right: 0px;
}

#type .type-image2{
 position: static;
}

#type .type-image2{
 width: 280px;
 height: 200px;
 margin-top: 170px;
}

#type .text-area-l{
  width: 50%;
  flex-direction: column;
  margin:100px auto 0 auto;
  }
}

/* 淹れ方 */
#point{
  height:500px;
  margin:auto;
  margin-top:70px;
}

#point .wrapper-item-l{
max-width:960px;
display: flex;
position: relative;
}

#point .point-image1{
width:520px;
position:absolute;
top:155px;
left:0px;
z-index: 9;
}

#point .point-image2{
 width:460px;
 position: absolute;
 top:115px;
 left:150px;
}

#point .text-2{
 margin: 40px 60px 0 auto;
}

@media screen and (max-width: 768px){
#point {
  margin-top: 30px;
  height: 445px;
}

#point .image-box{
  width: 100%;
  display: flex;
  justify-content: center;
  position: absolute;
}

#point .point-image1{
  width: 220px;
  height:150px;
  top: 0;
  left: 0;
}

#point .point-image2{
  position: static;
}

#point .point-image2{
  width: 280px;
  height: 200px;
  margin-top: 170px;
}

#point .text-area{
   width: 150%;
   margin-top: 80px;
   flex-direction: column;
}

#point .text-2 {
  width: 100vw;
  margin: 50px auto 0 auto;
  padding: 70px 20px;
  box-sizing: border-box;
}

#point .wrapper-item{
  margin: 0;
  height: 100%;
  display: flex;
  position: relative;
 }
}

/* 商品のご紹介 */
#product{
  height: 835px;
  width:100vw;
  margin:auto;
  margin-top: 70px;
  background-image: url(../image/washi-orange.jpg);
  background-size: cover;
}

#product .product-list ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin: 80px 60px 0 70px;
}

#product .product-list li{
  line-height: 1;
}

#product .product-list li img{
  width:370px;
  height:246px;
  display: flex;
  object-fit: contain;
}

#product .product-list li p{
  display: block;
  flex-direction: row;
  font-size:24px;
  color:#333;
  margin-right: 10px;
}

#product .product-list li span{
  display: block;
  font-size:20px;
  color:#4f5050;
}

#product .product-list li .details{
  display: flex;
  flex-direction: row;
  margin-top: 30px;
  margin-bottom: 65px;
  align-items: center;
  justify-content: center;
}

#product .wrapper-item-l{
  max-width:960px;
  display: flex;
  position: relative;
  margin: auto;
}

@media screen and (max-width:768px){
  #product{
  height:1170px;
  background-repeat: repeat-y;
  background-size: contain;
  margin-top: 30px;
}

 #product .text-area-l {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 30px;
  justify-content: center
}

  #product .product-list li .details{
    margin-top: 0;
    margin-bottom: 0;
  }

  #product .product-list li p {
  font-size: 16px;
}

  #product .product-list li span {
  font-size: 13px;
}
}


/* ボトムコンタクトスペース */
#contact-area{
 padding:60px 40px 50px 40px;
}

.contact{
 display: flex;
 justify-content: space-evenly;
}

.online-botton-2 {
 display: block;
 width:280px;
 text-align: center;
 line-height: 1.08;
 border:solid 1px #333;
 padding:20px;
}

.online-botton-2 span{
 color:#757676;
 font-size:22px;
}

.online-botton-2 a{
 font-size:26px ;
}

.contact-botton {
 display: block;
 width:280px;
 text-align: center;
 line-height: 1.08;
 border:solid 1px #333;
 padding:20px;
}

.contact-botton span{
 color:#757676;
 font-size:22px;
}

.contact-botton a{
 font-size:26px ;
}

@media screen and (max-width:768px){

#contact-area{
  padding: 10px;
}

#contact-area .contact{
  flex-direction: column;
  align-items: center;
}


#contact-area .contact-botton{
  margin-top: 20px;
}

#contact-area .online-botton-2 a,#contact-area .contact-botton a {
font-size: 20px;
}

#contact-area .online-botton-2 span,#contact-area .contact-botton span{
 font-size: 18px;
}


}

/* フッター */
#footer{
 background-color: #4f5050;
 text-align: center;
 padding: 20px 0;
 margin:0 auto ;
}

#footer nav{
 display: flex;
 justify-content: center;
 align-items: center;
 flex-wrap: wrap;
}

#footer  nav a{
 font-size:16px ;
 text-align: center;
 text-decoration: none;
 color: #fff;
 display: block;
 margin: 10px 55px 15px 55px;
}

#footer p{
 color:#fff;
 margin:10px;
 font-size: 14px;
}

@media screen and (max-width:768px){
 #footer{
   margin-top: 30px;
   font-size: 16px;
 }

 #footer nav{
   flex-direction: column;
 }

}
