/*
Theme Name: Twenty Twenty-Four Child
Theme URI: 
Author: rpstx
Author URI: 
Description: Twenty Twenty-Four Child Theme
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfour
Text Domain: twenty-twenty-four-child
Tags: 
*/
/* =======================
FV・カウントアップ
======================= */
.fv{
 position:relative;
    overflow:visible;
/*background-image: url(https://renew2026.rpst.jp/img/top/fv_bg.png);*/
    background-repeat: repeat-y;
    background-size: cover;
    /*max-height: 650px;*/
   padding-top:40px;
     padding-bottom:2rem !important;
    
}

.fv__inner{
    display:grid;
    grid-template-columns:560px 1fr;
    grid-template-areas:
        "content visual"
        "buttons visual";
    gap:0;
    align-items:center;
        width: min(1200px, 90%);
    margin:0 auto;
}

/* 左 */

.fv__content{
    grid-area:content;
    max-width:none;
}

.fv__label{
margin-top:2rem;
  display:inline-flex;
  padding:7px 20px;
  border:1px solid #0f6b41;
  border-radius:999px;
  color:#0f6b41;
  font-size:14px;
  font-weight:700;
}

.fv__title {
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 82px;
    line-height: 1.15;
    font-weight: 700;
    color: #111;
letter-spacing:0.2rem;
}

.fv__title span{
  color:#0f6b41;
  position:relative;
    font-weight: 900;
}

.fv__title span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 3px;
    width: 100%;
    height: 7px;
    background: #0f6b41;
}

.fv__subtitle {
    margin: 10px 0 !important;
    font-size: 30px !important;
    font-weight: 700 !;
    color: #333 !important;
    background: none !important;
}

.fv__text{
  margin-top:10px;
  line-height:1.6;
  font-size:16px;
  color:#333;
}


/* ボタン */

.fv__buttons{
    grid-area:buttons;
    display:flex;
    gap:16px;
    margin:0;
    position: relative;
    bottom: 70px;
}

/* 共通 */

.fvbtn{
    width:220px;
    height:50px;
    border-radius:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-weight:700;
    transition:all .3s ease;
}

/* 黒ボタン */

.btn--black{
    background:#111;
    color:#fff;
    border:1px solid #111;
}

.btn--black:hover{
    background:#2F8F57;
    border-color:#2F8F57;
    transform:translateY(-3px);
    box-shadow:0 10px 24px rgba(47,143,87,.25);
}

/* 白ボタン */

.btn--white{
    background:#fff;
    color:#111;
    border:1px solid #111;
}

.btn--white:hover{
    background:#2F8F57;
    color:#fff;
    border-color:#2F8F57;
    transform:translateY(-3px);
    box-shadow:0 10px 24px rgba(47,143,87,.25);
}


/* 右 */

.fv__visual{
    grid-area:visual;
    position:relative;
    min-height:620px;
}

/* PC */

.fv__pc{
    position:relative;
    width:92%;
    max-width:780px;
    right:auto;
       bottom: -150px;
    z-index:2;
}


/* スマホ */

.fv__phone{
    position:absolute;
    width:26%;
    right:3%;
    bottom:4%;
    z-index:3;
}


/* アイコン */

.fv__icons{
position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    top: 0;
    right: 0;
}

.fv__iconsImg{

  width:100%;

  display:block;
}


.fvCountup{

  position:relative;

  margin-top:-80px;

  z-index:10;
}

.countup-container{

  width:min(1200px,90%);

  margin:auto;

  display:flex;

  justify-content:space-between;

  align-items:center;

  background:#fff;

  border-radius:24px;

  padding:1rem;

  box-shadow:

  0 20px 60px rgba(0,0,0,.08);
}

.countup-item{
  flex:1;
  text-align:center;
}
.countup-item dd{margin:0;font-weight:bold;}
.countup-head{

  display:flex;

  align-items:center;

  justify-content:center;

  gap:16px;
}

.countup-icon{

  width:56px;

  height:56px;

  border-radius:50%;

  background:#f3f7f2;

  display:flex;

  align-items:center;

  justify-content:center;

  flex-shrink:0;
}

.countup-icon img{

  width:40px;

  height:40px;
}

.countup-numberbox{

  display:flex;

  align-items:center;
}

