@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700&family=Montserrat:wght@400;500;600&display=swap");
html {
  scroll-behavior: smooth;
  min-width: 1140px; }
  @media screen and (max-width: 798px) {
    html {
      min-width: 100%; } }

body, html, p {
  font-family: 'M PLUS Rounded 1c', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'ヒラギノ⾓ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-weight: 300;
  color: #444444; }

p {
  line-height: 2.2;
  font-size: 1rem; }

.img100 img {
  width: 100%;
  height: auto; }

header {
  display: flex;
  flex-wrap: wrap;
  position: fixed;
  justify-content: center;
  z-index: 9990;
  min-width: 1140px;
  background-color: rgba(255, 255, 255, 0.89);
  padding: 10px;
  text-align: center;
  width: 100%; }
  @media screen and (max-width: 798px) {
    header {
      min-width: 100%; }
      header h1 img {
        width: 90px !important;
        height: auto; } }

.mainimage {
  padding-top: 140px;
  margin-bottom: 70px;
  position: relative; }
  .mainimage img {
    width: 100%;
    height: auto; }
    @media screen and (max-width: 798px) {
      .mainimage img {
        width: 160%; } }
  .mainimage h2 {
    position: absolute;
    top: 50%;
    color: #fff;
    font-size: 2rem;
    line-height: 1.8;
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 798px) {
      .mainimage h2 {
        font-size: 0.9rem;
        margin-top: -40px;
        padding-left: 40px;
        padding-right: 40px;
        padding-bottom: 50px; } }
  @media screen and (max-width: 798px) {
    .mainimage {
      padding-top: 113px;
      overflow: hidden; } }

h2 {
  text-align: center;
  font-weight: 500;
  font-size: 2rem; }
  @media screen and (max-width: 798px) {
    h2 {
      font-size: 1.6rem; } }

h3 {
  font-family: 'Montserrat', sans-serif;
  color: #ecbb41;
  font-size: 2.5rem;
  text-align: center;
  margin: 130px auto 30px;
  font-weight: 500; }
  @media screen and (max-width: 798px) {
    h3 {
      margin: 70px auto 30px; } }
  h3 span {
    display: block;
    color: #8E8E8E;
    font-size: 1rem; }

.goods {
  margin-left: -2%;
  margin-right: -2%; }
  @media screen and (max-width: 798px) {
    .goods {
      margin-left: -1%;
      margin-right: -1%; } }
  .goods h4 {
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px; }
  .goods p {
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.7; }

.td41 {
  width: 21%;
  margin-right: 2%;
  margin-left: 2%;
  margin-bottom: 20px; }
  @media screen and (max-width: 798px) {
    .td41 {
      width: 48%;
      margin-right: 1%;
      margin-left: 1%; } }
  .td41 img {
    width: 100%;
    height: auto; }

h1 {
  padding: 10px; }

.button1 a {
  display: block;
  color: #fff;
  text-align: center;
  margin-top: 35px;
  background-color: #ecbb41;
  width: 475px;
  font-size: 18px;
  border: solid 2px #ecbb41;
  font-weight: 600;
  line-height: 90px;
  padding: 0px 40px;
  position: relative;
  height: 94px;
  margin-left: auto;
  margin-right: auto;
  transition: all  0.3s ease-out;
  -webkit-transition: all  0.3s ease-out; }
  @media screen and (max-width: 798px) {
    .button1 a {
      width: 100%;
      font-size: 15px;
      line-height: 50px;
      height: 56px; } }

.button1 a:hover {
  color: #ecbb41;
  background-color: #fff;
  border: solid 2px #ecbb41; }

.button1 a:before {
  color: #fff;
  content: "\f07a";
  font-family: "Font Awesome 5 Free";
  margin-right: 10px; }

.button1 a:hover:before {
  color: #ecbb41; }

.button3 a {
  display: block;
  color: #fff;
  text-align: center;
  margin-top: 15px;
  background-color: #ecbb41;
  width: 100%;
  font-size: 14px;
  border: solid 1px #ecbb41;
  font-weight: 600;
  line-height: 40px;
  padding: 0px 10px;
  position: relative;
  height: 42px;
  border-radius: 50px;
  margin-left: auto;
  margin-right: auto;
  transition: all  0.3s ease-out;
  -webkit-transition: all  0.3s ease-out; }
  @media screen and (max-width: 798px) {
    .button3 a {
      width: 100%;
      font-size: 15px;
      line-height: 50px;
      height: 56px; } }

.button3 a:hover {
  color: #ecbb41;
  background-color: #fff;
  border: solid 1px #ecbb41; }

.button2 a {
  display: inline-block;
  color: #fff;
  text-align: center;
  margin-top: 45px;
  background-color: #e72b57;
  width: 616px;
  border: solid 2px #e72b57;
  font-size: 18px;
  border-radius: 7px;
  font-weight: 600;
  line-height: 1.5;
  padding: 15px 40px;
  position: relative;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out; }
  @media screen and (max-width: 798px) {
    .button2 a {
      width: 100%;
      font-size: 14px; } }

.w200 {
  width: 200px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px; }

.button2 a:hover {
  color: #e72b57;
  background-color: #fff;
  border: solid 2px #e72b57;
  border-radius: 7px; }

.button2 a::after {
  content: '';
  position: absolute;
  display: inline-block;
  width: 14px;
  height: 25px;
  background-image: url("../images/arrow2.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  right: 30px;
  top: 29px;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out; }
  @media screen and (max-width: 798px) {
    .button2 a::after {
      width: 10px;
      height: 25px;
      right: 10px;
      top: 28px; } }

.button2 a:hover::after {
  background-image: url("../images/arrow_hover.png"); }

#onayami {
  padding: 35px 0 50px; }
  @media screen and (max-width: 798px) {
    #onayami {
      width: 80%;
      margin: auto;
      padding-bottom: 0; } }

#lesson {
  background-color: #edf8f7;
  padding: 70px 0 90px; }
  @media screen and (max-width: 798px) {
    #lesson {
      padding: 30px 30px 40px; } }

.ta_c {
  text-align: center; }

.container {
  width: 1032px;
  margin: auto; }
  @media screen and (max-width: 798px) {
    .container {
      width: 90%;
      margin: auto; } }

.container2 {
  width: 820px;
  margin: auto; }
  @media screen and (max-width: 798px) {
    .container2 {
      width: 100%; } }

.container img {
  max-width: 100%;
  height: auto; }

.f_box {
  display: flex;
  flex-wrap: wrap; }

.f_center {
  justify-content: center; }

#about, #instructor, #trial-lesson, #order {
  padding-top: 110px;
  margin-top: -110px; }

