@charset "UTF-8";
/* color */
/* commonスタイル */
html[lang=ja] {
  font-size: 62.5%;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

html,
body {
  -webkit-text-size-adjust: 100%;
}

.oswald {
  -webkit-text-size-adjust: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  font-style: normal;
  text-decoration: none;
}

.lexend {
  font-family: "Lexend", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

body {
  font-size: 1.4rem;
  margin: 0;
} /*font-size : 14px と同等*/
.wrap {
  overflow: hidden;
  position: relative;
  margin-top: -2rem;
}

a {
  text-decoration: none;
}

ul,
li {
  list-style: none;
}

ul {
  padding: 0;
}

img {
  width: 100%;
}

figure {
  margin: 0;
}

.pc {
  display: none;
}
@media screen and (min-width: 767px) {
  .pc {
    display: block;
  }
}

.sp {
  display: block;
}
@media screen and (min-width: 767px) {
  .sp {
    display: none;
  }
}

.contents {
  padding: 0 1.5rem;
}
@media screen and (min-width: 767px) {
  .contents {
    max-width: 1024px;
    margin: 0 auto;
  }
}

h2 {
  font-size: 2.1rem;
  font-weight: bold;
}
@media screen and (min-width: 767px) {
  h2 {
    font-size: 3rem;
  }
}

.red {
  color: #fe0000;
}

.title {
  position: relative;
  z-index: 40;
  display: flex;
  align-items: baseline;
}
.title span {
  display: block;
  color: #777;
  padding-left: 2rem;
}
.title .red_bar {
  width: 6rem;
  height: 2.5rem;
  background-color: #fe0000;
  padding-left: unset;
}
@media screen and (min-width: 435px) {
  .title .red_bar {
    width: 7rem;
    height: 3.5rem;
  }
}
@media screen and (min-width: 767px) {
  .title .red_bar {
    width: 13rem;
    height: 5rem;
  }
}
.title h2 {
  padding-left: 1rem;
  color: #fff;
  font-size: 3rem;
}
@media screen and (min-width: 435px) {
  .title h2 {
    font-size: 4rem;
  }
}
@media screen and (min-width: 767px) {
  .title h2 {
    padding-left: 2rem;
    font-size: 5rem;
  }
}

.bg5 {
  position: absolute;
  overflow: hidden;
  background-image: url("images/news_bg4_r_sp.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  height: 154rem;
  width: 100%;
  z-index: -1;
  top: 77.5vw;
}
@media screen and (min-width: 435px) {
  .bg5 {
    top: 50vw;
  }
}
@media screen and (min-width: 620px) {
  .bg5 {
    top: 45vw;
  }
}
@media screen and (min-width: 767px) {
  .bg5 {
    background-image: unset;
  }
}
@media screen and (min-width: 1000px) {
  .bg5 {
    z-index: 0;
    background-image: url("images/news_bg1_b_pc.png");
    top: min(35vw, 700px);
  }
}
@media screen and (min-width: 1280px) {
  .bg5 {
    top: min(25.5vw, 500px);
  }
}

.bg6 {
  position: absolute;
  overflow: hidden;
  background-image: url("images/news_bg5_b_sp.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  height: 154rem;
  width: 100%;
  z-index: -1;
  top: 3vw;
}
@media screen and (min-width: 435px) {
  .bg6 {
    z-index: 0;
    top: -5vw;
  }
}
@media screen and (min-width: 620px) {
  .bg6 {
    z-index: 0;
    top: 5vw;
  }
}
@media screen and (min-width: 767px) {
  .bg6 {
    top: min(25vw, 500rem);
  }
}
@media screen and (min-width: 1000px) {
  .bg6 {
    z-index: 10;
    background-image: url("images/news_bg2_b_pc.png");
    top: min(25vw, 500px);
  }
}
@media screen and (min-width: 1280px) {
  .bg6 {
    top: min(12.5vw, 250px);
  }
}

.bg7 {
  position: absolute;
  overflow: hidden;
  background-image: url("images/pro_bg6_r_sp.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  height: 180vw;
  width: 100%;
  z-index: 35;
  top: 60vw;
  right: 0;
}
@media screen and (min-width: 435px) {
  .bg7 {
    top: 35vw;
  }
}
@media screen and (min-width: 620px) {
  .bg7 {
    top: 25vw;
  }
}
@media screen and (min-width: 767px) {
  .bg7 {
    top: -30vw;
    left: 0;
  }
}
@media screen and (min-width: 1000px) {
  .bg7 {
    background-image: url("images/pro_bg1_b_pc.png");
    top: 57.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .bg7 {
    top: 52.5vw;
  }
}
@media screen and (min-width: 1640px) {
  .bg7 {
    top: 51vw;
  }
}

.bg8 {
  position: absolute;
  overflow: hidden;
  background-image: url("images/rec_bg7_b_sp.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  top: -75vw;
  width: 100%;
  z-index: -1;
  right: 0;
  height: 170vw;
}
@media screen and (min-width: 620px) {
  .bg8 {
    top: -70vw;
  }
}
@media screen and (min-width: 767px) {
  .bg8 {
    left: 0;
    top: min(50vw, 1000px);
  }
}
@media screen and (min-width: 1000px) {
  .bg8 {
    z-index: 35;
    height: 100vw;
    background-image: url("images/pro_bg2_r_pc.png");
    top: min(55vw, 1100px);
  }
}
@media screen and (min-width: 1000px) {
  .bg8 {
    top: 57.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .bg8 {
    top: 52.5vw;
  }
}
@media screen and (min-width: 1640px) {
  .bg8 {
    top: 50vw;
  }
}

.bg9 {
  position: absolute;
  overflow: hidden;
  background-image: url("images/end_bg8_b_sp.png");
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100%;
  height: 87rem;
  width: 100%;
  z-index: -1;
  top: 110vw;
}
@media screen and (min-width: 435px) {
  .bg9 {
    height: 100vw;
    top: 85vw;
  }
}
@media screen and (min-width: 620px) {
  .bg9 {
    top: 60vw;
  }
}
@media screen and (min-width: 767px) {
  .bg9 {
    z-index: 0;
    top: 40vw;
  }
}
@media screen and (min-width: 1000px) {
  .bg9 {
    height: 100%;
    background-image: url("images/rec_bg8_b_pc.png");
    z-index: 35;
    top: 20vw;
  }
}
@media screen and (min-width: 1280px) {
  .bg9 {
    top: 20vw;
  }
}
@media screen and (min-width: 1640px) {
  .bg9 {
    top: 25vw;
  }
}

/** header nav */
.none {
  display: none !important;
}

.header {
  position: relative;
  width: 100%;
}

/** ナビ　PC */
.header_page_pc {
  background-color: #d2d2d2;
  display: none;
}
@media screen and (min-width: 1000px) {
  .header_page_pc {
    display: flex;
  }
}
.header_page_pc a:hover {
  opacity: 70% !important;
}
.header_page_pc .logo2 {
  display: block;
  margin: 4.8rem 0 2rem 5.5rem;
}
@media screen and (min-width: 767px) {
  .header_page_pc .logo2 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2rem 0 2rem 2rem;
  }
}
@media screen and (min-width: 1110px) {
  .header_page_pc .logo2 {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 3.3rem 0 3.3rem 3.5rem;
  }
}
.header_page_pc .logo2:hover {
  opacity: 70% !important;
}
.header_page_pc .logo2 img {
  height: auto;
  width: 4rem;
  padding-bottom: 1.5rem;
}
@media screen and (min-width: 767px) {
  .header_page_pc .logo2 img {
    padding-bottom: unset;
    padding-right: 1rem;
    width: min(4rem, 10vw);
    min-width: 3rem;
  }
}
@media screen and (min-width: 1280px) {
  .header_page_pc .logo2 img {
    width: 4.3rem;
  }
}
.header_page_pc .logo2 img:nth-child(2) {
  height: 2rem;
  width: 24rem;
}
@media screen and (min-width: 767px) {
  .header_page_pc .logo2 img:nth-child(2) {
    height: auto;
    width: min(24rem, 16vw);
    min-width: 15rem;
  }
}
@media screen and (min-width: 1280px) {
  .header_page_pc .logo2 img:nth-child(2) {
    width: 24rem;
  }
}
.header_page_pc .nav {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.header_page_pc .nav a:hover {
  opacity: 70% !important;
}
.header_page_pc .nav_inner {
  display: flex;
  margin: 2rem 15rem 0 0;
}
@media screen and (min-width: 1110px) {
  .header_page_pc .nav_inner {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    margin: 3.3rem 21rem 0 0;
  }
}
.header_page_pc .nav_inner li {
  padding-right: 3rem;
}
@media screen and (min-width: 767px) {
  .header_page_pc .nav_inner li {
    padding-right: 3rem;
  }
}
@media screen and (min-width: 1110px) {
  .header_page_pc .nav_inner li {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    padding-right: 4rem;
  }
}
@media screen and (min-width: 767px) {
  .header_page_pc .nav_inner li:last-child {
    padding-right: 0rem;
  }
}
@media screen and (min-width: 1110px) {
  .header_page_pc .nav_inner li:last-child {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    padding-right: 1.5rem;
  }
}
.header_page_pc .nav_inner li a {
  font-size: 1.4rem;
  font-weight: bold;
}
.header_page_pc .nav_inner li a span {
  display: block;
  color: #000;
}
.header_page_pc .nav_inner li a span:nth-child(2) {
  color: #fe0000;
  font-weight: normal;
}
.header_page_pc .nav_inner li a .lab {
  color: #fff;
  background-color: #000;
  border: 1px solid #000;
  padding: 0.5rem 1rem;
  border-radius: 10px;
}
.header_page_pc .contact_nav {
  position: fixed;
  right: 0;
  top: 0;
  width: 150px;
  height: 62px;
  background-color: #000;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 32% 100%);
  z-index: 999999999;
}
@media screen and (min-width: 767px) {
  .header_page_pc .contact_nav {
    height: 8rem;
  }
}
@media screen and (min-width: 1110px) {
  .header_page_pc .contact_nav {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    width: 213px;
    height: 110px;
  }
}
.header_page_pc .contact_nav_wrap {
  padding: 1.5rem 0 0 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 767px) {
  .header_page_pc .contact_nav_wrap {
    padding: 2.5rem 0 0 3rem;
  }
}
.header_page_pc .contact_nav_wrap img {
  width: 2.5rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 1110px) {
  .header_page_pc .contact_nav_wrap img {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    width: 3rem;
  }
}
.header_page_pc .contact_nav_wrap .contact_nav_txt {
  color: #fff;
  display: none;
}
@media screen and (min-width: 767px) {
  .header_page_pc .contact_nav_wrap .contact_nav_txt {
    display: none;
  }
}
@media screen and (min-width: 1110px) {
  .header_page_pc .contact_nav_wrap .contact_nav_txt {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    display: block;
  }
}
.header_page_pc .contact_nav:after {
  background: #fe0000;
  border-radius: 50%;
  content: "";
  display: block;
  margin: auto;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  padding-top: 100%;
  height: 0;
  z-index: -1;
  transform: translateY(-50%) scale(0.1);
  transition: opacity 0.5s, transform 0s;
  transition-delay: 0s, 0.4s;
}
.header_page_pc .contact_nav:hover {
  color: #fff;
}
.header_page_pc .contact_nav:hover::after {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  transition-delay: 0s;
  transition: opacity 0.6s, transform 0.4s ease-in-out;
}
.header_page_pc .contact_nav:not(:hover)::after {
  opacity: 0;
  transform: translateY(-50%) scale(0.05);
  transition: opacity 0.6s, transform 0.4s ease-in-out;
}

/** ナビ　SP */
.header_page_sp {
  background-color: #d2d2d2;
}
.header_page_sp a:hover {
  opacity: 70% !important;
}
.header_page_sp .logo2 {
  display: flex;
  align-items: center;
  padding: 1rem 0 1rem 1rem;
}
@media screen and (min-width: 1000px) {
  .header_page_sp .logo2 {
    display: none;
  }
}
.header_page_sp .logo2 img {
  width: 2.6rem;
  padding-right: 1rem;
}
.header_page_sp .logo2 img:nth-child(2) {
  width: 14rem;
}
.header_page_sp .nav {
  position: fixed;
  width: 100%;
  z-index: 9999;
}
.header_page_sp .nav .nav_inner {
  background-color: #000;
  position: absolute;
  right: 0;
  left: 0;
  top: -4.8rem;
  width: 100%;
  margin: 0;
  padding: 1rem 0;
  display: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(100%);
  transition: ease 0.4s;
}
.header_page_sp .nav .nav_inner.active {
  display: block;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(0);
  transition: ease-in 1s;
}
.header_page_sp .nav .nav_inner li {
  border-bottom: 1px dashed #ddd;
  width: 80%;
  margin: 0 auto;
}
.header_page_sp .nav .nav_inner li a {
  color: #fff;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 1.8rem;
  margin: 1rem 0;
}
.header_page_sp .nav .nav_inner li:last-child {
  border-bottom: unset;
}
.header_page_sp .hamburger {
  position: fixed;
  right: 1rem;
  top: 1rem;
  width: 48px;
  background-color: transparent; /*buttonタグデフォルトスタイルを打ち消し*/
  border-color: transparent; /*buttonタグデフォルトスタイルを打ち消し*/
  z-index: 99999;
}
.header_page_sp .hamburger span {
  width: 100%;
  height: 2px;
  background-color: #000;
  position: relative;
  transition: ease 0.4s; /*ハンバーガーメニュークリック時の三本線の動きを遅延*/
  display: block;
}
.header_page_sp .hamburger span:nth-child(1) {
  top: 0;
}
.header_page_sp .hamburger span:nth-child(2) {
  margin: 7px 0px;
}
.header_page_sp .hamburger span:nth-child(3) {
  top: 0;
}
.header_page_sp .hamburger.active {
  top: 2rem;
}
.header_page_sp .hamburger.active span {
  background-color: #fff;
}
.header_page_sp .hamburger.active span:nth-child(1) {
  top: 5px;
  transform: rotate(45deg);
}
.header_page_sp .hamburger.active span:nth-child(2) {
  opacity: 0;
}
.header_page_sp .hamburger.active span:nth-child(3) {
  top: -13px;
  transform: rotate(-45deg);
}

.sub_header {
  position: relative;
  z-index: 5;
  width: 100%;
  height: 13rem;
  background-color: #2e2b2b;
  clip-path: polygon(0 0, 100% 0%, 100% 63%, 0% 100%);
}
@media screen and (min-width: 767px) {
  .sub_header {
    height: 30rem;
    clip-path: polygon(0 0, 100% 0%, 100% 63%, 0% 100%);
  }
}
.sub_header .title {
  padding: 3rem 0 7rem;
}
@media screen and (min-width: 767px) {
  .sub_header .title {
    padding: unset;
  }
}
.sub_header .title h2 {
  font-size: 3rem;
  margin: 0;
  line-height: 3rem;
  text-transform: uppercase;
}
@media screen and (min-width: 767px) {
  .sub_header .title h2 {
    font-size: 6rem;
    line-height: 6rem;
  }
}
.sub_header .title .red_bar {
  width: 3.2rem;
}
@media screen and (min-width: 767px) {
  .sub_header .title .red_bar {
    width: 13rem;
  }
}
.sub_header .title span {
  padding: 0 0.5rem 0 1.5rem;
}

/** footer */
.footer {
  position: relative;
  z-index: 50;
  width: 100%;
  background-color: #ccc;
  padding: 3rem 0 1rem;
}
@media screen and (min-width: 767px) {
  .footer {
    padding: 7.5rem 0 7rem;
  }
}
@media screen and (min-width: 1110px) {
  .footer {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    padding: 12.5rem 0 7rem;
  }
}
.footer a {
  color: #000;
}
.footer a:hover {
  opacity: 70%;
}
.footer_wrap {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 1110px) {
  .footer_wrap {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
  }
}
.footer .logo,
.footer .logo3 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 3rem;
}
@media screen and (min-width: 767px) {
  .footer .logo,
  .footer .logo3 {
    padding-bottom: unset;
  }
}
@media screen and (min-width: 1110px) {
  .footer .logo,
  .footer .logo3 {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
  }
}
.footer .logo img,
.footer .logo3 img {
  width: 3rem;
  padding-right: 1rem;
}
@media screen and (min-width: 767px) {
  .footer .logo img,
  .footer .logo3 img {
    width: 4.5rem;
    padding-right: 2rem;
  }
}
.footer .logo img:nth-child(2),
.footer .logo3 img:nth-child(2) {
  width: 20rem;
  height: 2rem;
}
@media screen and (min-width: 767px) {
  .footer .logo img:nth-child(2),
  .footer .logo3 img:nth-child(2) {
    width: 30rem;
    height: 2.5rem;
  }
}
.footer nav {
  width: 30rem;
  margin: 3rem auto 0;
  padding-left: 3.5rem;
}
@media screen and (min-width: 1000px) {
  .footer nav {
    width: 39rem;
    margin: 4rem auto 0;
  }
}
@media screen and (min-width: 1110px) {
  .footer nav {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    margin: unset;
    width: 100%;
    padding-left: unset;
    padding-top: 7rem;
    display: flex;
    justify-content: center;
  }
}
.footer nav .nav {
  padding-right: 0;
  margin: 0;
}
@media screen and (min-width: 1110px) {
  .footer nav .nav {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    display: flex;
    justify-content: center;
  }
}
.footer nav .nav li {
  padding-bottom: 1rem;
  font-size: 1.3rem;
}
@media screen and (min-width: 767px) {
  .footer nav .nav li {
    font-size: 1.4rem;
    padding-right: 7rem;
  }
}
.footer nav .nav li:nth-child(6) {
  padding-right: 0;
}
.footer nav .nav li a {
  display: flex;
  align-items: center;
}
.footer nav .nav li a span {
  font-size: 1.4rem;
  line-height: 3.6rem;
}
@media screen and (min-width: 767px) {
  .footer nav .nav li a span {
    font-size: 1.6rem;
    line-height: 4.4rem;
  }
}
.footer nav .nav li a span:nth-child(1) {
  margin: 0 0.5rem 0 0;
  font-size: 1.8rem;
  color: #777;
}
@media screen and (min-width: 767px) {
  .footer nav .nav li a span:nth-child(1) {
    color: #000;
  }
}
.footer .copy {
  font-size: 1.2rem;
  padding: 5rem 0;
  text-align: center;
  font-weight: normal;
}
@media screen and (min-width: 767px) {
  .footer .copy {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1110px) {
  .footer .copy {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    padding: 10rem 0 1rem;
  }
}

/**パンくず***/
.breadcrumb {
  display: none;
}
@media screen and (min-width: 767px) {
  .breadcrumb {
    color: #aaa;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 3rem 0 5rem 17rem;
    background-color: #2e2b2b;
  }
}
.breadcrumb a:hover {
  opacity: 0.7;
}
.breadcrumb_link {
  color: #aaa;
  display: flex;
  text-decoration: underline;
}
.breadcrumb span {
  display: block;
  padding-right: 1rem;
}

/**固定ページ共通**/
.pages {
  position: relative;
  z-index: 5;
  padding-bottom: 5rem;
}
@media screen and (min-width: 767px) {
  .pages {
    padding-bottom: 10rem;
  }
}
.pages article header h1 {
  display: none;
}
.pages article .entry-content {
  padding: 0 2rem;
}
@media screen and (min-width: 767px) {
  .pages article .entry-content {
    padding: unset;
    margin: 0 auto;
    width: 80%;
  }
}
@media screen and (min-width: 1110px) {
  .pages article .entry-content {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    width: 110rem;
  }
}
.pages article .entry-content h3 {
  margin: 0;
  line-height: 2.4rem;
  padding-top: 4rem;
  font-weight: bold;
}
@media screen and (min-width: 767px) {
  .pages article .entry-content h3 {
    font-size: 1.6rem;
    line-height: 3.2rem;
    padding-top: 4.5rem;
  }
}
.pages article .entry-content h3:first-child {
  padding-top: 4rem;
}
@media screen and (min-width: 767px) {
  .pages article .entry-content h3:first-child {
    padding-top: 2rem;
  }
}
.pages article .entry-content p {
  margin: 0;
  line-height: 2.4rem;
}
@media screen and (min-width: 767px) {
  .pages article .entry-content p {
    font-size: 1.6rem;
    line-height: 3.2rem;
  }
}
.pages article .entry-content p:first-child {
  padding-top: 3rem;
}
@media screen and (min-width: 767px) {
  .pages article .entry-content p:first-child {
    padding-top: 2rem;
  }
}
.pages article .entry-content p:last-child {
  padding-top: 3rem;
}
@media screen and (min-width: 767px) {
  .pages article .entry-content p:last-child {
    padding-top: 4rem;
    padding-bottom: 0;
  }
}
.pages article .entry-content p a {
  color: #000;
}
.pages article .entry-content ul,
.pages article .entry-content ol {
  padding: 0 0 0 2rem;
  margin: 0;
}
.pages article .entry-content ul li,
.pages article .entry-content ol li {
  line-height: 2.4rem;
}
@media screen and (min-width: 767px) {
  .pages article .entry-content ul li,
  .pages article .entry-content ol li {
    font-size: 1.6rem;
    line-height: 3.2rem;
  }
}
.pages article .entry-content ul li {
  list-style: disc;
}
.pages article .entry-content ul li ol li,
.pages article .entry-content ul li ul li {
  list-style: lower-latin;
}
.pages article .entry-content ul li ol li ol li,
.pages article .entry-content ul li ol li ul li,
.pages article .entry-content ul li ul li ol li,
.pages article .entry-content ul li ul li ul li {
  list-style: lower-roman;
}
.pages article .entry-content ol li {
  list-style: decimal;
}
.pages article .entry-content ol li ol li,
.pages article .entry-content ol li ul li {
  list-style: lower-latin;
}
.pages article .entry-content ol li ol li ol li,
.pages article .entry-content ol li ol li ul li,
.pages article .entry-content ol li ul li ol li,
.pages article .entry-content ol li ul li ul li {
  list-style: lower-roman;
}

.recruit_pages {
  position: relative;
  z-index: 5;
  padding-bottom: 5rem;
}
@media screen and (min-width: 767px) {
  .recruit_pages {
    padding-bottom: 10rem;
  }
}
.recruit_pages article {
  margin-top: -10rem;
}
@media screen and (min-width: 767px) {
  .recruit_pages article {
    margin-top: -24rem;
  }
}
.recruit_pages article header h1 {
  visibility: hidden;
}
.recruit_pages article .entry-content {
  padding: 0 1.5rem;
  margin: 0 auto;
}
@media screen and (min-width: 767px) {
  .recruit_pages article .entry-content {
    width: 80%;
    padding: 10rem 0;
  }
}
@media screen and (min-width: 1110px) {
  .recruit_pages article .entry-content {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    width: 110rem;
  }
}
@media screen and (min-width: 767px) {
  .recruit_pages article .entry-content .content-section:nth-child(even) {
    background-color: #f9f9f9;
  }
}
@media screen and (min-width: 767px) {
  .recruit_pages article .entry-content .recruit_link {
    padding-top: 10rem;
  }
}
.recruit_pages article .entry-content .recruit_link .btn_link {
  margin: 0 auto;
  position: relative;
  display: block;
  border: #fff 1px solid;
  background-color: #000;
  width: 21rem;
  height: 5rem;
  line-height: 5rem;
  color: white;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
@media screen and (min-width: 1110px) {
  .recruit_pages article .entry-content .recruit_link .btn_link {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    pointer-events: auto;
    cursor: pointer;
    text-align: center;
    font-size: 1.6rem;
    width: 27rem;
    height: 7rem;
    line-height: 7rem;
  }
}
.recruit_pages article .entry-content .recruit_link .btn_link:after {
  background: #fe0000;
  border-radius: 50%;
  content: "";
  display: block;
  margin: auto;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  width: 100%;
  padding-top: 100%;
  height: 0;
  z-index: -1;
  transform: translateY(-50%) scale(0.1);
  transition: opacity 0.5s, transform 0s;
  transition-delay: 0s, 0.4s;
}
.recruit_pages article .entry-content .recruit_link .btn_link:hover {
  color: #fff;
}
.recruit_pages article .entry-content .recruit_link .btn_link:hover::after {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  transition-delay: 0s;
  transition: opacity 0.6s, transform 0.4s ease-in-out;
}
.recruit_pages article .entry-content .recruit_link .btn_link:not(:hover)::after {
  opacity: 0;
  transform: translateY(-50%) scale(0.05);
  transition: opacity 0.6s, transform 0.4s ease-in-out;
}
.recruit_pages article .entry-content .recruit_link .ya {
  position: absolute;
  top: 1.9rem;
  right: 0.9rem;
  font-size: 1.5rem;
}
@media screen and (min-width: 1110px) {
  .recruit_pages article .entry-content .recruit_link .ya {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    top: unset;
    right: 2rem;
  }
}
.recruit_pages article h2 {
  font-size: 1.8rem;
  line-height: 5rem;
  text-align: center;
  color: #fff;
  height: 5rem;
  background-color: #000;
  padding: 0;
}
@media screen and (min-width: 767px) {
  .recruit_pages article h2 {
    font-size: 2.4rem;
    line-height: 7rem;
    height: 7rem;
    margin: 0 0 5rem 0;
  }
}
.recruit_pages article p,
.recruit_pages article li {
  line-height: 2.4rem;
  margin: unset;
}
@media screen and (min-width: 767px) {
  .recruit_pages article p,
  .recruit_pages article li {
    font-size: 1.6rem;
    line-height: 3.2rem;
  }
}
.recruit_pages article p {
  padding-bottom: 3rem;
}
.recruit_pages article p:last-child {
  padding-bottom: 0;
}
.recruit_pages article .wp-block-table {
  padding: 0 3rem 3rem 0;
}
@media screen and (min-width: 767px) {
  .recruit_pages article .wp-block-table {
    padding: 0 7rem 5rem 0;
  }
}
.recruit_pages article .wp-block-table table tr th {
  border-top: unset;
  border-left: unset;
  border-right: unset;
  border-bottom: 1px solid #eeeeee;
  padding: 1rem 1.5rem;
  display: block;
}
@media screen and (min-width: 767px) {
  .recruit_pages article .wp-block-table table tr th {
    display: table-cell;
    padding: 1rem 0;
    font-size: 1.6rem;
    line-height: 3.2rem;
  }
}
.recruit_pages article .wp-block-table table tr td {
  border-top: none;
  border-right: none;
  border-left: none;
  border-bottom: 1px solid #eeeeee;
  line-height: 2.4rem;
  padding: 1rem 1.5rem;
  display: block;
}
@media screen and (min-width: 767px) {
  .recruit_pages article .wp-block-table table tr td {
    display: table-cell;
    padding: 1rem 0;
    font-size: 1.6rem;
    line-height: 3.2rem;
  }
}
@media screen and (min-width: 767px) {
  .recruit_pages article .wp-block-table table tr td:first-child {
    width: 30%;
  }
}
.recruit_pages article .wp-block-table table tr:last-child th,
.recruit_pages article .wp-block-table table tr:last-child td {
  border-bottom: none;
}
.recruit_pages article ol {
  counter-reset: my-counter;
  list-style: none;
  padding-bottom: 2rem;
}
@media screen and (min-width: 767px) {
  .recruit_pages article ol {
    padding-bottom: 3rem;
  }
}
.recruit_pages article ol li {
  margin-bottom: 1rem;
  padding-left: 3rem;
  position: relative;
  line-height: 2.6rem;
}
.recruit_pages article ol li ol {
  margin-top: 1rem;
}
.recruit_pages article ol li ol li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  border: #ff0000 1px solid;
  background-color: #fff;
  color: #ff0000;
  display: block;
  float: left;
  line-height: 2.2rem;
  margin-left: -3rem;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
}
.recruit_pages article ol li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #ff0000;
  color: #fff;
  display: block;
  float: left;
  line-height: 2.2rem;
  margin-left: -3rem;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
}
.recruit_pages article ul {
  padding-bottom: 2rem;
}
@media screen and (min-width: 767px) {
  .recruit_pages article ul {
    padding-bottom: 3rem;
  }
}
.recruit_pages article ul li {
  margin-bottom: 1rem;
  padding-left: 2rem;
  position: relative;
  line-height: 2.6rem;
}
.recruit_pages article ul li ul {
  margin-top: 1rem;
}
.recruit_pages article ul li ul li:before {
  content: "";
  position: absolute;
  left: 6px;
  top: 11px;
  width: 4px;
  height: 4px;
  border: 2px solid #ff0000;
  border-radius: 50%;
  background-color: white;
}
.recruit_pages article ul li:before {
  content: "";
  position: absolute;
  left: 6px;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #ff0000;
}
.recruit_pages article dl {
  border-top: 1px #999 solid;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding-bottom: 3rem;
}
@media screen and (min-width: 767px) {
  .recruit_pages article dl {
    padding-bottom: 5rem;
  }
}
.recruit_pages article dl dt {
  border-bottom: 1px #999 solid;
  width: 30%;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: bold;
  color: #ff0000;
  padding: 1.5rem 0;
}
.recruit_pages article dl dd {
  border-bottom: 1px #999 solid;
  width: 70%;
  margin-left: 0;
  padding: 1.5rem 0;
  line-height: 2.6rem;
}

/* フェードイン(初期値) */
.js_fadeLeft_bg3 {
  opacity: 0; /* 最初は非表示 */
  transform: translateX(-8rem); /* Leftからに５0pxの位置から */
  transition: opacity 0.2s, transform 0.2s; /* 透過率と縦方向の移動を0.２秒 */
}

/* フェードイン(スクロールした後) */
.js_fadeLeft_bg3.inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateX(0); /* 30px上に移動する */
}

.js_fadeLeft_bg4 {
  opacity: 0; /* 最初は非表示 */
  transform: translateX(-8rem); /* Leftからに５0pxの位置から */
  transition: opacity 0.2s, transform 0.2s; /* 透過率と縦方向の移動を0.２秒 */
}

/* フェードイン(スクロールした後) */
.js_fadeLeft_bg4.inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateX(0); /* 30px上に移動する */
  transition-delay: 0.2s; /* フェード開始を0.5秒遅らせる */
}

.js_fadeLeft_mvimg {
  opacity: 0; /* 最初は非表示 */
  transform: translateX(-8rem); /* Leftからに５0pxの位置から */
  transition: opacity 0.2s, transform 0.2s; /* 透過率と縦方向の移動を0.２秒 */
}

/* フェードイン(スクロールした後) */
.js_fadeLeft_mvimg.inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateX(0); /* 30px上に移動する */
  transition-delay: 0.4s; /* フェード開始を0.5秒遅らせる */
}

.js_fadeLeft_contact {
  opacity: 0; /* 最初は非表示 */
  transform: translateX(-8rem); /* Leftからに５0pxの位置から */
  transition: opacity 0.2s, transform 0.2s; /* 透過率と縦方向の移動を0.２秒 */
}

/* フェードイン(スクロールした後) */
.js_fadeLeft_contact.inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateX(0); /* 30px上に移動する */
  transition-delay: 0.6s; /* フェード開始を0.5秒遅らせる */
}

.js_fadeLeft_txt {
  opacity: 0; /* 最初は非表示 */
  transform: translateX(-8rem); /* Leftからに５0pxの位置から */
  transition: opacity 0.2s, transform 0.2s; /* 透過率と縦方向の移動を0.２秒 */
}

/* フェードイン(スクロールした後) */
.js_fadeLeft_txt.inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateX(0); /* 30px上に移動する */
}

.js_fadeLeft_line {
  opacity: 0; /* 最初は非表示 */
  transform: translateX(-8rem); /* Leftからに５0pxの位置から */
  transition: opacity 0.2s, transform 0.2s; /* 透過率と縦方向の移動を0.２秒 */
}

/* フェードイン(スクロールした後) */
.js_fadeLeft_line.inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateX(0); /* 30px上に移動する */
}

.js_fadeLeft_delay4 {
  opacity: 0; /* 最初は非表示 */
  transform: translateX(-8rem); /* Leftからに５0pxの位置から */
  transition: opacity 0.2s, transform 0.2s; /* 透過率と縦方向の移動を0.２秒 */
}

/* フェードイン(スクロールした後) */
.js_fadeLeft_delay4.inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateX(0); /* 30px上に移動する */
  transition-delay: 0.4s; /* フェード開始を0.5秒遅らせる */
}