.countup-number{

  font-size:48px;

  font-weight:600;

  color:#111;
}

.countup-numberbox span{

  font-size:28px;
  font-weight:700;
  color:#111;
}

.countup-label {
    margin: 0;
    font-size: 14px;
    color: #222;
    text-align: left;
}

/* SP */

@media (max-width:768px){

.fv{

    padding:40px 0 0 0 !important;
    max-height:none;
}

.fv__inner{
    display:flex;
    flex-direction:column;
}
.fv__content{
    max-width:none;
    width:100%;
    flex:none;
}
.fv .fv__content p{font-weight: 600 !important;}
    
.fv__label{
    margin-top:0;
    font-size:13px !important;
    padding:8px 18px;
}

.fv__title{
       font-size: 55px !important;
    line-height:1.08;
    letter-spacing:0;
    margin:18px 0;
}

.fv__title span::after{

    bottom:5px;
}

.fv__subtitle{

    font-size:20px !important;
    padding:0  !important;
    margin-bottom:18px !important;
}

.fv__text{

    font-size:16px;
    line-height:1.8;
}

.fv__text br{

    display:none;
}

/* ---------- 画像 ---------- */

.fv__visual{
    position:relative;
    width:100%;
    min-height:360px;
}

/* PC */

.fv__pc{
    width:95%;
    right:0;
    left:auto;
    bottom:0;
    top:80px;
}

/* スマホ */

.fv__phone{
    width:30%;
    right:0;
    bottom:10px;
}
/* アイコン */

.fv__icons{

    width:100%;

    top:10px;

    left:0;
}

.fv__iconsImg{

    width:100%;
}

/* ---------- ボタン ---------- */

.fv__buttons{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:16px;
    margin-top:20px;
    position: relative;
    bottom: 0px;
}

.fvbtn{

    width:100%;

    height:56px;

    font-size:18px;
}

/* ---------- CountUp ---------- */

.fvCountup{

    margin-top:40px;
}

.countup-container{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:16px;

    background:none;

    box-shadow:none;

    width:92%;
}

.countup-item{

    background:#fff;

    border-radius:18px;

    padding:24px 10px;

    box-shadow:0 8px 30px rgba(0,0,0,.08);
}

    
    
    .countup-item dl{margin:0;}    
    
.countup-head{

    flex-direction:column;

    gap:10px;
}

      .countup-numberbox{display: block;}  
    .countup-number {
        font-size: 48px;
        line-height: 3rem;
    }
  

.countup-numberbox span{

    font-size:30px;
}

.countup-label{

    text-align:center;
}

.countup-icon{

    width:58px;

    height:58px;
}

}



/*@media(max-width:768px){

  .fv{

    padding-bottom:120px;
  }

  .fvCountup{

    margin-top:-60px;
  }

  .countup-container{

    flex-direction:column;

    gap:32px;

    padding:32px 24px;
  }

  .countup-number{

    font-size:40px;
  }

  .countup-numberbox span{

    font-size:40px;
  }

}*/

/* ==========================
充実の機能
========================== */

.top_feature{
	max-width:1200px;
	margin:120px auto;
	padding:0 20px;

}

.top_feature__heading{
	text-align:center;
	margin-bottom:64px;

}

.top_feature__heading h2 {
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 16px;
    background: none !important;
    color: #333;
}

.top_feature__heading span{
	color:#0f8a4b;

}

.top_feature__heading p{
	font-size:1.6rem;
	color:#333;

}

/* 一覧 */

.top_feature__list{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:32px;
}

/* カード */

.top_feature-card{

	position:relative;

	display:flex;

	flex-direction:column;

	padding:36px;

	background:#fff;

	border:1px solid #e5e5e5;

	border-radius:24px;

	text-decoration:none;

	box-shadow:0 8px 24px rgba(0,0,0,.06);

	transition:.3s;

}

.top_feature-card:hover{
	/*transform:translateY(-6px);*/
	box-shadow:0 14px 32px rgba(0,0,0,.10);

}

.top_feature-card__iconbox{
    display: flex;
    justify-content: space-between;
}

.top_feature-card__icon {
    height: 48px;
    margin-bottom: 0;
    flex: 0.4;
}

.top_feature-card__ttl{
     flex:2;
    
}


