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

body {
  line-height: 1;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
  display: block;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

.w100 {
  width: 100%;
}

.w90 {
  width: 90%;
}

.w80 {
  width: 80%;
}

.w70 {
  width: 70%;
}

.w60 {
  width: 60%;
}

.w50 {
  width: 50%;
}

.w40 {
  width: 40%;
}

.w30 {
  width: 30%;
}

.w20 {
  width: 20%;
}

.w10 {
  width: 10%;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb11 {
  margin-bottom: 11px;
}

.mb14 {
  margin-bottom: 14px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb100 {
  margin-bottom: 100px;
}

.mr5 {
  margin-right: 5px;
}

.mr9 {
  margin-right: 9px;
}

.mr10 {
  margin-right: 10px;
}

.mr15 {
  margin-right: 15px;
}

.mr20 {
  margin-right: 20px;
}

.mr25 {
  margin-right: 25px;
}

.mr30 {
  margin-right: 30px;
}

.mr35 {
  margin-right: 35px;
}

.mr40 {
  margin-right: 40px;
}

.mr45 {
  margin-right: 45px;
}

.mr50 {
  margin-right: 50px;
}

.ml5 {
  margin-left: 5px;
}

.ml10 {
  margin-left: 10px;
}

.ml15 {
  margin-left: 15px;
}

.ml20 {
  margin-left: 20px;
}

.ml25 {
  margin-left: 25px;
}

.ml30 {
  margin-left: 30px;
}

.ml35 {
  margin-left: 35px;
}

.ml40 {
  margin-left: 40px;
}

.ml45 {
  margin-left: 45px;
}

.ml50 {
  margin-left: 50px;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.op a img,
.op2 {
  transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
}

.op a img:hover,
.op2:hover {
  opacity: 0.7;
  -moz-opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.tar {
  text-align: right;
}

.tac {
  text-align: center;
}

.flL {
  float: left;
}

.flR {
  float: right;
}

.clearfix:after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

.clearfix {
  _height: 1px;
  min-height: 1px;
  /*・･*/
  	                      /*/
    height: auto;
    overflow: hidden;
    /**/
}

.show_pc {
  display: block;
}
@media only screen and (max-width: 979px) {
  .show_pc {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  .show_pc {
    display: none;
  }
}

.show_pctb {
  display: block;
}
@media only screen and (max-width: 979px) {
  .show_pctb {
    display: block;
  }
}
@media only screen and (max-width: 479px) {
  .show_pctb {
    display: none;
  }
}

.show_tbsp {
  display: none;
}
@media only screen and (max-width: 979px) {
  .show_tbsp {
    display: block;
  }
}
@media only screen and (max-width: 479px) {
  .show_tbsp {
    display: block;
  }
}

.show_tb {
  display: none;
}
@media only screen and (max-width: 979px) {
  .show_tb {
    display: block;
  }
}
@media only screen and (max-width: 479px) {
  .show_tb {
    display: none;
  }
}

.show_sp {
  display: none;
}
@media only screen and (max-width: 979px) {
  .show_sp {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  .show_sp {
    display: block;
  }
}

/*-------------------------------------------------
    layout base 
-------------------------------------------------*/
html {
  -ms-overflow-style: none;
  /* IE10+ */
}

html::-webkit-scrollbar {
  display: none;
}

/* Webkit(Chrome) */
html,
body {
  width: 100%;
  height: auto;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.08em;
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

input,
textarea,
button {
  border-radius: 0 !important;
  -webkit-appearance: none !important;
  outline: 0 !important;
}

* {
  -webkit-tap-highlight-color: rgba(246, 246, 246, 0) !important;
}

::selection {
  color: #999;
  background: #eee;
  text-decoration: underline;
}

::-moz-selection {
  color: #999;
  background: #eee;
}

img {
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

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

body {
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
}

.element {
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
}

/*-------------------------------------------------
    text color and size
-------------------------------------------------*/
body,
th,
td,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
input,
textarea,
option,
div,
p,
dt,
dd,
li,
address {
  font-weight: normal;
  font-style: normal;
}

/*-------------------------------------------------
 text link
 -------------------------------------------------*/
a {
  text-decoration: none;
}
a.text_tel_link {
  cursor: default !important;
  display: inline !important;
  text-decoration: none !important;
}

a:hover {
  text-decoration: none;
}

/*-------------------------------------------------
    article
-------------------------------------------------*/
article {
  text-align: left;
}

img {
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

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

.ci_wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: block;
  position: relative;
}
.ci_wrap img.ci {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

body {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
body.load #wrapAll {
  opacity: 1 !important;
}
body.top #wrapAll {
  overflow: hidden;
  opacity: 0;
  position: relative;
  z-index: 1;
  transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -webkit-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
}
body.page #wrapAll {
  overflow: hidden;
  opacity: 0;
  position: relative;
  z-index: 1;
  transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -webkit-transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 800ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
}

/*-------------------------------------------------
    layout base 
-------------------------------------------------*/
/*-------------------------------------------------
    module
-------------------------------------------------*/
main, section, nav, div, ul, li {
  box-sizing: border-box;
}

div.img img {
  width: 100%;
  display: block;
}

ul.row {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -webkit-align-items: stretch;
}
ul.row.r2 > li {
  width: calc( ( 100% - 1rem ) / 2);
  margin-bottom: 1rem;
}
ul.row.r2 > li:not(:nth-child(2n)) {
  margin-right: 1rem;
}
ul.row.r3 > li {
  width: calc( ( 100% - 1rem * 2 ) / 3);
  margin-bottom: 1rem;
}
ul.row.r3 > li:not(:nth-child(3n)) {
  margin-right: 1rem;
}
ul.row.r4 > li {
  width: calc( ( 100% - 1rem * 3 ) / 4);
  margin-bottom: 1rem;
}
ul.row.r4 > li:not(:nth-child(4n)) {
  margin-right: 1rem;
}
ul.row.r5 > li {
  width: calc( ( 100% - 1rem * 4 ) / 5);
  margin-bottom: 1rem;
}
ul.row.r5 > li:not(:nth-child(5n)) {
  margin-right: 1rem;
}
ul.row.r6 > li {
  width: calc( ( 100% - 1rem * 5 ) / 6);
  margin-bottom: 1rem;
}
ul.row.r6 > li:not(:nth-child(6n)) {
  margin-right: 1rem;
}
ul.row.r7 > li {
  width: calc( ( 100% - 1rem * 6 ) / 7);
  margin-bottom: 1rem;
}
ul.row.r7 > li:not(:nth-child(7n)) {
  margin-right: 1rem;
}
ul.row.r8 > li {
  width: calc( ( 100% - 1rem * 7 ) / 8);
  margin-bottom: 1rem;
}
ul.row.r8 > li:not(:nth-child(8n)) {
  margin-right: 1rem;
}
ul.row.r9 > li {
  width: calc( ( 100% - 1rem * 8 ) / 9);
  margin-bottom: 1rem;
}
ul.row.r9 > li:not(:nth-child(9n)) {
  margin-right: 1rem;
}
ul.row.r10 > li {
  width: calc( ( 100% - 1rem * 9 ) / 10);
  margin-bottom: 1rem;
}
ul.row.r10 > li:not(:nth-child(10n)) {
  margin-right: 1rem;
}

.tb {
  display: table;
  width: 100%;
}
.tb > .tc, .tb > dt, .tb > dd {
  display: table-cell;
}

/*-------------------------------------------------
    basic style 
-------------------------------------------------*/
html,
body {
  font-family: "Open Sans", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  position: relative;
}
@media only screen and (min-width: 979px) {
  html,
  body {
    font-size: 14px;
    color: #000;
  }
  html h1, html h2, html h3, html h4, html .lv1, html .lv2, html .lv3, html .lv4,
  body h1,
  body h2,
  body h3,
  body h4,
  body .lv1,
  body .lv2,
  body .lv3,
  body .lv4 {
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.12em;
  }
  html h1 span, html h2 span, html h3 span, html h4 span, html .lv1 span, html .lv2 span, html .lv3 span, html .lv4 span,
  body h1 span,
  body h2 span,
  body h3 span,
  body h4 span,
  body .lv1 span,
  body .lv2 span,
  body .lv3 span,
  body .lv4 span {
    display: inline-block;
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  }
  html h1 span span, html h2 span span, html h3 span span, html h4 span span, html .lv1 span span, html .lv2 span span, html .lv3 span span, html .lv4 span span,
  body h1 span span,
  body h2 span span,
  body h3 span span,
  body h4 span span,
  body .lv1 span span,
  body .lv2 span span,
  body .lv3 span span,
  body .lv4 span span {
    display: block;
    line-height: 2;
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  }
  html h1 .en, html h2 .en, html h3 .en, html h4 .en, html .lv1 .en, html .lv2 .en, html .lv3 .en, html .lv4 .en,
  body h1 .en,
  body h2 .en,
  body h3 .en,
  body h4 .en,
  body .lv1 .en,
  body .lv2 .en,
  body .lv3 .en,
  body .lv4 .en {
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  }
  html h1 span, html .lv1 span,
  body h1 span,
  body .lv1 span {
    font-size: 1.33rem;
  }
  html h2 span, html .lv2 span,
  body h2 span,
  body .lv2 span {
    font-size: 1.2rem;
  }
  html h3 span, html .lv3 span,
  body h3 span,
  body .lv3 span {
    font-size: 1.1rem;
  }
  html h4 span, html .lv4 span,
  body h4 span,
  body .lv4 span {
    font-size: 1.1rem;
  }
  html small, html .sm, html .cap,
  body small,
  body .sm,
  body .cap {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
  }
  html p span, html dt span, html dd span,
  body p span,
  body dt span,
  body dd span {
    line-height: 2;
    letter-spacing: 0.08em;
  }
  html p.lead,
  body p.lead {
    font-size: 1.33rem;
    line-height: 2.5;
  }
}
@media only screen and (min-width: 979px) and (max-width: 760px) {
  html p.lead,
  body p.lead {
    font-size: 1.16rem;
    line-height: 2;
  }
}

@media only screen and (max-width: 979px) {
  html,
  body {
    font-size: 11px;
    color: #000;
  }
  html h1, html h2, html h3, html h4, html .lv1, html .lv2, html .lv3, html .lv4,
  body h1,
  body h2,
  body h3,
  body h4,
  body .lv1,
  body .lv2,
  body .lv3,
  body .lv4 {
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.12em;
  }
  html h1 span, html h2 span, html h3 span, html h4 span, html .lv1 span, html .lv2 span, html .lv3 span, html .lv4 span,
  body h1 span,
  body h2 span,
  body h3 span,
  body h4 span,
  body .lv1 span,
  body .lv2 span,
  body .lv3 span,
  body .lv4 span {
    display: inline-block;
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  }
  html h1 span span, html h2 span span, html h3 span span, html h4 span span, html .lv1 span span, html .lv2 span span, html .lv3 span span, html .lv4 span span,
  body h1 span span,
  body h2 span span,
  body h3 span span,
  body h4 span span,
  body .lv1 span span,
  body .lv2 span span,
  body .lv3 span span,
  body .lv4 span span {
    display: block;
    line-height: 2;
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  }
  html h1 .en, html h2 .en, html h3 .en, html h4 .en, html .lv1 .en, html .lv2 .en, html .lv3 .en, html .lv4 .en,
  body h1 .en,
  body h2 .en,
  body h3 .en,
  body h4 .en,
  body .lv1 .en,
  body .lv2 .en,
  body .lv3 .en,
  body .lv4 .en {
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  }
  html h1 span, html .lv1 span,
  body h1 span,
  body .lv1 span {
    font-size: 1.33rem;
  }
  html h2 span, html .lv2 span,
  body h2 span,
  body .lv2 span {
    font-size: 1.2rem;
  }
  html h3 span, html .lv3 span,
  body h3 span,
  body .lv3 span {
    font-size: 1.3rem;
  }
  html h4 span, html .lv4 span,
  body h4 span,
  body .lv4 span {
    font-size: 1.1rem;
  }
  html small, html .sm, html .cap,
  body small,
  body .sm,
  body .cap {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
  }
  html p span, html dt span, html dd span,
  body p span,
  body dt span,
  body dd span {
    line-height: 2;
    letter-spacing: 0.08em;
  }
  html p.lead,
  body p.lead {
    font-size: 1.33rem;
    line-height: 2.5;
  }
}
@media only screen and (max-width: 979px) and (max-width: 760px) {
  html p.lead,
  body p.lead {
    font-size: 1.16rem;
    line-height: 2;
  }
}

@media only screen and (max-width: 479px) {
  html,
  body {
    font-size: 11px;
    color: #000;
  }
  html h1, html h2, html h3, html h4, html .lv1, html .lv2, html .lv3, html .lv4,
  body h1,
  body h2,
  body h3,
  body h4,
  body .lv1,
  body .lv2,
  body .lv3,
  body .lv4 {
    line-height: 1;
    font-weight: 600;
    letter-spacing: 0.12em;
  }
  html h1 span, html h2 span, html h3 span, html h4 span, html .lv1 span, html .lv2 span, html .lv3 span, html .lv4 span,
  body h1 span,
  body h2 span,
  body h3 span,
  body h4 span,
  body .lv1 span,
  body .lv2 span,
  body .lv3 span,
  body .lv4 span {
    display: inline-block;
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  }
  html h1 span span, html h2 span span, html h3 span span, html h4 span span, html .lv1 span span, html .lv2 span span, html .lv3 span span, html .lv4 span span,
  body h1 span span,
  body h2 span span,
  body h3 span span,
  body h4 span span,
  body .lv1 span span,
  body .lv2 span span,
  body .lv3 span span,
  body .lv4 span span {
    display: block;
    line-height: 2;
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  }
  html h1 .en, html h2 .en, html h3 .en, html h4 .en, html .lv1 .en, html .lv2 .en, html .lv3 .en, html .lv4 .en,
  body h1 .en,
  body h2 .en,
  body h3 .en,
  body h4 .en,
  body .lv1 .en,
  body .lv2 .en,
  body .lv3 .en,
  body .lv4 .en {
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  }
  html h1 span, html .lv1 span,
  body h1 span,
  body .lv1 span {
    font-size: 1.33rem;
  }
  html h2 span, html .lv2 span,
  body h2 span,
  body .lv2 span {
    font-size: 1.2rem;
  }
  html h3 span, html .lv3 span,
  body h3 span,
  body .lv3 span {
    font-size: 1.3rem;
  }
  html h4 span, html .lv4 span,
  body h4 span,
  body .lv4 span {
    font-size: 1.1rem;
  }
  html small, html .sm, html .cap,
  body small,
  body .sm,
  body .cap {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
  }
  html p span, html dt span, html dd span,
  body p span,
  body dt span,
  body dd span {
    line-height: 2;
    letter-spacing: 0.08em;
  }
  html p.lead,
  body p.lead {
    font-size: 1.33rem;
    line-height: 2.5;
  }
}
@media only screen and (max-width: 479px) and (max-width: 760px) {
  html p.lead,
  body p.lead {
    font-size: 1.16rem;
    line-height: 2;
  }
}

div#wrapAll {
  position: relative;
}
div#wrapAll main {
  width: 100%;
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
div#wrapAll main section {
  padding: 0 3rem;
}
@media only screen and (max-width: 979px) {
  div#wrapAll main section {
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 760px) {
  div#wrapAll main section {
    padding: 0 1rem;
  }
}
div#wrapAll main section div.secwrap {
  width: 75%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 1200px) {
  div#wrapAll main section div.secwrap {
    width: 88%;
  }
}
@media only screen and (max-width: 979px) {
  div#wrapAll main section div.secwrap {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 760px) {
  div#wrapAll main section div.secwrap {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}
div#wrapAll main section div.secwrap2 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -webkit-align-items: stretch;
  margin-top: 10rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 979px) {
  div#wrapAll main section div.secwrap2 {
    display: block;
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}
div#wrapAll main section div.secwrap2 div.sec {
  width: 50%;
  padding: 0 5rem;
}
@media only screen and (max-width: 979px) {
  div#wrapAll main section div.secwrap2 div.sec {
    width: 88%;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 760px) {
  div#wrapAll main section div.secwrap2 div.sec {
    display: block;
  }
}

::selection {
  color: #999;
  background: #eee;
  text-decoration: underline;
}

::-moz-selection {
  color: #999;
  background: #eee;
}

.ttl {
  font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
}

a {
  color: #170;
}

p.textlink a {
  display: inline-block;
  letter-spacing: 0.12em;
  cursor: pointer;
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
p.textlink a span {
  display: inline-block;
  position: relative;
  border-bottom: 1px solid #666666;
}
@media only screen and (min-width: 979px) {
  p.textlink a:hover {
    opacity: 0.5;
    transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}

div.btn {
  width: 100%;
  text-align: center;
}

button {
  border-style: none;
  padding: 0;
  background-color: transparent;
}
button a, button input[type="submit"] {
  box-sizing: border-box;
  display: block;
  border: 1px solid transparent;
  font-size: 1rem;
  letter-spacing: 0.14em;
  white-space: nowrap;
}
button.btn1 a, button.btn1 input[type="submit"], button.btn1 div.a {
  width: 200px;
  overflow: hidden;
  font-size: 1rem;
  width: 10rem;
  height: 10rem;
  background-repeat: no-repeat;
  background-image: url("../img/btn.svg");
  background-size: contain;
  text-align: right;
  position: relative;
  z-index: 10;
  transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 979px) {
  button.btn1 a, button.btn1 input[type="submit"], button.btn1 div.a {
    width: 8rem;
    height: 8rem;
  }
}
@media only screen and (max-width: 760px) {
  button.btn1 a, button.btn1 input[type="submit"], button.btn1 div.a {
    display: block;
    width: 22rem;
    height: auto;
    border: 1px solid #666666;
    padding: 1rem 3rem;
    text-align: left;
    position: relative;
    background-image: none;
  }
  button.btn1 a::after, button.btn1 input[type="submit"]::after, button.btn1 div.a::after {
    content: "";
    position: absolute;
    display: block;
    right: 3rem;
    width: 72px;
    height: 4px;
    top: 50%;
    margin-top: -2px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("../img/common/arr_link.svg");
  }
}
button.btn1 a span, button.btn1 input[type="submit"] span, button.btn1 div.a span {
  position: absolute;
  color: #000;
  right: 1rem;
  bottom: 1rem;
  line-height: 1.5;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 979px) {
  button.btn1 a span, button.btn1 input[type="submit"] span, button.btn1 div.a span {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 760px) {
  button.btn1 a span, button.btn1 input[type="submit"] span, button.btn1 div.a span {
    position: relative;
    font-size: 1rem;
    text-align: left;
    line-height: 2;
    font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
    letter-spacing: 0.12em;
    right: auto;
    bottom: auto;
  }
}
@media only screen and (min-width: 979px) {
  button.btn1 a:hover, button.btn1 input[type="submit"]:hover, button.btn1 div.a:hover {
    background-image: url("../img/btn_hv.svg");
    transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  button.btn1 a:hover span, button.btn1 input[type="submit"]:hover span, button.btn1 div.a:hover span {
    color: #fff;
    transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
button.btn2 {
  margin-top: 4rem;
}
button.btn2 a, button.btn2 input[type="submit"] {
  width: 16rem;
  border: 1px solid #666666;
  padding: 0.5rem 2rem;
  text-align: left;
  position: relative;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
button.btn2 a span, button.btn2 input[type="submit"] span {
  font-size: 1rem;
  text-align: left;
  line-height: 2;
  font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
button.btn2 a::after, button.btn2 input[type="submit"]::after {
  content: "";
  position: absolute;
  display: block;
  right: 3rem;
  width: 72px;
  height: 4px;
  top: 50%;
  margin-top: -2px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("../img/common/arr_link.svg");
  transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  button.btn2 a:hover, button.btn2 input[type="submit"]:hover {
    background-color: #666666;
    transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  button.btn2 a:hover span, button.btn2 input[type="submit"]:hover span {
    color: #fff;
    transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  button.btn2 a:hover::after, button.btn2 input[type="submit"]:hover::after {
    background-image: url("../img/common/arr_link_w.svg");
    transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
button.btn3 {
  width: 200px;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
button.btn3 a, button.btn3 input[type="submit"] {
  font-size: 1rem;
  width: 100%;
  border: 1px solid #333333;
  background-color: #333333;
}
button.btn3 a span, button.btn3 input[type="submit"] span {
  color: #fff !important;
}
button.btn4.bg1 a::before, button.btn4.bg1 input[type="submit"]::before {
  background-color: #DEE4E5;
}
button.btn4 a, button.btn4 input[type="submit"] {
  position: relative;
}
button.btn4 a::before, button.btn4 input[type="submit"]::before {
  content: "";
  background-color: #fff;
  width: 20px;
  height: 20px;
  transform-origin: top left;
  -moz-transform-origin: top left;
  -webkit-transform-origin: top left;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  position: absolute;
  top: 0;
  right: -6px;
  border-left: 1px solid #656733;
  z-index: 10;
}
button.btn4 a::after, button.btn4 input[type="submit"]::after {
  content: "";
  border: 1px solid #656733;
  width: calc( 20px / 1.41421356);
  height: calc( 20px / 1.41421356);
  z-index: 8;
  position: absolute;
  top: 0px;
  right: 0px;
}
button.btn4 a span, button.btn4 input[type="submit"] span {
  position: relative;
  color: #656733;
}
@media only screen and (min-width: 979px) {
  button.btn4 a:hover, button.btn4 input[type="submit"]:hover {
    background-color: #656733;
  }
  button.btn4 a:hover::after, button.btn4 input[type="submit"]:hover::after {
    content: "";
    border: 1px solid #fff;
  }
  button.btn4 a:hover span, button.btn4 input[type="submit"]:hover span {
    color: #fff;
  }
}
button.mainbtn a, button.mainbtn input[type="submit"] {
  color: #656733;
  padding: 0;
}
@media only screen and (min-width: 979px) {
  button.mainbtn a:hover, button.mainbtn input[type="submit"]:hover {
    background-color: #656733;
    color: #fff;
  }
}
button.subbtn a, button.subbtn input[type="submit"] {
  color: #656733;
  border: 0;
  border-bottom: 1px solid #656733;
  padding: 0;
}
@media only screen and (min-width: 979px) {
  button.subbtn a:hover, button.subbtn input[type="submit"]:hover {
    border-bottom: 1px solid transparent;
  }
}
button.topbtn {
  position: relative;
  overflow: hidden;
}
button.topbtn a, button.topbtn input[type="submit"] {
  color: #656733;
  border: 1px solid #656733;
  position: relative;
  background-color: transparent;
  font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  font-weight: 400;
  box-sizing: inherit;
}
button.topbtn a::before, button.topbtn input[type="submit"]::before {
  content: "";
  width: 200px;
  display: block;
  z-index: 0;
  height: 100%;
  background-color: #797a48;
  position: absolute;
  top: 0;
  left: -101%;
  transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -webkit-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
}
button.topbtn a span.wrap span, button.topbtn input[type="submit"] span.wrap span {
  color: #656733;
  z-index: 100;
  position: relative;
  transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -webkit-transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
}
@media only screen and (min-width: 979px) {
  button.topbtn:hover a::before {
    left: 0;
    z-index: 0;
    transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -webkit-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -moz-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -o-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -ms-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  }
  button.topbtn:hover a span.wrap span {
    color: #fff;
    z-index: 100;
    transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -webkit-transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -moz-transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -o-transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -ms-transition: color 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  }
}
button.topbtn3 {
  text-align: right;
  position: relative;
  overflow: hidden;
}
button.topbtn3::before {
  content: "";
  height: 1px;
  display: block;
  width: 100%;
  background-color: #f6f6f6;
  position: absolute;
  top: 0;
  left: -100%;
}
button.topbtn3::after {
  content: "";
  height: 1px;
  display: block;
  position: absolute;
  width: 100%;
  background-color: #f6f6f6;
  position: absolute;
  bottom: 0;
  right: -100%;
}
button.topbtn3 a, button.topbtn3 input[type="submit"] {
  color: #fff;
  color: #DEE4E5;
  width: 200px;
  padding: 0rem 1.5rem;
  border: 1px solid #f6f6f6;
  position: relative;
  background-color: transparent;
  font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  font-weight: 700;
  box-sizing: inherit;
  transition: border 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: border 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: border 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: border 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: border 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
button.topbtn3 a::before, button.topbtn3 input[type="submit"]::before {
  content: "";
  width: 1px;
  display: block;
  height: 100%;
  background-color: #f6f6f6;
  position: absolute;
  top: -100%;
  left: -1px;
}
button.topbtn3 a::after, button.topbtn3 input[type="submit"]::after {
  content: "";
  width: 1px;
  display: block;
  position: absolute;
  height: 100%;
  background-color: #f6f6f6;
  position: absolute;
  bottom: -100%;
  right: -1px;
}
button.topbtn3 a span, button.topbtn3 input[type="submit"] span {
  font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  font-weight: 700;
}
button.topbtn3 a span::before, button.topbtn3 a span::after, button.topbtn3 input[type="submit"] span::before, button.topbtn3 input[type="submit"] span::after {
  content: "";
  width: 8px;
  height: 8px;
  background-size: cover;
  background-position: center;
  background: url("/assets/img/arr1_c3.svg") no-repeat;
  position: absolute;
  top: 50%;
  margin-top: -4px;
  left: 1rem;
  transform: translate3d(0px, 0px, 0px) rotateY(180deg);
  -moz-transform: translate3d(0px, 0px, 0px) rotateY(180deg);
  -webkit-transform: translate3d(0px, 0px, 0px) rotateY(180deg);
  transition: opacity 100ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: opacity 100ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -webkit-transform 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: opacity 100ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -moz-transform 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: opacity 100ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -o-transform 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: opacity 100ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -ms-transform 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
button.topbtn3 a span::before, button.topbtn3 input[type="submit"] span::before {
  opacity: 0;
  transform: translate3d(16px, 0px, 0px) rotateY(180deg);
  -moz-transform: translate3d(16px, 0px, 0px) rotateY(180deg);
  -webkit-transform: translate3d(16px, 0px, 0px) rotateY(180deg);
}
button.topbtn3 a span::after, button.topbtn3 input[type="submit"] span::after {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px) rotateY(180deg);
  -moz-transform: translate3d(0px, 0px, 0px) rotateY(180deg);
  -webkit-transform: translate3d(0px, 0px, 0px) rotateY(180deg);
}
@media only screen and (min-width: 979px) {
  button.topbtn3:hover::before {
    left: 0;
    transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -webkit-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -moz-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -o-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -ms-transition: left 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  }
  button.topbtn3:hover::after {
    right: 0;
    transition: right 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -webkit-transition: right 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -moz-transition: right 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -o-transition: right 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -ms-transition: right 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  }
  button.topbtn3:hover a {
    border: 1px solid transparent;
  }
  button.topbtn3:hover a::before {
    top: 0;
    transition: top 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -webkit-transition: top 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -moz-transition: top 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -o-transition: top 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -ms-transition: top 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  }
  button.topbtn3:hover a::after {
    bottom: 0;
    transition: bottom 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -webkit-transition: bottom 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -moz-transition: bottom 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -o-transition: bottom 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    -ms-transition: bottom 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  }
  button.topbtn3:hover a span::before {
    opacity: 1;
    transform: translate3d(0px, 0px, 0px) rotateY(180deg);
    -moz-transform: translate3d(0px, 0px, 0px) rotateY(180deg);
    -webkit-transform: translate3d(0px, 0px, 0px) rotateY(180deg);
  }
  button.topbtn3:hover a span::after {
    opacity: 0;
    transform: translate3d(0px, 0px, 0px) rotateY(180deg);
    -moz-transform: translate3d(0px, 0px, 0px) rotateY(180deg);
    -webkit-transform: translate3d(0px, 0px, 0px) rotateY(180deg);
  }
}

form textarea {
  width: 100%;
  background-color: #eeeeee;
  border: none;
  padding: 0.5rem 1rem;
  height: 12rem;
  resize: vertical;
}
form select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0px;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  background-color: #eeeeee;
  outline: none;
  padding: 0rem 1rem;
  line-height: 40px;
  width: 260px;
  border: 0px;
  font-size: 1rem;
  font-family: "Open Sans", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  position: relative;
}
form select:after {
  content: "▼";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1.8em;
  display: block;
}
form input[type="text"] {
  display: inline-block;
  border-style: none;
  padding: 0rem 1rem;
  line-height: 40px;
  background-color: #eeeeee;
}
form input[type="text"].w100 {
  width: 100%;
}
form input.option-input {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  position: relative;
  top: 8px;
  right: 0;
  bottom: 0;
  left: 0;
  height: 24px;
  width: 24px;
  transition: all 0.15s ease-out 0s;
  background: #eeeeee;
  border: none;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  margin-right: 0.5rem;
  margin-top: 0;
  margin-bottom: 0;
  outline: none;
  position: relative;
  z-index: 1000;
}
@media only screen and (min-width: 979px) {
  form input.option-input:hover {
    background: #ccc;
  }
}
form input.option-input:checked {
  background: #DEE4E5;
}
form input.option-input:checked::before {
  height: 24px;
  width: 24px;
  position: absolute;
  content: '✔';
  display: inline-block;
  font-size: 14px;
  text-align: center;
  line-height: 24px;
}
form input.option-input:checked::after {
  -webkit-animation: click-wave 0.65s;
  -moz-animation: click-wave 0.65s;
  animation: click-wave 0.65s;
  background: #40e0d0;
  content: '';
  display: block;
  position: relative;
  z-index: 100;
}
form input.option-input.radio {
  border-radius: 50%;
}
form input.option-input.radio::after {
  border-radius: 50%;
}
form dl:not(:last-child) {
  margin-bottom: 2rem;
}
form dl dt, form dl dd {
  vertical-align: top;
}
form dl dt {
  width: 260px;
  height: 40px;
  line-height: 40px;
}
form dl dd {
  width: calc(100% - 260px);
}
form dl dd label {
  overflow: hidden;
}
form dl dd label:not(:last-child) {
  margin-right: 2rem;
}
form dl dd label span {
  line-height: 40px;
  display: inline-block;
}

dl.tb {
  display: table;
  width: 100%;
  padding: 2rem 0;
}
dl.tb.bd {
  border-top: 1px solid #666666;
}
dl.tb.bd:last-child {
  border-bottom: 1px solid #666666;
}
dl.tb dt, dl.tb dd {
  display: table-cell;
}
dl.tb dt {
  line-height: 2;
  width: 30%;
}

/*-------------------------------------------------
    style guide
-------------------------------------------------*/
body#styleguide div#wrapAll {
  position: relative;
}
body#styleguide div#wrapAll .sg {
  font-family: "Prestige Elite", "Tazugane Gothic", "Yu Gothic", YuGothic, "Helvetica Neue", Verdana, Meiryo, sans-serif !important;
  font-size: 11px !important;
  color: #666 !important;
}
body#styleguide div#wrapAll .sg span {
  font-family: "Prestige Elite", "Tazugane Gothic", "Yu Gothic", YuGothic, "Helvetica Neue", Verdana, Meiryo, sans-serif !important;
  font-size: 11px !important;
  color: #666 !important;
}
body#styleguide div#wrapAll a {
  color: #000;
  color: #666;
}
body#styleguide div#wrapAll nav {
  width: 200px;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 10;
  overflow-y: scroll;
  box-sizing: border-box;
  padding: 0px 40px;
}
body#styleguide div#wrapAll nav div.navwrap {
  width: auto;
  margin-left: auto;
  margin-right: auto;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
body#styleguide div#wrapAll nav div.navwrap div.navttl {
  padding-bottom: 3rem;
}
body#styleguide div#wrapAll nav div.navwrap div.navttl h1 {
  line-height: 2;
}
body#styleguide div#wrapAll nav div.navwrap div.navttl h1 span {
  color: #aaa;
  font-size: 0.8em;
}
body#styleguide div#wrapAll nav div.navwrap div.navbox {
  margin-top: 2rem;
  width: auto;
}
body#styleguide div#wrapAll nav div.navwrap div.navbox h4 {
  margin-bottom: 0.5rem;
  font-weight: bold;
}
body#styleguide div#wrapAll nav div.navwrap div.navbox ul {
  width: auto;
}
body#styleguide div#wrapAll nav div.navwrap div.navbox ul li {
  padding: 0.5rem 0;
  width: auto;
  cursor: pointer;
}
body#styleguide div#wrapAll nav div.navwrap div.navbox ul li span {
  display: inline-block;
  padding: 0.5rem 0;
  border-bottom: 2px solid transparent;
  transition: 0.33s;
}
@media only screen and (min-width: 979px) {
  body#styleguide div#wrapAll nav div.navwrap div.navbox ul li:hover span {
    border-bottom: 2px solid #ccc;
  }
}
body#styleguide div#wrapAll main {
  width: 100%;
  padding-left: 200px;
  background-color: #f9f9f9;
  padding-top: 6rem;
  padding-bottom: 4rem;
}
body#styleguide div#wrapAll main section {
  width: 80%;
  min-width: 666px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  padding: 4rem;
  margin-bottom: 4rem;
}
body#styleguide div#wrapAll main section div.secwrap {
  margin-top: 0;
  width: 100%;
}
body#styleguide div#wrapAll main section div.ttl {
  margin: 0  !important;
}
body#styleguide div#wrapAll main section div.ttl h2 span {
  display: block;
  color: #aaa;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ccc;
}
body#styleguide div#wrapAll main section div.body {
  padding: 2rem 0 0 0 !important;
}
body#styleguide div#wrapAll main section div.body h3 span {
  line-height: 1;
}
body#styleguide div#wrapAll main section div.body h3 span span {
  display: block;
  color: #aaa;
  margin-top: 0.5rem;
}
body#styleguide div#wrapAll main section div.body h3 + p {
  margin-top: 1rem;
}
body#styleguide div#wrapAll main section div.body p {
  line-height: 1.75;
}
body#styleguide div#wrapAll main section div.body div.img + div.txt {
  margin-top: 2rem;
}
body#styleguide div#wrapAll main section div.body div.txt + div.img {
  margin-top: 1rem;
}
body#styleguide div#wrapAll main section div.body div.txt + ul {
  margin-top: 2rem;
}
body#styleguide div#wrapAll main section div.body div.sec {
  margin-bottom: 4rem;
  padding-bottom: 2rem;
  border-bottom: 1px dotted #ccc;
}
body#styleguide div#wrapAll main section div.body div.sec:last-child {
  margin-bottom: 0;
  border-bottom: 0px;
}
body#styleguide div#wrapAll main section#target h3 {
  text-align: center;
}
body#styleguide div#wrapAll main section#target p {
  text-align: center;
}
body#styleguide div#wrapAll main section#font div.body ul li div p span {
  font-size: 1.2rem;
}
body#styleguide div#wrapAll main section#color ul li {
  margin-bottom: 0;
}
body#styleguide div#wrapAll main section#color ul li div.color {
  width: 100%;
}
body#styleguide div#wrapAll main section#color ul li div.color div.main {
  width: 100%;
}
body#styleguide div#wrapAll main section#color ul li div.color div.main::before {
  content: "";
  display: block;
  padding-top: 66.6%;
}
body#styleguide div#wrapAll main section#color ul li div.color ul li {
  width: 25%;
  margin-right: 0;
  margin-bottom: 0;
}
body#styleguide div#wrapAll main section#color ul li div.color ul li::before {
  content: "";
  display: block;
  padding-top: 100%;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(1) div.main {
  background-color: #656733;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(1) ul li:nth-child(1) {
  background-color: #797a48;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(1) ul li:nth-child(2) {
  background-color: #898b61;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(1) ul li:nth-child(3) {
  background-color: #95967f;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(1) ul li:nth-child(4) {
  background-color: #a0a09d;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(2) div.main {
  background-color: #DEE4E5;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(2) ul li:nth-child(1) {
  background-color: #f6f6f6;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(2) ul li:nth-child(2) {
  background-color: white;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(2) ul li:nth-child(3) {
  background-color: white;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(2) ul li:nth-child(4) {
  background-color: white;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(3) div.main {
  background-color: #9B7B6C;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(3) ul li:nth-child(1) {
  background-color: #a3948d;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(3) ul li:nth-child(2) {
  background-color: #afabaa;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(3) ul li:nth-child(3) {
  background-color: #c1c1c1;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(3) ul li:nth-child(4) {
  background-color: #d5d5d5;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(4) div.main {
  background-color: #333333;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(4) ul li:nth-child(1) {
  background-color: #666666;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(4) ul li:nth-child(2) {
  background-color: #999999;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(4) ul li:nth-child(3) {
  background-color: #cccccc;
}
body#styleguide div#wrapAll main section#color ul li:nth-child(4) ul li:nth-child(4) {
  background-color: #eeeeee;
}

header {
  width: 100% !important;
  max-width: 1480px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  padding: 3rem 4rem;
  z-index: 200;
}
@media only screen and (max-width: 979px) {
  header {
    padding: 2rem;
    position: relative !important;
  }
}
header div.header_wrap {
  width: 100%;
  position: relative;
}
@media only screen and (max-width: 979px) {
  header div.header_wrap {
    display: block;
  }
}
@media only screen and (max-width: 979px) {
  header div.header_wrap .tc {
    display: block;
  }
}
header div.header_wrap div.img {
  position: absolute;
  width: 15%;
  max-width: 176px;
  z-index: 50;
}
header div.header_wrap div.img a {
  display: block;
}
@media only screen and (max-width: 979px) {
  header div.header_wrap div.img {
    width: 116px;
    width: 15%;
  }
}
@media only screen and (max-width: 760px) {
  header div.header_wrap div.img {
    width: 84px;
    width: 25%;
  }
}
header div.header_wrap nav.gnav {
  position: relative;
  padding-top: 1rem;
}
@media only screen and (max-width: 979px) {
  header div.header_wrap nav.gnav {
    display: none;
  }
}
header div.header_wrap nav.gnav ul {
  position: relative;
  width: 668px;
  margin-right: 0;
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: flex-end;
  -webkit-align-items: center;
}
header div.header_wrap nav.gnav ul::before {
  position: absolute;
  content: "";
  display: block;
  position: absolute;
  top: -1rem;
  right: 0;
  width: 100%;
  height: 1rem;
  background-image: url("../img/common/line.svg");
  background-repeat: repeat-x;
}
header div.header_wrap nav.gnav ul li {
  width: auto;
  margin-bottom: 0;
  cursor: pointer;
  border-bottom: 1px solid transparent;
  transition: 0.3s;
  position: relative;
}
header div.header_wrap nav.gnav ul li:not(:last-child) {
  margin-right: 3rem;
}
header div.header_wrap nav.gnav ul li a {
  font-weight: 600;
  line-height: 50px;
}
header div.header_wrap nav.gnav ul li a span.text {
  font-size: 12px;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid transparent;
  transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
header div.header_wrap nav.gnav ul li a.current span.text {
  border-bottom: 1px solid #666666;
  transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  header div.header_wrap nav.gnav ul li a:hover span.text {
    border-bottom: 1px solid #666666;
    transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}

a#menubtn {
  opacity: 0;
  position: fixed;
  width: 28px;
  height: 16px;
  padding: 10px;
  top: 16px;
  right: 16px;
  box-sizing: content-box;
  visibility: hidden;
  display: block;
  z-index: 99999;
  transition: visibility 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: visibility 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: visibility 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: visibility 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: visibility 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 600ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
a#menubtn.on {
  opacity: 1;
  visibility: visible;
}
@media only screen and (max-width: 979px) {
  a#menubtn.on {
    opacity: 1;
    visibility: visible;
    width: 28px;
    height: 16px;
    top: 16px;
    right: 12px;
  }
}
@media only screen and (max-width: 760px) {
  a#menubtn.on {
    width: 22px;
    height: 12px;
    top: 10px;
    right: 10px;
  }
}
@media only screen and (max-width: 979px) {
  a#menubtn {
    opacity: 1;
    visibility: visible;
    width: 28px;
    height: 16px;
    top: 16px;
    right: 12px;
  }
}
@media only screen and (max-width: 760px) {
  a#menubtn {
    width: 22px;
    height: 12px;
    top: 10px;
    right: 10px;
  }
}
a#menubtn.active ul li:nth-child(1) {
  top: 50%;
  background-color: #000;
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -webkit-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -moz-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -o-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -ms-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
a#menubtn.active ul li:nth-child(2) {
  top: 50%;
  opacity: 0;
  transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
