/* カラー変更 */
:root {
--content-width: 1200px;
--main-color: #00A050;
--sub-color: #5f9b00;
--pale-color: #bde381;
}

/* コンテンツレイアウト */
@media(min-width:480px){
  a[href^="tel:"] {
  	pointer-events: none;
  }
}
body{
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
body:not(.home) main{
padding-top: 80px;
}
@media (max-width: 767px) {
body:not(.home) main{
padding-top: 60px;
}
}
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
word-break: break-all;
border-spacing: 0;
border-collapse: collapse;
text-indent: initial;
text-decoration: none;
line-height: 1.8em;
}

section {
padding: 60px 0 90px 0;
}

/* section:first-of-type {
padding-top: 60px;
} */

@media (max-width: 767px) {

}

.home section:first-of-type{
padding-top: 120px;
}

@media (max-width: 767px) {
.home section:first-of-type{
padding-top: 30px;
}
}

.container{
padding-right: calc(30px / 2);
padding-left: calc(30px / 2);
}

@media (min-width: 767px) {
.container {
margin: 0 auto;
max-width: var(--content-width);
}
:first-child {
margin-top: 0;
}
}

.row {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-top: 0;
margin-bottom: 0;
margin-right: calc(-1 * 30px / 2);
margin-left: calc(-1 * 30px / 2);
}

@media (max-width: 767px) {
.row {
display: block;
margin-top: 0;
}
.row.sp-2row, .row.sp-3row {
display: flex;
}
}

.row.reverse {
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
}

.row .span_1 {
width: calc(100% / 12 * 1);
}

.row .span_2 {
width: calc(100% / 12 * 2);
}

.row .span_3 {
width: calc(100% / 12 * 3);
}

.row .span_4 {
width: calc(100% / 12 * 4);
}

.row .span_5 {
width: calc(100% / 12 * 5);
}

.row .span_6 {
width: calc(100% / 12 * 6);
}

.row .span_7 {
width: calc(100% / 12 * 7);
}

.row .span_8 {
width: calc(100% / 12 * 8);
}

.row .span_9 {
width: calc(100% / 12 * 9);
}

.row .span_10 {
width: calc(100% / 12 * 10);
}

.row .span_11 {
width: calc(100% / 12 * 11);
}

.row .span_12 {
width: 100%;
}

.row > .col {
margin-top: 20px;
margin-left: 0;
padding-right: calc(30px / 2);
padding-left: calc(30px / 2);
}


@media (max-width: 767px) {
.row > .col {
margin-top: 20px;
margin-left: 0;
margin-right: 0;
padding-right: calc(30px / 2);
padding-left: calc(30px / 2);
width: 100%;
}

.row.sp-2row > .col {
width: 50%;
}
.row.sp-3row > .col {
width: 33.3%;
}
}

@media (max-width: 767px) {
.row .span_1 {
width:auto;
}
.row > .col:not(:first-child) {
margin-top: 20px;
}
}

/* ぱんくず */
.bread_wrap {
margin-top: 10px;
margin-bottom: 0;
position: relative;
z-index: 10;
}

.bread {
overflow: hidden;
margin: 0;
}

.bread ul {
  padding: 0px;
float: none;
}

@media (max-width: 767px) {
.bread ul {
padding: 15px 0;
}
}

.bread ul li {
list-style: none;
position: relative;
float: left;
margin-right: 20px;
padding-right: calc(20px + 9px);
}

@media (max-width: 767px) {
.bread ul li {
margin-right: 15px;
padding-right: calc(15px + 9px);
}
}

.bread ul li a {
padding:0;
text-decoration: none;
color: #00A050;
}


.bread ul li a:hover {
color: #00A050;
text-decoration: none;
}

.bread ul li:after {
content: '>';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
margin: auto;
}

.bread ul li:last-child {
padding-right: 0;
margin-right: 0;
}

.bread ul li:last-child:after {
content: none;
}

/* 画像のフィックス */

figure{
margin: 0;
text-align: center;
}

img {
vertical-align: middle;
image-rendering: -moz-crisp-edges;
image-rendering: -o-crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: crisp-edges;
-ms-interpolation-mode: nearest-neighbor;
max-width: 100%;
width: 100%;
height: auto;
}

figure img{
width: inherit;
}

/* 投稿 */
.post-heading{
margin: 0 0 1em;
position: relative;
border: 0;
padding-top: 0;
word-wrap: break-word;
font-weight: normal;
font-size: 1.4rem;
padding-bottom: 0.6em;
text-align: left;
display: table;
border-bottom: none;
line-height: 1em;
z-index: 1;
font-weight: bold;
}
@media (max-width: 767px) {
.post-heading {
font-size: 1.2rem;
}
}

.post-heading a{
color:#00A050;
}
.post-heading a:hover{
text-decoration: underline;
}

.article_list {
padding: 30px;
border: 1px solid var(--main-color);
border-radius: 20px;
position: relative;
overflow: hidden;
}

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

.article_list:first-child {
margin-top: 0;
}

.article_list:nth-child(n+2) {
margin-top: 30px;
}

.article_detail {
background: #f8fbf2;
padding: 20px;
margin-bottom: 10px;
font-size: 1rem;
}

@media (max-width: 767px) {
.article_detail {
padding: 15px;
}
}


.article_detail img{
width: auto;
}

.article_detail .span_12 {
margin: 2% 0;
}

.article_button {
margin-top: 0px;
text-align: right;
}

@media (max-width: 767px) {
.article_button {
margin-top: 0px;
}
}

.more {
display: inline-block;
overflow: hidden;
margin: auto;
}

.more.btn_ss a,
.more.btn_ss span {
padding: 0.3em 2.1em 0.3em 1.4em;
}

.more.btn_s a,
.more.btn_s span {
padding: 0.5em 2.1em 0.5em 1.4em;
}

.more.btn_m a,
.more.btn_m span {
padding: 0.5em 2.1em 0.5em 1.4em;
}

.more span {
display: inline-block;
letter-spacing: normal;
color: #00A050;
border: 1px solid #00A050;
padding: 0.9em 1.6em;
margin-bottom: 1px;
text-decoration: none;
}

.more a:after,
.more span:after {
border-color: #00A050;
}

.more a:hover,
.more span:hover {
color: #333;
border-color: #333;
text-decoration: underline;
}

.more a:hover:after,
.more span:hover:after {
border-color: #333;
}

.more a.add_arrow,
.more span.add_arrow {
padding-right: 1.9em;
}

.add_arrow {
display: block;
position: relative;
}

.add_arrow:after {
content: "";
display: block;
position: absolute;
top: 50%;
right: 5%;
margin: auto;
width: 6px;
height: 6px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: translate(0, -50%) rotate(45deg);
transform: translate(0, -50%) rotate(45deg);
-webkit-transition: 0.2s;
transition: 0.2s;
}

.add_arrow:hover:after {
right: 3%;
border-color: #fff;
}

