@charset "UTF-8";
/*
Theme Name: 
Author: 
Author URI: 
Version: 1.0.0
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Hubballi&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
.clearfix, .contents-sidebar {
  *zoom: 1;
}
.clearfix:after, .contents-sidebar:after {
  content: "";
  display: table;
  clear: both;
}

/* --- サイト内共通 ----------------------------------------------------------------------------------------- */
html {
  font-size: 62.5%;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
}
@media (min-width: 31.25em) {
  html {
    font-size: 125%;
  }
}
@media all and (-ms-high-contrast: none) {
  html {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
  }
}

body {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.625;
  color: #3d3d3d;
  letter-spacing: 0.1em;
  background-image: -webkit-gradient(linear, left top, right top, from(#e4f3ff), to(#e9fff3));
  background-image: linear-gradient(90deg, #e4f3ff, #e9fff3);
}
@media (min-width: 31.25em) {
  body {
    font-size: 0.8rem;
  }
}

a {
  position: relative;
  text-decoration: none;
  color: #000;
  outline: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media (min-width: 62.5em) {
  a:hover {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0.6;
  }
}

.pd-4px-8px {
  padding-top: 0.4rem !important;
  padding-bottom: 0.4rem !important;
}

.pd-8px-16px {
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
}

.pd-12px-24px {
  padding-top: 1.2rem !important;
  padding-bottom: 1.2rem !important;
}

.pd-16px-32px {
  padding-top: 1.6rem !important;
  padding-bottom: 1.6rem !important;
}

.pd-20px-40px {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.pd-24px-48px {
  padding-top: 2.4rem !important;
  padding-bottom: 2.4rem !important;
}

.pd-28px-56px {
  padding-top: 2.8rem !important;
  padding-bottom: 2.8rem !important;
}

.pd-32px-64px {
  padding-top: 3.2rem !important;
  padding-bottom: 3.2rem !important;
}

.pd-36px-72px {
  padding-top: 3.6rem !important;
  padding-bottom: 3.6rem !important;
}

.pd-40px-80px {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.pd-box-4px-8px {
  padding: 0.4rem !important;
}

.pd-box-8px-16px {
  padding: 0.8rem !important;
}

.pd-box-12px-24px {
  padding: 1.2rem !important;
}

.pd-box-16px-32px {
  padding: 1.6rem !important;
}

.pd-box-20px-40px {
  padding: 2rem !important;
}

.pd-box-24px-48px {
  padding: 2.4rem !important;
}

.pd-box-28px-56px {
  padding: 2.8rem !important;
}

.pd-box-32px-64px {
  padding: 3.2rem !important;
}

.pd-box-36px-72px {
  padding: 3.6rem !important;
}

.pd-box-40px-80px {
  padding: 4rem !important;
}

.mg-bottom-4px-8px {
  margin-bottom: 0.4rem !important;
}

.mg-bottom-8px-16px {
  margin-bottom: 0.8rem !important;
}

.mg-bottom-12px-24px {
  margin-bottom: 1.2rem !important;
}

.mg-bottom-16px-32px {
  margin-bottom: 1.6rem !important;
}

.mg-bottom-20px-40px {
  margin-bottom: 2rem !important;
}

.mg-bottom-24px-48px {
  margin-bottom: 2.4rem !important;
}

.mg-bottom-28px-56px {
  margin-bottom: 2.8rem !important;
}

.mg-bottom-32px-64px {
  margin-bottom: 3.2rem !important;
}

.mg-bottom-36px-72px {
  margin-bottom: 3.6rem !important;
}

.mg-bottom-40px-80px {
  margin-bottom: 4rem !important;
}

.w-10pc {
  width: 10% !important;
}

.w-20pc {
  width: 20% !important;
}

.w-30pc {
  width: 30% !important;
}

.w-40pc {
  width: 40% !important;
}

.w-50pc {
  width: 50% !important;
}

.w-60pc {
  width: 60% !important;
}

.w-70pc {
  width: 70% !important;
}

.w-80pc {
  width: 80% !important;
}

.w-90pc {
  width: 90% !important;
}

.w-100pc {
  width: 100% !important;
}

.co-center {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.co-center-y {
  position: absolute;
  top: 50%;
  left: auto;
  margin: auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

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

.fo-st-italic {
  font-style: italic;
}
.fo-st-normal {
  font-style: normal;
}

.fo-w-normal {
  font-weight: normal;
}
.fo-w-bold {
  font-weight: bold;
}
.fo-w-100 {
  font-weight: 100;
}
.fo-w-300 {
  font-weight: 300;
}
.fo-w-400 {
  font-weight: 400;
}
.fo-w-700 {
  font-weight: 700;
}
.fo-w-900 {
  font-weight: 900;
}

.fo-fa-Inter {
  font-family: Inter;
}
.fo-fa-Lato {
  font-family: Lato;
}
.fo-fa-Roboto {
  font-family: Roboto;
}
.fo-fa-Old_Standard_TT {
  font-family: Old Standard TT;
}
.fo-fa-jp-go {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif;
}
.fo-fa-jp-min {
  font-family: "Shippori Mincho", "Old Standard TT", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", serif;
}

.fo-2px {
  font-size: 2px;
  font-size: 0.2rem !important;
  line-height: 5 !important;
}
@media (min-width: 31.25em) {
  .fo-2px {
    font-size: 0.1rem !important;
  }
}

.fo-2px-sp {
  font-size: 2px;
  font-size: 0.2rem !important;
  line-height: 5 !important;
}

@media (min-width: 31.25em) {
  .fo-2px-pc {
    font-size: 2px;
    font-size: 0.1rem !important;
    line-height: 5 !important;
  }
}

.fo-4px {
  font-size: 4px;
  font-size: 0.4rem !important;
  line-height: 3 !important;
}
@media (min-width: 31.25em) {
  .fo-4px {
    font-size: 0.2rem !important;
  }
}

.fo-4px-sp {
  font-size: 4px;
  font-size: 0.4rem !important;
  line-height: 3 !important;
}

@media (min-width: 31.25em) {
  .fo-4px-pc {
    font-size: 4px;
    font-size: 0.2rem !important;
    line-height: 3 !important;
  }
}

.fo-6px {
  font-size: 6px;
  font-size: 0.6rem !important;
  line-height: 2.3333333333 !important;
}
@media (min-width: 31.25em) {
  .fo-6px {
    font-size: 0.3rem !important;
  }
}

.fo-6px-sp {
  font-size: 6px;
  font-size: 0.6rem !important;
  line-height: 2.3333333333 !important;
}

@media (min-width: 31.25em) {
  .fo-6px-pc {
    font-size: 6px;
    font-size: 0.3rem !important;
    line-height: 2.3333333333 !important;
  }
}

.fo-8px {
  font-size: 8px;
  font-size: 0.8rem !important;
  line-height: 2 !important;
}
@media (min-width: 31.25em) {
  .fo-8px {
    font-size: 0.4rem !important;
  }
}

.fo-8px-sp {
  font-size: 8px;
  font-size: 0.8rem !important;
  line-height: 2 !important;
}

@media (min-width: 31.25em) {
  .fo-8px-pc {
    font-size: 8px;
    font-size: 0.4rem !important;
    line-height: 2 !important;
  }
}

.fo-10px {
  font-size: 10px;
  font-size: 1rem !important;
  line-height: 1.8 !important;
}
@media (min-width: 31.25em) {
  .fo-10px {
    font-size: 0.5rem !important;
  }
}

.fo-10px-sp {
  font-size: 10px;
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

@media (min-width: 31.25em) {
  .fo-10px-pc {
    font-size: 10px;
    font-size: 0.5rem !important;
    line-height: 1.8 !important;
  }
}

.fo-12px {
  font-size: 12px;
  font-size: 1.2rem !important;
  line-height: 1.6666666667 !important;
}
@media (min-width: 31.25em) {
  .fo-12px {
    font-size: 0.6rem !important;
  }
}

.fo-12px-sp {
  font-size: 12px;
  font-size: 1.2rem !important;
  line-height: 1.6666666667 !important;
}

@media (min-width: 31.25em) {
  .fo-12px-pc {
    font-size: 12px;
    font-size: 0.6rem !important;
    line-height: 1.6666666667 !important;
  }
}

.fo-14px {
  font-size: 14px;
  font-size: 1.4rem !important;
  line-height: 1.5714285714 !important;
}
@media (min-width: 31.25em) {
  .fo-14px {
    font-size: 0.7rem !important;
  }
}

.fo-14px-sp {
  font-size: 14px;
  font-size: 1.4rem !important;
  line-height: 1.5714285714 !important;
}

@media (min-width: 31.25em) {
  .fo-14px-pc {
    font-size: 14px;
    font-size: 0.7rem !important;
    line-height: 1.5714285714 !important;
  }
}

.fo-16px {
  font-size: 16px;
  font-size: 1.6rem !important;
  line-height: 1.5 !important;
}
@media (min-width: 31.25em) {
  .fo-16px {
    font-size: 0.8rem !important;
  }
}

.fo-16px-sp {
  font-size: 16px;
  font-size: 1.6rem !important;
  line-height: 1.5 !important;
}

@media (min-width: 31.25em) {
  .fo-16px-pc {
    font-size: 16px;
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
  }
}

.fo-18px {
  font-size: 18px;
  font-size: 1.8rem !important;
  line-height: 1.4444444444 !important;
}
@media (min-width: 31.25em) {
  .fo-18px {
    font-size: 0.9rem !important;
  }
}

.fo-18px-sp {
  font-size: 18px;
  font-size: 1.8rem !important;
  line-height: 1.4444444444 !important;
}

@media (min-width: 31.25em) {
  .fo-18px-pc {
    font-size: 18px;
    font-size: 0.9rem !important;
    line-height: 1.4444444444 !important;
  }
}

.fo-20px {
  font-size: 20px;
  font-size: 2rem !important;
  line-height: 1.4 !important;
}
@media (min-width: 31.25em) {
  .fo-20px {
    font-size: 1rem !important;
  }
}

.fo-20px-sp {
  font-size: 20px;
  font-size: 2rem !important;
  line-height: 1.4 !important;
}

@media (min-width: 31.25em) {
  .fo-20px-pc {
    font-size: 20px;
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }
}

.fo-22px {
  font-size: 22px;
  font-size: 2.2rem !important;
  line-height: 1.3636363636 !important;
}
@media (min-width: 31.25em) {
  .fo-22px {
    font-size: 1.1rem !important;
  }
}

.fo-22px-sp {
  font-size: 22px;
  font-size: 2.2rem !important;
  line-height: 1.3636363636 !important;
}

@media (min-width: 31.25em) {
  .fo-22px-pc {
    font-size: 22px;
    font-size: 1.1rem !important;
    line-height: 1.3636363636 !important;
  }
}

.fo-24px {
  font-size: 24px;
  font-size: 2.4rem !important;
  line-height: 1.3333333333 !important;
}
@media (min-width: 31.25em) {
  .fo-24px {
    font-size: 1.2rem !important;
  }
}

.fo-24px-sp {
  font-size: 24px;
  font-size: 2.4rem !important;
  line-height: 1.3333333333 !important;
}

@media (min-width: 31.25em) {
  .fo-24px-pc {
    font-size: 24px;
    font-size: 1.2rem !important;
    line-height: 1.3333333333 !important;
  }
}

.fo-26px {
  font-size: 26px;
  font-size: 2.6rem !important;
  line-height: 1.3076923077 !important;
}
@media (min-width: 31.25em) {
  .fo-26px {
    font-size: 1.3rem !important;
  }
}

.fo-26px-sp {
  font-size: 26px;
  font-size: 2.6rem !important;
  line-height: 1.3076923077 !important;
}

@media (min-width: 31.25em) {
  .fo-26px-pc {
    font-size: 26px;
    font-size: 1.3rem !important;
    line-height: 1.3076923077 !important;
  }
}

.fo-28px {
  font-size: 28px;
  font-size: 2.8rem !important;
  line-height: 1.2857142857 !important;
}
@media (min-width: 31.25em) {
  .fo-28px {
    font-size: 1.4rem !important;
  }
}

.fo-28px-sp {
  font-size: 28px;
  font-size: 2.8rem !important;
  line-height: 1.2857142857 !important;
}

@media (min-width: 31.25em) {
  .fo-28px-pc {
    font-size: 28px;
    font-size: 1.4rem !important;
    line-height: 1.2857142857 !important;
  }
}

.fo-30px {
  font-size: 30px;
  font-size: 3rem !important;
  line-height: 1.2666666667 !important;
}
@media (min-width: 31.25em) {
  .fo-30px {
    font-size: 1.5rem !important;
  }
}

.fo-30px-sp {
  font-size: 30px;
  font-size: 3rem !important;
  line-height: 1.2666666667 !important;
}

@media (min-width: 31.25em) {
  .fo-30px-pc {
    font-size: 30px;
    font-size: 1.5rem !important;
    line-height: 1.2666666667 !important;
  }
}

.fo-32px {
  font-size: 32px;
  font-size: 3.2rem !important;
  line-height: 1.25 !important;
}
@media (min-width: 31.25em) {
  .fo-32px {
    font-size: 1.6rem !important;
  }
}

.fo-32px-sp {
  font-size: 32px;
  font-size: 3.2rem !important;
  line-height: 1.25 !important;
}

@media (min-width: 31.25em) {
  .fo-32px-pc {
    font-size: 32px;
    font-size: 1.6rem !important;
    line-height: 1.25 !important;
  }
}

.fo-34px {
  font-size: 34px;
  font-size: 3.4rem !important;
  line-height: 1.2352941176 !important;
}
@media (min-width: 31.25em) {
  .fo-34px {
    font-size: 1.7rem !important;
  }
}

.fo-34px-sp {
  font-size: 34px;
  font-size: 3.4rem !important;
  line-height: 1.2352941176 !important;
}

@media (min-width: 31.25em) {
  .fo-34px-pc {
    font-size: 34px;
    font-size: 1.7rem !important;
    line-height: 1.2352941176 !important;
  }
}

.fo-36px {
  font-size: 36px;
  font-size: 3.6rem !important;
  line-height: 1.2222222222 !important;
}
@media (min-width: 31.25em) {
  .fo-36px {
    font-size: 1.8rem !important;
  }
}

.fo-36px-sp {
  font-size: 36px;
  font-size: 3.6rem !important;
  line-height: 1.2222222222 !important;
}

@media (min-width: 31.25em) {
  .fo-36px-pc {
    font-size: 36px;
    font-size: 1.8rem !important;
    line-height: 1.2222222222 !important;
  }
}

.fo-38px {
  font-size: 38px;
  font-size: 3.8rem !important;
  line-height: 1.2105263158 !important;
}
@media (min-width: 31.25em) {
  .fo-38px {
    font-size: 1.9rem !important;
  }
}

.fo-38px-sp {
  font-size: 38px;
  font-size: 3.8rem !important;
  line-height: 1.2105263158 !important;
}

@media (min-width: 31.25em) {
  .fo-38px-pc {
    font-size: 38px;
    font-size: 1.9rem !important;
    line-height: 1.2105263158 !important;
  }
}

.fo-40px {
  font-size: 40px;
  font-size: 4rem !important;
  line-height: 1.2 !important;
}
@media (min-width: 31.25em) {
  .fo-40px {
    font-size: 2rem !important;
  }
}

.fo-40px-sp {
  font-size: 40px;
  font-size: 4rem !important;
  line-height: 1.2 !important;
}

@media (min-width: 31.25em) {
  .fo-40px-pc {
    font-size: 40px;
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }
}

.fo-42px {
  font-size: 42px;
  font-size: 4.2rem !important;
  line-height: 1.1904761905 !important;
}
@media (min-width: 31.25em) {
  .fo-42px {
    font-size: 2.1rem !important;
  }
}

.fo-42px-sp {
  font-size: 42px;
  font-size: 4.2rem !important;
  line-height: 1.1904761905 !important;
}

@media (min-width: 31.25em) {
  .fo-42px-pc {
    font-size: 42px;
    font-size: 2.1rem !important;
    line-height: 1.1904761905 !important;
  }
}

.fo-44px {
  font-size: 44px;
  font-size: 4.4rem !important;
  line-height: 1.1818181818 !important;
}
@media (min-width: 31.25em) {
  .fo-44px {
    font-size: 2.2rem !important;
  }
}

.fo-44px-sp {
  font-size: 44px;
  font-size: 4.4rem !important;
  line-height: 1.1818181818 !important;
}

@media (min-width: 31.25em) {
  .fo-44px-pc {
    font-size: 44px;
    font-size: 2.2rem !important;
    line-height: 1.1818181818 !important;
  }
}

.fo-46px {
  font-size: 46px;
  font-size: 4.6rem !important;
  line-height: 1.1739130435 !important;
}
@media (min-width: 31.25em) {
  .fo-46px {
    font-size: 2.3rem !important;
  }
}

.fo-46px-sp {
  font-size: 46px;
  font-size: 4.6rem !important;
  line-height: 1.1739130435 !important;
}

@media (min-width: 31.25em) {
  .fo-46px-pc {
    font-size: 46px;
    font-size: 2.3rem !important;
    line-height: 1.1739130435 !important;
  }
}

.fo-48px {
  font-size: 48px;
  font-size: 4.8rem !important;
  line-height: 1.1666666667 !important;
}
@media (min-width: 31.25em) {
  .fo-48px {
    font-size: 2.4rem !important;
  }
}

.fo-48px-sp {
  font-size: 48px;
  font-size: 4.8rem !important;
  line-height: 1.1666666667 !important;
}

@media (min-width: 31.25em) {
  .fo-48px-pc {
    font-size: 48px;
    font-size: 2.4rem !important;
    line-height: 1.1666666667 !important;
  }
}

.fo-50px {
  font-size: 50px;
  font-size: 5rem !important;
  line-height: 1.16 !important;
}
@media (min-width: 31.25em) {
  .fo-50px {
    font-size: 2.5rem !important;
  }
}

.fo-50px-sp {
  font-size: 50px;
  font-size: 5rem !important;
  line-height: 1.16 !important;
}

@media (min-width: 31.25em) {
  .fo-50px-pc {
    font-size: 50px;
    font-size: 2.5rem !important;
    line-height: 1.16 !important;
  }
}

.fo-52px {
  font-size: 52px;
  font-size: 5.2rem !important;
  line-height: 1.1538461538 !important;
}
@media (min-width: 31.25em) {
  .fo-52px {
    font-size: 2.6rem !important;
  }
}

.fo-52px-sp {
  font-size: 52px;
  font-size: 5.2rem !important;
  line-height: 1.1538461538 !important;
}

@media (min-width: 31.25em) {
  .fo-52px-pc {
    font-size: 52px;
    font-size: 2.6rem !important;
    line-height: 1.1538461538 !important;
  }
}

.fo-54px {
  font-size: 54px;
  font-size: 5.4rem !important;
  line-height: 1.1481481481 !important;
}
@media (min-width: 31.25em) {
  .fo-54px {
    font-size: 2.7rem !important;
  }
}

.fo-54px-sp {
  font-size: 54px;
  font-size: 5.4rem !important;
  line-height: 1.1481481481 !important;
}

@media (min-width: 31.25em) {
  .fo-54px-pc {
    font-size: 54px;
    font-size: 2.7rem !important;
    line-height: 1.1481481481 !important;
  }
}

.fo-56px {
  font-size: 56px;
  font-size: 5.6rem !important;
  line-height: 1.1428571429 !important;
}
@media (min-width: 31.25em) {
  .fo-56px {
    font-size: 2.8rem !important;
  }
}

.fo-56px-sp {
  font-size: 56px;
  font-size: 5.6rem !important;
  line-height: 1.1428571429 !important;
}

@media (min-width: 31.25em) {
  .fo-56px-pc {
    font-size: 56px;
    font-size: 2.8rem !important;
    line-height: 1.1428571429 !important;
  }
}

.fo-58px {
  font-size: 58px;
  font-size: 5.8rem !important;
  line-height: 1.1379310345 !important;
}
@media (min-width: 31.25em) {
  .fo-58px {
    font-size: 2.9rem !important;
  }
}

.fo-58px-sp {
  font-size: 58px;
  font-size: 5.8rem !important;
  line-height: 1.1379310345 !important;
}

@media (min-width: 31.25em) {
  .fo-58px-pc {
    font-size: 58px;
    font-size: 2.9rem !important;
    line-height: 1.1379310345 !important;
  }
}

.fo-60px {
  font-size: 60px;
  font-size: 6rem !important;
  line-height: 1.1333333333 !important;
}
@media (min-width: 31.25em) {
  .fo-60px {
    font-size: 3rem !important;
  }
}

.fo-60px-sp {
  font-size: 60px;
  font-size: 6rem !important;
  line-height: 1.1333333333 !important;
}

@media (min-width: 31.25em) {
  .fo-60px-pc {
    font-size: 60px;
    font-size: 3rem !important;
    line-height: 1.1333333333 !important;
  }
}

.fo-co-base {
  color: #3d3d3d;
}
.fo-co-white {
  color: #fff;
}
.fo-co-black {
  color: rgb(25.5, 25.5, 25.5);
}
.fo-co-gray {
  color: #eee;
}
.fo-co-red {
  color: #d63b3f;
}
.fo-co-pink {
  color: #f36861;
}
.fo-co-blue {
  color: #36b1c0;
}
.fo-co-green {
  color: #68ba8a;
}
.fo-co-orange {
  color: #f98700;
}
.fo-co-yellow {
  color: #ffff00;
}

.text-lh-16px {
  line-height: 16px;
}

.text-lh-24px {
  line-height: 24px;
}

.text-lh-32px {
  line-height: 32px;
}

.text-lh-40px {
  line-height: 40px;
}

.text-lh-48px {
  line-height: 48px;
}

.text-lh-56px {
  line-height: 56px;
}

.text-indent-1em {
  text-indent: 1em;
}

.img-float-l, .img-float-r {
  display: block;
  margin: 0 auto 2rem auto;
  text-align: center;
}
@media (min-width: 30em) {
  .img-float-l, .img-float-r {
    float: left;
    display: inline-block;
    margin: 0 1.875rem 1.875rem 0;
  }
}
@media (min-width: 30em) {
  .img-float-r {
    float: right;
    margin: 0 0 1.875rem 1.875rem;
  }
}

.border-top {
  border-top: 1px rgb(199.75, 199.75, 199.75) solid;
}
.border-bottom {
  border-bottom: 1px rgb(199.75, 199.75, 199.75) solid;
}
.border-1px {
  border: 1px #ddd solid;
}
.border-2px {
  border: 2px #ddd solid;
}
.border-3px {
  border: 3px #ddd solid;
}
.border-4px {
  border: 4px #eee solid;
}
.border-5px {
  border: 5px #eee solid;
}
.border-co-base {
  border-color: #3d3d3d;
}
.border-co-white {
  border-color: #fff;
}
.border-co-black {
  border-color: rgb(25.5, 25.5, 25.5);
}
.border-co-gray {
  border-color: #eee;
}
.border-co-red {
  border-color: #d63b3f;
}
.border-co-pink {
  border-color: #f36861;
}
.border-co-blue {
  border-color: #36b1c0;
}
.border-co-green {
  border-color: #68ba8a;
}
.border-co-orange {
  border-color: #f98700;
}
.border-co-yellow {
  border-color: #ffff00;
}

.radius-4 {
  border-radius: 4px;
}
.radius-8 {
  border-radius: 8px;
}
.radius-16 {
  border-radius: 16px;
}
.radius-24 {
  border-radius: 24px;
}
.radius-32 {
  border-radius: 32px;
}
.radius-40 {
  border-radius: 40px;
}
.radius-100 {
  border-radius: 100%;
}

.bg-co-gray-light {
  background-color: rgb(225.25, 225.25, 225.25);
}
.bg-co-gray-middle {
  background-color: rgb(212.5, 212.5, 212.5);
}
.bg-co-gray-dark {
  background-color: rgb(199.75, 199.75, 199.75);
}
.bg-co-black {
  background-color: rgb(25.5, 25.5, 25.5);
  color: #fff;
}
.bg-co-white {
  background-color: #fff;
}

#PagetopBtn {
  position: fixed;
  right: -44px;
  bottom: 24px;
  z-index: 802;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 0);
  filter: alpha(opacity=0);
  opacity: 0;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
#PagetopBtn:hover {
  bottom: 32px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
#PagetopBtn.visible {
  right: 16px;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 100);
  filter: alpha(opacity=100);
  opacity: 1;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
#PagetopBtn a {
  outline: none;
  width: 38px;
  height: 38px;
  font-size: 12px;
  line-height: 36px;
  text-align: center;
  display: block;
  color: #fff;
  text-align: center;
  background: #FB6F19;
  margin: 0;
  border-radius: 100%;
}
@media (min-width: 31.25em) {
  #PagetopBtn a {
    width: 50px;
    height: 50px;
    font-size: 16px;
    line-height: 48px;
  }
}
#PagetopBtn a img {
  height: 20px;
  width: auto;
}
#PagetopBtn a:hover {
  opacity: 1;
}

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

   #mainsl

   ---------------------------------------------------------- */
#mainsl {
  margin: 0;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  z-index: 0;
  display: block;
  padding: 0;
  overflow: hidden;
}

/* ----- .mainImg ----- */
.mainImg {
  height: 100%;
  min-height: 100%;
  height: 100%;
  min-height: 100%;
  width: 100%;
  background-size: cover !important;
  background-repeat: no-repeat;
  list-style: none;
  padding: 35px 0 50px 0;
  display: block;
}

.mainImg img {
  padding: 0;
  width: 90%;
  height: auto;
  border-radius: 14px;
  margin: 0 5%;
}

/* ----- .bgAttachmen ----- */
.bgAttachment {
  background-attachment: fixed;
}

/* ----- .bgAttachmen ----- */
.logoNone h1 {
  display: none;
}

/* ----- a.linkArea ----- */
#mainsl a.linkArea {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  z-index: 1;
  background: none;
}

/* ----- .slick-slider ----- */
#mainsl .slick-list,
#mainsl .slick-track {
  height: 100%;
}

