@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html {
  font-size: 62.5%; }

body {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.6;
  font-family: "Helvetica Neue", Helvetica, Arial, Helvetica, Arial, "Noto Sans JP", sans-serif;
  color: #000941;
  background-color: #F8F8F8;
  font-weight: bold; }

a {
  color: #000941;
  text-decoration: none;
  -webkit-transition: .5s ease-out;
  transition: .5s ease-out; }

img {
  vertical-align: bottom; }

h1 {
  font-size: 40px;
  font-size: 4rem;
  line-height: 1; }

h2 {
  font-size: 70px;
  font-size: 7rem;
  line-height: 1;
  position: relative; }

h3 {
  font-size: 33px;
  font-size: 3.3rem; }

h4 {
  font-size: 18px;
  font-size: 1.8rem; }

h5 {
  font-size: 18px;
  font-size: 1.8rem; }

h6 {
  font-size: 14px;
  font-size: 1.4rem; }

p {
  font-size: 14px;
  font-size: 1.4rem; }

.is__pc {
  display: block; }

.is__sp {
  display: none; }

/*--------------------------------

    common

---------------------------------*/
input[type="text"], input[type="email"], textarea, select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #ebecee;
  background-image: none;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 1em 0.8em;
  width: 100%; }

select {
  background: #ebecee url(/assets/img/common/select_arrow.svg) 97% 50% no-repeat; }

input[type="text"]:focus, input[type="email"]:focus, textarea:focus, select {
  border: 1px solid rgba(0, 0, 0, 0.32);
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none; }

input[type="checkbox"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: .8em .8em;
  border: 1px solid rgba(0, 0, 0, 0.32); }

input[type="checkbox"]:checked {
  position: relative; }

input[type="checkbox"]:checked:after {
  content: "";
  width: 1.4em;
  height: 1em;
  display: block;
  border-bottom: #000 solid 3px;
  border-left: #000 solid 3px;
  position: absolute;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  top: 1px;
  left: 1px; }

input[type="checkbox"]:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none; }

button, input[type="submit"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  background-color: #000941;
  color: #fff;
  padding: 1em 0.8em;
  width: 100%;
  font-size: 14px;
  font-size: 1.4rem; }

button:focus, input[type="submit"]:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
  outline: none; }

/*
    画面フレーム
--------------------------------*/
html:before,
html:after,
body:before,
body:after {
  content: "";
  background: #fff;
  position: fixed;
  display: block;
  z-index: 1; }

/* 上 */
html:before {
  height: 16px;
  width: 100vw;
  left: 0;
  top: 0; }

/* 右 */
html:after {
  width: 16px;
  height: 100vh;
  right: 0;
  top: 0; }

/* 下 */
body:before {
  height: 16px;
  width: 100vw;
  bottom: 0;
  left: 0; }

/* 左 */
body:after {
  width: 16px;
  height: 100vh;
  top: 0;
  left: 0; }

.fade__in--small {
  opacity: 0;
  -webkit-transform: translateY(50px) scale(0.9);
          transform: translateY(50px) scale(0.9);
  -webkit-transition: 0.6s cubic-bezier(0.8, 0, 0.25, 1);
  transition: 0.6s cubic-bezier(0.8, 0, 0.25, 1); }
  .fade__in--small.on {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
    opacity: 1; }

.fade__in--large {
  opacity: 0;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: 0.6s cubic-bezier(0.8, 0, 0.25, 1);
  transition: 0.6s cubic-bezier(0.8, 0, 0.25, 1); }
  .fade__in--large.on {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }

.df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.inner {
  width: 1344px;
  margin: 0 auto;
  padding: 0 120px; }

.home section h2 {
  padding-left: 28px;
  margin-bottom: 20px; }
  .home section h2:before {
    font-size: 14px;
    font-size: 1.4rem;
    position: absolute;
    top: 0;
    left: 0; }

/*
    icon
--------------------------------*/
body a.icon__blank {
  padding-left: 1.88em;
  position: relative; }
  body a.icon__blank:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: url(/assets/img/common/icon_blank.svg) 50% 50% no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }

/*
    section__bg
--------------------------------*/
.section__bg {
  position: absolute;
  z-index: -1; }

/*
    txt--wrap
--------------------------------*/
.txt--wrap {
  line-height: 2.7;
  margin-bottom: 50px; }
  .txt--wrap .ja {
    margin-bottom: 1em; }

/*--------------------------------

    #wrap

---------------------------------*/
#wrap {
  margin: 16px 0;
  overflow: hidden; }

/*--------------------------------

    header

---------------------------------*/
header {
  width: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  -webkit-transition: background-color .5s ease-out;
  transition: background-color .5s ease-out; }

.header__inner {
  width: 508px;
  height: 100vh;
  background: #fff;
  padding: 100px 0 100px 150px;
  position: relative;
  -webkit-transform: translateX(-408px);
          transform: translateX(-408px);
  -webkit-transition: -webkit-transform .5s ease-out;
  transition: -webkit-transform .5s ease-out;
  transition: transform .5s ease-out;
  transition: transform .5s ease-out, -webkit-transform .5s ease-out; }

.header__logo {
  width: 124px;
  margin-bottom: 50px; }
  .header__logo img {
    width: 100%; }

.header__nav {
  margin-left: 10px;
  margin-right: 100px; }

.nav__ul--top li.li__anker a,
.nav__ul--btm li.li__anker a {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 8px 0; }
  .nav__ul--top li.li__anker a span,
  .nav__ul--btm li.li__anker a span {
    font-size: 12px;
    font-size: 1.2rem;
    vertical-align: top;
    margin-right: 1em;
    display: inline-block;
    -webkit-transform: translateY(10%);
            transform: translateY(10%); }

.nav__ul--top a,
.nav__ul--btm a {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: bold;
  display: block;
  padding: 15px 0;
  line-height: 1; }

.is__notouch .nav__ul--top a:hover,
.is__notouch .nav__ul--btm a:hover {
  -webkit-transform: translateX(0.3em);
          transform: translateX(0.3em); }

.nav__ul--top {
  margin-bottom: 50px; }

.nav__ul--btm a {
  padding: 10px 0; }

.btn__menu {
  display: inline-block;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-transform: rotate(90deg) translateX(-50%);
          transform: rotate(90deg) translateX(-50%);
  position: absolute;
  top: 50%;
  right: 15px;
  line-height: 1;
  -webkit-transition: .5s ease-out;
  transition: .5s ease-out;
  font-weight: bold; }
  .btn__menu span {
    width: 16px;
    height: 10px;
    display: inline-block;
    position: relative;
    margin-right: 10px; }
    .btn__menu span:before {
      content: "";
      width: 16px;
      height: 3px;
      display: block;
      position: absolute;
      top: 0;
      background: #000941;
      -webkit-transition: .5s ease-out;
      transition: .5s ease-out; }
    .btn__menu span:after {
      content: "";
      width: 16px;
      height: 3px;
      display: block;
      position: absolute;
      bottom: 0;
      background: #000941;
      -webkit-transition: .5s ease-out;
      transition: .5s ease-out; }
  .btn__menu p {
    display: inline-block; }

.js__header--on header {
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  bottom: 0;
  right: 0; }

.js__header--on .header__inner {
  -webkit-transform: translateX(0);
          transform: translateX(0); }

.js__header--on .btn__menu span:before {
  top: 50%;
  -webkit-transform: rotate(45deg) translateY(-1px);
          transform: rotate(45deg) translateY(-1px); }

.js__header--on .btn__menu span:after {
  top: 50%;
  -webkit-transform: rotate(135deg) translateX(-1px);
          transform: rotate(135deg) translateX(-1px); }

