@charset "UTF-8";
/* Scss Document */
@import url(normalize.css);
/* Scss Document */
/*=======================================================
    reset
========================================================*/
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  margin: 0;
  padding: 0; }

/*=======================================================
    font
========================================================*/
.yu-mincho {
  font-family: "Yu Mincho", "YuMincho"; }

.font_en {
  font-family: Copperplate,Copperplate Gothic Light,fantasy; }

/*=======================================================
	
    ブレークポイント
========================================================*/
/*-------------- calc mixin ここから ----------------*/
/*-------------- calc mixin ここまで ----------------*/
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */
/*=======================================================
	
    common
    
========================================================*/
html {
  font-size: 62.5%;
  height: 100%; }

body {
  font-size: 1.4rem;
  background: #fff;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  color: #383635;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 1.4rem;
      line-height: 1.8; } }

a {
  transition: all 0.3s ease 0s;
  color: #000; }
  a:hover {
    color: #0e2449; }

@media screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .tab {
    display: none; } }

@media screen and (min-width: 768px) {
  .tab {
    display: none; } }

@media screen and (min-width: 606px) and (max-width: 767px) {
  .tab {
    display: block !important; } }

.clearfix {
  *zoom: 1; }
  .clearfix::after {
    content: "";
    display: block;
    clear: both; }

a img {
  transition: all 0.3s ease 0s; }
  a img:hover {
    opacity: 0.8; }

img {
  max-width: 100%;
  height: auto; }

@media screen and (max-width: 767px) {
  img {
    max-width: 100%; } }

.link {
  color: #000;
  text-decoration: none; }

.mrgT5 {
  margin-top: 5px; }

.mrgT10 {
  margin-top: 10px; }

.mrgT15 {
  margin-top: 15px; }

.mrgT20 {
  margin-top: 20px; }

.mrgT25 {
  margin-top: 25px; }

.mrgT30 {
  margin-top: 30px; }

.mrgT40 {
  margin-top: 40px; }

.mrgT50 {
  margin-top: 50px; }

.mrgT60 {
  margin-top: 60px; }

.mrgT70 {
  margin-top: 70px; }

.mrgB5 {
  margin-bottom: 5px; }

.mrgB10 {
  margin-bottom: 10px; }

.mrgB15 {
  margin-bottom: 15px; }

.mrgB20 {
  margin-bottom: 20px; }

.mrgB25 {
  margin-bottom: 25px; }

.mrgB30 {
  margin-bottom: 30px; }

.mrgB40 {
  margin-bottom: 40px; }

.mrgB50 {
  margin-bottom: 50px; }

.mrgB60 {
  margin-bottom: 60px; }

.mrgB70 {
  margin-bottom: 70px; }

.floatL {
  float: left; }

.floatR {
  float: right; }

.fontBold {
  font-weight: bold; }

.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.text-left {
  text-align: left; }

.f14 {
  font-size: 1.4rem; }

.f16 {
  font-size: 1.6rem; }

.f18 {
  font-size: 1.8rem; }

.red {
  color: #c1272d; }

/*=======================================================
	
    header
    
========================================================*/
#container section {
  background: #fff; }
  #container section p {
    line-height: 1.6; }

#container header {
  position: fixed;
  z-index: 999;
  width: 100%;
  top: 30px; }
  @media screen and (max-width: 767px) {
    #container header {
      padding: 10px 20px;
      top: 0; } }
  #container header .tag {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    height: 0;
    width: 0; }
  #container header.is-fixed {
    background: rgba(0, 0, 0, 0.8);
    top: 0; }
    #container header.is-fixed .inner h1 {
      background: 0; }
  #container header .inner {
    padding: 20px 0;
    max-width: 1040px;
    margin: 0 auto;
    position: relative;
    display: flex;
    box-sizing: border-box; }
    @media screen and (max-width: 767px) {
      #container header .inner {
        padding: 20px; } }
    #container header .inner nav {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      padding-right: 75px;
      width: 80%; }
      #container header .inner nav ul {
        display: flex;
        flex-wrap: wrap;
        align-items: center; }
        #container header .inner nav ul li {
          margin-right: 40px;
          font-size: 1.6rem;
          text-align: center;
          font-family: 'Muli', sans-serif;
          transition: all 0.3s ease 0s; }
          #container header .inner nav ul li .jp {
            display: none; }
          #container header .inner nav ul li:hover .en {
            display: none; }
          #container header .inner nav ul li:hover .jp {
            display: inline; }
          #container header .inner nav ul li a {
            color: #fff;
            text-decoration: none; }

          #container header .inner nav ul li a.shop {
            border: solid 1px #fff;
			display: inline-block;
			width: 150px;
			height: 30px;
			vertical-align: middle;
			line-height: 30px;
          font-size: 14px;}
			#container header .inner nav ul li a.shop:hover {
				opacity: .7;}
          #container header .inner nav ul li:nth-child(5) {
            margin-right: 20px; }
  #container header .menu-trigger,
  #container header .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    cursor: pointer;
    color: #000; }
  #container header .menu-trigger {
    width: 60px;
    height: 50px;
    float: right;
    position: fixed;
    top: 1%;
    right: 1%;
    z-index: 105; }
  #container header .menu-trigger span {
    width: 35px;
    height: 4px;
    margin: auto auto auto 13px;
    position: absolute;
    background-color: #fff; }
  #container header .menu-trigger span:nth-of-type(1) {
    top: 10px; }
  #container header .menu-trigger span:nth-of-type(2) {
    top: 0;
    bottom: 0; }
  #container header .menu-trigger span:nth-of-type(3) {
    bottom: 10px; }
  #container header .menu-trigger.active {
    background: #fff; }
  #container header .menu-trigger.active span {
    background-color: #000; }
  #container header .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(13px) rotate(-45deg);
    transform: translateY(13px) rotate(-45deg); }
  #container header .menu-trigger.active span:nth-of-type(2) {
    opacity: 0; }
  #container header .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-13px) rotate(45deg);
    transform: translateY(-13px) rotate(45deg); }
  #container header #overlay {
    width: 100%;
    height: 100vh;
    margin: auto;
    padding-top: 15%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    background: #000;
    display: none;
    color: #000; }
    #container header #overlay h1 {
      text-align: center;
      margin-bottom: 10px; }
    #container header #overlay .sns {
      justify-content: center; }
      #container header #overlay .sns li {
        margin: 0 10px; }
  #container header #overlay .gnav {
    display: block;
    width: 100%;
    margin-bottom: 10px; }
  #container header #overlay .gnav li {
    border: 0;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    font-family: 'Muli', sans-serif; }
  #container header #overlay .gnav li {
    text-align: center; }
    #container header #overlay .gnav li a {
      text-decoration: none;
      font-size: 1.8rem;
      font-weight: bold;
      color: #fff; }
      #container header #overlay .gnav li a span {
        color: #fff;
        font-size: 1.1rem;
        padding-top: 10px;
        display: block; }

