@charset "utf-8";

/*-----------------------------------------------------------------
	top・page共通
-----------------------------------------------------------------*/

.h2_white {
  font-size: 43px;
  text-align: center;
  padding: 35px 0 20px;
  margin-bottom: 40px;
}

.h2_fude_r {
  text-align: center;
  font-size: 43px;
  background: url("../img/fude_red.png") no-repeat center left 55%;
  background-size: contain;
  padding: 35px 0 20px;
  margin-bottom: 40px;
}

.h2_fude_b {
  text-align: center;
  font-size: 43px;
  background: url("../img/fude_black.png") no-repeat center left 55%;
  background-size: contain;
  padding: 35px 0 20px;
  margin-bottom: 40px;
}

/*-----------------------------------------------------------------
	top - mv
-----------------------------------------------------------------*/

.mv {
  width: 100%;
  max-width: 1450px;
  aspect-ratio: 1366/894;
  background: url("../img/mv.jpg") no-repeat center;
  background-size: contain;
  margin: auto;
}

.mv_otoiawase {
  width: 90%;
  max-width: 1280px;
  margin: -80px auto 0;
}

.mv_logo {
  width: 35%;
  margin-right: 15px;
}

.mv_txt {
  flex: 1;
}

.mv_title {
  width: 100%;
  height: 1em;
  font-size: 30px;
  text-align: center;
  background: url("../img/bg_grad.png") no-repeat center center;
  background-size: contain;
  margin-bottom: 20px;
}

.mv_tel_box {
  text-align: center;
}

.mv_tel {
  color: #FFD918;
  font-size: 51px;
  line-height: 1em;
}

.mv_tel span {
  font-size: 55%;
  margin-right: 5px;
}

.mv_tel_txt {
  font-size: 14px;
  text-align: center;
  font-feature-settings: "palt";
  line-height: 1em;
  display: block;
}

.otoiawase_big_btn {
  width: 100%;
  height: 93px;
  line-height: 93px;
  border-radius: 50px;
  font-size: 27px;
}

@media only screen and (min-width: 768px) and (max-width: 1400px) {
  
.mv_otoiawase {
  margin: -5.714vw auto 0;
}
  
.mv_logo {
  width: 33%;
  margin-right: 1.071vw;
}

.mv_title {
  font-size: 2.143vw;
  margin-bottom: 1.429vw;
}

.mv_tel {
  font-size: 3.643vw;
}

.otoiawase_big_btn {
  height: 6.643vw;
  line-height: 6.643vw;
  font-size: 1.929vw;
}

}

@media only screen and (min-width: 551px) and (max-width: 768px) {
  
  .mv_otoiawase {
    margin: -30px auto 0;
    align-items: flex-start;
  }

  .mv_logo {
    width: 30%;
    margin-right: 1.953vw;
  }

  .mv_title {
    font-size: 3.906vw;
    margin-bottom: 2.604vw;
  }

  .mv_tel {
    font-size: 6.641vw;
  }

  .mv_tel span {
    margin-right: 0.651vw;
  }

  .mv_tel_txt {
    font-size: 1.823vw;
  }

  .otoiawase_big_btn {
    width: 100%;
    height: 93px;
    line-height: 93px;
    border-radius: 50px;
    font-size: 3.516vw;
  }

  .mv_otoiawase_btn {
    width: 100%;
    margin-top: 20px;
  }

  .otoiawase_big_btn {
    width: 100%;
    height: 80px;
    line-height: 80px;
  }

}

@media only screen and (max-width: 550px) {
  
  .mv {
    aspect-ratio: 1366/1698;
    background: url("../img/mv_sp.jpg") no-repeat center;
    background-size: contain;
  }
  
  .mv_otoiawase {
    margin: -9.091vw auto 0;
    display: block;
    text-align: center;
  }
  
  .mv_logo {
    width: 50%;
    max-width: 200px;
    margin-right: 0;
    margin: 0 auto 15px;
  }

  .mv_title {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .mv_tel_box,
  .mv_otoiawase_btn {
    width: 49%;
  }

  .mv_tel_box {
    border: #FFD918 1px solid;
    border-radius: 50px;
    padding-top: 10px;
  }

  .mv_tel {
    font-size: 4.364vw;
  }

  .mv_tel_txt {
    font-size: 9px;
  }

  .otoiawase_big_btn {
    width: 100%;
    height: 60px;
    line-height: 1.4em;
    border-radius: 50px;
    font-size: 16px;
    padding-top: 5px;
  }

}

@media only screen and (max-width: 420px) {
  
  .mv_tel_box {
    padding-top: 14px;
  }

}

/*-----------------------------------------------------------------
	top - about
-----------------------------------------------------------------*/

.top_about {
  /* background: #B00000 url("../img/bg_about.jpg") no-repeat right;
  background-size: 40%; */
  background-color: #B00000;
  position: relative;
  margin-top: 50px;
  padding-bottom: 120px;
}

.top_about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 60px 100vw;
  border-color: transparent transparent transparent #000;
  z-index: 3;
}