#lesson {
  background-color: #edf8f7;
  padding: 70px 0 90px; }
  @media screen and (max-width: 798px) {
    #lesson {
      padding: 30px 30px 20px; } }

.trial {
  background-color: #fdd7c5;
  padding: 70px 0 40px; }
  @media screen and (max-width: 798px) {
    .trial {
      padding: 30px 30px 20px; } }

.trial2 {
  padding: 47px 0 55px; }
  @media screen and (max-width: 798px) {
    .trial2 {
      padding: 30px 30px 20px; } }

.trial3 {
  background-color: #fdd7c5;
  padding: 70px 0; }
  @media screen and (max-width: 798px) {
    .trial3 {
      padding: 30px 30px 20px; } }

.box_w {
  margin-top: 60px;
  background-color: #fff;
  width: 1032px;
  margin-left: auto;
  margin-right: auto;
  padding: 60px;
  border-radius: 7px; }
  @media screen and (max-width: 798px) {
    .box_w {
      width: 100%;
      margin-top: 30px;
      padding: 25px; } }

footer {
  width: 100%;
  margin-top: 100px; }
  @media screen and (max-width: 798px) {
    footer {
      margin-top: 50px; } }

.footer_box {
  padding: 20px 50px; }
  @media screen and (max-width: 798px) {
    .footer_box {
      padding: 20px 0; } }

@media screen and (max-width: 798px) {
  .footer_box ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; } }

@media screen and (max-width: 798px) {
  .footer_box li {
    font-size: 12px;
    margin: 0 5px; } }

footer li img {
  margin-top: -5px; }

