@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap');

@font-face {
  font-family: 'Noto Sans JP';
  src: url('../fonts/NotoSansJP-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'GenJyuu Gothic';
  src: url('../fonts/GenJyuuGothic-Monospace-Regular.ttf') format('truetype');
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  /* border: 1px solid #ff1414; */
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 70px;
  }

:root {
  --semi-fontsize: 2.8vw;
  --normal-fontsize: 3.2vw;
  --middle-fontsize: 3.8vw;
  --big-fontsize: 4.7vw;
}
@media screen and (min-width: 600px) {
  :root {
    --semi-fontsize: 0.75rem;
    --normal-fontsize: 0.85rem;
    --middle-fontsize: 1.1rem;
    --big-fontsize: 1.5rem;
  }
}
@media screen and (min-width: 990px) {
  :root {
    --semi-fontsize: 0.8rem;
    --normal-fontsize: 1rem;
    --middle-fontsize: 1.3rem;
    --big-fontsize: 1.6rem;
  }
}
@media screen and (min-width: 1366px) {
  :root {
    --semi-fontsize: 0.85rem;
    --normal-fontsize: 1.1rem;
    --middle-fontsize: 1.4rem;
    --big-fontsize: 1.9rem;
  }
}
@media screen and (min-width: 1680px) {
  :root {
    --semi-fontsize: 0.9rem;
    --normal-fontsize: 1.2rem;
    --middle-fontsize: 1.5rem;
    --big-fontsize: 2.2rem;
  }
}

body {
  font-family: 'Zen maru Gothic';
  font-size: var(--normal-fontsize);
  font-weight: 500;
  font-style: normal;
  color: #231815;
  line-height: 1.35;
  letter-spacing: 0.01em;
  font-feature-settings: 'palt';
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
@media screen and (min-width: 600px) {
  body,p {
    line-height: 1.45;
  }
}


p {
  word-break: break-word;
}
a {
    text-decoration: none;
    color: #000;
}
img {
    max-width: 100%;
    height: auto;
    border: 0;
    vertical-align: bottom;
}
table {
  border-collapse: collapse;
}
ol, ul {
    list-style: none;
}

a:link, a:visited, a:active, a:hover {
    overflow: hidden;
    outline: none;
}
.pc-only {
  display: block;
}
.tb-only{
  display: none;
}
.sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
  .tb-only {
    display: block;
  }
}
@media screen and (max-width: 599px) {
  .sp-only {
    display: block;
  }
}

/*-- ここからHEADER --*/
.logo_group{
  display: flex;
  align-items: center;
}
header {
  /* box-shadow: 0px 3px 15px rgba(0,0,0,0.2); */
  z-index: 99;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  /* background: rgba(255,255,255,0.1); */
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-weight: bold;
  line-height: 1.5;
}
.header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0 0.5em;
}
.header p{
  letter-spacing: 0.01em;
  line-height: 1.5;
}
.logo_group{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.h_logo{
    width: 50px;
    padding: 0.2em;
    line-height: 0;
}
.h_logo img {
  line-height: 0;
}
.hows_logo{
  max-width: 380px;
  margin: 0;
  font-size: 20px;
  padding: 5px 5px 0 5px;
  text-align: left;
}
.hows_logo img {
  width: 220px;
}
.hows_logo p {
  font-family: fot-tsukuardgothic-std, sans-serif;
  color: #000;
  font-size: 11px;
  padding-left: 1.5px;
  padding-bottom: 1px;
  letter-spacing: 0.05em;
}
.header nav {
  margin: 0 0 0 auto;
}
.header ul {
  list-style: none;
  margin: 0;
  display: flex;
}
.header li {
  margin: 0 0 0 8px;
  font-size: 14px;
  letter-spacing: 0.05em;
}
.header a{
  color: #333;
}
.header_left{
  display: flex;
  align-items: center;
}
.unei_logo{
  padding: 5px 0 0 40px;
}
.pc-nav li{
  text-align: center;
}
.pc-nav img{
  width: 25px;
}
.sp-nav {
  display: none;
}
.gnavi__lists {
  display: flex;
}
.gnavi__list {
  width: 20%;
  width: 400px;
  /* height: 60px; */
  position: relative;
  transition: all .3s;
}

.gnavi__list a {
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #1b4059;
  font-size: 0.8rem;
  letter-spacing: 0.01em;
  transition: all .3s;
}
.gnavi__list ul{
  display: block;
  padding: 1em 0;
}
.dropdown__lists {
visibility: hidden;
  opacity: 0;
  transition: all .3s;
  width: 100%;
  position: absolute;
  top: 57px;
  right: 0;
  width: 400px;
  background: #FFF;
}
.gnavi__list:hover .dropdown__lists {
visibility: visible;
  opacity: 1;
}
.dropdown__ttl {
  height: 40px;
  position: relative;
  padding: 1em 1em 0;
  font-size: 1.6rem;
  color: #f30a72;
}
.dropdown__list {
  height: 40px;
  transition: all .3s;
  position: relative;
  padding: 0 1em;
}
.dropdown__list:not(:first-child)::before{
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
}
.dropdown__list:hover {
  background: #b8d0d0;
  color: #FFF;
}
.dropdown__list a {
  display: flex;
  align-items: center;
  color: #1b4059;
  text-decoration: none;
  position: relative;
}
.dropdown__ttl {
  display: flex;
  align-items: center;
  color: #f30a72;
  text-decoration: none;
  position: relative;
}
.dd_l_red p{
  color: #f60000;
}
.swing {
  max-width: 80px;
}
.swing p {
    font-size: 11px;
    padding: 0.3em 0 0;
    color: #F2F2F2;
}
.swingnew {
  position: absolute;
  font-size: 0.6rem;
  color: #f60000;
  top: 0;
  left: 0;
}

@media screen and (max-width: 1024px) {
.pc-nav {
display: none;
}
.sp-nav {
z-index: 1;
position: fixed;
top: 0;
left: 0;
max-width: 100%;
height: 100vh;
display: block;
width: 100%;
background: rgba(0, 0, 0, .8);
opacity: 0;
transform: translateY(-100%);
transition: all .2s ease-in-out;
}
.sp-nav a{
color: #FFF;
}
.unei_logo{
  display: none;
}
#hamburger {
  position: relative;
  display: block;
  width: 30px;
  height: 25px;
  margin: 0 0 0 auto;
}
#hamburger span {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #333;
  transform: translateY(-50%);
}
#hamburger::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #333;
}
#hamburger::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 70%;
  height: 2px;
  background-color: #333;
}
/*スマホメニュー*/
.sp-nav ul {
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.sp-nav li {
  margin: 0;
  padding: 0;
}
.sp-nav li span {
  font-size: 15px;
  color: #FFF;
}
.sp-nav li a, .sp-nav li span {
  display: block;
  padding: 20px 0;
}
/*-閉じるアイコンー*/
.sp-nav .close {
  position: relative;
  padding-left: 20px;
}
.sp-nav .close::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 16px;
  height: 1px;
  background: #fff;
  transform: rotate( 45deg );
}

.sp-nav .close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 16px;
  height: 1px;
  background: #fff;
  transform: rotate( -45deg );
}
.toggle {
  transform: translateY( 0 );
  opacity: 1;
}
}
@media screen and (max-width: 399px) {
  .hows_logo {
    width: 100%;
}
  .hows_logo p {
    font-size: 0.6rem;
}
}
/*-- ここまでHEADER --*/

