@charset "UTF-8";
/*======================================================

    下層レイアウト

======================================================*/

footer {
  margin-top: 120px;
}

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

}

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

  footer {
    margin-top: 16vw;
  }

}


/*======================================================

    記事ページ

======================================================*/

.article__header {
  width: 100%;
  height: auto;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top;
  background-image: url(../img/article_bg_pc.png);
  aspect-ratio: 1920 / 600;
  position: relative;
}

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

  .article__header {
    background-image: url(../img/article_bg_sp.png);
    aspect-ratio: 960 / 600;
  }

}

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

  .article__header {
    aspect-ratio: 768 / 600;
    background-image: url(../img/article_bg_sp.png);
  }

}


/*======================================================

    見出し

======================================================*/

.article__title {
  position: relative;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  padding-top: 80px;
}

/*  飾りマッチョ  */
.article__title-image_deco {
  width: 200px;
  height: auto;
}

/*  最新情報  */
.article__title-image {
  width: 302px;
  margin-top: -32px;
}
/*  登場キャラクター  */
.character__title-image {
  width: 590px;
  margin-top: -32px;
}
/*  お問い合わせ  */
.contact__title-image {
  width: 446px;
  margin-top: -32px;
}
.contact_h3 {
  text-align: center;
}
.contact_h3 img {
  width: 426px;
}

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

  /*  飾りマッチョ  */
  .article__title-image_deco {
    width: 150px;
    height: auto;
  }

  /*  最新情報  */
  .article__title-image {
    width: 202px;
  }
  /*  登場キャラクター  */
  .character__title-image {
    width: 490px;
    margin-top: -32px;
  }
  /*  お問い合わせ  */
  .contact__title-image {
    width: 346px;
  }
  .contact_h3 img {
    width: 326px;
  }

}

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

  .article__title {
    flex-direction: column;
    gap: 32px;
  }
  .article__title img:first-child {
    display: none;
  }

  /*  飾りマッチョ  */
  .article__title-image_deco {
    width: 150px;
    height: auto;
  }

}

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

  .article__title {
    gap: 4vw;
    padding-top: 14vw;
  }

  /*  最新情報  */
  .article__title-image {
    width: 30.5vw;
    margin-top: 0;
  }
  /*  登場キャラクター  */
  .character__title-image {
    width: 59vw;
    margin-top: 0;
  }
  /*  お問い合わせ  */
  .contact__title-image {
    width: 45.1vw;
    margin-top: 0;
  }
  .contact_h3 img {
    width: 55.46vw;
  }

  /*  飾りマッチョ  */
  .article__title-image_deco {
    width: 20vw;
  }

}


/*======================================================

    パンくずリスト

======================================================*/

.article__breadcrumb {
  font-size: 18px;
  margin: 40px 0 64px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 800;
}

.article__breadcrumb-list {
  display: flex;
  gap: 33px;
}

.article__breadcrumb-item {
  position: relative;
  transition: 0.5s ease;
}
.article__breadcrumb-item:not(:first-child)::before {
  content: ">";
  position: absolute;
  top: 0;
  left: -22px;
}

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

  .article__breadcrumb {
    font-size: 3.2vw;
    margin: 5.2vw 0 6vw;
  }

  .article__breadcrumb-list {
    gap: 5vw;
  }
  .article__breadcrumb-item:not(:first-child)::before {
    left: -3.4vw;
  }

}

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

}


/*======================================================

    記事内容

======================================================*/

.article__content {
  background: #fff;
  border-radius: 20px;
  border: solid 10px #000;
  padding: 45px 44px 40px 41px;
  width: 100%;
  margin: 0 auto;
  max-width: 905px;
}

.article__content-date {
  margin-bottom: 20px;
  display: flex;
  gap: 6px;
}

.article__content-heading {
  margin-bottom: 24px;
  font-size: 32px;
}

.article__content-body {
  margin-bottom: 34px;
  line-height: 1.6;
}

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

}

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

  .article__content {
    width: 100%;
    margin: 0 auto;
    border-radius: 2.6vw;
    border: solid 1.3vw #000;
    padding: 5.85vw 5.72vw 5.2vw 5.33vw;
  }

  .article__content-date {
    margin-bottom: 2.6vw;
  }

  .article__content-heading {
    margin-bottom: 4.42vw;
    font-size: 4.16vw;
  }

  .article__content-body {
    margin-bottom: 4.42vw;
  }

}