.more {
display: inline-block;
overflow: hidden;
margin: auto;
}

.more a {
display: inline-block;
letter-spacing: normal;
border: 1px solid #00A050;
border-radius: 20px;
color: #00A050;
padding: 10px 20px;
text-decoration: none;
font-size: 1.2rem;
}
@media (max-width: 767px) {
.more a {
font-size: 1rem;
}
}

.pager {
overflow: hidden;
margin-bottom: 5%;
}

.pager .pager_prev {
float: left;
}

.pager .pager_prev a {
display: block;
position: relative;
padding-left: 15px;
text-decoration: none;
color: #00A050;
}

.pager .pager_prev a:before,
.pager .pager_prev a:after {
content: "";
display: block;
position: absolute;
left: 2px;
margin: auto;
width: 8px;
height: 1px;
background: var(--main-color);
-webkit-transition: .2s;
transition: .2s;
}

.pager .pager_prev a:before {
-webkit-transform: translateY(-50%) rotate(-45deg);
transform: translateY(-50%) rotate(-45deg);
top: calc(50% - 2px);
}

.pager .pager_prev a:after {
-webkit-transform: translateY(-50%) rotate(-135deg);
transform: translateY(-50%) rotate(-135deg);
top: calc(50% + 3px);
}

.pager .pager_prev a:hover {
text-decoration: underline;
}

.pager .pager_prev a:hover:before {
left: 0;
}

.pager .pager_prev a:hover:after {
left: 0;
}

.pager .pager_next {
float: right;
}

.pager .pager_next a {
display: block;
position: relative;
padding-right: 15px;
text-decoration: none;
color: #00A050;
}

.pager .pager_next a:before,
.pager .pager_next a:after {
content: "";
display: block;
position: absolute;
right: 2px;
margin: auto;
width: 8px;
height: 1px;
background: var(--main-color);
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transition: .2s;
transition: .2s;
}

.pager .pager_next a:before {
-webkit-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
top: calc(50% - 2px);
}

.pager .pager_next a:after {
-webkit-transform: translateY(-50%) rotate(135deg);
transform: translateY(-50%) rotate(135deg);
top: calc(50% + 3px);
}

.pager .pager_next a:hover {
text-decoration: underline;
}

.pager .pager_next a:hover:before {
right: 0;
}

.pager .pager_next a:hover:after {
right: 0;
}

.top-notice {
padding-bottom: 60px;
background-color: var(--main-color);
}

@media (max-width: 767px) {
.top-notice {
padding-bottom: 30px;
}
}

.news-wrap{
background:rgba(255, 255, 255, 0.7);
padding: 10px;
border: 2px solid #00A050;
height: 100%;
}
.info-wrapper{
background: #f8fbf2;
padding: 20px;
}
@media (max-width: 767px) {
.info-wrapper {
padding: 15px;
}
}
.pagination{
   margin:40px 0 0;
   text-align: center;
   font-weight: bold;
}
.nav-links{
   display:flex;
}
.pagination .page-numbers{
   margin-right:20px;
   padding:10px;
   color:#333;
}
.pagination .current{
   padding:10px;
   background:#00A050;
   color:#fff;
}
.pagination .prev,
.pagination .next{
   background:transparent;
   box-shadow:none;
   color:#69a4db;
   display: none;
}
.pagination .dots{
   background:transparent;
   box-shadow:none;
}

.news-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 10px;
    border-bottom: 1px dashed #aaa;
    line-height: 1.625;
    flex-wrap: wrap;
}


.cat.kinren {
    background: #00A050;
}
.cat.fc {
    background: #7CA085;
}

.cat {
    width: 100px;
    text-align: center;
    color: #fff;
    margin-right: 10px;
    display: inline-block;
}

@media (max-width: 767px) {
.news-item {
padding: 5px 0;
line-height: 1.625;
}
}

.news-item:nth-child(n+2) {
margin-top: 0px;
}

@media (max-width: 767px) {
.news-item:nth-child(n+2) {
margin-top: 0px;
}
}

.news-item time {
width: 6em;
}


.news-item a {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
color: #00A050;
font-weight: bold;
}

.news-item a:hover {
text-decoration: underline;
opacity: .7;
}

@media (max-width: 480px) {
.news-item {
flex-wrap: wrap;
}
.news-item a {
    flex: inherit;
    width: 100%;
}
}

/* コンタクトフォーム */

.inquiry input[type="text"], .inquiry input[type="url"], .inquiry input[type="email"], .inquiry input[type="tel"], .inquiry input[type="date"], .inquiry input[type="number"], .inquiry select, .inquiry textarea {
width: 100%;
padding: 5px;
color: #000;
}
.submit{
display: block;
text-align: center;
margin: 30px auto 0;
}
.button, .inquiry .wpcf7-submit {
display: inline-block;
min-width: 0px;
margin: 0;
padding: 1em 1em;
border: 0;
line-height: 1;
background: #fff;
color: #333;
text-align: center;
text-decoration: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
transition: .3s;
border:1px solid;
}
.button:hover, .inquiry .wpcf7-submit:hover {
background: #ced4d2;
color: #383637;
}
.wpcf7-spinner{
display: none;
}
.required {
color: #c00;
}

dl.inquiry{
  border-top: 1px solid;
  border-right: 1px solid;
  border-left: 1px solid;
}
dl.inquiry p{
margin: 0;
}

dl.inquiry dt{
  width: 300px;
  background: #DDE8C8;
  margin: 0;
  padding: 20px;
}
dl.inquiry dd{
  width: calc(100% - 300px);
  margin: 0;
    padding: 20px;
}

@media (max-width: 767px){
dl.inquiry dt {
    width: 100%;
}
dl.inquiry dd {
    width: 100%;
}
}
/* Slider */
.mv{
position: relative;
width: 100%;
height: 100vh;
overflow: hidden;
padding-top: 80px;
}
@media (max-width: 767px) {
  .mv {
    padding-top: 70px;
    height: 100svh;
  }
}
@media (max-width: 480px) {
  .mv {
    padding-top: 60px;
    height: 100svh;
  }
}

.slider-wrapper{
position: fixed;
height: calc(100vh - 60px);
z-index: -1;
width: 100%;
}

.mv-image {
z-index: -1;
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
height: 100vh!important;
}


.mv-image.mv01{
background-image: url(/wp-kinren/wp-content/uploads/main01.jpg);
}
.mv-image.mv02{
background-image: url(/wp-kinren/wp-content/uploads/main02.jpg);
}
.mv-image.mv03{
background-image: url(/wp-kinren/wp-content/uploads/main03.jpg);
}
/* .mv-image.mv04{
background-image: url(/wp-kinren/wp-content/uploads/main04.jpg);
} */