/* .slick-prev .slick-next */
#mainsl .slick-prev,
#mainsl .slick-next {
  display: none;
  position: absolute;
  height: 20px;
  width: 20px;
  width: 50px;
  height: 50px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  top: 50%;
  margin-top: -25px;
  padding: 0;
  border: none;
  outline: none;
  z-index: 10;
  text-align: center;
  background: transparent;
  color: #de0716;
  border: #de0716 1px solid;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-radius: 50%;
}

#mainsl .slick-prev:hover,
#mainsl .slick-next:hover {
  color: #fefefe;
  background: #de0716;
}

#mainsl .slick-prev:before,
#mainsl .slick-next:before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  font-family: "themify";
  font-size: 12px;
  line-height: 50px;
  text-align: center; /*opacity: 0.75; */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  opacity: 1;
}

#mainsl .slick-prev {
  left: 25px;
}

[dir=rtl] #mainsl .slick-prev {
  left: auto;
  right: 25px;
}

#mainsl .slick-prev:before {
  content: "◀";
}

[dir=rtl] #mainsl .slick-prev:before {
  content: "◀";
}

#mainsl .slick-next {
  right: 25px;
}

[dir=rtl] #mainsl .slick-next {
  left: 25px;
  right: auto;
}

#mainsl .slick-next:before {
  content: "▸";
}

