/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Funnel+Display:wght@300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jura:wght@300..700&display=swap');
/* 親要素のパディングを消す */
#profile.wp-block-group {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 子要素（インナーコンテナ）の余白と最大幅を解除する */
#profile.wp-block-group > .wp-block-group__inner-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important; /* これが重要 */
    width: 100% !important;
}
#top-main{
position:relative;
 margin-bottom:0!important;
 padding:10rem 0 0;
 background-image:url(/wp-content/uploads/top-back-left-img.svg), url(/wp-content/uploads/top-back-right-img.svg), url(/wp-content/uploads/top-back-img.svg);
 background-size:35% auto, 30% auto, cover;
 background-position:top left, bottom right, top left;
 background-repeat:no-repeat, no-repeat, no-repeat;
}
#top-main h2{
 margin:0;
 padding:0;
 color:#78dc51;
 font-size:2.5rem;
 font-family: "Jura", sans-serif;
 /*font-family: "Funnel Display", sans-serif;*/
}
#top-main .top-main-text-box{
 position:relative;
margin:0 auto;
padding:4rem 4rem 0 4rem;
max-width:1200px;
width:100%;
background-color:#fff;
border-top-left-radius:2rem;
border-top-right-radius:2rem;
 background-image: url(/wp-content/uploads/top-illust-globe.svg);
 background-repeat:no-repeat;
 background-size:300px;
 background-position: top 2rem right 1rem;
box-shadow: 0 -10px 15px rgba(0, 119, 65, 0.2);
}
#top-main .top-main-text-box::before{
 position:absolute;
 content:"";
 bottom:-4rem;
 left:0;
 width:100%;
 height:4rem;
 border-bottom-left-radius:2rem;
 border-bottom-right-radius:2rem;
 background-color:#fff;
 box-shadow: 0 15px 15px rgba(0, 119, 65, 0.3);
}
#top-main .top-read1{
 margin-bottom:.5rem;
 max-width:650px;
 width:100%;
 font-size:2.25rem;
}
#top-main .top-read2{
 max-width:650px;
 width:100%;
 font-size:2rem;
}
#top-main .top-text{
max-width:650px;
width:100%;
 font-size:1.25rem;
}
#profile{
 margin:0 auto;
 padding:4rem 0 0;
 color: #002c0c;
 background-image:
  url(/wp-content/uploads/profile-back-left-img.svg),
  url(/wp-content/uploads/profile-back-right-img.svg),
  linear-gradient(to right, #8ae168, #56bc75, #8ae168);
 background-size: 35% auto, 30% auto, 100% 100%;
 background-position: top left, top right, center;
 background-repeat: no-repeat, no-repeat, no-repeat;
}
.inner-box{
 position:relative;
 padding:3rem 0 0;
margin:0 auto;
max-width:1200px;
width:100%;
}
#profile h2{
 margin-bottom:0;
 font-size:3rem;
 color:#002c0c;
}
#profile .h2-en, #service .h2-en{
 margin-bottom:1rem;
 color:#00a33e;
 font-size:1.75rem;
 font-weight:600;
 font-family: "Jura", sans-serif;
}
#profile h3{
 color: #004c1b;
}
#profile .name-en{
 padding-left:20px;
 color:#00a33e;
 font-family: "Jura", sans-serif;
}
#profile .profile-catch{
 font-size:1.75rem;
 font-weight:600;
}
#profile .profile-read{
 font-size:1.25rem;
 font-weight:normal;
}
.profile-name .profile-profile{
 margin-right:10px;
 padding:2px 10px;
 color:#fff;
 background-color:#00a33e;
}
.profile-name{
 margin-bottom:1rem;
 font-size:1.25rem;
 font-weight:600;
}
.profile-read{
 margin-bottom:1rem;
 font-size:2rem;
 font-weight:600;
}
.flex-3box {
 display: flex;
 margin:0;
 padding-left:0!important;
 padding: 0;
 list-style:none;
 align-items:normal;
 gap: 20px;
}
#profile .flex-3box li {
 position:relative;
 flex: 1;
 padding:1.5rem 1.5rem 0;
 background-color:#fff;