/*--------------------------------

    footer

---------------------------------*/
footer {
  padding: 75px 0 60px; }
  footer ul {
    list-style: none; }
  footer li {
    margin-bottom: 1em;
    font-size: 11px;
    font-size: 1.1rem; }
  footer .li__anker {
    font-size: 16px;
    font-size: 1.6rem; }
    footer .li__anker span {
      font-size: 10px;
      font-size: 1rem;
      vertical-align: top;
      margin-right: 1em;
      display: inline-block;
      -webkit-transform: translateY(20%);
              transform: translateY(20%); }

.footer__logo {
  width: 168px; }
  .footer__logo img {
    width: 100%; }

.footer__df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.footer__copyright {
  display: block;
  text-align: right;
  color: rgba(0, 9, 65, 0.15); }

.post--wrap ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.post--wrap li {
  margin-right: 28px; }

.post--wrap img {
  width: 100%;
  max-width: 336px;
  margin-bottom: .5em; }

.post--wrap span {
  display: block; }

@media only screen and (max-width: 1024px) {
  .post--wrap li {
    width: 24.6vw;
    margin-right: 2vw; } }

/*--------------------------------

    hero

---------------------------------*/
#hero {
  min-height: 740px;
  height: 100vh;
  position: relative;
  margin-bottom: 118px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  #hero .section__bg {
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }

.hero_text h1 {
  margin-bottom: 83px; }

.hero_text p {
  font-size: 24px;
  font-size: 2.4rem; }
  .hero_text p .en {
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 9px; }

/*--------------------------------

    wah

---------------------------------*/
#wah {
  margin-bottom: 150px;
  padding-top: 30px; }
  #wah h2 {
    margin-bottom: 60px; }
    #wah h2:before {
      content: "ー"; }
  #wah .txt--wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: calc(50% - 450px); }
  #wah .ja {
    margin-right: 38px;
    width: 60%; }
  #wah .en {
    width: 30%; }

/*--------------------------------

    food

---------------------------------*/
#food {
  margin-bottom: 150px;
  padding-top: 30px;
  position: relative; }
  #food .section__bg {
    top: 340px;
    left: 50%;
    margin-left: 150px; }
  #food h2 {
    margin-right: 71px; }
    #food h2:before {
      content: "01"; }
  #food .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  #food .txt--wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% - 310px);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    #food .txt--wrap p {
      width: 45%; }
  #food .post--wrap {
    width: 100%;
    margin-left: 28px; }
    #food .post--wrap ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }

/*--------------------------------

    artdirection

---------------------------------*/
#artdirection {
  margin-bottom: 150px;
  padding-top: 30px;
  position: relative; }
  #artdirection .section__bg {
    top: 0;
    left: 50%;
    margin-top: -87px;
    margin-left: -349px; }
  #artdirection h2 {
    margin-left: calc(50% - 28px); }
    #artdirection h2:before {
      content: "02"; }
  #artdirection .txt--wrap {
    margin-left: 50%; }
  #artdirection .post--wrap {
    width: 100%; }
    #artdirection .post--wrap ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }

/*--------------------------------

    event

---------------------------------*/
#event {
  margin-bottom: 280px;
  padding-top: 30px;
  position: relative; }
  #event .section__bg {
    top: 0;
    left: 50%;
    margin-top: 132px;
    margin-left: -511px; }
  #event h2 {
    margin-right: 50px; }
    #event h2:before {
      content: "03"; }
  #event .df {
    margin-left: calc(50% - 257px); }
  #event .post--wrap {
    width: 100%; }
    #event .post--wrap ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }

/*--------------------------------

    lifestyle

---------------------------------*/
#lifestyle {
  margin-bottom: 150px;
  padding-top: 30px;
  position: relative; }
  #lifestyle .section__bg {
    top: 0;
    left: 50%;
    margin-top: -168px;
    margin-left: -283px; }
  #lifestyle h2 {
    margin-top: 175px; }
    #lifestyle h2:before {
      content: "04"; }
  #lifestyle .txt--wrap {
    margin-left: 28px;
    width: 40%; }
  #lifestyle .post--wrap {
    position: absolute;
    top: 0;
    left: calc(50% + 65px); }