@media(max-width:480px){
  .mv-image.mv01{
  background-image: url(/wp-kinren/wp-content/uploads/main01_sp.jpg);
  }
  .mv-image.mv02{
  background-image: url(/wp-kinren/wp-content/uploads/main02_sp.jpg);
  }
  .mv-image.mv03{
  background-image: url(/wp-kinren/wp-content/uploads/main03_sp.jpg);
  }
  .mv-image.mv04{
  background-image: url(/wp-kinren/wp-content/uploads/main04_sp.jpg);
  }
}

.slider02 .mv-image, .slider03 .slide-image {
padding: 0 5px;
}

.mv-image span {
background-color: rgba(255, 255, 255, 0.9);
align-items: center;
line-height: 1.4;
font-weight: normal;
text-align: center;
padding: 10px 30px;
border-radius: 10px;
}

.mv-image figure img {
width: 100%;
}

.mv-image div {
position: absolute;
bottom: 10px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 100%;
}

@media (max-width: 767px) {
.mv-image div {
position: relative;
bottom: inherit;
width: auto;
}

.mv-image span {
padding: 10px;
}

.slider02 .mv-image {
padding: 0;
}
}

@media (max-width: 480px) {
.slider03 .slide-image {
padding: 0;
}
}


/* キャッチフェード */
.catch .txt {
position: absolute;
font-size: 2rem;
font-weight: 600;
top:65%;
left: 0;
transition: all 1s;
opacity:0;
}

.catch .txt p{
margin: 0;
padding: 10px 150px;
background: rgba(255, 255, 255, 0.75);
clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);
}

@media (max-width: 1050px) {
  .catch .txt {
  font-size: 1.5rem;

  }
  .catch .txt p{
  padding: 10px 80px;
  }
}
@media (max-width: 767px) {
  .catch .txt p{
    font-size: 4vw;
  padding: 10px 40px 10px 10px;
  }
}

.catch .txt.active {
color:#00A050;
text-shadow: 0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff,0 0 2px #fff;
opacity:1;
}

@media(max-width:767px) {
.mv .catch .txt {
font-weight: 600;
letter-spacing: -0.05em;
}
}
@media (max-height: 767px) {
}

/* 見出し */

h2.heading-1 {
position: relative;
border: 0;
word-wrap: break-word;
font-weight: normal;
padding-top: 0;
font-size: 1.8rem;
color: var(--main-color);
padding-left: 0.6em;
letter-spacing: 3px;
}

h2.heading-1:after {
display: block;
content: '';
position: absolute;
width: 5px;
height: 100%;
background: var(--main-color);
top: 0;
right: 0;
bottom: 0;
left: 0;
}

h2.heading-1.white{
color: #fff;
}

h2.heading-1.white:after{
background: #fff;
}

h2.heading-2 {
margin: 0 0 1em;
position: relative;
border: 0;
padding: 0 0 0 20px;
word-wrap: break-word;
font-size: 1.6rem;
color: #363636;
letter-spacing: 3px;
text-align: left;
border-bottom: none;
line-height: 1em;
z-index: 1;
font-weight: bold;
text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}

h2.heading-2 span{
display: block;
font-size: 1.2rem;
font-weight: normal;
line-height: 1;
margin-top: 5px;
color: #00A050;
}

h2.heading-2.white {
color: #fff;
text-shadow: none;
}

h2.heading-2:before {
  content: '';
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  display: block;
  width: 12px;
  height: 100%;
  margin: auto;
  background: #00A050;
}

h2.heading-2.white span{
color: #FFF;
}

h2.heading-2.white:before {
  background: #FFF;
}

h3.heading-3 {
margin: 0 0 20px;
color: var(--main-color);
font-weight: bold;
font-size: 1.6rem;
position: relative;
line-height: 1.5em;
padding-left: 20px;
border-bottom: 1px solid var(--main-color);
}

h3.heading-3:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
display: block;
width: 12px;
height: 100%;
background: var(--main-color);
}

h3.heading-3.white{
color: #fff;
}

h3.heading-3.white:after{
background: #fff;
}

h4.heading-4 {
margin: 0 0 0.5em 0;
font-size: 1.2rem;
position: relative;
color: var(--main-color);
font-weight: bold;
line-height: 1.5em;
}
@media (max-width: 767px) {
h4.heading-4 {
margin: 0.5em 0;
}
}

/* h4.heading-4:after {
content: '';
position: absolute;
bottom: 0;
top: 0;
left: 0;
display: block;
width: 6px;
height: 100%;
margin: auto;
background: var(--main-color);
}

h4.heading-4.white{
color: #fff;
}

h4.heading-4.white:after{
background: #fff;
} */

h4.heading-5 {
margin: 0.2em 0 0.5em;
padding: 0.2em 0  0.2em 1em;
font-size: 1.2rem;
position: relative;
color: var(--main-color);
border-bottom: 1px solid;
font-weight: normal;
line-height: 1.5em;
}

h4.heading-5:after {
content: '';
position: absolute;
bottom: 0;
top: 0;
left: 0;
display: block;
width: 6px;
height: 100%;
margin: auto;
background: var(--main-color);
}

h4.heading-5.white{
color: #fff;
}

h4.heading-5.white:after{
background: #fff;
}

#pagetitle {
position: relative;
color: #00A050;
padding: 8em 0 5em;

}
#pagetitle:before{
content:'';
position: absolute;
width: 100%;
height: 100%;
top: 0;
background-image: url(/wp-kinren/wp-content/uploads/under_title.jpg);
background-size: cover;
background-position: center;
}
#pagetitle:after{
content:'';
position: absolute;
width: 100%;
height: 100%;
top: 0;
background-color: rgba(255, 255, 255, 0.4);
}
#pagetitle span {
text-align: left;
font-size: 2.0rem;
font-weight: bold;
display: block;
box-sizing: border-box;
width: 80%;
line-height: 1.5em;
position: relative;
z-index: 1;
text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
padding: 20px 10px 20px 15%;
background: rgba(255, 255, 255, 0.75);
clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
}

@media (max-width: 767px) {
#pagetitle span {
font-size:1.4rem;
}
}

@media (max-width: 480px) {
h2.heading-2{
font-size:1.4rem;
}
h2.heading-2 span{
font-size:1.0rem;
}
h3.heading-3{
font-size:1.4rem;
}
}

/* ボタン */

.btn-1 {
color: #00A050;
text-align: right;
-webkit-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
position: relative;
padding-right: 40px;
font-weight: bold;
display: inline-block;
}

.btn-1:after {
  content:'';
  position: absolute;
  background: #00A050;
  height: 1px;
  bottom:0;
  width: 100%;
  right: 0;
}
.btn-1:before {
  content: '';
  position: absolute;
  border-right: 1px solid #00A050;
  height: 20px;
  bottom: 0;
  width: 0;
  right: 10px;
  transform: skew(45deg);
}

.btn-1:hover {
opacity: 0.7;
}

/* テーブル */

.table-schedule {
width: 100%;
}

.table-schedule td,
.table-schedule th {
border: 1px solid #00A050;
padding: 0.7em;
text-align: center;
}

