/***********************
          BACE
***********************/
html.lock {
  overflow-y: hidden; }

body {
  line-height: 1.78;
  word-wrap: break-word;
  overflow-x: hidden;
  letter-spacing: 0.1em;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  position: relative;
  color: #1C1C1C;
  margin: 0; }

a {
  text-decoration: none;
  opacity: 1;
  transition: .2s ease-out;
  color: #1C1C1C; }
  a:active, a:hover {
    opacity: .8; }

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0; }

p {
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem); }

ol, ul {
  list-style: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0; }

ul {
  list-style-position: inside; }

dl {
  margin: 0; }
  dl dd {
    margin-left: 0; }

iframe {
  border: none; }

img {
  max-width: 100%;
  height: auto;
  display: block; }

table {
  border-collapse: collapse;
  border-spacing: 0; }
  table td, table th {
    padding: 0; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  word-break: break-word;
  caret-color: transparent; }
  *::before, *::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

figure {
  margin: 0; }

.zoom figure {
  overflow: hidden; }
  .zoom figure img {
    transition: .3s ease-out;
    transform: scale(1, 1); }
.zoom:hover figure img {
  transform: scale(1.1, 1.1); }

.container {
  margin: 0 auto;
  position: relative; }

@media (max-width: 1239px) {
  .container {
    width: 90%; } }
@media (min-width: 1240px) {
  .container {
    width: 1200px; }

  .sub_container {
    margin: 0 auto;
    width: 1100px; } }
@media (min-width: 1580px) {
  .container {
    width: 1530px; }

  .sub_container {
    width: 1300px; } }
@media (min-width: 1780px) {
  .container {
    width: 1730px; }

  .sub_container {
    width: 1480px; } }
/***********************
         HEADER
***********************/
header {
  position: fixed;
  left: 0;
  width: 100%;
  z-index: 10; }
  header #logo {
    aspect-ratio: 463.89 / 63.16; }
  header #navigation_base #navigation #navi_list ul li a {
    font-weight: 600;
    display: block; }

@media (max-width: 990px) {
  header {
    top: 0;
    padding: 30px 20px; }
    header #logo {
      width: 300px;
      position: relative;
      z-index: 2; }
    header #navigation_base {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%; }
      header #navigation_base #navigation {
        display: none; }
        header #navigation_base #navigation #navi_list {
          background-color: #80A9C9;
          height: 100vh;
          padding-bottom: 80px;
          display: flex;
          align-items: center;
          justify-content: center; }
          header #navigation_base #navigation #navi_list ul {
            width: 70vw; }
            header #navigation_base #navigation #navi_list ul li a {
              font-size: 17px;
              text-align: center;
              padding-top: 1em;
              padding-bottom: 1em; }
            header #navigation_base #navigation #navi_list ul li + li {
              border-top: #151515 dotted 1px; }

  body.is-animation header {
    background-color: rgba(144, 179, 206, 0.7); } }
@media (max-width: 489px) {
  header #logo {
    width: 75vw; } }
@media (min-width: 991px) {
  header {
    top: 0;
    padding: 40px 30px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: .3s ease-out; }
    header #logo {
      width: 320px; }
    header #navigation_base #navigation {
      display: block !important;
      height: initial !important; }
      header #navigation_base #navigation #navi_list ul {
        display: flex;
        align-items: center;
        gap: 20px; }
        header #navigation_base #navigation #navi_list ul li a {
          font-size: 15px;
          color: #ffffff; }

  body.is-animation header {
    padding: 20px 30px;
    background-color: rgba(144, 179, 206, 0.7); } }
@media (min-width: 1580px) {
  header {
    padding: 50px 45px; }
    header #logo {
      width: 430px; }
    header #navigation_base #navigation #navi_list ul {
      gap: 35px; }
      header #navigation_base #navigation #navi_list ul li a {
        font-size: 16px; }

  body.is-animation header {
    padding: 20px 45px; } }
@media (min-width: 1780px) {
  header {
    padding: 70px 85px; }
    header #logo {
      width: 463.89px; }
    header #navigation_base #navigation #navi_list ul {
      gap: 45px; }

  body.is-animation header {
    padding: 20px 85px; } }
