/*
Theme Name: Genova Template
File: top.css
Theme Author: Genova Design
Author URI: https://genova.co.jp/
Description: Description: This file is reserved for the top-page css
Version: 1.0
*/
/*--------------------------------------
   mainimage
--------------------------------------*/
.header {
   opacity: 0;
   visibility: hidden;
}

.header.fixed {
   opacity: 1;
   visibility: visible;
}

#mainimage {
   background: url("../img/top/mv-bg-bottom.webp") no-repeat center bottom/100% auto, url("../img/top/mv-bg.webp") no-repeat center top/cover;
   color: #fff;
   padding: 55px 4vw 0;
}

#mainimage .wrap {
   position: relative;
   padding-bottom: 23vw;
}

#mainimage .box {
   display: flex;
   justify-content: space-between;
   position: absolute;
   top: 0;
   right: 0;
   left: 0;
}

#mainimage .logo {
   width: 185px;
   margin-bottom: 52px;
}

#mainimage .txt {
   font-weight: 500;
   font-size: 10px;
   line-height: 2;
}

#mainimage .txt >*:not(:last-child) {
   margin-bottom: 24px;
}

#mainimage .txt h1 {
	display: inline;
}

#mainimage .nav nav {
   padding-top: 25px;
}

#mainimage .nav nav ul li:not(:last-child) {
   padding-bottom: 10px;
}

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

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

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

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

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

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

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

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

#mainimage .photo {
   width: 63.7%;
   min-height: 852px;
   margin: 0 auto;
   position: relative;
}

#mainimage .photo figcaption {
   width: 12%;
   position: absolute;
   top: 0;
   right: 0;
}

#mainimage .catch-1 {
   width: 27%;
   position: absolute;
   bottom: 8.6vw;
   left: 0;
   margin-bottom: 0;
}

#mainimage .catch-2 {
   width: 20.5%;
   position: absolute;
   bottom: 22vw;
   right: 2vw;
   margin-bottom: 0;
}

@media screen and (max-width: 1024px) {
   #mainimage {
      padding: 2vw 2vw 0;
   }

   #mainimage .wrap {
      padding-bottom: 36vw;
   }

   #mainimage .box {
      position: relative;
   }

   #mainimage .logo {
      width: 150px;
   }

   #mainimage .photo {
      width: 55%;
      min-height: inherit;
      position: absolute;
      top: 0;
      left: 48%;
      transform: translateX(-50%);
   }

   #mainimage .catch-1 {
      bottom: 0;
      left: 2vw;
   }

   #mainimage .catch-2 {
      bottom: 15vw;
      right: 4vw;
   }
}

@media screen and (max-width: 767px) {
   .header {
      opacity: 1;
      visibility: visible;
   }

   #mainimage {
      background-image: url("../img/top/mv-bg-bottom_sp.webp"), url("../img/top/mv-bg.webp");
      padding: 10px 10px 0;
   }

   #mainimage .wrap {
      padding-bottom: 68vw;
   }

   #mainimage .photo {
      width: 100%;
      min-height: inherit;
      position: relative;
      left: 0;
      transform: translateX(0);
      margin: 0 auto;
   }

   #mainimage .photo figcaption {
      display: none;
   }

   #mainimage .box {
      display: block;
      position: relative;
      padding: 20px 20px 0;
   }

   #mainimage .box .logo,
   #mainimage .box .nav {
      display: none;
   }

   #mainimage .catch-1 {
      width: 100%;
      bottom: 0;
      left: 0;
      padding: 0 20px;
   }

   #mainimage .catch-2 {
      width: 40.5vw;
      right: 5.4vw;
      bottom: 30.2vw;
   }
}

/*--------------------------------------
   custom
--------------------------------------*/
.h2 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 40px;
   line-height: 1.2;
   letter-spacing: 0;
   position: relative;
   color: #1E272C;
}

.h2:before {
   content: '';
   width: 4px;
   height: 320px;
   background-image: linear-gradient(to bottom, #C1D33A 20%, #F5A06A 20%, #F5A06A 40%, #61A6D4 40%, #61A6D4 60%, #C1D33A 60%, #C1D33A 80%, #F5A06A 80%, #F5A06A 100%);
   position: absolute;
   top: 0;
   border-radius: 4px;
}

.h2 .elementor-heading-title {
   font-family: inherit;
   font-weight: inherit;
   line-height: inherit;
}

.h2 .elementor-heading-title>span {
   display: block;
}

.h2 .elementor-heading-title>span:not(.sub) {
   width: 40px;
}

.h2 .sub {
   font-family: "Alfa Slab One", serif;
   font-weight: 400;
   font-style: normal;
   font-size: 16px;
   letter-spacing: 0.06em;
   line-height: 1.1;
   color: #ACD9E3;
}

@media screen and (max-width: 1024px) {
   .h2 {
      font-size: 32px;
      line-height: 1.4;
      letter-spacing: 0.08em;
      padding: 40px 0 20px 16px;
   }

   .h2:before {
      height: 100%;
      right: auto;
      left: 0;
   }

   .h2 .elementor-heading-title>span:not(.sub) {
      width: auto;
   }

   .h2 .sub {
      font-size: 14px;
      padding-top: 16px;
   }
}

.btn .elementor-button {
   width: 100%;
   max-width: 290px;
   min-width: inherit;
   padding: 0 24px;
}

@media screen and (max-width: 767px) {
   .btn .elementor-button {
      max-width: 100%;
   }
}

/*--------------------------------------
   concept
--------------------------------------*/
#concept {
   background: url("../img/top/specialist-photo.webp") no-repeat center bottom/100% auto;
   padding-bottom: 48vw;
}

#concept .container {
   max-width: 1260px;
}

#concept h2 {
   display: flex;
   flex-direction: row-reverse;
   justify-content: center;
   gap: 25px;
   width: 190px;
   background: url("../img/top/concept-logo.webp") no-repeat center top/126px auto;
   font-weight: 500;
   font-size: 31px;
   line-height: 1.1;
   padding: 188px 25px 0;
}

#concept h2:before {
   content: '';
   width: 1px;
   height: 24px;
   background: #71CEE2;
   position: absolute;
   top: 142px;
   left: 50%;
}

