@charset "UTF-8";
/*==================================
      レスポンシブ設定 マップ型変数breakpointsを定義
      =================================*/
/*==================================
      # 色、フォントファミリー
      =================================*/
@font-face {
  font-family: 'SnellBT-Regular';
  src: url(../font/SnellBT-Regular.otf);
}

/*==================================
      common(一般) - 全体に共通するスタイル
      =================================*/
@media screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
}

@media screen and (max-width: 1000px) {
  .is-pc1000 {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .is-sp {
    display: none !important;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  font-size: 16px;
  color: #000;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  background: #fff;
  margin: 0 auto;
  padding-top: 73.8px;
  display: none;
}

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

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

.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

@media screen and (max-width: 767px) {
  .inner {
    padding: 0 20px;
  }
}

img {
  width: 100%;
  vertical-align: bottom;
}

a {
  font-family: "Noto Serif JP", serif;
}

::-webkit-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

:-ms-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::-ms-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::placeholder {
  color: rgba(62, 62, 62, 0.5);
}

input[type="text"],
input[type="email"],
input[type="submit"],
select,
textarea {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px solid #000;
  background: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  width: 100%;
  padding: 0;
  margin: 0;
  outline: none;
  padding: 10px;
  background: #F4F4F4;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 250;
  background: #fff;
  -webkit-transition: .5s;
  transition: .5s;
}

.header.active {
  -webkit-box-shadow: 0 1px 6px #c8c8c8;
          box-shadow: 0 1px 6px #c8c8c8;
}

.header .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 18px 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .header .flex {
    padding: 15px 0;
  }
}

.header .flex .logo {
  max-width: 230px;
  margin-right: 40px;
}

@media screen and (max-width: 1000px) {
  .header .flex .logo {
    max-width: 100px;
  }
}

@media screen and (max-width: 767px) {
  .header .flex .logo {
    max-width: 150px;
  }
}

.header .flex .logo a {
  -webkit-transition: .3s;
  transition: .3s;
}

.header .flex .logo a:hover {
  opacity: .6;
}

.header .flex .header-ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  margin-left: auto;
}

.header .flex .header-ul li {
  margin-right: 25px;
}

@media screen and (max-width: 1000px) {
  .header .flex .header-ul li {
    margin-right: 15px;
  }
}

.header .flex .header-ul li:last-child {
  margin-right: 0;
}

.header .flex .header-ul li a {
  font-size: 15px;
  color: #000;
  white-space: nowrap;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 1000px) {
  .header .flex .header-ul li a {
    font-size: 12px;
  }
}

.header .flex .header-ul li a:hover {
  color: #CB2C2C;
}

.drawer-icon {
  position: fixed;
  top: 18.5px;
  right: 20px;
  z-index: 300;
  -webkit-transition: -webkit-transform .5s ease 0s;
  transition: -webkit-transform .5s ease 0s;
  transition: transform .5s ease 0s;
  transition: transform .5s ease 0s, -webkit-transform .5s ease 0s;
}

@media screen and (min-width: 768px) {
  .drawer-icon {
    display: none;
  }
}

.drawer-icon.is-active {
  -webkit-transform: translateX(-200px);
          transform: translateX(-200px);
}

.drawer-icon.is-active .drawer-icon-bar1 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 8px;
  background: #502A0F;
  height: 3px;
}

.drawer-icon.is-active .drawer-icon-bar2 {
  opacity: 0;
}

.drawer-icon.is-active .drawer-icon-bar3 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 8px;
  background: #502A0F;
  height: 3px;
}

.drawer-icon-bars {
  width: 25px;
  height: 20px;
  display: block;
  position: relative;
}

.drawer-icon-bar1,
.drawer-icon-bar2,
.drawer-icon-bar3 {
  position: absolute;
  width: 22px;
  height: 2px;
  background: #CB2C2C;
  top: 0;
  left: 0;
}

.drawer-icon-bar1 {
  top: 0;
}

.drawer-icon-bar2 {
  top: 8px;
}

.drawer-icon-bar3 {
  top: 16px;
}

.drawer-content {
  width: 200px;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  background: #502A0F;
  z-index: 270;
  -webkit-transform: translateX(105%);
          transform: translateX(105%);
  -webkit-transition: -webkit-transform .5s ease 0s;
  transition: -webkit-transform .5s ease 0s;
  transition: transform .5s ease 0s;
  transition: transform .5s ease 0s, -webkit-transform .5s ease 0s;
}

.drawer-content.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.drawer-content .sns-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px;
}

.drawer-content .sns-list {
  width: 40px;
  margin-right: 10px;
}

.drawer-content .sns-list:last-child {
  margin-right: 0;
}

.drawer-icon-nav ul li {
  border-bottom: 1px dotted #fff;
}

.drawer-icon-nav ul li a {
  display: block;
  color: #fff;
  padding: 18px 20px;
}

.drawer-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(250, 238, 238, 0.8);
  z-index: 260;
  display: none;
}

.drawer-mask.is-active {
  display: block;
}

.mv {
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 767px) {
  .mv::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.4);
  }
}

.mv .contents {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 30px;
  font-weight: 500;
  color: #502A0F;
  text-shadow: 2px 2px 4px #fff, -1px -1px 4px #fff;
  letter-spacing: 2px;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .mv .contents {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    left: 50%;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 5;
  }
}

.mv .contents .text1 {
  position: relative;
}

.mv .contents .text1::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
  -webkit-filter: blur(1px);
          filter: blur(1px);
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .mv .contents .text1::after {
    content: "筋膜リリース×インナーケアで";
  }
}

.mv .contents .text2 {
  position: relative;
}

.mv .contents .text2::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #fff;
  -webkit-filter: blur(1px);
          filter: blur(1px);
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .mv .contents .text2::after {
    content: "一生モノの健康美に";
  }
}

.mv-img {
  width: 100%;
  max-width: 1040px;
  margin-left: auto;
}

@media screen and (min-width: 1701px) {
  .mv-img {
    max-width: 1340px;
  }
}

.footer {
  margin-top: 70px;
  padding: 60px 0 20px;
  background: #502A0F;
}

@media screen and (max-width: 767px) {
  .footer {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .footer {
    padding: 30px 0 10px;
  }
}

.footer .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .footer .flex {
    display: block;
    margin: 0 auto;
    margin-bottom: 30px;
    max-width: 500px;
  }
}

.footer .flex .left {
  width: 44%;
}

@media screen and (max-width: 767px) {
  .footer .flex .left {
    width: 100%;
    margin-bottom: 20px;
  }
}

.footer .flex .left .footer_logo {
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 767px) {
  .footer .flex .left .footer_logo {
    text-align: center;
  }
}