.copy {
  padding: 45px 10px;
  text-align: center;
  color: #444444; }
  @media screen and (max-width: 798px) {
    .copy {
      font-size: 12px;
      color: #444444;
      padding: 30px 10px 30px; } }

.sec1_box1 {
  background-color: #ffdc50;
  width: 504px;
  padding: 30px;
  margin-bottom: 20px;
  border-radius: 5px; }
  @media screen and (max-width: 798px) {
    .sec1_box1 {
      width: 49%;
      margin-right: 2%;
      padding: 20px;
      margin-bottom: 0; } }
  .sec1_box1:nth-child(2n) {
    margin-left: auto; }
  @media screen and (max-width: 798px) {
    .sec1_box1:nth-child(even) {
      margin-right: 0%; } }
  .sec1_box1 p {
    font-size: 20px;
    line-height: 1.8; }
    @media screen and (max-width: 798px) {
      .sec1_box1 p {
        font-size: 12px;
        line-height: 1.6; } }

.sec1_1 {
  width: 260px; }
  @media screen and (max-width: 798px) {
    .sec1_1 {
      width: 100%;
      margin-bottom: 10px; } }

.sec1_2 {
  width: 170px;
  margin-left: auto; }
  @media screen and (max-width: 798px) {
    .sec1_2 {
      width: 100%; } }
  .sec1_2 img {
    max-width: 100%;
    height: auto; }

.td31_1 {
  width: 332px;
  margin-right: 18px;
  border-radius: 6px; }
  .td31_1:last-child {
    margin-right: 0; }
  @media screen and (max-width: 798px) {
    .td31_1 {
      width: 100%;
      margin-bottom: 15px;
      margin-right: 0; } }

.td31_in {
  padding: 25px; }

.td31_w {
  background-color: #fff;
  border-radius: 0 0 6px 6px; }

.box_w2 {
  background-color: #fff;
  border-radius: 6px;
  padding: 40px; }
  @media screen and (max-width: 798px) {
    .box_w2 {
      padding: 25px; } }

.ti_pink {
  font-size: 22px;
  text-align: center;
  color: #ee6988;
  font-weight: 500;
  margin-bottom: 38px; }
  @media screen and (max-width: 798px) {
    .ti_pink {
      font-size: 16px;
      margin-bottom: 20px; } }

.ti_green {
  font-size: 22px;
  text-align: center;
  color: #0bcdb4;
  font-weight: 500;
  margin-bottom: 38px; }
  @media screen and (max-width: 798px) {
    .ti_green {
      font-size: 16px;
      margin-bottom: 20px; } }

.ti_blue {
  font-size: 22px;
  text-align: center;
  color: #2aa5d8;
  font-weight: 500;
  margin-bottom: 14px; }
  @media screen and (max-width: 798px) {
    .ti_blue {
      font-size: 16px;
      margin-bottom: 20px; } }

.td31_in th {
  font-weight: 400;
  width: 39%;
  font-weight: 400; }
  @media screen and (max-width: 798px) {
    .td31_in th {
      width: 30%; } }

.td31_in td {
  font-weight: 300; }

.td31_in th, .td31_in td {
  padding: 5px 0;
  font-size: 15px; }
  @media screen and (max-width: 798px) {
    .td31_in th, .td31_in td {
      font-size: 13px; } }

.s_ti:before {
  left: 0; }

.s_ti:after {
  right: 0; }

.tx_red {
  font-size: 13px;
  color: #e72b57;
  margin-top: 5px;
  font-weight: 400; }
  @media screen and (max-width: 798px) {
    .tx_red {
      font-size: 12px; } }

.instructor1 {
  width: 55%;
  padding: 70px 40px 70px 10%; }
  @media screen and (max-width: 798px) {
    .instructor1 {
      width: 100%;
      padding: 30px 30px 30px; } }
  .instructor1 h3 {
    font-size: 18px;
    font-weight: 500;
    line-height: 2.6;
    margin-bottom: 40px; }
    @media screen and (max-width: 798px) {
      .instructor1 h3 {
        font-size: 16px;
        line-height: 1.5;
        margin-top: 20px;
        margin-bottom: 30px; } }
  .instructor1 h4 {
    color: #e72b57;
    font-size: 42px;
    font-weight: 500;
    margin-bottom: 30px; }
    @media screen and (max-width: 798px) {
      .instructor1 h4 {
        font-size: 25px; } }
  .instructor1 p {
    line-height: 1.8;
    margin-bottom: 20px; }
    @media screen and (max-width: 798px) {
      .instructor1 p {
        font-size: 13px; } }
  @media screen and (max-width: 798px) {
    .instructor1 {
      width: 100%; } }

.instructor2 {
  width: 45%; }
  @media screen and (max-width: 798px) {
    .instructor2 {
      width: 100%; } }

.box_pink {
  background-color: #fdeef1;
  border-radius: 6px;
  margin-top: 40px;
  padding: 30px; }
  @media screen and (max-width: 798px) {
    .box_pink {
      padding: 15px; } }
  .box_pink h4 {
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: 500; }
    @media screen and (max-width: 798px) {
      .box_pink h4 {
        font-size: 13px; } }
  .box_pink li {
    margin: 10px 0 5px; }
    @media screen and (max-width: 798px) {
      .box_pink li {
        font-size: 12px; } }
  .box_pink a {
    color: #2aa5d8;
    text-decoration: underline;
    transition: all 0.3s ease-out;
    -webkit-transition: all 0.3s ease-out; }
    .box_pink a::after {
      content: '';
      /*何も入れない*/
      display: inline-block;
      /*忘れずに！*/
      width: 21px;
      /*画像の幅*/
      height: 19px;
      /*画像の高さ*/
      background-image: url("../images/new-win.png");
      background-size: contain;
      vertical-align: middle;
      margin-left: 4px; }
      @media screen and (max-width: 798px) {
        .box_pink a::after {
          width: 14px;
          /*画像の幅*/
          height: 13px;
          /*画像の高さ*/ } }
    .box_pink a:hover {
      opacity: 0.7;
      text-decoration: none; }
  .box_pink li:before {
    color: #e72b57;
    content: "●";
    font-weight: 600;
    position: relative;
    top: -3px;
    font-size: 8px;
    font-size: 6px;
    margin-right: 9px; }
    @media screen and (max-width: 798px) {
      .box_pink li:before {
        font-size: 3px;
        margin-right: 4px;
        top: -2px; } }

.trial2_1 {
  width: 60%; }
  @media screen and (max-width: 798px) {
    .trial2_1 {
      width: 100%; } }
  .trial2_1 h3 {
    font-size: 42px;
    font-weight: 500;
    color: #fb8046;
    margin-bottom: 20px; }
    @media screen and (max-width: 798px) {
      .trial2_1 h3 {
        font-size: 21px; } }
  .trial2_1 p {
    line-height: 1.8; }

.trial2_2 {
  width: 40%; }
  @media screen and (max-width: 798px) {
    .trial2_2 {
      width: 100%;
      margin-top: 15px; } }

#trial2 {
  background-color: #feede5;
  padding: 40px 0; }
  @media screen and (max-width: 798px) {
    #trial2 {
      padding: 20px 30px 30px; } }

