@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
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Zen+Old+Mincho:wght@400;500;600;700&display=swap');

/*-----------------------------------------------------------
■ 1 Html
-----------------------------------------------------------*/

/*--------------------------------------
	general
--------------------------------------*/

/*reset*/
html {
  color: #000;
  background: #fff;
}
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
figure,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  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: normal;
}
ol,
ul {
  list-style: none;
}
caption,
th {
  text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}
q:before,
q:after {
  content: "";
}
abbr,
acronym {
  border: 0;
  font-variant: normal;
}
sup {
  vertical-align: text-top;
}
sub {
  vertical-align: text-bottom;
}
input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%;
}
legend {
  color: #000;
}
#yui3-css-stamp.cssreset {
  display: none;
}

html {
  font-size: 62.5%;
}

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2em;
  color: #333;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}

body.menu--open .fixed-box .pagetop {
  display: none;
}

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

a {
  vertical-align: middle;
  text-decoration: none;
  color: #333;
  -moz-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;
}

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

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

a:hover img {
  opacity: 0.8;
}

img {
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}

p {
  margin-bottom: 20px;
}

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

table {
  width: 100%;
}

strong {
  font-weight: bold;
}

@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
--------------------------------------*/

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

.container::after {
  content: "";
  display: block;
  clear: both;
}

#wrapper {
  height: 100%;
}

@media (max-width: 767px) {
  .container {
    padding: 0 20px;
  }
}

/*--------------------------------------
	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 {
  width: 100%;
  background: #fff;
  z-index: 1000;
  -moz-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;
  position: fixed;
	top: 0;
	left: 0;
  z-index: 9;
}

/* container */
.header__main-container,
.header__sub-container {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}

.header__sub-container {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 220px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .header__sub-container {
    position: absolute;
    width: 220px;
    top: 0;
    left: 0;
  }
}

@media screen and (max-width: 767px) {
  #header {
    position: absolute;
  }
  /* container */
  .header__main-container {
    -webkit-flex-direction: column;
    flex-direction: column;
  }

  .header__sub-container {
    width: 100%;
    flex-grow: initial;
    flex-shrink: initial;
    flex-basis: initial;
  }
}

/*--------------------------------------
	logo
--------------------------------------*/

header .header__logo {
  padding: 20px 23px;
}

header .header__logo img {
  width: 100%;
  max-width: 400px;
  height: auto;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  header .header__logo {
    padding: 5px 10px 10px;
  }
}

@media screen and (max-width: 767px) {
  header .header__logo {
    padding: 10px 14px 14px;
  }
  header .header__logo img {
    width: 243px;
  }
}

/*--------------------------------------
	nav
--------------------------------------*/