#concept h2>span {
   display: block;
   width: 30px;
}

#concept .box-1 {
   padding: 50px 60px 132px 35px;
}

#concept .box-1 .elementor-widget-wrap {
   flex-wrap: nowrap;
   gap: 45px;
}

#concept .box-1 .deco-1 {
   width: 351px;
   position: absolute;
   top: -25px;
   left: 0;
}

#concept .box-1 .deco-2 {
   width: 198px;
   position: absolute;
   top: -40px;
   right: 35px;
}

#concept .box-1 .elementor-widget-heading {
   width: auto;
   flex: 1 0 0;
}

#concept .box-1 .txt {
   width: 600px;
   font-weight: 500;
   font-size: 20px;
   line-height: 2;
   padding-top: 188px;
}

#concept .box-1 .txt p:not(:last-child) {
   margin-bottom: 32px;
}

#concept .box-1 .list {
   width: 195px;
   padding-top: 188px;
}

#concept .box-1 .list .elementor-text-editor ul {
   display: grid;
   gap: 10px;
}

#concept .box-1 .list .elementor-text-editor ul li {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 90px;
   background-color: #fff;
   color: #0F70A7;
   text-align: center;
   font-weight: 500;
   font-size: 18px;
   line-height: 26px;
   border-radius: 16px;
}

#concept .box-2 {
   background-color: #fff;
   border-radius: 20px;
   padding: 60px 60px 105px;
}

#concept .box-2:before {
   content: '';
   width: 167px;
   height: 168px;
   background: url("../img/top/specialist-deco.webp") no-repeat center top/cover;
   position: absolute;
   bottom: 55px;
   right: -40px;
}

#concept .box-2 .elementor-widget-wrap {
   flex-direction: row-reverse;
   justify-content: space-between;
   flex-wrap: nowrap;
}

#concept .box-2 .elementor-widget-image {
   max-width: 150px;
   position: absolute;
   top: -102px;
   left: 50%;
   transform: translateX(-50%);
}

#concept .box-2 .elementor-widget-heading {
   width: 240px;
   padding-right: 72px;
}

#concept .box-2 .elementor-widget-heading:before {
   top: -124px;
   right: 0;
}

#concept .box-2 .elementor-widget-heading h3>span {
   display: block;
   width: 40px;
   margin-left: auto;
}

#concept .box-2 .txt {
   width: 600px;
   padding-top: 80px;
}

#concept .box-2 .txt h4,
#concept .box-2 .txt .more {
   display: none;
   font-family: "Zen Maru Gothic", sans-serif;
   font-style: normal;
   font-weight: 500;
   font-size: 18px;
}

#concept .box-2 .catch {
   width: 240px;
   font-weight: 500;
   font-size: 20px;
}

#concept .box-2 .catch p:not(:last-child) {
   margin-bottom: 32px;
}

@media screen and (max-width: 1199px) {
   #concept .box-1 {
      padding: 50px 30px 132px 0px;
   }

   #concept .box-1 .elementor-widget-wrap {
      gap: 30px;
   }

   #concept .box-2 {
      padding: 60px 30px 105px;
   }

   #concept .box-2 .txt {
      width: 425px;
   }
}

@media screen and (max-width: 1024px) {
   #concept h2 {
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      width: auto;
   }

   #concept h2>span {
      width: auto;
   }

   #concept .box-1 {
      padding-right: 0;
   }

   #concept .box-1 .elementor-widget-wrap {
      flex-direction: column;
      align-items: center;
      gap: 45px;
   }

   #concept .box-1 .deco-1 {
      left: 50%;
      transform: translateX(-50%);
   }

   #concept .box-1 .deco-2 {
      display: none;
   }

   #concept .box-1 .txt,
   #concept .box-1 .list {
      padding-top: 0;
   }

   #concept .box-1 .list {
      width: auto;
   }

   #concept .box-1 .list .elementor-text-editor ul {
      display: grid;
      grid-template-columns: repeat(2, 195px);
      justify-content: center;
   }

   #concept .box-2 {
      margin-top: 16.4vw;
      padding: 0 24px 40px;
   }

   #concept .box-2:before {
      width: 84px;
      height: 84px;
      right: -18px;
      bottom: -30px;
   }

   #concept .box-2 .elementor-widget-wrap {
      flex-direction: column;
      justify-content: flex-start;
   }

   #concept .box-2 .elementor-widget-image {
      max-width: 41.5vw;
      top: -11vw;
   }

   #concept .box-2 .elementor-widget-heading {
      width: 100%;
      padding: 50vw 0 0;
      order: 1;
   }

   #concept .box-2 .elementor-widget-heading:before {
      height: 45vw;
      background-image: linear-gradient(to bottom, #C1D33A 0px, #C1D33A 5px, #F5A06A 5px, #F5A06A 10px, #61A6D4 10px, #61A6D4 15px);
      background-size: 100% 15px;
      background-repeat: repeat;
      top: -11vw;
      right: auto;
      left: 26px;
      border-radius: 0;
   }

   #concept .box-2 .elementor-widget-heading h3>span {
      width: auto;
      margin-left: 0;
   }

   #concept .box-2 .txt,
   #concept .box-2 .catch {
      width: 100%;
   }

   #concept .box-2 .txt {
      order: 3;
      padding-top: 30px;
   }

   #concept .box-2 .catch {
      order: 2;
      padding-top: 24px;
   }

   #concept .box-2 .catch br.pc {
      display: none;
   }
}