.footer .flex .left .footer_logo a {
  max-width: 353px;
  -webkit-transition: .3s;
  transition: .3s;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .footer .flex .left .footer_logo a {
    max-width: 150px;
    margin: 0 auto;
  }
}

.footer .flex .left .footer_logo a:hover {
  opacity: .6;
}

.footer .flex .left .contents {
  font-size: 15px;
  color: #fff;
  line-height: 1.7;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .footer .flex .left .contents {
    font-size: 14px;
  }
}

.footer .flex .left .sns-lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .footer .flex .left .sns-lists {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.footer .flex .left .sns-list {
  width: 40px;
  margin-right: 10px;
}

.footer .flex .left .sns-list:last-child {
  margin-right: 0;
}

.footer .flex .left .sns-list a {
  -webkit-transition: .3s;
  transition: .3s;
}

.footer .flex .left .sns-list a:hover {
  opacity: .6;
}

.footer .flex .right {
  width: 44%;
}

@media screen and (max-width: 767px) {
  .footer .flex .right {
    width: 100%;
  }
}

.footer .flex .right ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767px) {
  .footer .flex .right ul {
    max-width: 300px;
    margin: 0 auto;
  }
}

.footer .flex .right ul li {
  width: calc(50% - 60px * 1/2);
  margin-right: 60px;
}

@media screen and (max-width: 767px) {
  .footer .flex .right ul li {
    width: calc(50% - 30px * 1/2);
    margin-right: 30px;
  }
}

.footer .flex .right ul li:nth-child(2n) {
  margin-right: 0;
}

.footer .flex .right ul li:nth-child(n + 3) {
  margin-top: 20px;
}

.footer .flex .right ul li a {
  font-size: 15px;
  color: #fff;
  -webkit-transition: .3s;
  transition: .3s;
  white-space: nowrap;
}

@media screen and (max-width: 1000px) {
  .footer .flex .right ul li a {
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .footer .flex .right ul li a {
    font-size: 13px;
  }
}

.footer .flex .right ul li a:hover {
  color: #CB2C2C;
}

.copyright {
  color: #Fff;
  text-align: center;
  padding: 0 20px;
  font-size: 12px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 767px) {
  .copyright {
    font-size: 10px;
    padding-top: 10px;
  }
}

.section {
  padding: 80px 0 100px;
}

@media screen and (max-width: 1000px) {
  .section {
    padding: 50px 0;
  }
}

@media screen and (max-width: 767px) {
  .section {
    padding: 50px 0;
  }
}

.sc {
  padding-top: 0px;
}

@media screen and (max-width: 767px) {
  .sc {
    padding-top: 0px;
  }
}

.section-title {
  margin-bottom: 60px;
}

.section-title.mabo30 {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .section-title {
    margin-bottom: 30px;
    text-align: center;
  }
}

.section-title .sec-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.section-title .sec-flex.center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .section-title .sec-flex {
    display: block;
  }
}

.section-title .en {
  font-family: "SnellBT-Regular", serif;
  font-size: 106px;
  color: #502A0F;
  line-height: 1;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .section-title .en {
    font-size: 47px;
    white-space: nowrap;
  }
}

.section-title .ja {
  font-size: 14px;
  font-weight: 500;
  color: #502A0F;
  width: 100%;
}

.section-title .ja.font24 {
  font-size: 24px;
  font-weight: 500;
  margin-left: 40px;
}

@media screen and (max-width: 767px) {
  .section-title .ja.font24 {
    margin-left: 0;
    font-size: 18px;
  }
}

.section-title .ja.block-ja {
  margin-top: 20px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .section-title .ja.block-ja {
    left: -1%;
  }
}

@media screen and (max-width: 767px) {
  .section-title .ja.mato10 {
    margin-top: 10px;
  }
}

.topNews .box {
  max-width: 800px;
  margin: 0 auto;
  border-radius: 10px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 10px 70px 40px;
}

@media screen and (max-width: 767px) {
  .topNews .box {
    padding: 10px 20px 20px;
  }
}

.topNews ul li:last-child a {
  border-bottom: none;
}

.topNews ul li a {
  border-bottom: 1px dashed rgba(0, 0, 0, 0.2);
  display: block;
  padding: 30px 10px;
  font-size: 14px;
  color: #000;
  -webkit-transition: .3s;
  transition: .3s;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .topNews ul li a {
    padding: 20px 0;
  }
}

.topNews ul li a:hover {
  color: #CB2C2C;
}

.topNews ul li a .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .topNews ul li a .flex {
    display: block;
  }
}

.topNews ul li a .time {
  width: 170px;
}

@media screen and (max-width: 767px) {
  .topNews ul li a .time {
    width: 100%;
    margin-bottom: 10px;
  }
}

.topNews ul li a .title {
  width: calc(100% - 170px);
}

@media screen and (max-width: 767px) {
  .topNews ul li a .title {
    width: 100%;
  }
}

.topNews .more-btn {
  text-align: right;
}

.topNews .more-btn a {
  display: inline-block;
  -webkit-transition: .3s;
  transition: .3s;
}

.topNews .more-btn a .more-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}

.topNews .more-btn a .arrow {
  display: inline-block;
  max-width: 30px;
  width: 100%;
  position: relative;
  top: -11px;
  margin-right: 20px;
  -webkit-transition: .3s;
  transition: .3s;
}

.topNews .more-btn a .text {
  color: #502A0F;
  font-size: 14px;
  font-weight: 500;
  -webkit-transition: .3s;
  transition: .3s;
}

.topNews .more-btn a .no_hover {
  position: absolute;
  opacity: 0;
}

.topNews .more-btn a:hover {
  -webkit-transition: .3s;
  transition: .3s;
}

.topNews .more-btn a:hover .text {
  color: #CB2C2C;
  -webkit-transition: .3s;
  transition: .3s;
}

.topNews .more-btn a:hover .arrow {
  -webkit-transform: translateX(7px);
          transform: translateX(7px);
  -webkit-transition: .3s;
  transition: .3s;
}

.topNews .more-btn a:hover .no_hover {
  position: initial;
  opacity: 1;
}

.topNews .more-btn a:hover .hover {
  position: absolute;
  opacity: 0;
}

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

@media screen and (max-width: 767px) {
  .topAbout .flex {
    display: block;
  }
}

.topAbout .flex .img {
  width: 40%;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 40px;
  margin-left: calc(50% - 50vw);
}

@media screen and (max-width: 767px) {
  .topAbout .flex .img {
    width: 100%;
    margin-right: 0px;
    margin-left: initial;
    margin-bottom: 10px;
  }
}

.topAbout .flex .img img {
  border-radius: 0 10px 10px 0;
}

@media screen and (max-width: 767px) {
  .topAbout .flex .img img {
    border-radius: 10px;
  }
}

.topAbout .flex .contents {
  width: 57%;
}

