@charset "UTF-8";
/*svgローディングアニメーション*/
#splash{
	height: 100vh;
  width: 100%;
  position: fixed;
  z-index: 9999;
  background-color: #FFFFF9;
}
#splash_logo {
  position: absolute;
  top: 35%;
  left: 10%;
  margin: 0;
  padding: 0;
}
/*SVGのサイズ*/
#splash_logo svg{
  width: calc(40vw - 60px);
  object-fit: contain;
	max-width: 400px;/*SVGタグの横幅*/
  box-sizing: border-box;
	height: auto;
  margin: 0;
  padding: 0;
}
@media(max-width: 1060px){
  #splash_logo{
    top: 20%;
    left: 7%;
  }
}
@media(max-width: 860px){
  #splash_logo{
    left: 50%;
    top: 700px;
    width: calc(100vw - 48px);
    max-width: 500px;
    transform: translateX(-50%)!important;
  }
  #splash_logo svg{
    width: calc(100vw - 48px);
    margin: 0 auto;
    max-width: 500px;
  }
}
@media(max-width: 700px){
  #splash_logo{
    top: calc(100vw + 20px);
  }
}
@media(max-width: 374px){
  #splash_logo{
    top: 100vw;
  }
}
/* マスクをするパスの設定*/
#mask .st0{
    fill:none;
    stroke:#FFFFFF;
    stroke-width:90;/*線の太さを指定する*/
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-miterlimit:10;
    stroke-dasharray: 1500; /* 線の間隔を指定する */
    stroke-dashoffset:1500; /* 線の位置を指定する */
    max-width:400px;/*SVGタグの横幅*/
    width:100%;/* レスポンシブ対応にするため100%を指定*/
    height:auto;
    padding: 50px;
}

/*共通-------------------------*/
html {
  font-size: 62.5%; /* 16px * 62.5% = 10px */
  width: 100%;
  box-sizing: border-box;
}
body {
  color: #2E2422; /* RGB */
  font-family: "Zen Maru Gothic", serif, sans-serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic";
  font-weight: 400;
  font-style: normal;
  font-size: 1.6em;
  line-height: 1.8;
  text-align: left;
  background-color: #FFFFF9;
}
.none {
  display: none;
}
a.instagram{
  background-color: #FDF35B;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  position: relative;
}
a.instagram img{
  width: 30px;
  height: 30px;
  text-align: center;
  position: absolute;
  top: 10px;
  left: 10px;
}
a.btn{
  text-decoration: none;
  color: #3F6C3E;
  font-weight: 700;
  border: solid 2px #3F6C3E;
  border-radius: 30px;
  width: 296px;
  height: 56px;
  display: block;
  box-shadow: 0px 4px 0px 0px rgba(78, 75, 27, 0.2);
  text-align: center;
  line-height: 56px;
  margin: 50px auto 0;
  position: relative;
  transition: .3s cubic-bezier(0.37, 0, 0.63, 1);
}
a.btn::after{
  color: #3F6C3E;
  content: '＞';
  position: absolute;
  right: 30px;
  top: 0px;
  font-weight: 700;
}
a.cv-btn{
  text-decoration: none;
  color: #3F6C3E;
  background-color: #FDF35B;
  font-weight: 700;
  border-radius: 30px;
  width: 296px;
  height: 56px;
  display: inline-block;
  box-shadow: 0px 4px 0px 0px rgba(78, 75, 27, 0.2);
  text-align: center;
  line-height: 56px;
  position: relative;
  border: 2px solid #FDF35B;
  transition: .3s cubic-bezier(0.37, 0, 0.63, 1);
  }
a.cv-btn::after{
  color: #3F6C3E;
    content: '＞';
    position: absolute;
    right: 30px;
    top: 0px;
    font-weight: 700;
}
/*hover-action*/
.hover-expansion{
  transition: transform .4s ease; /* ゆっくり変化させる */
}
.hover-expansion:hover{
  transform: scale(1.1); /* 拡大 */
}
#header-nav-drawer nav ul li:hover::after{
  transform: scale(0.9);
}
.hover-circle:hover{
  /* opacity: 1; */
  background: url("./img/hover.png") center / 80px 50px no-repeat;
}
.current{
  background: url("./img/filter-hover.png") center / 80px 50px no-repeat;
  cursor: default; /* カーソルをデフォルトに */
}
a.btn:hover, a.cv-btn:hover, 
div.contact__submit-button:hover{
  box-shadow: none;
  transform: translateY(4px);
  opacity: 1;
}
/*== 波紋がふわっと広がる */
/*波形の設定*/
a.cv-btn:hover::before, div.contact__submit-button:hover::before{
    content: '';
    /*絶対配置で波形の位置を決める*/
    position: absolute;
    left:50%;
    top:0;
    /*波形の形状*/
    border: 1px solid #333;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    /*はじめは不透明*/
    opacity:1;
    /*アニメーションの設定*/
    animation:1s circleanime2 forwards;
}
/*波形が広がるアニメーション*/
@keyframes circleanime2{
  0%{
    transform: scale(0);
  }
  100%{
    transform:scale(2);
    opacity: 0;
  }
}

/*追従パーツ*/
.heading1{
  display: flex;
  align-items: center;
  width: 300px;
  justify-content: space-between;
  position: fixed;
  z-index: 9;
  top: 35px;
  left: 60px;
}
.heading1 a img{
  height: 100px;
  width: 180px;
  object-fit: contain;
}
.heading1 span{
  display: inline-block;
  text-align: center;
  font-family: "Itim", cursive;
  font-size: 1.8rem;
}
.heading1 span.amp{
  font-size: 1.6rem;
}

.top-visual{
  width: 100%;
  margin: 0 auto;
  max-width: 960px;
  
}
.top-visual img{
  width: 100%;
  margin-top: -50px;
}
/*スクロールアニメーション（下からふわっ）*/
.fadeUpTrigger{
  opacity: 0;
}
.fadeUp{
  animation-name: fadeUpAnime;
  animation-duration:2s;
  animation-fill-mode:forwards;
  opacity: 0;
}
.fadeUp.fadeTop{
  animation-delay: 4s;
  animation-duration:3s;
}

