@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: url("../font/NotoSansJP-DemiLight.woff2") format("woff2"), url("../font/NotoSansJP-DemiLight.woff") format("woff"), url("../font/NotoSansJP-DemiLight.otf") format("opentype"); }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansJP-Regular.woff2") format("woff2"), url("../font/NotoSansJP-Regular.woff") format("woff"), url("../font/NotoSansJP-Regular.otf") format("opentype"); }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../font/NotoSansJP-Medium.woff2") format("woff2"), url("../font/NotoSansJP-Medium.woff") format("woff"), url("../font/NotoSansJP-Medium.otf") format("opentype"); }
/* =================================
reset
================================= */
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;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
  font-weight: normal; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse; }

span, strong, th {
  font-weight: inherit; }

input, select, button {
  box-sizing: border-box;
  font-size: inherit;
  font-weight: normal;
  font-family: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  color: #333; }

/* =================================
common
================================= */
html {
  height: 100%; }

body {
  height: 100%;
  color: #565656;
  letter-spacing: .08em;
  line-height: 1.7;
  text-align: center;
  font-style: normal;
  font-weight: 300;
  font-size: 14px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  text-size-adjust: none;
  padding-top: 60px;
  box-sizing: border-box; }

h1, h2, h3, h4, h5 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit; }

video {
  width: 100%;
  height: auto; }

a {
  display: block;
  text-decoration: none;
  margin: 0 auto; }

a:hover {
  text-decoration: none;
  opacity: .5;
  transition: all .2s ease-in; }

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

span, strong {
  display: block; }

.sp {
  display: none; }

.inner {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto; }

