@charset "UTF-8";
html {
  font-size: 62.5%; }

body {
  font-family: Linotte, YuGothic, "Yu Gothic", 游ゴシック体, 游ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Roboto, メイリオ, Meiryo, "ＭＳ Ｐゴシック", Osaka, "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  background-color: #f9f8f6;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #421f00;
  font-size: 14px;
  font-size: 1.4rem; }

.tap {
  cursor: pointer; }

a:link {
  color: #6d8d3d;
  text-decoration: none; }

a:visited {
  color: #6a7558; }

/*----------------------------------------
    レイアウト設定
-----------------------------------------*/
#cover-visual {
  background-image: url(../images/main_visual_mob.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 200px;
  margin-bottom: 0px; }

#cover-visual::before {
  background: #000;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  height: 200px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: ''; }

#top-head {
  top: 0;
  position: fixed;
  font-size: 14px;
  font-size: 1.4rem;
  margin: 0 auto 0;
  line-height: 1;
  z-index: 999;
  width: 100%;
  padding: 0;
  text-decoration: none; }
  #top-head .inner {
    margin: 0 auto;
    position: relative;
    width: 100%;
    padding: 0; }
  #top-head a {
    text-decoration: none; }
  #top-head .inner::after {
    content: "";
    clear: both;
    display: block; }

#mobile-head {
  background: #fff;
  width: 100%;
  height: 60px;
  z-index: 999;
  position: relative; }
  #mobile-head h1 {
    margin: auto; }

#top-head.fixed .logo_mb_top,
#top-head .logo_mb_top {
  position: absolute;
  left: 13px;
  top: 10px;
  float: left; }

#top-head.fixed .logo_tab_pc_top,
#top-head .logo_tab_pc_top,
#top-head.fixed .logo_tab_pc_fixed,
#top-head .logo_tab_pc_fixed {
  display: none; }

#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
  width: 100%;
  color: #fff;
  padding: 18px 10px; }
  #top-head #global-nav ul li a:hover,
  #top-head.fixed #global-nav ul li a:hover {
    color: #929292;
    background-color: transparent; }

#global-nav {
  position: absolute;
  top: -500px;
  background: #333;
  width: 100%;
  padding: 10px 0;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out; }
  #global-nav ul {
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    font-size: 12px;
    font-size: 1.2rem;
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column;
    /* Safari */
    flex-direction: column;
    margin-top: 40px;
    margin-left: 20px; }
    #global-nav ul li {
      position: static;
      margin-bottom: 40px; }

/* Toggle Button */
#nav-toggle {
  display: block;
  position: absolute;
  right: 12px;
  top: 25px;
  width: 20px;
  height: 28px;
  cursor: pointer;
  z-index: 101; }
  #nav-toggle div {
    position: relative; }
    #nav-toggle div span {
      display: block;
      position: absolute;
      height: 1px;
      width: 100%;
      background: #666;
      left: 0;
      -webkit-transition: .35s ease-in-out;
      -moz-transition: .35s ease-in-out;
      transition: .35s ease-in-out; }
    #nav-toggle div span:nth-child(1) {
      top: 0; }
    #nav-toggle div span:nth-child(2) {
      top: 8px; }
    #nav-toggle div span:nth-child(3) {
      top: 16px; }

/* #nav-toggle 切り替えアニメーション */
.open {
  /* #global-nav スライドアニメーション */ }
  .open #nav-toggle span:nth-child(1) {
    top: 8px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg); }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%; }
  .open #nav-toggle span:nth-child(3) {
    top: 8px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg); }
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px); }

