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


/* Base
/* ---------------------------- */
@font-face {
  font-family: 'times';
  src: url('fonts/Times-Roman.ttf')  format('truetype');
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

pre {
  width: 70%;
  margin: 1em auto;
  padding: 1em;
  border-radius: 5px;
  background: #25292f;
  color: #fff;
  overflow-x: auto;
  /* ⭐ */
  -webkit-overflow-scrolling: touch;
  /* ⭐ */
}

.inner {
  width: 900px;
  margin: 0 auto;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.fadeInUpTrigger {
  opacity: 0;
}

.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}


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


/* header
/* ---------------------------- */

.header1, .header2, .header3 {
  padding: 19px 30px;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

.header1.fixed, .header2.fixed, .header3.fixed {
  position: fixed;
  background-color: #282f35;
  padding: 30px;
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 9;
}

.header1 a, .header2 a, .header3 a {
  color: #000;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: bold;
}

.header1.fixed a, .header2.fixed a, .header3.fixed a {
  color: #fff;
}

.header1.fixed a::after, .header2.fixed a::after, .header3.fixed a::after {
  color: #fff;
}

.header1 a:hover, .header2 a:hover, .header3 a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.site-title {
  font-size: 2.6rem;
}

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

.nav-item {
  margin-right: 30px;
}

.nav-item:last-of-type {
  margin-right: 0;
}

.header2 .menu1 {
  text-align: center;
}

.header2 .menu1 :after {
  content: 'ABOUT';
  color: #000;
  font-size: 0.5em;
  display: block;
  margin-top: 5px;
}

.header2 .menu2 {
  text-align: center;
}

.header2 .menu2 :after {
  content: 'PRICE';
  color: #000;
  font-size: 0.5em;
  display: block;
  margin-top: 5px;
}

.header2 .menu3 {
  text-align: center;
}

.header2 .menu3 :after {
  content: 'SCHEDULE';
  color: #000;
  font-size: 0.5em;
  display: block;
  margin-top: 5px;
}

.header2 .menu4 {
  text-align: center;
}

.header2 .menu4 :after {
  content: 'CONTACT';
  color: #000;
  font-size: 0.5em;
  display: block;
  margin-top: 5px;
}

.header3 .menu1 {
  text-align: center;
}

.header3 .menu1 :before {
  content: "";
  display: block;
  background-image: url("./assets/free.svg");
  height: 3rem;
  width: 3rem;
  margin: 0 auto;
  margin-bottom: 5px;
  vertical-align: middle;
}

.header3 .menu1 :after {
  content: 'ABOUT';
  color: #000;
  font-size: 0.5em;
  display: block;
  margin-top: 5px;
}

.header3 .menu2 {
  text-align: center;
}

.header3 .menu2 :before {
  content: "";
  display: block;
  background-image: url("./assets/free.svg");
  height: 3rem;
  width: 3rem;
  margin: 0 auto;
  margin-bottom: 5px;
  vertical-align: middle;
}

.header3 .menu2 :after {
  content: 'PRICE';
  color: #000;
  font-size: 0.5em;
  display: block;
  margin-top: 5px;
}

.header3 .menu3 {
  text-align: center;
}

.header3 .menu3 :before {
  content: "";
  display: block;
  background-image: url("./assets/free.svg");
  height: 3rem;
  width: 3rem;
  margin: 0 auto;
  margin-bottom: 5px;
  vertical-align: middle;
}

.header3 .menu3 :after {
  content: 'SCHEDULE';
  color: #000;
  font-size: 0.5em;
  display: block;
  margin-top: 5px;
}

.header3 .menu4 {
  text-align: center;
}

.header3 .menu4 :before {
  content: "";
  display: block;
  background-image: url("./assets/free.svg");
  height: 3rem;
  width: 3rem;
  margin: 0 auto;
  margin-bottom: 5px;
  vertical-align: middle;
}

.header3 .menu4 :after {
  content: 'CONTACT';
  color: #000;
  font-size: 0.5em;
  display: block;
  margin-top: 5px;
}

.burger-btn {
  display: none;
}

@media screen and (max-width: 768px) {
  /* ---------------------------- */
  /* header_sp
/* ---------------------------- */
  .header1, .header2, .header3 {
    padding: 30px 4vw 0;
  }
  .header-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #282f35;
  }
  .nav-list {
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .nav-item {
    margin: 0 0 30px;
  }
  .nav-item:last-of-type {
    margin-bottom: 0;
  }
  .burger-btn {
    display: block;
    position: absolute;
    top: 47px;
    right: 4vw;
  }
  .burger-btn .bar {
    display: block;
    height: 3px;
    width: 30px;
    background-color: #ccc;
  }
  .bar_top {
    margin-bottom: 8px;
  }
  .bar_mid {
    margin-bottom: 8px;
  }
  /* ハンバーガーメニューが開いたとき */
  .burger-btn.cross .bar_top {
    -webkit-transform: rotate(45deg) translate(8px, 8px);
    transform: rotate(45deg) translate(8px, 8px);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .burger-btn.cross .bar_mid {
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .burger-btn.cross .bar_bottom {
    -webkit-transform: rotate(-45deg) translate(8px, -8px);
    transform: rotate(-45deg) translate(8px, -8px);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  body.noscroll {
    overflow: hidden;
  }
  button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .header1 a, .header2 a, .header3 a {
    color: #fff;
  }
  .header1 a::after, .header2 a::after, .header3 a::after {
    color: #fff !important;
  }
  .site-title a {
    color: #000;
  }
}

.btn, a.btn, button.btn {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 10px 40px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 5px;
}


/*ここもコピー */


/*1.2.3共通 */

.btn--c, a.btn--c {
  color: #fff;
  background-color: #eb6100;
}

.btn--c:hover, a.btn--c:hover {
  color: #fff;
  background: #f56500;
}


/*1.2.3共通 */


/*2 角丸 */

a.btn--radius {
  border-radius: 100vh;
}


/*2 角丸 */


/*3 電話 */

.fa-position-left {
  position: absolute;
  top: calc(50% - .5em);
  left: 1rem;
}


/*3 電話 */


/*4 立体 */

a.btn--c2 {
  color: #000;
  background-color: #fff100;
  border-bottom: 5px solid #ccc100;
}

a.btn--c2:hover {
  margin-top: 3px;
  color: #000;
  background: #fff20a;
  border-bottom: 2px solid #ccc100;
}


/*4 立体 */


/*5 立体 影 */

a.btn--c2 {
  color: #fff;
  background-color: #eb6100;
  border-bottom: 5px solid #b84c00;
}

a.btn--c2:hover {
  margin-top: 3px;
  color: #fff;
  background: #f56500;
  border-bottom: 2px solid #b84c00;
}

a.btn--shadow {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}


/*5 立体 影 */


/*6 フラット */

a.btn-flat {
  overflow: hidden;
  padding: 1.5rem 6rem;
  color: #fff;
  border-radius: 0;
  background: #000;
}

a.btn-flat span {
  position: relative;
}

a.btn-flat:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 150%;
  height: 500%;
  content: "";
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
  transform: translateX(-98%) translateY(-25%) rotate(45deg);
  background: #00b7ee;
}

a.btn-flat:hover {
  color: #000;
}

a.btn-flat:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
  transform: translateX(-9%) translateY(-25%) rotate(45deg);
}


/*6 フラット */


/*7 フラット2 */

a.btn-flat2 {
  overflow: hidden;
  padding: 1.5rem 6rem;
  color: #fff;
  border-radius: 0;
  background: #000;
}

a.btn-flat2 span {
  position: relative;
}

a.btn-flat2:before {
  position: absolute;
  top: 0;
  left: 30px;
  width: 150%;
  height: 500%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-70%) rotate(135deg);
  transform: translateX(-98%) translateY(-70%) rotate(135deg);
  background: #fff100;
}

a.btn-flat2:hover {
  color: #000;
}

a.btn-flat2:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(135deg);
  transform: translateX(-9%) translateY(-25%) rotate(135deg);
}


/*7 フラット2 */


/*8 フラット3 */

a.btn-flat3 {
  overflow: hidden;
  padding: 1.5rem 6rem;
  color: #fff;
  border-radius: 0;
  background: #000;
}

a.btn-flat3 span {
  position: relative;
}

a.btn-flat3:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: translateX(-96%);
  transform: translateX(-96%);
  background: #eb6877;
}