/*======================================================

    ボタン

======================================================*/

.article__more-link.default__btn.black {
  font-family: "ruika", sans-serif;
  margin: 0 auto;
  width: 314px;
  height: 65px;
  font-size: 23px;
}
.article__more-link.default__btn.black::after {
  width: 22px;
  height: 24px;
  right: 65px;
}

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

  .article__more-link.default__btn.black {
    width: 40.88vw;
    height: 8.46vw;
    font-size: 2.99vw;
  }

  .article__more-link.default__btn.black::after {
    width: 2.86vw;
    height: 3.12vw;
    right: 8.46vw;
  }

}

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

  .article__more-link.default__btn.black {
    width: 50vw;
    height: 10vw;
    font-size: 4vw;
  }

  .article__more-link.default__btn.black::after {
    width: 3.5vw;
    height: 4.5vw;
    right: 8vw;
  }

}


/*======================================================

    記事一覧ページ

======================================================*/

.article .news__list {
  margin: 0 auto;
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 40px;
}

.pagination__circle {
  background: #fff;
  color: #000;
  width: 49px;
  height: 49px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination__circle.active,
.pagination__circle.prev,
.pagination__circle.next,
.pagination__circle:hover {
  background: #000;
  color: #fff;
}
.pagination__circle.prev::after,
.pagination__circle.next::after {
  content: "";
  width: 20px;
  height: 22px;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.pagination__circle.prev::after {
  background-image: url(../img/prev.png);
}
.pagination__circle.next::after {
  background-image: url(../img/next.png);
}

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

  .pagination {
    gap: 2.04vw;
  }

}

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

  .article .news__list {
    margin: 0 auto;
  }

  .pagination {
    gap: 4vw;
    margin-top: 6vw;
  }

  .pagination__circle {
    width: 8vw;
    height: 8vw;
  }
  .pagination__circle.prev::after,
  .pagination__circle.next::after {
    width: 3vw;
    height: 4vw;
    background-size: contain;
  }

}


/*======================================================

    あそびかたページ

======================================================*/

.page-about .article__breadcrumb {
  padding-top: 160px;
  margin: 0;
}

.about_inner {
  max-width: 1220px;
  width: 100%;
  padding: 0 60px;
  margin: 0 auto;
}

.about_content_01 {
  background: url(../img/about_main.jpg) center top / cover no-repeat;
  text-align: center;
  padding-bottom: 120px;
}
.about_content_01 h2 {
  margin-top: 60px;
}
.about_content_01 h2 img {
  width: 785px;
}
.about_content_01-text {
  margin-top: 20px;
}
.about_content_01-text img {
  width: 889px;
  margin: 0 auto;
}

ul.how_to {
  z-index: 1;
  position: relative;
}
ul.how_to li {
  display: flex;
  gap: 40px;
  justify-content: space-between;
  align-items: center;
}
ul.how_to li:nth-of-type(even) {
  flex-direction: row-reverse;
  justify-content: flex-end;
}
ul.how_to li:not(:first-child) {
  margin-top: 40px;
}
ul.how_to li > div {
  width: 50%;
}

.how_to_text img {
  max-width: 530px;
}
.how_to_img img {
  border-radius: 20px;
  border: 8px solid #000;
}

.about_content_02 {
  background: url(../img/bg_orange.jpg) center top / auto repeat;
  padding: 120px 0;
}

.about_content_02 h3 {
  position: relative;
  margin-left: -90px;
}
.about_content_02 h3 img {
  position: relative;
  width: auto;
  z-index: 1;
}
.about_content_02 h3:before {
  content: '';
  position: absolute;
  background: url(../img/about_content02_macho.png) center top / contain no-repeat;
  width: 438px;
  height: 444px;
  right: -105px;
  top: 30px;
}

.about_content_03 {
  background: url(../img/bg_yellow.jpg) 63px top / auto repeat;
  padding: 120px 0;
}

.about_content_03 h3 {
  position: relative;
  margin-left: -90px;
}
.about_content_03 h3 img {
  position: relative;
  width: auto;
  z-index: 1;
}
.about_content_03 h3:before {
  content: '';
  position: absolute;
  background: url(../img/about_content03_macho.png) center top / contain no-repeat;
  width: 438px;
  height: 451px;
  right: -105px;
  top: 30px;
}