.top_about::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 60px 100vw 0 0;
  border-color: transparent #000 transparent transparent;
  z-index: 4;
}

.top_about .inner {
  max-width: 1200px;
}

.about_title {
  width: 90%;
  max-width: 1200px;
  font-size: 43px;
  line-height: 1em;
  margin: 0 auto 40px;
  position: relative;
  z-index: 5;
}

.about_title img {
  width: 433px;
}

.about_txt_box {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}

.about_txt {
  width: 50vw;
}

.about_txt p {
  line-height: 2.4em;
}

.about_img {
    width: 45vw;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
}

.about_img img {
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    /* left: 0; */
    /* margin: auto; */
    margin: 0 0 5px auto;
    text-align: right;
    object-fit: cover;
    font-family: 'object-fit:cover;';
    object-position: center right;
    transition: 0.5s all;
}

@media only screen and (max-width: 1200px) {
  
.about_title img {
  width: 35vw;
}

}

@media only screen and (max-width: 999px) {
  
.about_title {
  width: 95%;
  font-size: 4.304vw;
  margin-bottom: 6.507vw;
}

.about_txt_box {
  width: 95%;
}

/* .about_title img {
  width: 43.343vw;
} */
 
.about_txt p {
  font-size: 1.9vw;
}

}

@media only screen and (max-width: 768px) {
  
  .top_about {
    margin-top: 40px;
    /* padding-bottom: 70px; */
    padding-bottom: 320px;
  }

  .about_title {
    text-align: center;
    margin: 0 auto 20px;
  }

  .about_txt_box {
    display: block;
  }
  
  .about_txt {
    width: 100%;
    text-align: center;
  }
  
  .about_txt p {
    font-size: 16px;
  }

  .about_img {
      width: 100%;
      height: 280px;
      top: inherit;
      bottom: 0;
      /* position: relative; */
  }
  
  .about_img img {
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    /* left: 0; */
    /* margin: auto; */
    margin: auto;
    text-align: right;
    object-fit: cover;
    font-family: 'object-fit:cover;';
    object-position: bottom;
    transition: 0.5s all;
  }

}

@media only screen and (max-width: 550px) {
  
.about_title {
  font-size: 30px;
  margin-bottom: 30px;
}

.about_title img {
  width: 60vw;
}

}

/*-----------------------------------------------------------------
	top - manga
-----------------------------------------------------------------*/

.top_manga {
  padding: 100px 0;
}

.manga_box {
  width: 100%;
  background-color: #FFD918;
  border-radius: 20px;
  position: relative;
  padding: 130px 20px 50px;
}

.manga_title {
  width: 99%;
  text-align: center;
  position: absolute;
  top: -70px;
}

.manga_inner {
  width: 100%;
  max-width: 800px;
  margin: auto;
}

@media only screen and (max-width: 999px) {
  
.manga_box {
  padding: 9.286vw 1.429vw 3.571vw;
}

}

@media only screen and (max-width: 768px) {
  .top_manga {
    padding: 100px 0 50px;
  }
}

@media only screen and (max-width: 550px) {
  
.top_manga {
  padding: 70px 0 50px;
}
  
.manga_box {
  padding: 9.286vw 10px 10px;
}

.manga_title {
  top: -12.727vw;
}

}

/*-----------------------------------------------------------------
	top - ninki
-----------------------------------------------------------------*/

.top_ninki {
  background: url("../img/bg_ninki.jpg") no-repeat center;
  background-size: cover;
  padding: 0 0 40px;
}
.ninki_box {
  display: flex;
  justify-content: space-between;
}

.ninki_img {
  width: 28%;
  padding: 0 1%;
}

.ninki_title {
  width: 78%;
  margin: 0 auto 56px;
}

.ninki_txt {
  flex: 1;
}

.ninki_txt p {
  line-height: 2.4em;
}

@media only screen and (max-width: 1400px) {
  
.ninki_img {
  width: 28%;
  padding: 0 1%;
}
  
.ninki_txt {
  font-size: 1.429vw;
}

}

@media only screen and (max-width: 999px) {
  
.ninki_img {
  width: 25%;
  padding: 0 1%;
}

.ninki_img img {
  margin-bottom: 30px;
}

.ninki_title {
  margin: 0 auto 40px;
}

.ninki_txt {
  font-size: 1.66vw;
}

}

@media only screen and (max-width: 768px) {
  
.ninki_box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.ninki_title {
  width: 78%;
  max-width: 300px;
  margin: 0 auto 30px;
}
  
.ninki_txt {
  width: 100%!important;
  font-size: 16px;
  display: block;
}

.ninki_img {
  width: 100%;
  padding: 0 4%;
  display: flex;
  justify-content: center;
}

.ninki_img img {
  width: 46%;
}

}