a.btn-flat3:hover:before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}


/*8 フラット3 */


/*9 お問い合わせボタン 矢印 */

a.btn--c3 {
  color: #fff;
  background-color: #eb6100;
}

a.btn--c3:hover {
  color: #fff;
  background: #f56500;
}

a.btn-c {
  font-size: 2rem;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
}

a.btn-c i.fa {
  margin-right: 1rem;
}

a.btn-c:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}


/*9 お問い合わせボタン 矢印 */


/*10 スマホ */

.btn-wrap-pc-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*テスト表示用*/
  max-width: 435px;
  margin: 0 auto 20px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

a.btn-pc-sp {
  line-height: 1.4;
  width: 49.5%;
  padding: 1.25rem 0;
  color: #ffff;
}

a.btn-pc-sp--contact {
  color: #fff;
  background: #eb6100;
}

a.btn-pc-sp--tel {
  color: #fff;
  background: #094;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}


/*10 スマホ */


/*10 facebook */

a.btn-sns {
  font-size: 2.4rem;
  line-height: 50px;
  width: 50px;
  height: 50px;
  padding: 0;
  letter-spacing: 0;
  color: #fff;
  border-radius: 50%;
}

a.btn-sns:hover {
  color: #fff;
}

a.btn-sns--facebook {
  background: #1877f2;
}


/*10 facebook */


/*10 twitter */

a.btn-sns {
  font-size: 2.4rem;
  line-height: 50px;
  width: 50px;
  height: 50px;
  padding: 0;
  letter-spacing: 0;
  color: #fff;
  border-radius: 50%;
}

a.btn-sns:hover {
  color: #fff;
}

a.btn-sns--twitter {
  background: #1da1f2;
}


/*10 twitter */


/*10 insta */

a.btn-sns {
  font-size: 2.4rem;
  line-height: 50px;
  width: 50px;
  height: 50px;
  padding: 0;
  letter-spacing: 0;
  color: #fff;
  border-radius: 50%;
}

a.btn-sns:hover {
  color: #fff;
}

a.btn-sns--instagram {
  background: #d6249f;
  background: linear-gradient(45deg, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}


/*10 insta */


/*10 line */

a.btn-sns {
  font-size: 2.4rem;
  line-height: 50px;
  width: 50px;
  height: 50px;
  padding: 0;
  letter-spacing: 0;
  color: #fff;
  border-radius: 50%;
}

a.btn-sns:hover {
  color: #fff;
}

a.btn-sns--line {
  background: #00b900;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: flex-start;
}

.flex .left {
  width: 50%;
  align-self: stretch;
}

.flex .left img {
  width: 100%;
  max-height: 300px;
  object-fit: cover;
}

.flex .right {
  width: 50%;
  align-self: stretch;
}

.flex .right .text-box {
  margin-top: 40px;
  padding: 0 20px;
}

.flex .right .text-box h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
}

.flex .right .text-box p {
  line-height: 1.5;
  margin-bottom: 30px;
}

.second {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.second .left {
  text-align: right;
}


/* card */

.card {
  padding-bottom: 100px;
}

.card .inner {
  text-align: center;
}

.card .inner h2 {
  font-size: 27px;
  font-weight: bold;
  letter-spacing: 7px;
  text-align: center;
  padding-top: 100px;
  margin-bottom: 90px;
  color: #000;
}

.card .inner h2::before {
  /*疑似要素*/
  content: 'BLOG';
  letter-spacing: 2px;
  color: #000;
  /*文字色*/
  font-size: 15px;
  display: block;
  /*改行するように*/
  margin-bottom: 10px;
}

.card .inner .flex {
  -ms-flex-pack: distribute;
  justify-content: space-around;
  margin-bottom: 90px;
}

.card .inner .flex a {
  width: 32%;
}

.card .inner .flex .c-box {
  width: 95%;
  margin: 0 auto;
  text-align: left;
}

.card .inner .flex .c-box img {
  max-height: 190px;
  object-fit: cover;
}

.card .inner .flex .c-box p {
  color: #000;
  font-size: 14px;
  font-weight: bold;
  margin-top: 25px;
}

.card .inner .flex .card-box {
  width: 100%;
  position: relative;
  background: silver;
  /*背景色*/
}

.card .inner .flex .card-box:before {
  /*疑似要素*/
  position: absolute;
  content: '見出し';
  top: 0;
  left: 0;
  color: white;
  /*文字色*/
  padding: 0.6em;
  /*余白*/
  background: #000;
  /*背景色*/
}

.card .inner .white2 {
  color: #000;
  background-color: #fff;
  font-size: 15px;
  font-weight: bold;
  -webkit-transition: all .3s;
  transition: all .3s;
  -webkit-box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
}

.card .inner .white2:hover {
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

.card .inner .white2::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
}

.card .inner .white2 {
  padding: 18px 76px;
  text-decoration: none;
  border-radius: 40px;
  position: relative;
  width: 25%;
  text-align: center;
  margin: 0 auto;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
}


/* access */

#access {
  position: relative;
}

#access .access-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  background: #fff;
  -webkit-box-shadow: 0 4px 4px #ccc;
  box-shadow: 0 4px 4px #ccc;
  width: 90%;
  margin: 0 auto 100px auto;
}

