@charset "UTF-8";
/*--------------------------------------------------------------
Foundation
--------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, i, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption,
button, input, textarea, select, i {
  border: 0;
  font-style: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  letter-spacing: .12em;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 10px;
}

@media screen and (min-width: 768px) and (max-width: 1300px) {
  html {
    font-size: calc(100vw * 10 / 1300);
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: calc(100vw * 10 / 750);
  }
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-size: 1.6rem;
  line-height: 1.5;
  background: #f5f5f5;
  color: #222634;
  overflow-x: hidden;
  overflow-y: scroll;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 2.2rem;
  }
}

ul, li {
  list-style: none;
}

table {
  border-collapse: collapse;
  width: 100%;
}

a:hover,
a:active,
a:focus {
  outline: 0;
}

a {
  backface-visibility: hidden;
  transition: .2s ease-in;
  transition-property: opacity, color, border, background, transform, box-shadow;
  opacity: 1;
  line-height: inherit;
}

img {
  vertical-align: middle;
}

img,
input[type="image"] {
  border: 0;
  height: auto;
  max-width: 100%;
}

input[type="submit"], input[type="button"], button {
  cursor: pointer;
  -webkit-appearance: none;
  border-radius: 0;
  font-size: inherit;
  letter-spacing: inherit;
  background: none;
}

strong {
  font-weight: bold;
}

a {
  text-decoration: none;
}

a:hover,
input[type="image"]:hover {
  opacity: 0.7;
}

main {
  overflow: hidden;
}

.m_ft {
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.ft_e {
  font-family: "Roboto", sans-serif;
}

/*--------------------------------------------------------------
Component
--------------------------------------------------------------*/
.evt {
  visibility: hidden;
}

.evt.done {
  visibility: visible;
}

.c_anchor {
  position: absolute;
  width: 100%;
  left: 0;
  margin-top: -12rem;
}

@media screen and (max-width: 767px) {
  .c_anchor {
    margin-top: -8rem;
  }
}

.c_ttl {
  text-align: center;
  font-weight: bold;
  font-size: 3.6rem;
  line-height: 1.66;
  margin-bottom: 11rem;
}

@media screen and (max-width: 767px) {
  .c_ttl {
    font-size: 4rem;
    margin-bottom: 7.5rem;
  }
}

.c_ttl i {
  display: block;
  color: #787878;
  font-size: 1.8rem;
  margin-bottom: .5em;
}

/*--------------------------------------------------------------
Utility
--------------------------------------------------------------*/
.u_wrap {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .u_inner {
    width: 120rem;
    max-width: calc(100% - 4rem);
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .u_inner {
    margin: 0 4rem;
  }
}

.u_switch_img {
  opacity: 1;
}

.u_relative {
  position: relative;
}

@media screen and (min-width: 768px) {
  .is_sp {
    display: none;
  }
  .is_tel {
    pointer-events: none;
    cursor: default;
  }
  .is_tel:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .is_pc {
    display: none;
  }
}

/*--------------------------------------------------------------
Layout/PageBase
--------------------------------------------------------------*/
#header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 60;
  height: 12rem;
}

@media screen and (max-width: 767px) {
  #header {
    height: 8rem;
  }
}

.h_logo {
  position: absolute;
  left: 3.2rem;
  top: 3rem;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .h_logo {
    left: 3rem;
    top: 2rem;
  }
}

.h_logo img {
  width: 27.1rem;
}

@media screen and (max-width: 767px) {
  .h_logo img {
    width: 29.8rem;
  }
}

.h_txt {
  position: absolute;
  font-size: 1.2rem;
  letter-spacing: .12em;
  top: 4rem;
  left: 34rem;
  line-height: 1.66;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .h_txt {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .h_contact {
    position: absolute;
    right: 4rem;
    top: 3rem;
    width: 43rem;
  }
  .h_contact dt {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .h_contact {
    position: fixed;
    width: 100%;
    bottom: 0;
    z-index: 65;
    height: 16rem;
    background: #222634;
    padding: 1.5rem 4rem 0;
  }
  .h_contact dt {
    color: #fff;
    text-align: center;
    font-size: 1.8rem;
    letter-spacing: .08em;
    font-weight: bold;
    margin-bottom: 1.5rem;
  }
}

.h_contact dd {
  display: flex;
  gap: 1.4rem;
}

.h_contact a {
  width: 50%;
  border-radius: 3em;
  border: solid 0.2rem #222634;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: .06em;
  height: 6rem;
}

@media screen and (min-width: 768px) {
  .h_contact a:hover {
    opacity: 1;
    background: #222634;
    color: #fff;
  }
}

@media screen and (max-width: 767px) {
  .h_contact a {
    background: #222634;
    color: #fff;
    border-color: #fff;
    height: 8.4rem;
  }
}

.h_contact .mail {
  background: #222634;
  color: #fff;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .h_contact .mail:hover {
    background: #fff;
    color: #222634;
  }
}

@media screen and (max-width: 767px) {
  .h_contact .mail {
    background: #fff;
    color: #222634;
  }
}

.h_contact .tel {
  font-weight: bold;
  line-height: 1.2;
}

.h_contact .tel span {
  font-size: 2rem;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .h_contact .tel span {
    font-size: 2.6rem;
  }
}

.h_contact .tel i {
  font-size: 1.2rem;
  letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
  .h_contact .tel i {
    font-size: 1.8rem;
  }
}

.h_contact .tel small {
  display: block;
  font-size: 1rem;
  font-weight: 500;
  text-align: right;
  letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
  .h_contact .tel small {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  .h_nav {
    text-align: center;
    font-weight: bold;
    font-size: 2.4rem;
  }
  .h_nav a {
    padding: 1em 0;
    display: block;
  }
  .h_nav li {
    margin-top: 1em;
  }
  .h_menu {
    position: absolute;
    right: 3rem;
    top: 4rem;
    cursor: pointer;
  }
  .h_menu img {
    width: 5rem;
    display: block;
  }
  .h_close img {
    width: 4.5rem;
  }
  #toggle_menu {
    display: none;
    position: fixed;
    overflow-y: auto;
    height: 100%;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    padding-top: 22rem;
  }
  body.open {
    overflow-y: hidden;
  }
  body.open #toggle_menu {
    display: block;
    animation: itemFadeIn 1s;
  }
  body.close #toggle_menu {
    display: none;
    animation: itemFadeOut .8s;
  }
}