@media screen and (max-width: 767px) {
  .topAbout .flex .contents {
    width: 100%;
  }
}

.topAbout .flex .contents .text {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .topAbout .flex .contents .text {
    margin-bottom: 30px;
  }
}

.topAbout .flex .btn {
  text-align: right;
}

@media screen and (max-width: 767px) {
  .topAbout .flex .btn {
    text-align: center;
  }
}

.section-btn .sec-btn-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section-btn a {
  border-radius: 30px;
  font-size: 16px;
  display: inline-block;
  padding: 18.5px 46.5px;
  background: #CB2C2C;
  color: #fff;
  text-align: center;
  line-height: 1;
  border: 1px solid #CB2C2C;
  -webkit-transition: .3s;
  transition: .3s;
}

.section-btn a .arrow {
  width: 22px;
  position: relative;
  top: -5px;
  margin-left: 15px;
  -webkit-transition: .3s;
  transition: .3s;
}

.section-btn a .no_hover {
  position: absolute;
  opacity: 0;
}

.section-btn a:hover {
  color: #CB2C2C;
  background: #fff;
}

.section-btn a:hover .no_hover {
  position: initial;
  opacity: 1;
}

.section-btn a:hover .hover {
  position: absolute;
  opacity: 0;
}

.section-btn a .btn-text {
  font-size: 16px;
  width: 100%;
}

.section-btn .section-btn-large {
  padding: 34px 80px;
  border-radius: 45px;
}

@media screen and (max-width: 767px) {
  .section-btn .section-btn-large {
    padding: 20px 30px;
  }
}

.section-btn .section-btn-large .btn-text {
  font-size: 20px;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .section-btn .section-btn-large .btn-text {
    font-size: 16px;
  }
}

.topMenu {
  background: url(../img/menu-bg.jpg) no-repeat center center/cover;
}

.topMenu .ul1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .topMenu .ul1 {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .topMenu .ul1 li {
    width: calc(33.3333% - 20px * 2/3);
    margin-right: 20px;
  }
  .topMenu .ul1 li:nth-child(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .topMenu .ul1 li {
    width: 100%;
    margin-bottom: 20px;
  }
  .topMenu .ul1 li:last-child {
    margin-bottom: 0;
  }
}

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

@media screen and (max-width: 767px) {
  .topMenu .ul2 {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .topMenu .ul2 li {
    width: calc(50% - 20px * 1/2);
    margin-right: 20px;
  }
  .topMenu .ul2 li:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .topMenu .ul2 li {
    width: 100%;
    margin-bottom: 20px;
  }
  .topMenu .ul2 li:last-child {
    margin-bottom: 0;
  }
}

.topMenu ul li {
  background: #FAEEEE;
  border-radius: 10px;
}

.topMenu ul li a {
  color: #000;
  border: 1px solid #FAEEEE;
  padding: 50px 0;
  display: block;
  border-radius: 10px;
  text-align: center;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 767px) {
  .topMenu ul li a {
    padding: 25px 0;
  }
}

.topMenu ul li a .title {
  font-size: 18px;
  font-weight: 500;
}

.topMenu ul li a .text {
  font-size: 16px;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .topMenu ul li a .text {
    margin-top: 20px;
  }
}

.topMenu ul li a:hover {
  background: #fff;
}

.movie li {
  padding: 0 5px;
}

.topBa ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .topBa ul {
    display: block;
    margin-bottom: 30px;
  }
}

.topBa ul li {
  width: 48%;
  padding: 20px 20px 25px;
  border-radius: 10px;
  background: #FAEEEE;
}

@media screen and (max-width: 767px) {
  .topBa ul li {
    width: 100%;
    margin-bottom: 30px;
    padding: 20px;
  }
  .topBa ul li:last-child {
    margin-bottom: 0;
  }
}

.topBa ul li .heading::after {
  position: absolute;
  content: "▶︎";
  font-size: 24px;
  color: #502A0F;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  left: 50%;
}

@media screen and (max-width: 1000px) {
  .topBa ul li .heading::after {
    font-size: 18px;
  }
}

@media screen and (max-width: 767px) {
  .topBa ul li .heading::after {
    font-size: 16px;
  }
}

.topBa ul li .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 20px;
  position: relative;
}

.topBa ul li .heading .img {
  width: 46%;
}

.topBa ul li .bottom .title {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 10px;
}

.topBa ul li .bottom .text {
  font-size: 16px;
}

.topBa .btn {
  text-align: center;
}

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

@media screen and (max-width: 767px) {
  .topSchool .flex {
    display: block;
  }
}

.topSchool .left {
  width: 46%;
}

@media screen and (max-width: 767px) {
  .topSchool .left {
    width: 100%;
    margin-bottom: 10px;
  }
}

.topSchool .left .contents {
  margin-bottom: 40px;
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .topSchool .left .contents {
    margin-bottom: 30px;
  }
}

.topSchool .btn {
  text-align: center;
  margin-bottom: 20px;
}

.topSchool .right {
  width: 50%;
}

@media screen and (min-width: 768px) {
  .topSchool .right {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-left: 40px;
    margin-right: calc(50% - 50vw);
  }
}

@media screen and (max-width: 767px) {
  .topSchool .right {
    width: 100%;
  }
  .topSchool .right img {
    border-radius: 10px;
  }
}

.banner1 .wrap {
  background: url(../img/banner1.png) no-repeat center center/cover;
  padding: 50px 60px;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

@media screen and (max-width: 767px) {
  .banner1 .wrap {
    padding: 15px 0 20px;
  }
}

.banner1 .wrap .contents {
  width: 47%;
  margin-left: auto;
}

@media screen and (max-width: 1000px) {
  .banner1 .wrap .contents {
    width: 100%;
    max-width: 400px;
    margin-left: auto;
  }
}

.banner1 .wrap .contents .text {
  margin-bottom: 30px;
  font-size: 22px;
  font-weight: 500;
  line-height: 2;
  white-space: nowrap;
}

@media screen and (max-width: 1000px) {
  .banner1 .wrap .contents .text {
    text-shadow: 2px 2px 4px #fff, -1px -1px 4px #fff;
  }
}

@media screen and (max-width: 767px) {
  .banner1 .wrap .contents .text {
    font-size: 16px;
    max-width: 295px;
    margin: 0 auto 20px;
  }
}

@media screen and (max-width: 360px) {
  .banner1 .wrap .contents .text {
    font-size: 15px;
    max-width: 270px;
  }
}

.banner1 .wrap .contents .btn {
  text-align: right;
}

@media screen and (max-width: 767px) {
  .banner1 .wrap .contents .btn {
    text-align: center;
  }
}

.banner2 {
  -webkit-transition: .3s;
  transition: .3s;
}

.banner2 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 767px) {
  .banner2 .flex {
    display: block;
  }
}