#access .access-area .access-block {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

#access .access-area .access-block h3 {
  font-size: 1.2rem;
  margin: 0 0 20px 0;
}

#access .access-area .access-block p {
  margin: 0 0 20px 0;
}

#access .access-map {
  width: 50%;
}

#access .iframe-wrap {
  position: relative;
  padding-bottom: 51.65%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  z-index: 2;
}

#access .iframe-wrap iframe, #access .iframe-wrap object, #access .iframe-wrap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1040px) {
  #access .access-area .access-block, #access .access-map {
    width: 100%;
  }
  #access .access-area .access-block {
    padding: 40px 20px;
  }
}

@media screen and (max-width: 768px) {
  #access .access-bg {
    background-attachment: inherit;
  }
}


/*リンクの形状*/

#page-top a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #942D2F;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

#page-top a:hover {
  background: #777;
}


/*リンクを右下に固定*/

#page-top {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
}


/*　上に上がる動き　*/

#page-top.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
  animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes UpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}


/*　下に下がる動き　*/

#page-top.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
  animation: DownAnime 0.5s forwards;
}

@-webkit-keyframes DownAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
  }
}

@keyframes DownAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
  }
}


/*tabの形状*/

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

.tab li a {
  display: block;
  background: #ddd;
  margin: 0 2px;
  padding: 10px 20px;
}


