@charset "utf-8";

/*=======================================================
==========================================================
　　　　　　　　　　　　　MAIN CSS
==========================================================
========================================================*/
/*HEADER*/
.header {
  position: sticky; /* headerを追従にする */
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  background-color: white;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  z-index:10;
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem 1rem 3rem;
  position: fixed;
  right: 0;
  top: 4%;
  background-color: #598A34;
  border-radius: 100px 0 0 100px;
}
.header-menu-text {
  font-size: 1.6rem;
  font-family: emoji;
  font-weight: bold;
  color: #FAEFE0;
  margin: 0 .6em 0 0;
  letter-spacing: .1em;
}

/* ハンバーガーボタンのデザイン */
.drawer__button {
  position: relative;
  width: 3rem;
  height: 3rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
  z-index: 999; /* メニューを開いている時もクリックできるよう設定 */
}
/* ハンバーガーボタン内の線 */
.drawer__button > span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.4rem;
  height: 2.3px;
  background-color: #FAEFE0;
  transform: translateX(-50%);
  border-radius:100px;
}
.drawer__button > span:first-child {
  transform: translate(-50%, calc(-50% - 0.7rem));
  transition: transform 0.3s ease;
}
.drawer__button > span:nth-child(2) {
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
}
.drawer__button > span:last-child {
  transform: translate(-50%, calc(-50% + 0.7rem));
  transition: transform 0.3s ease;
}
/* 展開時のデザイン */
.drawer__button.active{
  position: fixed;
  right: 1%;
  top: 2%;
}
.drawer__button.active > span{
  background-color: #598A34;
}
.drawer__button.active > span:first-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.drawer__button.active > span:nth-child(2) {
  opacity: 0;
}
.drawer__button.active > span:last-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
/* メニューのデザイン */
.drawer__nav {
  position: fixed; /* 追従ヘッダーなどでも表示できるよう設定しておく */
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  transition: opacity 0.3s ease;
  opacity: 0;
  visibility: hidden;
}
.drawer__nav.active {
  opacity: 1;
  visibility: visible;
}
.drawer__nav__inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #FAEFE0;
  padding: 0;
  margin: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