[dir=rtl] #mainsl .slick-next:before {
  content: "▸";
}

/* ----- .slick-dots ----- */
#mainsl .slick-dots {
  position: absolute;
  bottom: 0;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  width: 100%;
}

#mainsl .slick-dots li {
  position: relative;
  display: inline-block;
  height: 10px;
  width: 12px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

#mainsl .slick-dots li button {
  border: 0;
  background: #fefefe;
  display: block;
  height: 10px;
  width: 10px;
  overflow: hidden;
  line-height: 0;
  font-size: 0;
  color: transparent;
  cursor: pointer;
  padding: 5px;
  border-radius: 50%;
  background: #fefefe;
}

#mainsl .slick-dots li.slick-active button {
  outline: 0;
  background: #ffe360;
}

/* ----- .scrollArea ----- */
#mainsl .scrollArea {
  position: absolute;
  bottom: 3%;
  left: 0;
  right: 0;
  display: block;
  z-index: 2;
  text-align: center;
}

#mainsl .scrollArea a {
  display: block;
  width: 60px;
  height: 60px;
  color: #de0716;
  border: #de0716 1px solid;
  text-align: center;
  margin: 0 auto;
  border-radius: 50%;
  position: relative;
}

#mainsl .scrollArea a i {
  font-size: 15px;
  line-height: 60px;
}