@media only screen and (max-width: 550px) {
  
.ninki_txt {
  font-size: 3vw;
}

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

}


/*-----------------------------------------------------------------
	top - himitsu
-----------------------------------------------------------------*/

.top_himitsu {
  padding: 0 0 100px;
}

.himitsu_box {
  width: 90%;
  max-width: 1180px;
  margin: 20px auto 0;
}

.himitsu01 {
  width: 47%;
  background: url("../img/himitsu_title01.png") no-repeat top left;
  background-size: 288px;
  padding: 24px 0 0 200px;
  font-size: 17px;
}

.himitsu01 img {
  width: 280px;
}

.himitsu02 {
  width: 53%;
  background: url("../img/himitsu_title02.png") no-repeat top left;
  background-size: 464px;
  display: flex;
  align-items: flex-end;
  font-size: 17px;
  padding-bottom: 40px;
}

.himitsu02 img {
  width: 250px;
}

.himitsu02 p {
  padding-bottom: 40px;
}

.himitsu03 {
  width: 80%;
  background: url("../img/himitsu_title03.png") no-repeat top right 5%;
  background-size: 663px;
  display: flex;
  align-items: flex-end;
  font-size: 17px;
  margin: auto;
}

.himitsu03 img {
  width: 250px;
}

.himitsu03 p {
  padding-left: 30px;
}

.himitsu04 {
  margin-top: 97px;
}

.himitsu04_title {
  font-size: 28px;
  margin: auto;
  position: relative;
  text-align: center;
}

.himitsu04_title img {
  width: 60%;
}

.himitsu04_title::before {
  content: "";
  background: url("../img/flash.png") no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 926px;
  height: 690px;
  margin: auto;
  z-index: -1;
}

.himitsu_taba {
  background-color: rgba(34, 34, 34, 0.6);
  border-radius: 20px;
  padding: 40px 50px;
  position: relative;
  margin-top: 60px;
  margin: 60px 0 50px;
}

.himitsu_taba_title {
  position: absolute;
  width: 20%;
  font-size: 40px;
  top: -0.8em;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  color: #88BBE2;
}

.himitsu_shikashi {
  display: flex;
  align-items: center;
  margin-bottom: 50px;
}

.himitsu_shikashi_l {
  font-size: 77px;
  position: relative;
}

.himitsu_shikashi_l::before {
  content: "";
  background: url("../img/flash.png") no-repeat center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: -40%;
  right: 0;
  bottom: 0;
  width: 499px;
  height: 365px;
  margin: auto;
  z-index: -1;
}

.himitsu_shikashi_r {
  font-size: 29px;
  line-height: 1.8em;
}

.himitsu_shikashi_r strong {
  font-size: 38px;
}

.himitsu_txt {
  font-size: 29px;
  text-align: center;
  margin-top: -200px;
}

@media only screen and (min-width: 768px) and (max-width: 1400px) {

  .himitsu01 {
    background-size: 20.571vw;
    padding: 1.714vw 0 0 14.286vw;
    font-size: 1.214vw;
  }

  .himitsu01 img {
    width: 20vw;
  }

  .himitsu02 {
    background-size: 33.143vw;
    font-size: 1.214vw;
    padding-bottom: 2.857vw;
  }

  .himitsu02 img {
    width: 17.857vw;
  }

  .himitsu02 p {
    padding-bottom: 2.857vw;
  }

  .himitsu03 {
    background-size: 47.357vw;
    font-size: 1.214vw;
  }

  .himitsu03 img {
    width: 17.857vw;
  }

  .himitsu03 p {
    padding-left: 2.143vw;
  }

  .himitsu04 {
    margin-top: 6.929vw;
  }

  .himitsu04_title {
    font-size: 2vw;
  }

  .himitsu04_title::before {
    width: 66.143vw;
    height: 49.286vw;
  }

  .himitsu_shikashi_l {
    font-size: 5.5vw;
  }

  .himitsu_shikashi_l::before {
    width: 35.643vw;
    height: 26.071vw;
  }

  .himitsu_shikashi_r {
    font-size: 2.5vw;
  }

  .himitsu_shikashi_r strong {
    font-size: 2.714vw;
  }

  .himitsu_txt {
    font-size: 2.071vw;
    margin-top: -14.286vw;
  }

}

@media only screen and (max-width: 999px) {

  .himitsu01,
  .himitsu02,
  .himitsu03 {
    font-size: 1.4vw;
  }
  .himitsu03 {
    width: 85%;
  }

}