.about_content_04 {
  background: url(../img/bg_orange.jpg) 30px top / auto repeat;
  padding: 120px 0;
}

.about_content_04 h3 {
  position: relative;
  margin-left: -90px;
}
.about_content_04 h3 img {
  position: relative;
  width: auto;
  z-index: 1;
}
.about_content_04 h3:before {
  content: '';
  position: absolute;
  background: url(../img/about_content04_macho.png) center top / contain no-repeat;
  width: 468px;
  height: 462px;
  right: -105px;
  top: 30px;
}

.about_content_05 {
  padding: 120px 60px;
  max-width: 1025px;
  margin: 0 auto;
}

.about_content_05 h3 {
  text-align: center;
}
.about_content_05 h3 img {
  width: 332px;
}

.screen_info {
  margin-top: 30px;
}
.screen_info img {
  border-radius: 20px;
  border: 8px #000 solid;
}

.screen_info-list {
  margin-top: 30px;
  font-size: 30px;
}
.screen_info-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.screen_info-list ul li {
  display: flex;
  align-items: center;
}
.screen_info-list ul li span {
  font-size: 21px;
  background-color: #F5AA00;
  border-radius: 30px;
  border: 4px solid #000;
  width: 44px;
  height: 44px;
  display: inline-block;
  text-align: center;
  padding: 7px 0;
  margin-right: 10px;
}

.about_content_06 {
  background: url(../img/bg_epilogue.jpg) center top / cover no-repeat;
  padding: 135px 60px;
  display: flex;
  align-items: center;
}
.about_content_06 .epilogue {
  max-width: 833px;
  margin: 0 auto;
}

.page-about footer {
  margin-top: 0;
}