@media screen and (max-width: 767px) {
   #concept {
      background-image: url("../img/top/specialist-photo_sp.webp");
      padding-bottom: 62vw;
   }

   #concept h2 {
      gap: 16px;
      background-size: 106px auto;
      font-size: 23px;
      padding: 138px 0 0;
   }

   #concept h2:before {
      display: none;
   }

   #concept .box-1 {
      padding: 44px 0 48px;
   }

   #concept .box-1 .elementor-widget-wrap {
      gap: 40px;
   }

   #concept .box-1 .deco-1 {
      width: 100%;
      top: 52px;
   }

   #concept .box-1 .txt {
      width: 100%;
      line-height: 1.8;
   }

   #concept .box-1 .txt p:not(:last-child) {
      margin-bottom: 16px;
   }

   #concept .box-1 .list {
      width: 100%;
      max-width: 330px;
   }

   #concept .box-1 .list .elementor-text-editor ul {
      grid-template-columns: repeat(2, 1fr);
   }

   #concept .box-1 .list .elementor-text-editor ul li {
      height: 80px;
      padding-bottom: 0;
	   font-size: 15px;
   }

   #concept .box-2 h3 {
      font-size: 26px;
   }

   #concept .box-2 .txt .more,
   #concept .box-2 .txt h4 {
      display: block;
   }

   #concept .box-2 .txt h4,
   #concept .box-2 .txt p:not(:last-child) {
      margin-bottom: 24px;
   }

   #concept .box-2 .txt .more {
      text-align: center;
      color: #2D93CF;
      font-size: 14px;
   }

   #concept .box-2 .txt .more-content {
      display: none;
   }
}

@media screen and (max-width: 389px) {
   #concept h2 {
      font-size: 22px;
   }

   #concept .box-1 .list .elementor-text-editor ul li {
      font-size: 14px;
	   line-height: 20px;
   }
	
	#concept .box-1 .txt {
		font-size: 18px;
	}
	#concept .box-2 h3 {
		font-size: 24px;
	}
}

/*--------------------------------------
   Feature
--------------------------------------*/
#feature {
   background: url("../img/top/feature-bg.webp") no-repeat center top/cover;
   background-color: #fff;
   padding: 65px 0 155px;
}

#feature .container {
   max-width: 1260px;
}

#feature .deco {
   width: 316px;
   position: absolute;
   top: -240px;
   right: 0;
}

#feature .h2 {
   position: absolute;
   top: 0;
   left: 0;
}

#feature .h2 .elementor-heading-title {
   display: flex;
   align-items: flex-start;
   gap: 30px;
   padding: 112px 0 0 55px;
}

#feature .h2 .sub {
   padding-top: 17px;
}

#feature .elementor-inner-section {
   padding: 225px 0 0 190px;
}

#feature .elementor-inner-section .elementor-row {
   flex-wrap: wrap;
   gap: 64px;
}

#feature .elementor-inner-section .elementor-column {
   width: calc(50% - 32px);
}

#feature .elementor-inner-section .no {
   font-size: 36px;
   line-height: 1.3;
   letter-spacing: 0.06em;
}

#feature .elementor-inner-section .no .elementor-heading-title {
   line-height: inherit;
}

#feature .elementor-inner-section .no .elementor-heading-title>span {
   display: inline-block;
   vertical-align: top;
   background-color: #D3E076;
   color: #0F70A7;
   font-family: "Noto Sans JP", sans-serif;
   font-weight: 500;
   font-size: 14px;
   line-height: 34px;
   border-radius: 50px;
   margin-left: 16px;
   padding: 0 12px;
   position: relative;
   top: 4px;
}

#feature .elementor-inner-section .no .elementor-heading-title>span span {
   font-size: 17px;
}

#feature .elementor-inner-section h3 {
   font-weight: 500;
   font-size: 24px;
   line-height: 2;
   padding-top: 16px;
}

#feature .elementor-inner-section .elementor-text-editor {
   padding-top: 17px;
}

#feature .elementor-inner-section .elementor-widget-button {
   padding-top: 17px;
}

#feature .elementor-inner-section .elementor-button {
   background: transparent;
   font-family: "Alfa Slab One", serif;
   font-weight: 400;
   font-style: normal;
   font-size: 16px;
   line-height: 1.8;
   letter-spacing: 0.05em;
   padding: 0;
}

#feature .elementor-inner-section .elementor-button .elementor-button-text {
   display: inline-block;
   background: url("../img/top/btn-arrow-orange.png") no-repeat center right/14px auto;
   border-bottom: 2px solid #2D93CF;
   padding-right: 20px;
   color: #61A6D4;
   transition: all 0.3s;
}

#feature .elementor-inner-section .elementor-button:hover .elementor-button-text {
   border-bottom-color: transparent;
}

.feature-slider {
   background: url("../img/top/feature-bg-bottom.webp") no-repeat center bottom/100% auto;
   background-color: #fff;
   padding-bottom: 12.5vw;
}

.feature-slider:before {
   content: '';
   width: 423px;
   height: 148px;
   background: url("../img/top/feature-deco-2.webp") no-repeat center top/cover;
   position: absolute;
   top: -65px;
   right: 50px;
   z-index: 1;
}

.feature-slider:after {
   content: '';
   width: 266px;
   height: 240px;
   background: url("../img/top/feature-deco-3.webp") no-repeat center top/cover;
   position: absolute;
   top: 260px;
   left: 50px;
   z-index: 1;
}

.feature-slider .elementor-row {
   gap: 32px;
}

.feature-slider .elementor-column {
   width: 500px;
}

@media screen and (max-width: 1024px) {
   #feature {
      padding-bottom: 270px;
   }

   #feature .deco {
      width: 236px;
      top: auto;
      right: -30px;
      bottom: -300px;
      z-index: 1;
   }

   #feature .h2 {
      position: relative;
   }

   #feature .h2 .elementor-heading-title {
      display: block;
      padding: 0;
   }

   #feature .elementor-inner-section {
      margin-top: 45px;
      padding: 0;
   }

   #feature .elementor-inner-section .slick-list {
      margin: 0 -15px;
   }

   #feature .elementor-inner-section .elementor-column {
      margin: 0 15px;
   }

   .feature-slider:before {
      display: none;
   }
}

@media screen and (max-width: 767px) {
   #feature .elementor-inner-section .elementor-row {
      align-items: flex-start;
      flex-wrap: nowrap;
      width: max-content;
      height: 100vh;
   }

   #feature .elementor-inner-section .elementor-column {
      width: 330px;
   }

   .feature-slider {
      background-image: url("../img/top/feature-bg-bottom_sp.webp");
      padding-bottom: 18.5vw;
   }

   .feature-slider:after {
      width: 118px;
      height: 106px;
      top: 80px;
      left: 0;
   }

   .feature-slider .elementor-row {
      gap: 16px;
   }

   .feature-slider .elementor-column {
      width: 250px;
   }
	#feature .elementor-inner-section h3 {
		font-size: 22px;
	}
}

