@charset "UTF-8";

/* 
Theme Name: genova_tpl
File: style.css
Author: Genova Design
Author URL: https://genova.co.jp/
Description: Genova 2021 Wordpress template
Version: 1.0
*/
/*-----------------------------------------------------------
■ 1 Html
-----------------------------------------------------------*/
/*--------------------------------------
  general
--------------------------------------*/
/*reset*/
html,legend{color:#000}blockquote,body,code,dd,div,dl,dt,fieldset,figure,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:400}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}q:after,q:before{content:""}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}#yui3-css-stamp.cssreset{display:none}html{background:#fff;font-size:62.5%}

body {
   position: relative;
   font-family: "Noto Sans JP", sans-serif;
   font-weight: 400;
   font-size: 14px;
   letter-spacing: 0;
   line-height: 2;
   color: #505F67;
   background: #E0F4FF;
   -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 767px) {
   body {
      font-weight: 500;
   }
}

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

a {
   display: inline-block;
   vertical-align: top;
   text-decoration: none;
   color: inherit;
   -moz-transition: all 0.7s;
   -o-transition: all 0.7s;
   -webkit-transition: all 0.7s;
   transition: all 0.7s;
}

a * {
   -moz-transition: all 0.7s;
   -o-transition: all 0.7s;
   -webkit-transition: all 0.7s;
   transition: all 0.7s;
}

a[href^="tel:"] {
   pointer-events: none;
   cursor: text;
}

a:focus,
*:focus {
   outline: none;
}

a:hover,
a:hover img {
   opacity: 0.8;
}

img {
   display: inline-block;
   vertical-align: middle;
   width: auto;
   max-width: 100%;
   height: auto;
   margin: 0;
   padding: 0;
}

p {
   margin-bottom: 20px;
}

p:last-child {
   margin-bottom: 0;
}

table {
   width: 100%;
}

strong {
   font-weight: bold;
}

code {
   display: inline-block;
   vertical-align: top;
   font-family: inherit;
}

.cl-orange {
   color: #EB8D46;
}

.cl-blue {
   color: #0F70A7;
}

.cl-green {
   color: #A7B638;
}

.cl-turquoise {
   color: #ACD9E3;
}

.cl-black {
   color: #1E272C;
}

.fnt-zmg {
   font-family: "Zen Maru Gothic", sans-serif;
   font-style: normal;
}

.fnt-aso {
   font-family: "Alfa Slab One", serif;
   font-weight: 400;
   font-style: normal;
}

@media screen and (max-width: 767px) {
   a[href^="tel:"] {
      pointer-events: auto;
      cursor: pointer;
   }

   .auto_height {
      height: auto !important;
   }
}

/*--------------------------------------
  icons
--------------------------------------*/
@font-face {
   font-family: 'icomoon';
   src: url("./libs/icomoon/icomoon.eot");
   src: url("../libs/icomoon/icomoon.eot#iefix") format("embedded-opentype"), url("./libs/icomoon/icomoon.ttf") format("truetype"), url("./libs/icomoon/icomoon.woff") format("woff"), url("./libs/icomoon/icomoon.svg#icomoon") format("svg");
   font-weight: normal;
   font-style: normal;
}

[class*='icon-']:not([class*='eicon-']):not([class*='elementor-icon-'])::before {
   display: inline-block;
   font-family: 'icomoon';
   speak: none;
   font-style: normal;
   font-weight: normal;
   font-variant: normal;
   text-transform: none;
   line-height: 1;
   vertical-align: baseline;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}

.icon-home::before {
   content: "\e90b";
}

.icon-blog::before {
   content: "\e900";
}

.icon-category::before {
   content: "\e901";
}

.icon-check::before {
   content: "\e902";
}

.icon-checked::before {
   content: "\e903";
}

.icon-down::before {
   content: "\e904";
}

.icon-facebook::before {
   content: "\e905";
}

.icon-google::before {
   content: "\e906";
}

.icon-line::before {
   content: "\e907";
}

.icon-twitter::before {
   content: "\e908";
}

.icon-arrow02::before {
   content: "\e909";
}

.icon-arrow01::before {
   content: "\e910";
}

.icon-search::before {
   content: "\e911";
}

.icon-tag::before {
   content: "\e912";
}

.icon-checkbox-unchecked::before {
   content: "\ea53";
}

.icon-checkbox-checked::before {
   content: "\ea52";
}

.radio-unchecked::before {
   content: "\ea56";
}

.radio-checked::before {
   content: "\ea54";
}

.radio-checked2::before {
   content: "\ea55";
}

/*--------------------------------------
  shortcuts
--------------------------------------*/
/*margin */
.mb0 {
   margin-bottom: 0px !important;
}

.mb5 {
   margin-bottom: 5px !important;
}

.mb10 {
   margin-bottom: 10px !important;
}

.mb15 {
   margin-bottom: 15px !important;
}

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

.mb25 {
   margin-bottom: 25px !important;
}

.mb30 {
   margin-bottom: 30px !important;
}

.mb35 {
   margin-bottom: 35px !important;
}

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

.mb45 {
   margin-bottom: 45px !important;
}

.mb50 {
   margin-bottom: 50px !important;
}

.mb55 {
   margin-bottom: 55px !important;
}

.mb60 {
   margin-bottom: 60px !important;
}

.mb65 {
   margin-bottom: 65px !important;
}

.mb70 {
   margin-bottom: 70px !important;
}

.mb75 {
   margin-bottom: 75px !important;
}

.mb80 {
   margin-bottom: 80px !important;
}

.mb85 {
   margin-bottom: 85px !important;
}

.mb90 {
   margin-bottom: 90px !important;
}

.mb95 {
   margin-bottom: 95px !important;
}

.mb100 {
   margin-bottom: 100px !important;
}

/* float */
.fr {
   float: right !important;
}

.fl {
   float: left !important;
}

/* clear */
.clearfix {
   *zoom: 1;
}

.clearfix::after {
   content: "";
   display: table;
   clear: both;
}

.cl {
   clear: both !important;
}

/* text indent */
.textHide {
   overflow: hidden;
   text-indent: 100%;
   white-space: nowrap;
}

/* text-align */
.tac {
   text-align: center !important;
}

.tar {
   text-align: right !important;
}

.tal {
   text-align: left !important;
}

/* font-weight */
.fb {
   font-weight: bold !important;
}

.half {
   display: inline-block;
}

/*Pc/sp change*/
.sp {
   display: none;
}

.mb {
   display: none;
}

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

   .sp {
      display: block !important;
   }
}