@media screen and (max-width: 1366px) {
  
  .page-about .article__breadcrumb {
    padding-top: 130px;
  }

  .about_inner {
    max-width: 1100px;
  }
  
  .about_content_01 {
    padding-bottom: 100px;
  }

  .about_content_01 h2 img {
    width: 685px;
  }
  .about_content_01-text img {
    width: 789px;
  }

  ul.how_to {
    z-index: 1;
    position: relative;
  }
  ul.how_to li {
    display: flex;
    gap: 40px;
    justify-content: space-between;
    align-items: center;
  }
  ul.how_to li:nth-of-type(even) {
    flex-direction: row-reverse;
    justify-content: flex-end;
  }
  ul.how_to li:not(:first-child) {
    margin-top: 40px;
  }
  
  .how_to_text img {
    max-width: 480px;
  }
  .how_to_img img {
    border-radius: 20px;
    border: 8px solid #000;
  }

  .about_content_02 {
    padding: 100px 0;
  }
  
  .about_content_02 h3 img {
    width: 800px;
  }
  .about_content_02 h3:before {
    width: 338px;
    height: 344px;
    right: -30px;
  }
  
  .about_content_03 {
    background: url(../img/bg_yellow.jpg) 35px top / auto repeat;
    padding: 100px 0;
  }
  
  .about_content_03 h3 img {
    width: 800px;
  }
  .about_content_03 h3:before {
    width: 338px;
    height: 351px;
    right: -30px;
  }
  
  .about_content_04 {
    background: url(../img/bg_orange.jpg) 59px top / auto repeat;
    padding: 100px 0;
  }
  
  .about_content_04 h3 img {
    width: 800px;
  }
  .about_content_04 h3:before {
    width: 368px;
    height: 362px;
    right: -30px;
  }
  
  .about_content_05 {
    max-width: 925px;
    padding: 100px 60px;
  }

  .about_content_05 h3 img {
    width: 282px;
  }
  
  .screen_info-list {
    font-size: 26px;
  }
  .screen_info-list ul {
    gap: 20px;
  }
  .screen_info-list ul li span {
    font-size: 21px;
    border-radius: 30px;
    width: 44px;
    height: 44px;
    padding: 7px 0;
    margin-right: 10px;
  }
  
  .about_content_06 {
    padding: 115px 60px;
  }
  .about_content_06 .epilogue {
    max-width: 733px;
  }

}

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

  .about_content_02 h3,
  .about_content_03 h3,
  .about_content_04 h3 {
    margin-left: -40px;
  }
  .about_content_02 h3 img,
  .about_content_03 h3 img,
  .about_content_04 h3 img {
    width: 700px;
  }

}

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

  .page-about .article__breadcrumb {
    padding-top: 115px;
  }
  
  .about_content_01 h2 img {
    width: 585px;
  }
  .about_content_01-text img {
    width: 639px;
  }

  ul.how_to {
    z-index: 1;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4%;
  }
  ul.how_to li {
    display: flex;
    gap: 32px;
    flex-direction: column-reverse;
    flex-wrap: wrap;
    justify-content: flex-end;
    width: 70%;
    margin-top: 0;
  }
  ul.how_to li:nth-of-type(even) {
    flex-direction: column-reverse;
  }
  ul.how_to li:not(:first-child) {
    margin-top: 60px;
  }
  ul.how_to li > div {
    width: 100%;
  }

  .how_to_text img {
    max-width: inherit;
  }
  .how_to_img img {
    border-radius: 20px;
    border: 8px solid #000;
  }

  /* .about_content_02 h3,
  .about_content_03 h3,
  .about_content_04 h3 {
    margin-left: -40px;
  } */
  .about_content_02 h3 img,
  .about_content_03 h3 img,
  .about_content_04 h3 img {
    width: 600px;
  }
  
  .about_content_02 {
    position: relative;
    padding: 80px 0 100px;
  }
  /* .about_content_02:before {
    content: '';
    position: absolute;
    background: url(../img/about_content02_macho.png) center top / contain no-repeat;
    width: 288px;
    height: 294px;
    right: 30px;
    bottom: 100px;
  }
  .about_content_02 h3:before {
    display: none;
  } */
  .about_content_02 h3:before {
    width: 288px;
    height: 294px;
    right: -30px;
  }
  
  .about_content_03 {
    position: relative;
    padding: 80px 0 100px;
  }
  /* .about_content_03:before {
    content: '';
    position: absolute;
    background: url(../img/about_content03_macho.png) center top / contain no-repeat;
    width: 288px;
    height: 301px;
    right: 30px;
    bottom: 100px;
  }
  .about_content_03 h3:before {
    display: none;
  } */
  .about_content_03 h3:before {
    width: 288px;
    height: 301px;
    right: -30px;
  }
  
  .about_content_04 {
    position: relative;
    padding: 80px 0 100px;
  }
  /* .about_content_04:before {
    content: '';
    position: absolute;
    background: url(../img/about_content04_macho.png) center top / contain no-repeat;
    width: 318px;
    height: 312px;
    right: 30px;
    bottom: 100px;
  }
  .about_content_04 h3:before {
    display: none;
  } */
  .about_content_04 h3:before {
    width: 318px;
    height: 312px;
    right: -30px;
  }

  .about_content_05 {
    max-width: 800px;
  }

  .about_content_05 h3 img {
    width: 264px;
  }
  
  .screen_info-list {
    font-size: 21px;
  }
  .screen_info-list ul li span {
    font-size: 17px;
    width: 36px;
    height: 36px;
    padding: 6px 0;
  }
  
  .about_content_06 {
    padding: 100px 60px;
  }
  .about_content_06 .epilogue {
    max-width: 583px;
  }

}

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

  .page-about .article__breadcrumb {
    padding-top: 21vw;
  }
  
  .about_inner {
    padding: 0 6vw;
  }
  
  .about_content_01 {
    padding-bottom: 12vw;
  }
  .about_content_01 h2 {
    margin-top: 8vw;
  }
  .about_content_01 h2 img {
    width: 80vw;
  }
  .about_content_01-text {
    margin-top: 4vw;
  }
  .about_content_01-text img {
    width: 100%;
  }
  
  ul.how_to li {
    gap: 4vw;
    width: 100%;
    margin-top: 6vw;
  }
  ul.how_to li:not(:first-child) {
    margin-top: 6vw;
  }
  
  .how_to_text img {
    max-width: inherit;
  }
  .how_to_img img {
    border: 1vw solid #000;
    border-radius: 4vw;
  }
  
  .about_content_02 {
    padding: 12vw 0;
    background-size: 15%;
  }
  
  .about_content_02 h3 {
    margin-left: -4vw;
  }
  .about_content_02 h3 img {
    width: 100%;
  }
  .about_content_02 h3:before {
    width: 28.51vw;
    height: 57.81vw;
    right: -2vw;
    top: 2vw;
  }
  
  .about_content_03 {
    background: url(../img/bg_yellow.jpg) center top / 15% repeat;
    padding: 12vw 0;
  }
  
  .about_content_03 h3 {
    margin-left: -4vw;
  }
  .about_content_03 h3 img {
    width: 100%;
  }
  .about_content_03 h3:before {
    width: 28.51vw;
    height: 29.36vw;
    right: -2vw;
    top: 2vw;
  }
  
  .about_content_04 {
    background: url(../img/bg_orange.jpg) center top / 15% repeat;
    padding: 12vw 0;
  }
  
  .about_content_04 h3 {
    margin-left: -4vw;
  }
  .about_content_04 h3 img {
    width: 100%;
  }
  .about_content_04 h3:before {
    width: 30.46vw;
    height: 30.07vw;
    right: -2vw;
    top: 2vw;
  }
  
  .about_content_05 {
    padding: 12vw 6vw;
  }
  
  .about_content_05 h3 img {
    width: 43.22vw;
  }
  
  .screen_info {
    margin-top: 4vw;
  }
  .screen_info img {
    border-radius: 4vw;
    border: 1vw #000 solid;
  }
  
  .screen_info-list {
    margin-top: 4vw;
    font-size: 3.6vw;
  }
  .screen_info-list ul {
    gap: 2vw;
  }
  .screen_info-list ul li span {
    font-size: 2.6vw;
    border-radius: 4vw;
    border: 0.6vw solid #000;
    width: 5vw;
    height: 5vw;
    padding: 0.6vw 0;
    margin-right: 1.4vw;
  }
  
  .about_content_06 {
    padding: 12vw 6vw;
    background: url(../img/bg_epilogue_sp.jpg) center bottom / cover no-repeat;
  }
  .about_content_06 .epilogue {
    max-width: inherit;
  }

}