#mainsl .scrollArea a:hover {
  color: #fefefe;
  background: #de0716;
  border: none;
  -webkit-transform: translate(0px, 5px);
  transform: translate(0px, 5px);
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

/*.slick-loading .slick-list { background: #fff url("./ajax-loader.gif") center center no-repeat; }*/
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15); /* 拡大率 */
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15); /* 拡大率 */
  }
}
.add-animation {
  -webkit-animation: zoomUp 10s linear 0s normal both;
          animation: zoomUp 10s linear 0s normal both;
}

/* ----------------------------------------------------------
   .preloader
   -------------------------------------------------  */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  background: #fff;
  z-index: 999999;
}

.spinner {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: 120px;
  height: 120px;
  margin: auto;
  text-indent: -9999px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(114, 255, 250)), to(rgb(85, 124, 255)));
  background: linear-gradient(rgb(114, 255, 250), rgb(85, 124, 255));
  border-radius: 120px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: spin 0.6s linear infinite;
  animation: spin 0.6s linear infinite;
}
@media (min-width: 31.25em) {
  .spinner::after {
    content: "";
    background: #fff;
    width: 118px;
    height: 118px;
    border-radius: 118px;
    display: block;
    position: absolute;
    top: 1px;
    left: 1px;
  }
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@media screen and (max-width: 414px) {
  .spinner {
    width: 80px;
    height: 80px;
  }
}
/*アンカー*/
.ancor {
  position: absolute;
  top: -6em;
}

.bussiness .ancor {
  position: absolute;
  top: -380px;
}
@media (min-width: 62.5em) {
  .bussiness .ancor {
    top: -554px;
  }
}

/*google mapレスポンシブ*/
.gmap {
  margin-bottom: 0.625rem;
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.gmap iframe, .gmap object, .gmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*標準テキスト*/
.pagag {
  text-align: left;
}
@media (min-width: 31.25em) {
  .pagag {
    text-align: center;
  }
}

/*表示非表示*/
.tabletbr {
  display: inline-block !important;
}
@media (min-width: 31.25em) {
  .tabletbr {
    display: none !important;
  }
}

.pcbr {
  display: none !important;
}
@media (min-width: 31.25em) {
  .pcbr {
    display: inline-block !important;
  }
}

.sptabletspcbr {
  display: inline-block !important;
}
@media (min-width: 62.5em) {
  .sptabletspcbr {
    display: none !important;
  }
}

.bpcbr {
  display: none !important;
}
@media (min-width: 62.5em) {
  .bpcbr {
    display: inline-block !important;
  }
}

.block-bg {
  overflow: hidden;
  position: fixed;
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100vh;
  background: url("img/bg.jpg");
  background-size: cover !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
}
.block-bg .block-left {
  display: block;
  width: calc(50% - 249px);
  position: relative;
}
.block-bg .block-left::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.block-bg .block-left .logoimg {
  width: 70%;
  height: auto;
  position: absolute;
  left: 15%;
  top: 15%;
}
.block-bg .block-left .logoimg img {
  width: 100%;
  height: auto;
}
.block-bg .block-left .copyright {
  position: absolute;
  bottom: 0.5%;
  left: 0;
  color: #fff;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1rem;
}
@media (min-width: 31.25em) {
  .block-bg .block-left .copyright {
    font-size: 0.6rem;
  }
}
.block-bg .block-center {
  display: block;
  width: 100%;
  max-width: 500px;
  overflow: hidden;
}
.block-bg .block-right {
  display: block;
  width: calc(50% - 249px);
  position: relative;
  z-index: 100;
}
.block-bg .block-right::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.block-bg .block-right .pcmenu {
  display: block;
  z-index: 100;
  position: absolute;
  top: 15%;
  left: 20%;
  list-style: none;
  margin: 0;
  padding: 0;
}
.block-bg .block-right .pcmenu li {
  padding: 6px 0;
}
.block-bg .block-right .pcmenu li a img {
  height: 38px;
  width: auto;
}
.block-bg .block-right .takaraimg {
  width: 78%;
  height: auto;
  position: absolute;
  right: 7%;
  bottom: 2%;
}
.block-bg .block-right .takaraimg a img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 500px) {
  /* 500px以下のときに適用したいCSS */
  .block-bg {
    display: none !important;
  }
}
.trmpout {
  display: block;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
}
.trmpout .trmp {
  display: block;
  width: 100vw;
  height: 100vh;
}
.trmpout .trmp::before {
  position: absolute;
  top: -12vh;
  left: -5vw;
  content: "";
  display: block;
  width: 360px;
  height: 110vh;
  background: url("img/left.png");
  background-size: contain !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;
}
.trmpout .trmp::after {
  position: absolute;
  top: -12vh;
  right: -10vw;
  content: "";
  display: block;
  width: 514px;
  height: 120vh;
  background: url("img/right.png");
  background-size: contain !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
}

.block-center-main {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 500px;
}
@media (min-width: 31.25em) {
  .block-center-main {
    margin-left: calc(50% - 249px);
    margin-right: calc(50% - 249px);
    -webkit-box-shadow: 0px 0px 12px 12px rgba(0, 0, 0, 0.35);
            box-shadow: 0px 0px 12px 12px rgba(0, 0, 0, 0.35);
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }
}
.block-center-main div.contentarea {
  display: block;
  background: #fff;
}
.block-center-main div.contentarea .kv {
  display: block;
  width: 100%;
  height: 100dvh;
  background: url("img/kv.jpg");
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  position: relative;
  /* JSで .is-anim を付けたらアニメ開始 */
}
.block-center-main div.contentarea .kv .logomain {
  z-index: 200;
  position: absolute;
  display: block;
  bottom: 5%;
  left: 5%;
  width: 90%;
  height: auto;
  -webkit-transform: translateY(-18px) scale(0.92);
          transform: translateY(-18px) scale(0.92);
  will-change: transform, opacity;
}
.block-center-main div.contentarea .kv .logomain img {
  width: 100%;
  height: auto;
}

body.first .logomain {
  /* まずは隠しておく（ちらつき防止） */
  opacity: 0;
}
body.first .logomain.is-anim {
  -webkit-animation: logomain-bounce-in 1800ms cubic-bezier(0.22, 1.2, 0.36, 1) forwards;
          animation: logomain-bounce-in 1800ms cubic-bezier(0.22, 1.2, 0.36, 1) forwards;
}

@-webkit-keyframes logomain-bounce-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-18px) scale(0);
            transform: translateY(-18px) scale(0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-18px) scale(0);
            transform: translateY(-18px) scale(0);
  }
  60% {
    opacity: 0;
    -webkit-transform: translateY(-18px) scale(0.5);
            transform: translateY(-18px) scale(0.5);
  }
  76% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1.16);
            transform: translateY(0) scale(1.16);
  }
  86% {
    -webkit-transform: translateY(0) scale(0.7);
            transform: translateY(0) scale(0.7);
  }
  95% {
    -webkit-transform: translateY(0) scale(1.04);
            transform: translateY(0) scale(1.04);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}