header .header__nav nav ol {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

header .header__nav nav ol > li:hover {
  
}

header .header__nav nav ol > li .up-menu {
  display: inline-block;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.02em;
  line-height: 1.2;
  white-space: pre;
  cursor: pointer;
  -moz-transition-duration: 0.7s;
  -o-transition-duration: 0.7s;
  -webkit-transition-duration: 0.7s;
  transition-duration: 0.7s;
  position: relative;
}

header .header__nav nav ol > li > .up-menu a,
header .header__nav nav ol > li > .up-menu span {
  display: block;
  margin: 0 auto;
  padding: 15px 0 20px;
}

header .header__nav nav ol > li > .up-menu sub {
  display: block;
  padding-top: 10px;
  font-size: 10px;
  letter-spacing: 0.25em;
}

header .header__nav nav ol > li + li {
  margin-top: 25px;
}

.sub-menu {
  margin-top: 15px;
  padding: 20px;
  box-sizing: border-box;
  visibility: hidden;
  opacity: 0;
  background: rgba(134, 152, 184, 0.5);
  color: #fff;
  text-align: center;
}

.sub-menu a {
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.02em;
}

.menu-item-has-children {
  position: relative;
}

.menu-item-has-children:hover .sub-menu {
  visibility: visible;
  opacity: 1;
}

header .contactbox {
  margin-top: 60px;
}

header .contactbox .sns {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 30px;
}

header .contactbox .sns a {
  display: block;
  line-height: 1;
}

header .contactbox .sns img {
  width: 23px;
  height: auto;
}

header .header__banners {
  position: absolute;
  bottom: 25px;
  right: 25px;
}

header .header__banners {
  display: flex;
  justify-content: flex-end;
  column-gap: 11px;
}

header .header__nav nav .menu-text > span {
  padding: 0 !important;
}
header .header__nav nav .menu-text > span:nth-child(2) {
  display: none;
}

@media screen and (max-width: 1000px) and (min-width: 768px) {
  header .header__nav nav ol > li .up-menu {
    font-size: 12px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  #g_nav {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  #g_nav {
    width: 100%;
    height: 100vh;
    display: none;
    overflow: auto;
    padding-bottom: 80px;
    box-sizing: border-box;
    background: url('img/menu_bg.jpg') center / cover no-repeat;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
  }
  #g_nav .menu__logo {
    padding: 10px 14px 17px;
    box-sizing: border-box;
    background: #fff;
  }
  #g_nav .menu__logo img {
    max-width: 243px;
    height: auto;
  }
  header .header__nav {
    width: 100%;
    margin-top: 50px;
    padding: 0 30px;
    box-sizing: border-box;
    text-align: center;
  }

  header .header__nav .menu-text {
    color: #fff;
  }

  header .header__nav nav ol {
    -webkit-flex-direction: column;
    flex-direction: column;
  }

  header .header__nav nav ol > li {
    position: relative;
    width: 100%;
    border-left: none;
  }

  header .header__nav nav ol > li > .up-menu:hover {
    
  }

  header .header__nav nav ol > li > .up-menu a,
  header .header__nav nav ol > li > .up-menu span {
    padding: 0px;
  }

  header .header__nav nav ol > li > .up-menu span {
    margin: 0;
  }

  header .header__nav nav ol > li > span {
    position: relative;
  }

  .menu-item-has-children .up-menu::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -20px;
    width: 7px;
    height: 7px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    margin-top: -5px;
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -moz-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
  }

  .menu-item-has-children.hover .up-menu::after {
    margin-top: -2px;
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }

  header .header__nav nav ol > li .sub-menu a:hover {
    text-decoration: none;
  }

  header .header__nav nav ol > li dl {
    position: relative;
    top: 0;
    padding: 0;
    background: none;
  }

  header .header__nav nav ol > li dl li {
    padding-left: 0;
  }

  header .header__nav nav ol > li dl li::before {
    display: none;
  }

  header .header__nav nav ol > li dt {
    display: none;
  }

  header .header__nav nav ol > li .sub-menu {
    position: inherit;
    display: none;
  }

  header .header__nav nav ol > li.hover .sub-menu {
    display: block;
    visibility: initial;
    opacity: 1;
    filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  }

  header .header__nav nav ol > li .sub-menu li {
    display: block;
  }

  header .header__nav nav ol > li .sub-menu li:first-child {
    border-top: 0px;
  }

  header .header__nav nav ol > li .sub-menu a {
    display: block;
  }

  header .header__nav nav ol > li.hover > span + dl,
  header .header_menu .header__nav nav ol > li > span:hover + dl {
    opacity: 1;
    pointer-events: auto;
  }
}