/*--------------------------------------
   Soudann
--------------------------------------*/
#soudann {
   background: url("../img/top/soudann-bg.webp") no-repeat center bottom/100% auto;
   padding-bottom: 27vw;
}

#soudann .container {
   max-width: 1260px;
}

#soudann .h2 {
   position: absolute;
   top: -115px;
   right: 0;
   padding: 110px 60px 0 0;
   z-index: 1;
}

#soudann .h2:before {
   right: 0;
}

#soudann .h2 h2 {
   display: flex;
   flex-direction: row-reverse;
   gap: 20px;
}

#soudann .h2 .sub {
   padding: 17px 30px 0 0;
}

#soudann .elementor-inner-section {
   padding: 40px 240px 0 58px;
   z-index: 1;
}

#soudann .elementor-inner-section .elementor-widget-wrap {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 16px;
}

#soudann .elementor-inner-section .elementor-button {
   max-width: inherit;
   letter-spacing: 0;
}

#soudann .elementor-inner-section .elementor-button .elementor-button-content-wrapper {
   align-items: center;
}

#soudann .elementor-inner-section .elementor-button .elementor-button-icon {
   width: 50px;
   height: 50px;
   margin-right: 12px;
   position: relative;
}

#soudann .elementor-inner-section .elementor-button .elementor-button-icon svg {
   width: 100%;
}

#soudann .elementor-widget-text-editor {
   padding-left: 58px;
}

@media screen and (max-width: 1259px) {

   #soudann .elementor-inner-section,
   #soudann .elementor-widget-text-editor {
      padding-left: 0;
   }
}

@media screen and (max-width: 1199px) {
   #soudann .elementor-inner-section .elementor-widget-wrap {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 1024px) {
   #soudann .h2 {
      position: relative;
      top: 0;
      padding: 24px 0 15px 16px;
   }

   #soudann .h2 .elementor-heading-title {
      display: block;
   }

   #soudann .elementor-inner-section,
   #soudann .elementor-widget-text-editor {
      width: 100%;
      padding: 24px 0 0;
   }
}

@media screen and (max-width: 767px) {
   #soudann {
      background-image: url("../img/top/soudann-bg_sp.webp");
      padding-bottom: 25vw;
   }

   #soudann .h2 .elementor-heading-title {
      color: #0F70A7;
   }

   #soudann .elementor-inner-section .elementor-widget-wrap {
      gap: 10px;
   }

   #soudann .elementor-inner-section .elementor-button {
      height: 82px;
      font-size: 20px;
      line-height: 1.2;
      padding: 0 0px 0 16px;
   }

   #soudann .elementor-inner-section .elementor-button:after {
      display: none;
   }

   #soudann .elementor-inner-section .elementor-button .elementor-button-icon {
      margin-right: 10px;
   }

   #soudann .elementor-inner-section .elementor-button .elementor-button-icon:after {
      content: '';
      width: 16px;
      height: 16px;
      background: url("../img/icons/btn-arrow.webp") no-repeat center top/cover;
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #soudann .elementor-inner-section .elementor-element-c19276e .elementor-button {
      font-size: 14px;
   }
}

@media screen and (max-width: 389px) {
   #soudann .elementor-inner-section .elementor-widget-button:nth-child(1) {
      order: 1;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(2) {
      order: 2;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(3) {
      order: 3;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(4) {
      order: 4;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(5) {
      order: 5;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(6) {
      order: 12;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(7) {
      order: 6;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(8) {
      order: 7;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(9) {
      order: 8;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(10) {
      order: 9;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(11) {
      order: 10;
   }

   #soudann .elementor-inner-section .elementor-widget-button:nth-child(12) {
      order: 11;
   }

   #soudann .elementor-inner-section .elementor-button {
      font-size: 18px;
   }
}

/*--------------------------------------
   menu
--------------------------------------*/
#menu {
   background-color: #B2DBF3;
}

#menu:before {
   content: '';
   width: 100%;
   height: auto;
   background: url("../img/top/menu-deco-2.webp") no-repeat top left/43% auto, url("../img/top/menu-deco-3.webp") no-repeat bottom right/41.6% auto;
   position: absolute;
   top: 200px;
   bottom: -80px;
   left: 0;
   z-index: 1;
}

#menu .container {
   max-width: 1260px;
   z-index: 1;
}

#menu .container>.elementor-column-wrap {
   padding: 195px 0 200px 200px !important;
}

#menu .deco {
   width: 526px;
   position: absolute;
   top: -490px;
   left: 75%;
}

#menu .h2 {
   color: #fff;
   position: absolute;
   top: -195px;
   left: -200px;
   z-index: 1;
}

#menu .h2:before {
   display: none;
}

#menu .h2 .elementor-heading-title {
   display: flex;
   gap: 5px;
}

#menu .h2 .elementor-heading-title>span:not(.sub) {
   background: url("../img/top/menu-deco-1.webp") no-repeat center top/184px auto;
   width: 184px;
   padding: 176px 72px 0;
}

#menu .h2 .elementor-heading-title .sub {
   color: #8BC0DF;
   padding-top: 85px;
}

#menu .box-1 .elementor-row {
   flex-wrap: nowrap;
   gap: 32px;
}

#menu .box-1 .elementor-column {
   background-color: #fff;
   border-radius: 32px;
   overflow: hidden;
   transition: all 0.3s;
}

#menu .box-1 .elementor-column:after {
   content: '';
   width: 22px;
   height: 22px;
   background: url("../img/icons/btn-arrow-blue.png") no-repeat center top/cover;
   position: absolute;
   bottom: 16px;
   right: 16px;
}

#menu .box-1 .elementor-column:has(.elementor-button):hover {
   opacity: 0.7;
}

#menu .box-1 .elementor-widget-image img {
   max-width: 101%;
}

#menu .box-1 h3 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 32px;
   line-height: 1.2;
   color: #fff;
   position: absolute;
   right: 0;
   bottom: 100%;
   left: 0;
   padding: 0 35px 35px;
}