@keyframes fadeUpAnime{
from {
    opacity: 0;
    transform: translateY(100px);
  }
to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*スクロールアニメーション（左からふわっ）*/
.fadeLeft{
  animation-name:fadeLeftAnime;
  animation-duration:4s;
  animation-fill-mode:forwards;
  animation-delay: 4.5s;
  opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
    transform: translateX(-80px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.slick-slide {
    box-sizing: border-box;
    /* スライドのボックスモデルをborder-boxに設定 */
}

.slick-track {
    display: flex;
    /* フレックスボックスの設定が有効か確認 */
}
@media(max-width: 1060px){
  .heading1{
    top: 20px;
    left: 24px;
    width: 200px;
  }
  .heading1 a img{
    height: 90px;
    width: 130px;
  }
  .heading1 span{
    font-size: 1rem;
  }
  .heading1 span.amp{
    font-size: 0.8rem;
  }
}
@media(max-width: 860px){
  a.instagram{
    width: 40px;
    height: 40px;
  }
  a.instagram img{
    width: 25px;
    height: 25px;
    top: 7.5px;
    left: 7.5px;
  }
  a.btn{
    width: 100%;
    max-width: 296px;
  }
  div.btn-wrapper{
    display: block;
    margin: 0 auto;
  }
  a.cv-btn{
    margin: 0 auto;
    display: block;
    max-width: 300px;
    width: 100%;
  }
/*  追従パーツ*/
  .heading1{
    width: 150px;  
  }
  .heading1 a img{
    height: 50px;
    width: 74px;
  }
  .heading1 span{
    font-size: 1.0rem;
    line-height: 1.2;
  }
  .heading1 span.amp{
    font-size: 0.8rem;
  }
  .top-visual img{
    margin-top: 0px;
  }
  /*スクロールアニメーション（左からふわっ）*/
  .fadeLeft{
    animation-delay: 4s;
  }
  .fadeUp.fadeTop{
  animation-delay: 4s;
  animation-duration:4s;
  }
}

/*header-------------------------*/
header{
  max-width: 1320px;
  padding: 35px 60px 0;
  width: 100%;
  box-sizing: border-box;
}
.header-nav{
  display: flex;
  justify-content: space-between;
}
.header-nav h1{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-nav h1 img{
  height: 150px;
  width: 260px;
  object-fit: contain;
}
.header-nav h1 span{
  display: inline-block;
  text-align: center;
  font-family: "Itim", cursive;
  font-size: 2rem;
}
span.amp{
  font-size: 1.8rem;
}
.header-nav__list{
  display: flex;
  justify-content: space-between;
  position: fixed;
  z-index: 1000;
  top: 35px;
  right: 60px;
}
.header-nav__list ul{
  display: flex;
  justify-content: space-between;
  margin-right: 80px;
}
.header-nav__list ul li{
  margin-left: 50px;
  list-style: none;
}
.header-nav__list ul li a{
  text-decoration: none;
  color: #2E2422;
  font-family: "Itim", cursive;
  font-size: 2.8rem;
  padding: 20px;
}
/* navigation */
.open-button, .close-button {
  display: none;
}
.header-nav-drawer{
  display: none;
}
/*アニメーション*/
@keyframes gnaviAnime{
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media(max-width: 1060px){
  header{
    height: 100px;
    padding: 20px 24px 0;
    width: 100%;
    box-sizing: border-box;
  }
  .header-nav h1 img{
    height: 90px;
    width: 120px;
  }
  .header-nav h1 span{
    font-size: 1rem;
    text-align: left;

  }
  span.amp{
    font-size: 0.8rem;
  }
  a.header-imstagram{
    display: inline-block;
    position: fixed;
    top: 20px;
    right: 84px;
  }
  .header-nav__list ul{
    display: none;
  }
  
/*  ハンバーガーボタン（通常）*/
  #open-button{
    display: block;
    position: fixed;
    top: 20px;
    right: 24px;
    width: 30px;
    height: 26px;
    cursor: pointer;
    z-index: 1000;
  }
  #open-button span{
    background: #2E2422;
    border-radius: 15px;
    position: absolute;
    left: 0px;
    width: 30px;
    height: 2px;
    display: inline-block;
    z-index: 9999;/*ボタンを最前面に*/
    transition: all .4s;
  }
  #open-button span:nth-of-type(1){
    top: 9px;
  }
  #open-button span:nth-of-type(2){
    top: 19px;
    width: 20px;
    margin-left: 10px;
  }
  #open-button span:nth-of-type(3){
    top: 29px;
  }
  
  /*  ハンバーガーボタン（ドロワーメニュー内）*/
  #open-button.active span:nth-of-type(1) {
    top: 13px;
    left: 8px;
    transform: translateY(6px) rotate(-45deg);
    width: 90%;
  }
  #open-button.active span:nth-of-type(2) {
    opacity: 0;
  }
  #open-button.active span:nth-of-type(3){
    top: 25px;
    left: 8px;
    transform: translateY(-6px) rotate(45deg);
    width: 90%;
  }
  
/*  ドロワーメニュー*/
  #header-nav-drawer{
    opacity: 0;
  }
  #header-nav-drawer.panelactive{
    display: block;
    z-index: 999;
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    height: 100%;
    padding-top: 20px;    
    transition: all 0.6s;
    opacity:1;
  } 
  #header-nav-drawer.panelactive #nav-drawer-wrapper{
    animation-name:gnaviAnime;
    animation-duration:1s;
    animation-delay:0.6s;/*0.2 秒遅らせて出現*/
    animation-fill-mode:forwards;
    opacity:0;
  }
 
  #header-nav-drawer .h1-logo{
    height: 60px;
    display: flex;
    align-items: center;
    width: 140px;
    justify-content: space-between;
    padding: 0 24px;
  }
  .h1-logo a img{
    height: 50px;
    width: 70px;
    object-fit: contain;
  }
  .h1-logo span{
    display: inline-block;
    text-align: center;
    font-family: "Itim", cursive;
    font-size: 1rem;
  }
  span.amp{
    font-size: 0.8rem;
  }
  #header-nav-drawer nav div.menu{
    margin-top: 40px;
    margin-left: 40px;
    display: inline-block;
    position: relative;
  }
  #header-nav-drawer nav div.menu img{
    height: 40px;
    object-fit: contain;
  }
  #header-nav-drawer nav div.menu span{
    color: #3F6C3E;
    text-align: center;
    display: block;
    width: 100%;
    margin: 0 auto;
    position: absolute;
    top: 35px;
    left: 0;
    font-weight: 700;
  }
  #header-nav-drawer nav ul{
    margin: 40px 24px 0 calc(50vw - 24px);
  }
  #header-nav-drawer nav ul li{
    padding: 30px 10px 0px 0px;
    width: 50vw;
    margin: 0;
    display: block;
    box-sizing: border-box;
    position: relative;
  }

  #header-nav-drawer nav ul li::after{
    content: "";
    width: 50vw;
    border-bottom: dashed 1px #3F6C3E;
    display: inline-block;
    padding-top: 40px
  }
  #header-nav-drawer nav ul li:last-child::after{
    display: none;
  }
  #header-nav-drawer li a img{
    object-fit: contain;
  }
  
  #header-nav-drawer li:nth-of-type(1) a img{
    height: 30px;
    width: 80px;
  }
  #header-nav-drawer li:nth-of-type(2) a img{
    height: 30px;
    width: 70px;
    display: inline-block;
    margin-left: 10px;
  }
  #header-nav-drawer li:nth-of-type(3) a img{
    width: 110px;
    display: inline-block;
    margin-left: 10px;
  }
  #header-nav-drawer li a span{
    font-size: 1.4rem;
    text-decoration: none;
    display: block;
    color: #3F6C3E;
    text-align: center;
    margin: 0 auto;
    position: absolute;
    font-weight: 700;
  }
  #header-nav-drawer li:nth-of-type(1) a span{
    top: 55px;
    left: 10px;
  }
  #header-nav-drawer li:nth-of-type(2) a span{
    top: 55px;
    left: 10px;
  }
  #header-nav-drawer li:nth-of-type(3) a span{
    top: 55px;
    left: 10px
  }
  #header-nav-drawer li a::after{
    color: #3F6C3E;
    content: '＞';
    position: absolute;
    right: 10px;
    top: 40px;
    font-weight: 700;
  }
  /*丸の拡大*/
  .circle-bg{
    position: fixed;
    z-index:99;
    /*丸の形*/
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #F6F4EC;
    /*丸のスタート位置と形状*/
    transform: scale(0);/*scaleをはじめは0に*/
    right:-50px;
    top:-50px;
    transition: all 1.2s;/*1.2秒かけてアニメーション*/
  }
  .circle-bg.circleactive{
    transform: scale(50);/*クラスが付与されたらscaleを拡大*/
    transition: all 2s;/*1秒かけてアニメーション*/
  }
}