/*======================================================

    キャラクターページ

======================================================*/

.character_wrap {
  max-width: 1220px;
  width: 100%;
  padding: 0 60px;
  margin: 0 auto;
}

/*  H3  */
.character_h3 {
  text-align: center;
}
.character_h3 img {
  width: 777px;
}

.character_box {
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: space-between;
  margin-top: 40px;
}
.character_box:nth-of-type(even) {
  flex-direction: row-reverse;
}
.character_box > div {
  max-width: 530px;
  width: 100%;
}

/*  マッチョ画像  */
.character_img img {
  border: 10px solid #000;
  border-radius: 20px;
}

.character_info p {
  margin-top: 20px;
  line-height: 1.4;
}
.character_info p:last-of-type {
  color: #fff;
  background-color: #000;
  padding: 20px;
  border-radius: 10px;
}

/*  名前  */
.macho_red img {
  width: 205px;
}
.macho_blue img {
  width: 222px;
}
.macho_green img {
  width: 239px;
}
.macho_thunder img {
  width: 245px;
}
.macho_black img {
  width: 237px;
}
.macho_bomber img {
  width: 242px;
}
.macho_gold img {
  width: 278px;
}
.macho_rainbow img {
  width: 270px;
}

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

  .character_wrap {
    max-width: 1100px;
  }

  /*  H3  */
  .character_h3 img {
    width: 677px;
  }

}

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

  /*  H3  */
  .character_h3 img {
    width: 477px;
  }
  
  .character_wrap ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4%;
  }

  .character_box,
  .character_box:nth-of-type(even) {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 48%;
    justify-content: inherit;
  }
  .character_box > div {
    max-width: inherit;
    width: 100%;
  }

}

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

  .character_wrap {
    padding: 0 6vw;
  }
  

  /*  H3  */
  .character_h3 img {
    width: 78.12vw;
  }

  .character_box,
  .character_box:nth-of-type(even) {
    margin-top: 4vw;
    gap: 2vw;
  }
  
  /*  マッチョ画像  */
  .character_img img {
    border: 1vw solid #000;
    border-radius: 4vw;
  }
  
  .character_info p {
    margin-top: 2vw;
    line-height: 1.4;
  }
  .character_info p:last-of-type {
    color: #fff;
    background-color: #000;
    padding: 3vw;
    border-radius: 4vw;
  }
  
  /*  名前  */
  .macho_red img {
    width: 26.69vw;
  }
  .macho_blue img {
    width: 28.9vw;
  }
  .macho_green img {
    width: 31.11vw;
  }
  .macho_thunder img {
    width: 31.9vw;
  }
  .macho_black img {
    width: 30.85vw;
  }
  .macho_bomber img {
    width: 31.51vw;
  }
  .macho_gold img {
    width: 36.19vw;
  }
  .macho_rainbow img {
    width: 35.15vw;
  }

}