#menu .box-1 h3 span {
   display: block;
   font-size: 14px;
   line-height: 1.1;
   letter-spacing: 0.06em;
   color: rgba(255, 255, 255, 0.6);
   padding-bottom: 12px;
}

#menu .box-1 .elementor-widget-text-editor {
   padding: 20px 28px;
}

#menu .box-1 .elementor-widget-button {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#menu .box-1 .elementor-widget-button * {
   width: 100%;
   height: 100%;
}

#menu .box-1 .elementor-widget-button .elementor-button {
   opacity: 0;
   font-size: 0;
}

#menu .box-2 {
   margin-top: 26px;
}

#menu .box-2 .elementor-row {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 26px;
}

#menu .box-2 .elementor-column {
   width: 100%;
   background-color: #fff;
   border-radius: 32px;
   overflow: hidden;
   transition: all 0.3s;
}

#menu .box-2 .elementor-column:after {
   content: '';
   width: 22px;
   height: 22px;
   background: url("../img/icons/btn-arrow-blue.png") no-repeat center top/cover;
   position: absolute;
   bottom: 16px;
   right: 16px;
}

#menu .box-2 .elementor-column:has(.elementor-button):hover {
   opacity: 0.7;
}

#menu .box-2 .elementor-widget-image img {
   max-width: 101%;
}

#menu .box-2 h3 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 24px;
   line-height: 1.2;
   color: #fff;
   position: absolute;
   right: 0;
   bottom: 100%;
   left: 0;
   padding: 0 25px 20px;
}

#menu .box-2 h3 span {
   display: block;
   font-size: 12px;
   line-height: 1.1;
   letter-spacing: 0.06em;
   color: rgba(255, 255, 255, 0.6);
   padding-bottom: 12px;
}

#menu .box-2 .elementor-widget-text-editor {
   padding: 20px 28px;
}

#menu .box-2 .elementor-widget-button {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#menu .box-2 .elementor-widget-button * {
   width: 100%;
   height: 100%;
}

#menu .box-2 .elementor-widget-button .elementor-button {
   opacity: 0;
   font-size: 0;
}

#menu .box-3 {
   background-color: #fff;
   border-radius: 32px;
   margin-top: 64px;
   padding: 28px 32px;
}

#menu .box-3 .elementor-widget-wrap {
   gap: 30px;
}

#menu .box-3 .elementor-widget-heading {
   width: auto;
   flex: 1 0 0;
}

#menu .box-3 h3 {
   font-weight: 500;
   font-size: 22px;
   line-height: 1.8;
}

#menu .box-3 .btn-green,
#menu .box-3 .btn-yellow {
   width: 280px;
   text-align: center;
}

#menu .box-3 .btn-green .elementor-button,
#menu .box-3 .btn-yellow .elementor-button {
   display: flex;
   justify-content: center;
   align-items: center;
   height: 145px;
   padding: 18px 36px 30px;
   border-radius: 24px;
}

#menu .box-3 .btn-green .elementor-button:after,
#menu .box-3 .btn-yellow .elementor-button:after {
   content: '';
   width: 22px;
   height: 22px;
   background: url("../img/icons/btn-arrow.webp") no-repeat center top/cover;
   position: absolute;
   bottom: 10px;
   right: 10px;
}

#menu .box-3 .btn-green .elementor-button-text,
#menu .box-3 .btn-yellow .elementor-button-text {
   display: block;
   font-weight: 500;
   font-size: 26px;
   line-height: 2;
}

#menu .box-3 .btn-green .elementor-button-text span,
#menu .box-3 .btn-yellow .elementor-button-text span {
   display: block;
   font-size: 20px;
   border-radius: 50px;
   margin-top: 5px;
}

#menu .box-3 .btn-green .elementor-button {
   background-color: #90C969;
}

#menu .box-3 .btn-green .elementor-button-text span {
   background-color: #DBF2CC;
   color: #6DBD38;
}

#menu .box-3 .btn-yellow .elementor-button {
   background-color: #BBBD4A;
}

#menu .box-3 .btn-yellow .elementor-button-text span {
   background-color: #ECECCE;
   color: #A2A432;
}

@media screen and (max-width: 1199px) {
   #menu .deco {
      right: -230px;
      left: auto;
   }

   #menu .box-1 h3 {
      padding: 0 15px 35px;
   }

   #menu .box-2 h3 {
      font-size: 20px;
      padding: 0 15px 20px;
   }

   #menu .box-3 .btn-yellow,
   #menu .box-3 .btn-green {
      width: calc(50% - 150px);
   }

   #menu .box-3 .btn-yellow .elementor-button,
   #menu .box-3 .btn-green .elementor-button {
      padding: 18px 15px 30px;
   }
}

@media screen and (max-width: 1099px) {
   #menu .box-3 .elementor-widget-wrap {
      flex-wrap: wrap;
   }

   #menu .box-3 .elementor-widget-heading {
      width: 100%;
      flex: inherit;
      text-align: center;
   }

   #menu .box-3 h3 br.pc {
      display: none;
   }

   #menu .box-3 .btn-yellow,
   #menu .box-3 .btn-green {
      width: calc(50% - 15px);
   }
}

@media screen and (max-width: 1024px) {
   #menu {
      padding-bottom: 300px;
   }

   #menu .container>.elementor-column-wrap {
      padding: 0 !important;
   }

   #menu .h2 {
      background: url("../img/top/menu-deco-1.webp") no-repeat center left/102px auto;
      position: relative;
      top: 0;
      left: 0;
      padding: 10px 0 10px 126px;
   }

   #menu .h2 .elementor-heading-title {
      display: block;
   }

   #menu .h2 .elementor-heading-title>span:not(.sub) {
      background: transparent;
      width: auto;
      padding: 0;
   }

   #menu .h2 .elementor-heading-title .sub {
      padding-top: 16px;
   }

   #menu .box-1 {
      margin-top: 24px;
   }

   #menu .box-2 {
      margin-top: 24px;
   }

   #menu .box-3 {
      margin-top: 24px;
   }

   #menu .deco {
      width: 320px;
      top: auto;
      right: -100px;
      bottom: -460px;
   }
}