a#menubtn.active ul li:nth-child(3) {
  top: 50%;
  background-color: #000;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -webkit-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -moz-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -o-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, -ms-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
a#menubtn ul {
  width: 100%;
  height: 100%;
  position: relative;
}
a#menubtn ul li {
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #666666;
  left: 0;
  transform-origin: center center;
  -webkit-transform-origin: center center;
  -moz-transform-origin: center center;
  -o-transform-origin: center center;
  -ms-transform-origin: center center;
}
a#menubtn ul li:nth-child(1) {
  top: 0;
  transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transition: transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: -webkit-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: -moz-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: -o-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: -ms-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
a#menubtn ul li:nth-child(2) {
  top: 50%;
  opacity: 1;
  transition: top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: opacity 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
a#menubtn ul li:nth-child(3) {
  top: 100%;
  transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transition: transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: -webkit-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: -moz-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: -o-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: -ms-transform 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 300ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}

div#popupnav {
  position: fixed;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  right: 0;
  top: 0;
  display: block;
  z-index: 10000;
  background-color: #DBE9F2;
  background-size: contain;
  background-position: top left;
  background-repeat: no-repeat;
  transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  div#popupnav {
    width: 300px;
    height: 583px;
    padding: 4rem 0;
    background-color: transparent;
    background-image: url("../img/nav.png");
  }
}
@media only screen and (max-width: 979px) {
  div#popupnav {
    width: 100%;
    height: 100%;
    background-color: #DBE9F2;
  }
  div#popupnav::before {
    content: "";
    display: block;
    position: absolute;
    background-color: #fff;
    width: 25%;
    padding-top: 25%;
    z-index: 3;
    transform-origin: center center;
    -moz-transform-origin: center center;
    -webkit-transform-origin: center center;
  }
  div#popupnav::before {
    top: 0;
    margin-top: calc( calc( 25% / -2) + 1px );
    right: calc( calc( 25% / -2) - 1px );
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
  }
}
@media only screen and (max-width: 479px) {
  div#popupnav::before {
    content: "";
    display: block;
    position: absolute;
    background-color: #fff;
    width: 45%;
    padding-top: 45%;
    z-index: 3;
    transform-origin: center center;
    -moz-transform-origin: center center;
    -webkit-transform-origin: center center;
  }
  div#popupnav::before {
    top: 0;
    margin-top: calc( calc( 45% / -2) + 1px );
    right: calc( calc( 45% / -2) - 1px );
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
  }
}
div#popupnav.active {
  visibility: visible;
  opacity: 1;
  z-index: 9999;
  transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