/****************************
   Menu Trigger
****************************/
header .menu-trigger {
  display: none; }

@media (max-width: 990px) {
  header .menu-trigger {
    border: none;
    transform: translate(0, 0);
    transition: all .5s;
    cursor: pointer;
    width: 33px;
    background: none;
    position: fixed;
    top: 40px;
    right: 20px;
    z-index: 10;
    display: block; }
    header .menu-trigger .menu-trigger_line {
      width: 30px;
      height: 22px;
      position: relative;
      margin-left: auto;
      margin-right: auto;
      cursor: pointer; }
      header .menu-trigger .menu-trigger_line > span {
        display: block;
        position: absolute;
        right: 0;
        width: 100%;
        height: 1px;
        background-color: #FFFFFF;
        transition: all .5s;
        caret-color: transparent; }
        header .menu-trigger .menu-trigger_line > span:nth-child(1) {
          top: 0; }
        header .menu-trigger .menu-trigger_line > span:nth-child(2) {
          top: 10px; }
        header .menu-trigger .menu-trigger_line > span:nth-child(3) {
          top: 21px; }
  header.show .menu-trigger .menu-trigger_line > span:nth-child(1) {
    transform: rotate(42deg) translateY(1px);
    transform-origin: left center; }
  header.show .menu-trigger .menu-trigger_line > span:nth-child(2) {
    opacity: 0;
    animation: unset; }
  header.show .menu-trigger .menu-trigger_line > span:nth-child(3) {
    transform: rotate(-42deg) translateY(-1px);
    transform-origin: left center; } }
/***********************
          FV
***********************/
#fv {
  position: relative; }
  #fv > figure {
    width: 100%; }
    #fv > figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  #fv #fv_inner {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0); }
    #fv #fv_inner p#text_main {
      color: #ffffff;
      font-weight: 900;
      line-height: 1.45em;
      margin-bottom: .2em; }
    #fv #fv_inner p#text_sub {
      color: #FFC44D;
      background-color: #ffffff;
      font-weight: 600;
      clip-path: polygon(21px 0%, 100% 0%, calc(100% - 21px) 100%, 0% 100%);
      padding: .2em 2em .2em 2.5em;
      width: fit-content;
      margin-left: auto; }
  #fv > span {
    aspect-ratio: 840 / 497;
    position: absolute; }
    #fv > span img {
      width: 100%;
      height: 100%;
      object-fit: contain; }
  #fv #fv_pack #fv_pack_info {
    background-color: #80A9C9;
    clip-path: polygon(25px 0%, 100% 0%, 100% 100%, 0% 100%);
    transition: .3s ease-out; }
    #fv #fv_pack #fv_pack_info a {
      color: #ffffff;
      display: block;
      position: relative;
      font-weight: 600; }
      #fv #fv_pack #fv_pack_info a dl {
        display: flex;
        align-items: center; }
        #fv #fv_pack #fv_pack_info a dl dt {
          font-weight: 800;
          margin-right: 1.5em;
          width: 4em; }
        #fv #fv_pack #fv_pack_info a dl dd {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          width: calc(100% - 4em); }
          #fv #fv_pack #fv_pack_info a dl dd span {
            font-size: 80%;
            margin-right: 1.5em;
            display: block; }
      #fv #fv_pack #fv_pack_info a::after {
        aspect-ratio: 1 / 1;
        content: "";
        width: 25px;
        display: block;
        background: url("../img/default/arrow_w.svg") no-repeat center/contain;
        position: absolute;
        top: 50%;
        transform: translate(0, -50%);
        transition: .3s ease-out; }
    #fv #fv_pack #fv_pack_info:hover {
      background-color: #71A3C3; }
      #fv #fv_pack #fv_pack_info:hover a::after {
        transform: translate(5px, -50%); }
  #fv #fv_pack #fv_pack_contact {
    background-color: #FFC44D;
    transition: .3s ease-out; }
    #fv #fv_pack #fv_pack_contact a {
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 600;
      position: relative;
      gap: 20px; }
      #fv #fv_pack #fv_pack_contact a::after {
        aspect-ratio: 3 / 2;
        content: "";
        width: 30px;
        display: block;
        background: url("../img/default/icon_mail.webp") no-repeat center/contain;
        transition: .3s ease-out;
        transform: translate(0, 0); }
    #fv #fv_pack #fv_pack_contact:hover {
      background-color: #FFA04D; }
      #fv #fv_pack #fv_pack_contact:hover a::after {
        transform: translate(5px, 0); }