@media screen and (max-width: 480px) {
   .mb {
      display: block;
   }

   .pcm {
      display: none;
   }
}

/*--------------------------------------
  container / wrapper
--------------------------------------*/
#wrapper {
   height: 100%;
   overflow: hidden;
}

.container {
   width: 100%;
   max-width: 1140px;
   margin: 0 auto;
   padding: 0 30px;
   position: relative;
}

@media screen and (max-width: 767px) {
   #wrapper {
      padding-top: 70px;
   }
}

/*--------------------------------------
  text color
--------------------------------------*/
.txt_color {
   color: #94C789;
}

.txt_link {
   vertical-align: top;
   text-decoration: underline !important;
   font-weight: bold;
   color: #94C789 !important;
}

.txt_link:hover {
   text-decoration: none !important;
}

.catch_title {
   text-align: center;
   font-size: 22px;
   line-height: 1.6;
   letter-spacing: 0.15em;
   color: #FFAEA2;
}

/*-----------------------------------------------------------
■ 2 Header
-----------------------------------------------------------*/
/*--------------------------------------
  general
--------------------------------------*/
.header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 1000;
   -moz-transition-duration: 0.7s;
   -o-transition-duration: 0.7s;
   -webkit-transition-duration: 0.7s;
   transition-duration: 0.7s;
   padding: 20px;
}

@media screen and (max-width: 1024px) {
   .header {
      padding: 0;
   }
}

/* container */
.header-container {
   display: flex;
   gap: 20px;
   background-color: #fff;
   padding: 5px 5px 14px 24px;
   border-radius: 18px;
}

@media screen and (max-width: 1024px) {
   .header-container {
      height: 70px;
      align-items: center;
      padding: 0 20px;
      border-radius: 0;
   }
}

/*--------------------------------------
  logo
--------------------------------------*/
.header__logo {
   align-self: center;
   flex: 1 0 0;
}

.header__logo a {
   display: block;
   max-width: 423px;
}

@media screen and (max-width: 767px) {
   .header__logo a {
      max-width: 281px;
   }
}

/*--------------------------------------
  nav
--------------------------------------*/
.lang {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   border-radius: 50px;
   background-color: #0F70A7;
   color: #C4D1D8;
   font-weight: 500;
   font-size: 11px;
   line-height: 19px;
   padding: 5px;
   text-align: center;
}