.midashi4 {
  text-align: center;
  color: #fb8046;
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 35px; }
  @media screen and (max-width: 798px) {
    .midashi4 {
      text-align: left;
      font-size: 21px;
      margin-bottom: 17px; } }

.midashi5 {
  color: #fb8046;
  font-size: 22px;
  margin-top: 20px;
  margin-bottom: 35px;
  font-weight: 500; }
  @media screen and (max-width: 798px) {
    .midashi5 {
      font-size: 17px;
      margin: 15px 0; } }

.mb10 {
  margin-bottom: 10px; }

.td31 {
  width: 332px;
  margin-right: 18px; }
  .td31:last-child {
    margin-right: 0; }
  @media screen and (max-width: 798px) {
    .td31 {
      width: 100%;
      margin-bottom: 20px;
      margin-right: 0; } }

.cl2_img {
  width: 32%; }
  @media screen and (max-width: 798px) {
    .cl2_img {
      width: 37%; } }

.cl2_tx {
  width: 64%;
  margin-left: auto; }
  @media screen and (max-width: 798px) {
    .cl2_tx {
      width: 60%; } }
  .cl2_tx h4 {
    font-size: 22px;
    color: #fb8046;
    margin-bottom: 20px;
    margin-top: 5px;
    font-weight: 500; }
    @media screen and (max-width: 798px) {
      .cl2_tx h4 {
        font-size: 16px;
        margin-bottom: 14px;
        margin-top: 0; } }
  .cl2_tx p {
    line-height: 1.6; }
    @media screen and (max-width: 798px) {
      .cl2_tx p {
        font-size: 12px; } }