@media (max-width: 990px) {
  #fv #fv_pack #fv_pack_info {
    width: 520px;
    position: absolute;
    z-index: 3;
    bottom: 0;
    right: 0; }
    #fv #fv_pack #fv_pack_info a {
      padding-left: 45px;
      padding-right: 85px;
      font-size: 14px; }
      #fv #fv_pack #fv_pack_info a dl {
        height: 80px; }
      #fv #fv_pack #fv_pack_info a::after {
        right: 45px; }
  #fv #fv_pack #fv_pack_contact {
    width: 100%;
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 0; }
    #fv #fv_pack #fv_pack_contact a {
      height: 80px;
      font-size: 20px; }

  body {
    padding-bottom: 80px; } }
@media (max-width: 767px) {
  #fv > figure {
    height: calc(100vh - 80px); }
  #fv #fv_inner {
    z-index: 3;
    width: 90%; }
    #fv #fv_inner #fv_inner_text {
      margin-bottom: 5vw; }
      #fv #fv_inner #fv_inner_text p#text_main {
        font-size: 7.5vw; }
      #fv #fv_inner #fv_inner_text p#text_sub {
        font-size: 2.8vw; }
    #fv #fv_inner #fv_inner_img {
      width: 38%;
      margin-left: auto; }
  #fv > span {
    width: 70%;
    left: 0;
    bottom: 0; }
  #fv #fv_pack #fv_pack_info {
    width: 90vw; } }
@media (max-width: 489px) {
  #fv > figure {
    height: 70vh;
    min-height: 570px; }
  #fv #fv_inner #fv_inner_text {
    margin-bottom: 10vw; }
  #fv #fv_inner #fv_inner_img {
    width: 53%; }
  #fv > span {
    width: 85%; }
  #fv #fv_pack #fv_pack_info {
    width: 95vw; }
    #fv #fv_pack #fv_pack_info a {
      padding-left: 8vw;
      padding-right: 15vw;
      font-size: 3vw;
      line-height: 1.45em; }
      #fv #fv_pack #fv_pack_info a dl {
        height: 80px; }
        #fv #fv_pack #fv_pack_info a dl dd span {
          font-size: 100%; }
      #fv #fv_pack #fv_pack_info a::after {
        right: 5vw; } }
@media (min-width: 768px) {
  #fv > figure {
    min-height: 600px;
    height: 70vh; }
  #fv #fv_inner {
    width: 90%;
    height: 100%;
    display: flex;
    align-items: center; }
    #fv #fv_inner #fv_inner_text {
      width: 60%;
      margin-bottom: 3%; }
      #fv #fv_inner #fv_inner_text p#text_main {
        font-size: 4.5vw; }
      #fv #fv_inner #fv_inner_text p#text_sub {
        font-size: 1.8vw; }
    #fv #fv_inner #fv_inner_img {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 42%;
      padding-right: 6%; }
  #fv > span {
    bottom: 0;
    left: 0;
    width: 37.3%; } }
@media (min-width: 991px) {
  #fv > figure {
    min-height: 825px;
    height: 90vh; }
  #fv #fv_inner #fv_inner_text {
    margin-bottom: 10%; }
  #fv #fv_inner #fv_inner_img {
    padding-right: 8%; }
  #fv #fv_pack {
    position: absolute;
    z-index: 3;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center; }
    #fv #fv_pack #fv_pack_info {
      width: 520px; }
      #fv #fv_pack #fv_pack_info a {
        padding-left: 45px;
        padding-right: 85px;
        font-size: 14px; }
        #fv #fv_pack #fv_pack_info a dl {
          height: 80px; }
        #fv #fv_pack #fv_pack_info a::after {
          right: 45px; }
    #fv #fv_pack #fv_pack_contact {
      margin-left: -25px;
      clip-path: polygon(25px 0%, 100% 0%, 100% 100%, 0% 100%);
      width: 230px;
      padding-left: 25px; }
      #fv #fv_pack #fv_pack_contact a {
        height: 80px;
        font-size: 18px; }

  body.is-animation #fv #fv_pack #fv_pack_contact {
    position: fixed;
    bottom: 0;
    right: 0;
    transform: translateY(-100%);
    animation: consultation .5s ease-out forwards; } }
