@charset "UTF-8";
* {
  letter-spacing: 0.1em;
  line-height: 1.8em;
}
@media screen and (max-width: 768px) {
  * {
    letter-spacing: 0.1em;
  }
}

html {
  /*font-size: 62.5%;*/
  font-size: 10px;
}

body {
  background: #fff;
  color: #58524f;
  font-family: '游ゴシック体',YuGothic,'游ゴシック Medium','Yu Gothic Medium','游ゴシック','Yu Gothic',sans-serif;
  font-size: 1.76rem;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.54rem;
  }
}

:root {
  --main-color: #fff;
}

img,
iframe {
  max-width: 100%;
}

img {
  height: auto;
}

table {
  table-layout: fixed;
  border-collapse: collapse;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type=submit], input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus, input[type=button]::focus {
  outline-offset: -2px;
}

.contentIn {
  width: 1100px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.dp_ib {
  display: inline-block;
}

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

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

.ai_c {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.ai_fs {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.ai_fe {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.ai_s {
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.jc_sb {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.jc_sa {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
}

.jc_c {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.jc_fe {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.fw_wp {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.flexL {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.flexC {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}

.flexR {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}

.taC {
  text-align: center;
}

.taR {
  text-align: right;
}

.taL {
  text-align: left;
}

.fwB {
  font-weight: bold;
}

.fwN {
  font-weight: normal;
}

.hoverOpa {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.hoverOpa:hover {
  opacity: 0.8;
}

.ofCover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit:cover;";
}

.ofCotain {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit:contain;";
}

.youtubeWrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtubeWrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.indent01 {
  padding-left: 1em;
  text-indent: -1em;
}

.indentList01 > * {
  padding-left: 1em;
  text-indent: -1em;
}

.floatR {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75em 0;
}
.floatR .btn__contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60px;
  padding: 0.5em 0;
  color: #cb8587;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.0625em;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  letter-spacing: 0.1em;
  line-height: 1.2em;
  background: #fff;
  border: 5px solid #cb8587;
  -webkit-box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 3px 3px 5px 0 rgba(0, 0, 0, 0.15);
}
.floatR .btn__contact:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-top: 0.4em;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #cb8587;
}
.floatR .btn__pagetop {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.floatR .btn__pagetop.none {
  opacity: 0;
  pointer-events: none;
}

/*==================================

全ページ共通CSS

==================================*/
.logo__mark {
  display: inline-block;
}
.logo__mark__text {
  margin-bottom: 0.2em;
  font-size: 0.957em;
  line-height: 1.2em;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .logo__mark__text {
    font-size: 0.7em;
    letter-spacing: 0;
  }
}
.logo__mark__sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 3%;
  margin-top: 0.75em;
  font-size: 0.589em;
  line-height: 1em;
}
@media screen and (max-width: 768px) {
  .logo__mark__sub {
    letter-spacing: 0;
  }
}
.logo__mark__sub:before, .logo__mark__sub:after {
  content: "";
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 3px;
  background-repeat: repeat-x;
}
.logo__mark__sub:before {
  background-image: url(../images/logo_txtL.png);
}
.logo__mark__sub:after {
  background-image: url(../images/logo_txtL.png);
}

.ttlStl01 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1.5em;
  font-family: 'ltc-bodoni-175';
  font-size: 4em;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .ttlStl01 {
    margin-bottom: 1.2em;
    font-size: 2.1em;
  }
}
.ttlStl01:before {
  content: attr(data-title);
  min-width: 167px;
  margin-bottom: 2.25em;
  padding: 0.4em 1.5em 0.15em 1em;
  color: #fff;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 0.2499625em;
  text-align: center;
  line-height: 1.2em;
  background: url(../images/ttl_deco02.png) no-repeat center center/100% 100%;
}
@media screen and (max-width: 768px) {
  .ttlStl01:before {
    min-width: 100px;
    margin-bottom: 1.6em;
    font-size: 0.32em;
  }
}

.ttlStl02 {
  margin-bottom: 2.25em;
  color: #604c3f;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.875em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ttlStl02 {
    font-size: 1.3em;
  }
}
.ttlStl02 > span {
  display: inline-block;
  padding: 0 0.5em;
  line-height: 1.4em;
  background: url(../images/ttl_deco01.png) no-repeat center bottom/100% 0.65em;
}
@media screen and (max-width: 768px) {
  .ttlStl02 > span {
    padding: 0 0.2em;
  }
}

.ttlStl03 {
  margin-bottom: 1.5em;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.875em;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ttlStl03 {
    font-size: 1.3em;
  }
}
.ttlStl03 > span {
  display: inline-block;
  padding: 0 0.4em;
  line-height: 1.4em;
  background: url(../images/ttl_deco04.png) repeat-x center bottom 0.1em;
}

.ttlStl04 {
  padding: 0.45em 0 0.5em 1.5em;
  color: #604c3f;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.25em;
  background: url(../images/ttl_deco05.png) no-repeat top left;
}

.ul01 > * {
  padding-left: 1em;
  text-indent: -1em;
}
.ul01 > *:before {
  content: "・";
}

.btnStl01 {
  position: relative;
  display: block;
  width: 350px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 0.75em 1.75em;
  color: #fff;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.25em;
  text-align: center;
  background: #cb8587;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.btnStl01:hover {
  opacity: 0.8;
}
.btnStl01:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #ffffff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.linkStl01 {
  color: #cb8587;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-weight: 600;
}
.linkStl01:not(:hover) {
  text-decoration: underline;
}

/*==================================

ヘッダー

==================================*/
header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 99;
  display: grid;
  grid-template-columns: 1fr auto;
  padding: 0.5em 2.8% 1em;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  background-color: rgba(255, 255, 255, 0);
}
@media screen and (max-width: 1350px) and (min-width: 769px) {
  header {
    grid-template-columns: 38% auto;
  }
}
@media screen and (max-width: 768px) {
  header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0.25em 0 0.5em 2%;
  }
  header.active {
    background-color: rgb(255, 255, 255);
  }
}
header.scroll {
  background-color: rgb(255, 255, 255);
}
header .logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  gap: 0 1em;
  grid-row: 1/3;
}
@media screen and (min-width: 769px) {
  header .logo {
    min-width: 25%;
  }
}
@media screen and (max-width: 768px) {
  header .logo {
    width: 150px;
    max-width: 28%;
  }
}
header .logo__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5em;
}
header .logo__text:before, header .logo__text:after {
  content: "～";
}
header .logo__text p {
  line-height: 1.2em;
}
header .header__contactDetails {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 0.5em;
}
@media screen and (min-width: 769px) {
  header .header__contactDetails {
    margin-bottom: 0.2em;
  }
}
@media screen and (max-width: 768px) {
  header .header__contactDetails {
    display: grid;
  }
}
@media screen and (max-width: 768px) and (min-width: 450px) {
  header .header__contactDetails {
    font-size: 1.3em;
  }
}
header .header__contactDetails dl {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.2em 0.5em;
}
@media screen and (max-width: 768px) {
  header .header__contactDetails dl {
    gap: 0.2em 0.3em;
  }
}
header .header__contactDetails dl > dt {
  min-width: 5em;
  padding: 0.5em 0.5em;
  color: #fff;
  font-size: 0.875em;
  font-weight: normal;
  letter-spacing: 0.08em;
  line-height: 1em;
  text-align: center;
  background: #604c3f;
}
@media screen and (max-width: 768px) {
  header .header__contactDetails dl > dt {
    min-width: 3.8em;
    padding: 0.25em 0.5em;
    font-size: 0.5em;
    letter-spacing: 0;
  }
}
header .header__contactDetails dl > dd {
  letter-spacing: 0em;
}
header .header__contactDetails dl > dd * {
  letter-spacing: 0em;
}
header .header__contactDetails p {
  margin-left: 0.25em;
  letter-spacing: 0.1em;
  line-height: 1.1em;
}
@media screen and (max-width: 768px) {
  header .header__contactDetails p {
    font-size: 1rem;
    letter-spacing: 0;
  }
}
@media screen and (min-width: 769px) {
  header .header__contactDetails__tel > dl > dt {
    margin-top: 0.25em;
  }
}
header .header__contactDetails__tel > dl > dd {
  font-size: 2.375em;
  line-height: 1em;
}
@media screen and (max-width: 768px) {
  header .header__contactDetails__tel > dl > dd {
    font-size: 1.2em;
    letter-spacing: -0.05em;
  }
}
header .header__contactDetails__tel > dl > dd * {
  line-height: 1em;
}
@media screen and (max-width: 768px) {
  header .header__contactDetails__tel > dl > dd * {
    letter-spacing: -0.05em;
  }
}
@media screen and (max-width: 768px) {
  header .header__contactDetails__mail {
    margin-top: 0.5em;
  }
}
header .header__contactDetails__mail > dl > dd {
  font-size: 1.25em;
  line-height: 1.2em;
}
@media screen and (max-width: 768px) {
  header .header__contactDetails__mail > dl > dd {
    font-size: 0.9em;
  }
}
@media screen and (min-width: 769px) {
  header .header__menuWrap {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  header .header__menuWrap {
    position: fixed;
    right: 0;
    left: 0;
    bottom: 0;
    display: none;
    background: #fff;
    overflow-y: scroll;
  }
}
@media screen and (max-width: 768px) {
  header .header__menuWrap nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
  }
}
header .header__menuWrap nav .sns {
  margin-top: 0.75em;
  gap: 0.5em;
}
@media screen and (max-width: 768px) {
  header .header__menuWrap nav .sns {
    padding-bottom: 0.75em;
  }
}
header .header__menuWrap .globalNav {
  gap: 0.5em 2em;
  border-top: 1px solid #604c3f;
}
@media screen and (min-width: 769px) {
  header .header__menuWrap .globalNav {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding: 0.5em;
    border-bottom: 1px solid #604c3f;
  }
}
@media screen and (max-width: 768px) {
  header .header__menuWrap .globalNav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
@media screen and (max-width: 768px) {
  header .header__menuWrap .globalNav li {
    width: 100%;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media screen and (max-width: 768px) {
  header .header__menuWrap .globalNav li a {
    height: 100%;
    padding: 0.5em;
  }
}
@media screen and (max-width: 768px) {
  header .header__menuWrap .globalNav li:not(.globalNav__contact):not(:first-of-type) {
    border-top: 1px dashed #604c3f;
  }
}
header .header__menuWrap .globalNav li:not(.globalNav__contact) a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #604c3f;
  font-family: 'ltc-bodoni-175';
  font-size: 1.5625em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
}
header .header__menuWrap .globalNav li:not(.globalNav__contact) a:before {
  content: attr(data-japanese);
  position: absolute;
  top: 50%;
  padding: 0.6em 2em 0.5em 1.5em;
  color: #fff;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-style: normal;
  font-size: 0.39994em;
  letter-spacing: 0.2em;
  line-height: 1em;
  white-space: nowrap;
  background: url(../images/nav_active.png) no-repeat center center/100% 100%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
header .header__menuWrap .globalNav li:not(.globalNav__contact) a:hover:before {
  opacity: 1;
}
header .header__menuWrap .globalNav li.globalNav__contact a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.6em;
  padding: 0.5em 0.75em 0.6em;
  color: #fff;
  line-height: 1em;
  background: #604c3f;
}
@media screen and (min-width: 769px) {
  header .header__menuWrap .globalNav li.globalNav__contact a {
    font-size: 0.875em;
  }
}
@media screen and (max-width: 768px) {
  header .header__menuWrap .globalNav li.globalNav__contact a {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 1.5em;
  }
}
header .header__menuWrap .globalNav li.globalNav__contact a:before {
  content: "";
  display: block;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 1.5em;
  height: 1em;
  background: url(../images/ico_mail_wh.svg) no-repeat center center/contain;
}

/*==================================

フッター

==================================*/
footer {
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  background: #faebe3;
}
footer * {
  letter-spacing: 0.2em;
}
footer .footer__contents {
  gap: 0.5em;
  grid-template-columns: auto 1fr;
  width: 90%;
  margin: 0 auto;
  padding: 1em 0;
}
@media screen and (min-width: 769px) {
  footer .footer__contents {
    display: grid;
  }
}
@media screen and (max-width: 768px) {
  footer .footer__contents {
    text-align: center;
  }
}
footer .footer__logo {
  grid-row: 1/3;
  font-size: 0.765em;
}
footer .footer__logo img {
  width: 160px;
}
footer .footer__link {
  gap: 0 1%;
}
@media screen and (max-width: 768px) {
  footer .footer__link {
    gap: 0.2em 0.5em;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 1em auto;
  }
}
footer .footer__link__sns {
  gap: 0 0.4em;
}
@media screen and (max-width: 768px) {
  footer .footer__nav {
    gap: 1.25em 1%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 0.8em;
  }
}
footer .footer__nav li:not(:last-of-type) {
  border-right: 1px solid #604c3f;
}
footer .footer__nav li a {
  display: block;
  padding: 0 0.8em;
  line-height: 1.4em;
}
footer .footer__nav li:last-of-type a {
  padding-right: 0;
}
footer .copyright {
  padding: 0.3em;
  color: #a08777;
  font-size: 0.875em;
  line-height: 1.2em;
  background: #fff;
}

/*==================================

トップページ

==================================*/
.mv {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em 3%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 100vh;
  padding: 14em 0 6em;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  background-image: url(../images/img01.png), url(../images/mv_bk02.png), url(../images/mv_bk01.png), url(../images/mv_bk03.png), url(../images/mv_bk04.png);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: bottom 15% right 10%, top right, top left, bottom center, bottom right;
  background-size: 190px auto, 100% auto, 100% auto, 100% auto, 100% auto;
}
@media screen and (min-width: 769px) {
  .mv {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (max-width: 768px) {
  .mv {
    padding: 7em 20px 4em;
    background-size: 30% auto, 100% auto, 100% auto, 100% auto, 100% auto;
  }
}
@media screen and (min-width: 769px) {
  .mv__image {
    max-width: 48%;
  }
}
@media screen and (max-width: 768px) {
  .mv__image {
    max-width: 400px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .mv__text {
    margin-top: 2em;
  }
}
.mv__text__title {
  margin-bottom: 0.8em;
  font-size: 2em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .mv__text__title {
    font-size: 1.35em;
  }
}
.mv__text__title span {
  padding: 0 0.5em;
  line-height: 1.7em;
  background: url(../images/ttl_deco01.png) no-repeat center bottom/100% 22px;
}
@media screen and (max-width: 768px) {
  .mv__text__title span {
    padding: 0 0.2em;
    letter-spacing: 0;
  }
}
.mv__text__details {
  font-size: 1.125em;
}
@media screen and (max-width: 768px) {
  .mv__text__details {
    font-size: 0.9em;
  }
}

#greeting {
  padding: 7em 0 6em;
  background: #f7f4f2;
}
#greeting .contentIn {
  width: 1120px;
}

.greeting__box {
  position: relative;
  margin-top: -5.75em;
  padding: 3.25em 2.5em;
  background: #fff;
  -webkit-box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.15);
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
@media screen and (max-width: 768px) {
  .greeting__box {
    margin-top: -28em;
    padding: 2em 1.5em 3em;
  }
}
.greeting__box:before {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #c79f62;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .greeting__box__ceo {
    margin-top: auto;
    margin-left: 1%;
  }
}
@media screen and (max-width: 768px) {
  .greeting__box__ceo {
    margin: 2em auto;
  }
}
.greeting__box__ceo p {
  margin-bottom: 0.6em;
  color: #604c3f;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 0.9863875em;
  line-height: 1.3em;
}
.greeting__box__ceo p .fzL {
  font-size: 1.41176em;
  line-height: 1.3em;
}
@media screen and (min-width: 769px) {
  .greeting__box__text {
    margin-left: 4%;
  }
}
.greeting__box__company {
  margin-bottom: 0.6em;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.125em;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .greeting__box__company {
    margin-top: 0.5em;
    font-size: 1.1em;
    text-align: center;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  .greeting__box__table {
    margin: 1em auto 0;
  }
}
@media screen and (max-width: 768px) {
  .greeting__box__table > tbody > tr > * {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  .greeting__box__table > tbody > tr > th {
    padding-right: 0.75em;
  }
}
@media screen and (max-width: 768px) {
  .greeting__box__table > tbody > tr > th {
    padding-bottom: 0.5em;
  }
}
.greeting__box__table > tbody > tr > th span {
  display: block;
  padding: 0.25em 0.5em;
  color: #fff;
  font-size: 0.8125em;
  letter-spacing: 0.08em;
  line-height: 1.2em;
  text-align: center;
  background: #a08777;
}
.greeting__box__table > tbody > tr > td {
  font-size: 0.875em;
}
@media screen and (max-width: 768px) {
  .greeting__box__table > tbody > tr > td {
    font-size: 0.8em;
  }
}
.greeting__box__table > tbody > tr > td table tr > * {
  letter-spacing: 0.15em;
  line-height: 1.4em;
}
@media screen and (max-width: 768px) {
  .greeting__box__table > tbody > tr > td table tr > * {
    letter-spacing: 0em;
  }
}
.greeting__box__table > tbody > tr > td table tr > th {
  padding-right: 1em;
  font-weight: normal;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .greeting__box__table > tbody > tr > td table tr > th {
    padding-right: 0.5em;
    white-space: nowrap;
  }
}
.greeting__box__table > tbody > tr > td ul > li {
  line-height: 1.4em;
}
.greeting__box__table > tbody > tr + tr > * {
  padding-top: 0.6em;
}
.greeting__box__table > tbody > tr + tr > th {
  padding-top: 1em;
}

#introduction {
  padding: 8em 0 8em;
  background-image: url(../images/img03.png), url(../images/introduction_bk01.png), url(../images/introduction_bk02.png), url(../images/introduction_bk03.png), url(../images/introduction_bk04.png);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: top 30% right 15%, top right, top 20% left 20%, top 110% right, left bottom 0;
}
@media screen and (max-width: 768px) {
  #introduction {
    padding-top: 5em;
    background-position: top 30% right 15%, top right, top 20% left 20%, top 100% right, left bottom 0;
    background-size: 20% auto, 100% auto, 50% auto, 100% auto, 100% auto;
  }
}

.introduction__manager {
  gap: 2.5em 5%;
}
@media screen and (max-width: 768px) {
  .introduction__manager {
    margin: 2em auto 0;
  }
}
.introduction__manager__title {
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.5em;
  line-height: 1.4em;
}
@media screen and (max-width: 768px) {
  .introduction__manager__title {
    margin-top: 1em;
    font-size: 1.05em;
    text-align: center;
  }
}
.introduction__manager__name {
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 2.125em;
  line-height: 1.4em;
}
@media screen and (max-width: 768px) {
  .introduction__manager__name {
    font-size: 1.5em;
    text-align: center;
  }
}
.introduction__manager__certification {
  margin-top: 1.6em;
  font-size: 0.875em;
}
@media screen and (max-width: 768px) {
  .introduction__manager__certification {
    font-size: 0.7em;
    letter-spacing: 0.05em;
  }
}
.introduction__manager__details {
  width: 98%;
  margin: 3em auto 0;
  letter-spacing: 0.095em;
}
.introduction__media {
  padding: 3em 0 0;
}
.introduction__media__title {
  margin-bottom: 1.75em;
  padding: 0.7em 0 0.3em 2em;
  text-align: center;
  letter-spacing: 0.05em;
  background: url(../images/ttl_deco03.png) no-repeat center center;
}
@media screen and (max-width: 768px) {
  .introduction__media__title {
    background-size: 100% 100%;
  }
}
.introduction__media__title h3 {
  display: inline-block;
  color: #fff;
  line-height: 1.25em;
  text-align: left;
}
.introduction__media__list {
  display: grid;
  gap: 0.5em 1%;
  grid-template-columns: auto auto;
}
@media screen and (min-width: 769px) {
  .introduction__media__list {
    grid-template-columns: 68% auto;
  }
}
@media screen and (min-width: 769px) {
  .introduction__media__content:first-of-type {
    grid-row: 1/3;
  }
}
@media screen and (max-width: 768px) {
  .introduction__media__content:first-of-type {
    grid-column: 1/3;
  }
}

#about {
  padding: 8em 0 3em;
}
@media screen and (max-width: 768px) {
  #about {
    padding-top: 3em;
  }
}

.about__content {
  padding-bottom: 6.5em;
}
@media screen and (max-width: 768px) {
  .about__content {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 3em 3%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.about__title {
  margin-bottom: 1.7em;
}
@media screen and (max-width: 768px) {
  .about__title {
    margin-bottom: 1.2em;
  }
}
@media screen and (min-width: 769px) {
  .about__image:first-of-type {
    -webkit-box-ordinal-group: -1;
    -webkit-order: -2;
        -ms-flex-order: -2;
            order: -2;
  }
}
@media screen and (max-width: 768px) {
  .about__image {
    -webkit-flex-basis: 48.5%;
        -ms-flex-preferred-size: 48.5%;
            flex-basis: 48.5%;
  }
}
.about__features {
  padding: 6em 0;
  background: #faebe3;
}
.about__features__title {
  font-weight: 500;
}
.about__features__list {
  gap: 1em 2%;
}
.about__features__box {
  margin: 15px;
  padding: 2.5em 1em;
  position: relative;
  background: #f7f4f2;
}
@media screen and (max-width: 768px) {
  .about__features__box + .about__features__box {
    margin-top: 4em;
  }
}
.about__features__box:before {
  content: "";
  position: absolute;
  top: -15px;
  right: -15px;
  bottom: -15px;
  left: -15px;
  display: block;
  -webkit-border-image: url(../images/border01.png) 80 repeat;
  -ms-border-image: url(../images/border01.png) 80 repeat;
  -o-border-image: url(../images/border01.png) 80 repeat;
     border-image: url(../images/border01.png) 80 repeat;
  border-width: 80px;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .about__features__box:before {
    border-width: 50px;
  }
}
.about__features__box > * {
  position: relative;
  z-index: 1;
}
.about__features__num {
  display: inline-block;
  margin-bottom: 1em;
  padding: 0.2em 4em 0;
  color: #fff;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 0.875em;
  letter-spacing: 0.2em;
  line-height: 1.2em;
  background: #cb8587;
}
.about__features__num .fzL {
  font-family: 'ltc-bodoni-175';
  font-size: 1.858em;
  letter-spacing: 0;
  line-height: 1.2em;
}
.about__features__num:before, .about__features__num:after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  height: 70%;
  background: #f7f4f2;
  aspect-ratio: 1/1;
}
.about__features__num:before {
  left: 0;
  -webkit-transform: translate(-50%, -50%) scale(0.8, 1) rotate(45deg);
          transform: translate(-50%, -50%) scale(0.8, 1) rotate(45deg);
}
.about__features__num:after {
  right: 0;
  -webkit-transform: translate(50%, -50%) scale(0.8, 1) rotate(45deg);
          transform: translate(50%, -50%) scale(0.8, 1) rotate(45deg);
}
.about__features__subTitle {
  margin-bottom: 0.8em;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.375em;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .about__features__subTitle {
    font-size: 1.15em;
  }
}
.about__efficacy {
  padding: 6.5em 0 5.5em;
}
.about__efficacy__wrap {
  gap: 1em 3%;
}
.about__efficacy__item {
  margin-top: 2.5em;
}
.about__efficacy__item > dt {
  margin-bottom: 0.5em;
}
.about__efficacy__item > dt span {
  display: inline-block;
  padding: 0.2em 1.2em;
  color: #fff;
  line-height: 1.2em;
  background: #a48b78;
}
@media screen and (max-width: 768px) {
  .about__efficacy__item > dt span {
    display: block;
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .about__efficacy__item > dd ul {
    display: grid;
    grid-template-columns: auto auto;
  }
}
.about__efficacy__image {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (min-width: 769px) {
  .about__efficacy__image {
    max-width: 25%;
  }
}
@media screen and (max-width: 768px) {
  .about__efficacy__image {
    margin-top: 3em;
  }
}
.about__efficacy__text02 {
  margin-top: 3em;
}
.about__target {
  padding: 3em 0 6em;
  background-image: url(../images/target_img01_bk.png), url(../images/target_img02_bk.png), url(../images/target_img03_bk.png);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top 15% right 5%, top 50% left 10%, top 95% right -4%;
}
@media screen and (max-width: 768px) {
  .about__target {
    background-position: top 20% center, top 60% center, top 97% center;
    background-size: 90% auto;
  }
}
.about__target__title {
  margin-bottom: 1.5em;
}
.about__target__box {
  gap: 1em 3%;
}
.about__target__box + .about__target__box {
  margin-top: 5em;
}
.about__target__box:nth-of-type(even) .about__target__text {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.about__target__box:nth-of-type(2) .about__target__image {
  margin-top: 3em;
}
.about__target__catch {
  margin-bottom: 0.4em;
  color: #a48b78;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.625em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .about__target__catch {
    margin-bottom: 1em;
    font-size: 1.1em;
    text-align: center;
  }
}
.about__area {
  padding: 3em 0 6em;
  background: url(../images/img05.png) no-repeat bottom right 15%;
}
@media screen and (max-width: 768px) {
  .about__area {
    background-position: bottom 20% right 5%;
    background-size: 20% auto;
  }
}
.about__area__list {
  gap: 1em 1%;
}
.about__area__list > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-basis: 13%;
      -ms-flex-preferred-size: 13%;
          flex-basis: 13%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.25em;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3em;
  text-align: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 768px) {
  .about__area__list > li {
    -webkit-flex-basis: 32%;
        -ms-flex-preferred-size: 32%;
            flex-basis: 32%;
    font-size: 0.9em;
  }
}
@media screen and (min-width: 769px) {
  .about__area__list > li:nth-of-type(even) {
    margin-top: 15%;
  }
}
.about__area__list > li:nth-of-type(1) {
  background-image: url(../images/txt_bk01.png);
}
.about__area__list > li:nth-of-type(2) {
  background-image: url(../images/txt_bk02.png);
}
.about__area__list > li:nth-of-type(3) {
  background-image: url(../images/txt_bk03.png);
}
.about__area__list > li:nth-of-type(4) {
  background-image: url(../images/txt_bk04.png);
}
.about__area__list > li:nth-of-type(5) {
  background-image: url(../images/txt_bk05.png);
}
.about__area__list > li:nth-of-type(6) {
  background-image: url(../images/txt_bk06.png);
}
.about__area__list > li:nth-of-type(7) {
  background-image: url(../images/txt_bk07.png);
}
.about__voice {
  padding: 5em 0 6em;
}
@media screen and (max-width: 768px) {
  .about__voice {
    padding-bottom: 3em;
  }
}
.about__voice__title {
  margin-bottom: 3em;
}
.about__voice__list {
  display: grid;
  gap: 1.6em 2%;
  grid-template-columns: auto 33% auto;
}
@media screen and (max-width: 768px) {
  .about__voice__list {
    grid-template-columns: auto auto;
  }
}
@media screen and (min-width: 769px) {
  .about__voice__image {
    grid-column: 2;
    grid-row: 1/4;
  }
}
@media screen and (max-width: 768px) {
  .about__voice__image {
    grid-column: 1/3;
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
        -ms-flex-order: -1;
            order: -1;
  }
}
.about__voice__balloon {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 10px;
}
.about__voice__balloon:before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .about__voice__balloon:before {
    border-radius: 5px;
  }
}
@media screen and (min-width: 769px) {
  .about__voice__balloon:nth-last-of-type(odd) .about__voice__comment:after {
    right: 1px;
    -webkit-transform: translateX(100%) skewY(35deg);
            transform: translateX(100%) skewY(35deg);
  }
}
@media screen and (max-width: 768px) {
  .about__voice__balloon:nth-last-of-type(odd) .about__voice__comment:after {
    border-left: 1px solid #c49c62;
    -webkit-transform: translateY(-100%) skewX(-45deg);
            transform: translateY(-100%) skewX(-45deg);
  }
}
@media screen and (min-width: 769px) {
  .about__voice__balloon:nth-last-of-type(even) .about__voice__comment:after {
    left: 0px;
    background: -webkit-linear-gradient(right, #fff 4px, transparent 4px);
    background: linear-gradient(to left, #fff 4px, transparent 4px);
    -webkit-transform: translateX(-100%) skewY(-35deg);
            transform: translateX(-100%) skewY(-35deg);
  }
}
@media screen and (max-width: 768px) {
  .about__voice__balloon:nth-last-of-type(even) .about__voice__comment:after {
    border-right: 1px solid #c49c62;
    -webkit-transform: translateY(-100%) skewX(45deg);
            transform: translateY(-100%) skewX(45deg);
  }
}
.about__voice__balloon:nth-of-type(6n):before, .about__voice__balloon:nth-of-type(6n + 1):before {
  background: #faebe3;
}
@media screen and (min-width: 769px) {
  .about__voice__balloon:nth-of-type(6n + 1) .about__voice__comment:after {
    background: -webkit-linear-gradient(left, #faebe3 4px, transparent 4px);
    background: linear-gradient(to right, #faebe3 4px, transparent 4px);
  }
}
.about__voice__balloon:nth-of-type(6n + 2):before, .about__voice__balloon:nth-of-type(6n + 3):before {
  background: #c8d4d0;
}
@media screen and (min-width: 769px) {
  .about__voice__balloon:nth-of-type(6n + 3) .about__voice__comment:after {
    background: -webkit-linear-gradient(left, #c8d4d0 4px, transparent 4px);
    background: linear-gradient(to right, #c8d4d0 4px, transparent 4px);
  }
}
.about__voice__balloon:nth-of-type(6n + 4):before, .about__voice__balloon:nth-of-type(6n + 5):before {
  background: #f1cfc4;
}
@media screen and (min-width: 769px) {
  .about__voice__balloon:nth-of-type(6n + 5) .about__voice__comment:after {
    background: -webkit-linear-gradient(left, #f1cfc4 4px, transparent 4px);
    background: linear-gradient(to right, #f1cfc4 4px, transparent 4px);
  }
}
.about__voice__balloon > * {
  position: relative;
  z-index: 1;
}
.about__voice__comment {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 1em 0.5em 0.8em;
  letter-spacing: 0.1em;
  line-height: 1.3em;
  border: 1px solid #c49c62;
  border-radius: 10px 10px 0 0;
}
@media screen and (max-width: 768px) {
  .about__voice__comment {
    font-size: 0.8em;
    text-align: left;
    border-radius: 5px 5px 0 0;
  }
}
.about__voice__comment:after {
  content: "";
  position: absolute;
  top: 50%;
  z-index: 2;
  display: block;
  width: 1.5em;
  height: 1em;
}
@media screen and (min-width: 769px) {
  .about__voice__comment:after {
    border-top: 1px solid #c49c62;
  }
}
@media screen and (max-width: 768px) {
  .about__voice__comment:after {
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: -webkit-linear-gradient(bottom, #fff 4px, transparent 4px);
    background: linear-gradient(to top, #fff 4px, transparent 4px);
  }
}
.about__voice__user {
  padding: 0.2em;
  color: #fff;
  background: #c49c62;
  border-radius: 0 0 10px 10px;
}
@media screen and (max-width: 768px) {
  .about__voice__user {
    padding: 0.6em 0.2em 0.8em;
    font-size: 0.4em;
    letter-spacing: -0.05em;
    line-height: 1.2em;
    text-align: left;
    border-radius: 0 0 5px 5px;
  }
}

#menu {
  padding: 5em 0 5em;
  background: url(../images/img06.png) no-repeat top left 5%, -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #faebe3));
  background: url(../images/img06.png) no-repeat top left 5%, -webkit-linear-gradient(top, transparent 70%, #faebe3 70%);
  background: url(../images/img06.png) no-repeat top left 5%, linear-gradient(to bottom, transparent 70%, #faebe3 70%);
}
@media screen and (max-width: 768px) {
  #menu {
    background: url(../images/img06.png) no-repeat top left 5%/22% auto, -webkit-gradient(linear, left top, left bottom, color-stop(18%, transparent), color-stop(18%, #faebe3));
    background: url(../images/img06.png) no-repeat top left 5%/22% auto, -webkit-linear-gradient(top, transparent 18%, #faebe3 18%);
    background: url(../images/img06.png) no-repeat top left 5%/22% auto, linear-gradient(to bottom, transparent 18%, #faebe3 18%);
  }
}

.menu__box {
  position: relative;
  margin: 15px;
  padding: 2em 1em 1em;
  background: #f7f4f2;
}
@media screen and (max-width: 768px) {
  .menu__box {
    margin: 10px;
    padding: 1.2em 0.2em 1em;
  }
}
.menu__box:before {
  content: "";
  position: absolute;
  top: -15px;
  right: -15px;
  bottom: -15px;
  left: -15px;
  display: block;
  -webkit-border-image: url(../images/border01.png) 80 repeat;
  -ms-border-image: url(../images/border01.png) 80 repeat;
  -o-border-image: url(../images/border01.png) 80 repeat;
     border-image: url(../images/border01.png) 80 repeat;
  border-width: 80px;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .menu__box:before {
    border-width: 50px;
  }
}
.menu__box > * {
  position: relative;
  z-index: 1;
}
.menu__box__list {
  display: grid;
  gap: 0.5em 10%;
  grid-template-columns: auto auto auto;
  width: 90%;
  margin: 0 auto 1em;
}
@media screen and (max-width: 768px) {
  .menu__box__list {
    gap: 1em 4%;
    grid-template-columns: auto auto;
    width: 98%;
  }
}
.menu__box__list > li {
  font-size: 1.125em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .menu__box__list > li {
    font-size: 0.8em;
    letter-spacing: 0;
    line-height: 1.2em;
  }
}
.menu__box__list > li .fzS {
  font-size: 0.833em;
}
@media screen and (max-width: 768px) {
  .menu__box__list > li .fzS {
    display: inline-block;
    font-size: 0.5em;
    letter-spacing: 0;
    line-height: 1.2em;
  }
}
.menu__box p.indent01 {
  font-size: 0.9375em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .menu__box p.indent01 {
    font-size: 0.7em;
    line-height: 1.4em;
  }
}
.menu__introduction {
  gap: 1em 3%;
  margin-top: 3em;
}
@media screen and (max-width: 768px) {
  .menu__introduction {
    margin-top: 5em;
  }
}
@media screen and (max-width: 768px) {
  .menu__introduction__box + .menu__introduction__box {
    margin-top: 3em;
  }
}
.menu__introduction__title {
  margin: 1em 0 0.4em;
}
@media screen and (max-width: 768px) {
  .menu__introduction__title {
    margin-bottom: 0.7em;
  }
}
.menu__introduction__title span {
  position: relative;
  display: inline-block;
  padding: 0.25em 1.5em;
  color: #fff;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.125em;
  font-weight: 600;
  line-height: 1.2em;
  background: #cb8587;
}
@media screen and (max-width: 768px) {
  .menu__introduction__title span {
    font-size: 1.05em;
  }
}
.menu__introduction__title span:before, .menu__introduction__title span:after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  height: 75%;
  background: #faebe3;
  aspect-ratio: 1/1;
}
.menu__introduction__title span:before {
  left: 0;
  -webkit-transform: translate(-50%, -50%) scale(0.75, 1) rotate(45deg);
          transform: translate(-50%, -50%) scale(0.75, 1) rotate(45deg);
}
.menu__introduction__title span:after {
  right: 0;
  -webkit-transform: translate(50%, -50%) scale(0.75, 1) rotate(45deg);
          transform: translate(50%, -50%) scale(0.75, 1) rotate(45deg);
}
.menu__introduction__details {
  line-height: 1.5em;
}

.flow__step {
  padding: 6.5em 0 10em;
  background: url(../images/img07.png) no-repeat bottom 6% right 20% #f7f4f2;
}
@media screen and (max-width: 768px) {
  .flow__step {
    background-position: bottom 3% right 10%;
    background-size: 33% auto;
  }
}
.flow__step__list {
  display: grid;
  gap: 1em 1.5%;
  grid-template-columns: 49.5% 49.5%;
  counter-reset: step;
}
.flow__step__list > li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8em;
  padding: 1.5em 0.8em;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .flow__step__list > li + li {
    margin-top: 1em;
  }
}
.flow__step__list > li:before {
  content: counter(step, decimal-leading-zero) ".";
  counter-increment: step;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2em;
  height: 2em;
  padding-left: 0.25em;
  color: #604c3f;
  font-family: 'ltc-bodoni-175';
  font-size: 2.76655em;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .flow__step__list > li:before {
    width: 1.9em;
    height: 1.9em;
    font-size: 2.2em;
  }
}
.flow__step__list > li:nth-of-type(4n + 1):before, .flow__step__list > li:nth-of-type(4n):before {
  background-image: url(../images/num_nk_br.png);
}
.flow__step__list > li:nth-of-type(4n + 2):before, .flow__step__list > li:nth-of-type(4n + 3):before {
  background-image: url(../images/num_nk_pk.png);
}
.flow__step__list > li dl > dt {
  margin-bottom: 0.4em;
  color: #604c3f;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 1.375em;
  font-weight: normal;
  line-height: 1.2em;
}
@media screen and (max-width: 768px) {
  .flow__step__list > li dl > dt {
    margin-bottom: 0.25em;
    font-size: 1.2em;
  }
}
.flow__step__list > li dl > dd {
  letter-spacing: 0.075em;
  line-height: 1.6em;
}
.flow__structure {
  padding: 6em 0 7em;
}
.flow__structure__title {
  position: relative;
  padding: 4em 0 2.5em;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  background: url(../images/structure_ttl_bk.png) no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
  .flow__structure__title {
    margin-bottom: 6em;
  }
}
.flow__structure__title:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -25%;
  right: 0;
  width: 168px;
  background: url(../images/img01.png) no-repeat center center/contain;
  aspect-ratio: 2/3;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .flow__structure__title:after {
    bottom: 0;
    max-width: 25%;
    -webkit-transform: translateY(75%);
            transform: translateY(75%);
  }
}
.flow__structure__title h3 {
  font-size: 2.055em;
  letter-spacing: 0.2em;
  line-height: 1.6em;
}
@media screen and (max-width: 768px) {
  .flow__structure__title h3 {
    font-size: 1.4em;
  }
}
.flow__structure__title p {
  margin-top: 1em;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .flow__structure__title p {
    font-size: 0.8em;
  }
}

#faq {
  padding: 7em 0;
  background: #faebe3;
}

.faq__list {
  border-top: 1px solid #58524f;
}
.faq__list > dl {
  border-bottom: 1px solid #58524f;
}
.faq__list > dl > * {
  position: relative;
  padding: 1.5em 0 1.5em 5em;
}
@media screen and (max-width: 768px) {
  .faq__list > dl > * {
    padding: 1.5em 0 1.5em 3.5em;
  }
}
.faq__list > dl > *:before {
  content: "";
  position: absolute;
  top: 0.85em;
  left: 1em;
  display: block;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 2.8em;
  height: 2.8em;
}
@media screen and (max-width: 768px) {
  .faq__list > dl > *:before {
    left: 0.3em;
    width: 2.5em;
    height: 2.5em;
  }
}
.faq__list > dl > dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-weight: normal;
  cursor: pointer;
}
.faq__list > dl > dt .toggleIcon {
  content: "";
  position: relative;
  display: block;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 1.25em;
  height: 1.25em;
  margin-top: 0.2em;
  margin-right: 1em;
}
@media screen and (max-width: 768px) {
  .faq__list > dl > dt .toggleIcon {
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
  }
}
.faq__list > dl > dt .toggleIcon:before, .faq__list > dl > dt .toggleIcon:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  margin: auto;
  background: #604c3f;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.faq__list > dl > dt .toggleIcon:before {
  width: 100%;
  height: 1px;
}
.faq__list > dl > dt.active {
  background: #f7f4f2;
}
.faq__list > dl > dt:not(.active) .toggleIcon:after {
  width: 1px;
  height: 100%;
}
.faq__list > dl > dt:before {
  background: url(../images/ico_q.png) no-repeat center center/contain;
}
.faq__list > dl > dd:before {
  background: url(../images/ico_a.png) no-repeat center center/contain;
}
.faq__list > dl > dd .faq__list__text {
  min-height: 1.8em;
}

#sns {
  padding: 7em 0;
}

#contact {
  padding: 7em 0 7.5em;
  background-color: #f7f4f2;
  background-image: url(../images/contact_bk01.png), url(../images/contact_bk02.png);
  background-repeat: no-repeat, no-repeat;
  background-position: top right, bottom left;
}
@media screen and (max-width: 768px) {
  #contact {
    background-size: contain;
  }
}

.contact__name {
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  text-align: center;
}
.contact__name .fzS {
  font-size: 0.9375em;
}
@media screen and (max-width: 768px) {
  .contact__name .fzS {
    font-size: 0.9em;
  }
}
.contact__name .fzM {
  font-size: 1.125em;
}
@media screen and (max-width: 768px) {
  .contact__name .fzM {
    font-size: 1em;
  }
}
.contact__name .fzL {
  font-size: 1.625em;
}
@media screen and (max-width: 768px) {
  .contact__name .fzL {
    font-size: 1.35em;
  }
}
.contact__address {
  margin: 1em auto;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
}
.contact__address > tbody > tr > th {
  padding-right: 0.5em;
}
.contact__address > tbody > tr > th > span {
  display: inline-block;
  min-width: 5em;
  padding: 0.85em 0.2em;
  color: #fff;
  font-size: 0.875em;
  font-weight: normal;
  line-height: 1em;
  text-align: center;
  background: #a08777;
}
@media screen and (max-width: 768px) {
  .contact__address > tbody > tr > th > span {
    min-width: 4.25em;
    font-size: 0.8em;
    letter-spacing: 0;
  }
}
.contact__address > tbody > tr > td .tel {
  font-size: 2.6726375em;
  letter-spacing: 0.03em;
  line-height: 1.1em;
}
@media screen and (max-width: 768px) {
  .contact__address > tbody > tr > td .tel {
    font-size: 2em;
  }
}
.contact__address > tbody > tr > td .tel * {
  letter-spacing: 0.03em;
  line-height: 1.1em;
}
.contact__address > tbody > tr > td p.fzS {
  font-size: 0.9em;
}
.contact__address > tbody > tr > td .mail {
  font-size: 1.25em;
}
.contact__address > tbody > tr > td .hours {
  margin-left: 0.5em;
  line-height: 1.4em;
  vertical-align: text-bottom;
}
@media screen and (max-width: 768px) {
  .contact__address > tbody > tr > td .hours {
    margin-left: 0;
    font-size: 0.9em;
    letter-spacing: 0;
  }
}
.contact__address > tbody > tr + tr > * {
  padding-top: 1em;
}
.contact__text {
  margin-bottom: 2.5em;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
}
@media screen and (max-width: 768px) {
  .contact__text {
    font-size: 0.9em;
    letter-spacing: 0;
  }
}
.contact__line {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.25em auto 0.6em;
  padding: 0.5em;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-size: 2.25em;
  line-height: 1.2em;
  background: #bddeca;
  -webkit-box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
  transition: -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
  transition: box-shadow 0.3s, transform 0.3s;
  transition: box-shadow 0.3s, transform 0.3s, -webkit-box-shadow 0.3s, -webkit-transform 0.3s;
  -webkit-transform: translate(-2px, -2px);
          transform: translate(-2px, -2px);
}
@media screen and (max-width: 768px) {
  .contact__line {
    gap: 0 3%;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 1em;
    font-size: 1.4em;
    letter-spacing: 0;
  }
}
.contact__line:not(:hover) {
  -webkit-transform: translate(-4px, -4px);
          transform: translate(-4px, -4px);
  -webkit-box-shadow: 4px 4px 3px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 4px 4px 3px 0 rgba(0, 0, 0, 0.15);
}
.contact__line:active {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-box-shadow: 0px 0px 0px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 0px 0 rgba(0, 0, 0, 0.15);
}
.contact__line:before {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
  background: url(../images/ico_line_color.svg) no-repeat center center/contain;
}
.contact__line:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 13px;
  border-color: transparent transparent transparent #58524f;
}
@media screen and (max-width: 768px) {
  .contact__line:after {
    border-width: 5px 0 5px 6px;
  }
}
.contact__form {
  padding: 6em 5%;
  background: #fff;
  border: 4px solid #f4d2c7;
  -webkit-box-shadow: 4px 4px 3px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 4px 4px 3px 0 rgba(0, 0, 0, 0.15);
}
.contact__form__table {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contact__form__table > tbody > tr > * {
    display: block;
  }
}
.contact__form__table > tbody > tr > th {
  position: relative;
  padding: 1.25em 0;
  font-size: 0.9375em;
}
@media screen and (max-width: 768px) {
  .contact__form__table > tbody > tr > th {
    padding-bottom: 0.25em;
  }
}
.contact__form__table > tbody > tr > th .fzS {
  font-size: 0.866em;
}
@media screen and (min-width: 769px) {
  .contact__form__table > tbody > tr > th {
    width: 30%;
  }
}
.contact__form__table > tbody > tr > th.required:after {
  content: "必須";
  position: absolute;
  top: 1.65em;
  right: 0;
  display: inline-block;
  padding: 0.2em 0.4em;
  color: #fff;
  font-size: 0.9375em;
  font-weight: normal;
  letter-spacing: 0.08em;
  line-height: 1em;
  background: #a08777;
}
@media screen and (min-width: 769px) {
  .contact__form__table > tbody > tr > td {
    padding: 0.75em 0 0.75em 0.9em;
  }
}
.contact__form__table > tbody > tr > td input,
.contact__form__table > tbody > tr > td textarea {
  width: 100%;
  max-width: 100%;
  padding: 0.25em 0.5em;
  background: #f7f4f2;
  border: 1px solid #f1e3d8;
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.contact__form__table > tbody > tr > td textarea {
  min-height: 6em;
  resize: vertical;
}
.contact__form__submit {
  margin: 2em auto 0;
  text-shadow: none;
  background: #cb8587 !important;
  border: none;
  border-radius: 0;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.contact__salonInformation {
  margin-top: 4em;
  padding: 0.75em 0 5em;
  background: #fff;
}
.contact__salonInformation__title {
  margin-bottom: 1em;
}
.contact__salonInformation__greeting {
  width: 85%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .contact__salonInformation__greeting {
    width: 90%;
  }
}
.contact__salonInformation__box {
  gap: 1em 2.5%;
  width: 85%;
  margin: 1.6em auto 0;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .contact__salonInformation__box {
    width: 90%;
  }
}
.contact__salonInformation__about {
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
}
.contact__salonInformation__about > dl {
  width: 75%;
  margin: 1.65em auto 0;
}
@media screen and (max-width: 768px) {
  .contact__salonInformation__about > dl {
    width: 85%;
  }
}
.contact__salonInformation__about > dl > dt {
  margin-bottom: 0.5em;
  color: #604c3f;
  font-size: 1.25em;
  text-align: center;
  border-bottom: 1px solid #c49c62;
}
@media screen and (max-width: 768px) {
  .contact__salonInformation__about > dl > dt {
    font-size: 1.2em;
  }
}
.contact__salonInformation__about > dl > dd {
  line-height: 1.3em;
}
.contact__salonInformation__about > dl > dd .telIco {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 1.3em;
}
.contact__salonInformation__about > dl > dd .telIco * {
  line-height: 1.3em;
}
.contact__salonInformation__about > dl > dd .telIco:before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0.1em 0.3em 0 0;
  line-height: 1.2em;
  background: url(../images/ico_tel_sp.svg) no-repeat center center/contain;
}
@media screen and (min-width: 769px) {
  .contact__salonInformation__map {
    width: 450px;
    max-width: 70%;
  }
}
@media screen and (max-width: 768px) {
  .contact__salonInformation__map {
    width: 100%;
    margin-top: 2.5em;
  }
}
.contact__salonInformation__map .linkStl01 {
  display: inline-block;
  margin-top: 0.2em;
}

#mfp_overlay_inner h4 {
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  font-weight: bold;
}
#mfp_overlay_inner #mfp_confirm_table {
  margin: 0.5em auto 1em;
  border-top: 1px solid #c49c62;
  border-bottom: 1px solid #c49c62;
}
#mfp_overlay_inner #mfp_confirm_table tr > * {
  padding-top: 1em;
  padding-bottom: 1em;
  border: none;
}
#mfp_overlay_inner #mfp_confirm_table tr.mfp_colored {
  background: #f7f4f2;
}
#mfp_overlay_inner .mfp_element_button {
  color: #fff;
  font-family: '游明朝体','Yu Mincho',YuMincho,'ヒラギノ明朝 Pro','Hiragino Mincho Pro','MS P明朝','MS PMincho',serif;
  text-shadow: none;
  background: #cb8587 !important;
  border: none;
  border-radius: 0;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
#mfp_overlay_inner .mfp_element_button:hover {
  opacity: 0.8;
}

/*==================================

下層ページ共通CSS

==================================*/
#thanks-page #contact {
  min-height: 90vh;
  padding-top: 14em;
}
#thanks-page #contact .btnStl01 {
  margin-top: 3em;
}