.lang a {
   width: 53px;
   border-radius: 50px;
}

.lang a.current,
.lang a:hover {
   background-color: #fff;
   color: #2D93CF;
   opacity: 1;
}

.navbar {
   text-align: right;
}

.navbar .lang {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   border-radius: 50px;
   background-color: #0F70A7;
   color: #C4D1D8;
   font-weight: 500;
   font-size: 11px;
   line-height: 19px;
   padding: 5px;
   text-align: center;
}

.navbar .lang a {
   width: 53px;
   border-radius: 50px;
}

.navbar .lang a.current,
.navbar .lang a:hover {
   background-color: #fff;
   color: #2D93CF;
   opacity: 1;
}

.navbar nav {
   text-align: left;
   padding: 8px 19px 0 0;
}

.navbar nav ul {
   display: flex;
   gap: 20px;
}

.navbar nav a {
   display: flex;
   background: no-repeat center left / 30px auto;
   font-weight: 500;
   font-size: 15px;
   line-height: 30px;
   letter-spacing: 0.08em;
   padding-left: 38px;
}

.navbar nav a:hover {
   text-decoration: underline;
}

.navbar nav .icon-1 a {
   background-image: url("img/icons/nav-icon-1_blue.webp");
}

.navbar nav .icon-2 a {
   background-image: url("img/icons/nav-icon-2_blue.webp");
}

.navbar nav .icon-3 a {
   background-image: url("img/icons/nav-icon-3_blue.webp");
}

.navbar nav .icon-4 a {
   background-image: url("img/icons/nav-icon-4_blue.webp");
}

.navbar nav .icon-5 a {
   background-image: url("img/icons/nav-icon-5_blue.webp");
}

.navbar nav .icon-6 a {
   background-image: url("img/icons/nav-icon-6_blue.webp");
}

.navbar .txt {
   text-align: right;
   color: #C4D1D8;
   font-weight: 500;
   font-size: 11px;
   line-height: 2;
   margin-bottom: 0;
   padding: 5px 19px 0 0;
}

@media screen and (max-width: 1200px) {
   .navbar nav a {
      padding-left: 30px;
   }

   .navbar nav ul {
      gap: 10px;
   }
}

@media screen and (max-width: 1024px) {
   .navbar {
      display: flex;
      flex-direction: column;
      background: #2D93CF;
      color: #fff;
      width: 100%;
      height: 100vh;
      box-sizing: border-box;
      overflow-y: auto;
      position: fixed;
      top: 0;
      left: 0;
      padding: 95px 0 0;
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s linear;
      text-align: left;
      z-index: -1;
   }

   .navbar .nav-top {
      display: flex;
      gap: 14px;
      padding: 0 30px;
   }

   .navbar .nav-insta {
      display: block;
      width: 74px;
      margin-bottom: 0;
   }

   .navbar .nav-insta a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 35px;
      background-color: #71CEE2;
      border-radius: 50px;
   }

   .navbar .nav-insta a img {
      max-width: 18px;
   }

   .navbar .nav-list {
      width: 100%;
      padding: 24px 30px;
      flex: 1 0 0;
   }

   .navbar .nav-list nav {
      padding: 0;
   }

   .navbar .nav-list nav ul {
      flex-direction: column;
      gap: 20px;
   }

   .navbar .nav-list nav a {
      font-size: 20px;
      line-height: 30px;
   }

   .navbar .nav-list nav a:hover {
      text-decoration: none;
   }

   .navbar .nav-list nav .icon-1 a {
      background-image: url("img/icons/nav-icon-1.webp");
   }

   .navbar .nav-list nav .icon-2 a {
      background-image: url("img/icons/nav-icon-2.webp");
   }

   .navbar .nav-list nav .icon-3 a {
      background-image: url("img/icons/nav-icon-3.webp");
   }

   .navbar .nav-list nav .icon-4 a {
      background-image: url("img/icons/nav-icon-4.webp");
   }

   .navbar .nav-list nav .icon-5 a {
      background-image: url("img/icons/nav-icon-5.webp");
   }

   .navbar .nav-list nav .icon-6 a {
      background-image: url("img/icons/nav-icon-6.webp");
   }

   .navbar .lang {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      width: calc(100% - 88px);
   }

   .navbar .lang a {
      width: 100%;
      padding: 3px 0;
   }

   .navbar .txt {
      display: none;
   }

   .navbar .cv {
      display: block;
      background: url("img/nav-contact-bg_sp.webp") no-repeat center top/cover;
      padding: 40vw 30px 45vw;
   }

   .navbar .cv-title {
      font-weight: 500;
      font-size: 32px;
      line-height: 1.2;
      letter-spacing: 0.2em;
      margin-bottom: 40px;
   }

   .navbar .cv-title .sub {
      display: block;
      font-size: 14px;
      line-height: 1.1;
      letter-spacing: 0.06em;
      padding-bottom: 20px;
   }

   .navbar .cv-list {
      text-align: center;
   }

   .navbar .cv-list li:not(:last-child) {
      margin-bottom: 10px;
   }

   .navOpen .header {
      padding: 0;
   }

   .navOpen .navbar {
      opacity: 1;
      visibility: visible;
   }
}