/*--------------------------------

    contact

---------------------------------*/
#contact {
  margin-bottom: 150px;
  padding-top: 30px;
  position: relative; }
  #contact .section__bg {
    top: 0;
    left: 50%;
    margin-top: -113px;
    margin-left: 255px; }
  #contact h2 {
    margin-bottom: 44px; }
  #contact h2:before {
    content: "ー"; }

.contact__form {
  max-width: 700px;
  width: 100%;
  margin: auto; }

.form__item {
  margin-bottom: 20px; }

.contact__form p {
  margin-bottom: 1em; }

.wpcf7-not-valid-tip {
  display: block; }

/*--------------------------------

    archive

---------------------------------*/
#archive {
  margin-bottom: 150px;
  padding-top: 30px;
  position: relative; }
  #archive .inner {
    position: relative; }
  #archive h2 {
    font-size: 40px;
    font-size: 4rem;
    margin-bottom: 45px; }
    #archive h2:before {
      content: "ー"; }

.archive__ul {
  position: absolute;
  top: 0;
  right: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none; }
  .archive__ul li {
    margin-right: 30px; }
    .archive__ul li:last-child {
      margin-right: 0; }

.archive__inner {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .archive__inner .box {
    width: 108px;
    padding: 7px;
    margin: 0 7px 50px 7px;
    border: rgba(255, 255, 255, 0) 1px solid;
    word-break: break-all; }
  .archive__inner .box:hover {
    border: #F00 1px solid; }
  .archive__inner .box img {
    width: 100%;
    height: auto; }
  .archive__inner .box a {
    color: #000;
    display: block; }
  .archive__inner .box a:link, .archive__inner .box a:active, .archive__inner .box a:visited {
    color: #000;
    text-decoration: none; }
  .archive__inner .box a:hover {
    color: #666;
    text-decoration: none; }

.page section h2 {
  padding-left: 28px;
  margin-bottom: 70px; }
  .page section h2:before {
    content: "ー";
    font-size: 20px;
    font-size: 2rem;
    position: absolute;
    top: 0;
    left: 0; }

/*--------------------------------

	page__head

---------------------------------*/
#page__head {
  margin: 50px 0 170px; }
  #page__head a {
    width: 120px;
    display: block;
    margin: 0 auto; }
  #page__head img {
    width: 120px; }

/*--------------------------------

	about

---------------------------------*/
#about h2 {
  margin-bottom: 44px; }

#about h2:before {
  content: "ー"; }

#about p {
  line-height: 2.29; }

.prof__wrap {
  width: 700px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto; }

.prof__text--top {
  width: 48%;
  margin-bottom: 1.5em; }

.prof__text {
  width: 48%;
  margin-bottom: 1.5em; }
  .prof__text p {
    margin-bottom: 1.5em; }

.prof__pic {
  width: 100%;
  margin-bottom: 3em; }

#company_overview .inner {
  width: 1008px; }

#company_overview h2 {
  margin-bottom: 120px;
  font-size: 60px;
  font-size: 6rem; }
  #company_overview h2 span {
    font-size: 14px;
    font-size: 1.4rem;
    display: block;
    margin-top: 20px; }

#company_overview h2:before {
  content: "ー"; }

#company_overview p {
  line-height: 2.29; }

#company_overview table {
  text-align: left; }
  #company_overview table th {
    padding: 1em;
    width: 24%; }
  #company_overview table td {
    padding: 1em;
    line-height: 2.29; }

#privacy_policy .inner {
  width: 980px; }

#privacy_policy h2 {
  margin-bottom: 120px;
  font-size: 60px;
  font-size: 6rem; }
  #privacy_policy h2 span {
    font-size: 14px;
    font-size: 1.4rem;
    display: block;
    margin-top: 20px; }

#privacy_policy h2:before {
  content: "ー"; }

#privacy_policy p {
  line-height: 2.29; }

#privacy_policy dl {
  line-height: 2.29; }

#privacy_policy dt {
  font-size: 18px;
  font-size: 1.8rem;
  margin-top: 60px; }