@keyframes consultation {
  from {
    transform: translateY(100%);
    opacity: 0; }
  to {
    transform: translateY(0);
    opacity: 1; } }
@media (min-width: 1580px) {
  #fv > figure {
    min-height: 915px;
    height: 100vh;
    max-height: 1080px;
    /*min-height: 1080px;
    height: 100vh;*/ }
  #fv #fv_inner {
    width: 1530px; }
    #fv #fv_inner #fv_inner_text {
      width: 1020px;
      margin-bottom: 5%; }
      #fv #fv_inner #fv_inner_text p#text_main {
        font-size: 87px; }
      #fv #fv_inner #fv_inner_text p#text_sub {
        font-size: 28px; }
    #fv #fv_inner #fv_inner_img {
      width: calc(100% - 1020px);
      padding-right: 50px; }
  #fv > span {
    width: 550px; }
  #fv #fv_pack #fv_pack_info {
    width: 680px; }
    #fv #fv_pack #fv_pack_info a {
      font-size: 16px;
      padding-left: 60px;
      padding-right: 85px; }
      #fv #fv_pack #fv_pack_info a dl {
        height: 100px; }
      #fv #fv_pack #fv_pack_info a::after {
        right: 55px; }
  #fv #fv_pack #fv_pack_contact {
    width: 320px; }
    #fv #fv_pack #fv_pack_contact a {
      height: 100px; } }
@media (min-width: 1780px) {
  #fv #fv_inner {
    width: 1730px; }
    #fv #fv_inner #fv_inner_text {
      width: 1115px; }
    #fv #fv_inner #fv_inner_img {
      width: calc(100% - 1115px);
      max-width: 555px;
      padding-right: 80px; }
  #fv > span {
    width: 650px; }
  #fv #fv_pack #fv_pack_info {
    width: 760px; }
    #fv #fv_pack #fv_pack_info a {
      height: 100px;
      padding-left: 75px;
      padding-right: 75px; }
      #fv #fv_pack #fv_pack_info a::after {
        right: 77px; }
  #fv #fv_pack #fv_pack_contact {
    width: 360px; }
    #fv #fv_pack #fv_pack_contact a {
      font-size: 22px; } }
#fv_low {
  position: relative;
  display: flex;
  align-items: center;
  background-color: #6597C9; }
  #fv_low figure {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    #fv_low figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  #fv_low #fv_low_inner #fv_low_inner_head span {
    font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
    color: #ffffff;
    font-weight: 700;
    text-transform: uppercase; }
  #fv_low #fv_low_inner #fv_low_inner_head h1, #fv_low #fv_low_inner #fv_low_inner_head .list_title {
    font-size: clamp(1.875rem, 1.648rem + 1.14vw, 2.5rem);
    padding-left: .7em;
    color: #ffffff;
    font-weight: bold; }
  #fv_low #fv_low_inner ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px; }
    #fv_low #fv_low_inner ul li {
      display: flex;
      align-items: center;
      gap: 10px; }
      #fv_low #fv_low_inner ul li span, #fv_low #fv_low_inner ul li a {
        display: block;
        color: #ffffff;
        line-height: 1;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase; }
      #fv_low #fv_low_inner ul li a {
        border-bottom: dotted 1px white; }
      #fv_low #fv_low_inner ul li + li::before {
        content: ">";
        display: block;
        font-size: 12px;
        color: #ffffff;
        transform: translate(0, -10%);
        font-weight: 700; }