/* ここから MAIN VISUAL */
.kv {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.kv-bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.kv-logo,
.kv-title {
  opacity: 0;
  transform: scale(1);
  height: 120px;
  object-fit: contain;
}

@keyframes poyon {
  0%   { transform: scale(0.9); opacity: 0; }
  50%  { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

.poyon {
  animation: poyon 0.6s ease-out forwards;
}

.kv-content {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.5rem;
  width: 90%;
  max-width: 1600px;
  flex-wrap: nowrap;
}

.kv-content img {
  object-fit: contain;
  opacity: 0;
  transform: scale(1);
}

@keyframes poyon {
  0%   { transform: scale(0.9); opacity: 0; }
  50%  { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

.poyon {
  animation: poyon 0.6s ease-out forwards;
}

@media (max-width: 767px) {
  .kv-logo { height: 120px; max-width: 30%; }
  .kv-title { height: 140px; max-width: 70%; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .kv-logo { height: 100px; max-width: 20%; }
  .kv-title { height: 120px; max-width: 80%; }
  .kv-content{
    gap: 1rem;
  }
}

@media (min-width: 1024px) {
  .kv-logo { height: 180px; max-width: 20%; }
  .kv-title { height: 180px; max-width: 80%; }
}

@media (min-width: 1440px) {
  .kv-logo { height: 220px; max-width: 20%; }
  .kv-title { height: 230px; max-width: 80%; }
}

@media (min-width: 1900px) {
  .kv-logo { height: 260px; max-width: 20%; }
  .kv-title { height: 260px; max-width: 80%; }
}

/* scroll */
.scroll_down{
  display: none;
}

@media screen and (min-width: 1280px) {
.scroll_down{
  display: block;
  position: absolute;
  top: 100vh;
  left: 97%;
  z-index: 99;
}
.scroll_down.hidden {
  display: none;
}
.scroll_down a{
  position: absolute;
  left: 10px;
  bottom: 90px;
  color: #FFF;
  font-size: 12px;
  font-family: 'Josefin Sans', sans-serif;
  letter-spacing: .2em;
  writing-mode: vertical-lr;
  text-decoration: none;
  text-transform: uppercase;
}

.scroll_down:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -5px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background:#FFFE00;
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove{
  0%{bottom:160px;}
  100%{bottom:0px;}
}

@keyframes cirlemovehide{
  0%{opacity:0}
  50%{opacity:1;}
  80%{opacity:0.9;}
  100%{opacity:0;}
}

.scroll_down:after{
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  width: 3px;
  height: 160px;
  background:#FFF;
}
}
/* scroll */

.bg_w{
  background: #FFF;
}
.pb_2{
  padding-bottom: 2vw!important;
}
.l-inner{
  box-sizing: content-box;
  padding: 6vw;
  margin: 0 auto;
}
.l-inner_wide{
  box-sizing: content-box;
  padding: 6vw;
  margin: 0 auto;
}

@media screen and (min-width: 600px) {
.l-inner{
  max-width: 900px;
}
}
@media screen and (min-width: 1366px) {
  .l-inner{
    padding: 4vw;
  }
  .l-inner_wide{
    padding: 4vw;
  }
}

/* ここから YOUTUBE */
.youtube_contents{
  text-align: center;
  background: #fefff1;
}
.youtube_ttl{
  font-size: var(--middle-fontsize);
  color: #ff0066;
  padding: 2vw 0 0;
}
.youtube_caution{
  font-size: var(--semi-fontsize);
  font-weight: var(--sub-fontweight);
  padding: 0.5em 1em;
  text-align: center;
}
#yt-wrap {
  max-width: 680px;
  margin: auto;
  padding: 0 4vw;
}
#yt-block {
  margin: 1vw 2vw 2vw;
  position: relative;
}
#play {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 70px;
  height: 70px;
  border: 5px solid #ff0066;
  border-radius: 50%;
  cursor: pointer;
  opacity: .95;
}
#play:before {
  content: "";
  position: absolute;
  top: 52%;
  left: 32%;
  transform: translateY(-50%);
  width: 0px;
  height: 0px;
  border: 15px solid transparent;
  border-left: 25px solid #ff0066;
  box-sizing: border-box;
}

@media screen and (min-width: 600px) {
  #play {
    width: 120px;
    height: 120px;
  }
  #play:before {
    border: 30px solid transparent;
    border-left: 50px solid #ff0066;
  }
}

@media screen and (min-width: 1536px) {
  .youtube_ttl {
    padding: 0;
  }
  #yt-block {
    margin: 1vw 0 0;
  }
}
/* ここまで YOUTUBE */

/* ここから howsweb link */
.howsweb{
  padding: 4vw 0;
  background: #f8f2f8;
}
.appliedgroup{
  text-align: center;
}
.appliedgroup h2{
  font-size: 4.2vw;
}
.appliedgroup_logo{
  padding: 0.5em 4em;
}
.hows_link{
  padding : 1em 2em;
}
.hows_link_title{
  font-size: 3vw;
  text-align: center;
  padding: 0 0 0.4em;
}
.head_button{
  padding: 3vw 0 0;
}
.head_button_image{
  max-width: 200px;
  margin: 2vw auto;
}

@media screen and (min-width: 600px) {
.howsweb {
  padding: 0 0 4vw;
}
.appliedgroup {
  padding: 4vw 6vw;
}
.appliedgroup_logo {
  padding: 1.5em 4em;
}
.hows_link {
  padding: 1em 8vw;
}
.appliedgroup h2 {
  font-size: 3vw;
}
.hows_link_title {
  font-size: 1.2rem;
}
.head_button{
  display: flex;
  justify-content: center;
  gap: 0 20px;
  width: 500px;
  margin: 2em auto 0;
}
.head_button_image {
    max-width: 220px;
    margin: 2vw auto;
}
}

@media screen and (min-width: 1024px) {
.appliedgroup {
  padding: 2em 0 0;
}
.appliedgroup h2 {
  font-size: 1.6rem;
}
.appliedgroup_logo {
  width: 800px;
  margin: 0 auto;
  padding: 1.5em 0;
}
.hows_link_title {
  font-weight: bold;
  padding: 0 0 1em;
}
}

@media screen and (min-width: 1366px) {
.head_button {
  margin: 0 auto;
}
.head_button_image {
  margin: 0 auto;
}
.hows_link {
  padding: 1em 4vw;
}
}

@media screen and (min-width: 1920px) {
.howsweb {
  padding: 0 0 1vw;
}
}
/* ここまで howsweb link */

/* ここから SECTION information */
.info_group{
  background: #ffe7c7;
}
.information_area{
  display: block;
  margin: 0 auto;
  max-width: 960px;
}
.new_area{
  width: 100%;
}
.information_header{
  font-size: var(--middle-fontsize);
  position: relative;
  padding: 2vw 0 4vw;
  text-align: center;
}
.information_header span {
  font-size: var(--semi-fontsize);
  display: block;
}
.info_contents{
  background: #fff;
  margin: 0 auto 2vw;
  height: 24vh;
}
.simplebar-track.simplebar-horizontal {
  height: 10px;
  background: #dddddd;
  border-radius: 5px;
  margin: 0 auto;
}
.simplebar-scrollbar {
  height: 10px;
  background: #dddddd;
  border-radius: 5px;
}
.simplebar-scrollbar::before{
  background: #a6a6a6;
}
.pagelink {
  font-size: 0.7rem;
  padding-left: 0.3em;
  color:#ff0066;
}
.simplebar-content {
  padding: 3vw !important;
}
ul.newsList {
  display: flex;
  flex-flow: row wrap;
  border-bottom: 1px dotted #999;
  flex-basis: 100%;
  margin-bottom: 10px;
}
ul.newsList li {
  display: block;
  margin: 0 10px 5px;
  color:#000;
  font-size: 0.8rem;
}
ul.newsList li span{
  color:#FFF;
  background:#ff0066;
  font-size: 0.62rem;
  padding: 0.1em 0.4em 0.2em;
  margin-right: 0.3em;
}
ul.newsList li:nth-child(1) {
  flex-basis: 10px;
}
ul.newsList li:nth-child(2) {
  flex-basis: auto;
  font-size: var(--semi-fontsize);
}