@media (max-width: 480px) {

.table-schedule td,
.table-schedule th {
padding: 0.7em .3em;
}
}

.table-schedule thead th {
background: #fdd973;
color: #333;
}

.table-schedule tbody th {
background: transparent;
}

.table-default {
width: 100%;
}

@media (max-width: 767px) {
.table-default {
margin-top: 1em;
}
}

.table-default td,
.table-default th {
padding: 0.5em;
border: 1px solid #7CA085;
vertical-align: middle;
}

.table-default th {
background: #DDE8C8;
color: #333;
}

/* 流れ */

.bg {
background: #e8f6fb;
padding: 10px 15px;
display: block;
border: 1px solid #fff;
box-shadow: 0 3px 3px #ebeae8;
border-radius: 13px 0;
margin-right: 10px;
}

span.bg {
background: var(--main-color);
color: #fff;
padding: 5px;
border-radius: 3px;
display: block;
}

.indent {
margin-left: 2em;
text-indent: -2em;
}
.indent span.bg {
display: inline;
}

.frame {
border: 1px solid var(--main-color);
border-radius: 6px;
padding: 1em 0;
position: relative;
display: flex;
}

.frame>.col{
padding-right: calc(30px / 2);
padding-left: calc(30px / 2);
}

.span_6 .frame,.span_4 .frame {
margin-top: 30px;
}

@media (max-width: 767px){
.span_6 .frame,.span_4 .frame {
margin-top: 20px;
}
.frame {
display: block;
}
.frame .span_2,
.frame .span_3,
.frame .span_4,
.frame .span_5,
.frame .span_6,
.frame .span_7,
.frame .span_8,
.frame .span_9,
.frame .span_10{
width: 100%!important;
}
}

.frame.arrow:after {
border-color: transparent transparent transparent var(--main-color);
border-style: solid;
border-width: 26px 0 26px 18px;
content: '';
margin-top: -11px;
position: absolute;
right: 50%;
bottom: -36px;
transform: rotate(90deg);
}
.frame.arrow.end:after {
display: none;
}

/* 背景ありコンテンツ */
.content-bg {
position: relative;
overflow: hidden;
top: 0;
left: 0;
width: 100%;
height: 100%;
clip-path: inset(0);
}

.content-bg::before {
position: fixed;
content: "";
width: 100%;
height: 100vh;
top: 0;
background: url(/wp-kinren/wp-content/uploads/top_aboutus_bg.jpg) no-repeat center;
filter: blur(0px);
background-size: cover;
background-position: center;
 z-index: -1;
}
.content-bg::after {
position: absolute;
background-color: rgba(221, 232, 200, 0.8);
content: "";
width: 100%;
height: 100%;
top: 0;
}


.content-bg-items{
margin-top: 30px;
}

.content-bg .container {
position: relative;
z-index: 2;
}
.content-bg .content-bg-inner {
background: rgb(255 255 255 / 60%);
padding: 30px;
}

@media(max-width:767px){
  .content-bg .content-bg-inner{
    padding: 20px 15px;
  }
}

.content-bg-txt {
margin-top: 20px;
}

@media (max-width: 767px) {
.content-bg-txt {
margin-top: 15px;
}

}

/* リスト */

dl {
line-height: 1.6;
display: flex;
flex-wrap: wrap;
}


dl dt {
  font-weight: bold;
      width: 6.5em;
      border-bottom: 1px dashed #aaa;
      flex-basis: auto;
      margin-bottom: 0.5em;
}

dl dd {
  margin-left: 0;
  margin-bottom: 0.5em;
  width: calc(100% - 6.5em);
  border-bottom: 1px dashed #aaa;
  }
}


/* ページトップ */
.pagetop {
position: fixed;
bottom: 5px;
right: 5%;
z-index: 100;
}

@media (max-width: 767px) {
.pagetop {
bottom: 74px;
}
}

.pagetop a {
overflow: hidden;
text-indent: 100%;
white-space: nowrap;
display: inline-block;
position: relative;
width: 70px;
height: 70px;
padding: 0;
border-radius: 50%;
background: #54bc74;
}

@media (max-width: 767px) {
.pagetop a {
width: 50px;
height: 50px;
}
}

.pagetop a:after {
content: "";
display: block;
position: absolute;
top: 50%;
left: 50%;
margin: auto;
width: 10px;
height: 10px;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
-webkit-transform: translate(-50%, -20%) rotate(45deg);
transform: translate(-50%, -20%) rotate(45deg);
-webkit-transition: .2s;
transition: .2s;
}


/* バナーエリア */

.bnr {
margin: -15px;
padding: 0;
list-style: none;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}

@media (max-width: 767px) {
.bnr {
margin: -10px;
}
}

.bnr li {
padding: 15px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
max-width: 250px;
}

@media (max-width: 767px) {
.bnr li {
padding: 10px;
}
}

.bnr li a img {
margin: 0 auto;
}

/* ヘッダー */
.header-wrap {
position: relative;
margin-right: auto;
margin-left: auto;
width: auto;
padding: 10px 160px 10px 20px;
text-align: center;
height: 80px
}

header{
position: fixed;
width: 100%;
z-index: 100;
background: #F8FBF2;
max-height: 80px;
margin-left: 60px;
}
header:before{
  content: "";
  position: absolute;
  bottom: -30px;
  right: 0;
  width: 0;
  height: 0;
  border-top: 30px solid #DDE8C8;
  border-right: 100vw solid transparent;
  z-index: 1;
}
header:after{
  content: "";
  position: absolute;
  bottom: -20px;
  right: 0;
  width: 0;
  height: 0;
  border-top: 20px solid #F8FBF2;
  border-left: 100vw solid transparent;
  z-index: 1;
}

@media (max-width: 767px) {
  header {
    max-height: 60px;
    margin-left: 0px;
  }
}