.top_feature-card__icon img{
	height:100%;
	width:auto;

}

.top_feature-card h3 {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    color: #111;
    margin-top: 5px !important;
    margin-bottom: 0;
    border-bottom: none !important;
}

.top_feature-card p {
    font-size: 1rem;
    line-height: 1.8;
       color: #222 !important;
    margin: 0 0 28px 0 !important;
}

/* 画像 */

.top_feature-card__image{

	margin-top:auto;

}

.top_feature-card__image img{

	width:100%;

	display:block;

	border-radius:12px;

}

/* 右下の緑三角 */

.top_feature-card::after{

	content:"";

	position:absolute;

	right:0;

	bottom:0;

	width:24px;

	height:24px;

	background:green;

	clip-path:polygon(100% 0,0 100%,100% 100%);

}

/* ==========================
SP
========================== */

@media (max-width:1024px){

	.top_feature__list{

		grid-template-columns:1fr 1fr;

	}

}

@media (max-width:767px){

	.top_feature{

		margin:80px auto;

	}

	.top_feature__heading h2{

		font-size:2.2rem;

	}
    
    .top_feature__heading p {
    font-size: 1.2rem;
}

	.top_feature__list{

		grid-template-columns:1fr;

	}

	.top_feature-card{

		padding:28px;

	}

}

/*=====================================
 Feature CTA
=====================================*/

.top_feature__cta{
    display:flex;
    justify-content:center;
    margin-top:48px;
}

.top_feature__cta a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:16px;

    min-width:280px;
    height:60px;
    padding:0 32px;

    background:#fff;
    border:1px solid #2F7A45;
    border-radius:10px;

    color:#222;
    font-size:16px;
    font-weight:700;
    text-decoration:none;

    transition:all .3s ease;
}

.top_feature__cta a:hover{
    background:#2F7A45;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(47,122,69,.18);
}

.top_feature__cta-icon{
    display:flex;
    align-items:center;
    justify-content:center;

    width:24px;
    height:24px;

    border-radius:50%;
    background:#2F7A45;
    color:#fff;

    font-size:13px;
    transition:.3s;
}

.top_feature__cta a:hover .top_feature__cta-icon{
    background:#fff;
    color:#2F7A45;
    transform:translateX(4px);
}
@media (max-width:767px){

.top_feature__cta{
    margin-top:36px;
}

.top_feature__cta a{
    width:100%;
    min-width:auto;
    height:56px;
    font-size:15px;
}

}

/* ==========================================
   料金プラン
========================================== */

.xrosslp-price{
    padding:120px 0;
    background:rgba(237,247,230,.6);
}

.xrosslp-container{
    max-width:1200px;
    width:100%;
    margin:0 auto;
    padding:0 20px;
    box-sizing:border-box;
}

/* ==========================
Heading
========================== */

.xrosslp-price__heading{
    text-align:center;
    margin-bottom:60px;
}

.xrosslp-price__label{
    display:inline-block;
    margin-bottom:12px;
    font-size:14px;
    font-weight:700;
    letter-spacing:.08em;
    color:#2F7A45;
}

.xrosslp-price__title{
    margin:0;
    font-size:42px;
    font-weight:700;
    line-height:1.4;
    color:#222;
}

.xrosslp-price__text{
    margin-top:18px;
    font-size:17px;
    color:#666;
    line-height:1.8;
}

/* ==========================
Cards
========================== */

.xrosslp-price__cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:32px;
}

/* ==========================
Card
========================== */

.xrosslp-plan{
    position:relative;
    background:#fff;
    border:1px solid #E8ECE8;
    border-radius:18px;
    padding:34px 34px 38px;
    box-shadow:0 10px 35px rgba(0,0,0,.06);
    transition:.35s;
}

.xrosslp-plan:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

/* 人気プラン */

.xrosslp-plan--popular{
    border:2px solid #2F7A45;
    transform:translateY(-12px);
}

.xrosslp-plan--popular:hover{
    transform:translateY(-18px);
}

/* ==========================
Badge
========================== */

.xrosslp-plan__badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:120px;
    height:34px;

    margin-bottom:28px;

    background:#EEF7F0;
    color:#2F7A45;

    border-radius:999px;

    font-size:14px;
    font-weight:700;
}

