/*
Theme Name: Lightning Child
Theme URI: ★  ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.5.1
*/
/*アニメーション
-----------------------------------------
*/

/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* アニメーションスタートの遅延時間を決めるCSS*/

.delay-time01{
animation-delay: 0.1s;
}
.delay-time02{
animation-delay: 0.2s;
}
.delay-time03{
animation-delay: 0.3s;
}
.delay-time04{
animation-delay: 0.4s;
}
.delay-time05{
animation-delay: 0.5s;
}
.delay-time06{
animation-delay: 0.6s;
}
.delay-time07{
animation-delay: 0.7s;
}
.delay-time08{
animation-delay: 0.8s;
}
.delay-time09{
animation-delay: 0.9s;
}
.delay-time10{
animation-delay: 1.0s;
}
.delay-time11{
animation-delay: 1.1s;
}
.delay-time12{
animation-delay: 1.2s;
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
    padding: 0;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
/*ナビゲーション
-----------------------------------------
*/
.vk-mobile-nav-menu-btn {
    display: none;
}

/*========= ヘッダー ===============*/
/*==ナビゲーション全体の設定*/
#site-header, .page-header, #breadcrumb{
    display: none !important;
}
header{
   width: 100%;
    overflow: visible;
    z-index: 500;
    position: relative; 
}
#imgheader{
   height: 75px;
    width:100%;/*横幅指定*/
   background: rgb(255 255 255 / 0%);
    display: flex;
    flex-direction: row;
}
#imgheader nav ul li a{
    color: #fff;
    font-size: 14px;
}
#imgheader.fixed{
  position: fixed;/*fixedを設定して固定*/
  z-index: 499;/*最前面へ*/
  top:0;/*位置指定*/
  left:0;/*位置指定*/
 background: rgb(255 255 255 / 90%);
}
#imgheader.fixed nav ul li a{
    color: #000;
}
#imgheader .header-logo{
 position: absolute;
    left: 5%;
    margin: 0;
    top: 10px;
    max-width: 20%;
}
#imgheader .header-logo img{
    max-height: 55px;
}

.global-nav .global-nav-list>li>a {
    white-space: nowrap;
}
/*ナビゲーションを横並びに*/
nav{
    width: 100%;
}
nav ul{
    position: relative;
    list-style: none;
    display: flex;
    justify-content: normal;
    width: 100%;
    padding-left: 25%;
}
@media screen and (max-width:1025px){
    #imgheader .header-logo{
        left: 1%;
        top: 15px;
        max-width: 18%;
    }
    nav ul{
         padding-left: 20%;
    }
}
/*2階層目以降は横並びにしない*/
nav ul ul{
  display: block;
}

/*ナビゲーションのリンク設定*/
nav ul li a{
    /*矢印の基点にするためrelativeを指定*/
  position: relative;
  display: block;
  text-decoration: none;
  transition:all .1s;
  padding: 14px 1em 0;
}
nav ul li a:hover{
  color:#fff; 
}

@media screen and (max-width:1025px){
    #imgheader .header-logo{
        left: 1%;
        top: 15px;
        max-width: 18%;
    }
    #imgheader nav ul li a{
    /*矢印の基点にするためrelativeを指定*/
     font-size: 13px;
     padding: 7px 0.5em 0;
    }
}
/*==2階層目以降の画像設定*/

nav ul li.has-child img{
  max-width: 100%;
    min-height: 17vh;
    transition: all .2s;
    vertical-align: bottom;
    overflow: hidden;
    width: auto;
}

/*hoverしたら画像拡大*/
nav ul li.has-child img:hover{
  transform: scale(1.2);
}

nav ul li.has-child dt{
  overflow: hidden;
  height: 17vh;
  margin-bottom: 1rem;
}
nav ul li.has-child dt:hover{
border: 2px #fff solid;
}
nav ul li.has-child dd{
     color: #fff;
    text-align: center;
    line-height: 1.5;
}
nav ul li.has-child dd span{
    display: block;
    font-size: 0.72rem;
}
@media screen and (max-width:1200px){
nav ul li.has-child dt{
  height: 12vh;
}
  nav ul li.has-child img{
    min-height: 12vh;
}
}
@media screen and (max-width:1025px){

}
/*== 2層目の設定 */

nav li.has-child ul{
  /*絶対配置で位置を指定*/
    position: absolute;
  left: 0%;
    right: 0%;
  top:58px;
  z-index: 4;
  /*子要素を横並びに*/    
  display: flex;
  flex-wrap: wrap;
    /*形状を指定*/
  background:rgb(70 70 70 / 85%);
  width:100%;
    /*はじめは非表示*/
visibility: hidden;
  opacity: 0;
     /*アニメーション設定*/
  transition: all .1s;  
    padding-left: 10%;
}

/*hoverしたら表示*/
nav li.has-child:hover > ul{
  visibility: visible;
  opacity: 1;
}
nav li.has-child:hover + #imgheader{
   background: #fff;
}