@media (max-width: 990px) {
  #fv_low {
    height: 450px;
    max-height: 50vh; }
    #fv_low #fv_low_inner ul {
      margin-top: 30px; } }
@media (min-width: 991px) {
  #fv_low {
    height: 700px; }
    #fv_low #fv_low_inner ul {
      margin-top: 45px; } }
/***********************
          MAIN
***********************/
main#low_main {
  position: relative; }
  main#low_main::before {
    content: "";
    display: block;
    background-color: #ffffff;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0, -99%); }

@media (max-width: 990px) {
  main#low_main::before {
    height: 60px;
    clip-path: polygon(30px 0%, calc(100% - 30px) 0%, 100% 100%, 0% 100%); } }
@media (min-width: 991px) {
  main#low_main::before {
    height: 100px;
    clip-path: polygon(55px 0%, calc(100% - 55px) 0%, 100% 100%, 0% 100%); } }
/***********************
      TEXT BLOCK
***********************/
.text_block > span {
  display: block;
  font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);
  font-weight: 600; }
.text_block .text_block_inner {
  margin-top: 25px; }
  .text_block .text_block_inner h2 {
    line-height: 1.45em;
    letter-spacing: .08em; }
  .text_block .text_block_inner p {
    margin-top: 2.5em;
    font-weight: 600;
    line-height: 2.2em; }

@media (max-width: 990px) {
  .text_block .text_block_inner {
    padding-left: 20px; }
    .text_block .text_block_inner h2 {
      font-size: 40px; } }
@media (max-width: 767px) {
  .text_block .text_block_inner h2 {
    font-size: 5.7vw; } }
@media (max-width: 489px) {
  .text_block .text_block_inner {
    padding-left: 4vw; } }
@media (min-width: 991px) {
  .text_block .text_block_inner {
    padding-left: 30px; }
    .text_block .text_block_inner h2 {
      font-size: 50px; } }
@media (min-width: 1780px) {
  .text_block .text_block_inner {
    padding-left: 56px; }
    .text_block .text_block_inner h2 {
      font-size: 60px; } }