@media only screen and (max-width: 1024px) {
  .home section h2 {
    padding-left: 28px;
    margin-bottom: 30px;
    font-size: 32px;
    font-size: 3.2rem; }
    .home section h2:before {
      font-size: 14px;
      font-size: 1.4rem;
      position: absolute;
      top: 0;
      left: 0; }
  /*
    header        
--------------------------------*/
  .home section h2 {
    font-size: 46px;
    font-size: 4.6rem; }
  .header__inner {
    width: 100%;
    padding: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: fixed; }
  .header__logo {
    margin: 0 0 50px; }
  .header__nav {
    margin: 0; }
  .btn__menu {
    position: absolute;
    -webkit-transform: unset;
            transform: unset;
    top: 16px;
    left: -72px;
    width: 56px;
    height: 56px; }
    .btn__menu span {
      margin: 23px 20px; }
    .btn__menu p {
      display: none; }
  .js__header--on .header__inner {
    -webkit-transform: translateX(56px);
            transform: translateX(56px); }
  .js__header--on .btn__menu {
    left: -56px; }
  /*
    inner
--------------------------------*/
  .inner {
    width: 90vw;
    padding: 0 5vw; }
  #hero {
    text-align: center;
    padding-top: 0;
    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;
    overflow: hidden; }
    #hero .section__bg {
      width: 109.6vw;
      max-width: 80%;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
  .hero_text {
    width: 100%;
    margin: auto; }
    .hero_text h1 {
      width: 100%;
      max-width: 235px;
      margin: 0 auto 40px; }
    .hero_text img {
      width: 100%; }
    .hero_text p {
      font-size: 20px;
      font-size: 2rem; }
  #wah .txt--wrap {
    margin-left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  #wah .ja {
    margin-right: 0;
    width: 100%;
    margin-bottom: 50px; }
  #wah .en {
    width: 100%; }
  #food .section__bg {
    width: 40vw;
    top: -85px;
    left: auto;
    right: 0; }
  #food .txt--wrap {
    width: auto;
    margin-left: 28px; }
    #food .txt--wrap p {
      width: 45%; }
  #artdirection .section__bg {
    width: 40vw;
    max-width: 270px;
    top: -85px;
    left: auto;
    right: 0; }
  #artdirection h2 {
    margin-left: 0; }
  #artdirection .txt--wrap {
    margin-left: 28px; }
  #artdirection .post--wrap {
    margin-left: 28px; }
  #event .section__bg {
    top: 0;
    left: 50%;
    margin-top: 13%;
    margin-left: -45%;
    width: 28%; }
  #lifestyle .txt--wrap {
    width: 100%; }
  #contact .section__bg {
    left: auto;
    margin-left: 0;
    right: 0;
    top: 0; }
  .archive__ul {
    right: 0; }
  .archive__inner {
    padding: 0 0 0 5vw; }
    .archive__inner .box {
      width: 15.5%;
      padding: .5%;
      margin: 0 .5% 50px .5%;
      border: rgba(255, 255, 255, 0) 1px solid; }
  #company_overview .inner {
    width: 90vw; }
  #company_overview h2 {
    margin-bottom: 60px; }
    #company_overview h2:before {
      font-size: 15px;
      font-size: 1.5rem; }
  #privacy_policy .inner {
    width: 90vw; }
  #privacy_policy h2 {
    margin-bottom: 60px; }
    #privacy_policy h2:before {
      font-size: 15px;
      font-size: 1.5rem; }
  #privacy_policy dt {
    margin-bottom: 20px; } }

@media only screen and (max-width: 768px) {
  #hero .section__bg {
    max-width: none; }
  #food .txt--wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    #food .txt--wrap p {
      width: 100%; }
  #event .df {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: 0; }
    #event .df br {
      display: none; }
  #event .txt--wrap {
    margin-left: 30%; }
  #event .section__bg {
    width: 100%; }
  .prof__wrap {
    width: 100%; } }