@keyframes logomain-bounce-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-18px) scale(0);
            transform: translateY(-18px) scale(0);
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(-18px) scale(0);
            transform: translateY(-18px) scale(0);
  }
  60% {
    opacity: 0;
    -webkit-transform: translateY(-18px) scale(0.5);
            transform: translateY(-18px) scale(0.5);
  }
  76% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1.16);
            transform: translateY(0) scale(1.16);
  }
  86% {
    -webkit-transform: translateY(0) scale(0.7);
            transform: translateY(0) scale(0.7);
  }
  95% {
    -webkit-transform: translateY(0) scale(1.04);
            transform: translateY(0) scale(1.04);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1);
  }
}
@media screen and (max-width: 500px) {
  /* 500px以下のときに適用したいCSS */
  .block-center-main {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (max-width: 999px) {
  /* 999px以下のときに適用したいCSS */
  .pcmenu, .logoimg, .takaraimg, .trmp::before, .trmp::after, .jp_slide_img_wrapper, .copyright {
    display: none !important;
  }
}
#sec_event {
  background: url("img/sp.jpg");
  background-size: cover !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
}
#sec_event .whatsevent {
  margin: 0 0 -35px 0;
  padding: 0;
}
#sec_event .whatsevent img {
  width: 70%;
  height: auto;
}
#sec_event .datetxt {
  display: block;
  width: 100%;
  text-align: center;
  margin: 0 0 -1px 0;
  padding: 0;
}
#sec_event .datetxt img {
  width: 100px;
  height: auto;
}
#sec_event .datebox {
  border-radius: 4px;
  border: 3px solid #5b250e;
  padding: 15px;
  background: #FFFDF3;
  display: block;
  width: 100%;
  text-align: center;
}
#sec_event .datebox p {
  padding: 0;
  margin: 0;
}
#sec_event .datebox p img {
  width: 100%;
  height: auto;
}
#sec_event .whtstxt {
  margin: 10px 0 calc(-5% - 10px) 0;
  padding: 0;
}
#sec_event .whtstxt img {
  width: 70%;
  height: auto;
}

.mormaltxt {
  margin: 0;
  padding: 0;
}
.mormaltxt img {
  width: 90%;
  height: auto;
}