div#popupnav nav.gnav {
  position: relative;
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: center;
  -webkit-align-items: center;
  flex-direction: column;
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
}
@media only screen and (min-width: 979px) {
  div#popupnav nav.gnav div.logo {
    display: none;
  }
}
@media only screen and (max-width: 979px) {
  div#popupnav nav.gnav div.logo {
    width: 20%;
  }
}
@media only screen and (max-width: 760px) {
  div#popupnav nav.gnav div.logo {
    width: 30%;
  }
}
div#popupnav nav.gnav div.logo a {
  display: block;
}
div#popupnav nav.gnav div.logo a img {
  display: block;
  width: 100%;
}
div#popupnav nav.gnav div.hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 979px) {
  div#popupnav nav.gnav div.hr {
    display: none;
  }
}
@media only screen and (max-width: 979px) {
  div#popupnav nav.gnav div.hr {
    width: 20%;
  }
}
@media only screen and (max-width: 760px) {
  div#popupnav nav.gnav div.hr {
    width: 30%;
  }
}
div#popupnav nav.gnav ul {
  width: 100%;
}
div#popupnav nav.gnav ul li {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  padding: 1rem 0;
}
@media only screen and (min-width: 979px) {
  div#popupnav nav.gnav ul li:hover span.text {
    border-bottom: 2px solid #666666;
    transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
@media only screen and (max-width: 760px) {
  div#popupnav nav.gnav ul li {
    padding: 1rem 0;
  }
}
div#popupnav nav.gnav ul li a {
  width: 100%;
  display: block;
  height: 100%;
}
div#popupnav nav.gnav ul li a.current span.text {
  border-bottom: 2px solid #666666;
}
div#popupnav nav.gnav ul li a span.text {
  font-family: "Asap", YuGothic, "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "MS-PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, arial, helvetica, clean, sans-serif;
  color: #000;
  font-weight: 600;
  position: relative;
  border-bottom: 2px solid transparent;
  transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  div#popupnav nav.gnav ul li a span.text {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 979px) {
  div#popupnav nav.gnav ul li a span.text {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 760px) {
  div#popupnav nav.gnav ul li a span.text {
    font-size: 1.2rem;
  }
}
div#popupnav nav.gnav ul li p.sns a {
  display: inline-block;
  width: auto;
}
div#popupnav nav.gnav ul li p.sns a:first-child {
  margin-right: 1rem;
}
div#popupnav nav.gnav ul li p.sns a img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 979px) {
  div#popupnav nav.gnav ul li p.sns a img {
    width: 1.7rem;
    height: 1.7rem;
  }
}
@media only screen and (max-width: 979px) {
  div#popupnav nav.gnav ul li p.sns a img {
    width: 20px;
    height: 20px;
  }
}
div#popupnav nav.gnav div.btn {
  display: none;
  text-align: center;
}
@media only screen and (max-width: 479px) {
  div#popupnav nav.gnav div.btn {
    display: block;
  }
}
div#popupnav nav.gnav div.btn button.ftbtn {
  width: 180px;
  margin-top: 1rem;
}
div#popupnav nav.gnav div.btn button.ftbtn a {
  background-color: transparent;
  border: #666666 2px solid;
  width: 100%;
  height: auto;
  line-height: 1;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
