@charset "UTF-8";
/* //////////////////////////////////////////////////

　サイト全般のスタイル

////////////////////////////////////////////////// */
/* FONT
-------------------------------------------------- */
body {
  color: #000;
  font-family: "游明朝","Yu Mincho","游明朝体","YuMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E",serif;
  font-size: 16px; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 95%; } }
  @media screen and (max-width: 480px) {
    body {
      font-size: 85%; } }

p, li, dt, dd, th, td {
  line-height: 1.8; }

a {
  color: #000;
  text-decoration: none; }

a:hover {
  text-decoration: underline; }

i, em {
  font-style: normal; }

input, textarea, select {
  font-size: 16px; }

.fcG {
  color: #168a6d; }

/*
.fz12 { font-size: 0.667em }
.fz14 { font-size: 0.778em }
.fz20 { font-size: 1.111em }
.fz24 { font-size: 1.333em }
.fz26 { font-size: 1.444em }
.fz28 { font-size: 1.556em }
.fz30 { font-size: 1.667em }
*/
.fz12 {
  font-size: 0.75em; }

.fz14 {
  font-size: 0.875em; }

.fz20 {
  font-size: 1.25em; }

.fz24 {
  font-size: 1.5em; }

.fz26 {
  font-size: 1.625em; }

.fz28 {
  font-size: 1.75em; }

.fz30 {
  font-size: 1.875em; }

/* LAYOUT
-------------------------------------------------- */
.container {
  margin: auto;
  max-width: 1380px;
  padding-left: 20px;
  padding-right: 20px; }
  .container.narrow {
    max-width: 1040px; }
  @media screen and (max-width: 768px) {
    .container {
      width: auto;
      padding-left: 10px;
      padding-right: 10px; } }

.sec {
  padding: 80px 0; }
  @media screen and (max-width: 768px) {
    .sec {
      padding: 50px 0; } }

@media screen and (max-width: 1100px) {
  #wrapper {
    display: block; } }
@media screen and (max-width: 768px) {
  #wrapper {
    overflow: hidden; } }

#main {
  padding-left: 240px; }
  @media screen and (max-width: 1100px) {
    #main {
      width: auto;
      margin-top: 60px;
      padding-left: 0; } }
  @media screen and (max-width: 768px) {
    #main {
      margin-top: 45px; } }

@media screen and (max-width: 768px) {
  ._item.image + ._item.text,
  ._item.text + ._item.image {
    margin-top: 20px; } }
#contents {
  background: url(/img/common/bg_contrents.jpg); }

.bg {
  background: url("/img/common/bg_sec.jpg"); }

.m80 {
  margin-right: -40px;
  margin-left: -40px; }
  .m80 > ._item {
    padding-right: 40px;
    padding-left: 40px; }
  @media screen and (max-width: 1100px) {
    .m80 {
      margin-right: -30px;
      margin-left: -30px; }
      .m80 > ._item {
        padding-right: 30px;
        padding-left: 30px; } }
  @media screen and (max-width: 768px) {
    .m80 {
      margin-right: -20px;
      margin-left: -20px; }
      .m80 > ._item {
        padding-right: 20px;
        padding-left: 20px; } }

.txt_404 {
  text-align : center;
  padding : 50px 0;
}



/* HEADER
-------------------------------------------------- */
#header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  bottom: 0;
  width: 240px;
  padding: 20px;
  text-align: right; }
  #header .logo {
    margin-bottom: 15px; }
    #header .logo a:hover img {
      opacity: 1; }
  @media screen and (max-width: 1100px) {
    #header {
      position: static;
      padding: 0;
      width: auto;
      text-align: center; }
      #header .logo {
        position: absolute;
        top: 0;
        left: 0;
        padding: 10px 20px; } }
  @media screen and (max-width: 768px) {
    #header .logo {
      padding: 10px 10px; } }

/* MENU BUTTON
-------------------------------------------------- */
#btn_menu {
  display: none; }
  @media screen and (max-width: 1100px) {
    #btn_menu {
      display: block;
      position: fixed;
      z-index: 100;
      top: 0;
      right: 0;
      width: 60px;
      height: 60px;
      background: #6ddabe url(/img/common/btn_menu.png) no-repeat center;
      background-size: 26px;
      text-indent: -9999px; }
      #btn_menu.active {
        background-image: url(/img/common/btn_menu_close.png); } }
  @media screen and (max-width: 768px) {
    #btn_menu {
      width: 45px;
      height: 45px; } }