border-top-left-radius:10px;
border-top-right-radius:10px;
 box-shadow: 0 -10px 15px rgba(0, 119, 65, 0.4);
}
#profile .flex-3box li::before{
 position:absolute;
 content:"";
 left:0;
 bottom: -40px;
 width:100%;
 height:40px;
 border-bottom-left-radius:10px;
 border-bottom-right-radius:10px;
 background-color:#fff;
 box-shadow: 0 15px 15px rgba(0, 119, 65, 0.3);
}
#profile .profile-col figure{
 margin:0 auto;
 max-width:340px;
 width:100%;
}
#service{
 margin:0 auto;
 padding:4rem 0 0;
 background-image:url(/wp-content/uploads/top-back-left-img.svg), url(/wp-content/uploads/top-back-right-img.svg), url(/wp-content/uploads/top-back-img.svg);
 background-size:35% auto, 30% auto, cover;
 background-position:top left, bottom right, top left;
 background-repeat:no-repeat, no-repeat, no-repeat;
}
#service .inner-box{
 padding:3rem 0;
}
#service h2{
 margin-bottom:0;
 font-size:3rem;
 line-height:1;
}
#service .h2-en{
 margin-bottom:2rem;
 color:#78dc51;
}
#service h3{
 margin:0 0 1rem;
 color: #004c1b;
 font-size:2.25rem;
}
#service .h3-en{
 margin:0 0 .2rem;
 font-family: "Jura", sans-serif;
 font-size:1.25rem;
 color:#78dc51;
}
#service h4{
 margin:0;
 font-size:1.75rem;
}
#service .service-list-parent-box{
 padding-left:0;
 list-style:none;
 counter-reset: my-counter;
}
#service .service-list-parent{
 position:relative;
 margin-left:2rem;
 margin-bottom:2rem;
 padding:2rem 2rem 2rem 3rem;
 font-size:1.13rem;
 background-color:#fff;
 border-radius:20px;
 box-shadow: 0 0 15px rgba(0, 119, 65, 0.2);
}
#service .service-list-parent::before{
 position:absolute;
 counter-increment: my-counter; /* カウンタを1ずつ進める */
 content: counter(my-counter);  /* 番号を表示 */
 top:-0.7rem;
 left:-2rem;
 color:#78dc51;
 font-size:9rem;
 font-family: "Oswald", sans-serif;
 line-height:1;
 font-weight:600;
}
#service .service-list-parent:first-child::before{
 padding-left:5px;
}
#service .service-read{
 font-size:1.25rem;
}
.service-list-child-box{
 list-style:none;
}
.service-list-child{
 position:relative;
 padding-left:2rem;
 padding-bottom:24px;
}
.service-list-child::before{
 position:absolute;
 content:"";
 top:.9rem;
 left:.5rem;
 width:6px;
 height:6px;
 border-radius:3px;
 background-color:#78dc51;
}
#award{
 margin: 0 auto;
 padding-bottom:3rem;
 background-image:
  url(/wp-content/uploads/profile-back-left-img.svg),
  url(/wp-content/uploads/profile-back-right-img.svg),
  linear-gradient(to right, #8ae168, #56bc75, #8ae168);
 background-size: 35% auto, 30% auto, 100% 100%;
 background-position: top left, top right, center;
 background-repeat: no-repeat, no-repeat, no-repeat;
}
#award .award-list-box {
 display: flex;
 margin:0;
 padding-left:0!important;
 padding: 0;
 list-style:none;
 align-items:normal;
 gap: 20px;
}
#award .award-list-box li {
 position:relative;
 flex: 1;
 padding:1.5rem;
 background-color:#fff;
 border-radius:10px;
 box-shadow: 0 0 15px rgba(0, 119, 65, 0.8);
}
#award h2{
 position:relative;
 padding:20px 0 20px 120px;
 max-height:100px;
 font-size:2.5rem;
}
#award h2::before{
position:absolute;
content:"";
top:0;
left:0;
width:100px;
 height:100px;
 background-image: url(/wp-content/uploads/icon-success.svg);
 background-size: 100px;
 background-repeat:no-repeat;
}
#award h2.large-company::before{
 background-image: url(/wp-content/uploads/large-company.svg);
}
#award h2.award::before{
 background-image: url(/wp-content/uploads/icon-award.svg);
}
#award .award-list-box li h3{
 font-size:1.75rem;
 color:#009900;
}
#award .award-list-box li p{
 font-size:1.5rem;
 line-height:1.2;
}
#award .award-list-box li .number{
 font-weight:600;
}
#award .award-list-box li strong{
 font-size:2.5rem;
 color:#007741;
}
#cta .submit p{
 text-align:center;
}
input[type=submit] {
 margin:0 auto;
 padding: 5px 30px;
 font-size:1.5rem;
 font-weight:600;
 background-color:#3fb266;
}
input[type=text], .wpcf7 input[type="email"], textarea{
 border:none!important;
 background-color:#e9f7de;
}
.graph{
 position:relative;
 display:block;
 margin:0 auto;
 max-width:590px;
 width:100%;
 height:300px;
 border-bottom: 1px solid #78dc51;
}
.graph .bar {
 position:absolute;
 display:block;
 bottom:0;
  width: 100px;
  transform-origin: bottom;
  transform: scaleY(0); 
  transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1); /* ビヨーン感を出すイージング */
}
.graph-harman .bar1{
 left:20%;
 height:93.3px;
 background-color:#aeea97;
}
.graph-harman .bar2{
 right:20%;
 height:138.3px;
 background-color:#00a33e;
}
.graph-axa .bar1{
 left:20%;
 height:90px;
 background-color:#aeea97;
}
.graph-axa .bar2{
 right:20%;
 height:99px;
 background-color:#00a33e;
}
.graph-abios .bar1{
 left:20%;
 height:50px;
 background-color:#aeea97;
}
.graph-abios .bar2{
 right:20%;
 height:150px;
 background-color:#00a33e;
}
.show .bar {
  transform: scaleY(1);
}
.show .bar1 {
  transition-delay: 0.5s;
}
.show .bar2 {
  transition-delay: 0.8s;
}
.graph .bar1-number {
 display:none;
 position:absolute;
 display:block;
 bottom:110px;
 left:20%;
 width:100px;
 font-size:2rem;
 font-weight:600;
 text-align:center;
 margin-bottom:0!important;
}
.graph .bar2-number {
 position:absolute;
 display:block;
 bottom:150px;
 right:20%;
 width:100px;
 font-size:2rem;
 font-weight:600;
 text-align:center;
}
.show .bar1-number {
 display:block;
 transition-delay: 0.5s;
}
.graph .arrow {
  position: absolute;
  left: 10%;
  bottom: 140px;
  height: 12px;
  background: linear-gradient(to right, #aeea97, #78dc51); 
  transform: rotate(-20deg);
  transform-origin: left center;
  width: 0;
  transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: 0.6s;
  z-index: 10;
}
/* 矢印の先端（三角） */
.graph .arrow::after {
  content: '';
  position: absolute;
  right: -10px; /* 先端を線の右端に固定 */
  top: 50%;
  transform: translateY(-50%);
  /* 三角形の形を作る */
  border-left: 30px solid #78dc51;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
}
.graph.show .arrow {
 width:80%!important;
}

#cta{
 padding:3rem 0;
 background-color:#e9f7de;
}
#cta h2{
 position:relative;
 padding:5px 0 20px 100px;
 max-height:100px;
 font-size:2.5rem;
}
#cta h2::before{
position:absolute;
content:"";
top:0;
left:0;
width:80px;
 height:55px;
 background-image: url(/wp-content/uploads/icon-contact.svg);
 background-size: 80px;
 background-repeat:no-repeat;
}
#cta .contact-inner{
 padding:2rem;
 background-color:#fff;
 border-radius:1rem;
 box-shadow: 0 0 15px rgba(0, 119, 65, 0.2);
}
.site-footer-wrap{
 color:#fff;
 background-color:#3fb266;
}
.wpcf7-spinner{display:none!important;}
@media (max-width: 768px) {
  .flex-3box {
    flex-direction: column;
  }
}