/*各ナビゲーション横幅*/
nav li.has-child ul li{
  width:16%;
}
nav li.has-child ul li:first-of-type{
  width:15%;
}
/*ナビゲーションaタグの形状*/
nav li.has-child ul li a{
  color: #fff;
}
nav li.has-child ul li h5.title{
  font-size: 1.15rem;
    text-align: left;
    padding: 4rem 0 0 2rem;
}
nav li.has-child ul li h5.title span{
      font-size: 0.9rem !important;
    text-align: left !important;
    padding-top: 0.5rem !important;
    display: block !important;
}
#imgheader > nav > ul > li > a{
    position: relative;
}
#imgheader > nav > ul > li > a::after {
   content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: -5px;
    left: 10%;
    /*線の形状*/
    width: 80%;
    height: 2px;
    background:rgb(70 70 70 / 85%);
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*上部中央基点*/
}
/*現在地とhoverの設定*/
#imgheader > nav > ul > li > a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}
/*==1025px以下の形状*/
@media screen and (max-width:1025px){
  nav li.has-child ul{
    padding-left: 0%;
  }
  nav li.has-child ul li:first-of-type {
    width: 20%;
}
    nav ul li.has-child ul li a dd{
       font-size: 12px; 
    }
    nav ul li.has-child dt {
    height: 8vh;
    }
    nav ul li.has-child img {
    min-height: 8vh;
    }
}
/*========= 途中からハンバーガーメニューに変化するのためのCSS ===============*/

/*========= ボタンのためのCSS ===============*/

/*ボタン全体の形状*/
.openbtn{
    /*はじめは非表示に*/
    display: none;
    /*ボタンの位置*/
    position:fixed;
    top:10px;
    right: 10px;
    z-index: 999;
    /*ボタンの形状*/
    background:#666;
    cursor: pointer;
    width: 50px;
    height:50px;
    border-radius: 5px;
}

/*ボタンのアイコン設定*/
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #fff;
    width: 45%;
  }

.openbtn span:nth-of-type(1) {
    top:15px;   
}

.openbtn span:nth-of-type(2) {
    top:23px;
}

.openbtn span:nth-of-type(3) {
    top:31px;
}

/*activeクラスが付与された後のボタンのアイコン設定*/
.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
    opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}


/*==768px以下の形状*/
@media screen and (max-width:768px){
  .openbtn{
  display: block;
}
#imgheader.fixed {
    background: rgb(255 255 255 / 0%);
}
#imgheader{
   opacity: 0;/*透過0にして非表示に*/
   display: none;
}
#imgheader nav{
   top: -15px;
       position: relative;
}
#imgheader.panelactive {
    opacity: 1;/*不透明にして出現*/
    display: block;
}
  #imgheader nav ul{
    display: block;
    padding-left: 0%;
    text-align: center;
  }
 #imgheader nav > ul{    
   background: rgb(255 255 255 / 95%);
    width: 100%;
    position: absolute;
    right: 0;
    padding-top: 70px
  }
  #imgheader nav li.has-child ul{
 position: relative;
  left:0;
  top:0;
  width:100%;
  visibility:visible;/*JSで制御するため一旦表示*/
  opacity:1;/*JSで制御するため一旦表示*/
  display: none;/*JSのslidetoggleで表示させるため非表示に*/
  transition:none;/*JSで制御するためCSSのアニメーションを切る*/
  background: rgb(58 58 58 / 50%);
  margin: 0;
}
#imgheader > nav > ul > li {
    background: rgb(31 77 124 / 80%);
}
#imgheader > nav > ul > li > a {
    padding: 2.0em 0.5em 2.0em;
    color: #fff;
}
#imgheader > nav > ul > li > a::after {
   content: none;
}
  #imgheader.fixed nav ul li a {
    color: #fff;
}  
  #imgheader nav li.has-child ul li{
    width:100%;
    text-align: center;
  }
  
  nav li.has-child ul li dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  nav li.has-child ul li dt{
   display: none;
  }

  nav li.has-child ul li dd{
    width:100%;      
  }

    
    nav ul li a{
      padding: 10px 20px;
      border-bottom:1px solid #ccc;
}
    
    nav ul li li a{
    padding: 0;
}
  nav li.has-child ul li:first-of-type{
  display: none;
}
/*矢印の位置と向き*/
nav ul li.has-child > a::before{
  content:'';
  position: absolute;
  right: 20px;
  top:22px;
  width:6px;
  height:6px;
  border-top: 2px solid #999;
    border-right:2px solid #999;
    transform: rotate(135deg);
}
nav ul li.has-childs > a::before{
    transform: rotate(135deg);
}
nav ul li.has-childp > a::before{
    transform: rotate(45deg);
}
nav ul li.has-childs.active > a::before{
    transform: rotate(-45deg);
}
#imgheader .header-logo {
    left: 0%;
    top: 0px;
    max-width: 30%;
    padding: 16px 15px 0 10px;
    z-index: 1000;
    filter: drop-shadow(0px 0px 1px #fff);
}
#imgheader .header-logo img {
    filter: drop-shadow(0px 0px 1px #fff);
}
}
/*==480px以下の形状*/
@media screen and (max-width:480px){
#imgheader > nav > ul > li > a {
    padding: 1.3em 0.5em 1.3em;
}
#imgheader .header-logo {
    max-width: 45%;
}
}

/*========= フッター ===============*/
#to_top{
    display: block;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 800;
    background: #dfe3e9;
}
#to_top i.fas{
    color: #446587;
    padding: 1.1rem 1rem 1.1rem 1.3rem;
    font-weight: bold;
}
footer{
    background: #446587;
    color: #fff;
}
.site-footer{
    display: none !important;
}

.site-body {
    padding-bottom: 0 !important;
}