@media screen and (min-width: 768px) {
  #g_nav {
    display: flex;
    flex-direction: column-reverse;
    padding-right: 166px;
    box-sizing: border-box;
    position: relative;
  }
  header .header__nav nav ol {
    column-gap: 25px;
  }
  header .header__nav .menu-text {
    font-family: 'Zen Old Mincho', serif;
    font-weight: 500;
    letter-spacing: 0;
  }
  header .header__nav .menu-text:hover {
    opacity: 0.7;
  }
  header .header__nav nav ol > li + li {
    margin-top: 0;
  }
  header .header__nav nav ol > li dl {
    pointer-events: none;
  }
  header .header__nav nav ol .sub-menu a:hover {
    opacity: 0.7;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
  }
  .sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    width: 230px;
    height: auto;
    margin-top: 0px;
    padding: 20px;
    background: linear-gradient(45deg, #FFAB1A, #F67700);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
  }

  .sub-menu a {
    color: #fff;
  }

  .menu-item-has-children:hover::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -20px;
    width: 100%;
    height: 40px;
  }
  header .contactbox {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 20px;
    margin-top: 5px;
  }
  header .contactbox .tel {
    margin-bottom: 5px;
    font-family: 'Zen Old Mincho', serif;
    font-weight: 500;
    font-size: 23px;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  header .contactbox .tel small {
    color: #F67700;
    font-size: 17px;
    letter-spacing: 0.04em;
  }
  header .contactbox .sns {
    column-gap: 20px;
  }
  #g_nav .btn-reserve {
    width: 136px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
  }
  #g_nav .btn-reserve a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to right, #FFAB1A, #F67700);
    color: #fff;
    font-family: 'Zen Old Mincho', serif;
    font-weight: 700;
    font-size: 19px;
    letter-spacing: 0.04em;
    text-align: center;
  }
  #g_nav .btn-reserve a:hover {
    opacity: 0.7;
  }
  #g_nav .btn-reserve a small {
    font-size: 18px;
    letter-spacing: 0.04em;
  }
  #g_nav .btn-reserve a::before {
    content: '';
    width: 26px;
    height: 26px;
    display: block;
    margin-bottom: 2px;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.22266 1V6.13897' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M19.7773 1V6.13897' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M24.1111 3.56968H3.88889C2.2934 3.56968 1 4.72008 1 6.13917V24.1256C1 25.5447 2.2934 26.6951 3.88889 26.6951H24.1111C25.7066 26.6951 27 25.5447 27 24.1256V6.13917C27 4.72008 25.7066 3.56968 24.1111 3.56968Z' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M1 11.2781H27' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M9.66602 18.9865L12.5549 21.556L18.3327 16.417' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  }
}

/*--------------------------------------
	toggle menu
--------------------------------------*/

header .toggle-menu {
  display: none;
}

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

.toggle-menu__trigger {
  position: relative;
  display: block;
  width: 22px;
  height: 17px;
  padding: 0;
  border: 0px;
  margin: 0;
  text-align: center;
  background: none;
}

.toggle-menu__trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #fff;
}

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

.toggle-menu__trigger span:nth-of-type(2) {
  top: 7px;
}

.toggle-menu__trigger span:nth-of-type(3) {
  width: 75%;
  bottom: 0;
}

.toggle-menu.active .toggle-menu__trigger {
  height: 23px;
}

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

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

.toggle-menu.active .toggle-menu__trigger span:nth-of-type(3) {
  width: 100%;
  -moz-transform: translateY(-10px) rotate(45deg);
  -ms-transform: translateY(-10px) rotate(45deg);
  -webkit-transform: translateY(-10px) rotate(45deg);
  transform: translateY(-10px) rotate(45deg);
}

@media screen and (max-width: 767px) {
  header .toggle-menu {
    width: 60px;
    height: 60px;
    background: #345CA4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 11;
  }
}

/*-----------------------------------------------------------
■ 3 Footer
-----------------------------------------------------------*/

/*--------------------------------------
	general
--------------------------------------*/

#footer {
  text-align: center;
  position: relative;
  z-index: 1;
}
#footer .footer-content {
  padding: 55px 0 80px;
  background: #fff;
}
#footer .address,
#footer .sitemap {
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0;
}
#footer .address {
  margin: 25px 0 10px;
}
#footer .sitemap a:hover {
  text-decoration: underline;
}
#footer .copyright {
  margin-bottom: 0;
  padding: 10px;
  background: linear-gradient(to right, #276CB4, #EF8D4C 31%, #D55887 40%, #845AA1);
  color: #fff;
  font-size: 10px;
  letter-spacing: 0;
}