@media (max-width: 960px) {
.header-wrap {
padding: 10px 90px 10px 20px;
}
}
@media (max-width: 480px) {
.header-wrap:after {
border: none;
}
.header-wrap:before {
border: none;
}
}
@media (max-width: 767px) {
.header-wrap {
overflow: hidden;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
width: 100%;
height: 100%;
min-height: 0;
margin-top: 0;
z-index: 999;
padding: 10px 0 10px 20px;
}
}
@media (max-width: 480px) {
.header-wrap {
padding: 10px 15px 10px 20px;
}
}
.header-main {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
width: 100%;
align-items: center;
}
.header-info{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
@media (max-width: 767px) {
.header-main {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
width: 100%;
}
}
.header-head:not(.title) {
font-size: 1rem;
line-height: 1;
margin: 0;
padding: 0 00px 0 0;
}

@media (max-width: 767px) {
.header-head:not(.title) {
margin: 0 auto 0 0;
padding: 0;
text-align: left;
width: 100%;
}
}
@media (max-width: 767px) {
.header-head:not(.title) {
width: 85%;
}
}
@media (max-width: 767px) {
.header-head:not(.title) img {
  height: 50px;
  width: 152.54px;
}
}
.header-head {
text-align: left;
}
.header-head a {
display: inline-block;
}
.header-head p {
color: #231815;
font-size: 1.5rem;
font-weight: bold;
}
.header-head img {
    margin: auto;
    position: relative;
    z-index: 1;
    width: 183.04px;
    height: 60px;
}
.header-copy:not(.title) {
color: #00A050;
font-size: 1rem;
font-weight: normal;
line-height: 1.2;
margin: 0 0 20px 0;
padding: 4px 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
text-align: left;
position: relative;
}
@media (max-width: 767px) {
.header-copy:not(.title) {
display: none;
}
}
.header-tel {
margin: 0 20px 0 0;
text-align: right;
}
.header-tel p {
line-height: 1.5em;
margin: 0px;
}

.header-tel p:first-child {
margin-top: 0;
}

.header-btn{
  position: relative;/*ボタン内側の基点となるためrelativeを指定*/
  background:#EFF5E4;
  cursor: pointer;
    width: 60px;
    height:80px;
    z-index: 999999999;
    position: fixed;
    top: 0;
}

/*ボタン内側*/
.header-btn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 16px;
    height: 3px;
    border-radius: 2px;
    background: #7CA085;
    width: 45%;
  }

.header-btn span:nth-of-type(1) {
  top:32px;
}

.header-btn span:nth-of-type(2) {
  top:40px;
}

.header-btn span:nth-of-type(3) {
  top:48px;
}


@media(max-width:767px){
  .header-btn span:nth-of-type(1) {
    top:20px;
  }

  .header-btn span:nth-of-type(2) {
    top:28px;
  }

  .header-btn span:nth-of-type(3) {
    top:36px;
  }
}

@media(max-width:767px){
  .header-btn{
    background: #00A050;
    position: relative;
    height: 70px;
  }
  .header-btn span{
      background: #FFF;
    }
  .header-btn a{
      position: absolute;
      bottom: 0;
    }
}

/*activeクラスが付与されると線が回転して×に*/

.header-btn.active span:nth-of-type(1) {
    top: 33px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 40%;
}

.header-btn.active span:nth-of-type(2) {
  opacity: 0;/*真ん中の線は透過*/
}

.header-btn.active span:nth-of-type(3){
    top: 45px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 40%;
}

@media(max-width:767px){
  .header-btn.active span:nth-of-type(1) {
      top: 22px;
      left: 18px;
      transform: translateY(6px) rotate(-45deg);
      width: 40%;
  }

  .header-btn.active span:nth-of-type(2) {
    opacity: 0;/*真ん中の線は透過*/
  }

  .header-btn.active span:nth-of-type(3){
      top: 34px;
      left: 18px;
      transform: translateY(-6px) rotate(45deg);
      width: 40%;
  }
}
.nav {
position: fixed;
min-height: 100%;
width: 100%;
top: 0;
left: -100%;
z-index: 30000;
}
.nav__bg {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: -100%;
cursor: pointer;
}
@media (max-width: 767px) {
.nav__bg {
display: none;
}
}
.nav__wrap {
position: absolute;
top: 0;
left: 0;
width: 460px;
height: 100vh;
padding-bottom: 30px;
overflow: auto;
background: #EFF5E4;
overflow: hidden;
}
.nav__wrap:before{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-bottom: 100vh solid #DDE8C8;
  border-left: 60px solid transparent;
  z-index: 1;
}
.nav__wrap:after{
  content: "";
  position: absolute;
  top: 0px;
  right: 0;
  width: 0;
  height: 0;
  border-top: 100vh solid #7CA085;
  border-left: 40px solid transparent;
  z-index: 1;
}
@media (max-width: 767px) {
.nav__wrap {
width: 100%;
height: 100vh;
padding-bottom: 70px;
overflow-y: scroll;
}
}
.nav__btn {
position: relative;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
display: block;
width: 26px;
height: 27px;
margin: 18px 20px 0 auto;
padding: 0;
border: none;
outline: none;
background: url(/wp-kinren/wp-content/uploads/close.png);
background-size: cover;
cursor: pointer;
}
@media (max-width: 767px) {
.nav__btn {
position: absolute;
right: 20px;
top: 20px;
width: 50px;
height: 50px;
margin: 0;
}
}
.nav__btn:hover {
-webkit-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out;
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=percentage(70))";
zoom: 1;
}
.nav__items {
margin: auto;
width: 385px;
padding-left: 60px;
}
@media (max-width: 767px) {
.nav__items {
margin-top: 0;
padding-top: 30px;
width: 290px;
}
}
.nav__items ul {
list-style: none;
padding: 0 50px 0 0;
}
.nav__items ul li a {
display: block;
padding: 10px;
font-size: 1rem;
color: #333;
border-bottom: 1px solid #333;
font-weight: bold;
}
@media (max-width: 767px) {
.nav__items ul li a {
background-size: 100% auto;
}
.nav__items ul {
padding: 0;
}
}
@media (min-width: 769px) {
.nav__items ul li a:hover {
-webkit-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out;
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=percentage(70))";
zoom: 1;
}
}
@media (max-width: 480px) {
  .nav__items {
  padding-left: 0;
}
  .nav__wrap:before{
    content: "";
    position: absolute;
    top: 0;
    left: -60px;
    width: 0;
    height: 0;
    border-bottom: 100vh solid #DDE8C8;
    border-right: 40px solid transparent;
    z-index: 1;
  }
  .nav__wrap:after{
    content: "";
    position: absolute;
    top: 0px;
    left: -60px;
    width: 0;
    height: 0;
    border-top: 100vh solid #7CA085;
    border-right: 60px solid transparent;
    z-index: 1;
  }
}

.nav__items ul li a.has_under ul.sub-menu {
padding-top: 0;
margin-right: 10px;
margin-left: 30px;
}
.nav__items ul li a.has_under ul.sub-menu li a {
background: #fff;
color: #fff;
font-size: 2rem;
}
.nav__items ul ul {
margin-top: 0;
padding-top: 0;
}
.nav__items ul ul li a {
border-bottom: 1px dotted #fff;
text-indent: 1em;
}

.has_under a{
  border-bottom: none!important;
}

.top-sub-menu{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
color: #00A050;
border-bottom: 1px solid #fff;
}

.top-sub-menu li{
width: 25%;
padding: 0 10px 10px 10px;
}
.top-sub-menu li a{
text-align: center!important;
border: none!important;
padding: 0!important;
text-indent: 0!important;
}