/*==================================

下層ページ:ページ名

==================================*/
/*==================================

js animation

==================================*/
.js_st[class*=fadein] {
  opacity: 0;
}
.js_st[class*=fadeinT] {
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
}
.js_st[class*=fadeinB] {
  -webkit-transform: translate(0, -50px);
          transform: translate(0, -50px);
}
.js_st[class*=fadeinR] {
  -webkit-transform: translate(-50px, 0);
          transform: translate(-50px, 0);
}
.js_st[class*=fadeinL] {
  -webkit-transform: translate(50px, 0);
          transform: translate(50px, 0);
}
.js_st[class*=fadein].scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: all 1500ms, background 0.3s, min-width 0s;
  transition: all 1500ms, background 0.3s, min-width 0s;
}

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

/*==================================

@media screen SP

==================================*/
@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
  .sp_bk {
    display: block;
  }
  /*==================================

  全ページ共通CSS

  ==================================*/
  /*==================================

  ヘッダー

  ==================================*/
  /*　ハンバーガーメニュー
  ==================================*/
  .spNaviButton {
    position: relative;
    display: block;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    width: 50px;
    height: 50px;
    cursor: pointer;
    -webkit-box-ordinal-group: 10;
    -webkit-order: 9;
        -ms-flex-order: 9;
            order: 9;
  }
  .spNaviButton span, .spNaviButton:before, .spNaviButton:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    width: 50%;
    height: 2px;
    margin: 0 auto;
    background: #604c3f;
  }
  .spNaviButton:before {
    top: 30%;
    -webkit-transition: top 0.3s 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s 0.3s, transform 0.3s;
    transition: top 0.3s 0.3s, transform 0.3s, -webkit-transform 0.3s;
  }
  .spNaviButton span {
    top: 45%;
    -webkit-transition: 0s 0.3s;
    transition: 0s 0.3s;
  }
  .spNaviButton:after {
    top: 60%;
    -webkit-transition: top 0.3s 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s 0.3s, -webkit-transform 0.3s;
    transition: top 0.3s 0.3s, transform 0.3s;
    transition: top 0.3s 0.3s, transform 0.3s, -webkit-transform 0.3s;
  }
  .spNaviButton.open:before, .spNaviButton.open:after {
    top: 45%;
    -webkit-transition: top 0.3s, -webkit-transform 0.3s 0.3s;
    transition: top 0.3s, -webkit-transform 0.3s 0.3s;
    transition: top 0.3s, transform 0.3s 0.3s;
    transition: top 0.3s, transform 0.3s 0.3s, -webkit-transform 0.3s 0.3s;
  }
  .spNaviButton.open:before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .spNaviButton.open span {
    width: 0;
  }
  .spNaviButton.open:after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
/*==================================

	フッター

	==================================*/
/*==================================

	トップページ

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