@media(max-width: 374px){
  .header-nav h1 img {
    height: 60px;
    width: 80px;
    display: inline-block;
  } 
}

/*section-mainimage-------------------------*/
.section-mainimage{
  display: flex;
  justify-content: space-between;
  flex-direction:row-reverse;
  align-items: center;
  max-width: 1300px;
  padding: 0 20px 0 60px;
  width: 100%;
  margin: -30px auto ;
  box-sizing: border-box;
}
.section-mainimage h2 img{
  width: calc(40vw - 60px);
  object-fit: contain;
  max-width: 400px;
  position: absolute;
  top: 35%;
  left: 10%;
}
.section-mainimage ul{
  width: calc(60vw - 60px);
  max-width: 700px;
  list-style: none;
}
.section-mainimage ul li img{
  width: 100%;
  max-width: 700px;
  object-fit: contain;
  max-height: calc(100dvh - 200px);
}
 
@media(max-width: 1060px){
  .section-mainimage h2 img{
    top: 20%;
    left: 7%;
  }
}

@media(max-width: 860px){
  .section-mainimage{
    display: block;
    max-width: calc(100vw - 48px);
    padding: 0;
    margin: -20px auto ;
  }
  .section-mainimage h2{
    width: calc(100vw - 48px);
    margin: 0 auto;
    display: inline-block;
    max-width: 500px;
    position: absolute;
    left: 50%;
    top: 700px;
    transform: translateX(-50%)!important;
    
  }
  .section-mainimage h2 img{
    width: 100%;
    display: inline-block;
    max-width: 500px;
    top: 0;
    left: 0
  }
  .section-mainimage ul{
    width: calc(100vw - 48px);
    margin: 0 auto;
    padding-top: 30px;
  }
  .section-mainimage ul li{
    margin: 0 auto;
    width: 100%;
  } 
  .section-mainimage ul li img{
    width: 100%;
    object-fit: contain;
    margin: 0 auto;
    max-width: 650px;
    display: block;
  }
}
@media(max-width:700px){
  .section-mainimage h2{
    top: calc(100vw + 20px);
  }
}

@media(max-width: 374px){
  .section-mainimage ul{
    padding-top: 0px;
  }
  .section-mainimage h2{
    top: 100vw;
  }
}

/*section-concept-------------------------*/
.section-concept{
  margin: 0 auto;
  max-width: 1160px;
  position: relative;
  padding: 150px 60px 0
}
.decoration img{
  width: 35vw;
  position: absolute;
}
.decoration img:nth-of-type(1){
  display: none;
  top: -170px;
  transform: rotate(-40deg);/* 回転 */
  left: -15vw;
}
.decoration img:nth-of-type(2){
  transform: rotate(-60deg);
  top: -50px;
  left: -25vw
}
.section-concept h2{
  width: 200px;
}
.section-concept h2 img{
  display: block;
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.section-concept h2 span{
  display: block;
  text-align: center;
  color: #3F6C3E;
  font-weight: 700;
  font-size: 1.6rem;
  margin: -10px auto 50px;
}
.section-concept__container{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-concept__container-image img{
  width: calc(45vw - 60px);
  max-width: 500px;
  height: 400px;
  border-radius: 200px;
  object-fit: cover;
}
.section-concept__container-text{
  width: calc(45vw - 60px);
  max-width: 500px;
}
.section-concept__container-text h3{
  font-size: 2.4rem;
  color: #3F6C3E;
  margin-bottom: 50px;
}
@media(min-width: 1500px){
  .decoration img:nth-of-type(1){
    top: -20px;
    transform: rotate(-40deg);/* 回転 */
    left: -25vw;
  }
  .decoration img:nth-of-type(2){
    transform: rotate(-60deg);
    top: 30px;
    left: -30vw
  }
}
@media(max-width: 1060px){
  .section-concept__container-text h3{
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
}
@media(max-width: 860px){
  .section-concept{
    padding: 60vw 24px 0
  }
  .decoration img{
    width: 60vw;
  }
  .decoration img:nth-of-type(1){
    top: -60px;
    transform: rotate(-40deg);/* 回転 */
    left: -15vw;
  }
  .decoration img:nth-of-type(2){
    display: none;
  }
  .section-concept h2{
    width: 150px;
    margin: 0 auto;
  }
  .section-concept__container{
    display: block;
    margin: 0 auto;
    width: calc(100vw - 48px);
  }
  .section-concept__container-image img{
    width: 100%;
    max-width: 500px;
    height: 270px;
    border-radius: 160px;
    margin: 0 auto 30px;
    vertical-align: bottom;
    display: block;
  }
  .section-concept__container-text{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  .section-concept__container-text h3{
    text-align: center;
  }
  .section-concept__container-text p{
    font-size: 1.4rem;
  }
}
@media(max-width: 700px){
  .section-concept{
    padding: 80vw 24px 0
  }
}
@media(max-width: 374px){
  .section-concept__container-text h3{
    font-size: 1.6rem;
  }
}

/*section-profile-------------------------*/
.section-profile{
  margin: 0 auto;
  max-width: 1160px;
  position: relative;
  padding: 200px 60px 0
}
.section-profile h2{
  width: 170px;
}
.section-profile h2 img{
  display: block;
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.section-profile h2 span{
  display: block;
  text-align: center;
  color: #3F6C3E;
  font-weight: 700;
  font-size: 1.6rem;
  margin: -10px auto 50px;
}
.section-profile__container{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.section-profile__container-image{
  width: 40vw;
  max-width: 450px;
}
.section-profile__container-image img{
  width: 320px;
  height: 320px;
  display: block;
  margin: 0 auto;
  border-radius: 20px;
  object-fit: cover;
  vertical-align: bottom;
}
.section-profile__container-text{
  width: 60vw;
  max-width: 650px;
}
.section-profile__container-text h3{
  margin-bottom: 30px;
  display: flex;
  justify-content: space-between;
  width: 350px;
}
.section-profile__container-text h3 img.name{
  width: 280px;
  height: 50px;
  object-fit: contain;
}

@media(max-width: 1060px){
  .section-profile__container-image{
    width: 30vw;
  }
  .section-profile__container-text{
    width: 50vw;
  }
}  
@media(max-width: 860px){
  .section-profile{
    padding: 150px 24px 0
  }
  .section-profile h2{
    width: 130px;
    margin: 0 auto;
  }
  .section-profile__container{
    display: block;
    margin: 0 auto;
    width: calc(100vw - 48px);
  }
  .section-profile__container-image{
    width: calc(100vw - 48px);
    margin: 0 auto;
  }
  .section-profile__container-image img{
    width: 250px;
    height: 250px;
  }
  .section-profile__container-text{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  .section-profile__container-text h3{
    margin: 30px auto;
    max-width: 350px;
    width: calc(100vw - 48px);
    justify-content: center;
    column-gap: 15px;
  }
  .section-profile__container-text h3 img.name{
    width: 250px;
    height: 50px;
    
  }
  .section-profile__container-text p{
    font-size: 1.4rem;
  }
}
@media(max-width: 374px){
  .section-profile__container-text h3{
    justify-content: center;
  }
  .section-profile__container-text h3 a{
    display: none;
  }
}

/*section-gallery-------------------------*/
.section-gallery{
  margin: 0 auto;
/*  max-width: 1160px;*/
  position: relative;
  padding: 200px 0 0
}
.section-gallery h2{
  width: 200px;
  margin: 0 auto 50px;
}
.section-gallery h2 img{
  display: block;
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.section-gallery h2 span{
  display: block;
  text-align: center;
  color: #3F6C3E;
  font-weight: 700;
  font-size: 1.6rem;
  margin: -10px auto 40px;
}
.section-gallery__container-slide div#slick-slide02,.section-gallery__container-slide div#slick-slide03, .section-gallery__container-slide div#slick-slide04{
  overflow: hidden;
  position: relative;
  margin-bottom: 30px;
}
.section-gallery__container-slide div#slick-slide02 div, .section-gallery__container-slide div#slick-slide03 div, .section-gallery__container-slide div#slick-slide04 div{
  list-style: none;
  padding: 10px 0;
}
/*モーダルを開くボタン*/
.section-gallery__container-slide div#slick-slide02 div img.slide-image, .section-gallery__container-slide div#slick-slide03 div img.slide-image, .section-gallery__container-slide div#slick-slide04 div img.slide-image{
  width: 300px;
  height: 300px;
  object-fit: cover;
  display: block;
  margin: 0 auto ;
  border-radius: 53% 44% 47% 50% / 48% 48% 46% 50%;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
}

/*ポップアップ表示*/
/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: 0.8s;
  box-sizing: border-box;
  z-index: 1000;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}

/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 700px;
  height: 75vh;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
  align-items: center;
  justify-content: center;
	top: 10px;
  right: 10px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #2E2422;
	cursor: pointer;
  z-index: 1;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	background: #fff;
	text-align: left;
	padding: 30px;
  height: auto;
  border-radius: 10px;
  position: fixed;
  width: 700px;
  box-sizing: border-box;
}
.modal-content img{
  width: 100%;
  height: 50vh;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}
.modal-content h3{
  margin: 20px 0 10px 0;
  font-size: 2.4rem;
  font-weight: 700;
  color: #3F6C3E;
  width: 700px;
}



@media(max-width: 860px){
  .section-gallery{
    padding: 150px 0 0;
  }
  .section-gallery h2{
    width: 130px;
    margin: 0 auto;
  }
  .section-gallery__container-slide div#slick-slide02,.section-gallery__container-slide div#slick-slide03, .section-gallery__container-slide div#slick-slide04{
    margin-bottom: 0;
  }
    .section-gallery__container-slide div#slick-slide02 div, .section-gallery__container-slide div#slick-slide03 div, .section-gallery__container-slide div#slick-slide04 div{
    padding: 5px 0;
  }
  /*モーダルを開くボタン*/
  .section-gallery__container-slide div#slick-slide02 div img.slide-image, .section-gallery__container-slide div#slick-slide03 div img.slide-image, .section-gallery__container-slide div#slick-slide04 div img.slide-image{
    width: 200px;
    height: 200px;
  }
  /*ポップアップ表示*/
  /*モーダル枠の指定*/
  .modal-body{
    width: calc(100vw - 48px);
    max-width: 500px;
    height: 60vh;
  }
  /*モーダルを閉じるボタンの指定*/
  .modal-close{
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    font-size: 30px;
  }
  /*モーダル内のコンテンツの指定*/
  .modal-content{
    padding: 24px;
    width: calc(100vw - 48px);
    max-width: 500px;
  }
  .modal-content img{
    width: 100%;
    height: auto;
  }
  .modal-content h3{
    margin: 15px 0 10px 0;
    font-size: 2rem;
    width: 100%;
    line-height: 1.5;
  }
  .modal-content p{
    font-size: 1.4rem;
  }
}