#container .fv_wrap {
  background-image: url(../img/top/bg_mv.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;
  border: 20px solid  #fff;
  box-sizing: border-box;
  position: relative; }
  @media screen and (max-width: 767px) {
    #container .fv_wrap {
      border: 0; } }
  #container .fv_wrap address {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    text-align: center;
    font-family: 'Muli', sans-serif;
    color: #fff; }
    @media screen and (max-width: 767px) {
      #container .fv_wrap address {
        font-size: 1.2rem;
        width: 100%; } }
  #container .fv_wrap .mv_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    text-align: center; }

#container footer {
  background: url(../img/common/bg_footer.jpg) top center;
  background-size: cover;
  padding-bottom: 20px; }
  #container footer .inner {
    padding: 50px 0 50px;
    max-width: 1040px;
    margin: 0 auto;
    text-align: center;
    color: #fff; }
    @media screen and (max-width: 767px) {
      #container footer .inner {
        width: 100%;
        padding: 50px 20px;
        box-sizing: border-box; } }
    #container footer .inner .foot_logo {
      text-align: center;
      margin-bottom: 30px; }
    #container footer .inner .sns {
      display: flex;
      justify-content: center;
      margin-bottom: 50px; }
      #container footer .inner .sns li {
        margin-right: 20px; }
        #container footer .inner .sns li:last-child {
          margin-right: 0; }
      #container footer .inner .sns li .shop{
		  color: #fff;
          border: solid 1px #fff;
          display: inline-block;
          width: 150px;
          height: 30px;
          vertical-align: middle;
          line-height: 30px;
          font-size: 14px;
		  text-decoration: none;}
      #container footer .inner .sns li .shop:hover{
		opacity: .7;}
    #container footer .inner .gnav {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin-bottom: 20px; }
      #container footer .inner .gnav li {
        margin-right: 20px;
        font-size: 1.6rem;
        text-align: center;
        padding-right: 20px; }
        #container footer .inner .gnav li:last-child {
          padding-right: 0;
          margin-right: 0;
          border: 0; }
        #container footer .inner .gnav li a {
          color: #fff;
          text-decoration: none; }
    #container footer .inner .info {
      line-height: 2.0; }
      #container footer .inner .info a {
        color: #fff; }
  #container footer address {
    font-size: 1.4rem;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1040px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      #container footer address {
        display: block;
        text-align: center; } }
    @media screen and (max-width: 767px) {
      #container footer address span {
        display: block; } }
    #container footer address a {
      color: #fff;
      text-decoration: none; }