/* グローバルメニュー */
.menu {
position: relative;
width: 100%;
background-color: #444;
}
.menu > ul > li > a  {
padding: 20px;
display: block;
letter-spacing: .2em;
}
.menu ul li ul {
z-index: 100;
display: none;
}
.menu ul li:hover ul {
padding: 0;
display: block;
}
.menu {
background: linear-gradient(var(--main-color) 50%, var(--sub-color) 50%);
}
.menu li:hover {
background: var(--sub-color);
}
.menu ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin: auto;
width: 100%;
max-width: var(--content-width);
list-style: none;
}
.menu li {
position: relative;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
font-weight: bold;
line-height: 1;
}
.menu li:after {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
background-color: #FFF;
width: 1px;
}
.menu li:first-child {
margin-left: 0;
}
.menu ul li:first-child:before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
bottom: 0;
background-color: #FFF;
width: 1px;
}
.menu ul > li a {
display: block;
color: #fff;
}
.menu ul li:first-child {
margin-left: 0;
}
.menu ul li a:visited {
color: #FFF;
}


/* Submenu */
.menu > ul li ul {
position: absolute;
top: 55px;
left: 0;
background: var(--main-color);
}
.menu > ul li ul li {
display: block;
}
li.second-level{
padding:20px;
}
li.second-level:hover {
background: var(--sub-color);
}
ul li.second-level:first-child:before {
background: none;
}
ul li.second-level:after {
background: none;
}
@media (max-width: 767px) {
.menu {
display: none;
}
}

/* グローバルメニュー　別パターン */
.header_nav{
  margin-right: 0px;
}

.header_nav ul {
display: flex;
justify-content: center;
flex-wrap: wrap;
box-sizing: border-box;
margin: 0 auto;
list-style: none;
padding: 10px 0;
}

.header_nav ul li{
position: relative;
}

.header_nav ul li:before{
position: absolute;
content: "";
left: 0;
top: 0;
width: 1px;
height: 100%;
background: #000;
}
.header_nav ul li:last-child:after{
position: absolute;
content: "";
right: 0;
top: 0;
width: 1px;
height: 100%;
background: #000;
}


.header_nav ul li a{
padding:5px 20px;
color: #333;
font-weight: bold;
}

.header_nav ul li a:hover{
text-decoration: underline;
color:var(--main-color);
}

@media (max-width: 960px) {
.header_nav {
  display: none;
}
}

/* フッター */

footer{
background: #EBF2DD;
position: relative;
padding: 60px 0 40px 0;
margin-left: 60px;
}

footer:before {
  content: "";
  position: absolute;
  top: -30px;
  right: 0;
  width: 0;
  height: 0;
  border-bottom: 30px solid #DDE8C8;
  border-right: 100vw solid transparent;
  z-index: 1;
}

footer:after {
    content: "";
    position: absolute;
    top: -20px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 20px solid #EBF2DD;
    border-left: 100vw solid transparent;
    z-index: 2;
}

.footer-info_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
}

@media (max-width: 767px) {
footer{
  margin-left: 0;
}
}

.footer-info_wrapper {

}

.footer-info {
}


@media (max-width: 767px) {

}


@media (max-width: 767px) {
.footer-info__name {
padding: 0;
text-align: left;
}
}


.footer-info__name img {
margin: auto;
position: relative;
z-index: 1;
width: 100%;
max-width: 250px;
}
@media (max-width: 767px) {
.footer-info__name img {
max-width: 200px;
}
}

.footer-info__adress {
margin-top: 5px;
line-height: 1.5em;
}

.footer-info__tel {
line-height: 1.5em;
margin-top: 5px;
}

.footer-info__tel a {
color: #fff;
}

.footer__links {
padding: 0;
position: relative;
z-index: 1;
}

.footer__links>ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-direction: column;
  flex-wrap: wrap;
  height: 190px;
  padding: 0;
}


.footer__links>ul>li {
display: block;
position: relative;
width: 200px;
}

.footer__links>ul>li:before {
  border-left: 2px dotted #000;
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   height: 94%;
}
.footer__links>ul>li:nth-child(n+6):after {
  border-right: 2px dotted #000;
   content: "";
   position: absolute;
   top: 0;
   right: -2px;
   height: 94%;
}



.footer__links>ul>li>a {
display: block;
white-space: nowrap;
color: #333;
text-decoration: none;
padding: 5px 20px;
font-weight: bold;
}

@media (min-width: 767px) {
.footer__links>ul>li a:hover {
text-decoration: underline;
}
}

.footer__copy {
margin: 0;
padding: 20px 0;
line-height: 1.42857;
text-align: center;
color: #FFF;
background: #7CA085;
}

@media (max-width: 767px) {
.footer__copy {
padding: 20px 0;
line-height: 1.66667;
}
}

.footer-info__data .footer-info__tel {
margin-bottom: 0;
}

.footer__bnr{
width: 25%;
}

.footer__bnr a{
  margin: 0 10px 10px;
  display: block;
}
@media (max-width: 1200px) {
  .footer__bnr{
  width: 100%;
  display: flex;
  }
  .footer__bnr a{
    margin: 0 10px;
    width: 50%;
    max-width: 250px
  }
}
/* フローティング */

#reservation {
background: rgba(35, 40, 30, 0.7);
position: fixed;
bottom: 0;
left: 0;
width: 100%;
z-index: 20002;
}

#reservation ul {
-webkit-box-sizing: border-box;
box-sizing: border-box;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
margin: 0 auto;
padding: 20px;
list-style: none;
width: 100%;
max-width: var(--content-width);
}

@media (max-width: 767px) {
#reservation ul {
padding: 5px;
}
}

#reservation ul li {
margin: 0 5% 0 0;
border-radius: 3px;
width: 100%;
position: relative;
}

#reservation ul li:last-child {
margin: 0;
}

#reservation ul li a {
background: var(--main-color);
color: #fff;
padding: 10px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
font-size: 1.5rem;
border-radius: 3px;
}

#reservation ul li.mobile_tel_btn a {
font-size: 16px;
}

@media (max-width: 480px) {
#reservation ul li.mobile_tel_btn a {
pointer-events: auto;
}
}


/* トグル */
summary {
display: block;
list-style: none;
}

summary::-webkit-details-marker {
display: none;
}

.toggle-wrap{
margin-bottom: 20px;
}

.toggle-wrap:last-child{
margin-bottom: 0;
}

.toggle-head.qa{
position: relative;
}

.toggle-head.qa:before{
position: absolute;
content: "Q.";
top:15px;
left: 30px;
font-weight: bold;
color: var(--main-color);
}

.toggle_inner {
cursor: pointer;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 15px 25px 15px 25px;
border: 1px solid var(--main-color);
font-weight: bold;
color: var(--main-color);
}

.icon {
display: block;
position: relative;
width: 24px;
margin-left: 6px;
flex-shrink: 0;
transform-origin: center 43%;
transition: transform 0.4s;
}

.icon:before{
left: 0;
transform: rotate(45deg);
}

.icon:after{
right: 0;
transform: rotate(-45deg);
}

.icon:before, .icon:after{
content: "";
position: absolute;
display: block;
width: 15px;
height: 3px;
background-color: var(--main-color);
}