/*liにactiveクラスがついた時の形状*/

.tab li.active a {
  background: #fff;
}


/*エリアの表示非表示と形状*/

.area {
  display: none;
  /*はじめは非表示*/
  opacity: 0;
  /*透過0*/
  background: #fff;
  padding: 50px 20px;
}


/*areaにis-activeというクラスがついた時の形状*/

.area.is-active {
  display: block;
  /*表示*/
  -webkit-animation-name: displayAnime;
  animation-name: displayAnime;
  /*ふわっと表示させるためのアニメーション*/
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


/* about */

#about {
  margin: 0 0 100px 0;
}

@media screen and (max-width:768px) {
  #about {
    margin: 0 0 100px 0;
  }
}

#about .about-list {
  width: 96%;
  max-width: 900px;
  margin: 0 auto;
}

#about .about-list li {
  border-bottom: 1px solid #ccc;
  margin: 0 0 15px 0;
  padding: 0 0 15px 0;
}

#about .about-list dl {
  display: flex;
  justify-content: space-between;
}

#about .about-list dt {
  width: 30%;
  padding: 0 0 0 40px;
}

@media screen and (max-width:590px) {
  #about .about-list dt {
    padding: 0 0 0 10px;
  }
}

#about .about-list dd {
  width: 65%;
}


/*==================================================
スライダーのためのcss
===================================*/

.slider {
  /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 94%;
  margin: 0 auto;
}

.slider img {
  width: 100vw;
  /*スライダー内の画像を60vwにしてレスポンシブ化*/
  height: auto;
}