#container .toTop {
  position: fixed;
  right: 3%;
  bottom: 3%; }

/*=======================================================
	
    共通レイアウト
    
========================================================*/
@media screen and (max-width: 767px) {
  #container {
    overflow: hidden; } }

#container .flex {
  display: flex;
  flex-wrap: wrap; }
  #container .flex img {
    max-width: 100%; }

#container section .inner {
  padding: 70px 0;
  max-width: 1040px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    #container section .inner {
      padding: 30px 20px; } }
  #container section .inner .btn01 {
    text-align: center; }
    #container section .inner .btn01 a {
      background: #fff;
      padding: 10px 20px;
      display: block;
      width: 235px;
      font-family: 'Muli', sans-serif;
      border: 1px solid #000;
      text-align: center;
      margin: 30px auto 0;
      text-decoration: none;
      position: relative; }
      #container section .inner .btn01 a::after {
        content: '';
        display: inline-block;
        width: 18px;
        height: 5px;
        background-image: url(../img/top/ico_arrow01.png);
        background-size: contain;
        vertical-align: middle;
        position: absolute;
        top: 15px;
        right: 20px;
        transition: all .3s; }
      #container section .inner .btn01 a:hover::after {
        right: 10px;
        transition: all .3s; }

/*=======================================================
	
    TOP
    
========================================================*/
#top #container h2 {
  text-align: center;
  font-family: 'Muli', sans-serif;
  position: relative;
  font-size: 3.6rem;
  font-weight: 700;
  margin-bottom: 50px; }
  #top #container h2 span {
    font-size: 1.4rem;
    display: block;
    font-weight: normal;
    margin-top: 10px; }
  #top #container h2::after {
    position: absolute;
    bottom: -100px;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    width: 1px;
    height: 56px;
    background: #000;
    content: "";
    z-index: 10; }

#top #container .sec001 .inner .news_box {
  max-width: 720px;
  margin: 0 auto;
  background: #f4f4f4;
  padding: 50px;
  box-sizing: border-box; }
  @media screen and (max-width: 767px) {
    #top #container .sec001 .inner .news_box {
      padding: 25px; } }

#top #container .sec002 .box_wrap {
  background: url(../img/top/bg_sec002.jpg);
  background-size: cover;
  padding: 500px 0 50px; }
  @media screen and (max-width: 767px) {
    #top #container .sec002 .box_wrap {
      padding: 250px 0 50px;
      background: url(../img/top/bg_sec002_sp.jpg);
      background-size: cover;
      padding: 300px 0 0; } }
  #top #container .sec002 .box_wrap .inner {
    text-align: center;
    color: #fff;
    margin: 200px auto 0; }
    #top #container .sec002 .box_wrap .inner h3 {
      font-size: 2.0rem;
      font-weight: 700;
      margin-bottom: 30px; }
    #top #container .sec002 .box_wrap .inner p {
      line-height: 1.8; }
      @media screen and (max-width: 767px) {
        #top #container .sec002 .box_wrap .inner p {
          font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #top #container .sec002 .box_wrap .inner {
        background: rgba(134, 139, 142, 0.95);
        padding: 20px 20px 40px; } }

/*=======================================================
	
    下層コンテンツ（共通）
    
========================================================*/
#local #container ul#newsList li {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 767px) {
    #local #container ul#newsList li {
      display: block; } }
  #local #container ul#newsList li .up_ymd {
    display: inline-block;
    width: 18%; }
    @media screen and (max-width: 767px) {
      #local #container ul#newsList li .up_ymd {
        width: auto; } }

#local #container header {
  top: 0; }

#local #container p {
  line-height: 1.6; }

#local #container img {
  max-width: 100%;
  height: auto; }

#local #container section {
  padding: 50px 0; }
  @media screen and (max-width: 767px) {
    #local #container section {
      padding: 30px 0; } }
  #local #container section .flex {
    display: flex;
    flex-wrap: wrap; }
  #local #container section h3.style01 {
    text-align: center;
    font-family: 'Muli', sans-serif;
    position: relative;
    font-size: 3.6rem;
    font-weight: 700;
    margin-bottom: 50px; }
    #local #container section h3.style01 span {
      font-size: 1.4rem;
      display: block;
      font-weight: normal;
      margin-top: 10px; }
    #local #container section h3.style01::after {
      position: absolute;
      bottom: -100px;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
      margin: auto;
      width: 1px;
      height: 56px;
      background: #000;
      content: "";
      z-index: 10; }