.toggle-content p{
padding: 20px 20px 20px 40px;
background: var(--pale-color);
margin: 0;
}

details[open] .icon {
transform: rotate(180deg);
}

/* 汎用クラス */

.bg-red{
background-color:#fe266d!important;
}

.bg-blue{
background-color:#1646b1!important;
}

.bg-green{
background-color:#5fcf32!important;
}

.bg-orange{
background-color:#ffa204!important;
}

.text-red{
color: #db2d2d!important;
}

.text-blue{
color: #2420db!important;
}

.text-green{
color: #6ddb20!important;
}

.text-orange{
color: #db9620!important;
}

.text-pink{
color: #db20b2!important;
}

.text-black{
color: #000000!important;
}

.text-white{
color: #FFFFFF!important;
}

.mt0 {
margin-top: 0px!important;
}

.mb0 {
margin-bottom: 0px!important;
}

.mt10{
margin-top:10px!important;
}

.mt20{
margin-top:20px!important;
}

.mt30{
margin-top:30px!important;
}

.mt40{
margin-top:40px!important;
}

.mt50{
margin-top:50px!important;
}

.mt60{
margin-top:60px!important;
}

.mr0{
margin-right:0px!important;
}

.mr10{
margin-right:10px!important;
}

.mr20{
margin-right:20px!important;
}

.mr30{
margin-right:30px!important;
}

.mr40{
margin-right:40px!important;
}

.mr50{
margin-right:50px!important;
}

.mr60{
margin-right:60px!important;
}

.mb10{
margin-bottom:10px!important;
}

.mb20{
margin-bottom:20px!important;
}

.mb30{
margin-bottom:30px!important;
}

.mb40{
margin-bottom:40px!important;
}

.mb50{
margin-bottom:50px!important;
}

.mb60{
margin-bottom:60px!important;
}

.ml0{
margin-left:0px!important;
}

.ml10{
margin-left:10px!important;
}

.ml20{
margin-left:20px!important;
}

.ml30{
margin-left:30px!important;
}

.ml40{
margin-left:40px!important;
}

.ml50{
margin-left:50px!important;
}

.ml60{
margin-left:60px!important;
}

.pt0{
padding-top:0px!important;
}

.pt10{
padding-top:10px!important;
}

.pt20{
padding-top:20px!important;
}

.pt30{
padding-top:30px!important;
}

.pt40{
padding-top:40px!important;
}

.pt50{
padding-top:50px!important;
}

.pt60{
padding-top:60px!important;
}

.pr0{
padding-right:0px!important;
}

.pr10{
padding-right:10px!important;
}

.pr20{
padding-right:20px!important;
}

.pr30{
padding-right:30px!important;
}

.pr40{
padding-right:40px!important;
}

.pr50{
padding-right:50px!important;
}

.pr60{
padding-right:60px!important;
}

.pb0{
padding-bottom:0px!important;
}


.pb10{
padding-bottom:10px!important;
}

.pb20{
padding-bottom:20px!important;
}

.pb30{
padding-bottom:30px!important;
}

.pb40{
padding-bottom:40px!important;
}

.pb50{
padding-bottom:50px!important;
}

.pb60{
padding-bottom:60px!important;
}

.pl0{
padding-left:0px!important;
}

.pl10{
padding-left:10px!important;
}

.pl20{
padding-left:20px!important;
}

.pl30{
padding-left:30px!important;
}

.pl40{
padding-left:40px!important;
}

.pl50{
padding-left:50px!important;
}

.pl60{
padding-left:60px!important;
}

.text-bold{
font-weight: bold!important;
}

.text-center{
text-align: center!important;
}

.text-right{
text-align: right!important;
}

.text-left{
text-align: left!important;
}


.text-xlarge {
font-size: 1.4rem!important;
}

.text-large {
font-size: 1.2rem!important;
}


@media (max-width: 767px) {
.pc-only{
display: none !important;
}
}

@media (min-width: 767px) {
.text-xlarge {
font-size: 1.6rem;
}

.text-large {
font-size: 1.4rem;
}

.sp-only {
display: none !important;
}
}

@media (min-width: 767px) and (max-width: 1023px) {
.tablet-hide {
display: none !important;
}
}

@media (min-width: 1024px) {
.tablet-only {
display: none !important;
}
}


.greeting{
  background: #F8FBF2;
  position: relative;
  overflow-x: clip;
}

.greeting:before {
    content: "";
    position: absolute;
    top: -20px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 20px solid #F8FBF2;
    border-right: 100vw solid transparent;
    z-index: 2;
}

.greeting:after {
    content: "";
    position: absolute;
    top: -30px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 30px solid #DDE8C8;
    border-left: 100vw solid transparent;
    z-index: 1;
}

.greeting-wrap{
  position: relative;
  padding: 60px 0;
}

.heading-greeting{
  color: #00A050;
}

.greeting-text{
  padding: 30px;
  background: rgba(255, 255, 255, 0.8);
  max-width: 750px;
}

@media(max-width:767px){
  .greeting-text{
    padding: 20px 15px;
  }
}

.greeting-bg{
  background: url(/wp-kinren/wp-content/uploads/top-greeting.jpg) no-repeat 75%;
  height: 100%;
  width: 600px;
  top: 0;
  position: absolute;
  right: 0;
  z-index: -1;
}

@media (max-width: 767px) {
  .greeting-bg{
    width: 400px;
    right: -20px;
  }
}
@media (max-width: 480px) {
  .greeting-bg{
    width: 280px;
  }
}


.feature{
  background: #7CA085;
  position: relative;
  overflow-x: clip;
}

.feature:before {
    content: "";
    position: absolute;
    top: -30px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 30px solid #DDE8C8;
    border-right: 100vw solid transparent;
    z-index: 1;
}

.feature:after {
    content: "";
    position: absolute;
    top: -20px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 20px solid #7CA085;
    border-left: 100vw solid transparent;
    z-index: 1;
}

.flow-left, .flow-right{
  position: relative;
}

.heading-feature{
  color: #00A050;
}

.flow-left .flow-content{
  width: 100%;
  position: relative;
  padding: 20px;
}
@media(max-width:767px){
  .flow-left .flow-content{
    padding: 20px 0px;
  }
}
.flow-right .flow-content{
  width: 100%;
  position: relative;
  padding: 20px;
}

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

.flow-content p, .flow-content h3{
z-index: 1;
position: relative;
text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}

.flow-left:before{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 50%;
}

.flow-left:after{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 50%;
}

.flow-right:before{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 50%;
}

.flow-right:after{
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 50%;
}

.bg01:before{
  background: url(/wp-kinren/wp-content/uploads/top-feature01.jpg) no-repeat 50% 30%;
}
.bg02:before{
  background: url(/wp-kinren/wp-content/uploads/top-feature02.jpg) no-repeat 50% 60%;
}
.bg03:before{
  background: url(/wp-kinren/wp-content/uploads/top-feature03.jpg) no-repeat 50% 45%;
}