/*======================================================

    お問い合わせ

======================================================*/

.wpcf7-form {
  max-width: 905px;
  margin: 0 auto;
  background-color: #fff;
  padding: 40px;
  border: 10px solid #000;
  border-radius: 20px;
  margin-top: 40px;
}

.contact_table > div {
  display: flex;
}
.contact_table > div:not(:first-child) {
  margin-top: 20px;
}
.contact_table > div > p {
  padding: 10px 0 10px 8px;
  background-color: #000;
  color: #fff;
  border: 4px solid #000;
  border-radius: 50px 0 0 50px;
  width: 25%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 67px;
}
.contact_table > div > div {
  padding: 15px 20px;
  border: 4px solid #000;
  border-radius: 0 50px 50px 0;
  width: 75%;
}
.contact_table input,
.contact_table textarea {
  width: 100%;
  max-width: 555px;
}
.contact_table input {
  height: 39px;
}

/*  種別  */
.contact_menu input {
  width: auto;
}
.contact_menu .wpcf7-form-control {
  height: 39px;
  display: block;
}
.contact_menu label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.contact_menu .first {
  margin: 0;
}

/*  ボタン設定  */
.send_button {
  text-align: center;
}
.send_button input {
  font-family: "ruika", sans-serif;
  font-size: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 0.3s ease;
  width: 315px;
  height: 66px;
  background-image: url(../img/btn_orange.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 20px auto 0;
  cursor: pointer;
  border: none;
  background-color: inherit;
  color: #fff;
  padding-top: 5px;
}
.send_button:hover {
  opacity: 0.6;
}
.send_button p {
  position: relative;
  display: inline-block;
}
.send_button p::after {
  content: "";
  width: 21px;
  height: 24px;
  background-image: url(../img/icon_macho_white.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 45px;
  top: 50%;
  margin-top: -2px;
}
.send_button .wpcf7-spinner {
  display: none;
}



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

  .wpcf7-form {
    padding: 32px;
    border-radius: 20px;
  }

  .contact_table > div {
    flex-wrap: wrap;
  }
  .contact_table > div > p {
    width: 100%;
    border-radius: 32px 32px 0 0;
    min-height: inherit;
    padding: 14px 0;
  }
  .contact_table > div > div {
    width: 100%;
    border-radius: 0 0 32px 32px;
    min-height: inherit;
    text-align: center;
  }

  .contact_table input,
  .contact_table textarea {
    max-width: inherit;
  }

}

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

  .wpcf7-form {
    padding: 4vw;
    border: 1.3vw solid #000;
    border-radius: 4vw;
    margin-top: 4vw;
  }
  
  .contact_table > div:not(:first-child) {
    margin-top: 4vw;
  }
  .contact_table > div > p {
    border: 0.6vw solid #000;
    border-radius: 4vw 4vw 0 0;
    min-height: inherit;
    padding: 2vw 4vw;
  }
  .contact_table > div > div {
    border: 0.6vw solid #000;
    border-radius: 0 0 4vw 4vw;
    padding: 2vw 4vw;
  }
  .contact_table input {
    height: 5vw;
  }
  
  /*  種別  */
  .contact_menu .wpcf7-form-control {
    height: 100%;
  }
  .contact_menu label {
    gap: 1.5vw;
  }

  /*  お問い合わせ内容  */
  .contact_detail .contact_body {
    padding: 2.5vw 4vw;
  }
  
  /*  ボタン設定  */
  .send_button input {
    width: 56vw;
    height: 12vw;
    margin: 3vw auto 0;
    padding-top: 0.5vw;
    font-size: 4vw;
  }
  .send_button p::after {
    width: 4vw;
    height: 5vw;
    right: 8vw;
    margin-top: -1vw;
  }

}