/*section-news-------------------------*/
.section-news{
  margin: 0 auto;
  max-width: 1160px;
  position: relative;
  padding: 160px 60px 0
}
.section-news h2{
  width: 150px;
  margin: 0 auto 50px;
}
.section-news h2 img{
  display: block;
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.section-news h2 span{
  display: block;
  text-align: center;
  color: #3F6C3E;
  font-weight: 700;
  font-size: 1.6rem;
}
.section-news__container ul{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.section-news__container ul li{
  list-style: none;
  width: 300px;
}
.section-news__container ul li:nth-of-type(2){
  width: 320px;
}
.section-news__container ul li a{
  text-decoration: none;
}
.section-news__container ul li a img{
  width: 300px;
  height: 300px;
  object-fit: cover;
  border-radius: 52% 48% 47% 41% / 49% 45% 45% 47%;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
  display: block;
  vertical-align: bottom;
  margin: 10px auto;
}
.section-news__container ul li a time{
  color: #3F6C3E;
  font-size: 2rem;
  font-family: "Itim", cursive;
  display: block;
  width: 300px;
  margin: 0 auto;
}

.section-news__container ul li a h3{
  color: #2E2422;
  font-size: 2rem;
  width: 300px;
  margin: 0 auto;
}


@media(max-width: 1060px){
  .section-news__container ul{
    justify-content: center;
  }
  .section-news__container ul li{
    width: 370px;
  }
  .section-news__container ul li:nth-of-type(2){
    display: none;
  }
} 
@media(max-width: 860px){
  .section-news{
    padding: 100px 0 0;
  }
  .section-news h2{
    width: 110px;
    margin: 0 auto 40px;
  }
  
  .section-news__container ul{
    display: block;
  }
  .section-news__container ul li{
    width: calc(100vw - 48px);
    margin: 0 auto;
  }
  .section-news__container ul li a img{
    width: 250px;
    height: 250px;
    display: block;
  }
  .section-news__container ul li a time{
    width: calc(100vw - 48px);
    max-width: 500px;
  }
  .section-news__container ul li a h3{
    width: calc(100vw - 48px);
    max-width: 500px;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  
}
@media(max-width: 374px){
  .section-news__container ul li a img{
    width: 200px;
    height: 200px;
  }
}

/*section-contact-------------------------*/
.section-contact{
  margin: 0 auto;
  max-width: 1160px;
  position: relative;
  padding: 0 60px;
}
.section-contact h2{
  width: 200px;
  position: absolute;
  top: 20px;
  left: 50%;
}
.section-contact h2 img{
  display: block;
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.section-contact h2 span{
  display: block;
  text-align: center;
  color: #3F6C3E;
  font-weight: 700;
  font-size: 1.6rem;
  margin: 0px auto 50px;
}
.section-contact__container{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 200px;
}
.section-contact__container-image{
  width: calc(50vw - 60px);
  max-width: 500px;
}
.section-contact__container-image img{
  width: 90%;
  height: 310px;
  border-radius: 150px;
  object-fit: cover;
  display: inline-block;
}
.section-contact__container-text{
  width: calc(50vw - 60px);
  max-width: 580px;
}
div.btn-wrapper{
  display: flex;
  justify-content: flex-end;
  padding-top: 50px;
}


@media(max-width: 860px){
  .section-contact{
    padding: 150px 24px 0
  }
  .section-contact h2{
    width: 170px;
    margin: 0 auto;
    position: static;
  }
  .section-contact__container{
    display: block;
    margin: 0 auto;
    width: calc(100vw - 48px);
  }
  .section-contact__container-image{
    margin: 0 auto;
    width: calc(100vw - 48px);
    max-width: 500px;
  }
  .section-contact__container-image img{
    width: 100%;
    height: 200px;
    margin: 0 auto 30px;
    vertical-align: bottom;
    display: block;
  }
  .section-contact__container-text{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  .section-contact__container-text p{
    font-size: 1.4rem;
  }
  
}
@media(max-width: 500px){
  svg{
    margin-top: 30px;
  }
}

/*footer-------------------------*/
footer{
  background-color: #F6F4EC;
  margin-top: -200px;
}
.footer-container{
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 60px;
}
.footer-nav{
  display: flex;
  justify-content: space-between;
}
.footer-nav__list ul li{
  list-style: none;
  margin-bottom: 40px;
}
.footer-nav__list ul li:last-child{
  margin: 0;
}
.footer-nav__list ul li a{
  text-decoration: none;
  color: #2E2422;
  font-family: "Itim", cursive;
  font-size: 2.8rem;
  padding: 20px 10px;
}
.footer-logo{
  width: 400px; 
}
.footer-logo__logo{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 20px;
}
.footer-logo__logo img{
  height: 150px;
  width: 260px;
  object-fit: contain;
}
.footer-logo a{
  text-decoration: none;
}
.footer-logo a.footer-logo__logo span{
  display: block;
  width: 150px;
  text-align: center;
  font-family: "Itim", cursive;
  font-size: 2rem;
  color: #2E2422;
}
.instagram-wrapper{
  display: flex;
  justify-content: flex-end;
  margin-top: -20px;
}
.footer-logo a.instagram {
  background-color: #FDF35B;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  position: relative;
  display: block;
}
.footer__image-wrapper{
  width: 100%;
  position: relative;
}
.footer__image-wrapper img{
  width: 100vw;
  object-fit: cover;
  margin: 0 auto;
  vertical-align: bottom;
}
.footer__copyright{
  position: absolute;
  bottom: 30px;
  display: inline-block;
  width: 100%;
  text-align: center;
  color: #fff;
  z-index: 9;
}
@media(max-width: 1230px){
  footer{
    margin-top: -120px;
  }
}
@media(max-width: 860px){
  footer{
    margin-top: -30px;
  }
  .footer-container{
    max-width: calc(100vw - 48px);
    padding: 0 24px;
  }
  .footer-nav__list ul li:last-child{
    margin-bottom: 50px;
  }
  .footer-nav__list ul li a{
    font-size: 2.6rem;
  }
  .footer-logo{
    width: 350px; 
  }
  .footer-logo__logo img{
    height: 120px;
    width: 200px;
  }
  .footer-logo a.instagram {
    width: 40px;
    height: 40px;
    border-radius: 40px;
  }
  .instagram-wrapper{
    margin: -10px;
    width: 360px; 
  }
 } 
@media(max-width: 550px){
  .footer-nav{
    display: block;
  }
  .footer-nav__list ul li{
    margin-bottom: 40px;
  }
  .footer-logo{
    width: calc(100vw - 48px);
    max-width: 500px; 
    margin-bottom: 30px;
  }
  .footer-logo__logo{
    align-items: flex-start;
    padding: 0;
    margin: 0 auto;
    width: 272px;
  }
  .footer-logo__logo img{
    height: 120px;
    width: 180px;
    margin-left: -15px;
  }
  .footer-logo a.footer-logo__logo span{
    width: 110px;
    font-size: 1.6rem;
  }
  .instagram-wrapper{
    width: 272px;
    margin: 0 auto;
  }
  .footer-logo a.instagram {
    margin-top: -50px;
  }
  .footer__copyright{
    bottom: 10px;
    font-size: 1rem;
  }
}

/*ここからshop.html-------------------------*/
/*section-shop-------------------------*/
.section-shop{
  margin: 0 auto;
  max-width: 1160px;
  position: relative;
  padding: 0 60px;
}
.section-shop h2{
  width: 150px;
  margin: -130px auto 60px;
}
.section-shop h2 img{
  display: block;
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.section-shop h2 span{
  display: block;
  text-align: center;
  color: #3F6C3E;
  font-weight: 700;
  font-size: 1.6rem;
  margin: -10px auto 0;
}
.section-shop__wording p{
  text-align: center;
  font-size:  1.8rem;
  margin-bottom: 100px;
}
.section-shop__filtering{
  width: 600px;
  display: flex;
  justify-content: space-between;
  margin-left: calc(100% - 600px);
  margin-bottom: 50px;
}
.section-shop__filtering a{
  display: inline-block;
  width: 120px;
  border-right: dotted 1px #3F6C3E;
  margin-right: 1px;
  padding: 0 0 10px 0;
  text-align: center;
  text-decoration: none;
  color: #3F6C3E;
  font-size: 2.4rem;
  font-family: "Itim", cursive;
  position: relative;
  /* transition: 0.5s; */
}
.section-shop__filtering a:hover{
  background: url("./img/filter-hover.png") center / 70% no-repeat;
}
.section-shop__filtering a:last-child{
  border: none;
}
.section-shop__filtering a span{
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", serif;
  display: block;
  margin-top: -10px;
}
.section-shop__list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 50px;/* 行と行の間(縦方向)の余白 */
}
/*最終行を左揃えにする*/
.section-shop__list::before{
  display: block;
  content:"";
  width: 280px;
  order: 1;
}
.section-shop__list::after {
  display: block;
  content:"";
  width: 280px;
  }
.section-shop__list li{
  list-style: none;
  width: 280px;
  animation: test 2s;
}
@keyframes test {
  0% {
   transform: scale(.1);
  }
  100% {
    transform: none;
  }
}
.section-shop__list li a{
  text-decoration: none;
  color: #2E2422;
}
.section-shop__img-wrapper img{
  width: 245px;
  height: 245px;
  object-fit: cover;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
  border-radius: 53% 44% 47% 50% / 48% 48% 46% 50%;
  vertical-align: bottom;
  display: block;
  margin: 0 auto;
}
.section-shop__text-wrapper{
  margin: 0 auto;
  padding-top: 20px;
  position: relative;
  width: 245px;
}
.section-shop__text-wrapper h3{
  display: inline-block;
  font-size: 2rem;
  color: #3F6C3E;
}
.section-shop__text-wrapper span{
  position: absolute;
  top: 25px;
  right: 0;
  font-size: 1.6rem;
  font-family: "Itim", cursive;
}
.section-shop__text-wrapper p{
  font-size: 2.2rem;
  font-family: "Itim", cursive;
  margin-top: -10px;
}
@media(max-width: 1060px){
  .section-ordermade__container-text div.btn-wrapper{
    padding-top: 20px;
  }
}
@media(max-width: 960px){
  .section-shop__list{
    justify-content: center;
    column-gap: 50px;
  }
}
@media(max-width: 860px){
  .section-shop{
    padding: 0px 24px;
  }
  .section-shop h2{
    width: 80px;
    margin: 0px auto 45px;
  }
  .section-shop__wording{
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .section-shop__wording p{
    text-align: left;
    font-size:  1.4rem;
    margin-bottom: 40px;
    display: inline-block;
  }
  .section-shop__filtering{
    margin: 0 auto 40px;
    width: 100%;
    max-width: 400px;
    justify-content: center;
  }
  .section-shop__filtering a{
    padding: 0 5px 5px;
    font-size: 1.6rem;
  }
  .section-shop__filtering a span{
    font-size: 1rem;
  }
  .section-shop__list{
    row-gap: 30px;/* 行と行の間(縦方向)の余白 */
    column-gap: 0px;
    justify-content: space-between;
  }
  /*最終行を左揃えにする*/
  .section-shop__list::before {
    width: 160px;
  }
  .section-shop__list::after {
    width: 160px;
  }
  .section-shop__list li{
    width: 160px;
  }
  .section-shop__img-wrapper img{
    width: 150px;
    height: 150px;
  }
  .section-shop__text-wrapper{
    padding-top: 15px;
    width: 150px;
  }
  .section-shop__text-wrapper h3{
    font-size: 1.6rem;
  }
  .section-shop__text-wrapper span{
    top: 40px;
    right: 0;
    font-size: 1.4rem;
  }
  .section-shop__text-wrapper p{
    font-size: 1.6rem;
    margin-top: -5px;
  }
}
@media(max-width: 374px){
  .section-shop__list{
    justify-content: center;
    row-gap: 30px;/* 行と行の間(縦方向)の余白 */
  }
}
/*section-ordermade-------------------------*/
.section-ordermade{
  margin: 0 auto;
  max-width: 1160px;
  position: relative;
  padding: 0 60px;
}
.coming-soon{
  width: 50%;
  height: 80%;
  margin-top: 80px;
  padding-top: 40px;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  display: block;
  z-index: 9;
  position: absolute;
  top: 0;
  left: 49%;
}
.coming-soon img{
  object-fit: cover;
  transform: rotate(-5deg);
  margin-left: 80px;
  max-width: 330px;
}
.section-ordermade h2{
  width: 220px;
  position: absolute;
  top: 10px;
  left: 50%;
}
.section-ordermade h2 img{
  display: block;
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.section-ordermade h2 span{
  display: block;
  text-align: center;
  color: #3F6C3E;
  font-weight: 700;
  font-size: 1.6rem;
  margin: 0px auto 30px;
}
.section-ordermade__container{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 200px;
}
.section-ordermade__container-image{
  width: calc(50vw - 60px);
  max-width: 500px;
}
.section-ordermade__container-image img{
  width: 350px;
  height: 350px;
  border-radius: 50% 48% 44% 50% / 48% 48% 46% 52%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}
.section-ordermade__container-text{
  width: calc(50vw - 60px);
  max-width: 580px;
  position: relative;
}

.section-ordermade__container-text h3{
  font-size: 2.4rem;
  color: #3F6C3E;
  margin-bottom: 20px;
}
@media(max-width: 1060px){
  .coming-soon img{
    margin-left: 60px;
  }
}

@media(max-width: 860px){
  .section-ordermade{
    padding: 150px 24px 50px
  }
  .coming-soon{
    width: 100%;
    height: calc(100% - 500px);
    margin-top: 200px;
    padding-top: 270px;
    top: 0;
    left: 0;
  }
  .coming-soon img{
    height: 50px;
    display: block;
    margin: 0 auto;
  }
  .section-ordermade h2{
    width: 170px;
    margin: 0 auto;
    position: static;
  }
  .section-ordermade__container{
    display: block;
    margin: 0 auto;
    width: calc(100vw - 48px);
  }
  .section-ordermade__container-image{
    margin: 0 auto;
    width: calc(100vw - 48px);
    max-width: 500px;
  }
  .section-ordermade__container-image img{
    width: 250px;
    height: 250px;
    margin: 0 auto 30px;
    vertical-align: bottom;
    display: block;
  }
  .section-ordermade__container-text{
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
  .section-ordermade__container-text p{
    font-size: 1.4rem;
  }
}

/*ここからshop-detail-------------------------*/
.section-shop-detail{
  display: flex;
  justify-content: space-between;
  max-width: 1160px;
  padding: 50px 60px 0;
  margin: 0 auto;
}
ul.section-shop-detail__img{
  width: 42vw;
  height: 30%;
  margin-bottom: 16px;
}
li.section-shop-detail__img-touch{
  margin: 10px;
}
li.section-shop-detail__img-touch img{
  width: 40vw;
  height: 400px;
  object-fit: cover;
  border-radius: 30px;
  margin: 0 auto;
}
.section-shop-detail__text{
  width: calc(50vw - 60px);
  max-width: 530px;
}
.section-shop-detail__text{
  padding: 30px 0 0 30px;
}
.text-top h2{
  font-size: 2.8rem;
  font-weight: 700;
  color: #3F6C3E;
  margin-bottom: 10px;
}
.text-top p{
  font-size: 3.8rem;
  font-family: "Itim", cursive;
  text-align: right;
  margin-bottom: 10px;
}
.text-top p span{
  font-size: 1.6rem;
  font-family: "Zen Maru Gothic", serif;
}
.section-shop-detail__btn-wrapper{
  width: 300px;
  display: block;
  margin: 0 0 0 auto;
}
a.cv-btn.buy-btn::after { /*  両方指定*/
  content: url("./img/external-link.png");
  transform: scale(0.4);
  vertical-align: middle;
  position: absolute;
  right: 20px;
  top: -7px;
}
.text-bottom{
  padding-top: 40px;
}
.text-bottom h3{
  font-size: 1.8rem;
  font-weight: 700;
}
.text-bottom p{
  margin-top: 10px;
}
.section-shop-detail__back-btn-wrapper{
  margin-left: auto;
  width: 300px;
  display: block;
}
a.btn.back-btn{
  width: 200px;
  margin: 50px 0 0 auto;
}
a.btn.back-btn::after{
  right: 20px;
}
@media(max-width: 860px){
  .section-shop-detail{
    display: block;
    padding: 30px 24px 0;
    position: relative;
  }
  ul.section-shop-detail__img{
    width: 100%;
    height: 35vh;
    margin-bottom: 30px;
  }
  li.section-shop-detail__img-touch{
    margin: 0 auto 10px;
    width: 100%;
    max-width: 500px;
  }
  li.section-shop-detail__img-touch img{
    width: 100%;
    height: 35vh;
    border-radius: 20px;
    vertical-align: bottom;
    margin: 0 auto;
    object-fit: cover;
    display: block;
  }

  .section-shop-detail__text{
    width: 100%;
    max-width: 500px;
  }
  .section-shop-detail__text{
    padding: 0;
    display: block;
    margin: 50px auto 0;
  }
  .text-top h2{
    font-size: 2.2rem;
    margin-bottom: 0px;
  }
  .text-top p{
    font-size: 2.8rem;
    margin-bottom: 20px;
  }
  .text-top p span{
    font-size: 1.4rem;
  }
  .section-shop-detail__btn-wrapper{
    width: 100%;
    max-width: 300px;
  }
  .section-shop-detail__btn-wrapper a{
    margin-left: 0;
  }
  a.cv-btn.buy-btn::after { /*  両方指定*/
    right: 15px;
  }
  .text-bottom{
    padding-top: 40px;
  }
  .text-bottom h3{
    font-size: 1.8rem;
    font-weight: 700;
  }
  .text-bottom p{
    margin-top: 10px;
  }
  .section-shop-detail__back-btn-wrapper{
    margin-left: auto;
    width: 300px;
    display: block;
  }
  a.btn.back-btn{
    width: 196px;
    margin: 50px 0 0 auto;
  }
  a.btn.back-btn::after{
    right: 20px;
  }
}
/*ここからnews.html-------------------------*/
.news{
  margin: 0 auto;
  max-width: 1160px;
  position: relative;
  padding: 0 60px;
}
.news h2{
  width: 150px;
  margin: -130px auto 120px;
}
.news h2 img{
  display: block;
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.news h2 span{
  display: block;
  text-align: center;
  color: #3F6C3E;
  font-weight: 700;
  font-size: 1.6rem;
  margin: 0px auto 0;
}
.news-wrapper{
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1160px;
  flex-direction: row-reverse;
}
.news__filtering{
  width: 25vw;
  max-width: 200px;
  
}
.news__filtering p{
  display: block;
  padding: 0 10px 0 20px;
  font-size: 3rem;
  font-family: "Itim", cursive;
  border-bottom: dotted 1px #3F6C3E;
  color: #3F6C3E;
  line-height: 2;
  margin-bottom: 20px;
}
.news__filtering a{
  display: inline-block;
  width: 120px;
  padding: 20px 10px;
  text-align: center;
  text-decoration: none;
  color: #2E2422;
  font-size: 2.4rem;
  font-family: "Itim", cursive;
}
.news__filtering a:hover{
  opacity: 1;
  background: url("./img/filter-hover.png") center / 70% no-repeat;
}
.news__list{
  width: calc(100vw - 380px);
  max-width: 750px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 50px;/* 行と行の間(縦方向)の余白 */
}
/*最終行を左揃えにする*/
.news__list::after {
  display: block;
  content:"";
  width: 320px;
  }
.news__list li{
  list-style: none;
  width: 320px;
  animation: test 2s;
}
.news__list li a{
  text-decoration: none;
  color: #3F6C3E;
}
.news__list__img-wrapper img{
  width: 300px;
  height: 300px;
  object-fit: cover;
  box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
  border-radius: 49% 50% 51% 43% / 49% 45% 48% 47%;
  vertical-align: bottom;
  margin: 0 auto;
  display: block;
}
.news__text-wrapper{
  width: 300px;
  padding-top: 10px;
  margin: 0 auto;
}
.news__text-wrapper time{
  font-size: 2rem;
  font-family: "Itim", cursive;
}
.news__text-wrapper h3{
  font-size: 2rem;
  color: #2E2422;
}
.pagenation{
  width: 240px;
  display: flex;
  justify-content: space-between;
  margin: -100px 0 0 auto;
}
.pagenation li{
  display: inline-block;
  background-color: rgba(253, 243, 91, 0.6);
  border-radius: 45px;
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  font-size: 2rem;
  font-family: "Itim", cursive;
}
.pagenation li a{
  text-decoration: none;
  color: #2E2422;
}
.pagenation li:last-child{
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagenation li img{
  width: 20px;
  height: 20px;
  display: block;
}
@media(max-width: 1030px){
  .news__list::after {
    width: 240px;
    }
  .news__list li{
    width: 240px;
  }
  .news__list__img-wrapper img{
    width: 230px;
    height: 230px; 
  }
  .news__text-wrapper{
    width: 210px;
  }
}
@media(max-width: 860px){
  .news{
    padding: 0 24px;
  }
  .news h2{
    width: 80px;
    margin: 0px auto 45px;
  }
  .news-wrapper{
    display: block;
  }
  .news__filtering{
    width: 100%;
    max-width: 100%;
  }
  .news__filtering p{
    font-size: 2rem;
    margin-bottom: 5px;
  }
  .news__filtering a{
    display: inline-block;
    width: 80px;
    text-align: center;
    font-size: 1.8rem;
    padding: 10px 5px;
  }
  .news__filtering a:hover{
    opacity: 1;
    background: url("./img/filter-hover.png") center / 50% no-repeat;
  }
  .news__list{
    width: 100%;
    display: block;
    margin: 0 auto;
  }
  .news__list li{
    width: 100%;
    padding: 50px 0;
    border-bottom: dashed 1px #3F6C3E; 
  }
  .news__list li:last-child{
    border: none;
  }
  .news__text-wrapper{
    width: 100%;
    max-width: 500px;
  }
  .pagenation{
    margin: 50px auto 0;;
  }
  .pagenation li{
    display: inline-block;
    background-color: rgba(253, 243, 91, 0.6);
    border-radius: 45px;
    width: 45px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    font-size: 2rem;
    font-family: "Itim", cursive;
  }
  .pagenation li a{
    text-decoration: none;
    color: #2E2422;
  }
  .pagenation li:last-child{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .pagenation li img{
    width: 20px;
    height: 20px;
    display: block;
  }
}
/*ここからnews-detail-------------------------*/
.news-detail{
  display: flex;
  justify-content: space-between;
  max-width: 1160px;
  padding: 50px 60px 0;
  margin: 0 auto;
}
ul.news-detail__img{
  width: 400px;
  height: 400px;
  max-width: 500px;
  margin: 0 auto;
}
.news-detail__img li div.slick-track{
  width: 400px!important;
}
.news-detail__img li img{
  width: 400px!important;
  height: 400px;
  object-fit: cover;
  border-radius: 53% 44% 47% 50% / 48% 48% 46% 50%;
  margin: 0 auto;
  display: block;
}

.news-detail__text{
  width: calc(50vw - 60px);
  max-width: 530px;
}
.news-detail__text{
  padding: 0px 0 0 30px;
}
.news-detail__text time{
  font-size: 2.4rem;
  font-family: "Itim", cursive;
  color: #3F6C3E;
}
.news-detail__text h2{
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 50px;
}
.news-detail__text p{
  font-size: 1.6rem;
  margin-bottom: 16px;
}
.news-detail__btn-wrapper{
  width: 250px;
  display: block;
  margin: 0 0 0 auto;
  padding-top: 40px;
}
a.cv-btn.instagram-btn{
  width: 250px;
  position: relative;
  background: url("./img/instagram.png") 24px 17px/ 10% no-repeat #FDF35B;
}
a.cv-btn.instagram-btn::after { /*  両方指定*/
  content: url("./img/external-link.png");
  transform: scale(0.4);
  vertical-align: middle;
  position: absolute;
  right: 10px;
  top: -7px;
}
.news-detail__back-btn-wrapper{
  margin-left: auto;
  width: 300px;
  display: block;
}
.news-detail__back-btn-wrapper a.btn.back-btn{
  width: 200px;
  margin: 20px 0 0 auto;
}
@media(max-width: 1060px){
  .news-detail__img{
    width: 300px!important;
    height: 300px!important;
    max-width: 400px;
    margin: 0 auto;
  }
  .news-detail__img li div.slick-track{
  width: 300px!important;
}
  .news-detail__img li img{
    width: 300px!important;
    height: 300px;
  }
  .news-detail__text{
    padding: 0 0 0 30px;
  }
}
@media(max-width: 860px){
  .news-detail{
    display: block;
    padding: 50px 24px 0;
  }
  .news-detail__img{
    width: 100%;
    height: 270px!important;
    max-width: 500px;
    margin: 0 auto;
  }

  .news-detail__img li img{
    width: 270px!important;
    height: 270px;
  }
  .news-detail__text{
    width: 100%;
    max-width: 500px;
  }
  .news-detail__text{
    padding: 40px 0 0;
    margin: 0 auto;
  }
  .news-detail__text time{
    font-size: 2rem;
  }
  .news-detail__text h2{
    font-size: 2rem;
    margin-bottom: 20px;
  }
  .news-detail__text p{
    font-size: 1.4rem;
    margin-bottom: 14  px;
  }
}

/*ここからcontact.html-------------------------*/
.contact{
  margin: 0 auto;
  max-width: 1160px;
  position: relative;
  padding: 0 60px;
}
.contact h2{
  width: 230px;
  margin: -130px auto 70px;
}
.contact h2 img{
  display: block;
  width: 100%;
  object-fit: contain;
  vertical-align: bottom;
}
.contact h2 span{
  display: block;
  text-align: center;
  color: #3F6C3E;
  font-weight: 700;
  font-size: 1.6rem;
  margin: 5px auto 0;
}
.contact__wording p{
  text-align: center;
  font-size:  1.8rem;
  margin-bottom: 100px;
}

form{
  margin: 0 auto;
  width: 100%;
  max-width: 900px;
  text-align: left;
}
form div{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 40px 0;
}
form label{
  font-size: 1.8rem;
  font-weight: 700;
  display: inline-block;
  margin: 5px 0;
}
label span{
  font-size: 1.4rem;
}
form div p{
  font-size: 1.8rem;
  font-weight: 700;
  display: inline-block;
  margin: 5px 0;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea{
  background-color: rgba(63, 108, 62, 0.2);
  border: none;
  border-radius: 10px;
  width: 70%;
  box-sizing: border-box;
  font-family: "Zen Maru Gothic", serif;
  font-size: 1.8rem;
}
input[type="text"],
input[type="email"],
input[type="tel"]{
  height: 50px;
  padding: 10px 15px;
}
textarea{
  height: 20rem;
  padding: 10px 15px;
}
/*ボタンを無効化*/
input[type="radio"], input[type="checkbox"]{
  margin: 0;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[type="checkbox"], input[type="radio"] {
  position: relative;
  width: 30px;
  height: 30px;
  border: 1px solid #000;
  vertical-align: -5px;
  border-radius: 6px;
}
input[type="checkbox"]:checked:before, input[type="radio"]:checked:before{
  position: absolute;
  top: 0px;
  left: 7.5px;
  transform: rotate(50deg);
  width: 10px;
  height: 20px;
  border-right: 3px solid #3F6C3E;
  border-bottom: 3px solid #3F6C3E;
  content: '';
}
input[type="radio"]{
  vertical-align: -10px;
}

.form__category{
  margin: 0;
  width: calc(70% - 100px);
  padding-right: 100px;
}
.form__category div{
  margin: 0;
}
.form__category div label{
  font-size: 1.6rem;
  margin-left: 15px;
}
.form__check{
  margin: 0;
  display: block;
  width: 70%;
}
.form__check div{
  margin: 0;
}
.form__check label{
  font-size: 1.6rem;
  margin: 0 0 0 15px;
}
.form__check span{
  display: block;
  padding-top: 5px;
}
.must{
  position: relative;
}
.must::after{
  content: '必須';
  background-color: #3F6C3E;
  border-radius: 5px;
  font-size: 8px;
  color: #fff;
  width: 30px;
  height: 15px;
  display: inline-block;
  text-align: center;
  position: absolute;
  top: 11px;
  right: -40px;
}
div.contact__submit-button{
  cursor: pointer;
  border-radius: 30px;
  margin: 70px auto 0px;
  width: 300px;
  height: 60px;
  display: block;
  box-shadow: 0px 4px 0px 0px rgba(78, 75, 27, 0.2);
  position: relative;
  transition: .3s cubic-bezier(0.37, 0, 0.63, 1);
/*  まとめて書きたい*/
}
input[type="submit"]{
  border: none;
  color: #3F6C3E;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 30px;
  line-height: 60px;
  width: 300px;
  height: 60px;
  background: no-repeat 270px center/3% url("./img/arrows.png") #FDF35B;
}

@media(max-width: 860px){
  .contact{
    padding: 0 24px;
  }
  .contact h2{
    width: 150px;
    margin: 0px auto 50px;
  }
  .contact h2 img{
    display: block;
    width: 100%;
    object-fit: contain;
    vertical-align: bottom;
  }
  .contact h2 span{
    margin: 0px auto 0;
  }
  .contact__wording{
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .contact__wording p{
    text-align: left;
    font-size: 1.4rem;
    margin-bottom: 0px;
    display: inline-block;
  }
  form div{
    display: block;
    margin: 30px 0;
  }
  form label{
  margin: 10px 0;
}
  form div p{
  margin: 10px 0;
}
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea{
    width: 100%;
  }
  .form__category{
    padding: 0 0 0 20px;
    width: calc(100% - 20px);
  }
  .form__category div label{
    font-size: 1.4rem;
    margin: 10px 0 10px 15px;
  }
  .form__check{
    width: 100%;
  }
  input[type="radio"]{
   margin: 0 0 0 20px; 
  }
  .form__check label{
    font-size: 1.4rem;
    
  }
  .form__check span{
    padding-top: 10px;
    font-size: 1.4rem;
  }
  input[type="submit"]{
    width: 100%;
    max-width: 300px;
    margin: 0px auto;
  }
}
/*ここからcontact-completely.html----------------------*/
p.complete{
  margin-bottom: 0;
}
.loop-wrap {
  display: flex;
  align-items: center;
  overflow: hidden;
  height: 150px;
  margin: 50px 0 0; 
}
.loop-area {
  display: flex;
  /* name | duration | iteration-count(繰り返し回数) | timing-function（イージング） | delay（遅延時間） */
  animation: loop-slide 80s infinite linear 0.5s;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 20px;
}
.loop-area .content {
  width: 850px;
  font-size: 14.6rem;
  font-family: "Itim", cursive;
  color: rgba(63, 108, 62, 0.2);
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@media(max-width: 860px){
  .loop-wrap {
    height: 90px;
  }
  .loop-area .content {
    font-size: 8rem;
    width: 460px;
  }
  .loop-area {
    /* name | duration | iteration-count(繰り返し回数) | timing-function（イージング） | delay（遅延時間） */
    animation: loop-slide 40s infinite linear 0.5s;
    gap: 10px;
  }
}