@media screen and (max-width: 767px) {
   #menu:before {
      content: '';
      background: url("../img/top/menu-deco-2.webp") no-repeat top left/46% auto, url("../img/top/menu-deco-3.webp") no-repeat center right/46% auto, url("../img/top/menu-deco-4.webp") no-repeat bottom left/62% auto;
      top: 90px;
      bottom: 200px;
   }

   #menu .deco {
      width: 279px;
      right: -31px;
      bottom: -380px;
   }

   #menu .box-1 .elementor-row {
      flex-direction: column;
      gap: 24px;
   }

   #menu .box-1 .elementor-column {
      width: 100%;
   }

   #menu .box-1 h3 {
      padding: 24px;
   }

   #menu .box-2 .elementor-row {
      grid-template-columns: 1fr;
      gap: 16px;
   }

   #menu .box-2 .elementor-column {
      border-radius: 16px;
   }

   #menu .box-2 .elementor-column .elementor-widget-wrap {
      display: grid;
      grid-template-columns: 25vw 1fr;
   }

   #menu .box-2 .elementor-widget-image {
      width: 100%;
      height: 100%;
   }

   #menu .box-2 .elementor-widget-image * {
      width: 100%;
      height: 100%;
   }

   #menu .box-2 .elementor-widget-image img {
      max-width: inherit;
      object-fit: cover;
   }

   #menu .box-2 .elementor-widget-heading {
      padding: 24px;
   }

   #menu .box-2 .elementor-widget-heading h3 {
      display: flex;
      flex-direction: column-reverse;
      gap: 12px;
      color: #2D93CF;
      position: static;
      padding: 0;
   }

   #menu .box-2 .elementor-widget-heading h3 span {
      color: #ACD9E3;
      font-size: 10px;
      padding-bottom: 0;
   }

   #menu .box-2 .elementor-widget-text-editor {
      display: none;
   }

   #menu .box-3 {
      border-radius: 24px;
      padding: 24px;
   }

   #menu .box-3 .elementor-widget-wrap {
      gap: 16px;
   }

   #menu .box-3 .elementor-widget-heading {
      text-align: left;
   }

   #menu .box-3 .btn-green,
   #menu .box-3 .btn-yellow {
      width: 100%;
   }
}

@media screen and (max-width: 389px) {
   #menu .box-1 h3 {
      font-size: 30px;
   }

   #menu .box-3 h3 {
      font-size: 20px;
   }
}

/*--------------------------------------
   doctor
--------------------------------------*/
#doctor {
   background: url("../img/top/doctor-photo-1.webp") no-repeat center bottom/100% auto;
   background-color: #B2DBF3;
   padding-bottom: 48vw;
}

#doctor .container {
   width: calc(100% - 60px);
   max-width: 1200px;
   background-color: #fff;
   border-radius: 32px;
   padding: 0 60px 80px;
   z-index: 1;
}

#doctor .container:before {
   content: '';
   width: 167px;
   height: 168px;
   background: url("../img/top/doctor-deco.webp") no-repeat center top/cover;
   position: absolute;
   bottom: 58px;
   right: -40px;
}

#doctor .h2 {
   padding: 70px 68px 0 0;
}

#doctor .h2:before {
   top: -64px;
   right: 0;
}

#doctor .h2 .elementor-heading-title {
   display: flex;
   flex-direction: row-reverse;
   gap: 48px;
}

#doctor .h2 .elementor-heading-title>span:last-child {
   padding-top: 30px;
}

#doctor .elementor-inner-section .elementor-row {
   flex-direction: row-reverse;
   justify-content: space-between;
   gap: 30px;
}

#doctor .elementor-inner-section .title {
   width: auto;
}

#doctor .elementor-inner-section .txt-1 {
   width: 305px;
   padding-top: 120px;
}

#doctor .elementor-inner-section .txt-1 .elementor-widget-button {
   padding-top: 45px;
}

#doctor .elementor-inner-section .txt-2 {
   color: #819099;
   font-size: 13px;
   line-height: 1.6;
   width: 440px;
   top: -70px;
}

#doctor .elementor-inner-section .txt-2 h3 {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 20px;
   line-height: 2;
   color: #0F70A7;
}

#doctor .elementor-inner-section .txt-2 p {
   padding-top: 8px;
}

#doctor .elementor-inner-section .txt-2 hr {
   border: 0;
   border-bottom: 1px dashed #B4D1E2;
   margin: 24px 0;
}

#doctor .elementor-inner-section .photo {
   padding-bottom: 18px;
}

@media screen and (max-width: 1024px) {
   #doctor .container {
      padding: 0 24px 30px;
   }

   #doctor .container:before {
      width: 84px;
      height: 84px;
      right: -20px;
      bottom: -30px;
   }

   #doctor .h2 {
      padding: 0;
   }

   #doctor .h2:before {
      display: none;
      top: 0;
   }

   #doctor .h2 .elementor-heading-title {
      display: block;
   }

   #doctor .photo_sp {
      width: 100%;
      top: -48px;
   }

   #doctor .elementor-inner-section .elementor-row {
      flex-direction: column;
      justify-content: flex-start;
      gap: 0px;
   }

   #doctor .elementor-inner-section .txt-1 {
      width: 100%;
      padding-top: 16px;
   }

   #doctor .elementor-inner-section .txt-1 .elementor-widget-button {
      padding-top: 40px;
   }

   #doctor .elementor-inner-section .txt-2 {
      width: 100%;
      top: 0;
      padding-top: 35px;
   }
}

@media screen and (max-width: 767px) {
   #doctor {
      background-image: url("../img/top/doctor-photo-1_sp.webp");
      padding-bottom: 104vw;
   }

   #doctor .h2 {
      font-size: 28px;
      line-height: 2;
      letter-spacing: 0;
      margin-top: -24px;
   }

   #doctor .h2 .elementor-heading-title {
      display: block;
   }

   #doctor .h2 .elementor-heading-title>span {
      display: inline;
   }

   #doctor .h2 .elementor-heading-title>span:last-child {
      padding-top: 0;
   }
}
@media screen and (max-width: 389px) {
	#doctor .h2 {
		font-size: 25px;
	}
}

/*--------------------------------------
   Information
--------------------------------------*/
#information {
   background-color: #fff;
   padding: 15px 0 110px;
}