@media screen and (max-width: 480px) {
   .navbar .cv {
      padding: 32vw 30px 36vw;
   }
}

@media screen and (min-width: 1025px) {
   .navbar {
      height: auto !important;
   }
}

/*--------------------------------------
  toggle menu
--------------------------------------*/
.toggle-menu {
   display: none;
   background: transparent;
   border-radius: 0px;
   width: 32px;
   height: 30px;
   z-index: 1;
}

.toggle-menu__trigger,
.toggle-menu__trigger span {
   display: inline-block;
   -moz-transition: all .4s;
   -o-transition: all .4s;
   -webkit-transition: all .4s;
   transition: all .4s;
}

.toggle-menu__trigger {
   display: block;
   width: 24px;
   height: 18px;
   background: transparent;
   border: 0px;
   margin: 0;
   padding: 0;
   text-align: center;
   position: relative;
}

.toggle-menu__trigger span {
   position: absolute;
   left: 0;
   width: 24px;
   height: 2px;
   border-radius: 4px;
}

.toggle-menu__trigger span:nth-of-type(1) {
   background-color: #0F70A7;
   top: 0;
}

.toggle-menu__trigger span:nth-of-type(2) {
   background-color: #2D93CF;
   top: 8px;
}

.toggle-menu__trigger span:nth-of-type(3) {
   background-color: #71CEE2;
   top: 16px;
}

.toggle-menu.is-active .toggle-menu__trigger span:nth-of-type(1) {
   -moz-transform: translateY(8px) rotate(-45deg);
   -ms-transform: translateY(8px) rotate(-45deg);
   -webkit-transform: translateY(8px) rotate(-45deg);
   transform: translateY(8px) rotate(-45deg);
}

.toggle-menu.is-active .toggle-menu__trigger span:nth-of-type(2) {
   opacity: 0;
}

.toggle-menu.is-active .toggle-menu__trigger span:nth-of-type(3) {
   top: 20px;
   -moz-transform: translateY(-12px) rotate(45deg);
   -ms-transform: translateY(-12px) rotate(45deg);
   -webkit-transform: translateY(-12px) rotate(45deg);
   transform: translateY(-12px) rotate(45deg);
}

@media screen and (max-width: 1024px) {
   .toggle-menu {
      display: flex;
      align-items: center;
      justify-content: center;
   }
}

/*-----------------------------------------------------------
■ 3 Footer
-----------------------------------------------------------*/
/*--------------------------------------
  general
--------------------------------------*/
.footer {
   background-color: #2D93CF;
   color: #fff;
   position: relative;
   padding: 0 0 165px;
}

.footer:before {
   content: '';
   width: 100%;
   background: url("img/footer-bg.webp") no-repeat center top/cover;
   position: absolute;
   top: -20vw;
   bottom: 0;
   left: 0;
}

.footer .container {
   display: flex;
   justify-content: space-between;
   gap: 20px;
}

.footer-deco {
   width: 27%;
   position: absolute;
   bottom: 100%;
   right: 12%;
}

.footer-logo {
   max-width: 546px;
   margin-bottom: 40px;
}

.footer-txt {
   font-family: "M PLUS Rounded 1c", sans-serif;
   font-weight: 500;
   line-height: 1.6;
   letter-spacing: 0.02em;
   margin-bottom: 0;
}

.footer-sitemap {
   font-family: "M PLUS Rounded 1c", sans-serif;
   font-weight: 500;
   line-height: 1;
   margin-bottom: 30px;
   position: absolute;
   bottom: 0;
   left: 30px;
}

.footer-sitemap a {
   display: inline-block;
   border-bottom: 1px solid #fff;
}