.voice {
  background-color: #edf8f7;
  margin-top: 60px;
  padding: 60px;
  margin-bottom: 60px; }
  @media screen and (max-width: 798px) {
    .voice {
      padding: 40px;
      margin: 35px 0 0; } }
  .voice .f_box {
    justify-content: center; }

.span_block span {
  display: block;
  margin-top: 10px;
  margin-left: 0; }

.voice h3 {
  text-align: center;
  color: #0bcdb4;
  font-size: 32px;
  margin-bottom: 30px; }
  @media screen and (max-width: 798px) {
    .voice h3 {
      font-size: 21px; } }

.box_voice {
  background-color: #fff;
  padding: 38px;
  border-radius: 5px;
  width: 32%;
  margin-right: 0.5%;
  margin-left: 0.5%;
  margin-bottom: 1%; }
  @media screen and (max-width: 798px) {
    .box_voice {
      width: 100%;
      margin-right: 0%;
      margin-left: 0%;
      padding: 20px;
      margin-bottom: 10px; } }
  .box_voice h4 {
    color: #0bcdb4;
    font-size: 17px;
    margin-bottom: 14px;
    font-weight: 500; }
    @media screen and (max-width: 798px) {
      .box_voice h4 {
        font-size: 16px; } }
  .box_voice p {
    font-size: 14px;
    line-height: 1.5; }

.contact1 {
  width: 585px; }
  .contact1 h3 {
    font-size: 42px;
    color: #fb8046;
    font-weight: 500; }
    @media screen and (max-width: 798px) {
      .contact1 h3 {
        font-size: 21px; } }
    .contact1 h3 span {
      display: block;
      margin-bottom: 10px;
      font-size: 22px;
      color: #393939;
      font-size: 14px; }

@media screen and (max-width: 798px) {
  .contact2 {
    width: 70%;
    margin: auto; } }