@media only screen and (max-width: 768px) {

  .himitsu_box {
    display: block;
  }
  
  .himitsu01,
  .himitsu02,
  .himitsu03 {
    width: 90%;
    font-size: 18px;
    margin: auto;
  }

  .himitsu01 {
    background-size: 37.5vw;
    padding: 3.125vw 0 0 26.042vw;
    font-size: 2.214vw;
    margin-bottom: 20px;
    text-align: right;
  }

  .himitsu01 img {
    width: 36.458vw;
  }

  .himitsu01 p {
    text-align: left;
  }

  .himitsu02 {
    background-size: 60.417vw;
    font-size: 2.214vw;
    padding-bottom: 5.208vw;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 0;
    margin-bottom: 20px;
  }

  .himitsu02 img {
    width: 30vw;
  }

  .himitsu02 p {
    padding-bottom: 0;
  }

  .himitsu03 {
    width: 100%;
    align-items: center; 
    background: url("../img/himitsu_title03.png") no-repeat top right;
    background-size: contain;
    padding-top: 20%;
    background-size: 86.328vw;
    font-size: 2.214vw;
  }

  .himitsu03 img {
    width: 30vw;
  }

  .himitsu03 p {
    padding-left: 3.906vw;
  }

  .himitsu04 {
    margin-top: 12.63vw;
  }

  .himitsu04_title {
    font-size: 3.646vw;
  }

  .himitsu04_title::before {
    width: 100%;
  }
  
  .himitsu04_title img {
    width: 100%;
  }

  .himitsu_taba {
    padding: 30px 30px;
  }
  
  .himitsu_taba_title {
    width: 30%;
    font-size: 30px;
  }

  .himitsu_shikashi {
    display: block;
  }
  
  .himitsu_shikashi_l {
    font-size: 43px;
    text-align: center;
    margin: 0 auto 20px;
  }

  .himitsu_shikashi_l::before {
    left: 0;
  }

  .himitsu_shikashi_r {
    font-size: 3.776vw;
    text-align: center;
  }

  .himitsu_shikashi_r strong {
    font-size: 3.125vw;
  }
  
  .himitsu_txt {
    font-size: 2.604vw;
    margin-top: -13.021vw;
  }

}

@media only screen and (max-width: 550px) {
  
  .himitsu01,
  .himitsu02,
  .himitsu03 {
    width: 95%;
    font-size: 2.909vw;
  }

  .himitsu01 {
    margin-bottom: 0;
  }

  .himitsu02 {
    padding-top: 10%;
  }
  
  .himitsu01 img {
    width: 30vw;
  }

  .himitsu02 img,
  .himitsu03 img {
    width: 25vw;
  }
  
  .himitsu_taba {
    padding: 30px 20px;
  }
  
  .himitsu_shikashi_l::before {
    left: 0;
    width: 100%;
  }
  
  .himitsu_shikashi_r {
    font-size: 4.2vw;
  }

  .himitsu_shikashi_r strong {
    font-size: 3.8vw;
  }
  
  .himitsu_txt {
    font-size: 15px;
    margin-top: -12vw;
  }

}

/*-----------------------------------------------------------------
	top - strong
-----------------------------------------------------------------*/

.top_strong {
  background-color: #B00000;
  padding: 40px 0;
}

.strong_title {
  font-size: 2.7vw;
  padding-left: 330px;
  position: relative;
  vertical-align: bottom;
  margin-bottom: 30px;
}

.strong_title span {
  background: linear-gradient(transparent 70%, #DF820E 70%);
}

.strong_title::before {
  content: "";
  background: url("../img/logo_produce.png") no-repeat left;
  background-size: 370px;
  width: 370px;
  height: 191px;
  aspect-ratio: 370/191;
  position: absolute;
  top: -118px;
  left: 0;
}

.strong_list li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 28px;
  padding: 30px 0;
  line-height: 1.6em;
  border-bottom: #C84D4D 10px dotted;
}

.strong_list li:last-child {
  border-bottom: none;
}

.strong_num {
  font-size: 77px;
  color: rgba(255, 255, 255, 0.6);
  margin-right: 30px;
}

@media only screen and (max-width: 1280px) {
  
.strong_list li {
  font-size: 2.188vw;
  padding: 2.344vw 0;
}
  
.strong_num {
  font-size: 6.016vw;
  margin-right: 2.344vw;
}

}

@media only screen and (max-width: 999px) {

.strong_title {
  font-size: 3vw;
  padding-left: 33.033vw;
  margin-bottom: 3.003vw;
}

.strong_title::before {
  background-size: 37.037vw;
  width: 37.037vw;
  height: 19.119vw;
  top: -11.812vw;
}

.strong_list li {
  font-size: 20px;
}
  
.strong_num {
  font-size: 50px;
  margin-right: 20px;
}

}

@media only screen and (max-width: 768px) {
  
.strong_title {
  font-size: 4vw;
  padding-left: 0;
  text-align: center;
  margin-bottom: 30px;
}

.strong_title::before {
  background-size: 200px;
  width: 200px;
  height: 103px;
  top: -100px;
}

}

@media only screen and (max-width: 550px) {

  .strong_title {
    font-size: 5vw;
    margin-bottom: 20px;
  }
  
  .strong_list li {
    font-size: 15.5px;
    padding: 20px 0;
  }
    
  .strong_num {
    font-size: 43px;
    margin-right: 10px;
  }

}