#sec_over {
  position: relative;
  background: #432011;
  color: #fff;
  padding-bottom: 160px;
}
#sec_over::before {
  position: absolute;
  content: "";
  display: block;
  bottom: 0;
  right: 0;
  width: 50%;
  height: 300px;
  z-index: 10;
  background: url("img/woman.png");
  background-size: contain !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
}
#sec_over .coverpoint {
  position: relative;
  overflow: hidden;
}
#sec_over .coverpoint img {
  width: 100%;
  height: auto;
}
#sec_over .coverpoint .pannel1 {
  margin: 0 -10px 15px 10px;
}
#sec_over .coverpoint .pannel2 {
  margin: 0 10px 15px -10px;
  width: 92%;
}
#sec_over .coverpoint .pannel3 {
  margin: 0 -10px 15px 10px;
}

.headlingtxt {
  margin: 0;
  padding: 0;
}
.headlingtxt img {
  width: auto;
  height: 100px;
}

.joinbox {
  position: relative;
  display: block;
  background: #FFFDF3;
  border-radius: 10px;
  margin: 0 0 80px 0;
}
.joinbox::before {
  position: absolute;
  content: "";
  display: block;
  width: 66px;
  height: 20px;
  background: #5b250e;
  position: absolute;
  bottom: -50px;
  left: calc(50% - 33px);
  background: url("img/arrow.png");
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.joinbox .headjoin {
  background: #5b250e;
  border-radius: 10px 10px 0 0;
  padding: 0 10px 10px 10px;
  margin: 0;
}
.joinbox .headjoin img {
  height: 60px;
  width: auto;
  margin-top: -11px;
}
.joinbox:nth-child(2n) .headjoin img {
  height: 90px;
  width: auto;
  margin-top: -11px;
}
.joinbox.lastchild {
  margin: 0;
}
.joinbox.lastchild::before {
  display: none;
}
.joinbox .joinboxbot {
  padding: 20px;
}
.joinbox .joinboxbot .houhou {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 10px;
  padding-bottom: 0.5em;
}
.joinbox .joinboxbot .houhou .hhtag {
  background: #FB6F19;
  color: #fff;
  padding: 0 10px;
  margin: 0;
  font-weight: bold;
  position: relative;
  border-radius: 5px;
  font-size: 1.2rem;
}
@media (min-width: 31.25em) {
  .joinbox .joinboxbot .houhou .hhtag {
    font-size: 0.7rem;
  }
}
.joinbox .joinboxbot .houhou .hhtag:first-child {
  margin-right: 2em;
}
.joinbox .joinboxbot .houhou .hhtag:first-child::before {
  color: #FB6F19;
  content: "+";
  position: absolute;
  right: -1em;
  font-size: 1.6rem;
}
@media (min-width: 31.25em) {
  .joinbox .joinboxbot .houhou .hhtag:first-child::before {
    font-size: 1rem;
  }
}
.joinbox .joinboin {
  background: #5b250e;
  border-radius: 10px;
  color: #fff;
  padding: 20px;
  margin-bottom: 20px;
}
.joinbox .joinboin figure {
  display: block;
  overflow: hidden;
  border-radius: 10px;
  background: #fff;
  width: 100%;
}
.joinbox .joinboin figure img {
  width: 100%;
  height: auto;
}
.joinbox .joinboin .vname {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 34px 0;
}
.joinbox .joinboin .vname .vname-text {
  font-weight: bold;
  margin: 0;
  font-size: 1.4rem;
}
@media (min-width: 31.25em) {
  .joinbox .joinboin .vname .vname-text {
    font-size: 1.3rem;
  }
}
.joinbox .joinboin .vname .vname-text img {
  height: 28px;
  width: auto;
}
.joinbox .joinboin .vname .vsnan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100px;
  height: 28px;
}
.joinbox .joinboin .vname .vsnan a {
  display: block;
  width: auto;
  height: 28px;
}
.joinbox .joinboin .vname .vsnan a img {
  width: auto;
  height: 100%;
  margin-left: 20px;
}
.joinbox .joinboin .vinfo .vinfoh5 {
  display: block;
  text-align: center;
  width: 100%;
  border-radius: 3px;
  background: #fff;
  font-weight: bold;
  color: #432011;
  margin: 0 0 10px 0;
  font-size: 1.4rem;
}
@media (min-width: 31.25em) {
  .joinbox .joinboin .vinfo .vinfoh5 {
    font-size: 0.9rem;
  }
}

.joinimg {
  display: block;
  width: 100%;
  padding: 0;
}
.joinimg img {
  width: 100%;
  height: auto;
  border-radius: 15px;
}

.vinfo dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
}
@media (min-width: 31.25em) {
  .vinfo dl {
    font-size: 0.9rem;
  }
}
.vinfo dl dt {
  display: block;
  width: 6.5em;
  border-bottom: 2px solid #fff;
  line-height: 1.4em;
  padding-bottom: 0.5em;
}
.vinfo dl dd {
  display: block;
  border-bottom: 1px solid #fff;
  width: calc(100% - 6.5em);
  margin: 0;
  line-height: 1.4em;
  padding-bottom: 0.5em;
  padding-left: 1em;
}

.vlink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 20px 0 0 0;
}
.vlink a {
  display: block;
}
.vlink a:nth-child(1) {
  width: 44%;
}
.vlink a:nth-child(2) {
  width: 53.8%;
}
.vlink a img {
  width: 100%;
  height: auto;
}

.takara {
  display: block;
  width: 100%;
  text-align: center;
}
.takara figure img {
  width: 300px;
  height: auto;
  margin: 80px 0 30px 0;
}
.takara p img {
  width: 100%;
  height: auto;
}

.maru {
  display: block;
  width: 100%;
  text-align: center;
  color: #fff;
  margin: 20px 0;
}
.maru .maruhead {
  font-weight: bold;
  padding: 10px 0;
  border-radius: 10px 10px 0 0;
  background: #FB6F19;
  border: 3px solid #FB6F19;
  font-size: 2rem;
}
@media (min-width: 31.25em) {
  .maru .maruhead {
    font-size: 1.2rem;
  }
}
.maru .maruinfo {
  background: #fff;
  color: #FB6F19;
  font-weight: bold;
  border-radius: 0 0 10px 10px;
  border: 3px solid #FB6F19;
  padding: 10px 0;
  font-size: 2rem;
}
@media (min-width: 31.25em) {
  .maru .maruinfo {
    font-size: 1.2rem;
  }
}

.maru2 {
  display: block;
  width: 100%;
  text-align: center;
  color: #fff;
  margin: 20px 0;
}
.maru2 .maruhead {
  font-weight: bold;
  padding: 10px 0;
  border-radius: 10px 10px 0 0;
  background: #432011;
  border: 3px solid #432011;
  font-size: 2rem;
}
@media (min-width: 31.25em) {
  .maru2 .maruhead {
    font-size: 1.2rem;
  }
}
.maru2 .maruinfo {
  background: #fff;
  color: #432011;
  font-weight: bold;
  border-radius: 0 0 10px 10px;
  border: 3px solid #432011;
  padding: 10px 0;
  font-size: 2rem;
}
@media (min-width: 31.25em) {
  .maru2 .maruinfo {
    font-size: 1.2rem;
  }
}