.banner2 .item {
  width: 47%;
  overflow: hidden;
  -webkit-transition: .3s;
  transition: .3s;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .banner2 .item {
    width: 100%;
    margin-bottom: 20px;
  }
  .banner2 .item:last-child {
    margin-bottom: 0;
  }
}

.banner2 .item a {
  color: #fff;
  position: relative;
  border-radius: 10px;
  -webkit-transition: .3s;
  transition: .3s;
  display: block;
}

.banner2 .item a .contents {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 100%;
  text-align: center;
  -webkit-transition: .3s;
  transition: .3s;
}

.banner2 .item a .contents .title {
  font-size: 60px;
  font-family: "SnellBT-Regular", serif;
  position: relative;
  left: 3%;
  margin-bottom: 5px;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 1000px) {
  .banner2 .item a .contents .title {
    font-size: 50px;
  }
}

@media screen and (max-width: 767px) {
  .banner2 .item a .contents .title {
    font-size: 50px;
  }
}

.banner2 .item a .contents .text {
  font-size: 24px;
  font-weight: 500;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 1000px) {
  .banner2 .item a .contents .text {
    font-size: 18px;
  }
}

@media screen and (max-width: 767px) {
  .banner2 .item a .contents .text {
    font-size: 18px;
  }
}

@media screen and (max-width: 360px) {
  .banner2 .item a .contents .text {
    font-size: 16px;
  }
}

.banner2 .item a .contents .img {
  border-radius: 10px;
  overflow: hidden;
}

.banner2 .item a .contents .img img {
  border-radius: 10px;
}

@media screen and (min-width: 768px) {
  .banner2 .item a:hover {
    -webkit-transition: .3s;
    transition: .3s;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

body {
  position: relative;
}

.back-to-top {
  position: fixed;
  bottom: 0;
  right: 2%;
  z-index: 100;
}

.back-to-top a {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  display: inline-block;
  background: #fff;
  color: #502A0F;
  text-align: center;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 767px) {
  .back-to-top a {
    width: 50px;
    height: 50px;
  }
}

@media screen and (min-width: 768px) {
  .back-to-top a:hover {
    -webkit-transition: .3s;
    transition: .3s;
  }
  .back-to-top a:hover .top-span {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px);
    -webkit-transition: .3s;
    transition: .3s;
  }
  .back-to-top a:hover .flower {
    -webkit-transition: .3s;
    transition: .3s;
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}

.back-to-top .top-span {
  font-size: 17px;
  font-weight: 300;
  display: block;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 767px) {
  .back-to-top .top-span {
    font-size: 13px;
  }
}

.back-to-top .top-text {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  margin-top: -3px;
}

@media screen and (max-width: 767px) {
  .back-to-top .top-text {
    font-size: 10px;
  }
}

.back-to-top .to-wrap {
  position: absolute;
  top: 45%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 100%;
}

.back-to-top .flower {
  width: 55%;
  position: absolute;
  bottom: 0;
  right: -5%;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 767px) {
  .back-to-top .flower {
    width: 40%;
  }
}

.page-heading {
  background: url(../img/page-heading-bg.jpg) no-repeat center center/cover;
}

.page-heading .contents {
  font-size: 40px;
  text-align: center;
  line-height: 1;
  padding: 90px 0;
}

.page-heading .contents span {
  font-size: 65%;
}

@media screen and (max-width: 767px) {
  .page-heading .contents {
    font-size: 22px;
    white-space: nowrap;
    padding: 40px 0;
  }
}

.privacy .lead {
  line-height: 1.7;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .privacy .lead {
    font-size: 14px;
  }
}

.privacy h3 {
  margin-top: 40px;
  font-size: 18px;
  color: #502A0F;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .privacy h3 {
    margin-top: 20px;
    font-size: 16px;
    margin-bottom: 0px;
  }
}

.privacy p {
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .privacy p {
    font-size: 14px;
  }
}

.reserve {
  padding-bottom: 0;
}

.reserve .lead {
  font-size: 16px;
  margin-bottom: 60px;
}

.reserve .lead a {
  color: #000;
  -webkit-transition: .3s;
  transition: .3s;
}

.reserve .lead a:hover {
  opacity: .6;
}

@media screen and (max-width: 767px) {
  .reserve .lead {
    font-size: 14px;
    margin-bottom: 30px;
  }
}

.reserve .btn {
  text-align: center;
}

.contact .lead {
  font-size: 16px;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .contact .lead {
    font-size: 14px;
    margin-bottom: 30px;
  }
}

.contact .required {
  display: inline-block;
  color: #fff;
  font-size: 14px;
  background: #AA4242;
  padding: 3px 10px;
  margin-right: 5px;
}

@media screen and (max-width: 767px) {
  .contact .required {
    padding: 2px 7px;
    font-size: 13px;
  }
}

.submit-design {
  cursor: pointer;
  border-radius: 30px;
  font-size: 16px;
  display: inline-block;
  padding: 18.5px 46.5px;
  background: #CB2C2C;
  color: #fff;
  text-align: center;
  line-height: 1;
  border: 1px solid #CB2C2C;
  -webkit-transition: .3s;
  transition: .3s;
}

.submit-design .sec-btn-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.submit-design .arrow {
  width: 22px;
  position: relative;
  top: -5px;
  margin-left: 15px;
  -webkit-transition: .3s;
  transition: .3s;
}

.submit-design .no_hover {
  position: absolute;
  opacity: 0;
}

.submit-design:hover {
  color: #CB2C2C;
  background: #fff;
}

.submit-design:hover .no_hover {
  position: initial;
  opacity: 1;
}

.submit-design:hover .hover {
  position: absolute;
  opacity: 0;
}

.submit-design .btn-text {
  font-size: 16px;
  width: 100%;
}

.contact .section-btn-large {
  padding: 34px 80px;
  border-radius: 45px;
}

@media screen and (max-width: 767px) {
  .contact .section-btn-large {
    padding: 20px 30px;
  }
}

.contact .section-btn-large .btn-text {
  font-size: 20px;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .contact .section-btn-large .btn-text {
    font-size: 16px;
  }
}

.contact .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .contact .row {
    display: block;
    margin-bottom: 15px;
  }
}

.contact .row .dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 360px;
  padding: 10px 0;
}

@media screen and (max-width: 767px) {
  .contact .row .dt {
    width: 100%;
  }
}

.contact .row .dt .required2 {
  margin-right: 0;
  margin-left: 16px;
}

@media screen and (max-width: 767px) {
  .contact .row .dt .required2 {
    font-size: 13px;
  }
}

.contact .row .dd {
  width: calc(100% - 360px);
}

@media screen and (max-width: 767px) {
  .contact .row .dd {
    width: 100%;
  }
}