/*--------------------------------------
	fixed box
--------------------------------------*/

.fixed-box {
  width: max-content;
  position: fixed;
  right: 0px;
  bottom: 0;
  display: block;
  height: auto;
  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;
  z-index: 11;
}

.fixed-box .fixed-banner,
.fixed-box .fixed-banner__pc ul,
.fixed-box .fixed-banner__sp ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.fixed-banner__sp {
  display: none;
}

.fixed-box .fixed-banner {
  column-gap: 11px;
  margin-bottom: 10px;
}

.fixed-box .fixed-banner img {
  width: auto;
  max-height: 96px;
}

.fixed-box img {
  max-width: 100%;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .fixed-banner__sp {
    display: block;
  }

  .fixed-banner__pc {
    display: none;
  }

  .fixed-box {
    width: 100%;
  }

  .fixed-box .fixed-banner {
    flex-direction: column;
    row-gap: 8px;
  }

  .fixed-box .fixed-banner img {
    width: auto;
    max-height: 60px;
  }

  #footer {
    padding-bottom: 55vw;
  }
}

/*-----------------------------------------------------------
■ 3 Other Common Elements
-----------------------------------------------------------*/

/*--------------------------------------
	conversion section
--------------------------------------*/

.conversion {
  padding: 80px 0 90px;
  background: url('img/bg2.jpg') center / cover no-repeat;
  color: #fff;
  position: relative;
  z-index: 1;
}
.conversion .ttl-style-1 .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0px !important;
}
.conversion .ttl-style-1 .elementor-heading-title span {
  background: none;
  background-clip: unset;
  -webkit-text-fill-color: unset;
  color: #fff;
}
.conversion .ttl-style-1 .elementor-heading-title .en {
  font-size: 70px;
}
.conversion h3.ttl {
  margin-top: 10px;
  font-family: 'Zen Old Mincho', serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.6 !important;
  letter-spacing: 0.01em;
}
.conversion .set {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.conversion .set .gr1 {
  width: 413px;
}
.conversion .set .gr1 .txt {
  margin-top: 20px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.05em;
}
.conversion .set .gr2 {
  width: calc(100% - 413px);
  max-width: 610px;
}
.conversion .set .gr2 ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 10px;
}
.conversion .set .gr2 ul a {
  display: block;
  padding: 30px 0 35px;
  background: #fff;
  border-radius: 10px;
  color: #3A3A3A;
  font-family: 'Zen Old Mincho', serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: 0.01em;
  text-align: center;
  position: relative;
}
.conversion .set .gr2 ul a:hover {
  opacity: 0.7;
}
.conversion .set .gr2 ul a::before {
  content: '';
  width: 60px;
  height: 60px;
  display: flex;
  align-self: center;
  justify-content: center;
  margin: 0 auto;
  border-radius: 100%;
}
.conversion .set .gr2 ul a small {
  font-size: 16px;
  letter-spacing: 0.05em;
}
.conversion .set .gr2 ul a > span {
  display: block;
}
.conversion .set .gr2 ul .btn-tel a::before {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.15505 11.3367C7.11748 11.2235 7.09113 11.1387 7.07485 11.0836L7.05717 11.0236L7.05252 11.008L7.04586 10.985L7.0379 10.9616C6.92503 10.65 7.02285 10.3124 7.26242 10.0966L8.04315 9.65954L9.65211 8.83973C10.6783 8.3163 11.0857 7.06151 10.5631 6.0348L8.06886 1.13954C7.54525 0.112868 6.29047 -0.294512 5.26444 0.228276C5.25104 0.235102 5.08362 0.32041 3.64078 1.05557L2.75996 1.50437C2.617 1.57721 2.47141 1.6514 2.31152 1.73286C1.81476 1.98541 1.40388 2.36923 1.08287 2.83347C0.521531 3.6484 0.212336 4.70173 0.0760996 5.91494C-0.123957 7.73502 0.075535 9.93317 0.613608 12.2695C1.1526 14.6044 2.03454 17.0741 3.22416 19.4088C5.03845 22.9662 7.51897 26.1303 9.98811 28.2394C11.2246 29.2934 12.4575 30.0872 13.639 30.5245C14.2294 30.742 14.8104 30.8705 15.3753 30.884C15.9396 30.8971 16.4915 30.7903 16.9879 30.5369C17.1478 30.4554 17.2934 30.3812 17.4363 30.3084L18.3172 29.8596C19.76 29.1244 19.9275 29.0391 19.9408 29.0323C20.9666 28.509 21.3746 27.2545 20.852 26.2278L18.3577 21.3324C17.8343 20.3062 16.5796 19.8982 15.553 20.4207L13.944 21.2406L13.1315 21.6153C12.816 21.6818 12.4854 21.5626 12.2998 21.2886L12.286 21.2681L12.2707 21.249L12.261 21.2366C12.14 21.0817 10.9514 19.526 9.31134 16.3073C8.43666 14.5907 7.86925 13.2558 7.52199 12.3552C7.34819 11.9052 7.22939 11.563 7.15505 11.3367ZM19.712 26.8086C19.913 27.2054 19.7558 27.6894 19.3599 27.8922C19.3479 27.8984 19.2036 27.9719 18.0782 28.5453L14.8522 22.2138L16.1339 21.5608C16.5302 21.36 17.0146 21.5169 17.2177 21.9133L19.712 26.8086ZM9.42322 6.61575C9.6245 7.01299 9.46679 7.4972 9.07138 7.69981L7.7897 8.35285L4.56363 2.02133C5.68895 1.44795 5.83326 1.37442 5.8453 1.36828C6.24203 1.16727 6.72583 1.32405 6.92891 1.72037L9.42322 6.61575ZM5.82092 11.3473L5.81889 11.3478C5.82973 11.3877 6.38146 13.3755 8.17123 16.8882C9.961 20.4008 11.2446 22.0152 11.2706 22.0474L11.2722 22.046C11.7807 22.7556 12.6624 23.0614 13.4795 22.852L13.5359 22.8373L14.1616 22.5493L17.3942 28.8937L16.8554 29.1683C16.7125 29.2411 16.5669 29.3153 16.407 29.3968C16.1208 29.542 15.7935 29.6129 15.4045 29.6047C14.726 29.592 13.8644 29.3135 12.9238 28.7752C11.5118 27.9724 9.93099 26.6048 8.43122 24.8778C6.92974 23.1507 5.50346 21.0649 4.3642 18.8279C2.62616 15.4201 1.56668 11.6761 1.33086 8.64614C1.21144 7.13249 1.30059 5.79806 1.58426 4.797C1.72571 4.29635 1.91389 3.88073 2.13501 3.56171C2.35698 3.24219 2.60671 3.019 2.89244 2.87284C3.05233 2.79137 3.19793 2.71719 3.34087 2.64435L3.87971 2.3698L7.11235 8.71421L6.51138 9.05068L6.46654 9.08812C5.81681 9.62624 5.54552 10.5184 5.82092 11.3473Z' fill='white'/%3E%3C/svg%3E%0A") center / 22px no-repeat, linear-gradient(to right, #FFAB1A, #F67700);
}
.conversion .set .gr2 ul .btn-reserve a::before {
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.11133 1V5.88889' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M16.8887 1V5.88889' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M20.5556 3.44434H3.44444C2.09441 3.44434 1 4.53875 1 5.88878V22.9999C1 24.3499 2.09441 25.4443 3.44444 25.4443H20.5556C21.9056 25.4443 23 24.3499 23 22.9999V5.88878C23 4.53875 21.9056 3.44434 20.5556 3.44434Z' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M1 10.7773H23' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3Cpath d='M8.33301 18.1105L10.7775 20.5549L15.6663 15.666' stroke='white' stroke-width='2' stroke-linecap='square' stroke-linejoin='round'/%3E%3C/svg%3E") center / 24px no-repeat, linear-gradient(to right, #FFAB1A, #F67700);
}
.conversion .set .gr2 ul .btn-reserve a::after {
  content: '';
  width: 14px;
  height: 14px;
  display: block;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.7037 11.7571H1.44292V1.44291H4.27531V0H0V13.2H13.2V8.9247H11.7037V11.7571Z' fill='%23AA9E6B'/%3E%3Cpath d='M6.57307 0V1.44291H10.688L6.19897 5.93199L7.21436 7.00082L11.7034 2.51174V6.62672H13.1998V0H6.57307Z' fill='%23AA9E6B'/%3E%3C/svg%3E") center / contain no-repeat;
  position: absolute;
  bottom: 13px;
  right: 13px;
}