/* NAVI
-------------------------------------------------- */
#gnavi a {
  display: inline-block;
  padding: 3px 0;
  font-size: 16px; }
#gnavi .parent {
  position: relative; }
  #gnavi .parent button {
    display: none; }
#gnavi .child {
  display: none;
  position: fixed;
  top: 0;
  left: 240px;
  bottom: 0;
  background: rgba(245, 245, 245, 0.85);
  padding: 80px 20px 0; }
  #gnavi .child li {
    text-align: left; }
    #gnavi .child li a {
      color: #000 !important;
      font-size: 15px; }
#gnavi .banner {
  margin-top: 20px; }
@media screen and (min-width: 1201px) {
  #gnavi {
    display: block !important; } }
@media screen and (max-width: 1100px) {
  #gnavi {
    display: none;
    clear: both;
    position: fixed;
    z-index: 90;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: auto;
    background: rgba(255, 255, 255, 0.95);
    padding: 80px 0 20px; }
    #gnavi > ul {
      border-top: 1px solid #aaa; }
      #gnavi > ul > li {
        border-bottom: 1px solid #aaa; }
    #gnavi a {
      display: block;
      padding: 8px; }
    #gnavi .parent button {
      display: block;
      position: absolute;
      z-index: 1000;
      top: 9px;
      right: 10px;
      width: 30px;
      height: 30px;
      background-position: center;
      background-repeat: no-repeat;
      background-image: url("/img/common/btn_open.png");
      border: 1px solid #666;
      border-radius: 4px; }
      #gnavi .parent button.active {
        background-image: url("/img/common/btn_close.png"); }
    #gnavi .child {
      display: none;
      position: static;
      background: rgba(0, 0, 0, 0.05);
      padding: 0 0 5px; }
      #gnavi .child li {
        border-top: 1px solid #ccc; }
        #gnavi .child li a {
          padding: 5px 0;
          text-align: center; }
    #gnavi .banner {
      border: none;
      margin-top: 20px; }
      #gnavi .banner li {
        border: none; } }
@media screen and (max-width: 768px) {
  #gnavi {
    padding: 60px 0 20px; } }

/* curent */
.home #gnavi .nav1 a,
.shop #gnavi .nav2 a,
.shop_buppan #gnavi .nav2 a,
.sakaguranoarusato #gnavi .nav3 a,
.products #gnavi .nav4 a,
.company #gnavi .nav6 a,
.access #gnavi .nav7 a,
.contact #gnavi .nav8 a {
  color: #3fb99b; }

/* BANNER
-------------------------------------------------- */
#banner ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 940px;
  margin: 60px auto 45px; }
  #banner ul li {
    width: 25%;
    padding: 0 5px 15px; }
@media screen and (max-width: 768px) {
  #banner ul {
    justify-content: center;
    margin: 40px 0 30px; }
    #banner ul li {
      flex-basis: 200px;
      padding: 0 5px 10px; } }
@media screen and (max-width: 480px) {
  #banner ul li {
    flex-basis: 180px; } }

/* FOOTER
-------------------------------------------------- */
#pagetop {
  position: relative;
  display: block;
  padding: 20px 0;
  margin-bottom: 50px;
  background: #000;
  text-align: center; }
  #pagetop::before, #pagetop::after {
    position: absolute;
    left: 0;
    right: 0;
    content: "";
    height: 1px;
    background: #fff; }
  #pagetop::before {
    top: 3px; }
  #pagetop::after {
    bottom: 3px; }
  @media screen and (max-width: 768px) {
    #pagetop {
      padding: 15px 0;
      margin-bottom: 30px; } }