#gototop {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 10;
}

#gototop img {
  width: 9rem;
}

@media screen and (max-width: 767px) {
  #gototop {
    bottom: 16rem;
  }
}

#gototop.show {
  display: block;
  animation: itemFadeIn 1s;
}

#gototop.hide {
  display: none;
  animation: itemFadeOut .8s;
}

@keyframes itemFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes itemFadeOut {
  from {
    opacity: 1;
    display: block;
  }
  to {
    opacity: 0;
  }
}

#footer {
  background: #222634;
  color: #fff;
  padding: 12rem 0 11rem;
}

@media screen and (max-width: 767px) {
  #footer {
    padding: 10rem 0 25rem;
  }
}

.f_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8rem;
}

.f_logo img {
  width: 18.8rem;
}

.f_info dl {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 0;
}

.f_info dt {
  width: 13rem;
}

.f_info dd {
  width: calc(100% - 13rem);
}

.f_info dt, .f_info dd {
  font-size: 1.3rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .f_info dt, .f_info dd {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px) {
  .f_info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .f_info dl {
    width: 40rem;
  }
  .f_info dl + dl {
    width: 72rem;
  }
  .f_info .col {
    column-count: 2;
  }
}

.f_copy {
  color: #7c8194;
  font-size: 1.3rem;
  font-weight: 300;
  outline-offset: .06em;
}

@media screen and (max-width: 767px) {
  .f_copy {
    font-size: 1.6rem;
  }
}

/*--------------------------------------------------------------
Project
--------------------------------------------------------------*/
.loop_slide .swiper-wrapper {
  transition-timing-function: linear;
}

.loop_slide .swiper-slide {
  font-size: 1rem;
}

.bg_slide {
  position: absolute;
  width: 100%;
  top: 0;
  z-index: -2;
}

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(2rem, -2rem);
  }
  100% {
    transform: translate(0, 0);
  }
}

@keyframes fuwafuwa_l {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-2rem, 2rem);
  }
  100% {
    transform: translate(0, 0);
  }
}

@keyframes fuwafuwa_r {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(2rem, 2rem);
  }
  100% {
    transform: translate(0, 0);
  }
}

.lp_main {
  position: relative;
  height: 100vh;
  min-height: 70rem;
}

@media screen and (max-width: 767px) {
  .lp_main {
    height: calc(100vh - 16rem);
    height: calc(100svh - 16rem);
  }
}

.lp_main .swiper-slide {
  width: 113.2rem;
}

@media screen and (max-width: 767px) {
  .lp_main .swiper-slide {
    width: 82.636rem;
  }
}

.lp_main .bg_slide {
  top: 37rem;
}

@media screen and (max-width: 767px) {
  .lp_main .bg_slide {
    top: 31.6rem;
  }
}

.lp_main.loaded .bg {
  opacity: 1;
}

.lp_main.loaded .bg img {
  animation: fuwafuwa 10s infinite ease-in-out alternate;
  animation-delay: 2.5s;
}

.lp_main.loaded .bg .left {
  animation-name: fuwafuwa_l;
}

.lp_main.loaded .bg .right {
  animation-name: fuwafuwa_r;
}

.lp_main.loaded .left, .lp_main.loaded .right {
  transform: none;
  transition: 1s;
}

.lp_main.loaded .circle {
  opacity: 1;
  transition: opacity 1s 2s;
}

.lp_main.loaded .right {
  transition-delay: 1s;
}

.lp_main .bg {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  z-index: -1;
  top: 17.8rem;
  width: 100vw;
  min-width: 160rem;
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .lp_main .bg {
    top: 12.8rem;
    min-width: 112rem;
    left: auto;
    right: 0;
    translate: none;
  }
}

.lp_main .bg img {
  width: 100%;
}

.lp_main .bg img + img {
  position: absolute;
  top: 0;
  left: 0;
}

.lp_main .left {
  transform: translate(-100%, 100%);
}

.lp_main .right {
  transform: translate(100%, -100%);
}

.lp_main .circle {
  opacity: 0;
}

.lp_main svg {
  width: 100%;
}

.lp_main .box {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 12rem;
}

@media screen and (max-width: 767px) {
  .lp_main .box {
    translate: none;
    left: 4rem;
    bottom: 8rem;
  }
}