.day1 {
  border-bottom: solid 2px #e72b57;
  text-align: center;
  padding-bottom: 25px;
  margin-bottom: 40px; }
  @media screen and (max-width: 798px) {
    .day1 {
      padding-bottom: 15px;
      margin-bottom: 20px; } }
  .day1 h3 {
    font-size: 32px;
    font-weight: 500;
    color: #e72b57; }
    @media screen and (max-width: 798px) {
      .day1 h3 {
        font-size: 17px; } }
  .day1 p {
    font-size: 18px; }
    @media screen and (max-width: 798px) {
      .day1 p {
        font-size: 13px; } }

.day2 {
  font-size: 24px;
  margin-bottom: 30px; }
  @media screen and (max-width: 798px) {
    .day2 {
      font-size: 14px; } }

.table2 {
  margin-top: 10px; }
  .table2 th {
    width: 36%;
    font-weight: 400;
    padding-bottom: 20px;
    position: relative;
    line-height: 1.7; }
    @media screen and (max-width: 798px) {
      .table2 th {
        font-size: 13px;
        padding-right: 15px; } }
    .table2 th::after {
      color: #494949;
      content: "：";
      position: absolute;
      right: 0;
      margin-right: 4px;
      top: 0; }
  .table2 td {
    padding-bottom: 20px;
    text-align: left;
    line-height: 1.7; }
    @media screen and (max-width: 798px) {
      .table2 td {
        font-size: 13px; } }
    .table2 td p {
      line-height: 1.7; }

.contact3 {
  margin-top: 30px; }
  @media screen and (max-width: 798px) {
    .contact3 p {
      font-size: 13px; } }

@media screen and (max-width: 798px) {
  .trial3 .box_pink {
    margin-top: 10px;
    font-size: 12px; } }

.td21_1 {
  width: 40%; }
  @media screen and (max-width: 798px) {
    .td21_1 {
      width: 100%;
      margin-bottom: 20px; } }

.td21_2 {
  width: 57%; }
  @media screen and (max-width: 798px) {
    .td21_2 {
      width: 100%; } }
  .td21_2 h2 {
    font-size: 24px;
    line-height: 1.8;
    margin-bottom: 40px;
    text-align: left; }
  .td21_2 h3 {
    font-size: 24px;
    line-height: 1.8;
    margin-bottom: 40px;
    text-align: left; }
  .td21_2 h4 {
    font-size: 18px;
    line-height: 1.8;
    margin-top: 30px;
    font-weight: 400;
    margin-bottom: 10px; }
    .td21_2 h4 strong {
      font-weight: 600;
      color: #ecbb41; }
  .td21_2 p {
    line-height: 1.9;
    margin-bottom: 20px; }

.com2 h3 {
  margin-top: 40px; }

.td21 {
  width: 48%; }
  @media screen and (max-width: 798px) {
    .td21 {
      width: 100%;
      margin-bottom: 20px; } }
  .td21 img {
    width: 100%;
    height: auto; }

.td21:nth-child(even) {
  margin-left: auto; }

.coffee1 {
  margin: 0px 0 80px;
  background-image: url("../images/coffee_ph1.jpg");
  background-size: cover;
  height: 480px;
  position: relative; }
  @media screen and (max-width: 798px) {
    .coffee1 {
      margin: 0px 0 40px; } }

.coffee1_in {
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: rgba(235, 187, 65, 0.91);
  padding: 45px;
  color: #fff;
  width: 40%; }
  @media screen and (max-width: 798px) {
    .coffee1_in {
      width: 100%;
      padding: 24px; } }
  .coffee1_in h3 {
    color: #fff;
    font-size: 2rem;
    text-align: left;
    margin: 0 0 25px; }
    @media screen and (max-width: 798px) {
      .coffee1_in h3 {
        font-size: 1.6rem;
        margin-bottom: 15px; } }
  .coffee1_in p {
    line-height: 1.6;
    color: #fff;
    font-weight: 400; }

.roast_box h3 {
  text-align: left;
  font-size: 2rem;
  text-align: left;
  margin: 350px 0 25px; }
  @media screen and (max-width: 798px) {
    .roast_box h3 {
      font-size: 1.6rem;
      margin-bottom: 15px;
      margin-top: 15px; } }
.roast_box p {
  line-height: 1.9;
  margin-bottom: 20px; }
  @media screen and (max-width: 798px) {
    .roast_box p {
      line-height: 1.8;
      margin-bottom: 13px; } }

.roast_box2 {
  background-image: url("../images/roast_1.jpg");
  background-size: cover; }
  .roast_box2 h3 {
    text-align: left;
    font-size: 2rem;
    text-align: left;
    margin: 250px 0 25px; }
    @media screen and (max-width: 798px) {
      .roast_box2 h3 {
        font-size: 1.6rem;
        margin-bottom: 15px;
        margin-top: 85px; } }
  .roast_box2 p {
    line-height: 1.8;
    color: #fff;
    margin-bottom: 15px; }
    @media screen and (max-width: 798px) {
      .roast_box2 p {
        line-height: 1.7;
        margin-bottom: 13px;
        font-size: 0.75rem; } }

.roast_box2_in {
  padding: 200px 500px 50px 50px; }
  @media screen and (max-width: 798px) {
    .roast_box2_in {
      padding: 20px 25px; } }

#page_top {
  position: fixed;
  bottom: 30px;
  right: 30px; }
  @media screen and (max-width: 798px) {
    #page_top {
      bottom: 66px;
      right: 10px; } }

#page_top a {
  background-color: #ee6988;
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: 5px 8px;
  display: block;
  border-radius: 8px;
  transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out; }
  @media screen and (max-width: 798px) {
    #page_top a {
      font-size: 10px;
      padding: 6px 8px; } }

#page_top a:hover {
  opacity: 0.8;
  text-decoration: none; }

#page_top a::before {
  content: '';
  display: block;
  width: 30px;
  /*画像の幅*/
  height: 21px;
  /*画像の高さ*/
  background-image: url("../images/pc_arrow.png");
  background-size: cover;
  vertical-align: middle;
  left: 50%;
  position: relative;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%); }
  @media screen and (max-width: 798px) {
    #page_top a::before {
      background-image: url("../images/sp_arrow.png");
      width: 14px;
      height: 8px;
      margin-bottom: 3px; } }

.mt0 {
  margin-top: 0px; }