.xrosslp-plan__badge--green{
    background:#2F7A45;
    color:#fff;
}

/* ==========================
Title
========================== */

.xrosslp-plan__name{
    margin:0;
    font-size:24px;
    font-weight:700;
    color:#222;
    line-height:1.4;
}

.xrosslp-plan__sub{
    margin:10px 0 34px;
    font-size:16px;
    color:#777;
}

/* ==========================
Price
========================== */

.xrosslp-plan__price{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:8px;

    margin-bottom:18px;
}

.xrosslp-plan__price-label{
    font-size:20px;
    font-weight:700;
    margin-bottom:12px;
}

.xrosslp-plan__price-value{
    font-size:52px;
    font-weight:800;
    color:#2F7A45;
    line-height:1;
    letter-spacing:-0.03em;
}

.xrosslp-plan__price-unit{
    font-size:30px;
    font-weight:700;
    margin-bottom:10px;
}

.xrosslp-plan__initial{
    margin:0 0 34px;
    text-align:center;
    font-size:16px;
    color:#333;
}

.xrosslp-plan__initial strong{
    font-size:24px;
    font-weight:800;
}

.xrosslp-plan__initial small{
    font-size:14px;
    color:#888;
}

/* ==========================
List
========================== */

.xrosslp-plan__list{
    margin:0;
    padding:0;
    list-style:none;
}

.xrosslp-plan__list li{
    position:relative;
    padding-left:34px;
    margin-bottom:5px;

    font-size:18px;
    color:#333;
    line-height:1.8;
}

.xrosslp-plan__list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:0;

    color:#2F7A45;
    font-weight:700;
}

/* ==========================
Button
========================== */

.xrosslp-plan__button{
    display:flex;
    justify-content:center;
    align-items:center;

    width:100%;
    height:62px;

    margin-top:36px;

    border:2px solid #2F7A45;
    border-radius:10px;

    text-decoration:none;
    color:#2F7A45;

    font-size:18px;
    font-weight:700;

    transition:.3s;
}

.xrosslp-plan__button:hover{
    background:#2F7A45;
    color:#fff;
}

.xrosslp-plan__button--primary{
    background:#2F7A45;
    color:#fff;
}

.xrosslp-plan__button--primary:hover{
    background:#215D33;
    border-color:#215D33;
}
/* ==========================================
   Popular Plan
========================================== */

.xrosslp-plan--popular{
    overflow:hidden;
    padding-top:88px;
}

.xrosslp-plan--popular .xrosslp-plan__badge{
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:60px;

    margin:0;

    border-radius:0;
    background:#2F7A45;
    color:#fff;

    font-size:18px;
    font-weight:700;
}

/* ==========================================
   Card Height
========================================== */

.xrosslp-plan{
    display:flex;
    flex-direction:column;
}

.xrosslp-plan__list{
    flex:1;
}

.xrosslp-plan__button{
    margin-top:auto;
}

/* ==========================================
   Note
========================================== */

.xrosslp-price__note{
    margin-top:24px;
    text-align:center;
    font-size:13px;
    color:#999;
    line-height:1.8;
}

/* ==========================================
   Animation
========================================== */