#fotter {
  margin-top: 40px;
  background-color: #EFEDD2;
  padding: 30px 20px; }
  #fotter #fotter_inner {
    padding-bottom: 50px; }
    #fotter #fotter_inner ul {
      display: -webkit-flex;
      /* Safari */
      display: flex;
      -webkit-flex-direction: column;
      /* Safari */
      flex-direction: column;
      margin-bottom: 40px; }
      #fotter #fotter_inner ul li {
        font-size: 12px;
        font-size: 1.2rem;
        position: relative; }
      #fotter #fotter_inner ul li a {
        color: #421f00;
        padding: 0 3px; }
      #fotter #fotter_inner ul li:nth-child(1)::before, #fotter #fotter_inner ul li:nth-child(2)::before, #fotter #fotter_inner ul li:nth-child(3)::before, #fotter #fotter_inner ul li:nth-child(4)::before, #fotter #fotter_inner ul li:nth-child(5)::before {
        font-family: FontAwesome;
        content: "\f18e";
        color: #421f00;
        position: absolute;
        top: 0px;
        left: -16px;
        font-size: 12px;
        font-size: 1.2rem; }
      #fotter #fotter_inner ul li:nth-child(1), #fotter #fotter_inner ul li:nth-child(2), #fotter #fotter_inner ul li:nth-child(3), #fotter #fotter_inner ul li:nth-child(4), #fotter #fotter_inner ul li:nth-child(5) {
        margin-left: 17px;
        margin-bottom: 4px; }
    #fotter #fotter_inner p {
      text-align: center; }

@media screen and (min-width: 640px) {
  #cover-visual {
    background-image: url(../images/main_visual_tab_pc.jpg);
    height: 200px;
    margin-bottom: 10px; }

  #cover-visual::before {
    background: rgba(0, 0, 0, 0.5);
    height: 200px; }

  #top-head {
    top: -100px;
    position: absolute;
    margin: 100px auto 0;
    padding: 30px 0 0; }
    #top-head .inner {
      padding: 0 20px; }

  #mobile-head {
    background: transparent;
    width: auto;
    height: auto;
    z-index: auto;
    position: static; }
    #mobile-head .logo_mb_top {
      display: none; }
    #mobile-head .logo_tab_pc_top {
      display: block;
      margin-left: auto;
      margin-right: auto; }

  #nav-toggle {
    display: none; }

  #global-nav {
    position: static;
    top: auto;
    margin-top: 30px;
    background: transparent;
    width: auto;
    text-align: start;
    padding: 0;
    -webkit-transition: none;
    -moz-transition: none;
    transition: none; }
    #global-nav ul {
      display: -webkit-flex;
      /* Safari */
      display: flex;
      -webkit-flex-direction: row;
      /* Safari */
      flex-direction: row;
      -webkit-justify-content: center;
      /* Safari */
      justify-content: center;
      -webkit-flex-wrap: nowrap;
      /* Safari */
      flex-wrap: nowrap;
      margin-left: 0px;
      font-size: 14px;
      font-size: 1.4rem; }
      #global-nav ul li {
        margin-left: 0px;
        margin-top: 10px;
        margin-bottom: 20px; }

  #top-head #global-nav ul li a {
    padding: 3px 10px;
    width: auto;
    display: block; }
    #top-head #global-nav ul li a:hover {
      color: #cccccc;
      background-color: transparent; }

  #top-head.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    padding-top: 0;
    height: 70px;
    background: #fff;
    background: white;
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in; }
    #top-head.fixed .inner {
      margin: 0 auto;
      position: relative;
      width: 100%;
      padding: 0; }
      #top-head.fixed .inner .logo_tab_pc_fixed {
        display: block;
        position: absolute;
        float: left;
        left: 23px;
        top: 13px; }
      #top-head.fixed .inner .logo_tab_pc_top {
        display: none; }

  .fixed #nav-toggle {
    display: block;
    right: 22px;
    top: 30px; }

  .fixed #mobile-head {
    width: 100%;
    height: 70px;
    z-index: 999;
    background: #fff;
    position: relative; }

  .fixed #global-nav {
    position: absolute;
    top: -500px;
    margin-top: 0px;
    background: #333;
    width: 100%;
    padding: 10px 0;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out; }
    .fixed #global-nav ul {
      list-style: none;
      position: static;
      right: 0;
      bottom: 0;
      font-size: 14px;
      font-size: 1.4rem;
      display: -webkit-flex;
      /* Safari */
      display: flex;
      -webkit-flex-direction: column;
      /* Safari */
      flex-direction: column;
      margin-top: 40px;
      margin-left: 20px; }
      .fixed #global-nav ul li {
        position: static;
        margin-bottom: 40px; }

  #top-head.fixed #global-nav ul li a {
    display: inline; }

  /* #global-nav スライドアニメーション */
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(570px);
    -webkit-transform: translateY(570px);
    transform: translateY(570px); }

  #fotter {
    background-color: transparent;
    padding: 0px; }
    #fotter #fotter_inner {
      margin-right: 20px;
      margin-left: 20px; }
      #fotter #fotter_inner ul {
        width: 450px;
        margin-left: auto;
        margin-right: auto;
        -webkit-flex-direction: row;
        /* Safari */
        flex-direction: row; }
        #fotter #fotter_inner ul li:nth-child(1)::before {
          content: none; }
        #fotter #fotter_inner ul li:nth-child(2)::before, #fotter #fotter_inner ul li:nth-child(3)::before, #fotter #fotter_inner ul li:nth-child(4)::before, #fotter #fotter_inner ul li:nth-child(5)::before {
          content: "│";
          left: -14px;
          top: 0px; }
        #fotter #fotter_inner ul li:nth-child(1) {
          margin-left: 0px;
          margin-bottom: 0px; }
        #fotter #fotter_inner ul li:nth-child(2), #fotter #fotter_inner ul li:nth-child(3), #fotter #fotter_inner ul li:nth-child(4), #fotter #fotter_inner ul li:nth-child(5) {
          margin-bottom: 0px; } }