.contact textarea {
  resize: none;
  height: 120px;
}

.contact .check-box {
  margin-top: 60px;
  margin-bottom: 60px;
  text-align: center;
  position: relative;
}

.contact .check-box .required {
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .contact .check-box .required {
    display: block;
    margin-right: 0;
    margin: 0 auto;
    margin-bottom: 10px;
    max-width: 40px;
  }
}

.contact .check-box .wpcf7-form-control-wrap {
  position: absolute;
  left: 0;
  bottom: -1.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .contact .check-box {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.contact .check-box .check-design {
  position: relative;
  display: inline-block;
  padding-left: 40px;
}

.contact .check-box .check-design a {
  text-decoration: underline;
  -webkit-transition: .3s;
  transition: .3s;
  color: #000;
}

.contact .check-box .check-design a:hover {
  color: #CB2C2C;
}

.contact .check-box .check-design::before {
  position: absolute;
  content: "";
  top: 54%;
  left: 0;
  width: 25px;
  height: 25px;
  border: 1px solid #000;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.contact .check-box .check-design::after {
  position: absolute;
  content: "";
  top: 31%;
  left: 7px;
  width: 10px;
  height: 20px;
  border-left: 5px solid #CB2C2C;
  border-top: 5px solid #CB2C2C;
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
  opacity: 0;
}

.contact .check-box .check-design.active::after {
  opacity: 1;
}

.contact .check-box .wpcf7-list-item-label {
  padding-left: 30px;
  display: none;
}

.contact .check-box input[type="checkbox"] {
  position: absolute;
  left: -100%;
  opacity: 0;
}

.contact .submit {
  text-align: center;
}

.contact .submit input {
  position: absolute;
  left: -100%;
  opacity: 0;
}

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

.wpcf7-list-item {
  margin: 0;
}

.section-btn a .arrow,
.submit-design .arrow {
  min-width: 22px;
}

.wpcf7-spinner {
  display: none !important;
}

.thanks p {
  text-align: center;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .thanks p {
    margin-bottom: 30px;
  }
}

.thanks .btn {
  text-align: center;
}

.Problem ul .circle .wrap {
  font-weight: 500;
}

.greeting .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-bottom: 100px;
}

@media screen and (min-width: 768px) {
  .greeting .flex .img {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-left: 40px;
    margin-right: calc(50% - 50vw);
    border-radius: 10px 0 0 10px;
  }
  .greeting .flex .img img {
    border-radius: 10px 0 0 10px;
  }
}

@media screen and (max-width: 767px) {
  .greeting .flex .img {
    border-radius: 10px;
  }
  .greeting .flex .img img {
    border-radius: 10px;
  }
}

@media screen and (min-width: 768px) {
  .greeting .flex:nth-child(2n) .img {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: 40px;
    margin-left: calc(50% - 50vw);
    border-radius: 0 10px 10px 0;
  }
  .greeting .flex:nth-child(2n) .img img {
    border-radius: 0 10px 10px 0;
  }
}

@media screen and (max-width: 767px) {
  .greeting .flex {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .greeting .flex {
    display: block;
  }
}

.greeting .flex .img {
  width: 44%;
}

@media screen and (max-width: 767px) {
  .greeting .flex .img {
    width: 100%;
    margin: 0 auto 10px;
  }
}

.greeting .flex .contents {
  font-size: 16px;
  line-height: 1.7;
  width: 56%;
}

@media screen and (max-width: 767px) {
  .greeting .flex .contents {
    width: 100%;
  }
}

.greeting .flex:nth-child(2n) {
  -webkit-box-orient: initial;
  -webkit-box-direction: initial;
      -ms-flex-direction: initial;
          flex-direction: initial;
}

.greeting .flex:last-child {
  margin-bottom: 0;
}

#access {
  position: relative;
  top: -73.83px;
}

@media screen and (max-width: 767px) {
  #access {
    top: -54.63px;
  }
}

.Problem {
  background: url(../img/menu-bg.jpg) no-repeat center center/cover;
}

.Problem .btn {
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .Problem .btn {
    margin-top: 30px;
  }
}

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

@media screen and (max-width: 767px) {
  .Problem ul {
    max-width: 340px;
    margin: 0 auto;
  }
}

.Problem ul li {
  width: calc(25% - 50px * 3/4);
  margin-right: 50px;
}

@media screen and (max-width: 1000px) {
  .Problem ul li {
    width: calc(25% - 30px * 3/4);
    margin-right: 30px;
  }
}

@media screen and (min-width: 768px) {
  .Problem ul li:nth-child(4n) {
    margin-right: 0;
  }
  .Problem ul li:nth-child(n + 5) {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .Problem ul li {
    text-align: center;
    width: calc(50% - 20px * 1/2);
    margin-right: 20px;
  }
  .Problem ul li:nth-child(2n) {
    margin-right: 0;
  }
  .Problem ul li:nth-child(n + 3) {
    margin-top: 20px;
  }
}

.Problem ul .circle {
  width: 200px;
  height: 200px;
  text-align: center;
  position: relative;
  background: #FAEEEE;
  border-radius: 50%;
  font-size: 16px;
}

@media screen and (max-width: 1000px) {
  .Problem ul .circle {
    width: 168px;
    height: 168px;
    font-size: 16px;
  }
}

@media screen and (max-width: 900px) {
  .Problem ul .circle {
    width: 150px;
    height: 150px;
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .Problem ul .circle {
    font-size: 16px;
  }
}

@media screen and (max-width: 360px) {
  .Problem ul .circle {
    width: 130px;
    height: 130px;
  }
}

.Problem ul .circle .wrap {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .topAbout .flex .contents .text,
  .topBa ul li .bottom .text,
  .topSchool .left .contents,
  .greeting .flex .contents,
  .Problem ul .circle .wrap,
  .contact .row .dt .text,
  .contact .check-box .check-design,
  .wpcf7-not-valid-tip,
  .wpcf7 form.invalid .wpcf7-response-output {
    font-size: 14px;
  }
  .topMenu ul li a .title {
    font-size: 16px;
  }
  .footer .flex .left .contents {
    font-size: 13px;
  }
}

.salon .wrap {
  max-width: 720px;
  margin: 0 auto 60px;
}

@media screen and (max-width: 767px) {
  .salon .wrap {
    margin: 0 auto 30px;
  }
}

.salon .wrap .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.salon .wrap .row .dt {
  width: 200px;
  padding: 25px 20px;
  font-size: 16px;
  font-weight: bold;
  color: #CB2C2C;
}

@media screen and (max-width: 767px) {
  .salon .wrap .row .dt {
    padding: 15px 0;
    width: 100px;
    white-space: nowrap;
  }
}

.salon .wrap .row .dd {
  width: calc(100% -200px);
  padding: 25px 20px;
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .salon .wrap .row .dd {
    padding: 15px 0;
    font-size: 14px;
    width: calc(100% - 100px);
  }
}

.salon .wrap .row:last-child {
  border-bottom: none;
}

.salon .map {
  max-width: 700px;
  margin: 0 auto;
}

.salon .map .map-wrap {
  width: 100%;
  position: relative;
  padding-top: 75%;
}

.salon .map .map-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.availability .calender {
  width: 100%;
}

.availability .calender .wrap {
  padding-top: 53%;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .availability .calender .wrap {
    padding-top: 140%;
  }
}

.availability .calender .wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.school .title {
  font-size: 24px;
  text-align: center;
  color: #502A0F;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .school .title {
    font-size: 18px;
  }
}

.school .text {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .school .text {
    font-size: 14px;
    margin-bottom: 20px;
  }
}

.recommend-text {
  font-size: 20px;
  font-weight: 500;
  color: #502A0F;
  text-align: center;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .recommend-text {
    font-size: 16px;
    margin-top: 20px;
  }
}

@media screen and (max-width: 360px) {
  .recommend-text {
    font-size: 14px;
  }
}

.skills .flex .title {
  font-size: 24px;
  color: #502A0F;
  font-weight: 500;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .skills .flex .title {
    font-size: 18px;
    margin-bottom: 10px;
  }
}

.skills .flex .img {
  border-radius: 10px;
}

.skills .flex .img img {
  border-radius: 10px;
}

.skills .skill-ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 110px;
}