.xrosslp-plan{
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.xrosslp-plan:hover{
    border-color:#2F7A45;
}

.xrosslp-plan__button{
    transition:
        background .3s,
        color .3s,
        border-color .3s;
}

/* ==========================================
   Tablet
========================================== */

@media (max-width:1024px){

.xrosslp-price{
    padding:90px 0;
}

.xrosslp-price__cards{

    grid-template-columns:1fr;
    max-width:520px;
    margin:0 auto;
    gap:30px;

}

.xrosslp-plan--popular{

    transform:none;

}

.xrosslp-plan--popular:hover{

    transform:translateY(-8px);

}

.xrosslp-price__title{

    font-size:34px;

}

.xrosslp-plan__price-value{

    font-size:52px;

}

}

/* ==========================================
   Smartphone
========================================== */

@media (max-width:767px){

.xrosslp-price{

    padding:70px 0;

}

.xrosslp-container{

    width:calc(100% - 30px);

}

.xrosslp-price__heading{

    margin-bottom:40px;

}

.xrosslp-price__label{

    font-size:12px;

}

.xrosslp-price__title{

    font-size:28px;

}

.xrosslp-price__text{

    font-size:15px;
    line-height:1.8;

}

.xrosslp-price__cards{

    gap:24px;

}

.xrosslp-plan{

    padding:28px 22px;

    border-radius:16px;

}

.xrosslp-plan--popular{

    padding-top:76px;

}

.xrosslp-plan--popular .xrosslp-plan__badge{

    height:52px;
    font-size:16px;

}

.xrosslp-plan__name{

    font-size:24px;

}

.xrosslp-plan__sub{

    font-size:15px;

}

.xrosslp-plan__price{

    gap:5px;

}

.xrosslp-plan__price-label{

    font-size:20px;
    margin-bottom:8px;

}

.xrosslp-plan__price-value{

    font-size:52px;

}

.xrosslp-plan__price-unit{

    font-size:22px;
    margin-bottom:8px;

}

.xrosslp-plan__initial{

    font-size:16px;

}

.xrosslp-plan__initial strong{

    font-size:24px;

}

.xrosslp-plan__list li{

    font-size:16px;

}

.xrosslp-plan__button{

    height:56px;
    font-size:16px;

}

}
/* ==========================================
   Price CTA
========================================== */

.xrosslp-price__cta{
    margin-top:60px;
    text-align:center;
}

.xrosslp-price__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    min-width:320px;
    height:64px;
    padding:0 36px;

    background:#2F7A45;
    color:#fff;
    text-decoration:none;

    font-size:18px;
    font-weight:700;

    border-radius:999px;
    transition:.3s ease;
}

.xrosslp-price__button:hover{
    background:#245f36;
    transform:translateY(-2px);
}

.xrosslp-price__arrow{
    transition:transform .3s ease;
}

.xrosslp-price__button:hover .xrosslp-price__arrow{
    transform:translateX(4px);
}

@media (max-width:767px){

.xrosslp-price__cta{
    margin-top:40px;
}

.xrosslp-price__button{
    width:100%;
    min-width:auto;
    height:56px;
    font-size:16px;
}

}


/* ==========================
選ばれる理由
========================== */

.top_reason{

    position:relative;

    margin:0 auto 80px auto;

    padding:80px 0;

    overflow:hidden;

   /* background-image:
        linear-gradient(rgba(255,255,255,.3),rgba(255,255,255,.3)),
        url("/img/top/reason_bk02.png");*/

    background-size:cover;

    background-position:left ;

    background-repeat:no-repeat;

    background-attachment:fixed;

}

.top_reason__overlay{

    position:absolute;

    inset:0;

    /*background:
        radial-gradient(circle at top left,
        rgba(255,140,0,.08),
        transparent 40%),

        radial-gradient(circle at bottom right,
        rgba(255,140,0,.08),
        transparent 45%);*/

}

.top_reason__inner{

    position:relative;

    z-index:2;

    max-width:1200px;

    margin:auto;

    padding:0 70px;

 /*   background:rgba(255,255,255,.72);

    backdrop-filter:blur(12px);

    border-radius:32px;
    box-shadow:
        0 25px 70px rgba(0,0,0,.08);
*/

}

.top_reason__title{

    text-align:center;

    margin-bottom:70px;

}

.top_reason__title h2{

    font-size:42px;

    font-weight:700;
    margin-top:0;
    margin-bottom:18px;

    color:#222;
    background:none;

}

.top_reason__title p{

    font-size:18px;

    line-height:1.9;

    color:#666;

}

.top_reason__list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
    background: rgba(255, 255, 255, .72);
    backdrop-filter: blur(52px);
    border-radius: 10px;
    box-shadow: 0 25px 70px rgba(0, 0, 0, .08);
}

.top_reason__item{

    text-align:center;

    padding:24px;

    border-radius:24px;

    transition:.35s;

}

.top_reason__item:hover{

    transform:translateY(-10px);

    background:#fff;

   /* box-shadow:
        0 20px 60px rgba(0,0,0,.08);*/

}

.top_reason__icon {
    width: 90px;
    height: 90px;
    margin: 0 auto 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    /* box-shadow: 0 15px 35px rgba(255, 145, 0, .12); */
    background: #f6f6f6;
}