#information:before {
   content: '';
   width: 100%;
   height: auto;
   background: url("../img/top/info-bg.webp") no-repeat center top/cover;
   position: absolute;
   top: 0;
   bottom: -200px;
   left: 0;
   z-index: 1;
}

#information .container {
   max-width: 1260px;
   z-index: 1;
}

#information .h2 {
   padding: 110px 0 0 60px;
   position: absolute;
   top: 0;
   left: 0;
}

#information .h2:before {
   left: 0;
}

#information .h2 .elementor-heading-title {
   display: flex;
   gap: 40px;
}

#information .h2 .elementor-heading-title .sub {
   padding-top: 17px;
}

#information .box-1 {
   padding: 225px 0 0 190px;
}

#information .box-1 .elementor-row {
   gap: 80px;
}

#information .box-1 .photo {
   width: 410px;
}

#information .box-1 .text {
   width: 460px;
}

#information .box-1 .tb-time table {
   width: 100%;
   margin-bottom: 24px;
}

#information .box-1 .tb-time table th,
#information .box-1 .tb-time table td {
   font-size: 16px;
   text-align: center;
   border-bottom: 1px solid #ACD9E3;
   line-height: 1;
   padding: 18px 0;
}

#information .box-1 .tb-time table thead th {
   width: 20px;
   padding-top: 0;
}

#information .box-1 .tb-time table thead th:first-child {
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 18px;
   color: #0F70A7;
   text-align: left;
}

#information .box-1 .tb-time table tbody th {
   text-align: left;
}

#information .box-1 .tb-time table tbody td {
   font-weight: 400;
   font-size: 18px;
}

#information .box-1 .txt-info {
   padding-top: 24px;
}

#information .box-1 .txt-info table {
   width: 100%;
}

#information .box-1 .txt-info table th,
#information .box-1 .txt-info table td {
   line-height: 1.7;
   vertical-align: middle;
   border-bottom: 1px solid #ACD9E3;
   padding: 20px 0;
   text-align: left;
}

#information .box-1 .txt-info table th {
   width: 86px;
   color: #2D93CF;
   font-weight: 700;
}

#information .box-1 .txt-info table td {
   padding-left: 24px;
}

#information .box-1 .txt-info table tr:first-child th,
#information .box-1 .txt-info table tr:first-child td {
   padding-top: 0;
}

#information .box-2 {
   padding: 70px 0 0 190px;
}

#information .box-2 .elementor-row {
   flex-direction: row-reverse;
   justify-content: flex-end;
   gap: 80px;
}

#information .box-2 .photo {
   width: 460px;
}

#information .box-2 .photo .elementor-widget-image {
   max-width: 400px;
   margin: 0 auto;
   padding-top: 60px;
}

#information .box-2 .photo .elementor-widget-image+.elementor-widget-image {
   padding-top: 20px;
}

#information .box-2 .gmap .elementor-widget-container {
   width: 100%;
   height: 515px;
   overflow: hidden;
   border-radius: 32px;
}

#information .box-2 .gmap iframe {
   display: block;
   width: 100%;
   height: 100%;
}

#information .box-2 .text {
   width: 410px;
}

#information .box-2 h3 {
   font-weight: 500;
   font-size: 26px;
   line-height: 1.2;
   letter-spacing: 0.12em;
}

#information .box-2 .table {
   padding-top: 35px;
}

#information .box-2 .table th,
#information .box-2 .table td {
   border-bottom: 1px dashed #61B1DF;
   padding: 24px 0;
   line-height: 1.2;
}

#information .box-2 .table th {
   width: 64px;
}

#information .box-2 .table td {
   padding-left: 30px;
}

#information .box-2 .table td p:not(:last-child) {
   margin-bottom: 16px;
}

#information .box-2 .table td small {
   font-size: 12px;
}

#information .box-2 .table h4 {
   color: #0F70A7;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.12em;
   padding-bottom: 16px;
}

#information .box-2 .table tr:first-child th,
#information .box-2 .table tr:first-child td {
   padding-top: 0;
}

#information .box-2 .table tr:first-child td p {
   display: grid;
   grid-template-columns: 60px 1fr;
}

#information .box-2 .table tr:first-child td p strong {
   color: #2D93CF;
   font-weight: 500;
}

#information .box-2 .txt {
   line-height: 1.7;
   padding-top: 35px;
}

#information .box-2 .txt p:not(:last-child) {
   margin-bottom: 24px;
}

#information .box-2 .txt h4 {
   font-weight: 500;
   font-size: 16px;
   line-height: 2;
   letter-spacing: 0.2em;
   color: #2D93CF;
   margin-bottom: 5px;
}

#information .box-2 .txt p+h4 {
   margin-top: 35px;
}

#information .box-2 .elementor-widget-button {
   padding-top: 65px;
}

@media screen and (max-width: 1199px) {

   #information .box-1 .elementor-row,
   #information .box-2 .elementor-row {
      gap: 30px;
   }
}

@media screen and (max-width: 1024px) {
   #information .h2 {
      padding: 24px 0 15px 16px;
      position: relative;
   }

   #information .h2 .elementor-heading-title {
      display: block;
   }

   #information .box-1,
   #information .box-2 {
      padding: 0;
   }

   #information .box-1 .elementor-row,
   #information .box-2 .elementor-row {
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: nowrap;
      gap: 24px;
   }

   #information .box-1 .text,
   #information .box-2 .text {
      width: 100%;
   }

   #information .box-1 {
      margin-top: 32px;
   }

   #information .box-2 {
      margin-top: 40px;
   }
}