.footer-sitemap a:hover {
   border-bottom-color: transparent;
}

.footer-copyright {
   font-family: "M PLUS Rounded 1c", sans-serif;
   font-weight: 500;
   font-size: 10px;
   letter-spacing: 0.02em;
   line-height: 1;
   margin-bottom: 0;
   position: absolute;
   bottom: 0;
   left: 30px;
}

.footer-col-r {
   width: 375px;
}

.footer-nav {
   padding-bottom: 55px;
}

.footer-nav nav ul {
   display: grid;
   grid-template-rows: repeat(3, 1fr);
   grid-auto-flow: column;
   gap: 10px 20px;
}

.footer-nav a {
   display: flex;
   font-weight: 500;
   font-size: 15px;
   line-height: 30px;
   letter-spacing: 0.08em;
   padding-left: 38px;
}

.footer-nav a:hover {
   text-decoration: underline;
}

.footer-nav .icon-1 a {
   background: url("img/icons/nav-icon-1.webp") no-repeat center left/30px auto;
}

.footer-nav .icon-2 a {
   background: url("img/icons/nav-icon-2.webp") no-repeat center left/30px auto;
}

.footer-nav .icon-3 a {
   background: url("img/icons/nav-icon-3.webp") no-repeat center left/30px auto;
}

.footer-nav .icon-4 a {
   background: url("img/icons/nav-icon-4.webp") no-repeat center left/30px auto;
}

.footer-nav .icon-5 a {
   background: url("img/icons/nav-icon-5.webp") no-repeat center left/30px auto;
}

.footer-nav .icon-6 a {
   background: url("img/icons/nav-icon-6.webp") no-repeat center left/30px auto;
}

.footer-banner {
   display: flex;
   flex-wrap: wrap;
   gap: 10px 14px;
}

.footer-banner li {
   width: calc(50% - 7px);
}

.footer-banner li:first-child {
   width: 100%;
}

@media screen and (max-width: 1199px) {
   .footer:before {
      top: -36vw;
   }

   .footer .deco {
      bottom: 105%;
   }
}

@media screen and (max-width: 1024px) {
   .footer-logo {
      max-width: 400px;
   }
}

@media screen and (max-width: 767px) {
   .footer {
      padding: 20px 0 30vw;
   }

   .footer:before {
      display: none;
   }

   .footer .container {
      flex-direction: column;
      gap: 0;
   }

   .footer-logo {
      margin-bottom: 20px;
   }

   .footer-txt {
      padding-bottom: 32px;
   }

   .footer-nav {
      padding-bottom: 32px;
   }

   .footer-nav nav ul {
      display: block;
   }

   .footer-nav nav ul li:not(:last-child) {
      margin-bottom: 10px;
   }

   .footer-col-r {
      width: 100%;
   }

   .footer-banner {
      padding-bottom: 40px;
   }

   .footer-sitemap {
      position: static;
      margin-bottom: 20px;
   }

   .footer-copyright {
      position: static;
   }
}

/*--------------------------------------
  fixed box
--------------------------------------*/
.fixed-box {
   position: fixed;
   bottom: 0;
   right: 0;
   z-index: 1;
   -moz-transition: all 0.5s ease 0s;
   -o-transition: all 0.5s ease 0s;
   -webkit-transition: all 0.5s ease 0s;
   transition: all 0.5s ease 0s;
}

.fixed-banner {
   padding: 0 20px 20px;
}

.fixed-banner img {
   width: 100%;
   max-width: inherit;
}

.fixed-banner ul {
   display: flex;
   align-items: center;
   gap: 15px;
}

.fixed-banner ul li {
   width: 130px;
}

.fixed-banner ul li.insta {
   width: 40px;
   position: fixed;
   top: 50%;
   right: 0;
   transform: translateY(-50%);
   filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.08));
}

.fixed-banner ul li.chatbot {
   position: fixed;
   bottom: 26px;
   left: 20px;
}

.fixed-banner ul li.chatbot a {
   display: block;
   width: 100px;
   cursor: pointer;
}

@media screen and (max-width: 767px) {
   .fixed-banner {
      padding: 0 2.5vw 2.5vw;
   }

   .fixed-banner ul {
      gap: 0;
   }

   .fixed-banner ul li {
      width: 26.5vw;
      order: inherit;
   }

   .fixed-banner ul li.chatbot {
      position: relative;
      bottom: auto;
      left: auto;
   }

   .fixed-banner ul li.chatbot a {
      width: 24.6vw;
   }

   .fixed-banner ul li.pagetop {
      width: 15.1vw;
      margin-left: 0vw;
   }
}