/*-----------------------------------------------------------------
	top - freename
-----------------------------------------------------------------*/

.top_freename {
  background: #000 url("../img/bg_freename.jpg") no-repeat right;
  background-size: cover;
  padding: 60px 0;
}

.freename_title {
  line-height: 2.8em;
  margin-bottom: 46px;
}

@media only screen and (max-width: 999px) {

  .freename_title {
    margin-bottom: 30px;
  }
  
  .top_freename p br {
    display: none;
  }

  .freename_title .txt28 {
    font-size: 24px;
  }
  
  .freename_title .txt43 {
    font-size: 36px;
  }

}

@media only screen and (max-width: 768px) {
  
  .freename_title {
    text-align: center;
  }

  .freename_title .txt28 {
    font-size: 20px;
  }
  
  .freename_title .txt43 {
    font-size: 30px;
  }

}

@media only screen and (max-width: 550px) {
  
  .top_freename {
    background: #000 url("../img/bg_freename.jpg") no-repeat center right 25%;
    background-size: cover;
    padding: 40px 0;
  }
  
  .freename_title .txt28 {
    font-size: 18px;
  }
  
  .freename_title .txt43 {
    font-size: 24px;
  }

}

/*-----------------------------------------------------------------
	top - shop
-----------------------------------------------------------------*/

.top_shop {
  padding: 30px 0 94px;
}

.shop_box_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.shop_box_title {
  width: 280px;
  height: 80px;
  line-height: 80px;
  color: #000;
  font-size: 43px;
  background: url("../img/icon_shop.png") no-repeat center left 20px;
  background-size: 43px;
  background-color: #FFD918;
  text-align: center;
  padding-left: 55px;
  border-radius: 10px 10px 0 0;
}

.shop_box {
  border: #FFD918 5px solid;
  border-radius: 0 20px 20px 20px;
  padding: 50px 100px 0;
}

.shop_list li {
  width: 45%;
  position: relative;
  text-align: center;
  margin-bottom: 40px;
}

.shop_circle {
  width: 80px;
  height: 80px;
  color: #000;
  border-radius: 50%;
  border: #000 3px solid;
  position: absolute;
  top: -20px;
  right: -20px;
  font-size: 12px;
  line-height: 1.8em;
  letter-spacing: -0.15em;
  text-align: center;
  padding-top: 1.2em;
  font-feature-settings: "palt";
}

.shop_circle strong {
  font-size: 26px;
  padding: 0 8px;

}