@media(min-width: 600px) {
  .information_header {
    padding: 2vw 0;
  }
  .information_header span {
    font-size: 0.8rem;
  }
  ul.newsList li:nth-child(1),
  ul.newsList li:nth-child(2) {
    font-size: var(--semi-fontsize);
  }
}

@media(min-width: 1366px) {
  .information_header {
    padding: 0 0 2vw;
  }
  .information_header span {
    font-size: 0.9rem;
    padding: 0.3vw 0 0;
  }
  ul.newsList {
    margin-bottom: 15px;
  }
  .simplebar-content {
    padding: 2vw !important;
  }
}
/* ここまで SECTION information */

/* ここから SECTION LINEUP */
.lineup_contents{
  background: #ffecec;
  background-image: url(../images/bg_image_pc.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  position: relative;
  z-index: 1;
}
.lineup_wrap{
  position: relative;
  max-width: 780px;
  margin: 2vw auto;
  border: 1px solid #5d3017;
  background: #FFF;
}
.lineup_wrap p.lineup_title+ul.lineup_list {
  margin: 20px 18px 20px 36px;
}
.lineup_wrap p.lineup_title+ul.lineup_list li {
  margin-top: 5px
}
.lineup_wrap p.lineup_title+ul.lineup_list li::marker {
  font-weight: 700
}
.lineup_wrap p.lineup_title+ul.lineup_list a {
  color: #232323;
}
.lineup_wrap p.lineup_title+ul.lineup_list>li {
  font-size: 0.8rem;
  list-style-type: decimal;
  color: #ff0066;
}
.lineup_wrap p.lineup_title+ul.lineup_list>li ul {
  margin-left: 0
}
.lineup_wrap p.lineup_title+ul.lineup_list>li li {
  position: relative;
  padding-left: 12px;
  font-size: 0.7rem;
  list-style-type: none;
}
.lineup_wrap p.lineup_title+ul.lineup_list>li li:before {
  position: absolute;
  top: calc(.5em + 2px);
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #5d3017;
  content: ""
}
.lineup_wrap p.lineup_title+ul.lineup_list>li ul {
  margin-bottom: 16px
}
.lineup_wrap p.lineup_title {
  position: relative;
  padding: 15px;
  background-color: #5d3017;
  color: #fff;
  font-weight: 700;
  text-align: center
}

@media(min-width: 600px) {
.lineup_wrap p.lineup_title+ul.lineup_list>li,
.lineup_wrap p.lineup_title+ul.lineup_list>li li {
  font-size: var(--semi-fontsize);
}
}

@media(min-width: 1025px) {
.lineup_wrap p.lineup_title+ul.lineup_list {
  margin: 40px 20px 25px 60px;
}
.lineup_wrap p.lineup_title+ul.lineup_list>li{
  font-size: 1rem;
  padding-bottom: 0.2vw;
}
}
/* ここまで SECTION LINEUP */

/* ここから SECTION INTRODUCTION */
.introduction_contents{
  padding: 0 0 8vw;
  /* background: repeating-linear-gradient(#e5d0cf, #e5d0cf 20px, #eadddc 20px, #eadddc 40px); */
  background-color: #edebe8;
  background-image: url("../images/wood-pattern.png");
}
.introduction_wrap{
  padding: 4vw 6vw 0;
}
.introduction_headerimage{
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  text-align: center;
  line-height: 0;
  padding: 10vw 6vw 2vw;
}
.introduction_ttl{
  font-size: var(--big-fontsize);
  font-weight: bold;
  text-align: center;
  padding: 0 0 3.5vw;
}
.introduction_ttl span{
  color: #FF0066;
}
.introduction_ttltext{
  padding: 2vw 0 1vw;
}
.introduction_image{
  padding: 4vw 6vw;
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}
.introduction_bottom{
  padding: 2vw 6vw 0;
  max-width: 640px;
  margin: 0 auto;
}
.introduction_farmtext{
  font-size: var(--semi-fontsize);
  text-align: center;
}
.oyasai_headerwrap{
  padding: 0;
}
.oyasai_ttl{
  font-size: var(--big-fontsize);
  font-weight: bold;
  text-align: center;
  padding: 0 0 3.5vw;
}
.oyasai_ttl span{
  color: #FF0066;
}
.oyasai_mainimage{
  padding: 0 6vw;
}
.oyasai_headerttl {
  padding: 3.5vw 0 4vw;
}
.hinshu_headerwrap{
  padding: 3.5vw 0;
}
.hinshu_mainimage{
  padding: 0 6vw;
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}
.hinshu_explain{
  padding: 2vw 0 4vw;
}
.hinshu_mainttl{
  font-size: var(--middle-fontsize);
  text-align: center;
  padding: 0 0 1vw;
}
.hinshu_mainttl span{
  color: #FF0066;
  font-size: var(--big-fontsize);
  font-weight: bold;
}
.hinshu_headerttl{
  padding: 4vw 0 2vw;
}
.hinshu_text{
  font-size: var(--semi-fontsize);
  text-align: center;
}
.hinshu_bottom{
  padding: 2vw 6vw 0;
  max-width: 750px;
  margin: 0 auto;
}

@media(min-width: 600px) {
.oyasai_ttl {
  padding: 0 0 2vw;
}
.oyasai_headerttl {
  padding: 2vw 0;
}
.hinshu_mainttl {
  padding: 0;
}
}

@media(min-width: 990px) {
.introduction_wrap {
  padding: 2em 4em 0;
}
.introduction_contents {
  padding: 0 0 8vw;
}
.introduction_headerimage {
  max-width: 1000px;
  margin: 0 auto;
  padding: 8em 4em 1em;
}
.introduction_ttl{
  padding: 0 0 0.7em;
}
.introduction_headerttl{
  font-size: var(--middle-fontsize);
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
}
.introduction_ttltext{
  text-align: center;
  padding: 2em 0 0;
}
.introduction_image {
  padding: 2em 0;
}
.introduction_bottom {
  padding: 2em 0 0;
}
.oyasai_headerwrap{
  padding: 1em 0 0;
}
.oyasai_ttl{
  padding: 0 0 0.7em;
}
.oyasai_headerttl {
  padding: 1em 0;
  width: 600px;
  margin: 0 auto;
}
.hinshu_mainimage{
  padding: 0;
}
.hinshu_headerwrap {
  padding: 2em 0 0;
}
.hinshu_headerttl {
  padding: 1.5em 0 3em;
  width: 600px;
  margin: 0 auto;
}
.hinshu_mainttl {
  padding: 1em 0 0;
}
.hinshu_explain{
  padding: 1em 0 3em;
  width: 600px;
  margin: 0 auto;
  text-align: center;
}
.oyasai_mainimage {
  padding: 0;
  width: 640px;
  margin: 0 auto;
}
.hinshu_bottom {
  padding: 1em 0 0.7em;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
}

@media(min-width: 1281px) {
.introduction_bottom {
  padding: 0;
}
.oyasai_headerttl,
.hinshu_headerttl,
.hinshu_explain{
  width: 640px;
}
}
/* ここまで SECTION INTRODUCTION */

/* ここから SECTION SHUKAKUSAI CATALOGUE */
.shukakusai_catalog_contents{
  padding: 2vw 0;
  background-color: #754910;
  background-image: url("../images/bg_pattern_texture.png");
}
.shukakusai_catalog_ttlgroup{
  padding: 4vw 2vw 0;
}
.shukakusai_catalog_caution{
  font-size: var(--semi-fontsize);
  padding: 2vw 0 0;
}
.shukakusai_catalog_title{
  background: #ffff00;
}
.shukakusai_catalog_caution{
  color: #F2F2F2;
}

@media(min-width: 990px) {
.shukakusai_catalog_contents {
  padding: 2em 0;
}
.shukakusai_catalog_ttlgroup {
  padding: 1em 3em 0;
}
.shukakusai_catalog_caution {
  padding: 0.7em 0 0;
}
}
/* ここまで SECTION SHUKAKUSAI CATALOGUE */

/* ここから SECTION SHUKAKUSAI DETAIL */
.event_contents{
  background: repeating-linear-gradient(90deg, #f6e0c9, #f6e0c9 20px, #fbebdb 20px, #fbebdb 40px);
  position: relative;
  z-index: 1;
}
.event_asirai_upper{
  box-sizing: border-box;
  overflow: hidden;
  z-index: 2;
  position: absolute;
  top: 0;
}
.event_asirai_bottom{
  box-sizing: border-box;
  overflow: hidden;
  z-index: 99;
  position: absolute;
  bottom: 0;
}
.event_wrap{
  padding: 6vw;
  position: relative;
  z-index: 3;
}
.event_headerimage{
  padding: 0 0 4vw;
}
.event_headertitle{
  text-align: center;
  font-size: var(--middle-fontsize);
  padding: 2vw 0;
}
.event_headertitle span{
  background: #00b050;
  color: #FFF;
  padding: 1.5vw 3vw;
}
.event_detailwrap{
  text-align: center;
}
.event_detail_image{
  padding: 0 6vw 4vw;
}
.event_detaillist{
  padding: 2vw 0;
  line-height: 1.6;
}
.event_detaillist_sm{
  font-size: var(--semi-fontsize);
}
.event_detaillist_bold{
  font-size: var(--semi-fontsize);
  color: #FF0066;
}
.event_detaillist span{
  color: #FF0066;
}
.arrow{
	position: relative;
	display: inline-block;
  padding: 0 0 4px 16px;
	color: #232323;
	vertical-align: middle;
	text-decoration: none;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.mapbtn::before{
	width: 12px;
	height: 12px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #232323;
}
.mapbtn::after{
	left: 5px;
	box-sizing: border-box;
	width: 3px;
	height: 3px;
	border: 3px solid transparent;
	border-left: 3px solid #fff;
}
.event_farmcaution{
  font-size: var(--semi-fontsize);
  letter-spacing: 0;
  padding: 2vw 4vw 0;
}
.event_farmcaution li:before{
  content:"・"
}
.insta_info {
  padding: 4vw;
}
.insta_img{
  padding: 0 0 2vw;
  max-width: 120px;
  margin: 0 auto;
}
.schedule_wrap{
  text-align: center;
  padding: 2vw 0 4vw;
}
.schedule_ttl{
  color: #ff0066;
  font-size: var(--middle-fontsize);
  padding: 0 0 0.2em;
}
.schedule_sttl{
  font-size: var(--semi-fontsize);
}
.schedule_table{
  margin: 2vw auto;
  width: 75%;
}
.schedule_table th {
  background: #513503;
  border-bottom: solid 1px #FFF;
  color: #fff;
  padding: 1em 1.5em;
  border-bottom: none;
  display: block;
  width: 100%;
  padding: 0.6em;
}
.schedule_table td {
  border: solid 1px #383232;
  padding: 1em 1.5em;
  background: #FFF;
  border-bottom: none;
  display: block;
  width: 100%;
  padding: 0.6em;
}
.schedule_table .last th{
  border-bottom: solid 1px #513503;
}
.last td:last-child {
  border-bottom: solid 1px #a29f9f;
  width: 100%;
}
.sankajyouken{
  padding: 2vw 0 4vw;
}
.taiken_reserve{
  text-align: center;
  padding: 4vw 0 0;
}
.taiken_reserve_caution span{
  font-size: var(--middle-fontsize);
  font-weight: bold;
  background-color: #FF0;
  color: #ff0066;
  letter-spacing: 0.1em;
  padding: 1vw 4vw;
}
.taiken_reserve_top{
  padding: 4vw 0 0;
}
.taiken_reserve_middle{
  font-size: var(--semi-fontsize);
}
.taiken_reserve_wrap{
  padding: 2vw 0 0;
}
.taiken_reserve_way{
  border: 1px solid #a29f9f;
  border-radius: 1rem;
  padding: 2vw;
  margin: 2vw 4vw 4vw;
  line-height: 1.6;
}
.taiken_reserve_from{
  font-size: var(--middle-fontsize);
  color: #ff0066;
}
.taiken_reserve_from_w{
  font-size: var(--middle-fontsize);
  color: #ff0066;
  padding: 0 0 0.4vw;
}
.taiken_reserve_wayto{
  margin: 1vw 0 2vw;
}
.taiken_reserve_hows{
  font-size: var(--semi-fontsize);
}
.taiken_form_caution{
  line-height: 1.3;
  text-align: left;
font-size: var(--normal-fontsize);
}

@media(min-width: 600px) {
.event_detaillist{
  padding: 1em 0 0.5em;
}
.event_farmcaution {
  font-size: var(--semi-fontsize);
  letter-spacing: 0;
  padding: 1em;
  width: 390px;
  margin: 0 auto;
}
.insta_info {
  padding: 2em 0;
  text-align: center;
}
.insta_img {
  padding: 0 0 0.7em;
  max-width: 140px;
}
.schedule_table {
  width: 360px;
}
.schedule_wrap {
  padding: 1em 0 2em;
}
.taiken_reserve_wrap {
  padding: 1.5em 0 0;
}
.taiken_reserve {
  padding: 2vw 0 0;
}
.taiken_reserve_way {
  max-width: 360px;
  margin: 2vw auto 4vw;
}
.taiken_reserve_text {
  font-size: var(--middle-fontsize);
  padding-bottom: 0.2vw;
}
.taiken_reserve_wayto {
  font-size: var(--middle-fontsize);
}
}

@media(min-width: 990px) {
.event_farmcaution {
  text-align: center;
  padding: 1em 0 0.7em;
  line-height: 1.6;
  width: 100%;
}
.event_detail_image {
  padding: 0 0 2em;
  max-width: 750px;
  margin: 0 auto;
}
.event_headerimage {
  padding: 0 0 3.5em;
}
.event_headertitle span {
  padding: 1em 3em;
}
.taiken_reserve_way {
  max-width: 480px;
  margin: 0 auto 2vw;
}
.taiken_reserve_wayto {
  margin: 1vw 0 0;
}
.event_detaillist {
  line-height: 1.5;
  font-size: var(--middle-fontsize);
}
.event_detaillist_sm {
  font-size: var(--normal-fontsize);
  padding: 1vw 0 0;
}
.event_detaillist_bold {
  font-size: var(--normal-fontsize);
}
.schedule_table{
  width: 100%;
  margin: 1.5vw auto 0;
}
.schedule_table tbody{
  display: flex;
  justify-content: center;
}
.schedule_table td{
  padding: 1.5vw 2vw;
}
.schedule_table th {
  border-right: solid 1px #FFF;
}
.schedule_table tr:first-child {
  border-left: solid 1px #383232;
}
.schedule_table td,
.last td:last-child {
  border: none;
  border-right: solid 1px #383232;
  border-bottom: solid 1px #383232;
}
.schedule_table .last th {
  border-bottom: none;
  border-right: solid 1px #513503;
}
.schedule_sttl{
  font-size: var(--normal-fontsize);
}
.taiken_reserve_top {
  padding: 2.5vw 0 0;
}
.taiken_reserve_from_w{
  padding: 0 0 0.5em;
}
.insta_img {
  max-width: 220px;
}
.sankajyouken {
  padding: 2vw 0;
}
}
/* ここまで SECTION SHUKAKUSAI DETAIL */

/* ここから SECTION SPECIAL CONTENS */
.special_contents{
  padding: 2vw 0;
  background-color: #422100;
  background-image: url("https://www.transparenttextures.com/patterns/tileable-wood-colored.png");
}
.special_ttlgroup{
  padding: 4vw 2vw 0;
}
.special_caution{
  font-size: var(--semi-fontsize);
  padding: 1vw 0 0;
}
.special_ttlgroup{
  background: #FFF;
  padding: 2vw;
  margin: 2vw auto;
  max-width: 900px;
}
.special_image{
  padding: 2vw 0;
}

@media(min-width: 990px) {
.special_caution{
  font-size: var(--normal-fontsize);
}
}
/* ここまで SECTION SPECIAL CONTENS */

/* ここから SECTION about hows */
.abouthows_contents{
  background-image: url(../images/bg_autumn_sky.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 4vw 0 0;
}
.ito_wrap{
  padding: 2vw 0 0;
}
.ito_wrap_header{
  padding: 4vw 0;
  text-align: center;
}
.ito_wrap_header span{
  color: #FF0066;
}
.ito_drive{
  text-align: center;
}
.ito_drive_image{
  max-width: 160px;
  margin: 0 auto;
}
.ito_drive_text{
  color: #5d3016;
  padding: 1em;
  background: #FFF;
  border-radius: 240px 15px 100px 15px / 15px 200px 15px 185px;
  border: 2px solid #232323;
  margin: 4vw auto;
  max-width: 260px;
}
.ito_drive_text span{
  font-size: var(--big-fontsize);
}
.ito_map{
  padding: 4vw 4vw 0;
}
.abouthows_titlewrap{
  padding: 6vw 0 28vw;
}
.abouthows_ttl{
  font-size: var(--middle-fontsize);
  color: #ff0066;
  text-align: center;
}
.abouthows_text{
  padding: 4vw;
}
.hows_box{
  padding: 4vw;
  text-align: center;
}
.hows_boxtext{
  padding: 2vw 4vw;
  font-size: var(--semi-fontsize);
}
.aboutito_contents{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.aboutito_wrap{
  width: calc(100% / 2 - 4vw);
}
.aboutito_wrap{
  padding: 0 0 6vw;
}
.aboutito_textbox{
  font-size: var(--semi-fontsize);
}
.aboutito_text{
  padding: 1vw 0 3vw;
  line-height: 1.2;
  font-size: var(--semi-fontsize);
}
.btn_arrow {
  display: table;
  position: relative;
  padding: 0.4em 2em;
  min-width: 10em;
  border: 1px solid currentColor;
  color: #FFF;
  background-color: #705241;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  transition: 0.5s;
  margin: 0 auto;
}
.btn_arrow::after {
  position: absolute;
  top: 50%;
  right: 1em;
  width: 0.5em;
  height: 0.5em;
  transform: translateY(-50%) rotate(45deg);
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  content: "";
}
.btn_arrow:hover {
  border: 1px solid #5d3016;
  background-color: #FFF;
  color: #5d3016;
}

@media(min-width: 600px) {
.abouthows_ttl {
  font-size: var(--big-fontsize);
}
.abouthows_text {
  padding: 2vw 4vw;
}
.ito_drive {
  width: 540px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ito_drive_image{
  max-width: 220px;
}
.ito_drive_text {
  padding: 2vw 4vw;
  max-width: 400px;
  margin: 0 auto;
}
.ito_wrap_header p,
.ito_wrap_header span{
  font-size: var(--big-fontsize);
}
.ito_map {
  padding: 6vw 6vw 0;
}
.aboutito_wrap {
  width: calc(100% / 2 - 2vw);
}
}

@media(min-width: 990px) {
.abouthows_contents {
  padding: 2em 0 10em;
}
.hows_headimage{
  max-width: 900px;
  height: auto;
  margin: 0 auto;
}
.abouthows_titlewrap {
  padding: 4em 0 0;
}
.abouthows_text {
  max-width: 800px;
  margin: 0 auto;
  padding: 2em 0;
}
.ito_wrap {
  padding: 0;
}
.ito_wrap_header {
  padding: 4em 0;
}
.ito_drive {
  width: 570px;
}
.ito_drive_text {
  padding: 1.5em 2em;
}
.ito_map{
  padding: 4.7em 0 1em;
  text-align: center;
}
.hows_box {
  padding: 0;
}
.hows_banner{
  max-width: 800px;
  margin: 0 auto;
}
.hows_boxtext {
  padding: 0.7em 0 2em;
}
.aboutito_contents {
  padding: 1em 4vw;
}
.aboutito_wrap {
  width: calc(100% / 3 - 2em);
  padding: 2em 0;
}
.aboutito_text {
  padding: 1em 0 1.5em;
}
}
/* ここまで SECTION about hows */

/* ここから SECTION hows present campaign */
.campaign_contents{
  background-color: #fff;
  background-image:
    radial-gradient(#e9e2af 10%, transparent 10%);
  background-size: 20px 20px;
  padding: 4vw 0 10vw;
}
.campaign_titlewrap{
  padding: 0 6vw;
}
.campaign_box{
  padding: 4vw 0;
  text-align: center;
}
.campaign_banner{
  max-width: 900px;
  margin: 0 auto;
  padding: 2vw 0;
}
.campaign_banner_sub{
  max-width: 900px;
  margin: 0 auto;
  padding: 4vw 0 2vw;
}
.campaign_ttl{
  font-size: var(--middle-fontsize);
  color: #ff0066;
  text-align: center;
  padding: 4vw 0 0;
}
.campaign_text{
  padding: 4vw 6vw;
}
.campaign_boxtext{
  padding: 0 4vw 2vw;
  font-size: var(--semi-fontsize);
}
.campaignito_contents{
  display: flex;
  flex-wrap: wrap;
  gap: 6vw 4vw;
}
.campaignito_wrap{
  width: calc(100% / 2 - 2vw);
}
.campaignito_textbox{
  font-size: var(--semi-fontsize);
}
.campaignito_text {
  padding: 1vw 0 2vw;
  font-size: var(--semi-fontsize);
}
.campaign_contents .btn_arrow {
  display: table;
  position: relative;
  padding: 0.4em 2em;
  min-width: 10em;
  border: 1px solid currentColor;
  color: #FFF;
  background-color: #c60f70;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  transition: 0.5s;
  margin: 0 auto;
}
.campaign_contents .btn_arrow::after {
  position: absolute;
  top: 50%;
  right: 1em;
  width: 0.5em;
  height: 0.5em;
  transform: translateY(-50%) rotate(45deg);
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  content: "";
}
.campaign_contents .btn_arrow:hover {
  border: 1px solid #dc568f;
  background-color: #FFF;
  color: #dc568f;
}

@media(min-width: 600px) {
.campaign_ttl {
  font-size: var(--big-fontsize);
  padding: 3vw 0 0;
}
.campaign_text {
  padding: 2vw 4vw 0;
}
.campaign_boxtext {
  padding: 1em 0;
}
}

@media(min-width: 990px) {
.campaignito_contents {
  padding: 0 8vw;
  gap: 4vw 3vw;
}
.hows_headimage{
  max-width: 900px;
  height: auto;
  margin: 0 auto;
}
.campaign_box {
  padding: 2.5em 0;
}
.campaign_titlewrap {
  padding: 0;
}
.campaign_ttl {
  padding: 1.2em 0 0;
}
.campaignito_wrap {
  width: calc(100% / 3 - 2vw);
}
.campaign_text {
  max-width: 720px;
  margin: 0 auto;
  padding: 2em 1em 1em;
}
.campaignito_text {
  padding: 1em 0 1.5em;
}
}

@media(min-width: 1440px) {
  .campaign_contents {
    padding: 2em 0 6em;
}
.campaign_banner {
  padding: 2em 0;
}
.campaign_banner_sub {
  padding: 3em 0 2em;
}
}
/* ここまで SECTION hows present campaign */

/* ここまで SECTION hows event */
.hows_kitchenevent_contents{
  padding: 6vw 0;
  top: 0;
  left: 0;
  background-color: #E5DFEB;
  background-size: 20px 20px;
  background-image: repeating-linear-gradient(45deg, #ffc107 0, #ffc107 2px, #E5DFEB 0, #E5DFEB 50%);
}
.hows_fashionevent_contents{
  padding: 6vw 0;
  background: radial-gradient(circle, transparent 20%, #F5E6BD 20%, #F5E6BD 80%, transparent 80%, transparent), radial-gradient(circle, transparent 20%, #F5E6BD 20%, #F5E6BD 80%, transparent 80%, transparent) 50px 50px, linear-gradient(#ffc107 4px, transparent 4px) 0 -2px, linear-gradient(90deg, #ffc107 4px, #F5E6BD 4px) -2px 0;
background-size: 100px 100px, 100px 100px, 50px 50px, 50px 50px;
}
.hows_event_wrap{
  padding: 6vw 4vw;
  background: #FFF;
}
.hows_event_image{
  box-sizing: border-box;
  margin: 0 auto;
  text-align: center;
}
.hows_event_ttlgroup{
  padding: 1em 2vw 0;
}
.hows_event_title{
  line-height: 1.3;
  color: #ff0066;
  text-align: center;
}
.hows_event_text {
  padding: 2vw 0 0;
  line-height: 1.2;
}

@media(min-width: 600px) {
.hows_event_wrap{
  padding: 4vw;
}
.hows_event_title {
  font-size: var(--middle-fontsize);
}
.hows_event_ttlgroup {
  padding: 1.5em 0.5em 1em;
}
}

@media(min-width: 990px) {
.hows_kitchenevent_contents{
  padding: 4em 0;
}
.hows_fashionevent_contents{
  padding: 4em 0;
}
.hows_event_wrap {
  padding: 2em;
}
.hows_event_ttlgroup {
padding: 2em 0.7em 1em;
}
.hows_event_text {
  padding: 1em 0 0;
}
}  
/* ここまで SECTION hows event */

/* ここから SECTION WORKSHOP */
.hows_school_contents{
  background-color: #f7f4e1;
  background-image:
    radial-gradient(#f4e365 10%, transparent 10%);
  background-size: 20px 20px;
  padding: 6vw 0;
}
.ito_reserve_wrap{
  padding: 6vw 4vw 2vw;
  background: #FFF;
  border: 2px solid #fca343;
  border-radius: 10px;
}
.ito_family{
  padding: 4vw 0 2vw;
}
.ito_reserve_ttl{
  padding: 4vw 0 1vw;
  text-align: center;
}
.ito_reserve_image{
  max-width: 220px;
  margin: 0 auto;
  padding: 0.8vw 0 1vw;
}
.ito_reseve_catch_text{
  padding: 4vw;
}
.ito_detail_free{
  background: #fceedd;
  padding: 3vw;
  text-align: center;
  font-size: var(--middle-fontsize);
  color: #ff0066;
  max-width: 240px;
  margin: 0 auto;
}
.ito_detail_free span{
  font-size: var(--semi-fontsize);
}
.ito_reserve_top{
  padding: 4vw 0;
  text-align: center;
}
.ito_reserve_middle{
  padding: 0 0 4vw;
  line-height: 1.6;
  text-align: center;
}
.ito_school{
  padding: 4vw 0;
}
.ito_school_title{
  text-align: center;
}
.ito_school_sttl{
  text-align: center;
  font-size: var(--semi-fontsize);
}
.ito_school_wrap{
  padding: 2vw 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.ito_school_wrap li{
  width: calc(100% / 4);
  padding: 0 1vw 1vw;
}

@media(min-width: 600px) {
.ito_reserve_image {
  max-width: 400px;
}
.ito_reseve_catch_text{
  text-align: center;
  padding: 4vw 10vw;
}
.ito_school {
  padding: 2vw 0;
}
.ito_school {
  padding: 2em 0;
}
.ito_detail_free {
  max-width: 440px;
}
.ito_detail_free p{
  font-size: var(--big-fontsize);
}
.ito_detail_free span{
  font-size: var(--middle-fontsize);
}
.ito_school_title {
  font-size: var(--middle-fontsize);
}
}

@media(min-width: 990px) {
.hows_school_contents {
  padding: 4vw 0;
}
.ito_reserve_wrap {
  padding: 4em 2em 1em;
}
.ito_family{
  padding: 3em 0;
}
.ito_detail_free {
  padding: 2em;
}
.ito_reserve_top {
  padding: 2em 0;
}
.ito_reserve_middle{
  font-size: var(--middle-fontsize);
  padding: 0 0 1.5em;
}
.ito_reserve_ttl {
  padding: 1em 0 0;
}
.ito_reserve_image {
  padding: 1em 0 0;
}
.ito_reseve_catch_text {
  padding: 2em 0;
  width: 680px;
  margin: 0 auto;
  text-align: center;
}
.hows_school_contents .taiken_reserve_way {
  margin: 1em auto 2em;
  padding: 2em 0;
}
.hows_school_contents .taiken_reserve_wayto {
  padding: 0;
  margin: 0;
}
}

@media(min-width: 1536px) {
.ito_detail_free p {
  font-size: var(--middle-fontsize);
}
.ito_reserve_middle {
  padding: 0 0 2vw;
}
.ito_school_wrap {
  padding: 1vw 0;
}
.ito_school_wrap li {
  padding: 0 0.5vw 0.5vw;
}
}
/* ここまで SECTION WORKSHOP */

/* ここから ひーな農園MAP */
.hiina_map_title {
  position: relative;
  padding: 10vw 0 8vw;
  background:
      radial-gradient(#31c976 30%, transparent 30%),
      linear-gradient(#00b050 0 100%);
  background-repeat: repeat, no-repeat;
  background-size: 10px 10px, 100% 100%;
  font-size: var(--big-fontsize);
  font-weight: bold;
  text-align: center;
  color: #FFF;
  letter-spacing: 0.01em;
  box-sizing: border-box;
}
.hiina_map_sttl{
  margin: 0 0 1em;
}
.hiina_map_sttl span{
  background: #FF0;
  padding: 1vw 8vw;
  color: #000;
}
.hiina_map_title:before,
.hiina_map_title:after {
  position: absolute;
  left: 50%;
  content: "";
  height: 0;
  width: 0;
}
.hiina_map_title:before {
  top: 100%;
  border: 15px solid;
  border-color: transparent;
  margin-left: -15px;
}
.hiina_map_title:after {
  top: 99%;
  border: 14px solid;
  border-color: transparent;
  border-top-color: #00b050;
  margin-left: -14px;
}
.hiina_map_head{
  padding: 4vw 0;
  text-align: center;
}
.hiina_mapimg{
  padding: 4vw 0;
  text-align: center;
}
.hiina_map_head_adress{
  text-align: center;
  padding: 0 1vw 2vw;
  font-size: var(--semi-fontsize);
}
.hiina_map_head__wrap{
  padding: 1vw 0;
}
.hiina_map_car{
  padding: 2vw 0;
}
.hiina_map_car span{
  color: #00b050;
}
.hiina_map_bus{
  padding: 0 0 4vw;
}
.hiina_map_bus span{
  color: #00b050;
}

@media(min-width: 600px) {
.hiina_map_sttl {
  font-size: var(--middle-fontsize);
}
.hiina_map_title {
  padding: 8vw 0 6vw;
}
}

@media(min-width: 990px) {
.hiina_map_title {
  padding: 2.6em 0 2em;
}
.hiina_map_sttl span {
  padding: 0.4em 2em;
}
.hiina_map_head {
  width: 800px;
  margin: 0 auto;
  padding: 2vw 0;
}
.hiina_map_head_adress {
  width: 900px;
  margin: 0 auto;
  padding: 0;
  font-size: var(--normal-fontsize);
}
.hiina_map_head__ad{
  font-size: 1.1rem;
}
.hiina_map_head__wrap {
  padding: 1em 0 0;
}
}
/* ここから ひーな農園MAP */

/* ここから ハウズ伊都店MAP */
.ito_map_title {
  position: relative;
  padding: 10vw 0 8vw;
  background:
      radial-gradient(#f78d36 30%, transparent 30%),
      linear-gradient(#e55628 0 100%);
  background-repeat: repeat, no-repeat;
  background-size: 10px 10px, 100% 100%;
  font-size: var(--big-fontsize);
  font-weight: bold;
  text-align: center;
  color: #FFF;
  box-sizing: border-box;
}
.ito_map_sttl{
  margin: 0 0 1em;
}
.ito_map_sttl span{
  background: #FF0;
  padding: 1vw 8vw;
  color: #000;
}
.ito_map_title:before,
.ito_map_title:after {
  position: absolute;
  left: 50%;
  content: "";
  height: 0;
  width: 0;
}
.ito_map_title:before {
  top: 100%;
  border: 15px solid;
  border-color: transparent;
  margin-left: -15px;
}
.ito_map_title:after {
  top: 99%;
  border: 15px solid;
  border-color: transparent;
  border-top-color: #e55628;
  margin-left: -15px;
}
.ito_group{
  padding: 4vw 0;
  background-color: #fff;
  background-image:
    radial-gradient(#e9e2af 10%, transparent 10%);
  background-size: 20px 20px;
}
.ito_image{
  padding: 0 6vw 2vw;
}
.ito_item{
  padding: 0 6vw 4vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.ito_item_ct{
  background: #644136;
  border-radius: 20px;
  width: calc(100% / 2 - 2vw);
  padding: 1vw;
  margin: 1vw;
  color: #FFF;
  font-size: var(--semi-fontsize);
  text-align: center;
}
.ito_explain{
  padding: 0 6vw 4vw;
}
.hows_web_info{
  font-size: var(--middle-fontsize);
  text-align: center;
  padding: 0 0 4vw;
}
.ito_map_wrap{
  padding: 4vw 6vw;
}
.ito_logo{
  max-width: 400px;
  margin: 0 auto;
  padding: 2vw 4vw;
}
.ito_info{
  text-align: center;
  padding: 4vw 0;
  line-height: 1.6;
}
.ito_mapimage{
  padding: 2vw 0 0;
}
.promotion{
  font-size: var(--middle-fontsize);
  text-align: center;
  padding: 1em 0;
}
.sns {
  display: flex;
  justify-content: center;
  padding: 1vw 0;
}
.sns img{
  padding: 2vw;
  height: auto;
}

@media(min-width: 600px) {
.ito_map_sttl {
  font-size: var(--middle-fontsize);
}
.ito_map_title {
  padding: 8vw 0 6vw;
}
.ito_item {
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 0 6vw 2vw;
}
.hows_web_info{
  font-size: var(--big-fontsize);
  padding: 2vw 0 4vw;
}
.ito_map_wrap {
  padding: 2vw 6vw;
}
.ito_info {
  padding: 1vw 0 4vw;
}
.sns {
  padding: 1vw 2vw;
}
.sns img {
  padding: 1vw;
}
}

@media(min-width: 990px) {
.ito_map_title {
  padding: 2.6em 0 2em;
}
.ito_map_sttl span {
  padding: 0.4em 2em;
}
.ito_image {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 0 2vw;
}
.hiina_map_car {
  padding: 2vw 0 1vw;
}
.hiina_map_bus {
  padding: 0 0 2vw;
}
.ito_item_ct {
  width: calc(100% / 4 - 1vw);
  padding: 0.5vw;
  margin: 0.5vw;
}
.ito_explain {
  padding: 0 4vw 1vw;
}
.hows_web_info {
  padding: 2vw 0 0;
}
.ito_logo {
  padding: 2vw 0 1vw;
}
.ito_mapimage {
  padding: 0 0 2em;
  width: 700px;
  margin: 0 auto;
}
.ito_group {
  padding: 4em 0 0;
}
.promotion {
  padding: 0 0 4em;
}
}
/* ここまで ハウズ伊都店MAP */


.album_contents {
  padding: 0 1em 2em;
  background-color: #ffffff;
}
#gibier_reserve{
  padding: 0 2%;
}
.gibier__wrapper{
  position: relative;
  max-width: 680px;
  margin: 0 auto 1rem;
  padding: 0 4%;
  text-align: left;
}
.gibier__add{
  position: relative;
  max-width: 680px;
  margin: 1rem auto 0;
  padding: 0 4%;
  text-align: left;
}
.gibier__image{
  max-width: 600px;
  margin: 0 auto 2%;
}

@media(min-width: 600px) {
.gibier__wrapper{
  margin: 0 auto 2rem;
}
.gibier__add{
  margin: 2rem auto 0;
}
}

@media(min-width: 990px) {
#gibier_reserve{
  padding: 0;
}
.gibier__wrapper{
  margin: 0 auto 4rem;
  padding: 0;
}
.gibier__add{
  margin: 4rem auto 1rem;
  padding: 0;
}
}

/* ここから フッター */
#footer {
  position: relative;
  /* margin-top: 40px; */
  color: #fff;
  font-size: 0.9rem;
  font-weight: normal;
  font-family: fot-tsukuardgothic-std, sans-serif;
}
#footer a {
  text-decoration: none;
  color: #fff;
}
#footer a:hover {
  list-style: none;
}
#footer .primary {
  padding: 40px 20px;
  background: #644136;
}
#footer .primary .flex {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
}
#footer .primary .flex .right {
  display: flex;
  width: 60%;
  justify-content: flex-end;
}
#footer .primary .flex .left{
  width: 40%;
}
#footer .secondary {
  display: flex;
  padding: 20px;
  background: #461f13;
}
#footer .logo_sub{
  padding: 0.4vh 0.1vw;
  font-size: 16px;
}
#footer .logo {
  position: relative;
  padding: 0;
  margin: 0;
  width: 100%;
  font-size: 2.2rem;
  line-height: 1.0;
}
.left img{
  width: 15%;
  height: 15%;
}
.logo_hiina{
  display: flex;
}
.logo_hiina_1{
  padding: 0 0 0.5em 0.5em;
}
.address {
  margin: 10px 0 0;
  padding: 0;
  font-size: 0.9rem;
}
.navi-section {
  display: flex;
  flex-direction: column;
  width: 30%;
  margin-left: 50px;
}
#footer .parent {
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 1.1rem;
}
#footer .navi {
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .navi li {
  margin: 8px 0 0 0;
  padding: 0;
  list-style: none;
}
#footer .navi li:first-child {
  margin: 0;
}
#footer .sitenavi {
  width: 50%;
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .sitenavi li {
  display: inline-block;
  margin: 0 0 0 20px;
  padding: 0;
}
#footer .sitenavi li:first-child {
  margin-left: 0;
}
.pd-0{
  padding:0;
}
.pd-01{
  padding: 0 1vw;
}
.pd-02{
  padding: 0 0.2vw;
}
#footer .copyright {
  max-width: 1200px;
  text-align: center;
  margin: 0 auto;
  color: #f2f2f2;
  font-size: 0.8rem;
}
@media screen and (max-width: 1024px) {
.logo_hiina {
display: flex;
align-items: center;
}
ul.navi {
font-size: 0.9em;
letter-spacing: 0.05em;
}
.address {
font-size: 0.8rem;
}
.navi-section {
margin-left: 30px;
}
#footer .logo {
font-size: 2rem;
line-height: 1.0;
}
#footer .logo_sub {
font-size: 1em;
padding: 0 0.3em;
}
#footer .primary .flex {
max-width: 940px;
}
}
@media screen and (max-width: 768px) {
#footer .primary {
padding: 20px 20px;
background: #644136;
}
#footer .primary .flex {
display: block;
padding: 1em;
}
#footer .primary .flex .left{
width: 100%;
}
#footer .primary .flex .right{
width: 100%;
}
#footer .secondary {
display: block;
padding: 20px 20px;
}
#footer .logo {
font-size: 28px;
}
#footer .logo_sub{
font-size: 12px;
}
.logo_hiina {
align-items: center;
}
.left img {
width: 60px;
height: auto;
}
.address {
font-size: 12px;
padding-left: 0.5em;
}
.navi-section {
display: block;
width: 100%;
margin: 40px 0 0;
}
#footer .parent {
font-size: 12px;
margin: 0 0 10px;
}
#footer .navi {
font-size: 12px;
padding-bottom: 10px;
border-bottom: 1px solid #644136;
}
#footer .navi li {
border-top: 1px solid #644136;
padding-top: 10px;
margin-top: 10px;
font-size: 12px;
}
#footer .sitenavi {
width: 100%;
text-align: center;
font-size: 12px;
}
#footer .copyright {
width: 100%;
text-align: center;
font-size: 12px;
}
}
@media screen and (max-width: 599px) {
#footer .primary .flex .right {
  /* display: flex;
  width: 100%;
  justify-content: space-between;
  padding: 2em 0 0; */
  display: none;
}
.navi-section {
  margin: 20px 0 0;
}
}
@media screen and (max-width: 440px) {
  #footer .primary .flex .right,
  .address{
    display: none;
  }
}
@media screen and (max-width: 399px) {
#footer .navi li {
  font-size: 11px;
}
  #footer .copyright {
  margin: 0;
}
}