.slider .slick-slide {
  -webkit-transform: scale(1);
  transform: scale(1);
  /*左右の画像のサイズを80%に*/
  -webkit-transition: all .5s;
  transition: all .5s;
  /*拡大や透過のアニメーションを0.5秒で行う*/
  opacity: 0.5;
  /*透過50%*/
}

.slider .slick-slide.slick-center {
  -webkit-transform: scale(1);
  transform: scale(1);
  /*中央の画像のサイズだけ等倍に*/
  opacity: 1;
  /*透過なし*/
}

.slider2 {
  /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 94%;
  margin: 0 auto;
}

.slider2 img {
  width: 100vw !important;
  /*スライダー内の画像を60vwにしてレスポンシブ化*/
  height: auto;
}

.slick-slide img {
  display: block;
  max-height: 100vh;
  object-fit: cover;
}

.slider2 .slick-slide {
  -webkit-transform: scale(1);
  transform: scale(1);
  /*左右の画像のサイズを80%に*/
  -webkit-transition: all .5s;
  transition: all .5s;
  /*拡大や透過のアニメーションを0.5秒で行う*/
  opacity: 0.5;
  /*透過50%*/
}

.slider2 .slick-slide.slick-center {
  -webkit-transform: scale(1);
  transform: scale(1);
  /*中央の画像のサイズだけ等倍に*/
  opacity: 1;
  /*透過なし*/
}


/*矢印の設定*/


/*戻る、次へ矢印の位置*/

.slick-prev, .slick-next {
  position: absolute;
  /*絶対配置にする*/
  top: 42%;
  cursor: pointer;
  /*マウスカーソルを指マークに*/
  outline: none;
  /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid #666;
  /*矢印の色*/
  border-right: 2px solid #666;
  /*矢印の色*/
  height: 15px;
  width: 15px;
}