@media screen and (min-width: 1010px) {
  #cover-visual {
    height: 200px;
    margin: 0 auto 10px; }

  #cover-visual::before {
    height: 200px;
    margin: 0 auto; }

  .open #global-nav {
    -moz-transform: none;
    -webkit-transform: none;
    transform: none; }

  .fixed #nav-toggle {
    display: none; }

  .fixed #mobile-head {
    background: transparent;
    width: auto;
    height: auto;
    z-index: auto;
    position: static; }

  #top-head .inner {
    width: 970px; }

  #top-head.fixed .inner .logo_tab_pc_fixed {
    left: 7px; }

  #top-head #global-nav ul li a {
    padding: 3px 30px;
    display: block; }

  .fixed #global-nav {
    position: static;
    top: auto;
    background: transparent;
    width: auto;
    text-align: start;
    padding: 0;
    -webkit-transition: none;
    -moz-transition: none;
    transition: none; }
    .fixed #global-nav ul {
      position: absolute;
      font-size: 14px;
      font-size: 1.4rem;
      bottom: -75px;
      margin-left: 0px; }
      .fixed #global-nav ul li {
        float: left;
        position: relative;
        margin-left: 0; }

  #top-head.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    height: 90px;
    background: #fff;
    background: rgba(255, 255, 255, 0.9);
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in; }
    #top-head.fixed .inner {
      margin: 0 auto;
      position: relative;
      width: 970px;
      padding: 0; }

  #top-head.fixed #global-nav {
    position: absolute;
    right: 0px;
    top: 20px;
    margin-top: 0;
    background: transparent;
    width: 100%;
    text-align: start;
    padding: 0;
    -webkit-transition: none;
    -moz-transition: none;
    transition: none; }
    #top-head.fixed #global-nav ul {
      margin-left: 0px;
      display: -webkit-flex;
      /* Safari */
      display: flex;
      -webkit-flex-direction: row;
      /* Safari */
      flex-direction: row;
      -webkit-justify-content: flex-end;
      /* Safari */
      justify-content: flex-end;
      -webkit-flex-wrap: nowrap;
      /* Safari */
      flex-wrap: nowrap;
      padding-top: 20px; }

  #top-head.fixed #global-nav ul li a {
    padding: 3px 15px;
    width: auto;
    display: block;
    color: #421f00; }
    #top-head.fixed #global-nav ul li a:hover {
      color: #cccccc;
      background-color: transparent; } }