#local #container .title {
  width: 100%;
  position: relative;
  height: 420px; }
  @media screen and (max-width: 767px) {
    #local #container .title {
      height: 350px; } }
  #local #container .title h2 {
    text-align: center;
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin: auto;
    font-family: 'Muli', sans-serif;
    color: #fff;
    font-size: 4.0rem;
    font-weight: 700;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center; }
    #local #container .title h2 span {
      font-size: 1.4rem;
      color: #fff;
      display: block;
      margin-top: 20px; }
      @media screen and (max-width: 767px) {
        #local #container .title h2 span {
          font-size: 1.4rem; } }
    @media screen and (max-width: 767px) {
      #local #container .title h2 {
        font-size: 3.6rem; } }

/*=======================================================
	
    SHOP
    
========================================================*/
#local #container .shop .title {
  background: url(../img/shop/bg_h2.jpg);
  background-size: cover; }

#local #container .shop .sec001 .box_wrap {
  overflow: hidden;
  background: #000;
  position: relative; }
  #local #container .shop .sec001 .box_wrap .prof {
    color: #fff;
    padding: 70px;
    width: 770px;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: 1.8; }
    @media screen and (max-width: 767px) {
      #local #container .shop .sec001 .box_wrap .prof {
        width: 100%;
        padding: 20px; } }
    #local #container .shop .sec001 .box_wrap .prof .txt {
      margin-bottom: 50px; }
    #local #container .shop .sec001 .box_wrap .prof .name {
      text-align: right; }
  #local #container .shop .sec001 .box_wrap figure {
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (max-width: 767px) {
      #local #container .shop .sec001 .box_wrap figure {
        position: inherit;
        margin-bottom: -10px; } }

#local #container .shop .sec002 h3 {
  margin-bottom: 100px; }

#local #container .shop .sec002 .lead {
  text-align: center;
  line-height: 1.8;
  margin: 50px 0; }

#local #container .shop .sec002 .flex {
  justify-content: space-between; }
  #local #container .shop .sec002 .flex li {
    width: calc(50% - 5px); }

#local #container .shop .sec002 .inner .flex .cont {
  width: calc(50% - 10px); }
  @media screen and (max-width: 767px) {
    #local #container .shop .sec002 .inner .flex .cont {
      width: 100%;
      margin-bottom: 20px; } }
  #local #container .shop .sec002 .inner .flex .cont table tr th {
    padding: 15px;
    font-weight: 700;
    border-bottom: 1px solid #000;
    text-align: left; }
    @media screen and (max-width: 767px) {
      #local #container .shop .sec002 .inner .flex .cont table tr th {
        display: block;
        width: 100%;
        box-sizing: border-box;
        border-bottom: 1px dotted #000; } }
  #local #container .shop .sec002 .inner .flex .cont table tr td {
    padding: 15px;
    border-bottom: 1px solid #000;
    line-height: 1.8; }
	#local #container .shop .sec002 .inner .flex .cont table tr th{
		white-space: nowrap;
	}
	#local #container .shop .sec002 .inner .flex .cont table tr td .tit{
		display: block;
		float: left;
	}
	#local #container .shop .sec002 .inner .flex .cont table tr td .txt{
		display: block;
		padding-left: 5em;
	}
    @media screen and (max-width: 767px) {
      #local #container .shop .sec002 .inner .flex .cont table tr td {
        display: block;
        width: 100%;
        box-sizing: border-box; } }

/*=======================================================
	
    NEWS
    
========================================================*/
#local #container .news .title {
  background: url(../img/news/bg_h2.jpg);
  background-size: cover; }
  @media screen and (max-width: 767px) {
    #local #container .news .title {
      background: url(../img/news/bg_h2_sp.jpg); } }

#local #container .news .wrap {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    #local #container .news .wrap {
      display: block; } }
  #local #container .news .wrap .main {
    width: 70%; }
    @media screen and (max-width: 767px) {
      #local #container .news .wrap .main {
        width: 100%;
        margin-bottom: 40px; } }
    #local #container .news .wrap .main .pNav {
      margin-bottom: 50px; }
    #local #container .news .wrap .main h3 {
      font-size: 2.2rem;
      margin-bottom: 30px;
      padding-bottom: 10px;
      border-bottom: 1px solid #000;
      font-weight: 700; }
    #local #container .news .wrap .main .detailText {
      line-height: 1.6; }
  #local #container .news .wrap .sub {
    width: 25%; }
    @media screen and (max-width: 767px) {
      #local #container .news .wrap .sub {
        width: 100%; } }
    #local #container .news .wrap .sub dl dt {
      font-weight: 700;
      font-size: 1.8rem;
      border-bottom: 1px solid #000;
      padding-bottom: 10px;
      margin-bottom: 30px; }
    #local #container .news .wrap .sub dl dd ul li {
      margin-bottom: 20px; }
      #local #container .news .wrap .sub dl dd ul li::before {
        font-family: FontAwesome;
        content: '\f0da';
        margin-right: 10px; }

/*# sourceMappingURL=style.css.map */