.slick-prev {
  /*戻る矢印の位置と形状*/
  left: -1.5%;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.slick-next {
  /*次へ矢印の位置と形状*/
  right: -1.5%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


/*ドットナビゲーションの設定*/

.slick-dots {
  text-align: center;
  margin: 20px 0 0 0;
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 8px;
  /*ドットボタンのサイズ*/
  height: 8px;
  /*ドットボタンのサイズ*/
  display: block;
  border-radius: 50%;
  background: #ccc;
  /*ドットボタンの色*/
}

.slick-dots .slick-active button {
  background: #333;
  /*ドットボタンの現在地表示の色*/
}

.video-container {
  position: relative;
}

.video-sidebar {
  position: absolute;
  top: 0;
  left: 0;
  width: 30%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
}

video {
  width: 100%;
}

.slider2 img {
  width: 100vw;
  height: 80vh;
  object-fit: cover;
}

.slick-slide img {
  display: block;
  max-height: 80vh;
  width: 60vw;
  object-fit: cover;
}

 #top2 {
   padding-top: 0px;
   font-family: 'Heebo', sans-serif;
 }

 #top2 .myform {
   padding-top: 70px;
   padding-bottom: 20px;
 }

 #top2 .formbox {
   padding: 0px 0px 0px 0px;
   width: 750px;
   margin: 0 auto;
 }

 #top2 .box {
   padding: 18px 0px;
   display: flex;
   flex-direction: column;
 }

 #top2 .box1 {
   align-items: flex-start;
 }

 #top2 .left {
   text-align: left;
   font-size: 16px;
   margin-bottom: 15px;
 }

 #top2 .req {
   margin-left: 8px;
   font-size: 9px;
   color: #fff;
   display: inline-block;
   font-weight: 700;
   background-color: #D62424;
   padding: 4px 4px;
   border-radius: 5px;
 }

 #top2 .right {
   width: 100%;
   font-size: 16px;
   color: #000;
   font-weight: 700;
   display: flex;
   align-items: center;
 }

 #top2 .right span {
   font-size: 12px;
   display: block;
   margin-top: 10px;
   font-weight: normal;
 }

 #top2 .right1 span {
   display: block;
 }

 #top2 .right1 .text {
   font-size: 12px;
 }

 #top2 .right .text {
   font-size: 12px;
   margin-top: 10px;
   font-weight: normal;
 }

 label.mr-2.ml-2.my-auto {
   margin: 0 15px 0 5px;
   font-weight: normal;
 }

 #top2 .textbox {
   background: #F5F5F5;
   padding: 13px 5px;
   border: 0px solid #e2e0e0;
   border-radius: 0px;
   font-size: 16px;
 }

 #top2 .textboxdec {
   cursor: pointer;
   background: #000;
   margin-left: 15px;
   padding: 17px 10px;
   color: #fff;
   font-size: 1rem;
   display: inline-block;
   width: 116px;
   text-align: center;
   font-weight: normal;
 }

 #top2 .textbox2 {
   width: 50%;
 }

 #top2 .textbox2a {
   max-width: 85px;
 }

 #top2 .selectbox {
   padding: 8px 5px;
   min-width: 180px;
   border: none;
   border-bottom: 3px solid #f4f4f4;
 }

 #top2 .dayselect {
   min-width: 70px;
   background-color: #fff;
 }

 #top2 .textbox1 {
   width: 100%;
 }

 #top2 .textbox3 {
   max-width: 70px;
 }

 #top2 .right1 {
   padding-bottom: 30px;
 }

 #top2 .selectbox {
   background-color: #fff;
   margin-left: 36px;
   margin-right: 8px;
 }

 #top2 .selectbox:first-of-type {
   margin-left: 0;
 }

 #top2 .button {
   padding-top: 35px;
   text-align: center;
   padding-bottom: 70px;
   cursor: pointer;
 }

 #top2 .formsubmit {
   padding: 17px 105px;
   color: #fff;
   font-size: 19px;
   display: inline-block;
   border: none;
   font-family: 'Heebo';
   font-family: "Times New Roman","ヒラギノ明朝 ProN W6", serif;
   letter-spacing: 0.2em;
   font-weight: bold;
   cursor: pointer;
 }

 #contact_form .button {
   padding-top: 35px;
   text-align: center;
   padding-bottom: 70px;
   cursor: pointer;
 }

 #contact_form .formsubmit {
   padding: 17px 105px;
   color: #fff;
   font-size: 19px;
   display: inline-block;
   border: none;
   font-family: 'times';
   font-family: "Times New Roman","ヒラギノ明朝 ProN W6", serif;
   letter-spacing: 0.2em;
   font-weight: bold;
   cursor: pointer;
 }

 .text {
   margin-top: 8px;
 }

 #step2 .button {
   padding-top: 75px;
   text-align: center;
 }

 #step2 .formsubmit {
   background: #ccc url(../images/page_img_arrowright.png) 90% center no-repeat;
   background-size: 8px;
   padding: 17px 105px;
   border-radius: 30px;
   color: #fff;
   font-size: 19px;
   display: inline-block;
   border: none;
 }

 .ttl {
   margin-bottom: 30px;
 }

 .ttl h2 {
   font-size: 29px;
   font-family: 'Heebo';
   font-weight: bold;
   margin-bottom: 5px;
 }

 .ttl p {
   font-size: 13px;
   font-weight: bold;
 }

 .pi {
   background-color: #FAFAFA;
   padding: 25px;
   margin-top: 30px;
   margin-bottom: 30px;
   height: 100px;
   overflow-y: auto;
 }

 .pi p {
   font-size: 14px;
   line-height: 1.5;
 }

 .input {
   text-align: center;
   margin-top: 30px;
   font-weight: bold;
   font-size: 14px;
 }

 footer .top {
   text-align: center;
 }

 footer .top img {
   width: 20%;
 }

 footer .middle {
   text-align: center;
   margin-top: 50px;
 }

 footer .middle img {
   width: 40%;
 }

 footer .bottom {
   text-align: center;
   margin-top: 90px;
   margin-bottom: 80px;
 }

 footer .bottom p {
   color: #CCCCCC;
   font-size: 13px;
   line-height: 1.5;
   font-family: 'Heebo';
 }

 @media (max-width: 640px) {
  #contact_form .button{
     width: 300px;
   }
   #top2 .box {
     flex-wrap: wrap;
   }
   #contact_form .formsubmit{
     width: 100%;
     padding: 17px 0px;
    font-family: 'times';
   }
   #top2 .textbox2 {
     max-width: 146px;
     margin-top: 12px;
   }
   #top2 .right {
     width: 100%;
   }
   #top2 .textbox3 {
     max-width: 82px;
     margin: 12px 0 6px;
   }
   #top2 .formbox {
     padding: 0;
     width: 90%;
   }
   #top2 .selectbox {
     width: 100%;
   }
   #top2 .textboxdec {
     margin: 0;
     margin-top: 10px;
     margin-left: 20px;
     width: 104px;
     vertical-align: middle;
   }
   #top2 .textbox1 {
     margin-top: 12px;
   }
   .form-check.pl-0 {
     margin-top: 19px;
   }
   #top2 .myform {
     padding-top: 0;
   }
   #top2 .left {
     margin-bottom: 0;
   }
   footer {
     padding-top: 50px;
   }
   footer .top img {
     width: 30%;
   }
   footer .middle img {
     width: 50%;
   }
 }

 .check-inner {
   width: 688px;
   margin: 0 auto;
   padding-top: 40px;
   margin-bottom: 30px;
   line-height: 1.5;
 }

 .check-inner h2 {
   text-align: left;
   margin-bottom: 30px;
   font-size: 18px;
   font-weight: bold;
 }

 .center {
   text-align: center;
 }


 .flex .left {
   width: 20%;
 }

 .pbn {
   margin-right: 10px;
 }

 .logo {
   width: 5%;
   margin: 0 auto;
 }

 .step-buttons {
   border: none !important;
 }

 .check-inner .flex {
   border-bottom: #dedede 1px solid;
   border-right: #dedede 1px solid;
   border-left: #dedede 1px solid;
 }

 .check-inner .flex .left {
   width: 48%;
   padding: 17px 17px;
   align-self: stretch;
   background-color: #f9f8f4;
 }

 .check-inner .flex .right {
   width: 52%;
   align-self: stretch;
   padding: 17px 17px;
   background:#fff;
 }

 .round_arrow {
   position: relative;
 }

 .round_arrow::after {
   /* くの字の表示設定 */
   content: "";
   position: absolute;
   margin: auto;
   top: 0;
   bottom: 0;
   right: 52px;
   width: 10px;
   height: 10px;
   border-top: 3px solid #fff;
   border-right: 3px solid #fff;
   transform: rotate(45deg);
 }

 .round_arrow2 {
   position: relative;
 }

 .round_arrow2::after {
   /* くの字の表示設定 */
   content: "";
   position: absolute;
   margin: auto;
   top: 0;
   bottom: 0;
   left: 52px;
   width: 10px;
   height: 10px;
   border-top: 3px solid #fff;
   border-right: 3px solid #fff;
   transform: rotate(-135deg);
 }

 @media (max-width: 640px) {
   .flex {
     flex-direction: column;
   }
   .check-inner {
     width: 90%;
   }
   .check-inner .flex .left, .check-inner .flex .right {
     width: 100%;
   }
   .pbn {
     padding-bottom: 0 !important;
     margin-right: 0;
   }
 }

 @media screen and (min-width: 1200px) {
   .m-inner {
     width: 80%;
     margin: 0 auto;
   }
 }

 @media screen and (max-width: 768px) {
   .invalid-message {
     line-height: 1.4 !important;
     font-size: 13px !important;
   }
   .m-inner {
     width: 100%;
   }
   .site-title a img {
     width: 85%;
   }
   .step {
     margin: 38px auto 50px !important;
   }
   .check-inner p {
     line-height: 1.5;
   }
   #top2 .formsubmit {
     width: 300px;
   }
   #top2 .button {
     margin: 0 auto;
   }
   .logo {
     width: 15%;
     margin: 0 auto;
   }
   #top2 .formsubmit {
     padding: 18px 0px;
     font-family: "Times New Roman","ヒラギノ明朝 ProN W6", serif;
   }
   .check-inner .flex {
     border-left: #dedede 1px solid;
   }
 }

 input:focus {
   border: solid 2px #D62424;
   outline: none;
   border-radius: 5px;
 }

 .disabled-btn{
       background: #969696;
 }

  .disabled-btn2{
    background: #30A053;
  }