.top_reason__icon img{

    width:44px;

    height:auto;

}

.top_reason__item h3 {
    font-size: 1rem !important;
    line-height: 1.5;
    margin-top: 0;
    margin-bottom: 20px;
    color: #222;
    padding: 0 !important;
    border-bottom: none !important;
    font-weight: bold;
}

.top_reason__item p{

    font-size:15px;

    line-height:1.9;

    color:#222;

    text-align:left;

}

/* 区切り線 */

.top_reason__item:not(:last-child){
border-radius: 0 !important;
    border-right:1px dashed #ffd6af;

}

/* SP */

@media(max-width:1024px){

.top_reason{

        background-attachment:scroll;

        padding:80px 20px;

    }

.top_reason__inner{

        padding:40px;

    }

.top_reason__list{

        grid-template-columns:repeat(2,1fr);

    }

.top_reason__item{

        border-right:none !important;

    }

}

@media(max-width:767px){

.top_reason{

        margin:80px auto;

    }
    
    

.top_reason__inner{

        padding:32px 0;

        border-radius:24px;

    }

.top_reason__title h2{

        font-size:32px;

    }
    
    .top_reason__item h3{
         font-size:1.3rem !important;
        
    }

.top_reason__title p{

        font-size:15px;

    }

.top_reason__list{

        grid-template-columns:1fr;

        gap:20px;

    }

}

/* ======================
Reason CTA
====================== */

.top_reason__cta{
    margin-top:56px;
    text-align:center;
}

.top_reason__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-width:300px;
    height:60px;
    padding:0 32px;
    border-radius:999px;
    background:#0f8a4b;
    color:#fff;
    font-size:16px;
    font-weight:700;
    text-decoration:none;
    transition:.3s;
    box-shadow:0 8px 24px rgba(15,138,75,.15);
}

.top_reason__button:hover{
    background:#0c743f;
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(15,138,75,.22);
}

.top_reason__button-arrow{
    font-size:18px;
    transition:.3s;
}

.top_reason__button:hover .top_reason__button-arrow{
    transform:translateX(4px);
}

@media (max-width:767px){

    .top_reason__cta{
        margin-top:40px;
    }

    .top_reason__button{
        width:100%;
        min-width:auto;
        height:56px;
        font-size:15px;
    }

}
/* ==========================
ロゴスライダー
========================== */

.logo-slider-section{

	max-width:1200px;

	margin:80px auto;

	padding:0 24px;

	position:relative;

}