#footer {
  background: url(/img/common/bg_footer.jpg) center/cover; }
  #footer .logo {
    padding-right: 10px; }
  #footer .footer_wrap {
    display: flex;
    justify-content: space-between; }
    #footer .footer_wrap .footer_link {
      display: flex;
      justify-content: space-between; }
      #footer .footer_wrap .footer_link ul {
        padding: 0 20px; }
        #footer .footer_wrap .footer_link ul li {
          margin-bottom: 15px;
          padding-left: 15px;
          line-height: 1.2; }
          #footer .footer_wrap .footer_link ul li.mrk {
            background: url(/img/common/mrk_flink.png) no-repeat 0 0.45em;
            background-size: 9px; }
          #footer .footer_wrap .footer_link ul li.btm {
            margin-bottom: 5em; }
          #footer .footer_wrap .footer_link ul li a {
            font-size: 13px; }
  #footer .copyright {
    display: block;
    margin-top: 60px;
    padding: 20px 0;
    border-top: 1px solid #6ddabe;
    text-align: center;
    font-size: 10px; }
  @media screen and (max-width: 1400px) {
    #footer .footer_wrap .footer_link {
      width: 80%;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: flex-start;
      height: 22em; }
      #footer .footer_wrap .footer_link ul li.btm {
        margin-bottom: 2.4em; } }
  @media screen and (max-width: 768px) {
    #footer .logo {
      margin-bottom: 20px; }
    #footer .footer_wrap {
      display: block; }
      #footer .footer_wrap .footer_link {
        width: auto;
        margin: 0 -10px;
        height: 30em; }
        #footer .footer_wrap .footer_link ul {
          padding: 0 2px 1em; }
          #footer .footer_wrap .footer_link ul li {
            margin-bottom: 10px;
            padding-left: 10px; }
            #footer .footer_wrap .footer_link ul li.mrk {
              background-size: 6px; }
            #footer .footer_wrap .footer_link ul li.btm {
              margin-bottom: 1.8em; }
            #footer .footer_wrap .footer_link ul li a {
              font-size: 12px; }
              #footer .footer_wrap .footer_link ul li a span {
                display: block;
                text-indent: 3em; }
    #footer .copyright {
      margin-top: 20px;
      padding: 15px 0; } }
  @media screen and (max-width: 480px) {
    #footer .footer_wrap .footer_link {
      height: 36em; } }

/* //////////////////////////////////////////////////

　汎用的なパーツ

////////////////////////////////////////////////// */
/* BUTTON
-------------------------------------------------- */
.btn {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  transition: all .3s;
  backface-visibility: hidden; }
  .btn:hover {
    opacity: .8;
    text-decoration: none; }
    .btn:hover img {
      opacity: 1; }
  .btn.style {
    width: 100%;
    padding: 15px;
    background: #000;
    outline: 1px solid #fff;
    outline-offset: -4px;
    font-size: 1.111em;
    color: #fff;
    line-height: 1; }
    .btn.style.big {
      padding: 30px 0;
      font-size: 1.2em; }
    .btn.style:hover {
      background: #6ddabe;
      outline: none;
      color: #000;
      opacity: 1; }
    .btn.style::before {
      position: relative;
      top: -3px;
      left: -10px;
      content: url(/img/common/mrk_btn.png); }
    @media screen and (max-width: 768px) {
      .btn.style {
        padding: 12px;
        outline-offset: -3px; }
        .btn.style.big {
          padding: 25px 0; }
        .btn.style::before {
          zoom: .7; } }

/* BREADCRUMB
-------------------------------------------------- */
#breadcrumb {
  position: absolute;
  top: 15px;
  left: 40px;
  font-size: 14px; }
  #breadcrumb .nav + .nav {
    display: inline-block;
    position: relative;
    padding-left: 20px; }
    #breadcrumb .nav + .nav::before {
      position: absolute;
      left: 4px;
      content: ">"; }
  @media screen and (max-width: 980px) {
    #breadcrumb {
      left: 20px; } }
  @media screen and (max-width: 768px) {
    #breadcrumb {
      display: none; } }

/* PAGE TITLE
-------------------------------------------------- */
#pagettl {
  position: relative;
  display: flex;
  align-items: center;
  background-size: cover;
  height: 300px;
  padding: 0 40px; }
  #pagettl .ttl {
    font-size: 1.667em; }
    #pagettl .ttl small {
      font-size: 0.53em; }
  @media screen and (max-width: 980px) {
    #pagettl {
      padding: 0 20px; } }
  @media screen and (max-width: 768px) {
    #pagettl {
      height: 200px; } }