@media screen and (max-width: 767px) {
  .skills .skill-ul {
    margin-bottom: 50px;
    display: block;
  }
}

.skills .skill-ul li {
  position: relative;
}

@media screen and (min-width: 768px) {
  .skills .skill-ul li {
    width: calc(33.333% - 20px * 2/3);
    margin-right: 20px;
  }
  .skills .skill-ul li:nth-child(3n) {
    margin-right: 0;
  }
  .skills .skill-ul li:nth-child(n + 4) {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .skills .skill-ul li {
    width: 100%;
    margin-bottom: 10px;
  }
  .skills .skill-ul li:last-child {
    margin-bottom: 0;
  }
}

.skills .skill-ul li .skill-contents {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 100%;
}

@media screen and (max-width: 900px) {
  .skills .skill-ul li .skill-contents {
    font-size: 16px;
    white-space: nowrap;
  }
}

@media screen and (max-width: 767px) {
  .skills .skill-ul li .skill-contents {
    font-size: 16px;
  }
}

.voice {
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .voice ul li {
    padding: 140px 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .voice ul li {
    padding: 80px 0 50px;
  }
}

.voice ul li:nth-child(2n) {
  background: url(../img/menu-bg.jpg) no-repeat center center/cover;
}

.voice ul li:first-child {
  padding-top: 90px;
}

@media screen and (max-width: 767px) {
  .voice ul li:first-child {
    padding-top: 50px;
  }
}

.voice ul li .main-title {
  position: relative;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .voice ul li .main-title {
    margin-bottom: 20px;
  }
}

.voice ul li .main-title .case {
  color: rgba(203, 44, 44, 0.3);
  line-height: 1;
  font-size: 80px;
  font-family: "SnellBT-Regular", serif;
  -webkit-transform: rotate(-8deg);
          transform: rotate(-8deg);
  position: absolute;
  top: -63px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .voice ul li .main-title .case {
    font-size: 40px;
    top: -50px;
    -webkit-transform: rotate(-8deg);
            transform: rotate(-8deg);
  }
}

.voice ul li .main-title .t-text {
  font-size: 24px;
  font-weight: 500;
  color: #502A0F;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .voice ul li .main-title .t-text {
    font-size: 18px;
  }
}

@media screen and (max-width: 360px) {
  .voice ul li .main-title .t-text {
    font-size: 16px;
  }
}

.voice ul li .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 40px;
  position: relative;
}

.voice ul li .heading::after {
  position: absolute;
  content: "▶︎";
  color: #CB2C2C;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 48px;
}

@media screen and (max-width: 767px) {
  .voice ul li .heading::after {
    font-size: 20px;
  }
}

@media screen and (max-width: 767px) {
  .voice ul li .heading {
    margin-bottom: 20px;
  }
}

.voice ul li .heading .img {
  width: 45%;
}

.voice ul li .heading .img img {
  border-radius: 10px;
}

.voice ul li .bottom .bottom-title {
  font-size: 18px;
  font-weight: 500;
  color: #502A0F;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .voice ul li .bottom .bottom-title {
    font-size: 16px;
    margin-bottom: 10px;
  }
}

.voice ul li .bottom .bottom-text {
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .voice ul li .bottom .bottom-text {
    font-size: 14px;
  }
}

.voice2 .lead {
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  color: #502A0F;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .voice2 .lead {
    font-size: 18px;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 360px) {
  .voice2 .lead {
    font-size: 16px;
  }
}

.voice2 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .voice2 ul li {
    width: calc(50% - 40px * 1/2);
    margin-right: 40px;
  }
  .voice2 ul li:nth-child(2n) {
    margin-right: 0;
  }
  .voice2 ul li:nth-child(n + 3) {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .voice2 ul li {
    width: 100%;
    margin-bottom: 30px;
  }
  .voice2 ul li:last-child {
    margin-bottom: 0;
  }
}

.voice2 ul li img {
  border-radius: 10px;
}

.voice2 ul li .img {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .voice2 ul li .img {
    margin-bottom: 10px;
  }
}

.voice2 ul li .text {
  line-height: 1.7;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .voice2 ul li .text {
    font-size: 14px;
  }
}

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

@media screen and (max-width: 767px) {
  .menu1 ul {
    display: block;
  }
}

.menu1 ul li a {
  padding: 30px 0;
  background: #FAEEEE;
  border: 1px solid #FAEEEE;
  -webkit-transition: .3s;
  transition: .3s;
  border-radius: 10px;
  color: #000;
  display: block;
  position: relative;
}

.menu1 ul li a:hover {
  background: #fff;
}

@media screen and (max-width: 767px) {
  .menu1 ul li a {
    padding: 15px 0;
  }
}

.menu1 ul li a .text {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .menu1 ul li a .text {
    font-size: 16px;
  }
}

@media screen and (max-width: 360px) {
  .menu1 ul li a .text {
    font-size: 15px;
  }
}

.menu1 ul li a .arrow {
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 28px;
}

@media screen and (max-width: 767px) {
  .menu1 ul li a .arrow {
    width: 23px;
  }
}