.site-footer-content{
    display: flex;  
       flex-wrap: wrap; 
}
.site-footer-content:last-of-type{
   border-top: solid 1px rgb(255 255 255 / 60%);  
   position: relative; 
}
.footer-contents{
    width: 17%;
    margin: 1.5%;
}
.footer-contents dt{
       font-size: 0.95rem;
    border-bottom: solid 1px rgb(255 255 255 / 60%);
    padding-right: 1em;
    margin-right: 10%;
    padding-bottom: 5px;
}
.footer-contents dd{
        font-size: 0.8rem;
}
.footer-contents dd ul{
      list-style: none;
      padding-left: 0;
}
.footer-contents dd ul li{
     margin-top: 0.8em;
    margin-bottom: 0.5em;
}
.footer-contents li a{
    color: #fff;
    text-decoration: none;
     position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    vertical-align: middle;
    cursor: pointer;
}
.footer-contents li a::before{
     content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px rgb(255 255 255 / 60%);
  border-right: solid 2px rgb(255 255 255 / 60%);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
  transform: rotate(45deg);
   transition: all .3s;
}
.footer-contents li a:hover::before{
    left: 5px;
}
.footer-contents>ul{
 list-style: none;
}
.footer-contents>ul>li{
  margin-top: 0.8em;
    margin-bottom: 0.5em;
    font-size: 0.95rem;
}
.site-footer-title {
    margin-top: 0rem;
    font-size: 1.0rem;
    width: 25%;
    margin-left: 1rem;
}
.site-footer-address{
    font-size: 0.9rem;
    margin-left: 1rem;
}
.site-footer-copyright{
    position: absolute;
    right: 0;
    top: 2rem;
}
.site-footer-copyright p{
    text-align: right;
}
@media (max-width: 1300px){
.footer-contents dt{
       font-size: 0.9rem;
}
.footer-contents>ul>li {
    font-size: 0.9rem;
}
}
@media (max-width: 1200px){
footer {
    padding-bottom: 25px;
}
.site-footer-copyright {
    top: 4rem;
}
.footer-contents {
    width: 30%;
}
}
@media (max-width: 767px){
.site-footer-content {
    width: 96%;
    max-width: initial;
}
.site-footer-title {
    width: 100%;
    margin-left: 0;
}
.site-footer-address{
    margin-left: 0;
}
.site-footer-copyright {
    top: 6rem;
}
.footer-contents {
    width: 47%;
}
.footer-contents>ul {
    padding-left: 0;
}
}
@media (max-width: 480px){
footer {
    padding-left: 1rem;
}
.site-footer-copyright {
    top: 9.5rem;
}
}
@media (max-width: 420px){
.footer-contents {
    width: 95%;
}
.site-footer-copyright p{
    text-align: center;
}
}
/*スライダー
-----------------------------------------
*/
.sliderbox {
  position:relative;
    margin-bottom: 5rem;
  height: 550px;
}
.sliderimgbox{
    position:absolute;
    width:65%;
    z-index:3;
}
.slidertextbox{
     position: absolute;
    width: 50%;
    top: 80px;
    height: 450px;
    background: #e6e6e6;
}
.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:430px;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    position: relative;
}
.slider-image {
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
    height: 450px;
    filter: brightness(95%)saturate(110%);
}
.slider-text {
    width: 52%;
    margin-top: 4rem;
}
.slider-right .sliderimgbox {
    right: 0;
}
.slider-right .slidertextbox {
    left: 0;
}
.slider-left .sliderimgbox {
    left: 0;
}
.slider-left .slidertextbox {
    right: 0;
}
.slider-right .slider-text {
        margin-left: 10%;
}
.slider-left .slider-text {
    margin-left: 38%;
}
.slider-text dt{
    font-size: 1.5rem;
    margin-bottom: 2rem;
}
.slider-text dd{
    font-size: 0.9rem;
    line-height: 1.8;
}
.slider-text .view_link {
  width: 48%;
  text-align: center;
  position: absolute;
       bottom: 40px;
}
.slider-text .view_link a{
    position: relative;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}