/*-----------------------------------------------------------
■ 3 Other Common Elements
-----------------------------------------------------------*/
/*--------------------------------------
  sponsor section
--------------------------------------*/
.sponsor {
   background-color: #fff;
   padding: 100px 0;
}

.sponsor .container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 35px;
}

.sponsor h2 {
   color: #0F70A7;
   font-weight: 500;
   font-size: 22px;
   line-height: 1.8;
}

.sponsor h2 .sub {
   display: block;
   color: #ACD9E3;
   font-size: 16px;
   line-height: 1.1;
   letter-spacing: 0.06em;
   padding-top: 12px;
}

.sponsor ul {
   display: grid;
   grid-template-columns: repeat(3, 254px);
   align-items: center;
   gap: 35px;
}

@media screen and (max-width: 1139px) {
   .sponsor ul {
      grid-template-columns: repeat(3, 1fr);
      width: calc(100% - 200px);
   }
}

@media screen and (max-width: 767px) {
   .sponsor {
      padding: 48px 0 64px;
   }

   .sponsor .container {
      flex-direction: column;
      align-items: flex-start;
      gap: 32px;
   }

   .sponsor ul {
      grid-template-columns: 1fr;
      gap: 16px;
      width: 100%;
   }
}

/*--------------------------------------
  conversion section
--------------------------------------*/
.conversion {
   background: url("img/contact-bg.webp") no-repeat center/cover;
   color: #fff;
   padding: 20vw 0 15vw;
   position: relative;
}

.conversion:before {
   content: '';
   width: 100%;
   height: 100%;
   background: url("img/contact-deco.webp") no-repeat center top/100% auto;
   position: absolute;
   top: 0;
   left: 0;
}

.conversion .container {
   display: flex;
   justify-content: space-between;
   gap: 30px;
   z-index: 1;
}

.conversion__col {
   width: 610px;
}

.conversion__title {
   font-weight: 500;
   font-size: 40px;
   line-height: 1.2;
   letter-spacing: 0.2em;
   margin-bottom: 36px;
}

.conversion__title .fnt-aso {
   display: block;
   font-size: 27px;
   line-height: 1.1;
   letter-spacing: 0.06em;
   padding-bottom: 20px;
}

.conversion__text {
   font-weight: 700;
   font-size: 20px;
   line-height: 1.8;
   letter-spacing: 0.1em;
   margin-bottom: 0px;
}

.conversion__list {
   width: 376px;
}

.conversion__list li:not(:last-child) {
   margin-bottom: 12px;
}

@media screen and (max-width: 1199px) {
   .conversion {
      padding-bottom: 25vw;
   }
}

@media screen and (max-width: 767px) {
   .conversion {
      display: flex;
      align-items: center;
      background: url("img/contact-bg_sp.webp") no-repeat center top/cover;
      height: 200.7vw;
      padding: 0;
   }

   .conversion:before {
      display: none;
   }

   .conversion .container {
      flex-direction: column;
      gap: 40px;
   }

   .conversion__col {
      width: 100%;
   }

   .conversion__title {
      font-size: 33px;
      margin-bottom: 36px;
   }

   .conversion__title .sub {
      font-size: 14px;
   }

   .conversion__list {
      width: 100%;
   }
}

/*-----------------------------------------------------------
■ 4 Elementor overwrite
-----------------------------------------------------------*/
.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated,
.elementor-column-gap-default>.elementor-row>.elementor-column>.elementor-element-populated>.elementor-widget-wrap {
   padding: 0 !important;
}

.elementor img {
   width: auto;
}

#content .elementor-widget:not(:last-child) {
   margin-bottom: 0;
}

#content .elementor-widget-image-box .elementor-image-box-wrapper {
   text-align: left;
}

.elementor-heading-title {
   line-height: inherit;
}

.elementor .elementor-widget-text-editor a:not([href^="tel:"]):has(span) span {
   text-decoration: underline;
}

.elementor .elementor-widget-text-editor a:not([href^="tel:"]):has(span) span:hover {
   text-decoration: underline;
}

/*--------------------------------------
  fadeup
--------------------------------------*/
.fadeup {
   transform: translateY(30px);
   opacity: 0;
   transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s, opacity 0.3s ease 0.8s;
}

.fadeup.scrollIn {
   transform: translateY(0);
   opacity: 1;
}