.mainImg2 {
  padding: 0 10px;
}
.mainImg2 .swrapper {
  display: block;
  width: 100%;
  background: #5b250e;
  border-radius: 10px;
  padding: 20px;
  color: #fff;
}
.mainImg2 .swrapper .figure-s {
  display: block;
  overflow: hidden;
  border-radius: 10px;
  width: 100%;
  margin-bottom: 20px;
  background: #fff;
  position: relative;
}
.mainImg2 .swrapper .figure-s figure img {
  width: 100%;
  height: auto;
}
.mainImg2 .swrapper .figure-s .vtuname {
  display: block;
  position: absolute;
  line-height: 1em;
  bottom: -10px;
  left: -2px;
  background: #5b250e;
  margin: 0;
  border-radius: 0 10px 0 0;
  padding: 10px;
  font-size: 1.2rem;
}
@media (min-width: 31.25em) {
  .mainImg2 .swrapper .figure-s .vtuname {
    font-size: 0.9rem;
  }
}
.mainImg2 .swrapper .figure-s .vtuname img {
  height: 24px;
  width: auto;
}
.mainImg2 .swrapper .vsyohin {
  display: block;
  width: 100%;
  text-align: center;
  background: #FB6F19;
  color: #fff;
  font-weight: bold;
  line-height: 1.8em;
  border-radius: 100px;
  font-size: 1.6rem;
}
@media (min-width: 31.25em) {
  .mainImg2 .swrapper .vsyohin {
    font-size: 0.9rem;
  }
}
.mainImg2 .swrapper .normaltex {
  line-height: 1.4em;
  padding-bottom: 0.5em;
  font-size: 1.4rem;
}
@media (min-width: 31.25em) {
  .mainImg2 .swrapper .normaltex {
    font-size: 0.9rem;
  }
}
.mainImg2 .swrapper .vinfo dl {
  position: relative;
}
.mainImg2 .swrapper .vinfo dl dt {
  width: 6em;
  text-align: center;
}
.mainImg2 .swrapper .vinfo dl dd {
  width: calc(100% - 6em);
}
.mainImg2 .swrapper .vinfo dl:first-child {
  margin: 0 0 40px 0;
}
.mainImg2 .swrapper .vinfo dl:first-child::before {
  position: absolute;
  bottom: -36px;
  left: 0;
  display: block;
  content: "+";
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 3.2rem;
}
@media (min-width: 31.25em) {
  .mainImg2 .swrapper .vinfo dl:first-child::before {
    font-size: 2rem;
  }
}
.mainImg2 .swrapper .commentbox {
  margin: 0;
}
.mainImg2 .swrapper .commentbox .comment {
  display: block;
  width: 100%;
  text-align: center;
  font-weight: bold;
  margin: 16px 0 -13px 0;
  color: #FB6F19;
  font-size: 1.8rem;
}
@media (min-width: 31.25em) {
  .mainImg2 .swrapper .commentbox .comment {
    font-size: 0.9rem;
  }
}
.mainImg2 .swrapper .commentbox .commenttest {
  border-radius: 5px;
  background: #5f4132;
  color: #fff;
  padding: 20px 10px 10px 10px;
  margin: 0;
  line-height: 1.6em;
  font-size: 1.4rem;
}
@media (min-width: 31.25em) {
  .mainImg2 .swrapper .commentbox .commenttest {
    font-size: 0.9rem;
  }
}
.mainImg2 .swrapper .vlink {
  margin-top: 15px;
}

.topimg-slider2 {
  /* 画像の調整（任意） */
}
.topimg-slider2 .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; /* .slick-track内の要素をFlexboxにする */
}
.topimg-slider2 .slick-slide {
  /* floatやheightを削除（Slickのデフォルトを上書き） */
  float: none !important;
  height: auto !important;
}
.topimg-slider2 .slick-slide > div { /* スライド要素の直下の子要素 */
  height: 100%;
}
.topimg-slider2 .slick-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* 画像が途切れても領域を覆う */
}

#sec_howto {
  background: url("img/sp.jpg");
  background-size: cover !important;
  background-position: right center !important;
  background-repeat: no-repeat !important;
}

.ptext {
  font-weight: bold;
  line-height: 1.8em;
  font-size: 1.6rem;
}
@media (min-width: 31.25em) {
  .ptext {
    font-size: 1rem;
  }
}

.box {
  padding: 5% 0;
}
.box .box-inner {
  padding: 5%;
}
.box .box-no {
  padding: 0;
  margin: 0;
}

#totalization {
  background: #FFFDF3;
}
#totalization .mormaltxt {
  margin: 30px 0;
}
#totalization .ptext span {
  color: #FB6F19;
  text-decoration: underline;
}
#totalization .pcaution {
  color: #555555;
  font-size: 1.6rem;
}
@media (min-width: 31.25em) {
  #totalization .pcaution {
    font-size: 0.8rem;
  }
}
#totalization .joinimg {
  margin-bottom: 50px;
}
#totalization .xtext {
  display: block;
  width: 100%;
  text-align: center;
  padding: 20px 0 0 0;
}
#totalization .xtext img {
  height: 18px;
}
#totalization .txbtn {
  display: block;
  width: 100%;
  text-align: center;
  margin: 0 0 40px 0;
  display: inline-block;
}
#totalization .txbtn img {
  width: 90%;
  height: auto;
}

.kakukaku {
  -webkit-animation: katakata 6s infinite ease-in-out alternate;
          animation: katakata 6s infinite ease-in-out alternate;
}

@-webkit-keyframes katakata {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  21% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  22% {
    -webkit-transform: translate(0, 0) rotate(-3deg);
            transform: translate(0, 0) rotate(-3deg);
  }
  23% {
    -webkit-transform: translate(0, -1px) rotate(0deg);
            transform: translate(0, -1px) rotate(0deg);
  }
  24% {
    -webkit-transform: translate(0, -1px) rotate(3deg);
            transform: translate(0, -1px) rotate(3deg);
  }
  25% {
    -webkit-transform: translate(1px, 0) rotate(-2deg);
            transform: translate(1px, 0) rotate(-2deg);
  }
  26% {
    -webkit-transform: translate(0, 1px) rotate(0deg);
            transform: translate(0, 1px) rotate(0deg);
  }
  27% {
    -webkit-transform: translate(0, 0) rotate(3deg);
            transform: translate(0, 0) rotate(3deg);
  }
  28% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes katakata {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  21% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  22% {
    -webkit-transform: translate(0, 0) rotate(-3deg);
            transform: translate(0, 0) rotate(-3deg);
  }
  23% {
    -webkit-transform: translate(0, -1px) rotate(0deg);
            transform: translate(0, -1px) rotate(0deg);
  }
  24% {
    -webkit-transform: translate(0, -1px) rotate(3deg);
            transform: translate(0, -1px) rotate(3deg);
  }
  25% {
    -webkit-transform: translate(1px, 0) rotate(-2deg);
            transform: translate(1px, 0) rotate(-2deg);
  }
  26% {
    -webkit-transform: translate(0, 1px) rotate(0deg);
            transform: translate(0, 1px) rotate(0deg);
  }
  27% {
    -webkit-transform: translate(0, 0) rotate(3deg);
            transform: translate(0, 0) rotate(3deg);
  }
  28% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}
.jp_slide_img_wrapper {
  position: absolute;
  top: calc(50% - 62px);
  width: 100%;
  height: 124px;
  background-image: url("img/txt_bg.png");
  background-repeat: repeat-x;
  background-size: cover;
  background-position: 0 0;
  -webkit-animation-name: slide_img;
          animation-name: slide_img;
  -webkit-animation-duration: 200s;
          animation-duration: 200s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}

@-webkit-keyframes slide_img {
  100% {
    background-position: -10000px 0;
  }
}

@keyframes slide_img {
  100% {
    background-position: -10000px 0;
  }
}
.main_catch {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  text-align: center;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
}

.hwrapper {
  display: block;
  width: 100%;
  max-width: 500px;
  height: 100vh;
  z-index: 9990;
  overflow: hidden;
  position: fixed;
  top: 0;
  pointer-events: none;
}
@media (min-width: 31.25em) {
  .hwrapper.open {
    border-right: 1px solid #fff;
  }
}

#header {
  width: 100%;
  max-width: 500px;
  display: block;
}
@media (min-width: 62.5em) {
  #header {
    display: none;
  }
}