.mt10 {
  margin-top: 10px; }

.mt20 {
  margin-top: 20px; }

.mt20m {
  margin-top: -20px; }

.mt30 {
  margin-top: 30px; }

.mt40 {
  margin-top: 40px; }

.mt50 {
  margin-top: 50px; }

.mt60 {
  margin-top: 60px; }

.mt70 {
  margin-top: 70px; }

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

.mt90 {
  margin-top: 90px; }

.mt100 {
  margin-top: 100px; }

/*.fadeIn {
    transform: translate3d(0, 30px, 0);
    transition: 1s;
    opacity: 0;
}

.fadeIn.animated {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}
*/
.fadeIn {
  opacity: 0;
  transform: translate(0, 30px);
  transition: all 2000ms; }

.animated {
  opacity: 1;
  transform: translate(0, 0); }

/* 2つ目の要素に400msのdelayをかける */
.lag01 {
  -moz-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -ms-transition-delay: 200ms; }
  @media screen and (max-width: 798px) {
    .lag01 {
      -moz-transition-delay: 100ms;
      -webkit-transition-delay: 100ms;
      -o-transition-delay: 100ms;
      -ms-transition-delay: 100ms; } }

/* 3つ目の要素に800msのdelayをかける */
.lag02 {
  -moz-transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
  -o-transition-delay: 400ms;
  -ms-transition-delay: 400ms; }
  @media screen and (max-width: 798px) {
    .lag02 {
      -moz-transition-delay: 100ms;
      -webkit-transition-delay: 100ms;
      -o-transition-delay: 100ms;
      -ms-transition-delay: 100ms; } }

.lag03 {
  -moz-transition-delay: 600ms;
  -webkit-transition-delay: 600ms;
  -o-transition-delay: 600ms;
  -ms-transition-delay: 600ms; }
  @media screen and (max-width: 798px) {
    .lag03 {
      -moz-transition-delay: 100ms;
      -webkit-transition-delay: 100ms;
      -o-transition-delay: 100ms;
      -ms-transition-delay: 100ms; } }

.lag04 {
  -moz-transition-delay: 800ms;
  -webkit-transition-delay: 800ms;
  -o-transition-delay: 800ms;
  -ms-transition-delay: 800ms; }
  @media screen and (max-width: 798px) {
    .lag04 {
      -moz-transition-delay: 100ms;
      -webkit-transition-delay: 100ms;
      -o-transition-delay: 100ms;
      -ms-transition-delay: 100ms; } }

.lag05 {
  -moz-transition-delay: 1000ms;
  -webkit-transition-delay: 1000ms;
  -o-transition-delay: 1000ms;
  -ms-transition-delay: 1000ms; }
  @media screen and (max-width: 798px) {
    .lag05 {
      -moz-transition-delay: 100ms;
      -webkit-transition-delay: 100ms;
      -o-transition-delay: 100ms;
      -ms-transition-delay: 100ms; } }

.lag06 {
  -moz-transition-delay: 1200ms;
  -webkit-transition-delay: 1200ms;
  -o-transition-delay: 1200ms;
  -ms-transition-delay: 1200ms; }
  @media screen and (max-width: 798px) {
    .lag06 {
      -moz-transition-delay: 100ms;
      -webkit-transition-delay: 100ms;
      -o-transition-delay: 100ms;
      -ms-transition-delay: 100ms; } }

@media screen and (max-width: 798px) {
  .spmb0 {
    margin-bottom: 10px; }

  .sp_sns {
    padding: 25px 15px; }

  .sp_sns img {
    margin: 0 15px; }

  .trial .midashi3 span {
    display: block;
    margin-top: 7px;
    margin-left: 0; }

  .inst_sp {
    padding: 0 40px 40px; }
    .inst_sp img {
      border-radius: 6px; }

  .spmt30 {
    margin-top: 30px; }

  .mt50 {
    margin-top: 20px; }

  .sphidden {
    display: none; } }