/* TITLE
-------------------------------------------------- */
.ttl01 {
  /* 32px */
  font-size: 2em;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.3; }
  .ttl01 small {
    position: relative;
    font-size: 0.4em;
    letter-spacing: 0.05em; }
    .ttl01 small::before, .ttl01 small::after {
      position: absolute;
      top: calc(50% - 1px);
      width: 50px;
      height: 3px;
      content: "";
      background: #6ddabe; }
    .ttl01 small::before {
      left: -60px; }
    .ttl01 small::after {
      right: -60px; }

.ttl02 {
  /* 24px */
  position: relative;
  padding: 25px 0;
  background-color: #ab9558;
  background-repeat: no-repeat;
  background-position: 30% 50%;
  text-align: center;
  color: #fff;
  font-size: 1.5em;
  letter-spacing: 0.1em;
  line-height: 1.3; }
  .ttl02::before, .ttl02::after {
    position: absolute;
    content: "";
    left: 0;
    right: 0;
    height: 1px;
    background: #fff; }
  .ttl02::before {
    top: 3px; }
  .ttl02::after {
    bottom: 3px; }

.ttl03 {
  /* 32px */
  font-size: 2em;
  letter-spacing: 0.1em;
  line-height: 1.3; }
  .ttl03.green {
    color: #168a6d; }
  .ttl03.gold {
    color: #a18638; }
  .ttl03.white {
    color: #fff; }

.ttl04 {
  /* 26px */
  color: #168a6d;
  font-size: 1.625em;
  letter-spacing: 0.1em;
  line-height: 1.3; }
  .ttl04.border {
    border-bottom: 2px solid #6ddabe;
    padding-bottom: 0.6em;
    margin-bottom: 0.8em;
    text-align: center; }

.ttl05 {
  /* 20px */
  font-size: 1.25em;
  letter-spacing: 0.1em;
  line-height: 1.3; }

/* page navi
-------------------------------------------------- */
.page_navi {
  background: #6ddabe;
  padding: 15px 0 10px; }
  .page_navi li {
    margin-bottom: 5px; }
  .page_navi a {
    display: inline-block;
    margin: 0 15px;
    padding: 7px 10px;
    border-bottom: 4px solid transparent;
    font-size: 1.2em;
    line-height: 1; }
    .page_navi a:hover {
      border-color: #e2f8f2;
      text-decoration: none; }
  @media screen and (max-width: 1100px) {
    .page_navi a {
      font-size: 1.2em; } }
  @media screen and (max-width: 768px) {
    .page_navi {
      padding: 10px 0 0; }
      .page_navi a {
        display: inline-block;
        margin: 0 5px;
        padding: 5px;
        border-bottom-width: 3px; } }

/* 店舗の投稿関連
-------------------------------------------------- */
.posts {
  display: flex;
  justify-content: flex-start;
  margin: 0 -10px;
  flex-wrap: wrap; }
  .posts .post {
    margin-top: 30px;
    padding: 0 10px;
    line-height: 1.5; }
    .posts .post a {
      display: block;
      text-decoration: none; }
    .posts .post figure {
      margin-bottom: 10px; }
      .posts .post figure img {
        width: 100%;
        height: auto; }
    .posts .post .area, .posts .post .cellar {
      display: inline-block;
      margin-bottom: 10px;
      padding: 0 10px;
      color: #fff;
      font-size: 0.85em; }
    .posts .post .area {
      background: #6ddabe; }
    .posts .post .cellar {
      background: #ab9558; }
    .posts .post .date {
      display: block;
      margin-bottom: 10px;
      color: #168a6d;
      font-size: 0.85em; }
    .posts .post .title {
      padding: 15px 0;
      border-top: 1px solid #6ddabe;
      border-bottom: 1px solid #6ddabe;
      font-size: 1.1em;
      line-height: 1.3; }
    .posts .post .category {
      display: block;
      margin-bottom: 10px;
      padding-left: 25px;
      background: url("/img/common/mrk_green.png") no-repeat 0 50%;
      background-size: 14px;
      color: #168a6d;
      font-size: 1.3em;
      line-height: 1.3; }
  @media screen and (max-width: 980px) {
    .posts {
      margin: 0 -15px; }
      .posts .post {
        padding: 0 15px; }
        .posts .post .title {
          padding: 15px 0; }
        .posts .post .category {
          margin-bottom: 10px; } }
  @media screen and (max-width: 480px) {
    .posts .post {
      margin-top: 25px; }
      .posts .post a {
        overflow: hidden; }
      .posts .post figure {
        float: left;
        width: 100px;
        margin-right: 10px;
        margin-bottom: 0; }
      .posts .post .area, .posts .post .cellar, .posts .post .date, .posts .post .category {
        padding: 0 5px;
        margin-bottom: 4px; }
      .posts .post .title {
        padding: 8px 0;
        overflow: hidden; }
      .posts .post .category {
        padding-left: 15px;
        background-size: 10px; } }
  .posts:not(.shops) .post figure {
    position: relative;
    padding-top: 60%;
    overflow: hidden; }
    .posts:not(.shops) .post figure img {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%); }
  @media screen and (max-width: 480px) {
    .posts:not(.shops) .post figure {
      padding-top: 0; }
      .posts:not(.shops) .post figure img {
        position: static;
        transform: none; } }
  .posts.shops {
    margin: 0; }
    .posts.shops li {
      padding: 0; }
      .posts.shops li a {
        padding: 15px;
        transition: all .4s; }
        .posts.shops li a:hover {
          background: rgba(109, 218, 190, 0.2); }
          .posts.shops li a:hover img {
            opacity: 1; }
      .posts.shops li figure {
        position: relative; }
        .posts.shops li figure .logo {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          margin: 25px;
          background: rgba(255, 255, 255, 0.9); }
          .posts.shops li figure .logo img {
            padding: 5px;
            max-width: 100%;
            max-height: 100%;
            width: auto;
            height: auto; }
        .posts.shops li figure .title {
          padding: 10px 0 0;
          border: none;
          font-size: 1.1em; }
    @media screen and (max-width: 980px) {
      .posts.shops li a {
        padding: 10px; } }
    @media screen and (max-width: 768px) {
      .posts.shops li figure .logo {
        margin: 15px; } }
    @media screen and (max-width: 480px) {
      .posts.shops li figure .logo {
        margin: 10px; } }

/* LOCAL NAVI
-------------------------------------------------- */
.local_navi ul {
  display: flex;
  flex-wrap: wrap; }
  .local_navi ul li {
    width: 25%; }
    .local_navi ul li img {
      vertical-align: top;
      width: 100%; }
    .local_navi ul li a {
      display: block;
      position: relative; }
      .local_navi ul li a:hover img {
        opacity: 1; }
      .local_navi ul li a::after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        content: "";
        background: rgba(109, 218, 190, 0.85);
        opacity: 0;
        transition: all .3s; }
    .local_navi ul li .label {
      position: absolute;
      z-index: 2;
      top: 50%;
      left: 50%;
      min-width: 75%;
      padding: 10px;
      transform: translate(-50%, -50%);
      background: rgba(255, 255, 255, 0.85);
      border: 3px solid transparent;
      text-align: center;
      line-height: 1.3; }
    .local_navi ul li:hover a::after {
      opacity: 1; }
    .local_navi ul li:hover .label {
      color: #fff;
      background: transparent;
      border-color: #fff; }
@media screen and (max-width: 768px) {
  .local_navi ul li {
    width: 50%; } }

/* PAGER
-------------------------------------------------- */
.pager {
  position: relative;
  text-align: center; }
  .pager .prev {
    position: absolute;
    top: 0;
    left: 0; }
  .pager .next {
    position: absolute;
    top: 0;
    right: 0; }
  .pager .back {
    display: inline-block;
    border: 1px solid #000; }
    .pager .back a {
      padding: 0 20px; }
  @media screen and (max-width: 768px) {
    .pager li + li {
      margin-top: 10px; }
    .pager .prev {
      position: static;
      text-align: left; }
    .pager .next {
      position: static;
      text-align: right; } }

.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  margin: 0 5px;
  padding: 5px;
  min-width: 25px; }
  .wp-pagenavi a.current, .wp-pagenavi span.current {
    background: #000;
    color: #fff; }