div#popupnav nav.gnav div.btn button.ftbtn a span {
  position: relative;
  font-weight: bold;
  color: #000;
  letter-spacing: 0.08em;
  line-height: 1.4rem;
  padding: 1rem 0;
  display: block;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
div#popupnav nav.gnav div.btn button.ftbtn a span::before {
  content: "";
  display: inline-block;
  margin-bottom: -4px;
  padding-left: 2rem;
  width: 1.4rem;
  height: 1.4rem;
  background-size: contain !important;
  background-position: center;
  background-repeat: no-repeat !important;
  transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  background: url("../img/common/tel.svg") no-repeat;
}
@media only screen and (min-width: 979px) {
  div#popupnav nav.gnav div.btn button.ftbtn a:hover {
    background-color: #666666;
    transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  div#popupnav nav.gnav div.btn button.ftbtn a:hover span {
    color: #fff;
    transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  div#popupnav nav.gnav div.btn button.ftbtn a:hover span::before {
    background: url("../img/common/tel_w.svg") no-repeat;
    transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}

@media only screen and (min-width: 979px) {
  body.top2 div#popupnav, body.concept2 div#popupnav {
    background-image: url("../img/nav.png");
  }
}
@media only screen and (max-width: 979px) {
  body.top2 div#popupnav, body.concept2 div#popupnav {
    background-color: #D4CBAF;
  }
}

.Parallax {
  opacity: 0 !important;
  transform: translate3d(0px, 10px, 0px) !important;
  -webkit-transform: translate3d(0px, 10px, 0px) !important;
  -moz-transform: translate3d(0px, 10px, 0px) !important;
  -ms-transform: translate3d(0px, 10px, 0px) !important;
  -o-transform: translate3d(0px, 10px, 0px) !important;
  transition: transform 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -webkit-transition: -webkit-transform 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -moz-transition: -moz-transform 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -o-transition: -o-transform 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
  -ms-transition: -ms-transform 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 800ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}
.Parallax.Parallax_on {
  opacity: 1 !important;
  transform: translate3d(0px, 0px, 0px) !important;
  -webkit-transform: translate3d(0px, 0px, 0px) !important;
  -moz-transform: translate3d(0px, 0px, 0px) !important;
  -ms-transform: translate3d(0px, 0px, 0px) !important;
  -o-transform: translate3d(0px, 0px, 0px) !important;
}