@media screen and (max-width: 768px) {
  /* -------------------- */
  /* header
  /* -------------------- */
  .header {
    background-color: rgba(255, 255, 255, 0.91);
    color: #000;
    height: 65px;
    padding: 0 120px;
    border-bottom: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    align-items: center; }

  .nav-item {
    /* メニューの右側に余白 */ }

  .burger-btn {
    display: none; }

  /* ------------------ */
  /* fv
  /* ------------------ */
  .fv {
    height: 90vh;
    background-color: rgba(255, 255, 255, 0.87);
    background-image: url(../img/fv-bgi@2x.jpg);
    background-position: center;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; }

  .main-copy {
    font-size: 50px;
    color: #fff;
    font-weight: bold;
    border: 2px solid #fff;
    padding: 34px 42px; }

  /* ----------------------- */
  /* base_sp
  /* ----------------------- */
  /* ------------------ */
  /* humberger-menu */
  /* ------------------ */
  .header {
    padding: 0 5%; }

  /* ------------------ */
  /* fv */
  /* ------------------ */
  .main-copy {
    font-size: 30px; }

  .burger-btn {
    display: block;
    width: 39px;
    height: 39px;
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 3;
    border: none;
    background-color: #e72b57;
    border-radius: 3px; }

  .bar {
    width: 20px;
    height: 2px;
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff; }

  .bar_top {
    top: 10px; }

  .bar_mid {
    top: 50%;
    transform: translate(-50%, -50%); }

  .bar_bottom {
    bottom: 10px; }

  .burger-btn.close .bar_top {
    transform: translate(-50%, 9px) rotate(45deg);
    transition: transform .3s; }

  .burger-btn.close .bar_mid {
    opacity: 0;
    transition: opacity .3s; }

  .burger-btn.close .bar_bottom {
    transform: translate(-50%, -8px) rotate(-45deg);
    transition: transform .3s; }

  body.noscroll {
    overflow: hidden; }

  .spfix {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.91); }

  .spfix .button2 a {
    margin-top: 0;
    font-size: 15px;
    line-height: 40px;
    height: 44px;
    padding: 0 10px 5px; }

  .spfix .button2 a::after {
    top: 10px; }

  footer {
    padding-bottom: 50px; } }
/*　ハンバーガーボタン */
.hamburger {
  display: block;
  position: fixed;
  z-index: 9999;
  right: 32px;
  top: 32px;
  width: 42px;
  height: 42px;
  cursor: pointer;
  text-align: center; }

.hamburger span {
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 6px;
  background: #555;
  -webkit-transition: 0.5s all;
  -moz-transition: 0.5s all;
  transition: 0.5s all; }

.hamburger span:nth-child(1) {
  top: 10px; }

.hamburger span:nth-child(2) {
  top: 20px; }

.hamburger span:nth-child(3) {
  top: 30px; }

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 16px;
  left: 6px;
  width: 24px;
  background: #fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg); }

.hamburger.active span:nth-child(2) {
  left: 60%;
  opacity: 0;
  -webkit-animation: active-btn17-bar02 .8s forwards;
  animation: active-hamburger-bar02 .8s forwards; }

@-webkit-keyframes active-hamburger-bar02 {
  100% {
    height: 0; } }
@keyframes active-hamburger-bar02 {
  100% {
    height: 0; } }
.hamburger.active span:nth-child(3) {
  top: 16px;
  width: 24px;
  background: #fff;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg); }

.hamburger::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: '';
  width: 52px;
  height: 52px;
  margin: -30px 0 0 -30px;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0);
  transition: all .75s; }

.hamburger.active::after {
  border: 2px solid #fff; }

nav.globalMenuSp {
  position: fixed;
  z-index: 9998;
  top: 0;
  left: 0;
  color: #000;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%; }

nav.globalMenuSp ul {
  margin: 100px auto 30px;
  padding: 0;
  width: 100%; }

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all; }

nav.globalMenuSp ul li:last-child {
  padding-bottom: 0; }

nav.globalMenuSp ul li:hover {
  background: #ecbb41; }

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1.5em 0;
  text-decoration: none; }

.open i {
  margin-left: 4px; }

.mfp_rows {
  display: flex; }

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%); }

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100; }

.sub_title {
  padding: 240px 10px 120px; }
  .sub_title h2 {
    font-size: 2.2rem; }
    .sub_title h2 span {
      display: block;
      font-size: 0.8rem;
      color: #ecbb41; }

.pchidden {
  display: none; }
  @media screen and (max-width: 798px) {
    .pchidden {
      display: block; } }