.news-btn {
  font-size: 1em;
  font-family: "Montserrat", "yu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
  .news-btn span {
    position: relative;
    display: inline-block;
    padding: 0.5em 35px 0.5em 0.5em;
    color: #333; }
    .news-btn span:before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      width: 25px;
      height: 25px;
      border-radius: 50%;
      background: #333; }
    .news-btn span:after {
      content: "";
      position: absolute;
      top: 0;
      right: 10px;
      bottom: 0;
      width: 7px;
      height: 7px;
      margin: auto;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      transform: rotate(45deg); }

.btn_shop {
  color: #fff;
  box-sizing: border-box;
  max-width: 200px;
  display: block;
  border: 1px solid #5A5655;
  border-radius: .3em;
  background: #fff;
  padding: 0.6em 0;
  margin: 0;
  position: relative; }
  .btn_shop:after {
    content: '';
    position: absolute;
    top: 0;
    right: 13%;
    bottom: 0;
    margin: auto;
    width: 7px;
    height: 7px;
    border: 0;
    border-top: solid 1px #5A5655;
    border-right: solid 1px #5A5655;
    transform: rotate(45deg); }
  .btn_shop img {
    width: 50.51%;
    min-width: 70px;
    margin: 0 auto; }

@media screen and (max-width: 768px) {
  body {
    padding-top: 50px; }

  .pc {
    display: none; }

  .sp {
    display: inherit; }

  .inner {
    width: 90%; }

  .news-btn span {
    padding-left: 0;
    padding-right: 25px; }
    .news-btn span:before {
      width: 20px;
      height: 20px; }
    .news-btn span:after {
      right: 9px;
      width: 5px;
      height: 5px; }

  .btn_shop {
    padding: .4em 0; }
    .btn_shop:after {
      right: 7%; } }
/* =================================
header
================================= */
.shadow {
  display: none;
  background-color: rgba(0, 0, 0, 0.6);
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 999; }

.header {
  position: fixed;
  top: 0;
  z-index: 9999;
  width: 100vw;
  transition: .5s;
  background: #fff;
  border-bottom: 1px solid #f2f2f2; }
  .header.hide {
    z-index: -1;
    transform: translateY(-160%); }
  .header .inner {
    position: relative;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 95%;
    max-width: none;
    height: 60px; }
  .header .sp_menu {
    cursor: pointer; }
    .header .sp_menu i {
      width: 32px;
      height: 20px;
      display: block;
      position: relative; }
    .header .sp_menu span {
      transition: all 0.3s;
      width: 20px;
      height: 1px;
      background: #838080;
      position: absolute;
      left: 0;
      right: 0;
      margin: auto; }
      .header .sp_menu span.top {
        top: 0; }
      .header .sp_menu span.middle {
        top: 0;
        bottom: 0; }
      .header .sp_menu span.bottom {
        bottom: 0; }
    .header .sp_menu.open .top {
      transform: rotate(-45deg);
      bottom: 0; }
    .header .sp_menu.open .middle {
      background: rgba(255, 255, 255, 0); }
    .header .sp_menu.open .bottom {
      transform: rotate(45deg);
      top: 0; }
  .header h1 {
    max-width: 110px;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0; }
    .header h1 a {
      display: block; }
    .header h1 img {
      width: 100%;
      max-width: none;
      height: auto; }
  .header .right_area {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    /*width: 100%;
    max-width: 65px;*/ }
    .header .right_area a {
      display: flex;
      flex-direction: column-reverse;
      color: #333;
      text-decoration: none;
      line-height: 1;
      padding-left: 15px;
      position: relative; }
      .header .right_area a:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        border: 5px solid transparent;
        border-left: 6px solid #898989; }
    .header .right_area img {
      max-width: 75px;
      margin: 0 auto; }
  .header .header_sitemap {
    display: block;
    text-align: left;
    background-color: #fff;
    position: fixed;
    top: 0;
    z-index: 0;
    width: 100%;
    height: 100vh;
    padding: 40px 0 0;
    box-sizing: border-box;
    transition: all 0.3s;
    animation: hs-fadeIn 0.5s ease;
    transform: translateY(-100%);
    margin-bottom: 0; }
    .header .header_sitemap.open {
      transform: translateY(61px); }
  .header .list_wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    font-size: 1em;
    line-height: 2.5;
    margin-bottom: 30px; }
    .header .list_wrap ul {
      margin: 0 40px; }
    .header .list_wrap a {
      color: #333;
      text-decoration: none;
      padding: 10px;
      display: block; }
      .header .list_wrap a.sp {
        display: none; }
  .header .sns_area {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 1em;
    margin: 0 auto; }
    .header .sns_area a {
      display: block; }
    .header .sns_area img {
      width: 24px; }
  .header .close {
    display: block;
    border: 1px solid #333;
    border-radius: .2em;
    padding: .8em;
    margin: 40px auto 0;
    text-align: center;
    background: #fff;
    font-size: 1em;
    width: 100%;
    max-width: 180px;
    box-sizing: border-box;
    cursor: pointer; }

@media screen and (max-width: 768px) {
  .header {
    width: 100%; }
    .header .inner {
      width: 90%;
      height: 50px; }
    .header .sp_menu i {
      width: 25px;
      height: 25px; }
    .header .sp_menu span {
      width: 14px; }
      .header .sp_menu span.top {
        top: 7px; }
      .header .sp_menu span.bottom {
        bottom: 7px; }
    .header .sp_menu.open .top {
      bottom: 7px; }
    .header .sp_menu.open .bottom {
      top: 7px; }
    .header h1 {
      max-width: 100px; }
    .header .right_area img {
      max-width: 50px; }
    .header .header_sitemap {
      padding-top: 25px; }
      .header .header_sitemap.open {
        transform: translateY(51px); }
    .header .scroll_wrap {
      overflow-y: scroll;
      box-sizing: border-box;
      padding-bottom: 30px; }
    .header .list_wrap {
      line-height: 1.5; }
      .header .list_wrap ul {
        margin: 0 5%; }
      .header .list_wrap a {
        padding: 10px 0; }
        .header .list_wrap a.pc {
          display: inherit; }
        .header .list_wrap a .sp {
          display: none; }
    .header .sns_area {
      column-gap: 1.5em;
      /*img{
      	width: 32px;
      }*/ }
    .header .close {
      margin-top: 30px; } }
/* =================================
footer
================================= */
footer {
  position: sticky;
  top: 100vh;
  background: #fff;
  padding: 2em 0 1.5em;
  margin-top: 120px;
  border-top: 1px solid #f2f2f2; }
  footer .sp {
    display: none; }
  footer .inner {
    max-width: 1200px; }
  footer .flex_area, footer .left_area, footer .sns_area {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  footer .left_area {
    width: 265px; }
  footer .logo img {
    width: 120px; }
  footer .sns_area {
    column-gap: 1em; }
    footer .sns_area a {
      display: block; }
    footer .sns_area img {
      width: 24px; }
  footer .right_area {
    font-size: 0.86em;
    width: 61%;
    max-width: 560px;
    text-align: right;
    line-height: 2.3; }
    footer .right_area li {
      display: inline-block; }
    footer .right_area a {
      color: #5A5655;
      padding: .3em 1em;
      text-decoration: none; }
  footer .copy {
    color: #5A5655;
    text-align: left;
    font-size: 0.86em;
    font-family: "Montserrat", "yu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    margin-top: 2em; }

/*body:not([class]), body.smp{
	footer{
		margin-top: 0;
	}
}*/
@media screen and (max-width: 768px) {
  footer {
    margin-top: 80px; }
    footer .pc {
      display: none; }
    footer .sp {
      display: inherit; }
    footer .flex_area, footer .left_area {
      flex-direction: column-reverse; }
    footer .left_area {
      width: 100%;
      max-width: none; }
    footer .sns_area {
      column-gap: 1.5em;
      margin-bottom: 60px;
      /*img{
      	width: 32px;
      }*/ }
    footer .right_area {
      width: 100%;
      max-width: none;
      margin-bottom: 50px;
      text-align: center;
      line-height: 3; }
    footer .copy {
      text-align: center;
      margin-top: 8px; } }