.menu1 .ul1 {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .menu1 .ul1 {
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 768px) {
  .menu1 .ul1 li {
    width: calc(33.3333% - 20px * 2/3);
    margin-right: 20px;
  }
  .menu1 .ul1 li:last-child {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .menu1 .ul1 li {
    margin-bottom: 10px;
  }
  .menu1 .ul1 li:last-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .menu1 .ul2 li {
    width: calc(50% - 20px * 1/2);
    margin-right: 10px;
  }
  .menu1 .ul2 li:last-child {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .menu1 .ul2 li {
    margin-bottom: 10px;
  }
  .menu1 .ul2 li:last-child {
    margin-bottom: 0;
  }
}

#id1,
#id2,
#id3,
#id4,
#id5 {
  position: relative;
  top: -73.83px;
}

@media screen and (max-width: 767px) {
  #id1,
  #id2,
  #id3,
  #id4,
  #id5 {
    top: -54.63px;
  }
}

.menu-section .title {
  font-size: 24px;
  color: #502A0F;
  font-weight: 500;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .menu-section .title {
    font-size: 18px;
    margin-bottom: 10px;
  }
}

.menu-section .flex .contents .text {
  margin-bottom: 0;
}

.menu-section .flex {
  padding-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .menu-section .flex {
    padding-bottom: 25px;
  }
}

.price {
  background: url(../img/menu-bg.jpg) no-repeat center center/cover;
  padding: 50px 0;
}

@media screen and (max-width: 767px) {
  .price {
    padding: 25px 0;
    padding-top: 40px;
  }
}

.price .box {
  background: #fff;
  border: 1px solid rgba(80, 42, 15, 0.2);
  border-radius: 10px;
  padding: 20px 30px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .price .box {
    padding: 20px;
  }
}

.price .box .box-title {
  max-width: 230px;
  text-align: center;
  font-size: 42px;
  font-family: "SnellBT-Regular", serif;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -35px;
  width: 100%;
  background: #fff;
}

.price .box .box-title .box-title-wrap {
  position: relative;
}

.price .box .box-title .left-icon {
  position: absolute;
  top: -10%;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  width: 38px;
  left: 20px;
}

.price .box .box-title .left-icon img {
  vertical-align: middle;
}

.price .box .box-title .right-icon {
  position: absolute;
  top: -10%;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  width: 38px;
  right: 20px;
}

.price .box .box-title .right-icon img {
  vertical-align: middle;
}

.price .box .box-title .text {
  padding-left: 7%;
  display: inline-block;
  color: #502A0F;
}

@media screen and (min-width: 768px) {
  .price {
    padding-top: 80px;
  }
}

@media screen and (max-width: 767px) {
  .price {
    padding-top: 70px;
  }
}

.price {
  font-size: 15px;
  line-height: 1.7;
}

.price .red {
  color: #CB2C2C;
}

.price .time-span {
  display: inline-block;
  width: 90px;
}

@media screen and (max-width: 767px) {
  .price .time-span {
    width: 80px;
  }
}

.price .time-span2 {
  display: inline-block;
  width: 50px;
}

@media screen and (max-width: 767px) {
  .price .time-span2 {
    width: 40px;
  }
}

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

.price .p-flex .name-span {
  display: inline-block;
  width: 150px;
}

@media screen and (max-width: 767px) {
  .price .p-flex .name-span {
    width: 130px;
    white-space: nowrap;
  }
}

.price .p-flex .price-span {
  width: calc(100% - 150px);
}

@media screen and (max-width: 767px) {
  .price .p-flex .price-span {
    width: calc(100% - 130px);
  }
}

.price .p-attention {
  text-decoration: underline;
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .price .p-attention {
    margin-bottom: 10px;
  }
}

.price .merit-p {
  margin: 10px 0;
}

@media screen and (max-width: 767px) {
  .price {
    font-size: 13px;
  }
}

@media screen and (max-width: 360px) {
  .price {
    font-size: 13px;
  }
}

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

@media screen and (max-width: 767px) {
  .price .price-heading {
    display: block;
  }
}

.price .price-heading .left {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .price .price-heading .left {
    width: 100%;
  }
}

.price .price-heading .right {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .price .price-heading .right {
    width: 100%;
  }
}

.price .p-title {
  color: #502A0F;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 10px;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .price .p-title {
    font-size: 15px;
  }
}

@media screen and (max-width: 360px) {
  .price .p-title {
    font-size: 13px;
  }
}

.price .p-wrap {
  border-bottom: 1px solid rgba(80, 42, 15, 0.2);
  padding: 15px 0;
}

.price .price-bottom {
  border-top: 1px solid rgba(80, 42, 15, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .price .price-bottom {
    display: block;
  }
}

.price .price-bottom .left {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .price .price-bottom .left {
    width: 100%;
  }
}

.price .price-bottom .right {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .price .price-bottom .right {
    width: 100%;
  }
}

@media screen and (max-width: 365px) {
  .price .p-wrap {
    font-size: 12px;
  }
}

@media screen and (max-width: 360px) {
  .price .p-wrap {
    font-size: 11px;
  }
}

@media screen and (min-width: 768px) {
  .noBorderPc {
    border-bottom: none !important;
  }
}

.noBorder {
  border-bottom: none !important;
}

@media screen and (max-width: 900px) and (min-width: 768px) {
  .price .p-wrap {
    font-size: 12.5px;
  }
  .price .p-title {
    font-size: 14px;
  }
}

@media screen and (max-width: 360px) {
  .price .p-flex .name-span {
    width: 110px;
  }
  .price .p-flex .price-span {
    width: calc(100% - 110px);
  }
  .price .box {
    padding: 20px 20px;
  }
  .inner {
    padding: 0 15px;
  }
}

@media screen and (min-width: 768px) {
  .menu-section .flex-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .menu-section .flex-row-reverse .img {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-left: 40px;
    margin-right: calc(50% - 50vw);
  }
}

@media screen and (min-width: 768px) {
  .price2 {
    margin-top: -15%;
  }
  .price2 .box {
    width: 57%;
    margin-left: auto;
  }
  .price2 .box2 {
    width: 57%;
    margin-left: initial;
    margin-right: auto;
  }
  .time-span2-left {
    margin-left: 30px;
  }
}

@media screen and (max-width: 1000px) {
  .price2 {
    margin-top: -10%;
  }
}

@media screen and (max-width: 767px) {
  .price2 {
    margin-top: 0%;
  }
}

@media screen and (max-width: 900px) and (min-width: 768px) {
  .price .box {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  .price2 {
    margin-top: 0%;
  }
}

.flow ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .flow ul li {
    padding-bottom: 30px;
    display: block;
  }
}

.flow ul li:last-child {
  margin-bottom: 0;
}

.flow ul li:last-child::after {
  content: initial !important;
}

.flow ul li:nth-child(n + 2) {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flow ul li::after {
  position: absolute;
  top: 150px;
  left: 80px;
  width: 1px;
  height: 100%;
  background: rgba(203, 44, 44, 0.2);
  content: "";
}

@media screen and (max-width: 767px) {
  .flow ul li::after {
    content: initial !important;
  }
}

.flow ul li .left {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: #CB2C2C;
  margin-right: 60px;
  color: #fff;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .flow ul li .left {
    width: 140px;
    height: 140px;
    margin: 0 auto 20px;
  }
}

.flow ul li .left .left-wrap {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 100%;
}

.flow ul li .left .num {
  font-size: 28px;
}

@media screen and (max-width: 767px) {
  .flow ul li .left .num {
    font-size: 25px;
  }
}

.flow ul li .left .text {
  font-size: 18px;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  .flow ul li .left .text {
    font-size: 15.5px;
  }
}

.flow ul li .left .text span {
  font-size: 75%;
  display: block;
}

.flow ul li .right {
  width: calc(100% - 220px);
}

@media screen and (max-width: 767px) {
  .flow ul li .right {
    width: 100%;
  }
}

.flow ul li .right p {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .flow ul li .right p {
    font-size: 14px;
  }
}

.flow .btn-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 20px;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .flow .btn-heading {
    display: block;
  }
}

