@charset "UTF-8";
/* -----------------------------------------------
 Reset （リセット）
-------------------------------------------------- */
html {
  font-family: sans-serif;
  overflow-x: auto;
  overflow-y: scroll; }

body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none; }

a {
  background: transparent;
  outline: 0 !important; }

a:focus {
  outline: thin dotted; }

a:active,
a:hover {
  outline: 0; }

html, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code, del, em, img, strong,
dl, dt, dd, ol, ul, li,
fieldset, form, label,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

article, aside, footer, header, small, nav, section, figure, figcaption, main {
  margin: 0;
  padding: 0;
  display: block;
  vertical-align: baseline;
  list-style: none;
  background-color: transparent;
  outline: none; }

audio, canvas, video {
  display: inline-block; }

ul, ol {
  list-style-type: none; }

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

img {
  line-height: 1;
  vertical-align: middle; }

a img {
  border: none; }

img[usemap], map area {
  border: none !important;
  outline: none !important; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

hr {
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

dt, dd, li,
th, td,
input, textarea {
  text-align: left;
  vertical-align: top; }

input, textarea, button {
  margin: 0;
  padding: 0; }

button, label {
  background-color: transparent;
  cursor: pointer; }

button, select {
  text-transform: none; }

button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled], html input[disabled] {
  cursor: default; }

input[type="checkbox"], input[type="radio"] {
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  padding: 0; }

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button::-moz-focus-inner, input::-moz-focus-inner {
  padding: 0;
  border: 0; }

textarea {
  overflow: auto;
  vertical-align: top; }

/* -----------------------------------------------
Base （ベース）
-------------------------------------------------- */
html {
  font-family: a-otf-ryumin-pr6n, "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 11px;
  -webkit-font-smoothing: antialiased;
  /* SP */ }
  @media (max-width: 767px) {
    html {
      position: relative;
      height: 100%;
      font-size: 2.93333vw; } }

body {
  background: #ffffff;
  color: #231815;
  font-weight: bold;
  line-height: 1;
  /* SP */ }
  @media (max-width: 767px) {
    body.js-status-headeropen {
      height: 100%;
      overflow: hidden; } }

h1, h2, h3, h4, h5, h6,
th, td {
  line-height: 1.87;
  font-size: 100%;
  font-weight: normal; }

p,
li,
input,
textarea,
figcaption {
  line-height: 1.87; }

input, textarea, button, select {
  font-size: 100%;
  outline: none; }

strong {
  font-weight: bold; }

em {
  font-weight: bold; }

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

a:hover,
a:active {
  text-decoration: none; }

a, input, label {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

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

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* -----------------------------------------------
Status
-------------------------------------------------- */
.b-is-hidden {
  display: none; }
  @media (max-width: 769px) {
    .b-is-hidden-sp {
      display: none !important; } }
  @media (min-width: 770px) {
    .b-is-hidden-pc {
      display: none !important; } }

.b-is-visible {
  display: block; }
  @media (max-width: 769px) {
    .b-is-visible-sp {
      display: block !important; } }
  @media (min-width: 770px) {
    .b-is-visible-pc {
      display: block !important; } }

/* --------------------------------
l-document
----------------------------------- */
.l-document {
  /* pc */ }
  .l-document:before {
    content: '';
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #ffffff;
    z-index: 1000; }
  .js-status-ready .l-document:before {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 2s, visibility .1s 2s;
    -o-transition: opacity 2s, visibility .1s 2s;
    transition: opacity 2s, visibility .1s 2s; }
  @media (min-width: 768px) {
    .l-document {
      min-width: 940px; } }

/* --------------------------------
l-main
----------------------------------- */
.l-main {
  padding-top: 60px;
  /* pc */ }
  @media (min-width: 768px) {
    .l-main {
      padding-top: 75px; } }

/* --------------------------------
l-header
----------------------------------- */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #ffffff;
  background: rgba(255, 255, 255, 0);
  font-family: athelas, a-otf-ryumin-pr6n, serif;
  z-index: 100;
  -webkit-transition: background 1s;
  -o-transition: background 1s;
  transition: background 1s;
  /* SP */
  /* pc */ }
  .js-status-scrolled .l-header,
  .js-status-headeropen .l-header {
    background: #ffffff;
    background: rgba(255, 255, 255, 0.98); }
  @media (max-width: 767px) {
    .l-header {
      height: 60px; }
      .l-header_logo {
        position: absolute;
        top: 18px;
        left: 10px;
        z-index: 2; }
      .l-header_nav {
        position: fixed;
        top: 60px;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #ffffff;
        background: rgba(255, 255, 255, 0.98);
        z-index: 1;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity .5s, visibility .1s .5s;
        -o-transition: opacity .5s, visibility .1s .5s;
        transition: opacity .5s, visibility .1s .5s; }
        .l-header_nav_gnav > ul {
          border-top: 1px solid #888;
          border-bottom: 1px solid #888; }
          .l-header_nav_gnav > ul > li {
            border-top: 1px dotted #888; }
            .l-header_nav_gnav > ul > li > a {
              display: block;
              padding: 6.66667vw 2.66667vw;
              font-size: 5.33333vw;
              text-align: center; }
            .l-header_nav_gnav > ul > li:first-child {
              border-top: none; }
        .l-header_nav_abq {
          position: absolute;
          bottom: 20px;
          left: 0;
          right: 0; }
          .l-header_nav_abq > a {
            display: block;
            width: 51px;
            margin: 0 auto; }
        .js-status-headeropen .l-header_nav {
          opacity: 1;
          visibility: visible;
          -webkit-transition: all .5s;
          -o-transition: all .5s;
          transition: all .5s; }
      .l-header_toggle {
        position: absolute;
        top: 0;
        right: 0;
        width: 60px;
        height: 60px;
        border: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        z-index: 150; }
        .l-header_toggle:before, .l-header_toggle:after,
        .l-header_toggle > i:before {
          content: '';
          position: absolute;
          right: 15px;
          width: 30px;
          height: 3px;
          background: #000;
          -webkit-transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
          -o-transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
          transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1); }
        .l-header_toggle:before {
          top: 22px; }
        .l-header_toggle:after {
          top: 29px; }
        .l-header_toggle > i:before {
          top: 36px; }
        .js-status-headeropen .l-header_toggle:before {
          top: 31px;
          -webkit-transform: rotate(135deg);
          -ms-transform: rotate(135deg);
          transform: rotate(135deg); }
        .js-status-headeropen .l-header_toggle:after {
          top: 31px;
          -webkit-transform: rotate(-135deg);
          -ms-transform: rotate(-135deg);
          transform: rotate(-135deg); }
        .js-status-headeropen .l-header_toggle > i:before {
          left: 32px;
          opacity: 0; } }
  @media (min-width: 768px) {
    .l-header {
      height: 75px; }
      .l-header_inner {
        position: relative;
        max-width: 980px;
        margin: 0 auto; }
      .l-header_logo {
        position: absolute;
        top: 39px;
        left: 20px; }
      .l-header_nav {
        display: table;
        margin-left: auto;
        margin-right: 20px;
        padding-top: 40px; }
        .l-header_nav_gnav, .l-header_nav_abq {
          display: table-cell;
          vertical-align: top; }
        .l-header_nav_gnav > ul {
          display: table;
          margin-top: 5px; }
          .l-header_nav_gnav > ul > li {
            display: table-cell;
            vertical-align: top; }
            .l-header_nav_gnav > ul > li > a {
              display: block;
              position: relative;
              padding: 0 10px;
              font-size: 14px; }
              .l-header_nav_gnav > ul > li > a:before {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                width: 0;
                height: 2px;
                background: #8ADAD8;
                -webkit-transition: all .3s;
                -o-transition: all .3s;
                transition: all .3s; }
              .l-header_nav_gnav > ul > li > a:hover:before {
                width: 100%; }
        .l-header_nav_abq {
          padding-left: 50px; }
      .l-header_toggle {
        display: none; } }

/* --------------------------------
l-footer
----------------------------------- */
.l-footer {
  padding-bottom: 6.66667vw;
  text-align: center;
  /* pc */ }
  .l-footer_image {
    width: 80vw;
    margin: 13.33333vw auto; }
  .l-footer_logo > a {
    display: block;
    text-align: center; }
    .l-footer_logo > a > img {
      /* SP */ }
      @media (max-width: 767px) {
        .l-footer_logo > a > img {
          width: 13.6vw; } }
  .l-footer_company {
    margin: 6.66667vw 0;
    font-style: normal;
    line-height: 1.6; }
    .l-footer_company > span {
      display: block; }
  .l-footer_copy {
    font-size: 2.66667vw; }
  @media (min-width: 768px) {
    .l-footer {
      padding-bottom: 20px; }
      .l-footer_image {
        width: 487px;
        margin: 40px auto; }
      .l-footer_company {
        margin: 50px 0 35px; }
        .l-footer_company > span {
          display: inline-block;
          margin: 0 1em; }
      .l-footer_copy {
        font-size: 10px; } }

/* -----------------------------------------------
* box Module
* ボックス用
-------------------------------------------------- */
/* -----------------------------------------------
* .m-box_main
* ***
-------------------------------------------------- */
.m-box_main {
  position: relative;
  overflow: hidden;
  /* pc */ }
  .m-box_main:before {
    content: '';
    position: absolute;
    top: 2.66667vw;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #F7F7F7; }
  .m-box_main_title {
    position: absolute;
    top: 5.06667vw;
    right: 0%;
    padding: 0 2.66667vw;
    text-align: center;
    z-index: 2; }
    .m-box_main_title:before {
      content: '';
      position: absolute;
      bottom: 4vw;
      left: 0;
      width: 100%;
      height: 1px;
      background: #888; }
    .m-box_main_title > img {
      /* SP */ }
      @media (max-width: 767px) {
        .m-box_main_title > img {
          width: 26.66667vw; } }
    .m-box_main_title > span {
      display: block;
      padding-top: 2vw;
      font-family: athelas, a-otf-ryumin-pr6n, serif;
      font-size: 2.66667vw; }
  .m-box_main_subtitle {
    position: absolute;
    top: 16.66667vw;
    left: 0;
    width: 50vw;
    padding: 13.33333vw 6.66667vw 1.33333vw 2vw;
    z-index: 3;
    overflow: hidden; }
    .m-box_main_subtitle > img {
      position: relative;
      z-index: 2; }
  .m-box_main_image {
    position: relative;
    width: 90%;
    margin: 0 auto;
    z-index: 1; }
    .m-box_main_image > img {
      position: relative; }
  .m-box_main_bg {
    position: absolute;
    top: 16.66667vw;
    left: 0;
    width: 50vw;
    height: 34.93333vw;
    padding: 13.33333vw 6.66667vw 1.33333vw 2vw;
    z-index: 2;
    overflow: hidden;
    mix-blend-mode: multiply; }
    .m-box_main_bg:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 130%;
      height: 100%;
      background: #8ADAD8;
      opacity: .8;
      -webkit-transform: rotate(-14.4deg);
      -ms-transform: rotate(-14.4deg);
      transform: rotate(-14.4deg);
      -webkit-transform-origin: right top;
      -ms-transform-origin: right top;
      transform-origin: right top;
      z-index: 1; }
    .no-backgroundblendmode .m-box_main_bg {
      opacity: .6;
      mix-blend-mode: normal; }
      .no-backgroundblendmode .m-box_main_bg:before {
        background: #319a98; }
  .m-box_main.js-action-visible .m-box_main_title:before {
    width: 0; }
  .m-box_main.js-action-visible .m-box_main_title > img {
    -webkit-transform: translateY(30%);
    -ms-transform: translateY(30%);
    transform: translateY(30%);
    opacity: 0; }
  .m-box_main.js-action-visible .m-box_main_title > span {
    -webkit-transform: translateY(-30%);
    -ms-transform: translateY(-30%);
    transform: translateY(-30%);
    opacity: 0; }
  .m-box_main.js-action-visible .m-box_main_subtitle > img {
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%);
    opacity: 0; }
  .m-box_main.js-action-visible .m-box_main_image {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
    opacity: 0; }
  .m-box_main.js-action-visible .m-box_main_bg:before {
    top: 40%;
    opacity: 0; }
  .m-box_main.js-status-visible .m-box_main_title:before {
    -webkit-transition: width .5s 1.9s;
    -o-transition: width .5s 1.9s;
    transition: width .5s 1.9s; }
  .m-box_main.js-status-visible .m-box_main_title > img {
    -webkit-transition: opacity .5s 2.1s, -webkit-transform .5s 2.1s;
    transition: opacity .5s 2.1s, -webkit-transform .5s 2.1s;
    -o-transition: transform .5s 2.1s, opacity .5s 2.1s;
    transition: transform .5s 2.1s, opacity .5s 2.1s;
    transition: transform .5s 2.1s, opacity .5s 2.1s, -webkit-transform .5s 2.1s; }
  .m-box_main.js-status-visible .m-box_main_title > span {
    -webkit-transition: opacity .5s 2.1s, -webkit-transform .5s 2.1s;
    transition: opacity .5s 2.1s, -webkit-transform .5s 2.1s;
    -o-transition: transform .5s 2.1s, opacity .5s 2.1s;
    transition: transform .5s 2.1s, opacity .5s 2.1s;
    transition: transform .5s 2.1s, opacity .5s 2.1s, -webkit-transform .5s 2.1s; }
  .m-box_main.js-status-visible .m-box_main_subtitle > img {
    -webkit-transition: opacity 1s 1.1s, -webkit-transform 1s 1.1s;
    transition: opacity 1s 1.1s, -webkit-transform 1s 1.1s;
    -o-transition: transform 1s 1.1s, opacity 1s 1.1s;
    transition: transform 1s 1.1s, opacity 1s 1.1s;
    transition: transform 1s 1.1s, opacity 1s 1.1s, -webkit-transform 1s 1.1s; }
  .m-box_main.js-status-visible .m-box_main_image {
    -webkit-transition: opacity 2.5s, -webkit-transform 2.5s;
    transition: opacity 2.5s, -webkit-transform 2.5s;
    -o-transition: transform 2.5s, opacity 2.5s;
    transition: transform 2.5s, opacity 2.5s;
    transition: transform 2.5s, opacity 2.5s, -webkit-transform 2.5s; }
  .m-box_main.js-status-visible .m-box_main_bg:before {
    -webkit-transition: top 1s 1.1s, opacity 1s 1.1s;
    -o-transition: top 1s 1.1s, opacity 1s 1.1s;
    transition: top 1s 1.1s, opacity 1s 1.1s; }
  @media (min-width: 768px) {
    .m-box_main {
      margin-top: -34px; }
      .m-box_main:before {
        top: 34px; }
      .m-box_main_inner {
        position: relative;
        max-width: 940px;
        margin: 0 auto; }
      .m-box_main_title {
        top: 101px;
        right: 48px;
        padding: 0 30px; }
        .m-box_main_title:before {
          height: 2px;
          bottom: 25px; }
        .m-box_main_title > span {
          padding-top: 18px;
          font-size: 13px;
          font-weight: bold; }
      .m-box_main_subtitle {
        top: 164px;
        width: 463px;
        padding: 125px 133px 12px 25px; }
      .m-box_main_image {
        width: 813px;
        margin-left: 42px; }
      .m-box_main_bg {
        top: 164px;
        width: 463px;
        height: 288px; } }

/* -----------------------------------------------
* .m-box_concept
* ***
-------------------------------------------------- */
.m-box_concept {
  position: relative;
  padding-top: 13.33333vw;
  padding-bottom: 6.66667vw;
  /* pc */ }
  .m-box_concept:before {
    content: '';
    position: absolute;
    top: 62.66667vw;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #F7F7F7; }
  .m-box_concept_title {
    position: relative;
    top: 0;
    width: 18.66667vw;
    margin: 0 auto;
    padding: 3.33333vw 0;
    z-index: 2; }
    .m-box_concept_title:before, .m-box_concept_title:after {
      content: '';
      position: absolute; }
    .m-box_concept_title:before {
      top: -2.66667vw;
      left: 6vw;
      width: 52vw;
      height: 46.66667vw;
      background: url(../images/concept-title-bg.png) center no-repeat;
      background-size: cover; }
    .m-box_concept_title:after {
      top: 50%;
      left: 50%;
      width: 1px;
      height: 100%;
      background: #231815;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    .m-box_concept_title > span {
      display: block;
      position: relative;
      z-index: 2; }
      .m-box_concept_title > span > img {
        /* SP */ }
        @media (max-width: 767px) {
          .m-box_concept_title > span > img {
            width: 6.66667vw; } }
      .m-box_concept_title > span:nth-of-type(1) {
        position: absolute;
        top: 3.33333vw;
        right: 0; }
    .m-box_concept_title.js-action-visible:before {
      opacity: 0; }
    .m-box_concept_title.js-action-visible:after {
      height: 0;
      opacity: 0; }
    .m-box_concept_title.js-action-visible > span {
      opacity: 0; }
      .m-box_concept_title.js-action-visible > span:nth-of-type(1) {
        -webkit-transform: translateY(-10%);
        -ms-transform: translateY(-10%);
        transform: translateY(-10%); }
      .m-box_concept_title.js-action-visible > span:nth-of-type(2) {
        -webkit-transform: translateY(10%);
        -ms-transform: translateY(10%);
        transform: translateY(10%); }
    .m-box_concept_title.js-status-visible:before {
      -webkit-transition: opacity 3s;
      -o-transition: opacity 3s;
      transition: opacity 3s; }
      .androidphone .m-box_concept_title.js-status-visible:before,
      .iphone .m-box_concept_title.js-status-visible:before {
        -webkit-transition-delay: 3s;
        -o-transition-delay: 3s;
        transition-delay: 3s; }
    .m-box_concept_title.js-status-visible:after {
      -webkit-transition: height 1s, opacity 1s;
      -o-transition: height 1s, opacity 1s;
      transition: height 1s, opacity 1s; }
      .androidphone .m-box_concept_title.js-status-visible:after,
      .iphone .m-box_concept_title.js-status-visible:after {
        -webkit-transition-delay: 3s;
        -o-transition-delay: 3s;
        transition-delay: 3s; }
    .m-box_concept_title.js-status-visible > span {
      -webkit-transition: opacity 1.5s, -webkit-transform 1.5s;
      transition: opacity 1.5s, -webkit-transform 1.5s;
      -o-transition: opacity 1.5s, transform 1.5s;
      transition: opacity 1.5s, transform 1.5s;
      transition: opacity 1.5s, transform 1.5s, -webkit-transform 1.5s; }
      .androidphone .m-box_concept_title.js-status-visible > span,
      .iphone .m-box_concept_title.js-status-visible > span {
        -webkit-transition-delay: 3s;
        -o-transition-delay: 3s;
        transition-delay: 3s; }
  .m-box_concept_subtitle.js-action-visible:before {
    height: 0;
    opacity: 0; }
  .m-box_concept_subtitle.js-action-visible > span {
    -webkit-transform: translateY(-10%);
    -ms-transform: translateY(-10%);
    transform: translateY(-10%);
    opacity: 0; }
  .m-box_concept_subtitle.js-status-visible:before {
    -webkit-transition: height 1s, opacity 1s;
    -o-transition: height 1s, opacity 1s;
    transition: height 1s, opacity 1s; }
  .m-box_concept_subtitle.js-status-visible > span {
    -webkit-transition: opacity 1.3s, -webkit-transform 1.3s;
    transition: opacity 1.3s, -webkit-transform 1.3s;
    -o-transition: transform 1.3s, opacity 1.3s;
    transition: transform 1.3s, opacity 1.3s;
    transition: transform 1.3s, opacity 1.3s, -webkit-transform 1.3s; }
  .m-box_concept_image {
    position: relative;
    margin-bottom: 6.66667vw;
    z-index: 2; }
    .m-box_concept_image > div {
      overflow: hidden; }
    .m-box_concept_image > figcaption {
      padding: 2.66667vw 6.66667vw 0; }
    .m-box_concept_image.js-action-visible > div > img {
      -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
      transform: scale(1.05);
      opacity: 0; }
    .m-box_concept_image.js-action-visible > figcaption {
      opacity: 0;
      -webkit-transform: translateY(5px);
      -ms-transform: translateY(5px);
      transform: translateY(5px); }
    .m-box_concept_image.js-status-visible > div > img {
      -webkit-transition: opacity 2s .1s, -webkit-transform 2s;
      transition: opacity 2s .1s, -webkit-transform 2s;
      -o-transition: transform 2s, opacity 2s .1s;
      transition: transform 2s, opacity 2s .1s;
      transition: transform 2s, opacity 2s .1s, -webkit-transform 2s; }
    .m-box_concept_image.js-status-visible > figcaption {
      -webkit-transition: opacity 1.5s .5s, -webkit-transform 1.5s .5s;
      transition: opacity 1.5s .5s, -webkit-transform 1.5s .5s;
      -o-transition: opacity 1.5s .5s, transform 1.5s .5s;
      transition: opacity 1.5s .5s, transform 1.5s .5s;
      transition: opacity 1.5s .5s, transform 1.5s .5s, -webkit-transform 1.5s .5s; }
  .m-box_concept_caption {
    position: relative;
    z-index: 2;
    /* SP */ }
    .m-box_concept_caption > div {
      overflow: hidden; }
    @media (max-width: 767px) {
      .m-box_concept_caption {
        display: table;
        margin: 0 6.66667vw; }
        .m-box_concept_caption > div,
        .m-box_concept_caption > figcaption {
          display: table-cell;
          vertical-align: middle; }
        .m-box_concept_caption > div {
          width: 46%;
          padding-right: 5%; } }
    .m-box_concept_caption.js-action-visible > div > img {
      -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
      transform: scale(1.1);
      opacity: 0; }
    .m-box_concept_caption.js-action-visible > figcaption {
      opacity: 0;
      -webkit-transform: translateY(5px);
      -ms-transform: translateY(5px);
      transform: translateY(5px); }
    .m-box_concept_caption.js-status-visible > div > img {
      -webkit-transition: opacity 2s .1s, -webkit-transform 2s;
      transition: opacity 2s .1s, -webkit-transform 2s;
      -o-transition: transform 2s, opacity 2s .1s;
      transition: transform 2s, opacity 2s .1s;
      transition: transform 2s, opacity 2s .1s, -webkit-transform 2s; }
    .m-box_concept_caption.js-status-visible > figcaption {
      -webkit-transition: opacity 1.5s .5s, -webkit-transform 1.5s .5s;
      transition: opacity 1.5s .5s, -webkit-transform 1.5s .5s;
      -o-transition: opacity 1.5s .5s, transform 1.5s .5s;
      transition: opacity 1.5s .5s, transform 1.5s .5s;
      transition: opacity 1.5s .5s, transform 1.5s .5s, -webkit-transform 1.5s .5s; }
  .m-box_concept_zenkei {
    position: relative;
    z-index: 2;
    /* SP */ }
    @media (max-width: 767px) {
      .m-box_concept_zenkei {
        width: 60%;
        margin: 10vw auto 6.66667vw; } }
    .js-action-visible + .m-box_concept_zenkei {
      opacity: 0; }
    .js-status-visible + .m-box_concept_zenkei {
      -webkit-transition: opacity 2s 1s;
      -o-transition: opacity 2s 1s;
      transition: opacity 2s 1s; }
  @media (min-width: 768px) {
    .m-box_concept {
      padding-top: 113px;
      padding-bottom: 0; }
      .m-box_concept:before {
        top: 415px;
        bottom: 60px;
        left: 0; }
      .m-box_concept_title {
        width: 104px;
        margin-bottom: 208px;
        padding: 15px 0; }
        .m-box_concept_title:before {
          top: -31px;
          left: 31px;
          width: 331px;
          height: 300px; }
        .m-box_concept_title > span:first-child {
          position: absolute;
          top: 15px;
          right: 0; }
      .m-box_concept_subtitle {
        position: absolute;
        top: 240px;
        left: 50%;
        margin-left: -280px;
        padding: 0 0 85px 15px;
        z-index: 3; }
        .m-box_concept_subtitle:before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 1px;
          height: 100%;
          background: #888; }
        .m-box_concept_subtitle > span {
          display: block; }
      .m-box_concept_inner {
        max-width: 940px;
        margin: 0 auto; }
      .m-box_concept_image {
        max-width: 1018px;
        margin: 0 auto; }
        .m-box_concept_image > figcaption {
          max-width: 940px;
          margin: 0 auto;
          padding: 33px 0 0; }
        .m-box_concept_image-dining > figcaption {
          padding-left: 70px; }
        .m-box_concept_image-doma {
          margin-bottom: 5px; }
          .m-box_concept_image-doma > figcaption {
            padding-right: 75px;
            text-align: right; }
            .m-box_concept_image-doma > figcaption > p {
              display: inline-block;
              text-align: left; }
        .m-box_concept_image-living {
          margin-top: 65px; }
          .m-box_concept_image-living > figcaption {
            padding-right: 75px;
            text-align: right; }
            .m-box_concept_image-living > figcaption > p {
              display: inline-block;
              text-align: left; }
      .m-box_concept_caption {
        width: 240px;
        margin: -20px 75px -170px auto; }
        .m-box_concept_caption > figcaption {
          padding: 28px 2px 0; }
      .m-box_concept_zenkei {
        margin: 75px 0 60px 35px; } }

/* -----------------------------------------------
* .m-box_gallery
* ***
-------------------------------------------------- */
.m-box_gallery {
  /* pc */ }
  .m-box_gallery_slider_main {
    position: relative;
    width: 83.33333vw;
    height: 66.66667vw;
    margin: 0 auto; }
    .m-box_gallery_slider_main_list {
      position: relative;
      width: 100%;
      height: 100%;
      background: #F7F7F7; }
      .m-box_gallery_slider_main_list > li {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        text-align: center;
        opacity: 0;
        -webkit-transition: all .5s linear;
        -o-transition: all .5s linear;
        transition: all .5s linear; }
        .m-box_gallery_slider_main_list > li > img {
          width: auto;
          height: 100%; }
        .m-box_gallery_slider_main_list > li.js-status-active {
          opacity: 1; }
    .m-box_gallery_slider_main_nav {
      position: absolute;
      top: 50%;
      cursor: pointer;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s; }
      .m-box_gallery_slider_main_nav > img {
        width: 2vw;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; }
      .m-box_gallery_slider_main_nav-prev {
        left: -5.33333vw; }
        .js-status-first .m-box_gallery_slider_main_nav-prev {
          opacity: 0;
          cursor: auto; }
      .m-box_gallery_slider_main_nav-next {
        right: -5.33333vw; }
        .js-status-last .m-box_gallery_slider_main_nav-next {
          opacity: 0;
          cursor: auto; }
      .m-box_gallery_slider_main_nav:hover > img {
        -webkit-transform: scale(1.5);
        -ms-transform: scale(1.5);
        transform: scale(1.5); }
  .m-box_gallery_slider_thumbnail {
    /* SP */ }
    .m-box_gallery_slider_thumbnail_list > li > div {
      position: relative;
      padding: 2px 2px 2px 3px;
      cursor: pointer; }
      .m-box_gallery_slider_thumbnail_list > li > div:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 1px;
        right: 0;
        border: 1px solid #888;
        opacity: 0;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; }
      .m-box_gallery_slider_thumbnail_list > li > div > img {
        width: auto;
        max-width: inherit;
        height: 9.33333vw;
        opacity: .7;
        -webkit-filter: grayscale(80%);
        filter: grayscale(80%);
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; }
      .m-box_gallery_slider_thumbnail_list > li > div:hover > img {
        opacity: .9;
        -webkit-filter: none;
        filter: none; }
    .m-box_gallery_slider_thumbnail_list > li.js-status-active > div:before {
      opacity: 1; }
    .m-box_gallery_slider_thumbnail_list > li.js-status-active > div > img {
      opacity: 1;
      -webkit-filter: none;
      filter: none; }
    @media (max-width: 767px) {
      .m-box_gallery_slider_thumbnail {
        margin-top: 2.66667vw;
        padding: 0 6.66667vw 15px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch; }
        .m-box_gallery_slider_thumbnail_list {
          display: inline-table; }
          .m-box_gallery_slider_thumbnail_list > li {
            display: table-cell; } }
  .m-box_gallery_slider.js-action-visible {
    opacity: 0; }
  .m-box_gallery_slider.js-status-visible {
    -webkit-transition: opacity 2s;
    -o-transition: opacity 2s;
    transition: opacity 2s; }
  @media (min-width: 768px) {
    .m-box_gallery {
      max-width: 920px;
      margin: -20px auto 0; }
      .m-box_gallery_slider {
        margin-top: 60px; }
        .m-box_gallery_slider_main {
          width: 495px;
          height: 318px; }
          .m-box_gallery_slider_main_nav {
            padding: 15px; }
            .m-box_gallery_slider_main_nav > img {
              width: 8px; }
            .m-box_gallery_slider_main_nav-prev {
              left: -50px; }
            .m-box_gallery_slider_main_nav-next {
              right: -50px; }
        .m-box_gallery_slider_thumbnail_list {
          display: table;
          margin: 50px auto 0; }
          .m-box_gallery_slider_thumbnail_list > li {
            display: table-cell; }
            .m-box_gallery_slider_thumbnail_list > li > div {
              padding: 2px 2px 2px 3px; }
              .m-box_gallery_slider_thumbnail_list > li > div > img {
                height: 43px; } }

/* -----------------------------------------------
* .m-box_4f
* ***
-------------------------------------------------- */
.m-box_4f {
  position: relative;
  margin-top: 20vw;
  /* pc */ }
  .m-box_4f:before {
    content: '';
    position: absolute;
    top: 19.33333vw;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #F7F7F7;
    z-index: 1; }
  .m-box_4f_title {
    position: relative;
    margin: 0 6.66667vw;
    z-index: 2; }
    .m-box_4f_title:before {
      content: '';
      position: absolute;
      top: 60%;
      left: -5%;
      width: 110%;
      height: 1px;
      background: #888;
      -webkit-transform: rotate(-9.7deg);
      -ms-transform: rotate(-9.7deg);
      transform: rotate(-9.7deg); }
    .m-box_4f_title > span {
      display: block;
      font-weight: bold; }
      .m-box_4f_title > span:nth-of-type(1) {
        padding-bottom: 2.66667vw;
        font-family: athelas, a-otf-ryumin-pr6n, serif;
        font-size: 4.4vw;
        line-height: 1.3; }
      .m-box_4f_title > span:nth-of-type(2) {
        font-size: 3.2vw;
        line-height: 1.7;
        text-align: right; }
  .m-box_4f_lead {
    position: relative;
    padding: 6.66667vw 6.66667vw 13.33333vw;
    line-height: 2.1;
    z-index: 2; }
  .m-box_4f_catch {
    position: absolute;
    bottom: 0;
    right: 6.66667vw;
    -webkit-transform: translateY(40%);
    -ms-transform: translateY(40%);
    transform: translateY(40%);
    z-index: 2;
    /* SP */ }
    @media (max-width: 767px) {
      .m-box_4f_catch > img {
        width: 33.33333vw;
        opacity: .8; } }
  .m-box_4f.js-action-visible .m-box_4f_title:before {
    opacity: 0;
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  .m-box_4f.js-action-visible .m-box_4f_title > span {
    opacity: 0; }
    .m-box_4f.js-action-visible .m-box_4f_title > span:nth-of-type(1) {
      -webkit-transform: translateX(10px);
      -ms-transform: translateX(10px);
      transform: translateX(10px); }
    .m-box_4f.js-action-visible .m-box_4f_title > span:nth-of-type(2) {
      -webkit-transform: translateX(-10px);
      -ms-transform: translateX(-10px);
      transform: translateX(-10px); }
  .m-box_4f.js-action-visible .m-box_4f_lead {
    opacity: 0;
    -webkit-transform: translateY(5px);
    -ms-transform: translateY(5px);
    transform: translateY(5px); }
  .m-box_4f.js-action-visible .m-box_4f_catch {
    opacity: 0; }
  .m-box_4f.js-status-visible .m-box_4f_title:before {
    -webkit-transition: opacity .5s, -webkit-transform .5s;
    transition: opacity .5s, -webkit-transform .5s;
    -o-transition: transform .5s, opacity .5s;
    transition: transform .5s, opacity .5s;
    transition: transform .5s, opacity .5s, -webkit-transform .5s; }
  .m-box_4f.js-status-visible .m-box_4f_title > span:nth-of-type(1) {
    -webkit-transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, -webkit-transform 1s;
    -o-transition: transform 1s, opacity 1s;
    transition: transform 1s, opacity 1s;
    transition: transform 1s, opacity 1s, -webkit-transform 1s; }
  .m-box_4f.js-status-visible .m-box_4f_title > span:nth-of-type(2) {
    -webkit-transition: opacity 1s, -webkit-transform 1s;
    transition: opacity 1s, -webkit-transform 1s;
    -o-transition: transform 1s, opacity 1s;
    transition: transform 1s, opacity 1s;
    transition: transform 1s, opacity 1s, -webkit-transform 1s; }
  .m-box_4f.js-status-visible .m-box_4f_lead {
    -webkit-transition: opacity 1s .5s, -webkit-transform 1s .5s;
    transition: opacity 1s .5s, -webkit-transform 1s .5s;
    -o-transition: transform 1s .5s, opacity 1s .5s;
    transition: transform 1s .5s, opacity 1s .5s;
    transition: transform 1s .5s, opacity 1s .5s, -webkit-transform 1s .5s; }
  .m-box_4f.js-status-visible .m-box_4f_catch {
    -webkit-transition: opacity 1s 1s;
    -o-transition: opacity 1s 1s;
    transition: opacity 1s 1s; }
  @media (min-width: 768px) {
    .m-box_4f {
      margin-top: 80px; }
      .m-box_4f:before {
        top: 100px; }
      .m-box_4f_title {
        width: 580px;
        margin: 0 auto;
        padding: 0 50px; }
        .m-box_4f_title:before {
          top: 65%;
          left: 0;
          width: 100%;
          -webkit-transform: rotate(-9.7deg);
          -ms-transform: rotate(-9.7deg);
          transform: rotate(-9.7deg); }
        .m-box_4f_title > span:nth-of-type(1) {
          padding-bottom: 13px;
          font-size: 24px; }
        .m-box_4f_title > span:nth-of-type(2) {
          font-size: 15px; }
      .m-box_4f_lead {
        width: 520px;
        margin: 0 auto;
        padding: 45px 0 50px;
        font-size: 12px; }
      .m-box_4f_catch {
        bottom: -50px;
        right: 50%;
        margin-right: -420px;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        z-index: 2; } }

/* -----------------------------------------------
* .m-box_sns
* ***
-------------------------------------------------- */
.m-box_sns {
  /* SP */
  /* pc */ }
  .m-box_sns_inner {
    margin: 0 6.66667vw; }
    .m-box_sns_inner h4 {
      margin-bottom: .3em;
      font-size: 13px;
      font-weight: bold;
      letter-spacing: .1em; }
    .js-action-visible + .m-box_sns_inner {
      opacity: 0; }
    .js-status-visible + .m-box_sns_inner {
      -webkit-transition: opacity 1s 1s;
      -o-transition: opacity 1s 1s;
      transition: opacity 1s 1s; }
  @media (max-width: 767px) {
    .m-box_sns h4 {
      font-size: 3.2vw; }
    .m-box_sns_instagram {
      position: relative;
      margin-top: 6.66667vw;
      /*> iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        border: none;
        overflow: hidden;
      }*/ }
      .m-box_sns_instagram > iframe {
        width: 100% !important; } }
  @media (min-width: 768px) {
    .m-box_sns {
      max-width: 920px;
      margin: 80px auto 0; }
      .m-box_sns_inner {
        display: table;
        width: 780px;
        margin: 40px auto 0; }
      .m-box_sns_facebook, .m-box_sns_instagram {
        display: table-cell;
        vertical-align: top; }
      .m-box_sns_facebook {
        width: 440px;
        padding-right: 30px; }
      .m-box_sns_instagram {
        width: 340px; } }

/* -----------------------------------------------
* .m-box_access
* ***
-------------------------------------------------- */
.m-box_access {
  /* pc */ }
  .m-box_access_map {
    position: relative;
    margin: 0 6.66667vw;
    padding-top: 50%; }
    .m-box_access_map > iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .js-action-visible + .m-box_access_map {
      opacity: 0; }
    .js-status-visible + .m-box_access_map {
      -webkit-transition: opacity 1s 1s;
      -o-transition: opacity 1s 1s;
      transition: opacity 1s 1s; }
  @media (min-width: 768px) {
    .m-box_access {
      max-width: 920px;
      margin: 80px auto 0; }
      .m-box_access_map {
        position: relative;
        margin: 40px 70px 0;
        padding-top: 30%; } }

/* -----------------------------------------------
* .m-box_contact
* ***
-------------------------------------------------- */
.m-box_contact {
  margin: 26.66667vw 6.66667vw 13.33333vw;
  /* pc */ }
  .m-box_contact_title {
    text-align: center; }
    .m-box_contact_title > span {
      display: block;
      font-size: 4vw;
      font-weight: bold;
      letter-spacing: .1em; }
      .m-box_contact_title > span:nth-of-type(2) {
        font-family: athelas, a-otf-ryumin-pr6n, serif;
        font-size: 3.73333vw;
        letter-spacing: .05em; }
    .m-box_contact_title > img {
      margin: 10.66667vw 0 2vw;
      /* SP */ }
      @media (max-width: 767px) {
        .m-box_contact_title > img {
          width: 50.66667vw; } }
  .m-box_contact_subtitle {
    margin-top: 10.66667vw;
    font-size: 4vw;
    font-weight: bold;
    text-align: center; }
  .m-box_contact_address {
    position: relative;
    margin-top: -2.66667vw;
    margin-bottom: 10.66667vw;
    padding-top: 16vw;
    font-style: normal;
    text-align: center;
    overflow: hidden; }
    .m-box_contact_address:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%;
      height: 103%;
      border: 1px solid #888;
      -webkit-transform: skewY(-8.4deg);
      -ms-transform: skewY(-8.4deg);
      transform: skewY(-8.4deg);
      -webkit-transform-origin: right top;
      -ms-transform-origin: right top;
      transform-origin: right top;
      z-index: 1; }
    .m-box_contact_address > p,
    .m-box_contact_address > div {
      position: relative;
      z-index: 2; }
    .m-box_contact_address > div > a {
      display: block;
      margin: 4vw 0 1.33333vw; }
      .m-box_contact_address > div > a > img {
        /* SP */ }
        @media (max-width: 767px) {
          .m-box_contact_address > div > a > img {
            width: 61.33333vw; } }
  .m-box_contact_form > p {
    margin-bottom: 2em; }
  .m-box_contact_form > ul > li > label {
    display: table;
    width: 100%;
    padding-top: 1em;
    padding-bottom: 1px;
    border-bottom: 1px solid #888; }
    .m-box_contact_form > ul > li > label > span {
      display: table-cell;
      font-size: 2.66667vw;
      white-space: nowrap;
      vertical-align: top; }
      .m-box_contact_form > ul > li > label > span > small {
        display: inline-block;
        margin-left: .5em; }
      .m-box_contact_form > ul > li > label > span > input,
      .m-box_contact_form > ul > li > label > span > textarea {
        width: 100%;
        border: none;
        padding: .7em;
        border: 1px solid #ffffff;
        border-radius: 5px;
        background: transparent;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        font-size: 3.2vw;
        text-align: right; }
        .m-box_contact_form > ul > li > label > span > input:focus,
        .m-box_contact_form > ul > li > label > span > textarea:focus {
          border: 1px solid rgba(138, 218, 216, 0.3);
          background: #fffff9; }
      .m-box_contact_form > ul > li > label > span:nth-of-type(1) {
        padding-top: 1em; }
  .m-box_contact_form > button {
    display: block;
    position: relative;
    width: 26.66667vw;
    margin: 10vw auto 0;
    border: none;
    background: #ffffff;
    font-family: a-otf-ryumin-pr6n, "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 3.2vw;
    font-weight: bold;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
    .m-box_contact_form > button:before {
      content: '';
      position: absolute;
      bottom: -3px;
      right: -3px;
      width: 95%;
      height: 95%;
      border-right: 1px solid #888;
      border-bottom: 1px solid #888;
      -webkit-transition: all .2s;
      -o-transition: all .2s;
      transition: all .2s; }
    .m-box_contact_form > button > span {
      display: block;
      position: relative;
      padding: 3.33333vw 0 1.6vw;
      border-bottom: 1px solid #888;
      overflow: hidden;
      -webkit-transition: all .2s;
      -o-transition: all .2s;
      transition: all .2s; }
      .m-box_contact_form > button > span:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 105%;
        border: 1px solid #888;
        -webkit-transform: skewY(-4.4deg);
        -ms-transform: skewY(-4.4deg);
        transform: skewY(-4.4deg);
        -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
        transform-origin: right top;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s; }
      .m-box_contact_form > button > span > span {
        position: relative;
        display: inline-block;
        z-index: 2; }
    .m-box_contact_form > button:hover:before {
      bottom: -2px;
      right: -2px; }
    .m-box_contact_form > button:hover > span {
      -webkit-transform: translate(2px, 2px);
      -ms-transform: translate(2px, 2px);
      transform: translate(2px, 2px); }
      .m-box_contact_form > button:hover > span:before {
        background: rgba(138, 218, 216, 0.5); }
  .m-box_contact_thanks {
    display: none;
    margin: 3em 0;
    padding: 3em 0;
    border: 1px solid #888;
    font-size: 3.2vw;
    text-align: center; }
  .m-box_contact.js-action-visible {
    opacity: 0; }
  .m-box_contact.js-status-visible {
    -webkit-transition: opacity 2s;
    -o-transition: opacity 2s;
    transition: opacity 2s; }
  @media (min-width: 768px) {
    .m-box_contact {
      width: 790px;
      margin: 80px auto; }
      .m-box_contact_title > span {
        font-size: 15px; }
        .m-box_contact_title > span:nth-of-type(2) {
          font-size: 13px; }
      .m-box_contact_title > img {
        margin: 45px 0 5px; }
      .m-box_contact_subtitle {
        margin-top: 70px;
        font-size: 13px;
        letter-spacing: .1em; }
      .m-box_contact_address {
        width: 315px;
        margin: -5px auto 40px;
        padding-top: 60px; }
        .m-box_contact_address > p {
          font-size: 10px; }
        .m-box_contact_address > div > a {
          margin: 20px 0 8px; }
        .m-box_contact_address > div > p {
          font-size: 10px;
          letter-spacing: .1em; }
      .m-box_contact_form > p {
        margin-bottom: 40px;
        font-size: 10px; }
      .m-box_contact_form > ul {
        display: table; }
        .m-box_contact_form > ul > li {
          float: left;
          width: 50%; }
          .m-box_contact_form > ul > li:nth-of-type(odd) {
            padding-right: 20px; }
          .m-box_contact_form > ul > li:nth-of-type(even) {
            padding-left: 20px; }
          .m-box_contact_form > ul > li > label {
            margin-bottom: 30px;
            padding: 5px 0; }
            .m-box_contact_form > ul > li > label > span {
              font-size: 10px; }
              .m-box_contact_form > ul > li > label > span > input,
              .m-box_contact_form > ul > li > label > span > textarea {
                font-size: 11px; }
            .m-box_contact_form > ul > li > label.textarea {
              display: block; }
              .m-box_contact_form > ul > li > label.textarea > span {
                display: block; }
                .m-box_contact_form > ul > li > label.textarea > span > textarea {
                  height: 87px;
                  text-align: left; }
      .m-box_contact_form > button {
        width: 120px;
        margin: 20px auto 0;
        font-size: 11px; }
        .m-box_contact_form > button:before {
          width: 98%; }
        .m-box_contact_form > button > span {
          padding: 14px 0 8px; }
          .m-box_contact_form > button > span:before {
            width: 100%;
            height: 105%; }
      .m-box_contact_thanks {
        margin: 6em 0 2em;
        padding: 4em;
        font-size: 12px; } }

/* -----------------------------------------------
* hdg Module
* 見出し用
-------------------------------------------------- */
/* -----------------------------------------------
* .m-hdg_common
* ***
-------------------------------------------------- */
.m-hdg_common {
  position: relative;
  margin: 20vw 0 8vw;
  font-size: 3.73333vw;
  font-weight: bold;
  letter-spacing: .1em;
  z-index: 2;
  /* pc */ }
  .m-hdg_common > span {
    display: inline-block;
    position: relative;
    min-width: 30%;
    padding-left: 2em;
    padding-bottom: 2.66667vw; }
    .m-hdg_common > span:before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background: #888; }
    .m-hdg_common > span > span {
      display: block;
      text-align: right; }
  .m-hdg_common.js-action-visible > span:before {
    width: 0; }
  .m-hdg_common.js-action-visible > span > span {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
    opacity: 0; }
  .m-hdg_common.js-status-visible > span:before {
    -webkit-transition: width 1s;
    -o-transition: width 1s;
    transition: width 1s; }
  .m-hdg_common.js-status-visible > span > span {
    -webkit-transition: opacity 1s .2s, -webkit-transform 1s .2s;
    transition: opacity 1s .2s, -webkit-transform 1s .2s;
    -o-transition: transform 1s .2s, opacity 1s .2s;
    transition: transform 1s .2s, opacity 1s .2s;
    transition: transform 1s .2s, opacity 1s .2s, -webkit-transform 1s .2s; }
  @media (min-width: 768px) {
    .m-hdg_common {
      margin: 0 0 0 45px;
      font-size: 19px; }
      .m-hdg_common > span {
        min-width: inherit;
        padding-left: 3em;
        padding-bottom: 8px; } }
