@import url('https://fonts.googleapis.com/css2?family=EB+Garamond&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

/*
------------------------------------------------------------
以下、共通部分
------------------------------------------------------------
*/
*{
  margin:0;
  padding:0;
  list-style: none;
  box-sizing: border-box;
  text-decoration: none;
  background-size: cover;
  background-position: center;
}

*::before,
*::after{
  background-size: cover;
  background-position: center;
}

html {
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

body{
  color:#42352e;
  font-size: 16px;
  letter-spacing: 0.01em;
  min-width: 1280px;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
}


img{
  display: block;
  object-position: center;
}


.container{
  max-width:1280px;
  padding:0 40px;
  margin:0 auto;
  background: inherit;
}

.bg-section{
  position: relative;
}

.bg-section::before{
  content:"";
  width:100%;
  height:100%;
  position: absolute;
  top:0;
  left:0;
  z-index:-10;
}

.hover-opa{
  transition-duration: 0.5s;
}

.hover-opa:hover{
  opacity: 0.7;
}

.common-button{
  display: flex;
  justify-content: center;
  align-items: center;
  width:280px;
  height:60px;
  margin:0 auto;
  position: relative;
  font-size: 18px;
  font-weight: bold;
  line-height:1;
  color:#fff;
  letter-spacing: 0.1em;
}

.common-button::after{
  content:"";
  width:8px;
  height:15px;
  background-image: url('../img/add/common/white-next.png');
  position: absolute;
  top:0;
  right:20px;
  bottom:0;
  margin:auto;
}

.common-border-title{
  width:540px;
  height:68px;
  position: relative;
  display:flex;
  justify-content: center;
  align-items: center;
  background-color:#ffffff;
  color:#42352e;
  font-size: 28px;
  font-weight: bold;
  line-height:1;
  margin:0 auto;
}

.common-border-title::before,
.common-border-title::after{
  pointer-events: none;
  content:"";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.common-border-title::before{
  width:100%;
  height:106px;
  border-left:2px solid #42352e;
  border-right:2px solid #42352e;
}

.common-border-title::after{
  width:580px;
  height:100%;
  border-top:2px solid #42352e;
  border-bottom:2px solid #42352e;

}


header{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  z-index:100;
  min-width: 1280px;
}

header .header-container{
  max-width:1280px;
  padding:0 40px;
  margin:0 auto;
}

header .header-line1{
  background-color: #d36217;
  height:36px;
  display: flex;
  justify-content: center;
  align-items: center;
}

header .header-line1 .text{
  color:#fff;
  font-weight: 500;
  font-size: 14px;
  line-height:1;
  margin-right: 12px;
}

header .header-line1 .card{
  width:110px;
}
header .header-line1 .card img{
  width:100%;
}

header .header-line2{
  background-color:#fff;
}

header .header-line2 .header-flex{
  height:100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

header .header-line2 .header-logo{
  width:376px;
}

header .header-line2 .header-logo img{
  width:100%;
}

header .header-line2 .header-menu{
  display: flex;
  justify-content: flex-end;
}

header .header-line2 .header-menu a{
  margin-left: 24px;
  display: flex;
  align-items: center;
  flex-direction: column;
}

header .header-line2 .header-menu a .icon{
  height:40px;
}

header .header-line2 .header-menu a p{
  text-align: center;
  color:#42352e;
  font-size: 14px;
  font-weight: bold;
  line-height:1;
}

header .header-line2 .header-menu img.register{
  width:21px;
}

header .header-line2 .header-menu img.visitor{
  width:22px;
}

header .header-line2 .header-menu img.login{
  width:22px;
}

header .header-line2 .header-menu img.cart{
  width:32px;
}

header .header-line2 .header-menu img.guide{
  width:18px;
}

header .header-line3{
  background-color: #42352e;
}

header .header-line3 ul{
  display: flex;
  justify-content: center;
}

header .header-line3 ul li{
  width:16.7%;
  border-left:1px solid #f1f4ef;
}

header .header-line3 ul li:last-child{
  border-right:1px solid #f1f4ef;
}

header .header-line3 ul li a{
  display: flex;
  justify-content: center;
  align-items: center;
  width:100%;
  height:60px;
  color:#fff;
  font-weight: 500;
  line-height:1;
  text-decoration: none;
}

main{
  padding-top: 196px;
}

.common-contact-section{
  padding:72px 0;
}

.common-contact-section::before{
  background-image: url('../img/add/top/top-contact-main-view.jpg');
}

.common-contact-section p.p1{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}

.common-contact-section p.p1 img{
  width:34px;
  margin-right: 8px;
}

.common-contact-section p.p1 span{
  font-size: 30px;
  font-weight: bold;
  line-height:1;
  color:#fff;
}

.common-contact-section .tel-box{
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width:656px;
  height:172px;
  position: relative;
  margin:0 auto;
}

.common-contact-section .tel-box::before,
.common-contact-section .tel-box::after{
  pointer-events: none;
  content:"";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.common-contact-section .tel-box::before{
  width:100%;
  height:216px;
  border-left:2px solid #fff;
  border-right:2px solid #fff;
}

.common-contact-section .tel-box::after{
  width:700px;
  height:100%;
  border-top:2px solid #fff;
  border-bottom:2px solid #fff;
}

.common-contact-section .tel-box p.p2{
  display:flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 24px;
}

.common-contact-section .tel-box p.p2 img{
  width:80px;
  margin-right: 14px;
}

.common-contact-section .tel-box p.p2 span{
  font-family: 'EB Garamond', serif;
  font-size: 72px;
  line-height:1;
  font-weight: normal;
  letter-spacing: 0;
  color:#fff;
}

.common-contact-section .tel-box p.p3{
  color:#fff;
  font-size: 24px;
  font-weight: normal;
  line-height:1;
  text-align: center;
}


footer{

}

footer .footer-area1{
  padding:24px 0;
}

footer .footer-area1 .flex{
  display:flex;
  justify-content: space-between;
  align-items: center;
}

footer .footer-area1 .flex .left{
  display: flex;
  align-items: center;
}

footer .footer-area1 .left .footer-logo{
  width:290px;
  margin-right: 32px;
}

footer .footer-area1 .left .footer-logo img{
  width:100%;
}

footer .footer-area1 .left .footer-info{

}

footer .footer-area1 .left .footer-info p,
footer .footer-area1 .left .footer-info a{
  color:#42352e;
  font-weight: 500;
  line-height:1;
}

footer .footer-area1 .left .footer-info p{
  margin-bottom: 8px;
}

footer .footer-area1 .left .footer-info p:last-child{
  margin-bottom: 0;
}

footer .footer-area1 .left .footer-info a.tel{
  pointer-events: none;
}

footer .footer-area1 .right{

}

footer .footer-area1 .right a{
  display: flex;
  justify-content: center;
  align-items: center;
  width:240px;
  height:56px;
  background-color: #d36217;
  text-decoration: none;
}

footer .footer-area1 .right a img{
  width:28px;
  margin-right: 6px;
}

footer .footer-area1 .right a span{
  color:#fff;
  font-weight: 500;
  line-height:1;
}

footer .footer-area2{
  padding:16px 0;
  background-color:#42352e;
}

footer .footer-area2 .flex{
  display:flex;
  justify-content: space-between;
  align-items: center;
}

footer .footer-area2 .flex p{
  color:#fff;
  line-height:1;
}

footer .footer-area2 .flex nav{
  display:flex;
  align-items: center;
}

footer .footer-area2 .flex nav a{
  position: relative;
  margin-left: 32px;
  padding-left: 16px;
  color:#fff;
  line-height:1;
  font-weight: normal;
  text-decoration: none;
}

footer .footer-area2 .flex nav a::before{
  content:"";
  width:6px;
  height:11px;
  background-image:url('../img/add/common/white-next.png');
  position: absolute;
  left:0;
  top:0;
  bottom:0;
  margin:auto;
}

/*
------------------------------------------------------------
以下、トップページ
------------------------------------------------------------
*/

.top-section1{
  padding:48px 0 80px;
}

.top-section1::before{
  background-image: url('../img/add/top/top-main-bg.jpg');
}

.top-section1 .swiper-block{
  position: relative;
}

.top-section1 .swiper-block .swiper-top-button{
  cursor: pointer;
  z-index:90;
  position: absolute;
  top:0;
  bottom:0;
  margin:auto;
  width:70px;
}

.top-section1 .swiper-block .swiper-top-next{
  left:calc(50% + 500px);
}

.top-section1 .swiper-block .swiper-top-prev{
  right:calc(50% + 500px);
}

.top-section1 .swiper-slide{
  width:1076px;
  max-width:80%;
  margin:0 30px;
}

.top-section1 .swiper-slide a{
  display: block;
  width: 100%;
}

.top-section1 .swiper-slide img{
  width:100%;
}

.top-section2{
  padding:48px 0;
}

.top-section2 .box{
  /* height:64px; */
  background-color: #f1f4ef;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 40px;
  width: 60%;
  margin: 0 auto;
}

.top-section2 .box .p1{
  font-weight: bold;
  line-height:1;
  font-size: 18px;
}

.top-section2 .box .p2{
  margin-left: 24px;
  margin-right: 8px;
  font-size: 16px;
  line-height:1.4;
  margin-top: 16px;
}

.top-section2 .box a{
  color:#42352e;
  font-size: 14px;
  font-weight: 500;
  line-height:1;
  border-bottom:1px solid #42352e;
  padding-bottom: 5px;
  padding-top: 6px;
}

.top-section3{
  padding:100px 0 50px;
}

.top-section3::before{
  background-image: url('../img/add/common/common-bg.jpg');
}

.top-section3 h2{
  margin-bottom: 60px;
}

.top-section3 ul{
  display: flex;
  justify-content: space-between;
}

.top-section3 ul li{
  width:380px;
  position: relative;
  padding-bottom: 124px;
}

.top-section3 ul li .thumb{
  width:100%;
  height:280px;
  position: relative;
  margin-bottom: 24px;
}

.top-section3 ul li .thumb .image{
  width:100%;
  height:100%;
  object-fit: cover;
}

.top-section3 ul li .thumb .rank{
  width:80px;
  position: absolute;
  left:-6px;
  top:-6px;
}

.top-section3 ul li .info{
  font-size: 18px;
  font-weight: bold;
  line-height:1.55;
}

.top-section3 ul li .price{
  text-align: center;
  position: absolute;
  left:0;
  right:0;
  margin:auto;
  bottom:88px;
  font-size: 18px;
  font-weight: 500;
  line-height:1;
}

.top-section3 ul li .common-button{
  position: absolute;
  left:0;
  right:0;
  bottom:0;
  margin:auto;
  background-color: #42352e;
  color: #fff;
  text-decoration: none;
}

.top-section4{
  padding:80px 0;
  position: relative;
}

.top-section4 img.bg{
  position: absolute;
  width:100%;
  height:100%;
  object-fit: cover;
  top:0;
  left:0;
  z-index:-10;
}

.top-section4 .box{
  width:440px;
  height:320px;
  background-color:rgba(81,47,26,0.5);
  position: relative;
  display:flex;
  justify-content:center;
  align-items:center;
}

.top-section4 .box::before,
.top-section4 .box::after{
  pointer-events: none;
  content:"";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.top-section4 .box::before{
  width:100%;
  height:380px;
  border-left:2px solid #fff;
  border-right:2px solid #fff;

}

.top-section4 .box::after{
  width:500px;
  height:100%;
  border-top:2px solid #fff;
  border-bottom:2px solid #fff;
}

.top-section4 .box img{
  width:71px;
  margin:0 auto 8px;
}

.top-section4 .box p.p1{
  text-align: center;
  font-size: 38px;
  font-weight: bold;
  line-height:1.25;
  margin-bottom: 16px;
  color:#fff;
}



.top-section4 .box .common-button{
  background-color: #d36217;
  margin:0 auto;
  color: #fff;
  text-decoration: none;
}

.top-section5{
  padding:96px 0;
}

.top-section5 .banner1{
  display:block;
  width:100%;
  margin-bottom: 56px;
}

.top-section5 img{
  width:100%;
}

.top-section5 .flex{
  display: flex;
  justify-content: space-between;
}

.top-section5 .flex .left{
  width:51%;
}

.top-section5 .flex .right{
  width:44%;
}

.top-section6{
  padding:96px 0;
}

.top-section6::before{
  background-image: url('../img/add/common/common-bg.jpg');
}

.top-section6 h2{
  margin-bottom: 60px;
}
.top-section6 ul{
  width:90%;
  margin:0 auto;
  max-width:1440px;
  display:flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top-section6 ul li{
  /* width:32%; */
  width:49%;
  margin-bottom: 40px;
}

.top-section6 ul li:nth-child(1),
.top-section6 ul li:nth-child(2){
  width:49%;
}
@media (min-width: 767px) {
  .top-section6 ul li:nth-child(3),
  .top-section6 ul li:nth-child(4){
    overflow: hidden;
    aspect-ratio: 705 / 300;
  }
  .top-section6 ul li:nth-child(3) a,
  .top-section6 ul li:nth-child(4) a{
    margin-top: -12%;
  }
}
.top-section6 ul li a{
  width:100%;
  position: relative;
  display: flex;
  justify-content:center;
  align-items: center;
}

.top-section6 ul li a img{
  width:100%;
}

.top-section6 ul li a h3{
  position: absolute;
  width:340px;
  max-width:90%;
  height:70px;
  display: flex;
  justify-content: center;
  align-items: center;
  white-space:nowrap;
  font-size: 32px;
  font-weight: bold;
  color:#fff;
  line-height:1;
  background-color:rgba(42,20,0,0.3);
  border:2px solid #ffffff;
}

.top-section7{
  position: relative;
  padding:96px 0;
}

.top-section7 img.bg{
  width:100%;
  height:100%;
  object-fit: cover;
  position: absolute;
  top:0;
  left:0;
  z-index:-10;
}

.top-section7 .common-border-title{
  color:#fff;
  margin-bottom: 72px;
  background: none;
}

.top-section7 .common-border-title::before{
  width:100%;
  height:106px;
  border-left:2px solid #fff;
  border-right:2px solid #fff;
}

.top-section7 .common-border-title::after{
  width:580px;
  height:100%;
  border-top:2px solid #fff;
  border-bottom:2px solid #fff;

}

.top-section7 .swiper-block{
  position: relative;
}

.top-section7 .swiper-block .swiper-voice-button{
  cursor: pointer;
  z-index:90;
  position: absolute;
  top:0;
  bottom:0;
  margin:auto;
  width:16px;
}

.top-section7 .swiper-block .swiper-voice-next{
  right:-88px;
}

.top-section7 .swiper-block .swiper-voice-prev{
  left:-88px;
}

@media(max-width: 1400px){
  .top-section7 .swiper-block .swiper-voice-next{
    right:-24px;
  }

  .top-section7 .swiper-block .swiper-voice-prev{
    left:-24px;
  }
}

.top-section7 .swiper-slide{
  display: flex;
  justify-content: space-between;
  width:100%;
  height:340px;
  margin:0 30px;
}

.top-section7 .voice-card{
  width:575px;
  height:340px;
  position: relative;
  display: flex;
  justify-content: space-between;
  /*padding:24px 32px 0;*/
  padding: 0 32px 0;
  align-items: center;
}

.top-section7 .voice-card::before{
  content:"";
  width:634px;
  height:394px;
  background-image: url('../img/add/top/voice-board.png');
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index:-1;
}

.top-section7 .voice-card1{
  transform: rotateZ(-1deg);
}

.top-section7 .voice-card2{
  transform: rotateZ(1deg);
}

.top-section7 .voice-card .radi{
  width:10px;
  height:10px;
  border-radius: 50%;
  background-color: #3f1b06;
  position: absolute;
  top:16px;
}

.top-section7 .voice-card .radi1{
  left:8px;
}

.top-section7 .voice-card .radi2{
  right:8px;
}

.top-section7 .voice-card .letter{
  width:196px;
  padding-top: 16px;
}

.top-section7 .voice-card .letter img{
  width:100%;
}

.top-section7 .voice-card .text-area{
  width:300px;
}

.top-section7 .voice-card .text-area .msg{
  line-height:2;
  font-weight: 500;
}

.top-section8{
  padding:96px 0;
}

.top-section8::before{
  background-image: url('../img/add/common/common-bg.jpg');
}

.top-section8 iframe{
  display: block;
  width:100%;
  height:465px;
  padding:36px 80px;
  background-color: #fff;
}

.top-section8 .news-block p{
  margin-bottom: 80px;
}

.top-section8 h2{
  margin-bottom: 56px;
}


.LC_Page_Index #main-content {
  margin-bottom: 0;
}
.LC_Page_Index div#main_column > div {
  margin-top: 0;
}
.LC_Page_Index #container {
  margin-top: 0;
  padding-bottom: 0;
}