@media only screen and (max-width: 767px) {
  .archive__ul {
    position: static;
    margin-bottom: 30px; }
  .prof__text {
    width: 100%; } }

@media only screen and (max-width: 640px) {
  p {
    font-size: 3.2vw; }
  .is__pc {
    display: none; }
  .is__sp {
    display: block; }
  .inner {
    width: 80vw;
    padding: 0; }
  .post--wrap li {
    width: 47%;
    margin-right: 6%;
    margin-bottom: 5vw; }
    .post--wrap li:nth-child(2n) {
      margin-right: 0; }
  #wah h2 {
    margin-bottom: 8vw; }
  #food .section__bg {
    top: -14vw;
    width: 53vw; }
  #food .txt--wrap {
    margin-left: 0;
    padding: 0; }
    #food .txt--wrap .ja {
      margin-right: 19vw; }
    #food .txt--wrap .en br {
      display: none; }
  #food .post--wrap {
    margin-left: 0; }
  #artdirection .section__bg {
    width: 42vw;
    margin-top: 0;
    top: -7vw; }
  #artdirection .txt--wrap {
    margin-left: 5vw;
    margin-right: 5vw;
    padding: 0; }
    #artdirection .txt--wrap br {
      display: none; }
  #artdirection .txt--wrap .ja {
    margin-right: 2vw; }
  #artdirection .post--wrap {
    margin-left: 0; }
  #event {
    margin-bottom: 0; }
  #event .df {
    margin-left: 1vw;
    width: auto; }
  #event .section__bg {
    width: 89vw;
    margin-top: 0%;
    margin-left: -51vw; }
  #event .txt--wrap {
    margin-left: 24vw; }
  #lifestyle h2 {
    margin-top: 20vw; }
  #lifestyle {
    margin-bottom: 50vw; }
    #lifestyle .txt--wrap {
      margin-left: 0; }
  #lifestyle .post--wrap {
    position: static; }
    #lifestyle .post--wrap ul {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  #lifestyle .section__bg {
    margin-top: 0;
    margin-left: 0;
    left: 0;
    top: auto;
    bottom: -10vw;
    width: 50vw; }
  #contact .section__bg {
    width: 40vw;
    margin-top: -29vw; }
  .footer__df {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: relative;
    margin-bottom: 21.33vw; }
  .footer__logo {
    width: 100%;
    text-align: center;
    margin-bottom: 16vw; }
    .footer__logo img {
      width: 33.87vw; }
  .footer__ul--top {
    width: 60%; }
  .footer__ul--mid {
    width: 40%; }
  .footer__ul--btm {
    width: 40%;
    position: absolute;
    bottom: 0;
    right: 0; }
  .footer__copyright {
    font-size: 2.67vw;
    text-align: center; }
  /*--------------------------------

    hero

---------------------------------*/
  .archive__ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .archive__ul li {
      width: 50%;
      margin-right: 0; }
  .archive__inner {
    padding: 0;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .archive__inner .box {
      width: 32%;
      padding: .5%;
      margin: 0 .5% 50px .5%;
      border: rgba(255, 255, 255, 0) 1px solid; }
  .txt--wrap {
    line-height: 2; }
  #company_overview .inner {
    width: 80vw; }
  #company_overview h2 {
    margin-bottom: 16vw;
    font-size: 8.53vw; }
    #company_overview h2 span {
      font-size: 3.2vw; }
  #company_overview p {
    font-size: 3.2vw; }
  #company_overview table {
    font-size: 3.2vw; }
    #company_overview table th {
      width: 7em; }
  #privacy_policy .inner {
    width: 80vw; }
  #privacy_policy h2 {
    margin-bottom: 16vw;
    font-size: 8.53vw; }
    #privacy_policy h2 span {
      font-size: 3.2vw; }
  #privacy_policy p {
    font-size: 3.2vw; }
  #privacy_policy dl {
    font-size: 4.27vw;
    margin-bottom: 2.67vw; }
  #privacy_policy dl {
    font-size: 3.2vw; } }