/***********************
   TEXT BLOCK CENTER
***********************/
.text_block_c {
  text-align: center; }
  .text_block_c .text_block_c_head > span {
    display: block;
    line-height: 1;
    color: #414141; }
    .text_block_c .text_block_c_head > span.text_block_c_head_cap {
      font-weight: 700; }
    .text_block_c .text_block_c_head > span:not(.text_block_c_head_cap) {
      margin-top: .3em;
      font-family: "Roboto", sans-serif;
      margin-bottom: .7em;
      font-weight: 500; }
  .text_block_c .text_block_c_head h2 {
    font-weight: 600; }

@media (max-width: 1239px) {
  .text_block_c .text_block_c_head {
    margin-bottom: 40px; }
    .text_block_c .text_block_c_head > span.text_block_c_head_cap {
      font-size: 16px; }
    .text_block_c .text_block_c_head > span:not(.text_block_c_head_cap) {
      font-size: 60px; }
    .text_block_c .text_block_c_head h2 {
      font-size: 30px; } }
@media (max-width: 990px) {
  .text_block_c .text_block_c_head > span:not(.text_block_c_head_cap) {
    font-size: 45px; }
  .text_block_c .text_block_c_head h2 {
    font-size: 22px; } }
@media (max-width: 767px) {
  .text_block_c .text_block_c_head > span.text_block_c_head_cap {
    font-size: 3vw; }
  .text_block_c .text_block_c_head > span:not(.text_block_c_head_cap) {
    font-size: 6vw; }
  .text_block_c .text_block_c_head h2 {
    font-size: 18px; }
  .text_block_c p br.tab_none {
    display: none; } }
@media (min-width: 1240px) {
  .text_block_c .text_block_c_head {
    margin-bottom: 49px; }
    .text_block_c .text_block_c_head > span.text_block_c_head_cap {
      font-size: 20px; }
    .text_block_c .text_block_c_head > span:not(.text_block_c_head_cap) {
      font-size: 87px; }
    .text_block_c .text_block_c_head h2 {
      font-size: 40px; } }
/***********************
       BG CONVEX
***********************/
.bg_convex {
  overflow: hidden; }
  .bg_convex .bg_convex_inner {
    position: relative; }
    .bg_convex .bg_convex_inner::before {
      width: 1920px;
      aspect-ratio: 1920 / 99.17;
      content: "";
      display: block;
      background: url("../img/top/business_line_w.webp") no-repeat center/cover;
      position: absolute;
      top: -20px;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: 2; }
    .bg_convex .bg_convex_inner::after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background-color: rgba(144, 179, 206, 0.34);
      position: absolute;
      z-index: -1;
      top: 0;
      left: 0; }
    .bg_convex .bg_convex_inner > span {
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      text-align: center;
      height: 80px;
      font-size: 23px;
      font-weight: 800; }
    .bg_convex .bg_convex_inner figure {
      position: absolute;
      z-index: -2;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .bg_convex .bg_convex_inner figure img {
        width: 100%;
        height: 100%;
        object-fit: cover; }

@media (min-width: 1780px) {
  .bg_convex {
    position: relative; }
    .bg_convex::before {
      content: "";
      display: block;
      width: calc((100% - 1920px) / 2);
      height: 78px;
      position: absolute;
      left: 0;
      top: 0;
      background-color: #ffffff; }
    .bg_convex::after {
      content: "";
      display: block;
      width: calc((100% - 1920px) / 2);
      height: 78px;
      position: absolute;
      right: 0;
      top: 0;
      background-color: #ffffff; } }
/***********************
       ROW HEAD
***********************/
.row_head .row_head_cap span {
  display: block;
  color: #FFC44E;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .1em; }

@media (max-width: 1239px) {
  .row_head .row_head_cap {
    margin-bottom: 35px; }
    .row_head .row_head_cap span {
      font-size: clamp(2.5rem, 1.591rem + 4.55vw, 5rem); } }
@media (min-width: 1240px) {
  .row_head {
    position: relative; }
    .row_head .row_head_cap {
      position: absolute;
      top: 0;
      left: 0;
      transform: rotate(180deg) translate(100%, 0); }
      .row_head .row_head_cap span {
        writing-mode: vertical-rl;
        font-size: 100px; } }
@media (min-width: 1780px) {
  .row_head .row_head_cap span {
    font-size: 120px; } }
/***********************
          TAB
***********************/
.tab-wrap .panel-list .panel-item.is-active {
  display: block;
  animation: panel-show .9s ease-in-out forwards; }
.tab-wrap .panel-list .panel-item:not(.is-active) {
  display: none; }

@keyframes panel-show {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/***********************
          TEL
***********************/
@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; } }
/***********************
          FOOTER
***********************/
footer {
  position: relative;
  overflow-x: hidden; }
  footer .footer_main {
    display: flex;
    align-items: center;
    flex-direction: column; }
    footer .footer_main figure {
      aspect-ratio: 457 / 62.67; }
      footer .footer_main figure img {
        width: 100%;
        height: 100%;
        object-fit: contain; }
    footer .footer_main .footer_main_contact {
      display: flex;
      align-items: center;
      flex-direction: column; }
      footer .footer_main .footer_main_contact a {
        display: flex;
        align-items: center;
        font-family: "Roboto", sans-serif;
        font-weight: 500;
        color: #535353;
        letter-spacing: .05em;
        line-height: 1.4em; }
        footer .footer_main .footer_main_contact a::before {
          content: "";
          display: block;
          aspect-ratio: 1 / 1;
          background: url("../img/default/icon_tel.webp") no-repeat center/contain;
          transform: translate(0, 7%); }
      footer .footer_main .footer_main_contact p {
        color: #535353;
        font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem); }
  footer ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap; }
    footer ul li a {
      font-size: clamp(0.938rem, 0.915rem + 0.11vw, 1rem);
      color: #ffffff;
      font-weight: 600; }
  footer .copyright {
    font-size: clamp(0.625rem, 0.534rem + 0.45vw, 0.875rem);
    text-align: right;
    color: #ffffff;
    font-weight: 600; }
  footer::before {
    content: "";
    display: block;
    aspect-ratio: 1410 / 657;
    background: url("../img/default/footer_l.webp") no-repeat center/cover;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1; }
  footer::after {
    content: "";
    display: block;
    aspect-ratio: 1730 / 731;
    background: url("../img/default/footer_r.webp") no-repeat center/cover;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -2; }

@media (max-width: 990px) {
  footer {
    padding-top: 120px;
    padding-bottom: 65px; }
    footer figure {
      width: 350px; }
    footer .footer_main_contact a {
      font-size: 50px; }
      footer .footer_main_contact a::before {
        margin-right: 10px;
        width: 40px; }
    footer ul {
      margin-top: 200px;
      gap: 10px 25px; }
    footer .copyright {
      margin-top: 60px; }
    footer::before {
      width: 90%; }
    footer::after {
      width: 100%; } }
@media (max-width: 767px) {
  footer {
    padding-top: 100px;
    padding-bottom: 25px; }
    footer .copyright {
      margin-top: 40px; }
    footer::before {
      width: 110%; }
    footer::after {
      width: 130%; } }
@media (max-width: 489px) {
  footer figure {
    width: 80%; }
  footer .footer_main_contact a {
    font-size: 10vw; }
    footer .footer_main_contact a::before {
      margin-right: 2vw;
      width: 8vw; }
  footer::before {
    width: 140%; }
  footer::after {
    width: 160%; } }
@media (min-width: 991px) {
  footer {
    padding-top: 150px;
    padding-bottom: 140px; }
    footer figure {
      width: 457px; }
    footer .footer_main_contact a {
      font-size: 60px; }
      footer .footer_main_contact a::before {
        margin-right: 20px;
        width: 53.57px; }
    footer ul {
      margin-top: 200px;
      gap: 10px 50px; }
    footer .copyright {
      margin-top: 80px; }
    footer::before {
      width: 90%; }
    footer::after {
      width: 100%; } }
@media (min-width: 1240px) {
  footer {
    padding-top: 200px;
    padding-bottom: 200px; }
    footer ul {
      margin-top: 320px; }
    footer .copyright {
      margin-top: 80px; } }
@media (min-width: 1780px) {
  footer ul {
    margin-top: 230px; }
  footer .copyright {
    margin-top: 120px; }
  footer::before {
    width: 73.5%; }
  footer::after {
    width: 90%; } }
/***********************
       LOW CONTACT
***********************/
#low_contact {
  background-color: #FFC44D;
  transition: .3s ease-out;
  position: fixed;
  z-index: 10;
  right: 0; }
  #low_contact a {
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    position: relative;
    gap: 20px;
    font-size: 20px; }
    #low_contact a::after {
      aspect-ratio: 3 / 2;
      content: "";
      width: 30px;
      display: block;
      background: url("../img/default/icon_mail.webp") no-repeat center/contain;
      transition: .3s ease-out;
      transform: translate(0, 0); }
  #low_contact:hover {
    background-color: #FFA04D; }
    #low_contact:hover a::after {
      transform: translate(5px, 0); }

@media (max-width: 990px) {
  #low_contact {
    width: 100%;
    bottom: 0; }
    #low_contact a {
      height: 80px;
      font-size: 20px; } }
@media (min-width: 991px) {
  #low_contact {
    width: 230px;
    top: 100vh;
    transform: translate(0, -100%);
    padding-left: 25px;
    clip-path: polygon(25px 0%, 100% 0%, 100% 100%, 0% 100%); }
    #low_contact a {
      height: 80px;
      font-size: 18px; } }
@media (min-width: 1580px) {
  #low_contact {
    width: 320px; }
    #low_contact a {
      height: 100px; } }
@media (min-width: 1780px) {
  #low_contact {
    width: 360px; }
    #low_contact a {
      font-size: 22px; } }
body.home .grecaptcha-badge {
  z-index: 10; }
  @media (max-width: 990px) {
    body.home .grecaptcha-badge {
      bottom: 110px !important; } }
body:not(.home) .grecaptcha-badge {
  display: none; }

.wpcf7-response-output {
  color: white; }

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