.flow .btn-heading .btn {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .flow .btn-heading .btn {
    width: 100%;
    margin-bottom: 20px;
  }
  .flow .btn-heading .btn:last-child {
    margin-bottom: 0;
  }
}

.flow .btn-bottom span {
  font-weight: 500;
  font-size: 28px;
  margin-bottom: 20px;
  display: inline-block;
}

.flow .btn a {
  background: #FAEEEE;
  color: #000;
  border: 1px solid #FAEEEE;
  text-align: center;
  display: block;
  border-radius: 10px;
  font-size: 16px;
  padding: 50px 0;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 767px) {
  .flow .btn a {
    padding: 15px 0;
  }
}

.flow .btn a:hover {
  background: #fff;
}

.pageBute {
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .pageBute {
    margin-top: 30px;
  }
}

.pageBute span,
.pageBute a {
  margin: 0 10px;
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .pageBute span,
  .pageBute a {
    font-size: 16px;
    margin: 0 5px;
  }
}

.pageBute a {
  color: #000;
  -webkit-transition: .3s;
  transition: .3s;
}

.pageBute a:hover {
  color: #CB2C2C;
}

.pageBute span {
  color: #CB2C2C;
}

.single .btn {
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .single .btn {
    margin-top: 30px;
  }
}

.single .single-wrap {
  max-width: 700px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.7;
}

.single .single-wrap figure {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .single .single-wrap figure {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .single .single-wrap {
    font-size: 14px;
  }
}

.single .single-wrap a {
  color: #000;
  text-decoration: underline;
  -webkit-transition: .3s;
  transition: .3s;
}

.single .single-wrap a:hover {
  color: #CB2C2C;
}

.single .time {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 10px;
}

.single .title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 40px;
  border-bottom: 3px solid #CB2C2C;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .single .title {
    font-size: 18px;
    margin-bottom: 20px;
    border-bottom: 2px solid #CB2C2C;
  }
}

/*==================================================
機能編　4-2-5　背景色が伸びる（中央から外）
===================================*/
/*========= ローディング画面のためのCSS ===============*/
#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #FAEEEE;
  z-index: 9999999;
  text-align: center;
  color: #fff;
}

#splash-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
}

/*========= 画面遷移のためのCSS ===============*/
/*画面遷移アニメーション*/
/*右に消えるエリア*/
body.appear .splashbg1 {
  -webkit-animation-name: PageAnime;
  animation-name: PageAnime;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 50%;
  -webkit-transform: scaleX(1.5);
  transform: scaleX(1.5);
  background-color: #FAEEEE;
  /*伸びる背景色の設定*/
}

.splashbg1 {
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 50%;
  -webkit-transform: scaleX(1.5);
  transform: scaleX(1.5);
  background-color: #FAEEEE;
  /*伸びる背景色の設定*/
}

@-webkit-keyframes PageAnime {
  0% {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  50% {
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
}

@keyframes PageAnime {
  0% {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  50% {
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
}

/*左に消えるエリア*/
body.appear .splashbg2 {
  -webkit-animation-name: PageAnime2;
  animation-name: PageAnime2;
  -webkit-animation-duration: 1.2s;
  animation-duration: 1.2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  right: 50%;
  -webkit-transform: scaleX(1.5);
  transform: scaleX(1.5);
  background-color: #FAEEEE;
  /*伸びる背景色の設定*/
}

.splashbg2 {
  content: "";
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  right: 50%;
  -webkit-transform: scaleX(1.5);
  transform: scaleX(1.5);
  background-color: #FAEEEE;
  /*伸びる背景色の設定*/
}

@-webkit-keyframes PageAnime2 {
  0% {
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  50% {
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  100% {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
}

@keyframes PageAnime2 {
  0% {
    -webkit-transform-origin: right;
    transform-origin: right;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  50% {
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  100% {
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
  }
}

/*画面遷移の後現れるコンテンツ設定*/
#wrapper {
  opacity: 0;
  /*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #wrapper {
  -webkit-animation-name: PageAnimeAppear;
  animation-name: PageAnimeAppear;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media screen and (max-width: 1000px) {
  .slide-in {
    font-size: 20px;
  }
}

.loadingLogo {
  max-width: 500px;
  margin: 20px auto 0px;
}

@media screen and (max-width: 1000px) {
  .loadingLogo {
    max-width: 150px;
  }
}

.slideAnimeRightLeft {
  -webkit-animation-name: slideText100;
  animation-name: slideText100;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  /*要素を右の枠外に移動*/
  opacity: 0;
  display: block;
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
  -webkit-filter: blur(30px);
  filter: blur(30px);
}

@-webkit-keyframes slideText100 {
  from {
    /*要素を右の枠外に移動*/
    -webkit-filter: blur(30px);
    filter: blur(30px);
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    opacity: 0;
  }
  to {
    /*要素を元の位置に移動*/
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes slideText100 {
  from {
    /*要素を右の枠外に移動*/
    -webkit-filter: blur(30px);
    filter: blur(30px);
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    opacity: 0;
  }
  to {
    /*要素を元の位置に移動*/
    -webkit-filter: blur(0);
    filter: blur(0);
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

#splash {
  top: 0;
}

.slideAnimeRightLeft {
  margin-top: 0;
}

.loadingLogo {
  max-width: 400px;
}

@media screen and (max-width: 767px) {
  .loadingLogo {
    max-width: 280px;
  }
}

@media screen and (max-width: 500px) {
  .back-to-top .top-text {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    -webkit-transform-origin: center center;
            transform-origin: center center;
  }
  .back-to-top .top-span {
    font-size: 11px;
    margin-bottom: -2px;
  }
}