/*==1025px以下の形状*/
@media screen and (max-width:1025px){
    .sliderimgbox {
    width: 62%;
    }
   .slider-right .slider-text {
        margin-left: 5%;
    } 
    .slider-text {
    width: 68%;
    margin-top: 3rem;
    }
    .slider-left .slider-text {
        margin-left: 29%;
    }
    .slider-text .view_link{
            width: 64%;
    }
}
@media screen and (max-width:834px){
    .sliderbox {
    height: 560px;
}
.sliderimgbox {
    width: 90%;
    }
    .slidertextbox {
    width: 100%;
    top: auto;
    bottom: 0;
        height: 350px;
}
    .slider-right .sliderimgbox {
    right: 5%;
    }
    .slider-left .sliderimgbox {
    left: 5%;
    }
    .slider-image {
        height: 280px;
    }
    .slider-item {
    height: 280px;
    }
    .slidertextbox .slider-item {
    height: 300px;
    }
    .slider-text {
    width: 80%;
    margin-top: 7rem;
    }
    .slider-text dt {
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
        }
   .slider-right .slider-text {
        margin-left: 10%;
    } 

    .slider-left .slider-text {
        margin-left: 10%;
    }
    .slider-text .view_link {
    width: 80%;
    bottom: 0px;
    }

}
@media screen and (max-width:480px){
   .sliderbox {
        height: 530px;
    }
    .slider-image {
        height: 230px;
    }
     .sliderimgbox .slider-item {
        height: 230px;
    }
    .slidertextbox .slider-item {
          
        height: 310px;
    }
    .slider-text {
    margin-top: 6rem;
}
     .slider-text dt {
    font-size: 1.3rem;
    margin-bottom: 1.0rem;
        }
}
.slidertop1 .slider-item01 .slider-image{
    background:url(http://rakulife.webee.work/wp-content/uploads/2022/04/top_slide1.jpg);
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.slidertop1 .slider-item02 .slider-image {
    background:url(http://rakulife.webee.work/wp-content/uploads/2022/04/top_slide2.jpg);
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.slidertop1 .slider-item03 .slider-image {
    background:url(http://rakulife.webee.work/wp-content/uploads/2022/04/top_slide3.jpg);
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.slidertop2 .slider-item01 .slider-image{
    background:url(http://rakulife.webee.work/wp-content/uploads/2022/04/top_slide4.jpg);
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.slidertop2 .slider-item02 .slider-image {
    background:url(http://rakulife.webee.work/wp-content/uploads/2022/04/top_slide5.jpg);
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.slidertop2 .slider-item03 .slider-image {
    background:url(http://rakulife.webee.work/wp-content/uploads/2022/04/top_slide6.jpg);
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

/*矢印の設定*/
.slick-prev, .slick-next{
    position: absolute;
    bottom: -65px;
    z-index: 5;
}
.slider-right .slick-next{
    right: 3rem;
}
.slider-right .slick-prev{
    right: 8rem;
}
.slider-left .slick-next{
    left: 8rem;
}
.slider-left .slick-prev{
    left: 3rem;
}
.slick-prev .prev-arrow, .slick-next .next-arrow {
    display: inline-block;
    vertical-align: middle;
    width: 45px;
    height: 45px;
     transition: all 250ms cubic-bezier(0.215, 0.61, 0.355, 1);
     cursor: pointer;
     position: relative;
     background: #e6e6e6;
    border-radius: 50%;
}
.slick-prev .prev-arrow p, .slick-next .next-arrow p{
     position: absolute;
    top: 22px;
    z-index: 0;
    border-left: 3px solid #202020;
    border-bottom: 3px solid #202020;
}
.slick-prev .prev-arrow p {   
   right: 26%;
    transform: translate(-50%, -50%) rotate(45deg);
        width: 22%;
        padding-top: 15%;
}
.slick-next .next-arrow p {
   width: 22%;
    padding-top: 15%;
    left: 48%;
    transform: translate(-50%, -50%) rotate(225deg);
}
@media screen and (max-width:834px){
.slick-prev, .slick-next {
    bottom: 20px;
}
.slider-right .slick-prev {
    right: 4.5rem;
}
.slider-right .slick-next {
    right: 0.5rem;
}
.slider-left .slick-prev {
    right: 4.5rem;
    left: auto;
}
.slider-left .slick-next {
    right: 0.5rem;
    left: auto;
}
}
/*全体
-----------------------------------------
*/
body{
	font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "HGS明朝E", "メイリオ", Meiryo, serif;
    overflow: hidden;
}
.vk_posts.next-prev {
    display:none;
}
.site-header{
    box-shadow: none !important;}
.site-body {
    padding-top: 0rem !important;
    position: relative;
    top: -85px;
}
.container:not(.home) {
    max-width: 100%;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}
.conts_wrap{
    margin: auto;
}
@media (min-width: 576px){
.conts_wrap{
    max-width: 540px;
}}
@media (min-width: 768px){
.conts_wrap {
    max-width: 720px;
}}
@media (min-width: 992px){
.conts_wrap {
    max-width: 960px;
}
}
@media (min-width: 1200px){
.conts_wrap {
    max-width: 1140px;
}
}
@media (min-width: 1300px){
.conts_wrap {
    max-width: 1300px;
}
}

.global-nav .global-nav-list>li>a {
    color: #fff;
}
.header_scrolled .site-header .global-nav .global-nav-list>li>a {
    color: #000;
}
@media (min-width: 992px){
.header_scrolled.admin-bar .site-header {
    -webkit-animation: header_drop_admin .5s ease-out 0s 1 alternate none running;
    animation: header_drop_admin .5s ease-out 0s 1 alternate none running;
    background-color: rgb(255 255 255 / 85%);
}
}
h2.title{
      font-weight: normal;
    font-size: 1.9rem;
    color: #fff;
    letter-spacing: 0.05em;
    line-height: 1.7;
}
h4.title{
	font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: normal;
    font-size: 1.6rem;
    letter-spacing: 0.03em;
		margin-top: 5rem;
    margin-bottom: 0.5rem;
}
h4.title span{
    font-size: 0.8rem;
    letter-spacing: 1px;
    font-weight: lighter;
}
h5.title, a.title{
	font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: normal;
    font-size: 1.6rem;
    color: #fff;
    z-index: 3;
    letter-spacing: 0.03em;
}
h5.title .subtitle, a.title .subtitle{
	font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "HGS明朝E", "メイリオ", Meiryo, serif;
    font-size: 1.1rem;
    font-weight: bold;
    letter-spacing: 1px;
    display: block;
        display: contents;
    text-align: center;
}

.link_box{
    position: absolute;
    top: 30%;
    left: 10%;
}
.view_link a{
    display: inline-block;
    padding: 1.0rem 2.5rem;
    background: #fff;
    font-size: 0.85rem;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    letter-spacing: 0.05em;
    text-decoration: none;
     overflow: hidden;
}
@media screen and (max-width:834px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child) {
    /* flex-basis: calc(50% - var(--wp--style--block-gap, 2em)/2)!important; */
    flex-grow: 1 !important;
    flex-basis: 0 !important;
}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n) {
    margin-left: 1em;
}
}
@media screen and (max-width:480px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    flex-basis: 100%!important;
}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:not(:only-child) {
    flex-basis: 100%!important;
}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:nth-child(2n) {
    margin-left: 0em;
}
}
.pc-only{
    display: block;
}
.sp-only{
    display: none;
}
.pc-tb{
    display: block;
}
@media screen and (max-width:991px){
.pc-only{
    display: none;
}
} 
@media screen and (max-width:480px){
.sp-only{
    display: block;
}
.pc-tb{
    display: none;
}
}    
.arrow{
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    transform: rotate(90deg);
    z-index: 5;
    line-height: 53px;
    top: -0.5rem;
    left: 9rem;
}
.arrow::before,
.arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.arrow::before{
    left: 1px;
    box-sizing: border-box;
    border: 12px solid transparent;
    border-left: 15px solid #5080ab;
}
.arrow::after{
        left: -9px;
    height: 10px;
    border-left: 13px solid #5280ac;
}
/*== 背景が流れる（中央から横全体） */
.bgcenterx:before {
  content: '';
    /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
    /*色や形状*/
  background: #333;
  width: 100%;
  height: 100%;
    /*アニメーション*/
  transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: top;
}

/*hoverした際の形状*/
.bgcenterx:hover:before{
  transform:scale(1, 1);
}

/*== ボタン共通設定 */
.btn{
    /*アニメーションの起点とするためrelativeを指定*/
position: relative;
  overflow: hidden;
    /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/   
    transition: ease .2s;
    border-radius: 0;
}

/*ボタン内spanの形状*/
.btn span {
  position: relative;
  z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color:#333;
}

.btn:hover span{
  color:#fff;
}

/*== 背景が流れる（中央から横全体） */
.bgcenterx:before {
  content: '';
    /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
    /*色や形状*/
  background: #333;
  width: 100%;
  height: 100%;
    /*アニメーション*/
  transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: top;
}

/*hoverした際の形状*/
.bgcenterx:hover:before{
  transform:scale(1, 1);
}
/*トップページ
-----------------------------------------
*/
.top_img{
	 width: 100%;
  height: 100vh;
  background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/top_img.jpg");
  background-size: cover;
  background-position: center;
  position: relative;
  top: -10px;
}
.top_img:before{
     content: "";
    display: block;
    position: absolute;
    background: inherit;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 0;
    filter: brightness(88%);
}

.properties_block .wp-block-column{
	margin: 0 !important;
}
.image_box h5{
	text-align: center;
}
.image_box h5 span{
	display: block;
}
.image_block .image_box{
	min-height: 280px;
	display: flex;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}
.image_block .image_box a{
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 5;    
    line-height: 1.5;
    text-align: center;
}
.image_block .image_box:before{
     content: "";
    display: block;
    position: absolute;
    background: inherit;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 0;
    filter: brightness(88%)saturate(85%);
}
.service_block .image_box:first-of-type, .service_block .image_box:nth-of-type(2){
	min-height: 320px;
}
.properties_block .image_box:nth-child(1):after {
	background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/properties1.jpg");
}
.properties_block .image_box:nth-child(2):after {
	background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/properties2.jpg");
}
.properties_block .image_box:nth-child(3):after {
	background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/properties3.jpg");
}
.service_block .wp-block-column{
	margin: 1px !important;
}
.voice_block .image_box:nth-child(1) {
	background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/voice.jpg");
}
.voice_block{
	position: relative;
}
.voice_block .image_box{
	min-height: 330px;
	background-position: 50% 79%;
}
.voice_block h5.title span {
	display: inline-block;
    margin-left: 1rem;
}

.seminar .image_box:after {
    background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/seminar.jpg");
}
.servicesite .image_box:after {
    background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/servicesite.jpg");
}
.banner {
position: relative;
overflow: hidden;
height: 240px
}
.service_block .image_box:nth-child(1):after {
    background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/service1.jpg");
}
.service_block .image_box:nth-child(2):after {
    background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/service2.jpg");
}
.service_block .image_box:nth-child(4):after {
    background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/service3.jpg");
}
.service_block .image_box:nth-child(5):after {
    background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/service4.jpg");
}
.service_block .image_box:nth-child(6):after {
    background-image: url("http://rakulife.webee.work/wp-content/uploads/2022/04/service5.jpg");
}
.image_box:after {
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
-webkit-background-size: cover;
-moz-background-size: cover;
-ms-background-size: cover;
background-size: cover;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
filter: brightness(88%)saturate(85%);
}
.image_box:hover:after {
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
filter: brightness(50%)saturate(85%);
}
.image_box a {
position: relative;
display: flex;
align-items: center;
justify-content: center;
z-index: 1;
height: 100%;
text-decoration: none;
color: #fff
}
.image_box a.linktext{
 text-decoration-color: rgb(255 255 255 / 80%);
    text-decoration-style: solid;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    line-height: 2.5;
}
.contact_block{
    position: relative;
    height: 160px;
    margin-top: 6rem;
    background: #446587;
}
.contact_block a{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    vertical-align: middle;
    display: flex;
    align-items: center;
    text-align: center;
}
.contact_block .btn span {
    color: #fff;
    display: inline-block;
    margin: auto;
}
.contact_block .bgcenterx:before {
    background: #00000037;
}
@media screen and (max-width:834px){
    .image_block .image_box {
    min-height: 250px;
}
.service_block .image_box:first-of-type, .service_block .image_box:nth-of-type(2) {
    min-height: 270px;
}
.voice_block .image_box {
    min-height: 280px;
}
.top_img{
 background-position: 62% 50%;
}
}
@media screen and (max-width:480px){
  .image_block .image_box {
    min-height: 230px;
}
.service_block .image_box:first-of-type, .service_block .image_box:nth-of-type(2) {
    min-height: 230px;
}
.voice_block .image_box {
    min-height: 280px;
}
.voice_block .link_box {
  top: 15%;
}
}
/*サブページ（固定ページ）
-----------------------------------------
*/
/*.sub_img{
    width: 100%;
    height: 40vh;
    background-size: cover;
    background-position: center;
    position: relative;
    top: -10px;
}*/
.sub_img{
    width: 100%;
    height: 40vh;
    position: relative;
    top: -10px;
    overflow: hidden;
}
.sub_img::before {
   content: '';
   display: block;
   width: 100%;
   height: 100%;
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   -webkit-animation: zoom 10s 1;
   animation: zoom 10s 1;
   animation-fill-mode: forwards;
   position: absolute;
}
@keyframes zoom {
   0% {
      transform: scale(1);
   }
   100% {
      transform: scale(1.2);
   }
}
/*support
-----------------------------------------
*/
.support .sub_img::before{
    background-image: url(http://rakulife2.webee.work/wp-content/uploads/2022/06/support.jpg);
}
.sub_img .title_box{
 height: 100%;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    padding-top: 5rem;
    backdrop-filter: brightness(0.7);
    text-align: center;
}
.sub_img h2.title{
    letter-spacing: 0.1em;
}
.sub_img h2.title span{
    display: block;
    font-size: 0.75rem;
}
.catch-text{
    font-size: 1.2rem;
    margin-bottom: 2rem;
    line-height: 2.5;
}
.dot-text{
    padding-top: 0.4em;
    background-position: top left 0px;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    background-image: radial-gradient(0.15em 0.15em at center center,#8dbbef,#8dbbef 100%,transparent);
}
.dot-text-s{
    padding-top: 0.4em;
    background-position: top left -3px;
    background-repeat: repeat-x;
    background-size: 0.9em 0.3em;
    background-image: radial-gradient(0.12em 0.12em at center center,#8dbbef,#8dbbef 100%,transparent);
}
.dot-text-s2{
     padding-top: 0.4em;
    background-position: top left 0px;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    background-image: radial-gradient(0.12em 0.12em at center center,#8dbbef,#8dbbef 100%,transparent);
}
.liner-text{
    font-size: 1.3rem;
    background: linear-gradient(transparent 93%, #8dbbef 93%);
    padding-bottom: 0px;
    color: #1164a7;
}

h2.page-title{
    margin-bottom: 3rem;
    margin-top: 4rem;
}
h3.block-title{
    font-size: 1.5rem;
    border-left: #417097 solid 5px;
    padding-left: 0.5em;
    border-bottom: 1px solid #cdcdcd;
    margin-top: 5rem;
}
h3.block-title .no{
    font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: normal;
}
.flex .block-img{
    text-align: center;
    width: 20%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.support_conts:first-of-type .flex .block-text{
   margin-top: 1rem;
}
.table-box{
    color: #414446;
    font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.table-box.support1, .table-box.support2{
      width: 80%;
    margin: auto;
}
.table-box.support2 td{
  padding: 2rem;
}
.table-box th.mainth{
   background: #417097;
    color: #fff;
}
.table-box th.subth{
   background: #b8bcc1;
    color: #fff;
}
.table-box td.headtd{
  background: #e6f1fb;
    color: #1164a7;
    font-weight: bold;
}
.table-box td.maintd{
    color: #1164a7;
    font-weight: bold;
}
.table-box th span, .table-box td span{
       font-size: 2.2rem;
}
.text-strong{
    font-size: 1.2rem;
    font-weight: bold;
}
.flex{
    display: flex;
}
.flex4{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 80%;
    margin: auto;
}
.iconbox{
  width: 45%;
    align-items: center;
    display: flex;
    margin: 0 2.5% 1rem 2.5%;
    border: 1px solid #cfcfcf;
    padding: 2px 20px 1px;
    border-radius: 5px; 
    background: #fff;
}
.iconbox img{
    width: 80px;
}
.icontext{
    display: inline;
    padding-left: 2rem;
    font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #414446;
}
.icontext dt{
    font-weight: 700;
    margin-bottom: 0.5em;
    color: #1164a7;
    border-bottom: 2px dotted #cfcfcf;
    padding-bottom: 7px;
    font-size: 1.05rem;
}
.icontext dt span{
    font-size: 1.5rem;
}
.gothic{font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;}
.flex.support{
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin: auto;
    border: 1px solid #efefef;
}
.flex.support .left{
       width: 20%;
    background: #4f80ac;
    align-items: center;
    color: #fff;
    font-weight: bold;
    text-align: center;
    display: flex;
    justify-content: center;
}
.flex.support .left span{
    font-size: 2.2rem;
}
.flex.support .right{
    border: 1px solid #efefef;
    width: 80%;
}
.flex.support .box{
  display: flex;
    align-items: center;
    padding: 0px 0 10px;
}
.flex.support .titlebox{
  background: #e6f1fb;
    color: #1164a7;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.5em;
    padding: 5px 0;
}
.flex.support .imgbox{
  width: 137px;
    text-align: center;
    padding-top: 2rem;
}
.flex.support .imgbox img{
 width: 75px;
    border-radius: 50%;
    border: 1px solid #e5e5e5;
    padding: 10px;
    margin: auto;
}
.flex.support .textbox{
  padding-bottom: 0rem;
    display: inline-block;
    justify-content: center;
    align-items: center;
    width: calc(90% - 137px);
}
.flex.support .textbox dd{
 font-size: 0.9rem;
}
.support_conts .flex{
    margin-bottom: 2rem;
}
section{
    position: relative;
}
section:after{
    position: absolute;
    content: '';
    z-index: -2;
    background: #e5f2ff;
}
section:before{
    position: absolute;
    content: '';
    z-index: -1;
    background: #e5f2ff;
}
#support section:nth-of-type(1):after{
 bottom: 19%;
    height: 20%;
    right: 0;
    left: 0;
}
#support section:nth-of-type(2):after{
 bottom: -12%;
    height: 40%;
    right: 0;
    width: 35%;
}
/*strong 楽ライフジャパンの強み
-----------------------------------------
*/
/*.strong .sub_img{
    background-image: url(http://rakulife2.webee.work/wp-content/uploads/2022/06/strong.jpg);
}*/
.strong .sub_img::before {
    background-image: url(http://rakulife2.webee.work/wp-content/uploads/2022/06/strong.jpg);
}
#strong section:nth-of-type(1){
    background: #e5f2ff;
}
#strong section:nth-of-type(1):after{
 bottom: -5%;
    height: 25%;
    right: 0;
    left: 0;
    z-index: 0;
    background: #fff;
}
#strong{
    overflow: hidden;
}
#strong section:nth-of-type(4):after{
   transform: rotate(30deg);
    bottom: -26%;
    height: 100%;
    width: 30%;
    right: -19%;
}
.strong_conts:first-of-type h3{
   font-size: 1.8rem;
    padding-left: 0.5em;
    text-align: center;
    padding-top: 4rem;
}
.strong_conts:first-of-type .flex{
   width: 80%;
    margin: auto;
}
.strong_conts:first-of-type .flex-box{
   width: 31.8%;
    margin: 0.6%;
    background: #fff;
    text-align: center;
    border-radius: 5px;
    padding: 1.5rem 0 0.5rem;
    z-index: 5;
    border: 1px solid #f2f2f2;
    box-shadow: 0px 2px 2px rgb(0 0 0 / 30%);
    position: relative;
}
.strong_conts:first-of-type .flex-box a{
        display: block;
}
.strong_conts:first-of-type .flex-box img{
    width: 100px;
    filter: drop-shadow(0px 2px 1px rgba(0,0,0,0.3));
}
.strong_conts:first-of-type .flex-box dl{
        padding: 0 2rem 0.5rem;
    margin-top: 4px;
    position: relative;
}
.strong_conts:first-of-type .flex-box dl:after {
  content: '';
    width: 10px;
    height: 11px;
    border: 0;
    border-bottom: solid 1px #2681af;
    border-right: solid 1px #2681af;
    position: absolute;
    /* top: 50%; */
    /* left: 0; */
    margin-top: -6px;
    transform: rotate(45deg);
    bottom: -12px;
transition: width 0.2s, height 0.2s;
    left: calc(50% - 5px);
}
.strong_conts:first-of-type .flex-box dl:hover:after {
      width: 14px;
    height: 15px;
    transform: rotate(45deg);
    left: calc(50% - 7px);
}
.strong_conts:first-of-type .flex-box dt{
font-weight: bold;
    margin-bottom: 0.7em;
    font-size: 1.1rem;
    border-bottom: 2px dotted #cfcfcf;
    color: #1164a7;
    padding-bottom: 0.4em;
}
.strong_conts:first-of-type .flex-box dd{
   font-size: 0.9rem;
    font-weight: bold;
    text-align: left;
    padding: 0 3px;
}
.main_conts h3.block-title {
   font-size: 1.5rem;
    border-bottom: none;
    margin-top: 5rem;
    background: #417097;
    color: #fff;
    padding: 0.4rem 1rem 0.3rem 0.5rem;
    border-radius: 5px;
}
.main_conts h3.block-title img {
  width: 43px;
    background: #fff;
    border-radius: 50%;
    padding: 1px;
    /* filter: grayscale(100%); */
    vertical-align: bottom;
    display: inline-block;
    margin-right: 10px;
}
.main_conts ul{
    list-style: none;
font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.main_conts ul dl{
        width: 80%;
    padding-left: 1rem;
    margin-top: 2rem;
}
.main_conts ul dl dt{
    color: #1164a7;
    font-size: 1.1rem;
    border-bottom: 2px dotted #cfcfcf;
    font-weight: 500;
    padding-bottom: 2px;
}
.main_conts ul dl dd{
    margin-left: 0;
    font-weight: normal;
    font-size: 0.95rem;
    padding-left: 1rem;
    line-height: 1.8;
}
.table-box.strong1, .table-box.strong2, .table-box.strong3,.table-box.kansai2, .table-box.kansai3  {
    width: 60%;
    margin: 2rem 10% 3rem;
}
.table-box.main1 th, .table-box.main1 td{
    font-size: 0.8rem;
}
.table-box.main1 th span, .table-box.main1 td span {
    font-size: 1.5rem;
}
.table-box.main1 table{
    margin-bottom: 0;
}
figcaption{
    font-size: .72rem;
    color: #414446; 
    font-weight: lighter;
}
.table-box.strong2 img, .table-box.strong3 img {
    background: #fcfdff;
    width: 85%;
    border: 1px solid #e5e5e5;
    border-radius: 5px;
    padding: 28px 30px 20px;
}
.table-box.strong3 img {
    width: 70%;
}
/*kansai なぜ関西なのか？
-----------------------------------------
*/
.kansai .sub_img::before {
    background-image: url(http://rakulife2.webee.work/wp-content/uploads/2022/06/strong.jpg);
}
.diagonalbox{
     background: #e6f1fb;
    color: #1164a7;
    font-weight: bold;
    font-size: 0.9rem;
    display: inline-flex;
    letter-spacing: 0.05em;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    position: relative;
    left: 0.5rem;
    font-style: italic;
    width: 3rem;
    height: 3rem;
    line-height: 1.1;
    text-align: center;
    padding-top: 5px;
    flex-wrap: wrap;
    vertical-align: bottom;
}
.diagonalbox span{
    font-size: 1.4rem;
}
.diagonalbox.big{
    font-size: 1.2rem;
}
.block-text .diagonalbox{
  top: 0.4rem;
    margin-right: 0.5rem;  
    left: 0;
}
.block-title .diagonalbox {
    background: #fff;
    left: 0;
    margin-right: 22px;
}
.borderleft{
  display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem; 
}
.borderleft:before{
 border-top: 1px solid #1164a7;
    content: "";
    width: 3rem;
    margin-right: 5px;
    z-index: 5;
}
.firstletter{
    color: #1164a7;
    font-size: 1.7rem;
    position: relative;
    bottom: 2px;
}
.catch-link ul{
    list-style: none;
}
.catch-link li{
       padding-bottom: 0.5rem;
          width: fit-content;
}
.catch-link li a{
       position: relative;
}
.catch-link li a:after {
   content: ' ';
    width: 10px;
    height: 11px;
    border: 0;
    border-bottom: solid 1px #2681af;
    border-right: solid 1px #2681af;
    position: absolute;
    top: 0.5rem;
    transform: rotate(45deg);
    transition: width 0.2s, height 0.2s;
    right: -1.5rem;
}
.catch-link li:hover a:after {
   width: 14px;
    height: 15px;
    transform: rotate(45deg);
    top: 0.3rem;
}
.table-box.kansai1 {
    width: 45%;
    margin: 2rem 5% 0rem;
}
.table-box.kansai2 img, .table-box.kansai3 img{
        background: #fcfdff;
    width: 85%;
    border: 1px solid #e5e5e5;
    border-radius: 5px;
    padding: 28px 30px 20px;
}
.table-box.kansai3 img{
    width: 70%;
}
.kansai_conts .flex{
    width: 75%;
}
.box-text{
    width: 40%;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin-bottom: 2rem;
    font-size: 0.95rem;
    font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;

}
.box-text dt{
   color: #1164a7;
    font-weight: 500;
    border-bottom: 2px dotted #cfcfcf;
    padding-bottom: 3px;
}
.box-text dd{
  font-size: 0.9rem;
}
.table-box.kansai1 th span, .table-box.kansai1 td span {
    font-size: 1.2rem;
}
.block-text{
   font-size: 1.3rem;
    font-weight: bold;
    padding-left: 1.5rem; 
}
.block-text .description{
       font-size: 1.05rem;
    width: 83%;
    padding-left: 4rem;
    padding-top: 1.5rem;
    line-height: 2.0;
}
.decoline{
   text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-color: #8dbbef; 
}
.textblue{   
 color: #1164a7;
}
.kansai_conts .conts{
    border-bottom: solid 1px #e6f1fb;
    margin-bottom: 3rem;
}
.kansai_conts .conts:last-of-type{
    border: none;
}
.kansai_conts .photobox{
    background: url(http://rakulife2.webee.work/wp-content/uploads/2022/06/osaka.jpg);
    background-position: center;
    width: 90%;
    margin: auto;
    text-align: center;
    padding: 2rem;
    font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.kansai_conts .photobox dl{
   backdrop-filter: url(filters.svg#filter) blur(4px) saturate(180%);
    background: rgb(255 255 255 / 62%);
    display: inline-block;
    padding: 1rem;
    text-align: center;
    color: #51585e;
    margin: 1rem;
    border-radius: 10px;
    box-shadow: 0px 2px 3px rgb(0 0 0 / 20%);
}
.kansai_conts .photobox dt{
       font-weight: normal;
    font-size: 0.9rem;
    margin: 0;
}
.kansai_conts .photobox dd{
    font-weight: bold;
}
.kansai_conts .photobox dd span{
        color: #1164a7;
    font-size: 1.2rem;
}
.kansai_conts .photobox dd span.big{
       font-size: 2.8rem;
}
/*agency 売買・仲介
-----------------------------------------
*/
.agency .sub_img::before {
    background-image: url(http://rakulife2.webee.work/wp-content/uploads/2022/06/agency.jpg);
}
.table-box.agency1 {
  width: 76%;
    margin-left: 7%;
    margin-top: 2rem;
}
.agency_conts .flex4{
    margin-left: 5%;
}
#agency section:nth-of-type(1):after {
    bottom: 18%;
    height: 23vh;
    right: 0%;
    width: 76%;
}
#agency section:nth-of-type(2):after {
   top: 35%;
    height: 16%;
    right: 0;
    left: 0
}
.consulting .sub_img::before{
    background-image: url(http://rakulife2.webee.work/wp-content/uploads/2022/06/consulting.jpg);
    background-position: bottom;
}
/*contact お問い合わせ
-----------------------------------------
*/
.contact .sub_img::before {
    background-image: url(http://rakulife2.webee.work/wp-content/uploads/2022/06/contactimg.jpg);
}
#contact form{
    width: 60%;
    margin: auto;
    font-family: Helvetica, "Microsoft Sans serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
#contact form > p{
    display: flex;
}
#contact form label{
    width: 30%;
}
#contact form label .requiredlabel{
    float: right;
    padding: 0px 7px;
    font-size: 0.9rem;
    background: #2e76c1;
    color: #fff;
    border-radius: 5px;
}
#contact form label .anylabel{
    float: right;
    padding: 0px 7px;
    font-size: 0.9rem;
    background: #9f9f9f;
    color: #fff;
    border-radius: 5px;
    }
#contact form .wpcf7-form-control-wrap{
    width: 80%;
    margin-left: 2rem;
}
#contact form input{
box-shadow: 0px 5px 5px -5px rgb(0 0 0 / 25%) inset;
background: #F2F2F2;
}
#contact form .wpcf7-submit{
background: #446587;
    margin: auto;
    letter-spacing: 1em;
    text-align: center;
    padding: 0.5em 2rem 0.5em 3rem;
}


/*物件一覧
-----------------------------------------
*/
.mainimage img{
    width: 800px;
    height: 500px;
    max-width: 100%;
    object-fit: cover;
}

.subimage img {
    max-height: 60px;
    object-fit: cover;
    padding: 5px;
}