@media screen and (max-width: 1024px) {
  .conversion .set {
    display: block;
  }
  .conversion .set .gr1 {
    width: 100%;
  }
  .conversion .set .gr1 .txt {
    margin-top: 20px;
    line-height: 1.8;
  }
  .conversion .set .gr2 {
    width: 100%;
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .conversion {
    padding: 40px 0 30px;
    background-image: url('img/bg2.jpg');
  }
  .conversion .ttl-style-1 .elementor-heading-title .en {
    font-size: 26px;
  }
  .conversion h3.ttl {
    margin-top: 10px;
    font-size: 25px;
  }
  .conversion .set .gr2 ul {
    display: block;
  }
  .conversion .set .gr2 ul a {
    display: flex;
    align-items: center;
    padding: 16px 0;
    font-size: 28px;
    line-height: 1.2;
  }
  .conversion .set .gr2 ul a::before {
    width: 55px;
    height: 55px;
    margin: 0 20px;
  }
  .conversion .set .gr2 ul a small {
    font-size: 14px;
  }
  .conversion .set .gr2 ul a > span {
    display: block;
  }
  .conversion .set .gr2 ul .btn-tel a::before {
    
  }
  .conversion .set .gr2 ul .btn-reserve a::before {
    
  }
  .conversion .set .gr2 ul .btn-reserve a::after {
    width: 8px;
    height: 8px;
    bottom: 9px;
    right: 9px;
  }
  .conversion .set .gr2 ul li + li {
    margin-top: 11px;
  }
}

/*-----------------------------------------------------------
■ 4 Elementor overwrite
-----------------------------------------------------------*/

.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
  padding: 0 !important;
}