.drawer__nav.active .drawer__nav__inner {
  transform: translateX(0);
}
.nav-left{
  width:40%;
  height:100%;
  background-image: url('../img/header-img.png');
  background-size: cover;
  background-position: center;
  border-right:13px solid #598A34;
}
.nav-right{
  position: relative;
  width: 60%;
  padding: 5% 5%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: space-between;
  overflow: auto;
}
.nav-right:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 96%;
  height: 97%;
  background-image: url(../img/header-img2.png);
  background-size: min(19vw, 320px);
  background-position: right top;
  background-repeat: no-repeat;
  z-index: -1;
}
.drawer__nav__menu {
  list-style: none;
  padding-left: 0;
}
.drawer__nav__link {
  display: block;
  color: #51483F;
  text-decoration: none;
  padding: .9em 0;
  font-size: min(2vw, 25px);
}
.header-sns{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  margin: 7% 0 0;
  z-index: 1;
}
.header-sns li:nth-child(1) img{
  height: min(2.7vw,39px);
}
.header-sns li:nth-child(2) img{
  height: min(2.7vw,39px);
  padding:.5vw;
}
.header-sns li:nth-child(3) img{
  height: min(4.7vw,60px);
}
.header-sns li:nth-child(1){
  margin-right: 1.5vw;
}
.header-sns li:nth-child(2){
  margin-right: 2vw;
}
.header-sns li:nth-child(1),.header-sns li:nth-child(2){
  background-color: #fff;
  padding:1em 3em;
  border-radius: 100px;
}
.header-sns li a{
  display: block;
  width: max-content;
}
.scroll {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.scroll::-webkit-scrollbar {
    display: none;
}

/* ハンバーガーメニュー展開時、背景を固定 */
body.active {
  height: 100%;
  overflow: hidden;
}




/*FOOTER*/
footer{
  margin: 0;
  padding: 8% 0% 1.5% 0%;
}
.site-name{
  text-align: center;
  font-size: 3.3rem;
  color: #FAEFE0;
  margin:0;
}
ul.footer-btn{
  display: flex  ;
  margin:7rem auto 2rem;
  width: fit-content;
  align-items: center;
}
ul.footer-btn li{
  width: 250px;
  height:70px;
  background-color: #FAEFE0;
  border-radius: 100px;
}

ul.footer-btn li{
  display: flex;
  justify-content: center;
  padding: 1em;
  margin: 0 2em 0 0;
  align-items: center;
}
ul.footer-btn li a{
  height: 100%;
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-family: sans-serif;
  font-weight: 600;
  color: #51483F;
}
ul.footer-btn li a img{
  height: 100%;
}
ul.footer-btn li:nth-child(2) a img{
  height: 80%;
}
ul.footer-btn li:last-child{
  margin:0;
}
.footer-insta{
  margin: 6rem auto 0;
  width: 65px;
  display: block;
}
p.copy-right{
  margin: 4rem 0 0;
  padding: 2rem 0 0;
  text-align: center;
  border-top: 1px solid #fff;
  font-family: serif;
  color: #fff;
  font-size: 1.3rem;
}







/*=======================================================
==========================================================
  　　　　　　　　　　　　SP only
==========================================================
========================================================*/
@media screen and (max-width:768px) {
ul.footer-btn {
  flex-direction: column;
}
.header__inner {
  top: 0;
}
footer {
    margin: 0;
    padding: 10rem 0% 1rem 0%;
}
.site-name {
    text-align: center;
    font-size: 3rem;
    color: #FAEFE0;
    margin: 0;
    line-height: 1.5em;
}
ul.footer-btn li {
  width: 100%;
    padding: 1em;
    margin: 1em 0;
    align-items: center;
}
ul.footer-btn {
    display: flex;
    margin: 3rem auto 2rem;
    width: 81%;
    max-width: 400px;
    align-items: center;
}
ul.footer-btn li a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 2rem;
    font-family: sans-serif;
    font-weight: 600;
    color: #51483F;
    justify-content: center;
}
ul.footer-btn li:last-child {
    margin: 1em 0;
}
.footer-insta {
    margin: 1rem auto 0;
    width: 65px;
    display: block;
}


.nav-left {
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(../img/header-img.png);
    background-size: cover;
    background-position: center;
    border-right: none;
    opacity: .3;
}
.nav-right {
    position: relative;
    width: 100%;
    padding: 9%;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: space-between;
    overflow: auto;
}
.nav-right:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 96%;
    height: 99%;
    background-image: url(../img/header-img2.png);
    background-size: 31%;
    background-position: right top;
    background-repeat: no-repeat;
    z-index: -1;
}
.drawer__nav__inner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #fff;
    padding: 0;
    margin: 0;
    transform: translateX(100%);
    transition: transform 0.3s ease;
}
.drawer__nav__link {
    display: block;
    color: #51483F;
    text-decoration: none;
    padding: .9em 1em;
    font-size: 2rem;
    width: fit-content;
}
.drawer__button.active {
    position: fixed;
    right: 4%;
    top: 2%;
}
.header-sns li:nth-child(1), .header-sns li:nth-child(2) {
    background-color: rgba(255, 255, 255, .6);
    padding: 1em;
    border-radius: 100px;
    width: 100%;
    margin: 1em auto;
}
.header-sns li:nth-child(1) img {
    height: 44px;
      margin: auto;
}
.header-sns li:nth-child(2) img {
    height: 37px;
    padding: 3px;
      margin: auto;
}
.header-sns {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 7% 0 0;
    z-index: 1;
    flex-wrap: wrap;
    width: 100%;
}
.header-sns li a {
    display: block;
    width: 100%;
}
.header-sns li:nth-child(3) img {
    height: 58px;
}
.header-sns li:nth-child(3) {
    margin: 2em 0 0em;
}














}/*====================================================
  　　　　　　　　　　　　さらに細かく480以下
=======================================================*/
@media screen and (max-width:480px) {
}/*=======================================================
==========================================================
  　　　　　　　　　　　　Ipad only
==========================================================
========================================================*/
@media screen and (min-width:768px) and ( max-width:1190px) {


}/*=======================================================
==========================================================
==========================================================
========================================================*/