.logo-slider-section{

	background-image:
	radial-gradient(#eef2f6 1px, transparent 1px);

	background-size:24px 24px;

	border-radius:24px;

}


.logo-slider-title {
    text-align: center;
    font-size: 2rem !important;
    font-weight: 700;
    margin-bottom: 26px !important;
    background: none !important;
    color: #333 !important;
}

.logo-slider{

	width:100%;

	overflow:hidden;

}

.logo-slider .swiper-wrapper{

	transition-timing-function:linear !important;

}

.logo-slider .swiper-slide{

	width:180px !important;

	height:80px;

	display:flex;

	align-items:center;

	justify-content:center;

	flex-shrink:0;

}

.logo-slider img{

	/*max-width:160px;

	max-height:48px;

	width:auto;

	height:auto;
*/
	/*filter:grayscale(100%);*/

	opacity:.8;

	transition:.3s;

}

.logo-slider img:hover{

	filter:none;

	opacity:1;

	transform:scale(1.05);

}

/* SP */

@media(max-width:767px){

	.logo-slider-section{

		margin:80px auto;

	}

	.logo-slider-title{

		font-size:1.8rem !important;

		margin-bottom:40px;

	}

	.logo-slider img{

		/*max-width:120px;*/

		max-height:80px;

	}

}


/* ==========================
BLOG + NEWS タイトル
========================== */

.top-information__heading{

	margin-bottom:24px;

}

.top-information__heading p {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0f8a4b;
    margin-bottom: 8px;
    letter-spacing: .1em;
    padding: 0 !important;
    margin: 0 auto 80px auto;
}

.top-information__heading h2 {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0;
    color: #111;
    background: none !important;
    padding: 0;
}

/* ==========================
BLOG + NEWS
========================== */

.top-information{

	max-width:1200px;

	margin:80px auto;

	display:grid;

	grid-template-columns:1fr 1fr;

	gap:32px;

	align-items:stretch;

}

.top-information__blog .top-information__heading h2{
color:#222;}

/* BLOG */


.top-blog {
    display: flex;
    flex-direction: column;
    height: auto;
   background:#f6f6f6;
    border-radius: 10px;
    padding: 32px;
   border: 1px solid #0f8a4b;
   box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
}


.top-blog__link{

	display:block;

	gap:20px;

	height:100%;

	text-decoration:none;

	color:#111;

}

/* 左画像 */

.top-blog__image{
	/*width:45%;*/
	flex-shrink:0;

}

.top-blog__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
    display: block;
}


/* 右本文 */

.top-blog__body{

	flex:1;
	display:flex;
	flex-direction:column;
}

.top-blog h3 {
    padding: 0;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 16px;
    color: #333;
    margin-top: 0;
    border-bottom: none;
}

.top-blog p {
    font-size: 1rem;
    line-height: 1.5;
    color: #555;
    margin: 0 !important;
}

.top-blog__date{
	margin-top:5px;
	font-size:1rem;
	color:#777;

}

/* 続きを見る */
.top-blog__more{

	margin-top:auto;

	padding-top:10px;

	font-size:1rem;

	font-weight:700;

	color:#0f8a4b;

}

/* SP */

@media(max-width:767px){

	.top-blog__link{

		flex-direction:column;

	}

	.top-blog__image{

		width:100%;

	}

}



/* NEWS */
.top-news {
    display: flex;
    flex-direction: column;
    height: auto;
    background: #fff;
    /* border: 1px solid #e5e5e5; */
    /* border-radius: 24px; */
    padding: 15px 0 0 0;
    /* box-shadow: 0 8px 24px rgba(0, 0, 0, .06); */
}
.top-news ul{

	list-style:none;

	padding:0;

	margin:0;

}

.top-news li {
    padding: 1rem 0;
    border-bottom: 1px solid #eee;
}

.top-news a{

	display:block;

	text-decoration:none;

	color:#111;

}

.top-news__header{

	display:flex;

	align-items:center;

	gap:12px;
      margin: 10px auto 0 auto;

}

.top-news__date{

	font-size:1rem;

	color:#777;

}

.top-news__cat {
    padding: 2px 10px;
    font-size: 0.8rem;
    font-weight: 700;
    border-radius: 5px;
    background: #0f8a4b;
    color: #fff;
}

.top-news h3 {
    font-size: 1rem;
    line-height: 1.7;
    font-weight: 500;
    margin: 0;
    padding:0 0 10px 0;
    border-bottom: none !important;
    color: #333 !important;
}

/* 一覧 */

.top-news__more {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: auto;
    padding-top: 10px;
    font-size: 1rem;
    font-weight: 500;
    color: #0f8a4b !important;
    text-decoration: none;
    transition: .3s;
    text-align: right;
}
.top-news__more:hover{

	opacity:.7;

}

@media(max-width:767px){

	.top-information{

		grid-template-columns:1fr;

	}

}


/* =======================
導入事例 + CTA
======================= */

/*.home-bottom{

	display:flex;

	gap:32px;

	align-items:stretch;

	margin:80px auto;
    max-width:1200px;

}

.home-bottom__cases{

	flex:2;

	min-width:0;

}

.home-bottom__banner{
    flex:2;
    padding:40px;
    background:#00884d;
    border-radius:20px;
    position:relative;
}



.home-bottom__cases .swiper{
    height:auto;
}

.home-bottom__cases .swiper-wrapper{
    align-items:stretch;
}

.home-bottom__cases{
    min-height:420px;
}
*/


/* タイトル */

/*.section-title{

	margin-bottom:24px;

}

.section-title p{

	font-size:1.2rem;

	font-weight:700;

	color:#00884d;

	margin:0;
    padding:0;
    
}

.section-title h2 {
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
    padding: 0;
    background: none;
    color: #333;
}*/

/* バナー */

.cta-banner{

	display:flex;

	align-items:center;

	justify-content:space-between;

	height:auto;

	padding:0 0 40px 0;

	background:#00884d;

	border-radius:20px;

	color:#fff;

	text-decoration:none;

	overflow:hidden;

	position:relative;

}

.cta-banner__body{

	flex:1;

}

.cta-banner h2 {
    font-size: 1.5rem;
    margin-top: 0;
    margin-bottom: 16px;
    color: #fff;
}

.cta-banner p{
	font-size:1rem;
	line-height:1.8;
    margin-top:0;
	margin-bottom:32px;

}

.cta-banner__button{

	display:flex;

	gap:16px;

	/*flex-wrap:wrap;*/

}

.btn-orange{
	padding:14px 24px;
	background:#ff8c00;
	border-radius:10px;
	font-weight:700;
    width: 46%;
    color:#fff;
}

.btn-black{

	padding:14px 24px;
	background:#fff;
	border-radius:10px;
	font-weight:700;
     width: 32%;
    color:#333;

}

.cta-banner__image {
    width: 180px;
    flex-shrink: 0;
}

.cta-banner__image img{

	width:100%;

	display:block;

}

/* SP */

@media (max-width:767px){

    .home-bottom{
        display:block;
    }

    .home-bottom__cases,
    .home-bottom__banner{
        width:100%;
        margin-bottom:40px;
    }

    .home-bottom__banner{
        display:block;
    }

    .cta-banner{
        display:flex;
        flex-direction:column;
        align-items:center;
        padding:30px 20px;
    }

    .cta-banner__button{
        display:flex;
        flex-direction:column;
        gap:12px;
        width:100%;
        margin-top:20px;
    }

    .btn-orange,
    .btn-black{
        display:block;
        width:100%;
        box-sizing:border-box;
        text-align:center;
    }

    .cta-banner__image{
        width:160px;
        margin:20px auto 0;
    }

}

/*======================================
 CTA1
======================================*/

.rpstxtop_cta1{

    padding:0 auto 100px auto

}

.rpstxtop_cta1__inner{

    max-width:1200px;
    margin:0 auto;
    padding:40px 60px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:60px;

    border-radius:24px;

    background:
    linear-gradient(180deg,#ffffff 0%,#fafcfb 100%);

    border:1px solid #E7ECE8;

    box-shadow:
    0 15px 40px rgba(0,0,0,.06);

}

.rpstxtop_cta1__image{

    flex:0 0 210px;

}

.rpstxtop_cta1__image img{

    width:100%;
    display:block;

}

.rpstxtop_cta1__content{

    flex:1;

}

.rpstxtop_cta1__title{

    margin:0 0 14px;

    font-size:38px;
    font-weight:700;
    line-height:1.4;
    color:#222;

}

.rpstxtop_cta1__text{

    margin:0;

    font-size:16px;
    line-height:1.9;

    color:#666;

}

.rpstxtop_cta1__buttons{

    display:flex;
    gap:16px;
    flex-shrink:0;

}
.rpstxtop_cta1__button{

    display:flex;
    align-items:center;
    justify-content:center;

    min-width:230px;
    height:58px;

    padding:0 30px;

    border-radius:10px;

    font-size:15px;
    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

/* オレンジ */

.rpstxtop_cta1__button--orange{

    background:#ff8c1a;
    color:#fff;

}

.rpstxtop_cta1__button--orange:hover{

    background:#ef7e00;
    transform:translateY(-3px);

}

/* 白 */

.rpstxtop_cta1__button--white{

    background:#fff;

    border:1px solid #2F7A45;

    color:#2F7A45;

}

.rpstxtop_cta1__button--white:hover{

    background:#2F7A45;
    color:#fff;

}
@media(max-width:991px){

.rpstxtop_cta1{

    padding:70px 0;

}

.rpstxtop_cta1__inner{

    padding:40px 25px;

    flex-direction:column;

    text-align:center;

    gap:30px;

}

.rpstxtop_cta1__image{

    flex:none;
    width:180px;

}

.rpstxtop_cta1__title{

    font-size:30px;

}

.rpstxtop_cta1__buttons{

    width:100%;

    flex-direction:column;

}

.rpstxtop_cta1__button{

    width:100%;

    min-width:inherit;

}

}

@media(max-width:767px){

.rpstxtop_cta1__title{

    font-size:24px;

}

.rpstxtop_cta1__text{

    font-size:14px;

}

}