.sc_clr01 { background-color: #28D2D6;}
.sc_clr02 { background-color: #FFAC20;}

.shop_img {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 20px;
}

.shop_title {
  font-size: 28px;
  margin-bottom: 10px;
}

.shop_floor {
  font-size: 18px;
  margin-bottom: 35px;
}

.shop_floor strong {
  font-size: 138%;
}

.shop_sales {
  font-size: 30px;
  color: #FFD918;
  margin-bottom: 10px;
}

.shop_sales strong {
  font-size: 333%;
}

@media only screen and (max-width: 1400px) {

  .shop_box_title {
    width: 280px;
    height: 70px;
    line-height: 70px;
    font-size: 36px;
    padding-left: 35px;
  }

}

@media only screen and (max-width: 1280px) {

  .shop_box {
    padding: 50px 50px 0;
  }

}

@media only screen and (max-width: 999px) {

  .shop_box_header {
    font-size: 16px;
  }
  
  .shop_box_title {
    width: 240px;
    height: 60px;
    line-height: 60px;
    font-size: 30px;
    padding-left: 25px;
    background-size: 30px;
  }
  
  .shop_box {
    padding: 50px 40px 0;
  }
  
  .shop_sales {
    font-size: 22px;
    color: #FFD918;
    margin-bottom: 10px;
  }

}

@media only screen and (max-width: 768px) {
  
  .shop_box_title {
    width: 150px;
    height: 60px;
    line-height: 60px;
    font-size: 24px;
    padding-left: 20px;
    background-position: center left 10px;
    background-size: 24px;
  }
  
  .shop_box {
    padding: 50px 30px 0;
  }
  
  .shop_sales {
    font-size: 20px;
    margin-bottom: 10px;
  }
  
  .shop_floor strong {
    font-size: 125%;
  }

}

@media only screen and (max-width: 620px) {
  
  .top_shop {
    padding: 30px 0 50px;
  }
  
  .shop_box_header {
    text-align: right;
  }
  
  .shop_box_title {
    width: 200px;
    height: 60px;
    line-height: 60px;
    font-size: 20px;
    padding-left: 20px;
    background-position: center left 10px;
    background-size: 24px;
  }
  
  .shop_box {
    padding: 30px 25px 0;
  }

  .shop_list {
    max-width: 400px;
    margin: auto;
  }

  .shop_list li {
    width: 100%;
    margin-bottom: 30px;
    border-bottom: #ccc 5px dotted;
    padding-bottom: 20px;
  }
  
  .shop_list li:last-child {
    border-bottom: none;
  }

}

/*-----------------------------------------------------------------
	top - cost
-----------------------------------------------------------------*/

.top_cost {
  background-color: #B00000;
  padding: 80px 0;
}

.cost_open_title {
  width: 320px;
  height: 60px;
  line-height: 60px;
  border-radius: 10px 10px 0 0;
  background-color: #FFD918;
  text-align: center;
  color: #000;
  font-size: 28px;
}

.cost_open_box {
  position: relative;
}

.cost_open_img {
  background: url("../img/menmen.png") no-repeat;
  background-size: cover;
  width: 310px;
  height: 205px;
  position: absolute;
  top: -205px;
  right: 0;

}

.cost_tbl {
  border-top: #CCC 1px solid;
  border-left: #CCC 1px solid;
}

.cost_tbl th,
.cost_tbl td {
  border-right: #CCC 1px solid;
  border-bottom: #CCC 1px solid;
  padding: 20px;
  color: #000;
}

.cost_tbl th {
  background-color: #F2F2F2;
  text-align: left;
}

.cost_tbl td {
  background-color: #fff;
  text-align: right;
}

.cost_open_tbl {
  width: 50%;
  margin-bottom: 10px;
}

.cost_open_tbl td strong {
  font-size: 140%;
}

.cost_open_tbl th {
  width: 360px;
}

.cost_model_box {
  margin-top: 50px;
  margin-bottom: 10px;
}

.cost_model_inner {
  width: 48%;
}

.cost_model_title {
  width: 100%;
  height: 60px;
  line-height: 60px;
  border-radius: 10px 10px 0 0;
  background-color: #FFD918;
  text-align: center;
  color: #000;
}

.cost_model_title strong {
  color: #B00000;
  font-size: 140%;
}

.cost_model_tbl {
  width: 100%;
  table-layout: fixed;
}

.cost_model_tbl thead th {
  text-align: center;
}

.cost_model_tbl tbody td {
  text-align: center;
}

@media only screen and (max-width: 1280px) {

  .cost_model_title {
    font-size: 1.563vw;
  }
    
  .cost_tbl,
  .cost_model_tbl {
    font-size: 18px;
  }

  .cost_open_tbl th {
    width: 300px;
  }

  .cost_open_tbl td strong {
      font-size: 125%;
  }

  .cost_open_tbl th,
  .cost_open_tbl td {
    padding: 15px 10px;
  }

  .cost_model_tbl th,
  .cost_model_tbl td {
    padding: 15px 10px;
  }

}

@media only screen and (max-width: 999px) {

  .cost_open_box {
    display: block;
    margin-bottom: 10px;
  }

  .cost_open_tbl {
    width: 100%;
    margin-bottom: 0;
  }
  
  .cost_open_tbl th {
    width: 50%;
  }
  
  .cost_model_title {
    font-size: 20px;
  }

  .cost_model_box {
    display: block;
    margin-top: 20px;
  }
  
  .cost_model_inner {
    width: 100%;
  }
  
  .cost_model_inner + .cost_model_inner {
    margin-top: 20px;
  }

}

@media only screen and (max-width: 768px) {
  
  .cost_open_title {
    width: 41.667vw;
    height: 7.813vw;
    line-height: 7.813vw;
    font-size: 3.646vw;
  }

  .cost_open_img {
    width: 40.365vw;
    height: 26.693vw;
    top: -26.693vw;
  }
  
  .cost_open_tbl th {
    width: 70%;
  }

}

@media only screen and (max-width: 550px) {

  .top_cost {
    padding: 30px 0;
  }

  .cost_open_title {
    width: 180px;
    height: 50px;
    line-height: 50px;
    font-size: 18px;
  }
  
  .cost_tbl {
    font-size: 16px;
  }
  
  .cost_model_title {
    font-size: 14px;
  }

}

/*-----------------------------------------------------------------
	top - flow
-----------------------------------------------------------------*/

.top_flow {
  background: url("../img/bg_flow.jpg") no-repeat;
  background-size: cover;
  padding: 50px 0 100px;
}

.flow_list {
  width: 100%;
  max-width: 900px;
  margin: auto;
}

.flow_list li {
  background-color: #FFD918;
  border-radius: 20px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 20px 30px;
  margin-bottom: 30px;
  position: relative;
}

.flow_list li::after {
  content: "";
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-top: 20px solid rgba(255, 217, 24, 0.7);
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px;
  margin: auto;
}

.flow_list li:nth-of-type(even) {
  background-color: #fff;
}

.flow_list li:nth-of-type(even)::after {
  border-top: 20px solid rgba(255, 255, 255, 0.7);
}

.flow_list li:last-child::after {
  content: none;
}

.flow_step {
  width: 62px;
  color: #EF8C07;
  margin-right: 20px;
  text-align: center;
  margin-bottom: 10px;
}

.flow_step strong {
  display: block;
  font-size: 240%;
}

.flow_list li:nth-of-type(even) .flow_step {
  color: #8CAEDB;
}

.flow_title_box {
  width: 282px;
}

.flow_title {
  width: 200px;
  height: 100px;
  color: #000;
  font-size: 24px;
  border-right: rgba(0, 0, 0, 0.2) 1px solid;
  display: flex;
  align-items: center;
}

.flow_txt {
  flex: 1;
  padding: 0 20px 0 30px;
  color: #000;
  font-size: 16px;
}

@media only screen and (max-width: 999px) {
  
.flow_title_box {
  width: 28.228vw;
}
  
.flow_step {
  width: 6.206vw;
  font-size: 2.002vw;
  margin-right: 2.002vw;
  margin-bottom: 1.001vw;
}

.flow_title {
  width: 20.02vw;
  font-size: 2.402vw;
}

}

@media only screen and (max-width: 768px) {
  
  .flow_list li {
    background-color: #FFD918;
    border-radius: 20px;
    display: block;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px 30px;
    margin-bottom: 30px;
    position: relative;
  }
  
  .flow_title_box {
    width: 100%;
  }
  
  .flow_step {
    width: 62px;
    margin-right: 10px;
    font-size: 16px;
  }
  
  .flow_step strong {
    margin-top: 5px;
  }

  .flow_title br,
  .flow_txt br {
    display: none;
  }
  
  .flow_title {
    width: 100%;
    height: auto;
    font-size: 20px;
    border-right: none;
  }

  .flow_txt {
    width: 100%;
    display: block;
    padding: 20px 0;
    font-size: 16px;
    line-height: 1.8em;
  }

}

@media only screen and (max-width: 550px) {
  
  .top_flow {
    padding: 50px 0 50px;
  }

  .flow_list li {
    padding: 15px 20px;
  }

}

/*-----------------------------------------------------------------
	top - message
-----------------------------------------------------------------*/

.top_message {
  background: url("../img/bg_fudemaru.png") no-repeat top -5% right -5%,
  url("../img/bg_fudemaru.png") no-repeat bottom -5% left -5%;
  background-size: 40%;
  background-color: #B00000;
  padding: 40px 0 100px;
}

.message_box {
  background-color: #fff;
  border-radius: 20px;
  padding: 50px 40px;
  color: #000;
  box-shadow: 0 10px 0 rgba(0, 0, 0, 1);
  margin-bottom: 65px;
}

.company_list {
  margin-top: 30px;
}

.company_list li {
  width: 31.5%;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 10px 0 rgba(0, 0, 0, 1);
}

.company_title {
  background-color: #FFD918;
  border-radius: 20px 20px 0 0;
  color: #000;
  text-align: center;
  font-size: 18px;
  line-height: 1.2em;
  padding: 22px 10px 16px;
}

.company_txt {
  color: #000;
  font-size: 13px;
  padding: 15px;
}

/* @media only screen and (min-width: 768px) and (max-width: 1280px) {

  .company_list {
    display: block;
  }

  .company_list li {
    width: 100%;
    display: flex;
  }


} */

@media only screen and (max-width: 1280px) {

  .company_list {
    flex-wrap: wrap;
  }

  .company_list li {
    width: 48%;
    margin-bottom: 4%;
  }

}

@media only screen and (max-width: 999px) {
  
.message_box {
  padding: 30px 30px;
  margin-bottom: 65px;
}

}

@media only screen and (max-width: 820px) {

  .top_message {
    padding: 40px 0 40px;
  }
  
  .company_list li {
    width: 100%;
    margin-bottom: 8%;
  }

  .company_img img {
    width: 100%;
  }

}

/*-----------------------------------------------------------------
	top - otoiawase
-----------------------------------------------------------------*/

.top_form {
  padding: 70px 0;
}

.rad_box {
  border: #eee 3px solid;
  border-radius: 10px;
  padding: 30px 30px 20px;
  margin-top: 20px;
}

.otoiawase_title {
  width: 450px;
  height: 60px;
  line-height: 60px;
  background-color: #fff;
  border-radius: 20px 20px 0 0;
  color: #000;
  font-size: 28px;
  text-align: center;
}

.otoiawase_box {
  border-radius: 0 10px 10px 10px;
  margin-top: 0;
  text-align: center;
  padding: 68px 20px;
}

.tel_txt {
  color: #FFD918;
  font-size: 59px;
  margin: 30px 0;
}

.tel_txt a {
  color: #FFD918;
}

.tel_txt span {
  font-size: 55.9%;
}

.required_mark {
  width: 60px;
  display: inline-block;
  background: #FFD918;
  border-radius: 5px;
  color: #000;
  font-size: 14px;
  padding: 4px 5px;
  margin-left: 7px;
  line-height: 1em;
  text-align: center;
}

.any_mark {
  background: transparent;
  border: #aaa 1px solid;
  color: #aaa;
}

.otoiawase_tbl {
  width: 100%;
  margin-bottom: 30px;
}

.otoiawase_tbl th,
.otoiawase_tbl td {
  text-align: left;
  padding: 10px 20px;
  vertical-align: top;
}

.otoiawase_tbl th {
  width: 350px;
  color: #fff;
  padding: 7px 0 3px;
  text-align: right;
}

.otoiawase_tbl td input + input {
  margin-top: 10px;
}

.h300 {
  min-height: 300px;
}

.half_list {
  width: 100%;
  max-width: 600px;
  margin: auto;
}
.half_list li {
  width: 48%;
}

.btn {
  width: 90%;
  max-width: 600px;
  height: 80px;
  line-height: 80px;
  display: block;
  background-color: #FFD918;
  color: #000;
  text-decoration: none;
  margin: auto;
  border-radius: 20px;
  text-align: center;
}

.confirm_btn {
  font-size: 28px;
}

.back_btn {
  border: #F74A00 1px solid!important;
  background-color: #fff!important;
  color: #F74A00;
  transition: all .3s;
}

.back_btn::after {
  border-color: transparent transparent transparent #F74A00;
}

.back_btn:hover {  
  border: #F7931E 1px solid;
}

.err_txt {
  /* color: #ff0000; */
  color: #eb8a8a;
  background-color: rgba(255, 239, 239, 0);
  /* padding: 3px 5px; */
  margin-top: 5px;
  font-size: 13px;
}

.err_txt::before {
  content: "！";
  width: 1em;
  height: 1em;
  font-size: 13px;
  border-radius: 50%;
  background-color: #eb8a8a;
  color: #000;
  margin-right: 3px;
}

.err_txt:empty {
  padding: 0;
}
.err_txt:empty::before {
  content: none;
}

.input_center {
    cursor: pointer;
    padding: 8px;
    text-indent: -1.8em;
    padding-left: 1.8em;
    font-weight: normal;
    position: relative;
    color: #fff;
}

.input_center input[type="radio"],
.input_center input[type="checkbox"] {
    margin-right: 8px;
    position: absolute;
    left: 0;
    top: 5px;
    margin: auto;
    text-align: left;
}

.input_center + .input_center {
  margin-left: 20px;
}

@media only screen and (max-width: 999px) {
  
  .otoiawase_title {
    width: 350px;
    font-size: 24px;
  }

  .otoiawase_box {
    padding: 40px 40px;
  }
  
  .otoiawase_tbl th,
  .otoiawase_tbl td {
    padding: 5px 0;
    width: 100%;
    display: block;
    text-align: left;
  }
  
  .otoiawase_tbl th {
    color: #ccc;
  }

  .otoiawase_tbl td {
    padding: 10px 0;
  }

}
@media only screen and (max-width: 768px) {
  
  .otoiawase_title {
    width: 280px;
    font-size: 18px;
    height: 50px;
    line-height: 50px;
  }

  .input_center {
      text-indent: -2.2em;
      padding-left: 2.2em;
  }

  .tel_txt {
    font-size: 40px;
  }
  
  .confirm_btn {
    font-size: 20px;
  }

}
@media only screen and (max-width: 550px) {
  
  .otoiawase_box {
    padding: 20px 20px;
  }
  
  .tel_txt {
    font-size: 36px;
  }

}

/*-----------------------------------------------------------------
	top - confirm
-----------------------------------------------------------------*/

.top_confirm {
  padding: 100px 0;
}

.top_confirm .rad_box {
  padding: 30px 20px 50px;
}

.top_confirm .otoiawase_tbl th,
.top_confirm .otoiawase_tbl td {
    padding: 20px 20px;
}

.top_confirm .otoiawase_tbl th {
  width: 450px;
}

@media only screen and (max-width: 999px) {

  .top_confirm .otoiawase_tbl th,
  .top_confirm .otoiawase_tbl td {
      padding: 10px 10px;
  }

  .top_confirm .otoiawase_tbl th {
    width: 100%;
      padding: 10px 10px 0 10px;
  }
  
  .top_confirm .otoiawase_tbl td {
    border-bottom: #444 3px dotted;
  }

}

/*-----------------------------------------------------------------
	top - thanks
-----------------------------------------------------------------*/

.top_thanks {
  padding: 100px 0;
}

.top_thanks img {
  width: 50%;
  max-width: 300px;
}

@media only screen and (max-width: 550px) {

  .top_thanks .rad_box {
    padding: 30px 20px 20px;
  }

}

/*-----------------------------------------------------------------
	print
-----------------------------------------------------------------*/


/*-----------------------------------------------------------------
	rechapcha
-----------------------------------------------------------------*/

.grecaptcha-badge { visibility: hidden; }

.re_txt {
    font-size: 12px;
    opacity: 0.7;
    text-align: center;
    margin-top: 50px;
}