.header {
  position: relative;
  display: block;
  margin: 0 auto;
  height: 90px;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  pointer-events: none;
}
.header-title {
  display: block;
  margin: 12px 0 0 15px;
  line-height: 0;
  padding: 0;
  width: 120px;
  float: left;
}
.header-title .title-main {
  display: inline-block;
  height: auto;
  width: 120px;
}
.header-title .title-main img {
  height: auto;
  width: 100%;
}
.header-title .title-main img.w {
  display: block;
}
.header-title .title-main img.lo {
  display: none;
}
.header-menu {
  position: absolute;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100dvh;
  overflow: auto;
  padding-bottom: 50px;
  z-index: 0;
  background: #5B250E;
  -webkit-transition: 0.125s ease-in-out;
  transition: 0.125s ease-in-out;
}
.header-menu-gl ul {
  margin: 0;
  padding: 120px 0 0 0;
  list-style: none;
  display: block;
}
.header-menu-gl li {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  letter-spacing: 0.1em;
  text-align: center;
}
.header-menu-gl li a {
  position: relative;
  display: block;
  padding: 16px 40px;
  width: 100%;
  text-align: left;
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
}
@media (min-width: 35em) {
  .header-menu-gl li a {
    padding: 16px 40px;
  }
}
.header-menu-gl li a img {
  width: 80%;
  height: auto;
}
.header-menu-gl .fnav {
  margin-top: 40px;
  padding: 0;
}
.header-menu-gl .fnav li a {
  padding: 0.75rem 2.5rem;
  text-decoration: underline;
  font-size: 1.4rem;
}
@media (min-width: 31.25em) {
  .header-menu-gl .fnav li a {
    font-size: 0.8rem;
  }
}
.header-menu-gl .xsp {
  display: block;
  text-align: center;
  width: 100%;
}
.header-menu-gl .xsp img {
  width: 70%;
  height: auto;
  margin: 20px 0;
}
.header-menu.open {
  pointer-events: auto;
  right: 0%;
  top: 0;
  opacity: 1;
  z-index: 900;
  display: block;
  -webkit-transition: 0.125s ease-in-out;
  transition: 0.125s ease-in-out;
  /*.logol {
      @include transition(.3s ease-in-out);
      opacity: 1;
  }*/
}

#menu-btn {
  position: fixed;
  right: 15px;
  top: 15px;
  padding: 0;
  width: 60px;
  height: 60px;
  display: block;
  z-index: 99999;
  cursor: pointer;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  border-radius: 100px;
  background: #fff;
}
@media (min-width: 31.25em) {
  #menu-btn {
    right: calc(50% - 249px + 15px);
  }
}
@media (min-width: 62.5em) {
  #menu-btn {
    display: none;
  }
}
#menu-btn .menu-btn-icon {
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  left: 50%;
  width: 25px;
  height: 2px;
  margin: 2px 0 0 -12px;
  background-color: #849E3B;
  border-radius: 2px;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
#menu-btn .menu-btn-icon:before, #menu-btn .menu-btn-icon:after {
  content: "";
  display: block;
  border-radius: 2px;
  position: absolute;
  top: 0;
  left: 0;
  width: 25px;
  height: 2px;
  background-color: #849E3B;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
#menu-btn .menu-btn-icon:before {
  margin-top: -8px;
}
#menu-btn .menu-btn-icon:after {
  margin-top: 8px;
}
#menu-btn .menu-btn-text {
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 100%;
  text-align: center;
  color: #fff;
}
#menu-btn .menu-btn-text:before {
  color: #fff;
  font-size: 8px !important;
  letter-spacing: 0.08em;
}
@media (min-width: 31.25em) {
  #menu-btn .menu-btn-text {
    font-size: 0.5rem;
  }
}
#menu-btn.open {
  color: #000;
  background: none;
}
#menu-btn.open .menu-btn-text:before {
  color: #000;
  font-size: 8px !important;
}
#menu-btn.open .menu-btn-icon {
  background: transparent;
}
#menu-btn.open .menu-btn-icon:before {
  margin-top: 0;
  background-color: #849E3B;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#menu-btn.open .menu-btn-icon:after {
  margin-top: 0;
  background-color: #849E3B;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

#footer {
  background: #432011;
  position: relative;
  padding: 3rem 0 0 0;
}
#footer .fnav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  text-align: center;
}
#footer .fnav li {
  display: block;
  width: 100%;
  text-align: center;
  padding: 0.5em 0;
}
#footer .fnav li a {
  color: #fff;
  font-size: 1.2rem;
}
@media (min-width: 31.25em) {
  #footer .fnav li a {
    font-size: 0.7rem;
  }
}
#footer .flog {
  display: block;
  width: 100%;
  text-align: center;
  margin: 2rem 0 1rem 0;
}
#footer .flog img {
  width: 200px;
  height: auto;
}
#footer .copy {
  display: block;
  width: 100%;
  text-align: center;
  color: #fff;
  margin: 0;
  padding: 0 0 2rem 0;
  font-size: 0.8rem;
}
@media (min-width: 31.25em) {
  #footer .copy {
    font-size: 0.5rem;
  }
}

.spcpy {
  font-size: 0.9rem;
}

#mainContents {
  padding-top: 0;
  letter-spacing: 0.05em;
  line-height: 2em;
}

@media (min-width: 62.5em) {
  .main-left {
    float: left;
    width: 100%;
    margin-right: -330px;
    padding-right: 330px;
  }
}
@media (min-width: 62.5em) {
  .main-right {
    float: right;
    width: 300px;
  }
}

.contents-sidebar {
  position: relative;
  margin: 0 -0.75rem 2.4rem -0.75rem;
}
@media (min-width: 62.5em) {
  .contents-sidebar {
    margin: 0 0 1.4rem 0;
  }
}

/* スクロールロック中 */
html.is-scroll-locked,
body.is-scroll-locked {
  overflow: hidden;
  height: 100%;
  -ms-touch-action: none;
      touch-action: none;
}

/* 初期：.block-bg は透明、.logomain は非表示 */
.first .jp_slide_img_wrapper,
.first .block-bg .block-right::before,
.first .block-bg .block-left::before,
.first .logoimg,
.first .logomain,
.first .block-right nav,
.first .block-center-main,
.first .copyright,
.first .takaraimg {
  opacity: 0;
  display: none;
}

.logomain.start-animation {
  -webkit-animation: logoFadeIn 1.2s ease-out forwards;
          animation: logoFadeIn 1.2s ease-out forwards;
}

@-webkit-keyframes logoFadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes logoFadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.pp ul, .pp ol {
  padding-left: 1.5em;
}
.pp ul.cap {
  padding: 0;
}
.pp ul.cap li {
  list-style: none;
  position: relative;
  padding-left: 1.2em;
  color: #555555;
}
.pp ul.cap li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.pp ul.cap.orange li {
  color: #FB6F19;
}
.pp hr {
  margin: 50px 0;
}

.topbtn {
  display: block;
  width: 100%;
  text-align: center;
}
.topbtn a {
  border: 1px solid #000;
  color: #000;
  font-weight: bold;
  display: block;
  width: 100%;
  text-align: center;
  line-height: 3em;
  margin: 70px 0 35px 0;
  border-radius: 300px;
  font-size: 1.6rem;
}
@media (min-width: 31.25em) {
  .topbtn a {
    font-size: 1rem;
  }
}/*# sourceMappingURL=style.css.map */