@media screen and (max-width: 767px) {
   #information {
      padding-bottom: 64px;
   }

   #information .box-1 .photo,
   #information .box-2 .photo {
      width: 100%;
   }

   #information .box-1 .tb-time {
      margin-bottom: 16px;
   }

   #information .box-1 .tb-time table thead th {
      width: auto;
   }

   #information .box-1 .tb-time table thead th:first-child {
      width: 32%;
      font-size: 16px;
   }

   #information .box-1 .tb-time table tbody td {
      font-size: 16px;
   }

   #information .box-2 .photo {
      width: 100%;
   }

   #information .box-2 .photo .elementor-widget-wrap {
      gap: 18px 0;
   }

   #information .box-2 .photo .elementor-widget-image {
      width: 50%;
      max-width: 100%;
      margin: 0;
      padding-top: 0;
   }

   #information .box-2 .photo .elementor-widget-image+.elementor-widget-image {
      padding-top: 0;
   }

   #information .box-2 .gmap .elementor-widget-container {
      height: 320px;
   }

   #information .box-2 .text {
      padding-top: 64px;
   }

   #information .box-2 .table {
      padding-top: 32px;
   }

   #information .box-2 .table table td {
      padding-left: 16px;
   }

   #information .box-2 .txt {
      padding-top: 32px;
   }

   #information .box-2 .txt p+h4 {
      margin-top: 0;
   }
}

/*--------------------------------------
   news
--------------------------------------*/
#news {
   background-color: #fff;
   padding-bottom: 166px;
}

#news .container {
   z-index: 1;
}

#news .elementor-widget-shortcode {
   background-color: #E9F5FC;
   border-radius: 32px;
   padding: 48px 60px 70px;
   z-index: 1;
}

#news .elementor-widget-shortcode:before {
   content: '';
   width: 216px;
   height: 216px;
   background: url("../img/top/news-deco.webp") no-repeat center top/cover;
   position: absolute;
   bottom: -75px;
   left: -148px;
}

#news .post-box__header {
   display: flex;
   justify-content: space-between;
   gap: 20px;
   border-bottom-color: rgba(0, 0, 0, 0.1);
}

#news h2 {
   color: #0F70A7;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 32px;
   letter-spacing: 3.24px;
   line-height: 42px;
   text-align: left;
}

#news .post-box__summary-link {
   display: inline-block;
   color: #6E654D;
   font-size: 10.5px;
   line-height: 14px;
   letter-spacing: 0.62px;
   border-bottom: 1px solid rgba(0, 0, 0, 0.2);
   padding: 10px 0 14px;
}

#news .post-box__summary-link span {
   font-family: "Inter", sans-serif;
}

#news .post-box__summary-link:hover {
   border-bottom-color: transparent;
}

#news .post-box__content {
   line-height: 1.7;
}

#news .post-box__content .item {
   display: grid;
   grid-template-columns: auto 74px 1fr;
   align-items: center;
   gap: 28px;
   border-bottom: 1px solid rgba(0, 0, 0, 0.1);
   padding: 20px 0;
}

#news .post-box__content p {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-bottom: 0;
}

#news .post-box__content .new-label {
   display: inline-block;
   background-color: #0F70A7;
   color: #C4D1D8;
   border-radius: 20px;
   text-align: center;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 400;
   font-size: 11.5px;
   letter-spacing: 0.62px;
   line-height: 18px;
   padding: 0 10px;
}

#news .post-box__content time {
   color: #C4D1D8;
   font-family: "Inter", sans-serif;
   font-size: 12px;
   line-height: 14px;
   letter-spacing: 0.62px;
}

#news .post-box__content .cat {
   background-color: #fff;
   color: #2D93CF;
   border-radius: 20px;
   text-align: center;
   font-family: "Zen Maru Gothic", sans-serif;
   font-weight: 500;
   font-size: 11.5px;
   letter-spacing: 0.62px;
   line-height: 18px;
}

#news .post-box__content .ttl a {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 1;
   display: -webkit-box;
   overflow: hidden;
   position: relative;
   padding-right: 30px;
}

#news .post-box__content .ttl a span {
   font-family: "Inter", sans-serif;
   position: absolute;
   top: 0;
   right: 0;
}

#news .post-box__content .ttl a:hover {
   text-decoration: underline;
}

@media screen and (max-width: 1024px) {
   #news .elementor-widget-shortcode:before {
      width: 84px;
      height: 84px;
      bottom: -30px;
      left: -30px;
   }
}

@media screen and (max-width: 767px) {
   #news {
      padding-bottom: 64px;
   }

   #news .elementor-widget-shortcode {
      border-radius: 24px;
      padding: 32px 24px 110px;
   }

   #news .post-box__header {
      padding-bottom: 24px;
      position: static;
   }

   #news .post-box__content .item {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      padding: 16px 0;
   }

   #news .post-box__content .cat {
      width: 74px;
   }

   #news .post-box__content .ttl {
      width: 100%;
   }

   #news .post-box__summary-link {
      position: absolute;
      top: auto;
      bottom: 40px;
      right: 24px;
   }
}

/*--------------------------------------
   Instagram
--------------------------------------*/
#instagram {
   background-color: #fff;
}

#instagram .container {
   padding-bottom: 75px;
}

#instagram .container .elementor-widget-wrap {
   justify-content: space-between;
   gap: 20px;
}

#instagram .container .elementor-widget-wrap>* {
   width: auto;
}

#instagram h2 {
   background: url("../img/top/insta-icon.webp") no-repeat center left/40px auto;
   font-size: 19px;
   line-height: 40px;
   letter-spacing: 0.06em;
   color: #ACD9E3;
   padding-left: 65px;
}

#instagram .elementor-button {
   background: transparent;
   font-family: "Alfa Slab One", serif;
   font-weight: 400;
   font-style: normal;
   font-size: 16px;
   line-height: 1.8;
   letter-spacing: 0.05em;
   padding: 0;
}

#instagram .elementor-button .elementor-button-text {
   display: inline-block;
   background: url("../img/icons/btn-arrow-green.png") no-repeat center right/14px auto;
   border-bottom: 2px solid #2D93CF;
   padding-right: 20px;
   color: #61A6D4;
   transition: all 0.3s;
}

#instagram .elementor-button:hover .elementor-button-text {
   border-bottom-color: transparent;
}

#instagram .slider .elementor-column {
   width: 330px;
   margin-right: 16px;
}

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

   #instagram .container {
      padding-bottom: 40px;
   }

   #instagram .slider .elementor-column {
      width: 165px;
      margin-right: 8px;
   }

   #instagram .elementor-widget-button {
      padding: 24px 30px 0;
      text-align: right;
   }

   #instagram .elementor-widget-button .elementor-button {
      display: inline-block;
   }
}