.js_fadeLeft_delay8 {
  opacity: 0; /* 最初は非表示 */
  transform: translateX(-8rem); /* Leftからに５0pxの位置から */
  transition: opacity 0.2s, transform 0.2s; /* 透過率と縦方向の移動を0.２秒 */
}

/* フェードイン(スクロールした後) */
.js_fadeLeft_delay8.inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateX(0); /* 30px上に移動する */
  transition-delay: 0.8s; /* フェード開始を0.5秒遅らせる */
}

.js_fadeLeft_delay_recruit {
  opacity: 0; /* 最初は非表示 */
  transform: translateX(-8rem); /* Leftからに５0pxの位置から */
  transition: opacity 0.2s, transform 0.2s; /* 透過率と縦方向の移動を0.２秒 */
}

/* フェードイン(スクロールした後) */
.js_fadeLeft_delay_recruit.inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateX(0); /* 30px上に移動する */
  transition-delay: 1.8s; /* フェード開始を0.5秒遅らせる */
}

/* contact */
.contact {
  position: relative;
  z-index: 30;
  padding: 0 2rem;
}
@media screen and (min-width: 767px) {
  .contact {
    width: 100%;
  }
}
.contact a {
  color: #000;
}
.contact a:hover {
  opacity: 70%;
}
.contact_innar {
  margin-top: 1rem;
}
@media screen and (min-width: 767px) {
  .contact_innar {
    width: 75%;
    margin: 0 auto 3rem;
    margin-top: 6rem;
  }
}
.contact_innar:first-child {
  margin-top: -3rem;
}
@media screen and (min-width: 767px) {
  .contact_innar:first-child {
    margin-top: -8.5rem;
  }
}
.contact_innar h2 {
  margin: 0;
  background-color: #000;
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  line-height: 5rem;
}
@media screen and (min-width: 767px) {
  .contact_innar h2 {
    font-size: 2.4rem;
    line-height: 7rem;
  }
}
.contact_tel {
  margin: 2.5rem auto 3rem;
}
@media screen and (min-width: 767px) {
  .contact_tel {
    margin: 7rem auto;
  }
}
.contact_tel li {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: flex-start;
  width: 23rem;
  margin: 0 auto;
}
@media screen and (min-width: 767px) {
  .contact_tel li {
    align-items: center;
    width: 100%;
    flex-direction: row;
  }
}
.contact_tel li:last-child {
  width: 31rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li:last-child {
    width: 64rem;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons:last-child {
    width: 20rem;
  }
}
.contact_tel li .icons a {
  display: flex;
  align-items: self-end;
  font-size: 3.4rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons a {
    padding-right: 4rem;
    font-size: 5rem;
  }
}
.contact_tel li .icons a figure {
  width: 13%;
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons a figure {
    width: unset;
  }
}
.contact_tel li .icons a figure img {
  width: 2.3rem;
  height: 3rem;
  padding: 0.5rem 1rem 0 0;
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons a figure img {
    width: 3rem;
    height: 4rem;
    padding: 1rem 1rem 0 0;
  }
}
.contact_tel li .icons a .oswald {
  font-weight: bold;
  line-height: 3.4rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons a .oswald {
    line-height: 5rem;
  }
}
.contact_tel li .icons .icons_wrap {
  display: flex;
  align-items: center;
  padding-top: 1rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons .icons_wrap {
    padding-top: unset;
  }
}
.contact_tel li .icons .icons_wrap a {
  font-size: 2.2rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons .icons_wrap a {
    font-size: 3rem;
  }
}
.contact_tel li .icons .icons_wrap figure {
  width: 1.8rem;
  padding: 5px 1.5rem 0 0;
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons .icons_wrap figure {
    width: unset;
    padding: unset;
  }
}
.contact_tel li .icons .icons_wrap figure img {
  width: 1.8rem;
  height: 1.8rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons .icons_wrap figure img {
    width: 2.2rem;
    height: 2.2rem;
    padding: 0.5rem 1.5rem 0 0;
  }
}
.contact_tel li .icons .icons_wrap span,
.contact_tel li .icons .icons_wrap .oswald {
  text-decoration: none;
  font-weight: normal;
  font-size: 2.2rem;
  line-height: 5rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li .icons .icons_wrap span,
  .contact_tel li .icons .icons_wrap .oswald {
    font-size: 3rem;
    line-height: 3rem;
  }
}
.contact_tel li .contact_time {
  margin: 0;
}
@media screen and (min-width: 767px) {
  .contact_tel li .contact_time {
    margin: 5rem 0 0 0;
    display: flex;
    align-items: center;
  }
}
.contact_tel li .contact_time span {
  vertical-align: middle;
  padding-right: 1.5rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li .contact_time span {
    padding-right: unset;
    font-size: 1.6rem;
  }
}
.contact_tel li .contact_time span:last-child {
  padding-left: 6rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li .contact_time span:last-child {
    padding-left: unset;
  }
}
.contact_tel li .contact_time .oswald {
  font-size: 3.4rem;
  line-height: 5rem;
}
@media screen and (min-width: 767px) {
  .contact_tel li .contact_time .oswald {
    margin: 0 1rem 0 2rem;
    font-size: 5rem;
  }
}
@media screen and (min-width: 767px) {
  .contact form {
    width: 75%;
    margin: 0 auto 3rem;
  }
}
.contact_list {
  margin: 3rem auto;
  width: 100%;
}
@media screen and (min-width: 767px) {
  .contact_list {
    width: 70%;
    margin: 7rem auto 8rem;
  }
}
@media screen and (min-width: 767px) {
  .contact_list li {
    display: flex;
    align-items: center;
    margin: 0 0 3rem 0;
  }
}
.contact_list .chk_privacy span,
.contact_list .chk_type span {
  border: unset !important;
}
.contact_list .chk_privacy span input,
.contact_list .chk_type span input {
  width: unset;
  margin: 0 2rem 0 0;
}
.contact_list .chk_privacy span:first-child,
.contact_list .chk_type span:first-child {
  margin-bottom: 1rem;
}
@media screen and (min-width: 767px) {
  .contact_list .chk_privacy span:first-child,
  .contact_list .chk_type span:first-child {
    margin-bottom: unset;
  }
}
.contact .material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
.contact .Form-Item-control {
  width: 100%;
}
.contact .Form,
.contact form {
  margin: 3rem auto 5rem;
  width: 100%;
}
@media screen and (min-width: 767px) {
  .contact .Form,
  .contact form {
    width: 70%;
    margin: 7rem auto 8rem;
  }
}
@media screen and (min-width: 767px) {
  .contact .Form-Item,
  .contact form-Item {
    width: 70%;
    display: flex;
    align-items: center;
    margin: 0;
  }
}
.contact .Form-Item-Label,
.contact form-Item-Label {
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 767px) {
  .contact .Form-Item-Label,
  .contact form-Item-Label {
    margin: unset;
    width: 30%;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 1110px) {
  .contact .Form-Item-Label,
  .contact form-Item-Label {
    /* PC1,023px以上の範囲に収めるデザインはこの中に記述 */
    padding-right: unset;
    margin: unset;
    width: 30%;
    font-size: 1.6rem;
  }
}
.contact .Form-Item .wpcf7-form-control-wrap,
.contact form-Item .wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 767px) {
  .contact .Form-Item .wpcf7-form-control-wrap,
  .contact form-Item .wpcf7-form-control-wrap {
    margin-bottom: unset;
  }
}
.contact .Form-Item .wpcf7-form-control-wrap input,
.contact form-Item .wpcf7-form-control-wrap input {
  width: 93%;
  border: none;
  line-height: 4.4rem;
  display: block;
}
@media screen and (min-width: 767px) {
  .contact .Form-Item .wpcf7-form-control-wrap input,
  .contact form-Item .wpcf7-form-control-wrap input {
    width: 100%;
  }
}
.contact .Form-Item .wpcf7-form-control-wrap:last-child input,
.contact .Form-Item .wpcf7-form-control-wrap:last-child textarea,
.contact form-Item .wpcf7-form-control-wrap:last-child input,
.contact form-Item .wpcf7-form-control-wrap:last-child textarea {
  width: 93%;
  padding: 0 1rem;
  border-radius: 5px;
  border: 1px solid #aaa;
}
@media screen and (min-width: 767px) {
  .contact .Form-Item .wpcf7-form-control-wrap:last-child input,
  .contact .Form-Item .wpcf7-form-control-wrap:last-child textarea,
  .contact form-Item .wpcf7-form-control-wrap:last-child input,
  .contact form-Item .wpcf7-form-control-wrap:last-child textarea {
    width: 100%;
    padding: 0 1rem;
  }
}
.contact .Form-Item .wpcf7-form-control-wrap:last-child textarea,
.contact form-Item .wpcf7-form-control-wrap:last-child textarea {
  padding: 1rem;
}
.contact .Form .chk_type .wpcf7-form-control-wrap,
.contact form .chk_type .wpcf7-form-control-wrap {
  border: unset !important;
  margin-bottom: 1rem;
}
.contact .Form .chk_type .wpcf7-form-control-wrap input,
.contact form .chk_type .wpcf7-form-control-wrap input {
  width: unset;
  margin: 0 2rem 0 0;
}
.contact .Form .chk_type .wpcf7-form-control-wrap:first-child,
.contact form .chk_type .wpcf7-form-control-wrap:first-child {
  margin-bottom: 1rem;
}
@media screen and (min-width: 767px) {
  .contact .Form .chk_type .wpcf7-form-control-wrap:first-child,
  .contact form .chk_type .wpcf7-form-control-wrap:first-child {
    margin-bottom: unset;
  }
}
.contact .Form .chk_type .wpcf7-form-control-wrap:last-child,
.contact form .chk_type .wpcf7-form-control-wrap:last-child {
  padding: unset;
  flex-direction: column;
}
@media screen and (min-width: 767px) {
  .contact .Form .chk_type .wpcf7-form-control-wrap .wpcf7-radio,
  .contact form .chk_type .wpcf7-form-control-wrap .wpcf7-radio {
    display: flex;
    flex-direction: column;
  }
}
.contact .Form .chk_type .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item,
.contact form .chk_type .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item {
  margin: 0;
  width: 100%;
}
.contact .Form .chk_type .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label,
.contact form .chk_type .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label {
  padding-bottom: 1.5rem;
  display: flex;
  line-height: 2.4rem;
  align-items: center;
  justify-content: flex-start;
}
.contact .Form .chk_type .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label input,
.contact form .chk_type .wpcf7-form-control-wrap .wpcf7-radio .wpcf7-list-item label input {
  width: unset;
  margin: 0 1rem 0 0;
}
.contact .Form .chk_privacy .Form-Item-Label:last-child,
.contact form .chk_privacy .Form-Item-Label:last-child {
  width: 100%;
}
.contact .Form .chk_privacy .wpcf7-form-control,
.contact form .chk_privacy .wpcf7-form-control {
  width: 100%;
  display: flex;
}
.contact .Form .button-wrap,
.contact form .button-wrap {
  position: relative;
  background-color: #fe0000;
  width: 18rem;
  height: 5rem;
  line-height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto 8rem;
}
@media screen and (min-width: 767px) {
  .contact .Form .button-wrap,
  .contact form .button-wrap {
    font-size: 1.6rem;
    width: 24rem;
    height: 7rem;
    line-height: 7rem;
  }
}
.contact .Form .button-wrap:after,
.contact form .button-wrap:after {
  position: absolute;
  font-family: "Material Icons";
  content: "\ea50";
  font-weight: 900;
  color: #fff;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}
.contact .Form .button-wrap input,
.contact form .button-wrap input {
  color: #fff;
  background-color: transparent;
  border: none;
}
.contact .btn {
  text-align: center;
}
.contact .btn input {
  cursor: pointer;
  background-color: #000;
  width: 24rem;
  height: 5rem;
  line-height: 5rem;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto 8rem;
  border: unset;
  position: relative;
  overflow: hidden;
  transition: background-color 0.6s ease;
}
@media screen and (min-width: 767px) {
  .contact .btn input {
    font-size: 1.6rem;
    width: 24rem;
    height: 7rem;
    line-height: 7rem;
  }
}
.contact .btn input:hover {
  background: #fe0000;
  color: #fff;
}
.contact .btn input:hover::after {
  transform: translateY(-50%) scale(1.1);
  transition-delay: 0s;
  transition: opacity 0.6s, transform 0.4s ease-in-out;
  opacity: 1;
}
.contact .btn input:not(:hover)::after {
  transform: translateY(-50%) scale(0.05);
  transition: opacity 0.6s, transform 0.4s ease-in-out;
  opacity: 0;
}
.contact .btn-hover-animation {
  background: #fe0000;
}
.contact .btn-hover-animation:after {
  opacity: 1 !important;
  transform: translateY(-50%) scale(1.1) !important;
  transition-delay: 0s !important;
  transition: opacity 0.6s, transform 0.4s ease-in-out !important;
}
.contact .ya {
  color: #fff;
  position: absolute;
  top: -1.2rem;
  right: -2rem;
}
@media screen and (min-width: 767px) {
  .contact .ya {
    top: 0;
    right: 38rem;
  }
}
.contact .submit p {
  position: relative;
  width: 24rem;
  margin: 0 auto;
}
.contact .submit p .btn input {
  margin: 0 auto;
}
@media screen and (min-width: 767px) {
  .contact .submit p .btn input {
    margin: 0 auto 8rem;
  }
}
.contact .submit p .ya {
  top: -11px;
  right: 1rem;
}
@media screen and (min-width: 767px) {
  .contact .submit p .ya {
    top: 0;
  }
}
.contact .step2 li p {
  position: relative;
}
.contact .step2 li p:last-child span {
  width: 96%;
  height: 4.4rem;
  display: block;
  padding-left: 1rem;
  border: 1px solid #aaa;
  border-radius: 5px;
  line-height: 4.4rem;
}
@media screen and (min-width: 767px) {
  .contact .step2 li p:last-child span {
    width: 100%;
  }
}
.contact .step2 li p.Form-item {
  padding-left: 1.5rem;
}
@media screen and (min-width: 767px) {
  .contact .step2 li p.Form-item {
    padding-left: unset;
  }
}
.contact .step2 li:last-child {
  display: block;
}
.contact .step2 li:last-child .comfirm {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 767px) {
  .contact .step2 li:last-child .comfirm {
    padding-top: 5rem;
    flex-direction: row;
    justify-content: space-between;
  }
}
.contact .step2 li:last-child .comfirm p .ya {
  color: #fff;
  position: absolute;
  top: -1.2rem;
  right: -2rem;
}
@media screen and (min-width: 767px) {
  .contact .step2 li:last-child .comfirm p .ya {
    top: 2.3rem;
    right: 2rem;
  }
}
.contact .step2 li:last-child .comfirm p span {
  border: unset;
}
.contact .step2 li:last-child .comfirm p .bk input {
  background-color: #aaa;
  margin: 0 auto;
}
@media screen and (min-width: 767px) {
  .contact .step2 li:last-child .comfirm p .bk input {
    margin: 0 auto 8rem;
  }
}
.contact .step2 li:last-child .comfirm p .btn {
  border: unset;
}
@media screen and (min-width: 767px) {
  .contact .step2 li:last-child .comfirm p:last-child .ya {
    top: 1.5rem;
    right: -22rem;
  }
}
.contact .step2 li:nth-child(8) p .Form-Item-control {
  height: 10rem;
}
.contact .step2 .chk_type .Form-Item {
  display: flex;
  align-items: center;
  padding-left: 1rem;
  line-height: 4.4rem;
}
@media screen and (min-width: 767px) {
  .contact .step2 .chk_type .Form-Item {
    padding-left: unset;
  }
}
.contact .step2 .chk_type .Form-Item span {
  margin: 0;
  width: 4rem;
}
.contact .thanks {
  text-align: center;
}
.contact .thanks p {
  font-size: 1.6rem;
  padding-bottom: 3rem;
}
@media screen and (min-width: 767px) {
  .contact .thanks p {
    font-size: 2rem;
    padding-bottom: 7rem;
  }
}
.contact .thanks .btn {
  position: relative;
}
.contact .thanks .btn a {
  background-color: #000;
  width: 24rem;
  height: 5rem;
  line-height: 5rem;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto 8rem;
  border: unset;
}
@media screen and (min-width: 767px) {
  .contact .thanks .btn a {
    font-size: 1.6rem;
    width: 24rem;
    height: 7rem;
    line-height: 7rem;
  }
}
.contact .thanks .btn .ya {
  color: #fff;
  position: absolute;
  top: -1.2rem;
  right: -2rem;
}
@media screen and (min-width: 767px) {
  .contact .thanks .btn .ya {
    top: 2.3rem;
    right: 20rem;
  }
}/*# sourceMappingURL=contact.css.map */