@media (max-width: 767px) {
.sp-feature{
  margin: 0!important;
  padding: 0!important;
  position: relative;
  z-index: 1;
}
  .flow-left:before {
    display: none;
}
  .flow-left:after {
    width: calc(100% + 40px);
    left: -20px;
}
  .flow-right:before {
    display: none;
}
.flow-right:after {
  width: calc(100% + 40px);
  left: -20px;
}
}

.service{
  background: #EBF2DD;
  position: relative;
  padding-bottom: 40px;
}

.service:before {
    content: "";
    position: absolute;
    top: -20px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 20px solid #EBF2DD;
    border-right: 100vw solid transparent;
    z-index: 2;
}

.service:after {
    content: "";
    position: absolute;
    top: -30px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 30px solid #DDE8C8;
    border-left: 100vw solid transparent;
    z-index: 1;
}

.scroll-infinity__wrap {
display: flex;
overflow: hidden;
  background: #EBF2DD;
}
.scroll-infinity__list {
display: flex;
list-style: none;
padding: 0;
margin:0;
}
.scroll-infinity__list--left {
animation: animate-banner 80s infinite linear 0.5s both;
}
.scroll-infinity__item>img{
max-width: 1500px;
width:auto;
}

@keyframes animate-banner {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}


.service-wrap{
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}

.service-card{
  position: relative;
  background: #fff;
  border: 1px solid #00A050;
  text-align: center;
  padding: 30px;
}
.service-card p{
line-height: 1.2;
}

.service-card img{
max-height: 80px;
}

.service-card a:before{
  content:'';
  position: absolute;
  background: #00A050;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  opacity: 0;
}
.service-card a:after{
  content:'';
  opacity: 0;
  white-space: pre;
}
.service-card a:hover:after{
  opacity: 1;
  transition: opacity 0.5s;
}
.service-card a:hover:before{
  opacity: 1;
  transition: opacity 0.5s;
}

.service-card:nth-of-type(1) a:hover:after{
  content:'幅広いラインナップで\A御契約者様の満足度向上に\A御社のレンタカー費用のコスト削減に';
  color: #fff;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  width: 95%;
}
.service-card:nth-of-type(2) a:hover:after{
  content:'お客様のご自宅にも\A直接配車引取御社の収益向上に';
  color: #fff;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  width: 95%;
}
.service-card:nth-of-type(3) a:hover:after{
  content:'工場代車の運用効率向上に\A長期の場合も応相談';
  color: #fff;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  width: 95%;
}
.service-card:nth-of-type(4) a:hover:after{
  content:'急なご依頼で車輌不足の際に\A取り扱いメーカー以外の車輌依頼の際に';
  color: #fff;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  width: 95%;
}
.service-card:nth-of-type(5) a:hover:after{
  content:'幅広いラインナップで\A御契約者様の満足度向上に';
  color: #fff;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  width: 95%;
}

.service-card:nth-child(5){
  grid-row: 1 / 3;
  grid-column: 3 / 4;
  display: grid;
  place-content:center;
}


.card01-hover{
  position: relative;
}

@media (max-width: 767px) {

  .service-wrap{
    grid-template-columns: 1fr 1fr;
  }
  .service-card:nth-child(1){
    grid-row: 1 / 2;
    grid-column: 1 / 2;
  }
  .service-card:nth-child(2){
    grid-row: 1 / 2;
    grid-column: 2 / 3;
  }
  .service-card:nth-child(3){
    grid-row: 2 / 3;
        grid-column: 1 / 2;
  }
  .service-card:nth-child(4){
    grid-row: 2 / 3;
    grid-column: 2 / 3;
  }
  .service-card:nth-child(5){
    grid-row: 3 / 3;
    grid-column: 1 / 3;
  }
}

@media (max-width: 480px) {
  .service-card img{
  max-height: 60px;
  }
  .service-card{
    padding: 15px;
  }
  .service-card a:hover:after{
    white-space: normal;
  }

  .service-card:nth-of-type(1) a:hover:after{
    content:'幅広いラインナップで御契約者様の満足度向上に御社のレンタカー費用のコスト削減に';
  }
  .service-card:nth-of-type(2) a:hover:after{
    content:'お客様のご自宅にも直接配車引取御社の収益向上に';
  }
  .service-card:nth-of-type(3) a:hover:after{
    content:'工場代車の運用効率向上に長期の場合も応相談';
  }
  .service-card:nth-of-type(4) a:hover:after{
    content:'急なご依頼で車輌不足の際に取り扱いメーカー以外の車輌依頼の際に';
  }
  .service-card:nth-of-type(5) a:hover:after{
    content:'幅広いラインナップで御契約者様の満足度向上に';
  }

}

.news{
  background: #F8FBF2;
  position: relative;
}

.news:before {
    content: "";
    position: absolute;
    top: -30px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 30px solid #DDE8C8;
    border-right: 100vw solid transparent;
    z-index: 1;
}

.news:after {
    content: "";
    position: absolute;
    top: -20px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 20px solid #F8FBF2;
    border-left: 100vw solid transparent;
    z-index: 2;
}

.recruit{
  background: #7CA085;
  position: relative;
  overflow-x: clip;
}

.recruit:before {
    content: "";
    position: absolute;
    top: -20px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 20px solid #7CA085;
    border-right: 100vw solid transparent;
    z-index: 2;
}

.recruit:after {
    content: "";
    position: absolute;
    top: -30px;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 30px solid #DDE8C8;
    border-left: 100vw solid transparent;
    z-index: 1;
}

.recruit-wrap{
  position: relative;
  padding: 60px 0;
  display: flex;
  justify-content: flex-end;
}

.heading-recruit{
  font-size: 1.4rem;
}

.recruit-text{
  padding: 30px;
  background: rgba(255, 255, 255, 0.8);
  width: 70%;
  position: relative;
  z-index: 2;
}

@media(max-width:767px){
  .recruit-text{
    padding: 20px 15px;
  }
}

.recruit-bg{
  background: url(/wp-kinren/wp-content/uploads/top-fc.jpg) no-repeat center;
  height: 100%;
  width: 70%;
  top: 50%;
  position: absolute;
  left: 0;
  transform: translate(0, -50%);
}

@media (max-width: 767px) {
}
@media (max-width: 480px) {
  .recruit-wrap{
    padding: 0 0 60px 0;
  }
  .recruit-text{
    max-width: 300px;
  }
  .recruit-bg{
    width: 70%;
    height: 350px;
    transform: translate(0, -30%);
  }
}

.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity 1.5s,visibility 1.5s, transform 1.5s;
}

.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

#anc01, #anc02, #anc03, #anc04, #anc05, #anc06{
  padding-top: 150px;
  margin-top: -150px;
}

.car-list a{
  border:1px solid #00A050;
  text-align: center;
  display: block;
  padding: 0 12px;
  position: relative;
  z-index: 1;
}
.car-list p{
  margin: 0;
}