/* ここまで フッター */

/* go to TOP */
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  background:#644136;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:0.6rem;
  transition:all 0.3s;
}

#page-top a:hover{
  background: #777;
}

#page-top {
  position: fixed;
  right: 10px;
  z-index: 2;
    /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}
@media screen and (max-width: 768px) {
  #page-top a{
    opacity: 0.5;
  }
}
#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}
.pagetop:hover {
  opacity: .8;
}
/* go to TOP */

/* ご予約ボタン */
.reservation_form_btn_box {
  /*   width: 100%; */
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px 0;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    flex-direction: column;
    align-items: center;
    padding: 4vw 0 0;
  }

  @media screen and (min-width: 769px) {
.reservation_form_btn_box {
  padding: 2vw 0;
  gap: 30px 0;
}
  }

  .reservation_form_btn_box .imo_reserve_caution {
    width: 100%;
    margin-top: 1em;
  }
  .reservation_form_btn_box .imo_reserve_caution span {
    margin: auto;
    display: block;
      max-width: 360px;
    text-align: center;
  }
  .reservation_form_caution {
    padding: 0.5em 0 1em;
}
  @media screen and (max-width: 768px) {
    .reservation_form_btn_box .imo_reserve_caution span {
      width: 210px;
    }
  }
  .reservation_form_btn_box .about_nanohana_text {
    margin-bottom: 3.5em;
  }
  .reservation_form_btn_box button {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 260px;
    color: #FFF;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    border-radius: 50px;
    -webkit-box-shadow: 0.2rem 0.2rem 0px 0.1rem #eaeaea;
    box-shadow: 0.2rem 0.2rem 0px 0.1rem #eaeaea;
    width: 45%;
    padding: 0;
  }
  .reservation_form_btn_box button a, .reservation_form_btn_box button p {
    color: #fff;
    font-size: 1.2rem;
    display: block;
    padding: 0.5em;
    border-bottom: none;
  }
  .reservation_form_btn_box .newline {
    width: 100%;
    height: 0;
  }
  .reservation_form_btn_box button.is_open_form {
    border: 0.2rem solid #EF2D80;
    background: #EF2D80;
  }
  .reservation_form_btn_box button.is_open_form:hover {
    -webkit-transform: translate3d(0.2rem, 0.2rem, 0);
    transform: translate3d(0.2rem, 0.2rem, 0);
    -webkit-box-shadow: none;
    box-shadow: none;
    opacity: 0.8;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  
  .reservation_form_btn_box button.is_open_form a{
    border-bottom: none;
  }
  .reservation_form_btn_box button.closed_form {
    background-color: #c7c7c7;
    border: 0.2rem solid #c7c7c7;
  }
  .reservation_form_btn_box button.closed_form span {
    position: absolute;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #000;
    font-size: 1.2em;
    left: 50%;
    top: -25px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    font-family: "Zen Maru Gothic", serif;
    font-size: 0.9em;
  }
  @media screen and (max-width: 768px) {
    .reservation_form_btn_box button.closed_form {
      margin-top: 1em;
    }
    /* .reservation_form_btn_box {
   width: 90%;
  } */
  }
  
  @media screen and (max-width: 768px) {
    .reservation_form_btn_box button {
      max-width: initial;
      width: 80%;
      margin-bottom: 1.5em;
    }
    .reservation_form_btn_box .newline {
      display: none;
    }
  }
  /*予約カウンタ*/
  .rsv_counter {
    width: 50%;
    text-align: center;
  }