.lp_main p {
  font-size: 7rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.lp_main p small {
  font-size: 3.2rem;
  letter-spacing: .08em;
  display: block;
  padding-bottom: .2em;
  margin-bottom: .3em;
  background: url(../img/mv_marker.png) no-repeat left bottom/23.6rem;
}

.lp_main ul {
  display: flex;
  gap: .4rem;
  margin-top: 6rem;
}

@media screen and (max-width: 767px) {
  .lp_main ul {
    margin-top: 4.5rem;
    gap: 1rem;
  }
}

.lp_main li {
  background: #222634;
  color: #fff;
  font-weight: bold;
  height: 11rem;
  width: 18rem;
  border-radius: 1.6rem;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  letter-spacing: .06em;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .lp_main li {
    font-size: 2.4rem;
    height: 12rem;
    width: 21rem;
  }
}

.lp_main li em {
  color: #ffcc00;
  display: block;
  letter-spacing: .06em;
}

.lp_main li small {
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .lp_main li small {
    font-size: 1.8rem;
  }
}

.lp_main li i {
  font-size: 3rem;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .lp_main li i {
    font-size: 3.6rem;
  }
}

.lp_lead {
  margin: 10rem 5rem 18rem;
  background: #fff;
  border-radius: 3rem;
  text-align: center;
  padding: 13rem 0 12rem;
  overflow: hidden;
  box-shadow: 0 1rem 3rem 0 rgba(22, 39, 60, 0.05);
}

@media screen and (max-width: 767px) {
  .lp_lead {
    margin: 10rem 4rem 16rem;
    padding: 7rem 0 9rem;
  }
}

.lp_lead p {
  font-weight: bold;
  font-size: 4rem;
  margin-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .lp_lead p {
    font-size: 3.6rem;
    margin-bottom: 5rem;
  }
}

.lp_lead p small {
  font-size: 3.2rem;
  letter-spacing: .08em;
  display: block;
}

@media screen and (max-width: 767px) {
  .lp_lead p small {
    font-size: 3rem;
    line-height: 1.66;
  }
}

.lp_lead p em {
  color: #ffb900;
}

.lp_lead p i {
  font-size: 8rem;
  letter-spacing: 0;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .lp_lead p i {
    font-size: 7.6rem;
  }
}

.lp_lead .swiper-slide {
  margin-right: 8rem;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lp_lead .logo01 {
  width: 14.8em;
}

.lp_lead .logo02 {
  width: 37em;
}

.lp_lead .logo03 {
  width: 8em;
}

.lp_lead .logo04 {
  width: 26.9em;
}

.lp_lead .logo05 {
  width: 36.7em;
}

.lp_lead .logo06 {
  width: 25em;
}

.lp_lead .logo07 {
  width: 14.4em;
}

.lp_lead .logo08 {
  width: 18.3em;
}

.lp_lead .logo09 {
  width: 28.3em;
}

.lp_lead .logo10 {
  width: 26.5em;
}

.lp_about {
  position: relative;
  padding: 2rem 0 18rem;
}

@media screen and (max-width: 767px) {
  .lp_about {
    padding: 0 0 15rem;
  }
  .lp_about .bg_slide {
    top: 4.5rem;
  }
}

.lp_about .row {
  background: #fff;
  box-shadow: 0 1rem 3rem 0 rgba(22, 39, 60, 0.05);
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
  border-radius: 2rem;
  padding: 6rem 8rem;
}

@media screen and (max-width: 767px) {
  .lp_about .row {
    padding: 6rem 4rem 5rem;
    flex-direction: column;
    margin-top: 3rem;
    gap: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .lp_about dl {
    width: calc(100% - 16rem);
  }
}

.lp_about dt {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.64;
  margin-bottom: .8em;
}

@media screen and (max-width: 767px) {
  .lp_about dt {
    font-size: 3.4rem;
    margin-bottom: .6em;
  }
}

.lp_about dt em {
  color: #ffb900;
}

.lp_about dd {
  line-height: 1.875;
}

@media screen and (max-width: 767px) {
  .lp_about figure {
    text-align: center;
  }
}

.lp_about figure img {
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  .lp_about figure img {
    font-size: 1.4rem;
  }
}

.lp_about figure .a {
  width: 9em;
}

.lp_about figure .b {
  width: 9em;
}

.lp_about figure .c {
  width: 9em;
}

.lp_about .swiper-slide {
  width: 226.6rem;
}

@media screen and (max-width: 767px) {
  .lp_about .swiper-slide {
    width: 165.418rem;
  }
}

.lp_about .work {
  margin-top: 20rem;
}

.lp_about .work .swiper-slide {
  margin-right: 1.8rem;
}

@media screen and (max-width: 767px) {
  .lp_about .work .swiper-slide {
    font-size: .72rem;
    margin-right: 1.296rem;
  }
}

.lp_about .w20 {
  width: 20em;
}

.lp_about .w34 {
  width: 34em;
}

.lp_about .w22 {
  width: 46.2em;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
}

.lp_about .w60 {
  width: 60.4em;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2em;
}

.lp_service {
  position: relative;
  padding: 1rem 0 0;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .lp_service {
    padding: 0;
  }
  .lp_service .bg_slide {
    top: 12rem;
  }
}

.lp_service .c_ttl {
  margin-bottom: 9rem;
}

.lp_service .swiper-slide {
  width: 224.4rem;
}

@media screen and (max-width: 767px) {
  .lp_service .swiper-slide {
    width: 163.812rem;
  }
}

.lp_service .img {
  margin-bottom: 16rem;
}

@media screen and (max-width: 767px) {
  .lp_service .img {
    margin-bottom: 14rem;
  }
}

.lp_service .row {
  margin-top: 4rem;
  padding: 11rem 0 12rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .lp_service .row {
    padding: 9rem 5rem 10rem;
  }
}

.lp_service .row:before, .lp_service .row:after {
  content: '';
  position: absolute;
  left: 50%;
  translate: -50% 0;
  top: 0;
  background: #fff url(../img/price_bg.png) no-repeat center bottom/150rem;
  width: 150rem;
  height: 100%;
  max-width: calc(100vw - 4rem);
  border-radius: 3rem;
  z-index: -2;
}

@media screen and (max-width: 767px) {
  .lp_service .row:before, .lp_service .row:after {
    background-image: url(../img/price_bg_sp.png);
    width: 100%;
    max-width: 100%;
    background-size: 100%;
    background-position: center 16rem;
  }
}

.lp_service .row.a i {
  color: #fff;
}

.lp_service .row.a:before {
  background-color: transparent;
  background-image: url(../img/creator_bg.png);
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .lp_service .row.a:before {
    background-image: url(../img/creator_bg_sp.png);
  }
}

.lp_service .row.a:after {
  background: -moz-linear-gradient(90deg, #ff9b02 0%, #ffaa01 22%, #ffb900 99%);
  background: -webkit-linear-gradient(90deg, #ff9b02 0%, #ffaa01 22%, #ffb900 99%);
  background: -ms-linear-gradient(90deg, #ff9b02 0%, #ffaa01 22%, #ffb900 99%);
}

.lp_service .row.b {
  color: #fff;
}

.lp_service .row.b:before {
  background-image: url(../img/production_bg.png);
  background-color: #222634;
}

@media screen and (max-width: 767px) {
  .lp_service .row.b:before {
    background-image: url(../img/production_bg_sp.png);
  }
}

.lp_service .row.b:after {
  content: none;
}

.lp_service .row.b .ttl + p {
  color: inherit;
}

.lp_service .row.c:after {
  content: none;
}

.lp_service .ttl {
  font-size: 3.2rem;
  font-weight: bold;
  margin-bottom: 1.2em;
}

@media screen and (max-width: 767px) {
  .lp_service .ttl {
    font-size: 3.6rem;
    margin-bottom: 1.1em;
  }
}

.lp_service .ttl i {
  display: block;
  color: #ffb900;
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: .5em;
}

.lp_service .ttl + p {
  line-height: 1.875;
  color: #000;
  margin-bottom: 7.5rem;
}

.lp_service .catch {
  background: #222634;
  color: #fff;
  font-weight: bold;
  position: relative;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4.5rem;
  border-radius: 3rem;
  letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
  .lp_service .catch {
    font-size: 2.2rem;
    text-align: center;
    height: 12rem;
  }
}

.lp_service .catch:before {
  content: '';
  position: absolute;
  left: 50%;
  translate: -50% 0;
  background: #222634;
  width: 1.8rem;
  height: 1.5rem;
  clip-path: polygon(100% 0, 0 0, 5% 100%);
  bottom: -1.5rem;
}

.lp_service .slide {
  overflow: hidden;
}

.lp_service .slide .swiper-wrapper {
  padding: 1.5rem 0 0;
}

.lp_service .slide li {
  background: #fff;
  border-radius: 1.6rem;
  margin-right: 2rem;
  width: 59rem;
  height: auto;
  padding: 0 4rem 4.5rem;
}

@media screen and (max-width: 767px) {
  .lp_service .slide li {
    width: 100%;
  }
}

.lp_service .slide figure {
  top: -1.5rem;
  margin-left: -.6rem;
  position: relative;
  width: 12rem;
}

.lp_service .slide p {
  line-height: 1.875;
}

.lp_service .head {
  display: flex;
  align-items: center;
  gap: 4.5rem;
}

@media screen and (max-width: 767px) {
  .lp_service .head {
    gap: 3rem;
  }
}

.lp_service .head dl {
  display: flex;
  font-weight: bold;
  align-items: center;
  gap: .5rem;
}

.lp_service .head dt {
  font-size: 2rem;
  margin-right: 1rem;
}

@media screen and (max-width: 767px) {
  .lp_service .head dt {
    font-size: 2.6rem;
  }
}

.lp_service .head dd {
  font-size: 1.2rem;
  border-radius: 3em;
  padding: .2em 1em;
  background: #ebebeb;
}

@media screen and (max-width: 767px) {
  .lp_service .head dd {
    font-size: 1.6rem;
  }
}

.lp_service .pager {
  margin-top: 6rem;
  display: flex;
}

@media screen and (max-width: 767px) {
  .lp_service .pager {
    margin-top: 4rem;
  }
}

.lp_service .swiper-pagination-bullet {
  height: .6rem;
  width: 100%;
  background: #ff8c04;
  transition: background .5s;
}

@media screen and (max-width: 767px) {
  .lp_service .swiper-pagination-bullet {
    height: 1rem;
  }
}

.lp_service .swiper-pagination-bullet-active {
  background: #fff;
  border-radius: 3em;
}

.lp_service .prd {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .lp_service .prd {
    flex-direction: column;
    gap: 7rem;
  }
}

@media screen and (min-width: 768px) {
  .lp_service .range {
    width: 48.6rem;
  }
  .lp_service .media {
    width: 66rem;
  }
}

.lp_service .ttl2 {
  font-weight: bold;
  color: #d5d8e4;
  margin-bottom: 1.8em;
}

@media screen and (max-width: 767px) {
  .lp_service .ttl2 {
    margin-bottom: 1em;
  }
}

.lp_service .range ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.lp_service .range li {
  border-radius: 3em;
  background: #d5d8e4;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: .06em;
  height: 7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
}

@media screen and (max-width: 767px) {
  .lp_service .range li {
    font-size: 2.4rem;
  }
}

.lp_service .media ul {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.lp_service .media li {
  background: #fff;
  border-radius: 1rem;
  width: calc(50% - .5rem);
  color: #000;
  padding: 2.2rem 3rem;
}

@media screen and (max-width: 767px) {
  .lp_service .media li:nth-child(-n + 2) {
    width: 100%;
  }
}

.lp_service .media li:nth-child(n + 3) dl {
  display: flex;
  gap: 1em;
  align-items: center;
  white-space: nowrap;
}

.lp_service .media li:nth-child(n + 3) dt {
  margin: 0;
}

@media screen and (max-width: 767px) {
  .lp_service .media li:last-child {
    padding-left: 2.5rem;
  }
  .lp_service .media li:last-child dd {
    letter-spacing: 0;
  }
}

.lp_service .media dt {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: .3em;
}

@media screen and (max-width: 767px) {
  .lp_service .media dt {
    font-size: 2.4rem;
  }
}

.lp_service .media dd {
  font-size: 1.4rem;
  letter-spacing: .1em;
  line-height: 1.85;
}

@media screen and (max-width: 767px) {
  .lp_service .media dd {
    font-size: 2rem;
  }
}

.lp_service .price {
  display: flex;
  gap: 1.5rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .lp_service .price {
    flex-wrap: wrap;
    gap: 1rem;
  }
}

.lp_service .price dl {
  width: calc(50% - .5rem);
  overflow: hidden;
  border-radius: 1rem;
  border: solid .2rem #eaeaea;
}

.lp_service .price dl:nth-child(2) dt {
  background: #42bccb;
}

@media screen and (max-width: 767px) {
  .lp_service .price dl:nth-child(3) {
    width: 100%;
  }
}

.lp_service .price dl:nth-child(3) dt {
  background: #222634;
}

.lp_service .price dl:nth-child(3) dd {
  font-size: 2.4rem;
  padding-top: 1.8em;
}

@media screen and (max-width: 767px) {
  .lp_service .price dl:nth-child(3) dd {
    font-size: 3rem;
    padding-top: 1.2em;
  }
}

.lp_service .price dt {
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 5rem;
  background: #ffb900;
}

@media screen and (max-width: 767px) {
  .lp_service .price dt {
    font-size: 2.6rem;
    line-height: 6rem;
  }
}

.lp_service .price dd {
  font-size: 2rem;
  font-weight: bold;
  height: 13rem;
  padding-top: .3em;
}

@media screen and (max-width: 767px) {
  .lp_service .price dd {
    height: 12rem;
  }
}

.lp_service .price dd i {
  font-size: 8rem;
  font-weight: 900;
}

.lp_service .ttl3 {
  font-weight: bold;
  font-size: 2.4rem;
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 4.5rem;
}

@media screen and (max-width: 767px) {
  .lp_service .ttl3 {
    font-size: 3rem;
  }
}

.lp_service .ttl3:before {
  content: '';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  background: #ffb900;
  border-radius: 50%;
  width: 1.4rem;
  height: 1.4rem;
  left: 0;
}

@media screen and (max-width: 767px) {
  .lp_service .ttl3:before {
    width: 2rem;
    height: 2rem;
  }
}

.lp_service .frame {
  border-radius: 1rem;
  border: solid .2rem #eaeaea;
  padding: 5rem 8rem 6rem;
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .lp_service .frame {
    padding: 5rem 4rem 6rem;
  }
}

.lp_service .exp {
  position: relative;
}

.lp_service .exp dl {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 0;
}

.lp_service .exp dt, .lp_service .exp dd {
  border-bottom: solid 1px  #dcdcdc;
  font-weight: 500;
  padding-bottom: 2.5rem;
  letter-spacing: .06em;
  white-space: nowrap;
}

.lp_service .exp dt {
  width: calc(100% - 10rem);
}

@media screen and (max-width: 767px) {
  .lp_service .exp dt {
    width: calc(100% - 14rem);
  }
}

.lp_service .exp dt small {
  font-size: 1.2rem;
  margin-left: .5em;
}

@media screen and (max-width: 767px) {
  .lp_service .exp dt small {
    font-size: 1.6rem;
  }
}

.lp_service .exp dd {
  width: 10rem;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .lp_service .exp dd {
    width: 14rem;
  }
  .lp_service .exp dd small {
    font-size: 1.6rem;
  }
}

.lp_service .exp p {
  font-size: 1.6rem;
  text-align: right;
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .lp_service .exp p {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 768px) {
  .lp_service .exp {
    display: flex;
    align-items: flex-start;
    gap: 8rem;
  }
  .lp_service .exp dl {
    width: 50%;
  }
}

.lp_service .head2 {
  position: relative;
}

@media screen and (max-width: 767px) {
  .lp_service .head2 .ttl3 {
    letter-spacing: 0;
  }
}

.lp_service .head2 p {
  position: absolute;
  right: 0;
  font-weight: bold;
  top: 0;
}

@media screen and (max-width: 767px) {
  .lp_service .head2 p {
    text-align: right;
  }
  .lp_service .head2 p small {
    font-size: 1.8rem;
  }
}

.lp_service .head2 p i {
  font-size: 2.4rem;
}

@media screen and (max-width: 767px) {
  .lp_service .head2 p i {
    font-size: 3rem;
  }
}

.lp_service .head2 + p {
  font-weight: 500;
  line-height: 1.72;
  margin-bottom: 3.5rem;
}

@media screen and (max-width: 767px) {
  .lp_service .head2 + p {
    font-size: 2.2rem;
  }
}

.lp_service .plan {
  background: #f5f5f5;
  padding: 4rem 6rem;
  column-count: 4;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .lp_service .plan {
    padding: 3rem;
    column-count: 2;
  }
}

.lp_service .plan li {
  font-size: 1.4rem;
  margin-bottom: 1.2em;
}

@media screen and (max-width: 767px) {
  .lp_service .plan li {
    font-size: 1.8rem;
  }
}

.lp_service .contact {
  position: relative;
  padding: 7.5rem 0 8rem;
}

@media screen and (max-width: 767px) {
  .lp_service .contact {
    padding: 7.5rem 5rem 8rem;
  }
}

.lp_service .contact:before {
  content: '';
  position: absolute;
  left: 50%;
  translate: -50% 0;
  top: 0;
  background-image: -moz-linear-gradient(90deg, #ff9b02 0%, #ffaa01 22%, #ffb900 99%);
  background-image: -webkit-linear-gradient(90deg, #ff9b02 0%, #ffaa01 22%, #ffb900 99%);
  background-image: -ms-linear-gradient(90deg, #ff9b02 0%, #ffaa01 22%, #ffb900 99%);
  width: 150rem;
  height: 100%;
  max-width: calc(100vw - 4rem);
  border-radius: 0 0 3rem 3rem;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .lp_service .contact:before {
    widht: 100%;
    max-width: 100%;
  }
}

.lp_service .contact dt {
  font-weight: bold;
  text-align: center;
  font-size: 2.8rem;
  margin-bottom: 1.5em;
}

.lp_service .contact dd {
  display: flex;
  gap: 1rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .lp_service .contact dd {
    max-width: 69rem;
  }
}

@media screen and (max-width: 767px) {
  .lp_service .contact dd {
    flex-direction: column;
  }
}

.lp_service .contact a {
  width: 50%;
  border-radius: 3em;
  border: solid 0.2rem #222634;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: .06em;
  height: 9rem;
  background: #fff;
  font-size: 2.4rem;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .lp_service .contact a {
    height: 10rem;
    font-size: 3rem;
  }
}

.lp_service .contact a:hover {
  opacity: 1;
  background: #222634;
  color: #fff;
}

.lp_service .contact .mail {
  background: #222634;
  color: #fff;
  font-weight: bold;
}

.lp_service .contact .mail:hover {
  background: #fff;
  color: #222634;
}

.lp_service .contact .tel {
  font-weight: bold;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .lp_service .contact .tel p {
    display: flex;
    align-items: center;
    gap: .6em;
  }
}

.lp_service .contact .tel span {
  font-size: 3.2rem;
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .lp_service .contact .tel span {
    font-size: 3.8rem;
  }
}

.lp_service .contact .tel i {
  font-size: 1.4rem;
  letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
  .lp_service .contact .tel i {
    font-size: 2rem;
  }
}

.lp_service .contact .tel small {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: right;
  letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
  .lp_service .contact .tel small {
    font-size: 1.8rem;
    margin-top: .5em;
  }
}

.lp_safety {
  position: relative;
  background: #222634;
  color: #fff;
  z-index: 0;
  padding: 29rem 0 0;
  margin: -12rem 0 12rem;
}

@media screen and (max-width: 767px) {
  .lp_safety {
    padding: 25rem 0 0;
    margin: -10rem 0 15rem;
  }
}

.lp_safety .bg_slide {
  top: 25.5rem;
}

@media screen and (max-width: 767px) {
  .lp_safety .bg_slide {
    top: 27rem;
  }
}

.lp_safety .swiper-slide {
  width: 311.7rem;
}

@media screen and (max-width: 767px) {
  .lp_safety .swiper-slide {
    width: 227.541rem;
  }
}

.lp_safety .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9rem 10rem;
  margin-bottom: 17rem;
}

@media screen and (max-width: 767px) {
  .lp_safety .list {
    grid-template-columns: repeat(1, 1fr);
    gap: 7rem;
    margin-bottom: 15rem;
  }
}

.lp_safety .list img {
  border-radius: 1.6rem;
  width: 100%;
}

.lp_safety .ttl {
  margin: 1.4em 0 1.2em;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
  .lp_safety .ttl {
    font-size: 3.4rem;
    margin: 1.4em 0 .7em;
  }
}

.lp_safety .ttl i {
  display: block;
  color: #ffb900;
  font-size: 1.6rem;
  letter-spacing: .06em;
  margin-bottom: .2em;
}

@media screen and (max-width: 767px) {
  .lp_safety .ttl i {
    font-size: 2rem;
  }
}

.lp_safety p {
  line-height: 1.875;
  letter-spacing: .06em;
}

.lp_safety p small {
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .lp_safety p small {
    font-size: 1.6rem;
  }
}

.lp_safety .safety .swiper-slide {
  width: 70rem;
}

@media screen and (max-width: 767px) {
  .lp_safety .safety .swiper-slide {
    width: 60rem;
  }
}

.lp_case {
  position: relative;
  margin-bottom: 17rem;
}

@media screen and (max-width: 767px) {
  .lp_case {
    margin-bottom: 15rem;
  }
  .lp_case .bg_slide {
    top: 2rem;
  }
}

.lp_case .swiper-slide {
  width: 146.6rem;
}

@media screen and (max-width: 767px) {
  .lp_case .swiper-slide {
    width: 107.018rem;
  }
}

.lp_case .ttl {
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.63;
  letter-spacing: .06em;
  border-bottom: solid 1px #dcdcdc;
  padding-bottom: 3rem;
  margin-bottom: 3.5rem;
}

@media screen and (max-width: 767px) {
  .lp_case .ttl {
    font-size: 2.8rem;
    padding-bottom: 4rem;
    margin-bottom: 4.5rem;
  }
}

.lp_case .ttl small {
  display: block;
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: .06em;
  margin-bottom: .7em;
}

@media screen and (max-width: 767px) {
  .lp_case .ttl small {
    font-size: 2rem;
  }
}

.lp_case .ttl i {
  color: #ffb900;
  font-weight: bold;
  font-size: 1.6rem;
  margin-right: 1.2em;
}

@media screen and (max-width: 767px) {
  .lp_case .ttl i {
    font-size: 2rem;
  }
}

.lp_case .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}

@media screen and (max-width: 767px) {
  .lp_case .list {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
  }
}

.lp_case .list > li {
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 1rem 3rem 0 rgba(22, 39, 60, 0.05);
  padding: 4.5rem 5rem;
}

.lp_case dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
}

.lp_case dl:before {
  content: '';
  position: absolute;
  height: calc(100% - 5rem);
  border-left: dotted 2px #a0a0a0;
  left: 4rem;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .lp_case dl:before {
    left: 6rem;
  }
}

.lp_case dl:after {
  content: '';
  position: absolute;
  left: calc(3.5rem - 1px);
  width: 1.4rem;
  height: .8rem;
  background: #a0a0a0;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  bottom: -1.5rem;
}

@media screen and (max-width: 767px) {
  .lp_case dl:after {
    left: calc(5.6rem - 1px);
  }
}

.lp_case dl + dl {
  margin-top: 3rem;
}

.lp_case dl + dl:before, .lp_case dl + dl:after {
  content: none;
}

.lp_case dl + dl dt {
  background: #ffb900;
  color: #fff;
}

.lp_case dl + dl dd li:before {
  background: #ffb900;
}

.lp_case dt {
  font-size: 1.4rem;
  border-radius: 3em;
  background: #e6e6e6;
  padding: .3em .7em;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .lp_case dt {
    font-size: 2rem;
  }
}

.lp_case dd {
  width: calc(100% - 11rem);
  letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
  .lp_case dd {
    width: calc(100% - 15rem);
  }
}

.lp_case dd li {
  line-height: 1.6;
  position: relative;
  padding-left: 1em;
}

@media screen and (min-width: 768px) {
  .lp_case dd li {
    font-size: 1.5rem;
  }
}

.lp_case dd li:before {
  content: '';
  position: absolute;
  left: 0;
  top: .6em;
  width: .4em;
  height: .4em;
  background: #a0a0a0;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .lp_case dd li:before {
    width: .8rem;
    height: .8rem;
  }
}

.lp_case dd li + li {
  margin-top: 1em;
}

.lp_flow {
  padding: 12rem 0 16rem;
  background: #fff;
}

@media screen and (max-width: 767px) {
  .lp_flow {
    padding: 15rem 0;
  }
}

.lp_flow .c_ttl {
  margin-bottom: 7.5rem;
}

.lp_flow .bg {
  position: relative;
  max-width: 90rem;
  margin: 0 auto;
  padding: 5rem 4rem 0;
}

@media screen and (max-width: 767px) {
  .lp_flow .bg {
    padding: 7rem 5rem 0;
  }
}

.lp_flow .bg:before {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  top: 0;
  height: calc(100% - 12rem);
  background: #f5f5f5;
  border-radius: 1.6rem;
}

@media screen and (max-width: 767px) {
  .lp_flow .bg:before {
    height: calc(100% - 14rem);
  }
}

.lp_flow ul {
  position: relative;
  z-index: 0;
}

.lp_flow ul:before {
  content: '';
  position: absolute;
  border-left: solid 2px #c8c8c8;
  height: calc(100% - 5rem);
  left: 4.4rem;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .lp_flow ul:before {
    left: 5.4rem;
  }
}

.lp_flow li {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-bottom: 3rem;
}

.lp_flow li:last-child {
  margin: 6rem 0 0;
}

.lp_flow li img {
  width: 9rem;
}

@media screen and (max-width: 767px) {
  .lp_flow li img {
    width: 11rem;
  }
}

.lp_flow li p {
  font-weight: bold;
  font-size: 2.2rem;
}

@media screen and (max-width: 767px) {
  .lp_flow li p {
    font-size: 2.8rem;
  }
}

.lp_flow li p small {
  font-size: 1.2rem;
  margin-left: .6em;
}

@media screen and (max-width: 767px) {
  .lp_flow li p small {
    font-size: 1.8rem;
    display: block;
    margin-left: 0;
  }
}

.lp_flow li p i {
  display: block;
  color: #8a8fa1;
  font-size: 1rem;
  letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
  .lp_flow li p i {
    font-size: 1.4rem;
  }
}

.lp_flow .catch {
  background: #222634;
  color: #fff;
  font-weight: bold;
  position: absolute;
  left: 50%;
  translate: -50% 0;
  line-height: 4.6rem;
  border-radius: 3rem;
  padding: 0 2em;
  white-space: nowrap;
  letter-spacing: .06em;
  top: -2.3rem;
}

@media screen and (max-width: 767px) {
  .lp_flow .catch {
    line-height: 6rem;
    padding: 0 1em;
  }
}

.lp_flow .catch em {
  font-size: 2.8rem;
  color: #ffb900;
  letter-spacing: .06em;
  line-height: 1;
  position: relative;
  top: .12em;
}

.lp_flow .catch:before {
  content: '';
  position: absolute;
  left: 50%;
  translate: -50% 0;
  background: #222634;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  width: 1.2rem;
  height: 1.2rem;
  bottom: -1.2rem;
}

@media screen and (max-width: 767px) {
  .lp_flow .catch:before {
    width: 1.5rem;
    height: 1.5rem;
    bottom: -1.4rem;
  }
}

.form {
  margin: 15rem 0 16rem;
}

@media screen and (max-width: 767px) {
  .form {
    margin: 16rem 0 15rem;
  }
}

.form .c_ttl {
  margin-bottom: 2rem;
}

.form .lead {
  text-align: center;
  line-height: 1.875;
  margin-bottom: 6.5rem;
}

.form .box {
  background: #fff;
  box-shadow: 0 1rem 3rem 0 rgba(22, 39, 60, 0.05);
  padding: 10rem;
  border-radius: 1.6rem;
}

@media screen and (max-width: 767px) {
  .form .box {
    padding: 7rem 5rem 8rem;
  }
}

.form .tel {
  display: flex;
  font-weight: bold;
  padding-bottom: 6rem;
  margin-bottom: 5rem;
  border-bottom: solid 1px  #dcdcdc;
}

@media screen and (min-width: 768px) {
  .form .tel {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .form .tel {
    flex-direction: column;
    gap: 3rem;
    align-items: center;
  }
  .form .tel dd {
    width: 100%;
  }
}

.form .tel dt {
  font-size: 2.2rem;
  background: url(../img/ico_tel01.png) no-repeat left center/2rem;
  padding-left: 1.5em;
}

@media screen and (max-width: 767px) {
  .form .tel dt {
    font-size: 2.8rem;
    background-size: 2.4rem;
  }
}

.form .tel a {
  background: #222634;
  color: #fff;
  display: block;
  text-align: center;
  line-height: 8rem;
  border-radius: 3em;
  font-size: 3.2rem;
}

.form .tel a i {
  font-size: 2.4rem;
}

.form .tel a span {
  letter-spacing: 0;
}

.form .tel a small {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: .06em;
  margin-left: 1em;
}

@media screen and (min-width: 768px) {
  .form .tel dd {
    width: 63rem;
  }
}

.form th {
  width: 36rem;
  text-align: left;
  position: relative;
  padding-top: .7em;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .form th {
    padding: 0;
  }
}

.form th em {
  background: #ffb900;
  font-size: 1.2rem;
  padding: .1em 1em .1em;
  font-weight: 500;
  border-radius: .2em;
}

@media screen and (min-width: 768px) {
  .form th em {
    position: absolute;
    right: 5rem;
    top: 1.6em;
  }
}

@media screen and (max-width: 767px) {
  .form th {
    margin: 0 0 .6em;
  }
  .form th em {
    font-size: 1.6rem;
    margin-left: 1em;
  }
}

.form tr > * {
  vertical-align: top;
  font-size: 1.8rem;
  letter-spacing: .06em;
}

@media screen and (max-width: 767px) {
  .form tr > * {
    float: left;
    width: 100%;
    font-size: 2.4rem;
  }
}

.form td {
  padding-bottom: 3.5rem;
}

@media screen and (max-width: 767px) {
  .form td {
    padding-bottom: 4.5rem;
  }
}

.form td input[type="text"], .form td input[type="email"], .form td input[type="tel"], .form td input[type="url"], .form td textarea, .form td select {
  width: 100%;
  background: #f5f5f5;
  padding: .8em 1.5em;
  border-radius: 1rem;
  border: solid 1px #c8c8c8;
}

@media screen and (max-width: 767px) {
  .form td input[type="text"], .form td input[type="email"], .form td input[type="tel"], .form td input[type="url"], .form td textarea, .form td select {
    padding: .6em 1.5em;
  }
}

.form td textarea {
  height: 10em;
}

.form label.error {
  color: #b94a48;
  font-size: 1.4rem;
  display: block;
}

@media screen and (max-width: 767px) {
  .form label.error {
    font-size: 2.2rem;
  }
}

.form input:-webkit-autofill, .form select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #f3f3f3 inset;
}

.form .btn {
  margin-top: 8rem;
  text-align: center;
}

.form .btn input {
  background-image: -moz-linear-gradient(90deg, #ffa102 0%, #ffad01 22%, #ffb900 99%);
  background-image: -webkit-linear-gradient(90deg, #ffa102 0%, #ffad01 22%, #ffb900 99%);
  background-image: -ms-linear-gradient(90deg, #ffa102 0%, #ffad01 22%, #ffb900 99%);
  color: #fff;
  font-size: 1.8rem;
  width: 30rem;
  font-weight: bold;
  line-height: 8rem;
  border-radius: 4em;
  position: relative;
  letter-spacing: .1em;
  cursor: pointer;
}

.form .btn input:disabled {
  cursor: not-allowed;
  opacity: .7;
}

@media screen and (max-width: 767px) {
  .form .btn input {
    font-size: 2.4rem;
    height: 9rem;
    width: 34rem;
  }
}

.form #recaptcha_check {
  display: none;
}

@media screen and (min-width: 768px) {
  .form .g_wrap {
    margin-left: 36rem;
  }
}

.thanks {
  text-align: center;
  padding: 4rem 0;
}

.thanks p {
  font-size: 1.8rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .thanks p {
    font-size: 2.2rem;
  }
}

.thanks .back {
  margin-top: 5rem;
}

.thanks .back a {
  background: #222634;
  color: #fff;
  line-height: 7rem;
  font-weight: bold;
  padding: 0 5em;
  border-radius: 3em;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .thanks .back a {
    line-height: 8rem;
  }
}

/*# sourceMappingURL=style.css.map */