section.menu div.body.Parallax.Parallax_on ul li {
  opacity: 1;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(1) {
  transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
  -moz-transition-delay: 400ms;
  -ms-transition-delay: 400ms;
  -o-transition-delay: 400ms;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(2) {
  transition-delay: 550ms;
  -webkit-transition-delay: 550ms;
  -moz-transition-delay: 550ms;
  -ms-transition-delay: 550ms;
  -o-transition-delay: 550ms;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(3) {
  transition-delay: 700ms;
  -webkit-transition-delay: 700ms;
  -moz-transition-delay: 700ms;
  -ms-transition-delay: 700ms;
  -o-transition-delay: 700ms;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(4) {
  transition-delay: 850ms;
  -webkit-transition-delay: 850ms;
  -moz-transition-delay: 850ms;
  -ms-transition-delay: 850ms;
  -o-transition-delay: 850ms;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(5) {
  transition-delay: 1000ms;
  -webkit-transition-delay: 1000ms;
  -moz-transition-delay: 1000ms;
  -ms-transition-delay: 1000ms;
  -o-transition-delay: 1000ms;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(6) {
  transition-delay: 1150ms;
  -webkit-transition-delay: 1150ms;
  -moz-transition-delay: 1150ms;
  -ms-transition-delay: 1150ms;
  -o-transition-delay: 1150ms;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(7) {
  transition-delay: 1300ms;
  -webkit-transition-delay: 1300ms;
  -moz-transition-delay: 1300ms;
  -ms-transition-delay: 1300ms;
  -o-transition-delay: 1300ms;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(8) {
  transition-delay: 1450ms;
  -webkit-transition-delay: 1450ms;
  -moz-transition-delay: 1450ms;
  -ms-transition-delay: 1450ms;
  -o-transition-delay: 1450ms;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(9) {
  transition-delay: 1600ms;
  -webkit-transition-delay: 1600ms;
  -moz-transition-delay: 1600ms;
  -ms-transition-delay: 1600ms;
  -o-transition-delay: 1600ms;
}
section.menu div.body.Parallax.Parallax_on ul li:nth-child(10) {
  transition-delay: 1750ms;
  -webkit-transition-delay: 1750ms;
  -moz-transition-delay: 1750ms;
  -ms-transition-delay: 1750ms;
  -o-transition-delay: 1750ms;
}
section.menu div.body.Parallax ul li {
  opacity: 0;
  transition: opacity 1200ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -webkit-transition: opacity 1200ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -moz-transition: opacity 1200ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -o-transition: opacity 1200ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  -ms-transition: opacity 1200ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition-delay: 0ms;
  -webkit-transition-delay: 0ms;
  -moz-transition-delay: 0ms;
  -ms-transition-delay: 0ms;
  -o-transition-delay: 0ms;
}

div.secwrap a button.btn1 a, div.secwrap a button.btn1 input[type="submit"], div.secwrap a button.btn1 div.a, div.secwrap_b a button.btn1 a, div.secwrap_b a button.btn1 input[type="submit"], div.secwrap_b a button.btn1 div.a {
  transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
div.secwrap a button.btn1 a span, div.secwrap a button.btn1 input[type="submit"] span, div.secwrap a button.btn1 div.a span, div.secwrap_b a button.btn1 a span, div.secwrap_b a button.btn1 input[type="submit"] span, div.secwrap_b a button.btn1 div.a span {
  color: #000;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  div.secwrap a:hover button.btn1 a, div.secwrap a:hover button.btn1 input[type="submit"], div.secwrap a:hover button.btn1 div.a, div.secwrap_b a:hover button.btn1 a, div.secwrap_b a:hover button.btn1 input[type="submit"], div.secwrap_b a:hover button.btn1 div.a {
    background-image: url("../img/btn_hv.svg");
    transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background-image 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  div.secwrap a:hover button.btn1 a span, div.secwrap a:hover button.btn1 input[type="submit"] span, div.secwrap a:hover button.btn1 div.a span, div.secwrap_b a:hover button.btn1 a span, div.secwrap_b a:hover button.btn1 input[type="submit"] span, div.secwrap_b a:hover button.btn1 div.a span {
    color: #fff;
    transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}

div.hr {
  width: 100%;
}
div.hr::before {
  content: "";
  display: block;
  width: 100%;
  height: 1rem;
  background-image: url("../img/common/line.svg");
  background-repeat: repeat-x;
}

main {
  position: relative;
}
main div.totop {
  position: fixed;
  cursor: pointer;
  display: block;
  bottom: 0rem;
  right: 0rem;
  height: 6rem;
  width: 6rem;
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  background-image: url("../img/common/arr_link_b.svg");
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
  transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
main div.totop.on {
  opacity: 1;
  visibility: visible;
}
@media only screen and (max-width: 479px) {
  main div.totop {
    display: none;
  }
}
main div.totopsp {
  position: relative;
  margin-top: 4rem;
  margin-bottom: 4rem;
}
@media only screen and (min-width: 979px) {
  main div.totopsp {
    display: none;
  }
}
@media only screen and (max-width: 979px) {
  main div.totopsp {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  main div.totopsp {
    display: block;
  }
}
main div.totopsp div.icon {
  width: 100px;
  height: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("../img/common/sessor.svg");
  transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
}
main div.totopsp p {
  text-align: center;
  margin-top: 0.8rem;
}
main div.totopsp p span {
  font-size: 0.8rem;
}

body.top header {
  opacity: 0;
}
body.top section.mv div.secwrap_b div.img {
  opacity: 0;
}
body.top section.mv div.secwrap_b div#slide div.triming.t::before {
  opacity: 1;
  transform: translate3d(-110px, -110px, 0px) rotate(45deg);
  -webkit-transform: translate3d(-110px, -110px, 0px) rotate(45deg);
  -moz-transform: translate3d(-110px, -110px, 0px) rotate(45deg);
  -ms-transform: translate3d(-110px, -110px, 0px) rotate(45deg);
  -o-transform: translate3d(-110px, -110px, 0px) rotate(45deg);
}
body.top section.mv div.secwrap_b div#slide div.triming.b::before {
  opacity: 1;
  transform: translate3d(110px, 110px, 0px) rotate(45deg);
  -webkit-transform: translate3d(110px, 110px, 0px) rotate(45deg);
  -moz-transform: translate3d(110px, 110px, 0px) rotate(45deg);
  -ms-transform: translate3d(110px, 110px, 0px) rotate(45deg);
  -o-transform: translate3d(110px, 110px, 0px) rotate(45deg);
}
body.top section.mv div.secwrap_b div.tagline, body.top section.mv div.secwrap_b div.scroll {
  opacity: 0;
}
body.load.top header {
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -moz-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -o-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -ms-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
}
body.load.top section.mv div.secwrap_b div.img {
  opacity: 0;
}
body.load.top section.mv div.secwrap_b div#slide::before {
  opacity: 0;
  transition: opacity 600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -webkit-transition: opacity 600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -moz-transition: opacity 600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -o-transition: opacity 600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -ms-transition: opacity 600ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
}
body.load.top section.mv div.secwrap_b div#slide div.triming::before {
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
  transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -webkit-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -moz-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -o-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  -ms-transform: translate3d(0px, 0px, 0px) rotate(45deg);
  transition: transform 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
  -webkit-transition: -webkit-transform 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
  -moz-transition: -moz-transform 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
  -o-transition: -o-transform 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
  -ms-transition: -ms-transform 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
}
@media only screen and (max-width: 979px) {
  body.load.top section.mv div.secwrap_b div#slide div.triming::before {
    transform-origin: center center;
    -moz-transform-origin: center center;
    -webkit-transform-origin: center center;
    transform: translate3d(0px, 0px, 0px) rotate(45deg);
    -webkit-transform: translate3d(0px, 0px, 0px) rotate(45deg);
    -moz-transform: translate3d(0px, 0px, 0px) rotate(45deg);
    -o-transform: translate3d(0px, 0px, 0px) rotate(45deg);
    -ms-transform: translate3d(0px, 0px, 0px) rotate(45deg);
    transition: transform 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
    -webkit-transition: -webkit-transform 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
    -moz-transition: -moz-transform 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
    -o-transition: -o-transform 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
    -ms-transition: -ms-transform 1200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 800ms;
  }
}
body.load.top section.mv div.secwrap_b div.tagline {
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -moz-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -o-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
  -ms-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 1600ms;
}
body.load.top section.mv div.secwrap_b div.scroll {
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms;
  -moz-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms;
  -o-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms;
  -ms-transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 2400ms;
}

body.top h2 {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 760px) {
  body.top h2 {
    margin-bottom: 2rem;
    text-align: center;
  }
}
body.top h2 span {
  font-size: 1.8rem;
  letter-spacing: 0.12em;
}
@media only screen and (max-width: 760px) {
  body.top h2 span {
    font-size: 1.5rem;
  }
}
body.top h2 span::before, body.top h2 span::after {
  content: "";
  display: block;
}
body.top h2 span::before {
  margin-bottom: 3rem;
  width: 2.2rem;
  height: 1.74rem;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("../img/common/sessor.svg");
}
@media only screen and (max-width: 979px) {
  body.top h2 span::before {
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top h2 span::before {
    margin-bottom: 1rem;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
body.top h2 span:after {
  margin-top: 3rem;
  height: 1px;
  width: 3rem;
  background-color: #666666;
}
@media only screen and (max-width: 979px) {
  body.top h2 span:after {
    display: none;
  }
}
body.top div.btn {
  text-align: right;
}
@media only screen and (max-width: 979px) {
  body.top section.mv {
    margin-top: 20px;
  }
}
body.top section.mv div.secwrap_b {
  position: relative;
}
@media only screen and (max-width: 760px) {
  body.top section.mv div.secwrap_b {
    margin-bottom: 8rem;
  }
}
body.top section.mv div.secwrap_b div.img {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 64vh;
}
@media only screen and (max-width: 979px) {
  body.top section.mv div.secwrap_b div.img {
    height: 50vh;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.mv div.secwrap_b div.img {
    height: 40vh;
  }
}
body.top section.mv div.secwrap_b div#slide {
  position: absolute;
  width: 100%;
  height: 100% !important;
  top: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
}
body.top section.mv div.secwrap_b div#slide:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  background-color: #a2a284;
  z-index: 2;
}
body.top section.mv div.secwrap_b div#slide div.triming {
  position: absolute;
  width: 26.25%;
  max-width: 314px;
}
body.top section.mv div.secwrap_b div#slide div.triming::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 100%;
  padding-top: 100%;
  z-index: 3;
}
body.top section.mv div.secwrap_b div#slide div.triming.t {
  top: 0;
}
body.top section.mv div.secwrap_b div#slide div.triming.b {
  bottom: 0;
}
body.top section.mv div.secwrap_b div#slide div.slide_wrap {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}
body.top section.mv div.secwrap_b div#slide div.slide_wrap ul {
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}
body.top section.mv div.secwrap_b div#slide div.slide_wrap ul li {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 1000;
  transition: opacity 2000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
  -webkit-transition: opacity 2000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
  -moz-transition: opacity 2000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
  -o-transition: opacity 2000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
  -ms-transition: opacity 2000ms cubic-bezier(0.25, 0.25, 0.75, 0.75) 0ms;
}
body.top section.mv div.secwrap_b div#slide div.slide_wrap ul li.on {
  opacity: 1;
}
body.top section.mv div.secwrap_b div#slide div.slide_wrap ul div {
  width: 100%;
  height: 100%;
  position: relative;
}
body.top section.mv div.secwrap_b div#slide a.slide_arr {
  width: 5%;
  min-width: 50px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 1002;
}
body.top section.mv div.secwrap_b div#slide a.slide_arr:hover:before {
  opacity: 0.1;
}
body.top section.mv div.secwrap_b div#slide a.slide_arr.slide_prev {
  left: 0;
}
body.top section.mv div.secwrap_b div#slide a.slide_arr.slide_prev:after {
  background-image: url(../img/arr_prev2.png);
}
body.top section.mv div.secwrap_b div#slide a.slide_arr.slide_next {
  right: 0;
}
body.top section.mv div.secwrap_b div#slide a.slide_arr.slide_next:after {
  background-image: url(../img/arr_next2.png);
}
body.top section.mv div.secwrap_b div#slide a.slide_arr:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: relative;
  z-index: 0;
  top: 0;
  left: 0;
  display: block;
  opacity: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.top section.mv div.secwrap_b div#slide a.slide_arr:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 26px auto;
}
body.top section.mv div.secwrap_b div#slide ul.ctrl {
  position: absolute;
  text-align: center;
  bottom: 0;
  z-index: 1002;
  width: 100%;
}
body.top section.mv div.secwrap_b div#slide ul.ctrl li {
  display: inline-block;
  margin: 0 5px;
}
body.top section.mv div.secwrap_b div#slide ul.ctrl li a {
  display: block;
  padding: 10px;
  width: 10px;
  height: 10px;
  position: relative;
  font-size: 0;
}
body.top section.mv div.secwrap_b div#slide ul.ctrl li a:hover:after {
  background-color: #ccc;
  border: 1px solid #fff;
}
body.top section.mv div.secwrap_b div#slide ul.ctrl li a.on:after {
  background-color: #000;
  border: 1px solid #fff;
}
body.top section.mv div.secwrap_b div#slide ul.ctrl li a:after {
  content: "";
  width: 8px;
  height: 8px;
  margin-left: -4px;
  margin-top: -4px;
  top: 50%;
  left: 50%;
  position: absolute;
  border-radius: 100%;
  display: block;
  box-sizing: border-box;
  background-color: transparent;
  border: 1px solid #fff;
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.top section.mv div.secwrap_b div.tagline {
  position: absolute;
  z-index: 10;
  bottom: 2rem;
  right: 1rem;
}
@media only screen and (max-width: 760px) {
  body.top section.mv div.secwrap_b div.tagline {
    bottom: -4rem;
    right: 1rem;
  }
}
body.top section.mv div.secwrap_b div.scroll {
  position: absolute;
  bottom: -6rem;
  left: 50%;
  z-index: 100;
  width: 30px;
  cursor: pointer;
  display: block;
  transform: translate3d(0px, 0px, 0px);
  -moz-transform: translate3d(0px, 0px, 0px);
  -webkit-transform: translate3d(0px, 0px, 0px);
  transition: transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: -webkit-transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: -moz-transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: -o-transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: -ms-transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  body.top section.mv div.secwrap_b div.scroll:hover {
    transform: translate3d(2px, 2px, 0px);
    -moz-transform: translate3d(2px, 2px, 0px);
    -webkit-transform: translate3d(2px, 2px, 0px);
    transition: transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: -webkit-transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: -moz-transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: -o-transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: -ms-transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
@media only screen and (max-width: 979px) {
  body.top section.mv div.secwrap_b div.scroll {
    display: none;
  }
}
body.top section.mv div.secwrap_b div.scroll:before {
  content: "";
  display: block;
  width: 1px;
  height: 3rem;
  background-color: #000;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}
body.top section.mv div.secwrap_b div.scroll img {
  width: 30px;
  height: 30px;
  margin-left: auto;
  margin-right: auto;
}
body.top section.mv div.secwrap_b div.scroll p {
  text-align: center;
}
body.top section.concept {
  position: relative;
}
body.top section.concept div.secwrap {
  position: relative;
}
body.top section.concept div.secwrap::before {
  position: absolute;
  content: "";
  width: 20rem;
  height: 20rem;
  background: url("../img/common/tri.svg") center center no-repeat;
  background-size: cover;
  top: 1rem;
  left: 1rem;
  z-index: 10;
}
@media only screen and (max-width: 979px) {
  body.top section.concept div.secwrap::before {
    width: 16rem;
    height: 16rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.concept div.secwrap::before {
    width: 8rem;
    height: 8rem;
    top: 0.5rem;
    left: 0.5rem;
  }
}
body.top section.concept div.secwrap div.img {
  width: 75%;
  height: 40rem;
  z-index: 2;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 979px) {
  body.top section.concept div.secwrap div.img {
    height: 32rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.concept div.secwrap div.img {
    height: 16rem;
    width: 100%;
    margin-bottom: 3rem;
  }
}
body.top section.concept div.secwrap div.img div.imgwrap {
  width: 100%;
  height: 100%;
  background: url("../img/top_concept.jpg") center center no-repeat;
  background-size: cover;
}
body.top section.concept div.secwrap div.img::before, body.top section.concept div.secwrap div.img::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 35.35%;
  padding-top: 35.35%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
body.top section.concept div.secwrap div.img::before {
  top: 0;
  margin-top: calc( calc( 35.35% / -2));
  left: calc( calc( 35.35% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.top section.concept div.secwrap div.img::after {
  bottom: 0;
  margin-bottom: calc( calc( 35.35% / -2));
  right: calc( calc( 35.35% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.top section.concept div.secwrap div.txt {
  position: absolute;
  z-index: 10;
  width: 21.5%;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 979px) {
  body.top section.concept div.secwrap div.txt {
    bottom: auto;
    top: 3rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.concept div.secwrap div.txt {
    position: relative;
    width: 100%;
    top: 0;
  }
}
body.top section.concept div.secwrap div.txt p.lead {
  white-space: nowrap;
}
@media only screen and (max-width: 760px) {
  body.top section.concept div.secwrap div.txt p.lead {
    text-align: center;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.concept div.secwrap div.btn {
    text-align: center;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-top: 4rem;
  }
}
body.top section.menu div.secwrap {
  position: relative;
}
body.top section.menu div.secwrap div.ttl {
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 760px) {
  body.top section.menu div.secwrap div.ttl {
    position: relative;
    margin-bottom: 4rem;
  }
}
body.top section.menu div.secwrap div.body {
  position: relative;
}
body.top section.menu div.secwrap div.body ul li {
  width: 37.5%;
  position: relative;
}
@media only screen and (max-width: 760px) {
  body.top section.menu div.secwrap div.body ul li {
    width: 100%;
    margin-bottom: 2rem;
  }
  body.top section.menu div.secwrap div.body ul li:nth-child(3) {
    display: none;
  }
}
body.top section.menu div.secwrap div.body ul li:not(:nth-child(2n)) {
  margin-right: calc( ( 100% - 15rem - ( 37.5% * 2 ) ) / 2 );
}
@media only screen and (max-width: 760px) {
  body.top section.menu div.secwrap div.body ul li:not(:nth-child(2n)) {
    margin-right: 0;
  }
}
body.top section.menu div.secwrap div.body ul li:nth-child(1), body.top section.menu div.secwrap div.body ul li:nth-child(2) {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 760px) {
  body.top section.menu div.secwrap div.body ul li:nth-child(1), body.top section.menu div.secwrap div.body ul li:nth-child(2) {
    margin-bottom: 2rem;
  }
}
body.top section.menu div.secwrap div.body ul li:nth-child(1) {
  margin-left: 15rem;
}
@media only screen and (max-width: 760px) {
  body.top section.menu div.secwrap div.body ul li:nth-child(1) {
    margin-left: 0 !important;
  }
}
body.top section.menu div.secwrap div.body ul li::before, body.top section.menu div.secwrap div.body ul li::after {
  content: "";
  display: block;
  z-index: 5;
  transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.top section.menu div.secwrap div.body ul li::before {
  width: 6%;
  height: 6%;
  position: absolute;
  bottom: 8.5%;
  left: 7%;
  transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("../img/common/sessor.svg");
}
body.top section.menu div.secwrap div.body ul li::after {
  width: 18%;
  height: 1px;
  position: absolute;
  bottom: 10.5%;
  left: 16%;
  background-color: #666666;
}
@media only screen and (min-width: 979px) {
  body.top section.menu div.secwrap div.body ul li:hover::before {
    bottom: calc( 8.5% - 1rem);
    left: calc( 7% + 1rem);
    transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.top section.menu div.secwrap div.body ul li:hover::after {
    bottom: calc(10.5% - 1rem);
    left: calc( 16% + 1rem);
    transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: bottom 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.top section.menu div.secwrap div.body ul li:hover a div.liwrap::before {
    top: calc(34% + 1rem);
    right: calc(6% - 1rem);
    transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.top section.menu div.secwrap div.body ul li:hover a div.liwrap::after {
    top: calc(6% + 1rem);
    right: calc(8.5% - 1rem);
    transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.top section.menu div.secwrap div.body ul li:hover a div.liwrap div.img .img1 {
    top: 1rem;
    right: -1rem;
    transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.top section.menu div.secwrap div.body ul li:hover a div.liwrap div.txt {
    top: calc( 50% + 1rem );
    padding-right: 0rem;
    transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
@media only screen and (max-width: 979px) {
  body.top section.menu div.secwrap div.body ul li:not(:nth-child(2n)) {
    margin-right: calc( ( 100% - 10rem - ( 37.5% * 2 ) ) / 2 );
  }
  body.top section.menu div.secwrap div.body ul li:nth-child(1), body.top section.menu div.secwrap div.body ul li:nth-child(2) {
    margin-bottom: 4rem;
  }
  body.top section.menu div.secwrap div.body ul li:nth-child(1) {
    margin-left: 10rem;
  }
}
body.top section.menu div.secwrap div.body ul li a {
  display: block;
}
body.top section.menu div.secwrap div.body ul li a div.liwrap {
  position: relative;
  width: 100%;
  height: 100%;
}
body.top section.menu div.secwrap div.body ul li a div.liwrap::before, body.top section.menu div.secwrap div.body ul li a div.liwrap::after {
  content: "";
  display: block;
  z-index: 5;
  transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.top section.menu div.secwrap div.body ul li a div.liwrap::before {
  width: 6%;
  height: 6%;
  position: absolute;
  top: 34%;
  right: 6%;
  transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("../img/common/sessor.svg");
}
body.top section.menu div.secwrap div.body ul li a div.liwrap::after {
  width: 1px;
  height: 22%;
  position: absolute;
  top: 6%;
  right: 8.5%;
  background-color: #666666;
}
body.top section.menu div.secwrap div.body ul li a div.liwrap div.img {
  position: relative;
  width: calc( 100% - 1rem);
}
body.top section.menu div.secwrap div.body ul li a div.liwrap div.img .img2 {
  position: relative;
  z-index: 0;
  top: 1rem;
  right: -1rem;
}
body.top section.menu div.secwrap div.body ul li a div.liwrap div.img .img1 {
  position: absolute;
  top: 0rem;
  right: 0rem;
  z-index: 3;
  transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.top section.menu div.secwrap div.body ul li a div.liwrap div.txt {
  position: absolute;
  top: 50%;
  padding-right: 1rem;
  margin-top: -4rem;
  text-align: center;
  width: 100%;
  z-index: 5;
  transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, padding-right 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 979px) {
  body.top section.menu div.secwrap div.body ul li a div.liwrap div.txt {
    margin-top: -3rem;
  }
}
body.top section.menu div.secwrap div.body ul li a div.liwrap div.txt h3, body.top section.menu div.secwrap div.body ul li a div.liwrap div.txt p {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2;
}
@media only screen and (max-width: 979px) {
  body.top section.menu div.secwrap div.body ul li a div.liwrap div.txt h3, body.top section.menu div.secwrap div.body ul li a div.liwrap div.txt p {
    font-size: 1.25rem;
  }
}
body.top section.menu div.secwrap div.body ul li a div.liwrap div.txt p {
  margin-top: 2rem;
}
@media only screen and (max-width: 979px) {
  body.top section.menu div.secwrap div.body ul li a div.liwrap div.txt p {
    margin-top: 0.5rem;
  }
}
body.top section.menu div.secwrap div.body div.btn {
  position: absolute;
  width: auto;
  bottom: 0;
  right: 0;
}
@media only screen and (max-width: 760px) {
  body.top section.menu div.secwrap div.body div.btn {
    text-align: center;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.secimg div.secwrap {
    width: 100% !important;
  }
}
body.top section.secimg div.img {
  width: 100%;
  height: 30rem;
  z-index: 2;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 979px) {
  body.top section.secimg div.img {
    height: 24rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.secimg div.img {
    height: 10rem;
  }
}
body.top section.secimg div.img div.imgwrap {
  width: 100%;
  height: 100%;
  background: url("../img/top_secimg.jpg") center center no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 760px) {
  body.top section.secimg div.img div.imgwrap {
    background: url("../img/top_secimg.jpg") center top no-repeat;
    background-size: 100%;
  }
}
body.top section.secimg div.img::before, body.top section.secimg div.img::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 17.675%;
  padding-top: 17.675%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
@media only screen and (max-width: 760px) {
  body.top section.secimg div.img::before, body.top section.secimg div.img::after {
    display: none;
  }
}
body.top section.secimg div.img::before {
  top: 0;
  margin-top: calc( calc( 17.675% / -2));
  left: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.top section.secimg div.img::after {
  bottom: 0;
  margin-bottom: calc( calc( 17.675% / -2));
  right: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.top section.saloninfo {
  position: relative;
}
body.top section.saloninfo div.secwrap {
  position: relative;
}
body.top section.saloninfo div.secwrap::before {
  position: absolute;
  content: "";
  width: 20rem;
  height: 20rem;
  background: url("../img/common/tri.svg") center center no-repeat;
  background-size: cover;
  top: 2rem;
  right: -2rem;
  z-index: 10;
  transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
@media only screen and (max-width: 979px) {
  body.top section.saloninfo div.secwrap::before {
    width: 16rem;
    height: 16rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.saloninfo div.secwrap::before {
    width: 8rem;
    height: 8rem;
    top: 1rem;
    right: -1rem;
  }
}
body.top section.saloninfo div.secwrap div#slide2 {
  width: 75%;
  height: 40rem;
  margin-left: auto;
  margin-right: 0;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 979px) {
  body.top section.saloninfo div.secwrap div#slide2 {
    height: 32rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.saloninfo div.secwrap div#slide2 {
    height: 16rem;
    width: 100%;
    margin-bottom: 3rem;
  }
}
body.top section.saloninfo div.secwrap div#slide2::before, body.top section.saloninfo div.secwrap div#slide2::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 35.35%;
  padding-top: 35.35%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
body.top section.saloninfo div.secwrap div#slide2::before {
  top: 0;
  margin-top: calc( calc( 35.35% / -2));
  left: calc( calc( 35.35% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.top section.saloninfo div.secwrap div#slide2::after {
  bottom: 0;
  margin-bottom: calc( calc( 35.35% / -2));
  right: calc( calc( 35.35% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.top section.saloninfo div.secwrap div#slide2 div.slide_wrap {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}
body.top section.saloninfo div.secwrap div#slide2 div.slide_wrap ul {
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}
body.top section.saloninfo div.secwrap div#slide2 div.slide_wrap ul li {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
}
body.top section.saloninfo div.secwrap div#slide2 div.slide_wrap ul li.si_pic1 {
  z-index: 1001;
  opacity: 0;
  animation: fadeInaa 14s ease -7s infinite alternate;
  -webkit-animation: fadeInaa 14s ease -7s infinite alternate;
}
body.top section.saloninfo div.secwrap div#slide2 div.slide_wrap ul div {
  width: 100%;
  height: 100%;
  position: relative;
}
body.top section.saloninfo div.secwrap div#slide2 a.slide_arr {
  width: 5%;
  min-width: 50px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 1002;
}
body.top section.saloninfo div.secwrap div#slide2 a.slide_arr:hover:before {
  opacity: 0.1;
}
body.top section.saloninfo div.secwrap div#slide2 a.slide_arr.slide_prev {
  left: 0;
}
body.top section.saloninfo div.secwrap div#slide2 a.slide_arr.slide_prev:after {
  background-image: url(../img/arr_prev2.png);
}
body.top section.saloninfo div.secwrap div#slide2 a.slide_arr.slide_next {
  right: 0;
}
body.top section.saloninfo div.secwrap div#slide2 a.slide_arr.slide_next:after {
  background-image: url(../img/arr_next2.png);
}
body.top section.saloninfo div.secwrap div#slide2 a.slide_arr:before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fff;
  position: relative;
  z-index: 0;
  top: 0;
  left: 0;
  display: block;
  opacity: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.top section.saloninfo div.secwrap div#slide2 a.slide_arr:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 26px auto;
}
body.top section.saloninfo div.secwrap div#slide2 ul.ctrl {
  position: absolute;
  text-align: center;
  bottom: 0;
  z-index: 1002;
  width: 100%;
}
body.top section.saloninfo div.secwrap div#slide2 ul.ctrl li {
  display: inline-block;
  margin: 0 5px;
}
body.top section.saloninfo div.secwrap div#slide2 ul.ctrl li a {
  display: block;
  padding: 10px;
  width: 10px;
  height: 10px;
  position: relative;
  font-size: 0;
}
body.top section.saloninfo div.secwrap div#slide2 ul.ctrl li a:hover:after {
  background-color: #ccc;
  border: 1px solid #fff;
}
body.top section.saloninfo div.secwrap div#slide2 ul.ctrl li a.on:after {
  background-color: #000;
  border: 1px solid #fff;
}
body.top section.saloninfo div.secwrap div#slide2 ul.ctrl li a:after {
  content: "";
  width: 8px;
  height: 8px;
  margin-left: -4px;
  margin-top: -4px;
  top: 50%;
  left: 50%;
  position: absolute;
  border-radius: 100%;
  display: block;
  box-sizing: border-box;
  background-color: transparent;
  border: 1px solid #fff;
  transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: all 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.top section.saloninfo div.secwrap div.txt {
  position: absolute;
  z-index: 10;
  width: 37.5%;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 760px) {
  body.top section.saloninfo div.secwrap div.txt {
    position: relative;
    width: 100%;
  }
}
body.top section.saloninfo div.secwrap div.btn {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media only screen and (max-width: 760px) {
  body.top section.saloninfo div.secwrap div.btn {
    text-align: center;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-top: 4rem;
  }
}
body.top section.style div.secwrap_b {
  position: relative;
  width: 100%;
}
body.top section.style div.secwrap_b::before {
  position: absolute;
  display: block;
  content: "";
  width: 10%;
  padding-top: 10%;
  z-index: 0;
  background-color: #DBE9F2;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 760px) {
  body.top section.style div.secwrap_b::before {
    width: 20%;
    padding-top: 20%;
  }
}
body.top section.style div.secwrap_b::after {
  position: absolute;
  display: block;
  content: "";
  width: 14.14%;
  padding-top: 14.14%;
  background-color: #fff;
  z-index: 1;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
  top: 14.4%;
  left: 2.8%;
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
@media only screen and (max-width: 760px) {
  body.top section.style div.secwrap_b::after {
    width: 28.28%;
    padding-top: 28.28%;
    top: 7.6%;
    left: 5.5%;
  }
}
body.top section.style div.secwrap_b div.ttl {
  position: absolute;
  z-index: 10;
  top: 53%;
  left: 3.5%;
  margin-bottom: 0;
  transform-origin: top left;
  -moz-transform-origin: top left;
  -webkit-transform-origin: top left;
  transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
@media only screen and (max-width: 979px) {
  body.top section.style div.secwrap_b div.ttl {
    top: 60%;
    left: 2%;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.style div.secwrap_b div.ttl {
    top: 33%;
    left: 5%;
  }
}
body.top section.style div.secwrap_b div.ttl h2 {
  margin-bottom: 0;
  text-align: center;
}
body.top section.style div.secwrap_b div.ttl h2 span::before {
  display: inline-block;
  margin-bottom: -1px;
  margin-right: 1.5rem;
}
body.top section.style div.secwrap_b div.ttl h2 span::after {
  display: none;
}
body.top section.style div.secwrap_b div.body {
  position: relative;
}
body.top section.style div.secwrap_b div.body::before {
  position: absolute;
  content: "";
  width: 20%;
  height: 90%;
  background: url("../img/common/tri.svg") center center no-repeat;
  background-size: cover;
  top: 1rem;
  right: -1rem;
  z-index: 0;
}
@media only screen and (max-width: 1200px) {
  body.top section.style div.secwrap_b div.body::before {
    top: 1rem;
    right: -1rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.style div.secwrap_b div.body::before {
    display: block;
    width: 20%;
    height: auto;
    padding-top: 20%;
    z-index: 0;
    bottom: 8rem;
    right: 0;
    top: auto;
    transform-origin: center center;
    -moz-transform-origin: center center;
    -webkit-transform-origin: center center;
    transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
  }
}
body.top section.style div.secwrap_b div.body ul li {
  width: 40%;
  position: relative;
  z-index: 3;
  margin-bottom: 0;
}
body.top section.style div.secwrap_b div.body ul li:not(:nth-child(4n)) {
  margin-right: -20%;
}
body.top section.style div.secwrap_b div.body ul li div.img img {
  clip-path: polygon(50% 25%, 100% 25%, 50% 75%, 0% 75%);
  -moz-clip-path: polygon(50% 25%, 100% 25%, 50% 75%, 0% 75%);
  -webkit-clip-path: polygon(50% 25%, 100% 25%, 50% 75%, 0% 75%);
  margin-top: -25%;
  margin-bottom: -25%;
}
body.top section.style div.secwrap_b div.body div.img {
  position: relative;
  z-index: 10;
}
body.top section.style div.secwrap_b div.body div.btn {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media only screen and (max-width: 760px) {
  body.top section.style div.secwrap_b div.body div.btn {
    text-align: center;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-top: 4rem;
  }
}
body.top section.newsblog h2 span::after {
  display: none;
}
body.top section.newsblog div.btn {
  text-align: center;
}
@media only screen and (max-width: 979px) {
  body.top section.newsblog div.news div.ttl {
    text-align: center;
  }
  body.top section.newsblog div.news div.ttl h2 span:before {
    display: none;
  }
}
body.top section.newsblog div.news div.txt a {
  display: block;
  border-top: 1px solid #666666;
  background-color: transparent;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.top section.newsblog div.news div.txt a:last-child {
  border-bottom: 1px solid #666666;
}
body.top section.newsblog div.news div.txt a dl {
  border-top: none;
  border-bottom: none;
  padding: 1rem 0;
}
@media only screen and (min-width: 979px) {
  body.top section.newsblog div.news div.txt a:hover {
    background-color: #eee;
    transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
@media only screen and (max-width: 979px) {
  body.top section.newsblog div.blog {
    position: relative;
  }
  body.top section.newsblog div.blog div.ttl {
    position: absolute;
    z-index: 10;
    top: -2rem;
    left: 5rem;
  }
}
@media only screen and (max-width: 760px) {
  body.top section.newsblog div.blog {
    position: relative;
  }
  body.top section.newsblog div.blog div.ttl {
    position: absolute;
    top: 0rem;
    left: 0rem;
  }
}
body.top section.newsblog div.blog div.body {
  position: relative;
}
body.top section.newsblog div.blog div.body a {
  display: block;
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  body.top section.newsblog div.blog div.body a:hover {
    opacity: .5;
    transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
body.top section.newsblog div.blog div.body div.img {
  width: 100%;
  height: 12rem;
  z-index: 2;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 760px) {
  body.top section.newsblog div.blog div.body div.img {
    height: auto;
    width: 100%;
    margin-bottom: 3rem;
  }
}
body.top section.newsblog div.blog div.body div.img div.imgwrap {
  width: 100%;
  height: 100%;
  background-size: cover;
}
body.top section.newsblog div.blog div.body div.img::before, body.top section.newsblog div.blog div.body div.img::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 17.675%;
  padding-top: 17.675%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
body.top section.newsblog div.blog div.body div.img::before {
  top: 0;
  margin-top: calc( calc( 17.675% / -2));
  left: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.top section.newsblog div.blog div.body div.img::after {
  bottom: 0;
  margin-bottom: calc( calc( 17.675% / -2));
  right: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.top section.newsblog div.blog div.body div.txt {
  position: relative;
}
@media only screen and (max-width: 760px) {
  body.top section.newsblog div.blog div.body div.txt {
    position: relative;
    width: 100%;
    text-align: left;
  }
}
body.top section.newsblog div.blog div.body div.txt p.date {
  margin-top: 0.5rem;
}
@media only screen and (max-width: 760px) {
  body.top section.newsblog div.blog div.body div.txt p.date {
    margin-bottom: 1rem;
  }
}
body.top section.newsblog div.blog div.body div.txt p {
  white-space: nowrap;
}
body.top section.newsblog div.blog div.body div.txt p br {
  display: none;
}
@media only screen and (max-width: 760px) {
  body.top section.newsblog div.blog div.body div.txt p br {
    display: block;
  }
}

body.page h2 {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 760px) {
  body.page h2 {
    margin-bottom: 3rem;
  }
}
body.page h2 span {
  font-size: 1.33rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #666666;
}
@media only screen and (max-width: 979px) {
  body.page section.mv {
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.mv {
    margin-top: 1rem;
  }
}
body.page section.mv div.secwrap_b {
  position: relative;
}
body.page section.mv div.secwrap_b div.img {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 37.5vh;
}
@media only screen and (max-width: 979px) {
  body.page section.mv div.secwrap_b div.img {
    height: 30vh;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.mv div.secwrap_b div.img {
    height: 20vh;
  }
}
body.page section.mv div.secwrap_b div.img div.imgwrapmv {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
body.page section.mv div.secwrap_b div.img div.imgwrapmv.concept {
  background: url("../img/mv_concept.jpg") center 11% no-repeat;
  background-size: cover;
}
body.page section.mv div.secwrap_b div.img div.imgwrapmv.menu {
  background: url("../img/mv_hair.jpg") center 40% no-repeat;
  background-size: cover;
}
body.page section.mv div.secwrap_b div.img div.imgwrapmv.face {
  background: url("../img/mv_face.jpg") center 40% no-repeat;
  background-size: cover;
}
body.page section.mv div.secwrap_b div.img div.imgwrapmv.datsumou {
  background: url("../img/mv_datsumou.jpg") center 40% no-repeat;
  background-size: cover;
}
body.page section.mv div.secwrap_b div.img div.imgwrapmv.style {
  background: url("../img/mv_style.jpg") center 20% no-repeat;
  background-size: cover;
}
body.page section.mv div.secwrap_b div.img div.imgwrapmv.saloninfo {
  background: url("../img/mv_saloninfo.jpg") center 68% no-repeat;
  background-size: cover;
}
body.page section.mv div.secwrap_b div.img div.imgwrapmv.blog {
  background: url("../img/mv_blog.jpg") center 42% no-repeat;
  background-size: cover;
}
body.page section.mv div.secwrap_b div.img div.imgwrapmv.reserve {
  background: url("../img/mv_menu.jpg") center 24% no-repeat;
  background-size: cover;
}
body.page section.mv div.secwrap_b div.img::before, body.page section.mv div.secwrap_b div.img::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 17.675%;
  padding-top: 17.675%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
body.page section.mv div.secwrap_b div.img::before {
  margin-top: calc( calc( 17.675% / -2) );
  left: calc( calc( 17.675% / -2) );
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.mv div.secwrap_b div.img::after {
  bottom: 0;
  margin-bottom: calc( calc( 17.675% / -2));
  right: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.mv div.secwrap_b div.ttl {
  position: absolute;
  z-index: 10;
  width: 100%;
  top: 50%;
  margin-top: -1.8rem;
}
@media only screen and (max-width: 760px) {
  body.page section.mv div.secwrap_b div.ttl {
    margin-top: -1.25rem;
  }
}
body.page section.mv div.secwrap_b div.ttl h1 {
  text-align: center;
}
body.page section.mv div.secwrap_b div.ttl h1 span {
  background-color: #fff;
  padding: 1rem 4rem;
  line-height: 1;
  font-size: 1.8rem;
  letter-spacing: 0.28em;
}
@media only screen and (max-width: 760px) {
  body.page section.mv div.secwrap_b div.ttl h1 span {
    font-size: 1.5rem;
    padding: 0.5rem 3rem;
  }
}
body.page section.nav div.subnav p {
  text-align: center;
}
@media only screen and (max-width: 760px) {
  body.page section.nav div.subnav p {
    text-align: left;
  }
}
body.page section.nav div.subnav ul {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: center;
  -webkit-align-items: center;
}
body.page section.nav div.subnav ul li {
  width: auto;
  text-align: center;
}
body.page section.nav div.subnav ul li:not(:nth-child(3n)) {
  margin-right: 3rem;
}
body.page section.nav div.subnav ul li a {
  display: block;
  padding: 1rem 0;
  font-weight: bold;
}
body.page section.nav div.subnav ul li a span {
  border-bottom: 2px solid #666666;
}
body.page section.concept div.body {
  position: relative;
}
body.page section.concept div.body .left p, body.page section.concept div.body .left div.imgwrap {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}
body.page section.concept div.body .center p, body.page section.concept div.body .center div.imgwrap {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
body.page section.concept div.body .right p, body.page section.concept div.body .right div.imgwrap {
  text-align: left;
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body .right p, body.page section.concept div.body .right div.imgwrap {
    text-align: right;
  }
}
body.page section.concept div.body .txt {
  position: relative;
  margin-top: 10rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 979px) {
  body.page section.concept div.body .txt {
    margin-top: 8rem;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body .txt {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }
}
body.page section.concept div.body .txt p {
  width: 40rem;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body .txt p {
    width: 100%;
  }
}
body.page section.concept div.body .txt p span {
  line-height: 2.4;
  letter-spacing: 0.08em;
  font-size: 1.23rem;
  white-space: nowrap;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body .txt p span {
    font-size: 1.1rem;
  }
}
body.page section.concept div.body .img {
  width: 100%;
  z-index: 2;
  position: relative;
  margin-top: 2rem;
}
body.page section.concept div.body .img div.imgwrap {
  width: 62.5%;
  height: 30rem;
  position: relative;
}
@media only screen and (max-width: 979px) {
  body.page section.concept div.body .img div.imgwrap {
    height: 24rem;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body .img div.imgwrap {
    width: 75%;
    height: 10rem;
  }
}
body.page section.concept div.body .img div.imgwrap.i1 {
  background: url("../img/concept1.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.concept div.body .img div.imgwrap.i2 {
  background: url("../img/concept2.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.concept div.body .img div.imgwrap.i3 {
  background: url("../img/concept3.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.concept div.body .img div.imgwrap::before, body.page section.concept div.body .img div.imgwrap::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 17.675%;
  padding-top: 17.675%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
body.page section.concept div.body .img div.imgwrap::before {
  top: 0;
  margin-top: calc( calc( 17.675% / -2));
  left: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.concept div.body .img div.imgwrap::after {
  bottom: 0;
  margin-bottom: calc( calc( 17.675% / -2));
  right: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.concept div.body .img.b div.imgwrap {
  width: 100%;
}
body.page section.concept div.body .logo {
  width: 10rem;
  margin-top: 5rem;
  margin-left: auto;
  margin-right: auto;
}
body.page section.concept div.body .logo img {
  width: 100%;
}
body.page section.concept div.body .txt1 {
  margin-bottom: 20rem;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body .txt1 {
    margin-top: 8rem;
    margin-bottom: 13rem;
  }
}
body.page section.concept div.body .txt2 {
  margin-top: 20rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body .txt2 {
    margin-top: 15rem;
    margin-bottom: 10rem;
  }
}
body.page section.concept div.body .txt2 p span {
  position: relative;
  z-index: 10;
  font-size: 1.33rem;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body .txt2 p span {
    font-size: 1.1rem;
  }
}
body.page section.concept div.body .txt2 p span::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1rem;
  z-index: 0;
  bottom: -1.5rem;
  left: -2px;
  background-size: contain;
  background-repeat: repeat-x;
  background-position: top left;
  background-image: url("../img/common/line_bl.svg");
}
body.page section.concept div.body div.dec {
  position: absolute;
  z-index: 10;
}
body.page section.concept div.body div.dec img {
  width: 100%;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body div.dec {
    width: 20%;
  }
}
body.page section.concept div.body div.dec.dec1 {
  bottom: -15rem;
  right: 0;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body div.dec.dec1 {
    bottom: -6rem;
  }
}
body.page section.concept div.body div.dec.dec2 {
  bottom: -10rem;
  left: 0;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body div.dec.dec2 {
    bottom: 0rem;
  }
}
body.page section.concept div.body div.dec.dec3 {
  bottom: 0rem;
  right: 0;
}
body.page section.concept div.body div.dec.dec4 {
  top: -15rem;
  left: 0;
}
@media only screen and (max-width: 760px) {
  body.page section.concept div.body div.dec.dec4 {
    top: -10rem;
    z-index: 0;
  }
}
body.page section.saloninfo1 div.body {
  position: relative;
}
body.page section.saloninfo1 div.body h2, body.page section.saloninfo1 div.body p {
  text-align: center;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo1 div.body p {
    text-align: left;
  }
}
body.page section.saloninfo1 div.body .left p, body.page section.saloninfo1 div.body .left div.imgwrap {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}
body.page section.saloninfo1 div.body .center p, body.page section.saloninfo1 div.body .center div.imgwrap {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo1 div.body .center p, body.page section.saloninfo1 div.body .center div.imgwrap {
    text-align: left;
  }
}
body.page section.saloninfo1 div.body .right p, body.page section.saloninfo1 div.body .right div.imgwrap {
  text-align: left;
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo1 div.body .right p, body.page section.saloninfo1 div.body .right div.imgwrap {
    text-align: right;
  }
}
body.page section.saloninfo1 div.body .img {
  width: 100%;
  z-index: 2;
  position: relative;
  margin-top: 6rem;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo1 div.body .img {
    margin-top: 3rem;
  }
}
body.page section.saloninfo1 div.body .img div.imgwrap {
  width: 100%;
  padding-top: 50%;
  position: relative;
}
body.page section.saloninfo1 div.body .img div.imgwrap.info1 {
  background: url("../img/dummy/img08.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.saloninfo1 div.body .img div.imgwrap.info2 {
  background: url("../img/saloninfo.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.saloninfo1 div.body .img div.imgwrap::before, body.page section.saloninfo1 div.body .img div.imgwrap::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 17.675%;
  padding-top: 17.675%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
body.page section.saloninfo1 div.body .img div.imgwrap::before {
  top: 0;
  margin-top: calc( calc( 17.675% / -2));
  left: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.saloninfo1 div.body .img div.imgwrap::after {
  bottom: 0;
  margin-bottom: calc( calc( 17.675% / -2));
  right: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.saloninfo1 div.body .img.b div.imgwrap {
  width: 100%;
}
body.page section.saloninfo2 div.body {
  position: relative;
}
body.page section.saloninfo2 div.body h2 {
  position: relative;
  z-index: 10;
  text-align: center;
}
body.page section.saloninfo2 div.body h3 span span {
  font-size: 1rem;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
body.page section.saloninfo2 div.body h3 span span.title {
  color: #656733;
}
body.page section.saloninfo2 div.body div.tb {
  margin-top: 6rem;
  margin-bottom: 6rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: center;
  -webkit-align-items: flex-start;
}
body.page section.saloninfo2 div.body div.tb.l div.txt {
  padding-left: 4rem;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo2 div.body div.tb.l div.txt {
    padding-left: 0;
  }
}
body.page section.saloninfo2 div.body div.tb.r div.txt {
  padding-right: 4rem;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo2 div.body div.tb.r div.txt {
    padding-right: 0;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo2 div.body div.tb {
    margin-top: 4rem;
  }
  body.page section.saloninfo2 div.body div.tb:nth-child(2n-1) {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}
body.page section.saloninfo2 div.body div.tb div.tc {
  vertical-align: top;
}
body.page section.saloninfo2 div.body div.tb div.tc.txt {
  width: 60%;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 979px) {
  body.page section.saloninfo2 div.body div.tb div.tc.txt {
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo2 div.body div.tb div.tc.txt {
    width: 100%;
    padding-left: 0rem;
  }
  body.page section.saloninfo2 div.body div.tb div.tc.txt h3 {
    text-align: center;
  }
}
body.page section.saloninfo2 div.body div.tb div.tc.txt h3 span {
  margin: 0;
  line-height: 1;
  margin-bottom: 1rem;
}
body.page section.saloninfo2 div.body div.tb div.tc.txt h3 span span.name {
  margin-top: 1rem;
}
body.page section.saloninfo2 div.body div.tb div.tc.txt h3 span span.title {
  display: block;
  font-size: 1rem;
  color: #656733;
}
body.page section.saloninfo2 div.body div.tb div.tc.txt p {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
body.page section.saloninfo2 div.body div.tb div.tc.txt dl {
  padding: 0rem 0;
}
body.page section.saloninfo2 div.body div.tb div.tc.txt dl dt {
  width: 10px;
  white-space: nowrap;
  padding-right: 2rem;
}
body.page section.saloninfo2 div.body div.tb div.img {
  width: 40%;
  z-index: 2;
  position: relative;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo2 div.body div.tb div.img {
    width: 100%;
    margin-top: 2rem;
  }
}
body.page section.saloninfo2 div.body div.tb div.img div.imgwrap {
  width: 100%;
  padding-top: 75%;
  position: relative;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo2 div.body div.tb div.img div.imgwrap {
    margin-bottom: 3rem;
  }
}
body.page section.saloninfo2 div.body div.tb div.img div.imgwrap.info2 {
  background: url("../img/kodaira.jpg") top left no-repeat;
  background-size: cover;
}
body.page section.saloninfo2 div.body div.tb div.img div.imgwrap::before, body.page section.saloninfo2 div.body div.tb div.img div.imgwrap::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 17.675%;
  padding-top: 17.675%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
body.page section.saloninfo2 div.body div.tb div.img div.imgwrap::before {
  top: 0;
  margin-top: calc( calc( 17.675% / -2));
  left: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.saloninfo2 div.body div.tb div.img div.imgwrap::after {
  bottom: 0;
  margin-bottom: calc( calc( 17.675% / -2));
  right: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.saloninfo2 div.body div.tb div.img.b div.imgwrap {
  width: 100%;
}
body.page section.saloninfo2 div.body div.staff ul li {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 979px) {
  body.page section.saloninfo2 div.body div.staff ul li {
    width: calc( ( 100% - 1rem * 2 ) / 3 );
  }
  body.page section.saloninfo2 div.body div.staff ul li:not(:nth-child(4n)) {
    margin-right: 0;
  }
  body.page section.saloninfo2 div.body div.staff ul li:not(:nth-child(3n)) {
    margin-right: 1rem;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo2 div.body div.staff ul li {
    width: calc( ( 100% - 1rem ) / 2 );
  }
  body.page section.saloninfo2 div.body div.staff ul li:not(:nth-child(3n)) {
    margin-right: 0;
  }
  body.page section.saloninfo2 div.body div.staff ul li:not(:nth-child(2n)) {
    margin-right: 1rem;
  }
}
body.page section.saloninfo2 div.body div.staff ul li h4 {
  text-align: center;
}
body.page section.saloninfo2 div.body div.staff ul li h4 span {
  font-size: 1.1rem;
}
body.page section.saloninfo2 div.body div.staff ul li h4 span span.title {
  display: block;
  font-size: 1rem;
  color: #656733;
}
body.page section.saloninfo3 div.body {
  position: relative;
}
body.page section.saloninfo3 div.body h2 {
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo3 div.body h2 {
    text-align: center;
  }
}
body.page section.saloninfo3 div.body div.tb div.tc {
  width: 50%;
  vertical-align: top;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo3 div.body div.tb div.tc {
    display: block;
    width: 100%;
  }
}
body.page section.saloninfo3 div.body div.tb div.txt {
  position: relative;
  z-index: 10;
  padding-right: 4rem;
}
@media only screen and (max-width: 979px) {
  body.page section.saloninfo3 div.body div.tb div.txt {
    padding-right: 2rem;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo3 div.body div.tb div.txt {
    padding-right: 0rem;
  }
  body.page section.saloninfo3 div.body div.tb div.txt h3 {
    text-align: center;
  }
}
body.page section.saloninfo3 div.body div.tb div.txt p {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
body.page section.saloninfo3 div.body div.tb div.txt dl {
  padding: 0.5rem 0;
  display: table;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo3 div.body div.tb div.txt dl {
    display: table;
    width: 100%;
  }
}
body.page section.saloninfo3 div.body div.tb div.txt dl dt, body.page section.saloninfo3 div.body div.tb div.txt dl dd {
  line-height: 2;
  display: table-cell;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo3 div.body div.tb div.txt dl dt, body.page section.saloninfo3 div.body div.tb div.txt dl dd {
    display: table-cell;
    white-space: normal;
  }
}
body.page section.saloninfo3 div.body div.tb div.txt dl dt {
  margin-bottom: 0.5rem;
  width: 120px;
  white-space: nowrap;
}
@media only screen and (max-width: 760px) {
  body.page section.saloninfo3 div.body div.tb div.txt dl dt {
    width: 120px;
    white-space: nowrap;
  }
}
body.page section.saloninfo3 div.body div.tb div.txt dl dd p {
  margin-top: 0;
  margin-bottom: 0;
}
body.page section.saloninfo3 div.body div.tb div.txt dl dd span.show_pctb {
  display: inline-block;
}
body.page section.saloninfo3 div.body div.tb div.txt dl dd p.mail span::before {
  content: "";
  display: inline-block;
  margin-bottom: -4px;
  padding-left: 2rem;
  width: 1.4rem;
  height: 1.4rem;
  background-size: contain !important;
  background-position: center;
  background: url("../img/common/mail.svg") no-repeat;
  background-repeat: no-repeat !important;
}
body.page section.saloninfo3 div.body .img {
  width: 100%;
  z-index: 2;
  position: relative;
  margin-top: 2rem;
}
body.page section.saloninfo3 div.body .img div.imgwrap {
  width: 100%;
  height: 30rem;
  position: relative;
}
body.page section.saloninfo3 div.body .img div.imgwrap.info2 {
  background: url("../img/dummy/img10.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.saloninfo3 div.body .img div.imgwrap::before, body.page section.saloninfo3 div.body .img div.imgwrap::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 17.675%;
  padding-top: 17.675%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
body.page section.saloninfo3 div.body .img div.imgwrap::before {
  top: 0;
  margin-top: calc( calc( 17.675% / -2));
  left: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.saloninfo3 div.body .img div.imgwrap::after {
  bottom: 0;
  margin-bottom: calc( calc( 17.675% / -2));
  right: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.saloninfo3 div.body .img.b div.imgwrap {
  width: 100%;
}
body.page section.style div#modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 999999;
  display: none;
}
body.page section.style div#modal div.base {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-image: url("../img/loading.gif");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px auto;
}
body.page section.style div#modal div.pic {
  position: absolute;
  z-index: 1;
  width: 60%;
  max-width: 1000px;
  left: 12.5%;
  top: 17%;
  opacity: 0;
}
body.page section.style div#modal div.pic img {
  width: 80%;
  display: block;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
body.page section.style div#modal div.pic p {
  position: absolute;
  left: 0;
  bottom: -3rem;
  display: inline-block;
  color: #000;
}
body.page section.style div#modal div.pic a.modal_arr {
  position: absolute;
  top: 0;
  width: 50px;
  height: 100%;
  background-color: transparent;
  display: block;
  background-position: center center;
  background-size: 34px 38px;
  background-repeat: no-repeat;
}
body.page section.style div#modal div.pic a.modal_arr.modal_prev {
  left: -5rem;
  background-image: url("../img/common/arr.svg");
}
body.page section.style div#modal div.pic a.modal_arr.modal_next {
  right: -5rem;
  background-image: url("../img/common/arr.svg");
  transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
}
body.page section.style div#modal div.pic a.modal_close {
  position: absolute;
  top: -50px;
  right: -50px;
  color: #000;
  font-size: 16px;
  font-weight: bold;
  display: block;
  padding-left: 24px;
}
body.page section.style div#modal div.pic a.modal_close::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 20px;
  height: 20px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/common/close.svg);
}
body.page section.style ul.stylelist li {
  width: 25%;
  margin-bottom: 0;
  opacity: 1;
  position: relative;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.page section.style ul.stylelist li:not(:nth-child(4n)) {
  margin-right: 0;
}
@media only screen and (max-width: 979px) {
  body.page section.style ul.stylelist li {
    width: 33.333%;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.style ul.stylelist li {
    width: 50%;
  }
}
body.page section.style ul.stylelist li:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -15px;
  margin-left: -15px;
  width: 30px;
  height: 30px;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url(../img/common/more.svg);
  opacity: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  body.page section.style ul.stylelist li:hover {
    opacity: 0.5;
    transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.page section.style ul.stylelist li:hover::before {
    opacity: 1;
    transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
body.page section.menu div.body {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -webkit-align-items: stretch;
}
@media only screen and (max-width: 979px) {
  body.page section.menu div.body {
    display: block;
  }
}
body.page section.menu div.body div.menuwrap {
  width: calc( ( 100% - 10rem ) / 2 );
}
@media only screen and (max-width: 979px) {
  body.page section.menu div.body div.menuwrap {
    width: 100%;
  }
}
body.page section.menu div.body div.menuwrap:first-child {
  margin-right: 10rem;
}
@media only screen and (max-width: 979px) {
  body.page section.menu div.body div.menuwrap:first-child {
    margin-right: 0;
  }
}
body.page section.menu div.body div.menuwrap div.menubox {
  width: 100%;
  margin-bottom: 6rem;
  margin-left: auto;
  margin-right: auto;
}
body.page section.menu div.body div.menuwrap div.menubox div.txt h2 {
  margin-bottom: 2rem;
  padding-bottom: 0.5rem;
  border-bottom: solid 2px #666666;
}
body.page section.menu div.body div.menuwrap div.menubox div.txt h2 span {
  font-size: 1rem;
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
body.page section.menu div.body div.menuwrap div.menubox div.txt div.menulist dl {
  padding: 1rem 0;
  width: 100%;
}
body.page section.menu div.body div.menuwrap div.menubox div.txt div.menulist dl dt, body.page section.menu div.body div.menuwrap div.menubox div.txt div.menulist dl dd {
  vertical-align: middle;
  line-height: 2;
}
body.page section.menu div.body div.menuwrap div.menubox div.txt div.menulist dl dt.menuttl {
  width: 1px;
  white-space: nowrap;
  padding-right: 2rem;
}
body.page section.menu div.body div.menuwrap div.menubox div.txt div.menulist dl dt.menuttl span span.cap {
  display: block;
  color: #999999;
}
@media only screen and (max-width: 760px) {
  body.page section.menu div.body div.menuwrap div.menubox div.txt div.menulist dl dt.menuttl span span.cap {
    display: none;
  }
}
body.page section.menu div.body div.menuwrap div.menubox div.txt div.menulist dl dd.hr:after {
  width: 100%;
  content: "";
  height: 1px;
  background-image: url("../img/common/dots.png");
  background-repeat: repeat-x;
  display: block;
}
body.page section.menu div.body div.menuwrap div.menubox div.txt div.menulist dl dd.price {
  width: 1px;
  text-align: right;
  white-space: nowrap;
  padding-left: 2rem;
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg {
  width: 100%;
  height: 20rem;
  z-index: 2;
  position: relative;
  overflow: hidden;
  margin-top: 2rem;
}
@media only screen and (max-width: 979px) {
  body.page section.menu div.body div.menuwrap div.menubox div.cutimg {
    height: 28rem;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.menu div.body div.menuwrap div.menubox div.cutimg {
    height: 16rem;
  }
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg div.imgwrap {
  height: 120%;
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg div.imgwrap.i1 {
  background: url("../img/style1.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg div.imgwrap.i2 {
  background: url("../img/style2.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg div.imgwrap.i3 {
  background: url("../img/style3.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg div.imgwrap.i4 {
  background: url("../img/style4.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg div.imgwrap.i5 {
  background: url("../img/style5.jpg") center center no-repeat;
  background-size: cover;
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg div.imgwrap.i6 {
  background: url("../img/style6.jpg") center center no-repeat;
  background-size: cover;
}

body.page section.menu div.body div.menuwrap div.menubox div.cutimg::before, body.page section.menu div.body div.menuwrap div.menubox div.cutimg::after {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: 17.675%;
  padding-top: 17.675%;
  z-index: 3;
  transform-origin: center center;
  -moz-transform-origin: center center;
  -webkit-transform-origin: center center;
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg::before {
  top: 0;
  margin-top: calc( calc( 17.675% / -2));
  left: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.menu div.body div.menuwrap div.menubox div.cutimg::after {
  bottom: 0;
  margin-bottom: calc( calc( 17.675% / -2));
  right: calc( calc( 17.675% / -2));
  transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
body.page section.blog div.tb {
  width: 100%;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 760px) {
  body.page section.blog div.tb {
    display: block;
  }
}
body.page section.blog div.tb div.tc {
  vertical-align: top;
}
@media only screen and (max-width: 760px) {
  body.page section.blog div.tb div.tc {
    display: block;
  }
}
body.page section.blog div.tb div.tc.ttl {
  width: 33.33%;
  padding-right: 3rem;
}
@media only screen and (max-width: 760px) {
  body.page section.blog div.tb div.tc.ttl {
    width: 100%;
    padding-right: 0;
    margin-bottom: 2rem;
  }
}
body.page section.blog div.tb div.tc.ttl h2 {
  margin-bottom: 1rem;
}
body.page section.blog div.tb div.tc.ttl h2 span {
  white-space: normal;
  line-height: 2;
  font-size: 1.2rem;
  border-bottom: none;
}
body.page section.blog div.tb div.tc.body p {
  text-align: left;
  line-height: 2;
}
body.page section.blog div.tb div.tc.body p img {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  overflow: hidden;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
body.page section.blog div.tb div.tc.body div.img {
  width: 100%;
  z-index: 2;
  position: relative;
  overflow: hidden;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
body.page section.blog div.tb div.tc.body div.img div.imgwrap {
  width: 100%;
}
body.page section.blog div.hr {
  margin-bottom: 6rem;
}
body.page section div.secwrap div.pager {
  margin-top: 6rem;
}
body.page section div.secwrap div.pager ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: center;
  -webkit-align-items: center;
}
body.page section div.secwrap div.pager ul li {
  width: auto;
}
body.page section div.secwrap div.pager ul li:not(:nth-child(10n)) {
  margin-right: 3rem;
}
@media only screen and (max-width: 479px) {
  body.page section div.secwrap div.pager ul li:not(:nth-child(10n)) {
    margin-right: 1.5rem;
  }
}
body.page section div.secwrap div.pager ul li a.current {
  border-bottom: 1px solid #000;
}
body.page section.reserve div.txt {
  margin-bottom: 4rem;
}
body.page section.reserve p {
  text-align: center;
}
body.page section.reserve p.textlink {
  margin-top: 0.5rem;
}
body.page section.reserve p.textlink span::before {
  content: "";
  display: inline-block;
  margin-bottom: -4px;
  padding-left: 2rem;
  width: 1.4rem;
  height: 1.4rem;
  background-size: contain !important;
  background-position: center;
  background: url("../img/common/mail.svg") no-repeat;
  background-repeat: no-repeat !important;
}
body.page section.reserve button {
  width: 400px;
  display: block;
  margin-top: 2rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 760px) {
  body.page section.reserve button {
    width: 100%;
  }
}
body.page section.reserve button a {
  display: block;
  width: 100%;
  border: 2px solid #666666;
  padding: 1.5rem 0;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.page section.reserve button a.tel span::before {
  background: url("../img/common/tel.svg") no-repeat;
}
body.page section.reserve button a.hb span::before {
  background: url("../img/common/hb.svg") no-repeat;
}
body.page section.reserve button a span {
  font-size: 1.1rem;
  font-weight: bold;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.page section.reserve button a span::before {
  content: "";
  display: inline-block;
  margin-bottom: -4px;
  padding-left: 2rem;
  width: 1.5rem;
  height: 1.5rem;
  letter-spacing: 0.08em;
  background-size: contain !important;
  background-position: center;
  background-repeat: no-repeat !important;
  transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  body.page section.reserve button a:hover {
    background-color: #666666;
    transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.page section.reserve button a:hover.tel span::before {
    background: url("../img/common/tel_w.svg") no-repeat;
    transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.page section.reserve button a:hover.hb span::before {
    background: url("../img/common/hb_w.svg") no-repeat;
    transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.page section.reserve button a:hover span {
    color: #fff;
    transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
body.page section.reserve button.tel {
  cursor: normal;
}
body.page section.reserve button.tel div.cover {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 100;
}
body.page section.bnr div.to_reserve {
  width: 63rem;
  height: 10rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
@media only screen and (min-width: 979px) {
  body.page section.bnr div.to_reserve:hover div.body a:before {
    top: 1rem;
    left: 1rem;
    transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  body.page section.bnr div.to_reserve:hover div.body a p span {
    top: 1rem;
    left: 1rem;
    transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
@media only screen and (max-width: 1200px) {
  body.page section.bnr div.to_reserve {
    width: 80%;
  }
}
@media only screen and (max-width: 760px) {
  body.page section.bnr div.to_reserve {
    width: 24rem;
  }
  body.page section.bnr div.to_reserve p {
    right: 3rem !important;
  }
}
body.page section.bnr div.to_reserve div.body {
  width: 100%;
  height: 100%;
  position: relative;
}
body.page section.bnr div.to_reserve div.body a {
  display: block;
  width: 100%;
  height: 100%;
  z-index: 0;
  position: relative;
}
body.page section.bnr div.to_reserve div.body a::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 3;
  background-size: cover;
  background-position: center;
  background-image: url("../img/bnr1.png");
  transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 479px) {
  body.page section.bnr div.to_reserve div.body a::before {
    background-image: url("../img/bnr1_sp.png");
  }
}
body.page section.bnr div.to_reserve div.body a::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 1rem;
  left: 1rem;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-image: url("../img/bnr2.png");
  transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 479px) {
  body.page section.bnr div.to_reserve div.body a::after {
    background-image: url("../img/bnr2_sp.png");
  }
}
body.page section.bnr div.to_reserve div.body a p {
  text-align: right;
  position: absolute;
  z-index: 20;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -102px;
  opacity: 1;
}
@media only screen and (max-width: 979px) {
  body.page section.bnr div.to_reserve div.body a p {
    margin-top: -15px;
    margin-left: -81px;
  }
}
body.page section.bnr div.to_reserve div.body a p span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  z-index: 10;
  background-color: #fff;
  padding: 1rem 4rem;
  line-height: 1;
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: 0.28em;
  transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: top 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}

@keyframes fadeInaa {
  0% {
    opacity: 0;
  }
  57% {
    opacity: 0;
  }
  71% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInaa {
  0% {
    opacity: 0;
  }
  57% {
    opacity: 0;
  }
  71% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
footer {
  background-color: #DEE4E5;
}
footer div.footer_wrap {
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 6rem;
  padding-bottom: 3rem;
}
@media only screen and (max-width: 979px) {
  footer div.footer_wrap {
    padding-left: 4rem;
    padding-right: 4rem;
    width: 100%;
  }
}
@media only screen and (max-width: 760px) {
  footer div.footer_wrap {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
footer div.footer_wrap div.logo {
  width: 132px;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 760px) {
  footer div.footer_wrap div.logo {
    display: none;
  }
}
footer div.footer_wrap div.f_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -webkit-align-items: stretch;
}
@media only screen and (max-width: 760px) {
  footer div.footer_wrap div.f_nav {
    display: none;
  }
}
footer div.footer_wrap div.f_nav div.f_nav_box {
  width: 33.333%;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.img {
  width: 120px;
  margin-bottom: 2rem;
}
footer div.footer_wrap div.f_nav div.f_nav_box h4 {
  margin-bottom: 2rem;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt p.opentime {
  font-weight: 600;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt p.sns {
  margin-top: 0.5rem;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt p.sns a span {
  border-bottom: 1px solid transparent;
  transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: border-bottom 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt p.sns a span::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 1rem;
  background-size: cover;
  background-position: center center;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt p.sns a span.fb {
  background: url("../img/common/fb.svg") no-repeat;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt p.sns a span.in {
  background: url("../img/common/in.svg") no-repeat;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn {
  width: 100%;
  margin-top: 1rem;
  position: relative;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn.tel {
  cursor: normal;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn.tel div.cover {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 100;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a {
  background-color: transparent;
  border: #666666 1px solid;
  width: 100%;
  height: auto;
  line-height: 1;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a.tel span::before {
  background: url("../img/common/tel.svg") no-repeat;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a.mail span::before {
  background: url("../img/common/mail.svg") no-repeat;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a.hb span::before {
  background: url("../img/common/hb.svg") no-repeat;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a span {
  position: relative;
  font-weight: bold;
  color: #000;
  letter-spacing: 0.08em;
  line-height: 1.4rem;
  padding: 1rem 0;
  display: block;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a span::before {
  content: "";
  display: inline-block;
  margin-bottom: -4px;
  padding-left: 2rem;
  width: 1.4rem;
  height: 1.4rem;
  background-size: contain !important;
  background-position: center;
  background-repeat: no-repeat !important;
  transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -webkit-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -moz-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -o-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  -ms-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 979px) {
  footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a:hover {
    background-color: #666666;
    transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a:hover.tel span::before {
    background: url("../img/common/tel_w.svg") no-repeat;
    transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a:hover.mail span::before {
    background: url("../img/common/mail_w.svg") no-repeat;
    transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a:hover.hb span::before {
    background: url("../img/common/hb_w.svg") no-repeat;
    transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: background 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
  footer div.footer_wrap div.f_nav div.f_nav_box div.txt div.btn button.ftbtn a:hover span {
    color: #fff;
    transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -webkit-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -moz-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -o-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
    -ms-transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
footer div.footer_wrap div.f_nav div.f_nav_box div.txt p.textlink {
  margin-top: 1rem;
}
footer div.footer_wrap p.copyright {
  text-align: center;
  margin-top: 4rem;
  font-size: 0.8rem;
}
@media only screen and (max-width: 760px) {
  footer div.footer_wrap p.copyright {
    margin-top: 0;
  }
}

body.top2 footer, body.concept2 footer {
  background-color: #d0cfcc;
}

#template_nav {
  position: fixed;
  left: 0;
  bottom: 0;
  display: table;
  background-color: #fff;
  width: 100%;
  border-top: 1px solid #cccccc;
  height: 80px;
}
#template_nav div#fz span,
#template_nav div#lh span {
  line-height: 20px;
  display: inline-block;
  padding: 0 5px;
  letter-spacing: 0.1em;
  font-size: 11px;
}
#template_nav div#fz span.style,
#template_nav div#lh span.style {
  width: 100px;
}
#template_nav div#fz input,
#template_nav div#lh input {
  width: 50px;
  line-height: 20px;
  font-size: 14px;
  border: 1px solid #ccc;
  text-align: right;
  padding: 0 6px;
  outline: 0;
}
#template_nav #template_ctrl {
  display: table-cell;
  vertical-align: middle;
  padding-left: 20px;
  padding-right: 20px;
  width: 224px;
}
#template_nav #palette {
  display: table-cell;
  vertical-align: middle;
  border-left: 1px solid #cccccc;
  padding-left: 20px;
  padding-top: 6px;
}
#template_nav #palette .box {
  width: 30px;
  height: 30px;
  margin-right: 10px;
  display: inline-block;
  position: relative;
}
#template_nav #palette .box.active:after {
  opacity: 1;
}
#template_nav #palette .box:after {
  opacity: 0;
  width: 36px;
  height: 36px;
  border: 1px solid #cccccc;
  content: "";
  position: absolute;
  top: -3px;
  left: -3px;
  box-sizing: border-box;
}
#template_nav #palette .box.box_01 {
  background-color: #000000;
}
#template_nav #palette .box.box_02 {
  background-color: #000000;
}
#template_nav #palette .box.box_03 {
  background-color: #000000;
}
#template_nav #palette .box.box_04 {
  background-color: #000000;
}
#template_nav #palette .box.box_05 {
  background-color: #000000;
}
#template_nav #palette .box.box_06 {
  background-color: #000000;
}
#template_nav #palette .box.box_07 {
  background-color: #000000;
}
#template_nav #palette .box.box_08 {
  background-color: #000000;
}
#template_nav #palette .box.box_09 {
  background-color: #000000;
}
#template_nav #palette .box.box_10 {
  background-color: #000000;
}

div#template {
  padding-top: 100px;
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 760px) {
  div#template {
    width: 80%;
  }
}
div#template ul li {
  margin-bottom: 60px;
}
div#template ul li p {
  display: block;
}