.elementor img {
  width: auto !important;
}

.elementor-image-box-wrapper {
  display: block !important;
}

.elementor-widget-image-box .elementor-image-box-content {
  text-align: left !important;
}

.elementor-image-box-title {
  padding: 10px 20px;
  margin-bottom: 20px;
  overflow: hidden;
  font-size: 18px;
  line-height: 1.4;
  color: #fff;
  background: #3dc2b7;
}

.elementor-image-box-img {
  float: right;
  display: block !important;
  width: 30% !important;
  margin: 0 0 10px 20px !important;
  text-align: center;
  text-align: right;
}

.img_l .elementor-image-box-img {
  float: left;
  margin: 0 20px 10px 0 !important;
}

.auto_width .elementor-image-box-img {
  width: auto !important;
}

.elementor-widget-image .elementor-image > a,
.elementor-widget-image .elementor-image figure > a {
  display: inline-block !important;
}

.elementor-widget-image .elementor-image > a:hover img,
.elementor-widget-image .elementor-image figure > a:hover img {
  opacity: 0.8 !important;
}

.elementor-slideshow__header {
  width: calc(100% - 50px) !important;
  padding-left: 0em !important;
  padding-right: 0em !important;
}

.elementor-text-editor ul {
  list-style: inside;
}

@media screen and (max-width: 767px) {
  .elementor-image-box-img,
  .img_l .elementor-image-box-img {
    float: none;
    width: 100% !important;
    margin: 0 auto 20px !important;
    text-align: center;
  }
}
