@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

body {
  font-family: "Yu Gothic", YuGothic;
  //font-family: "Zen Kaku Gothic New", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

html {
	font-size: 16px;
	/* ゆっくり遷移する */
	scroll-behavior: smooth;
}

.copyright {
	font-family: 'Lato', Yu Gothic;	
}

.wrap {
    width: 100%;
    margin: 0 auto;
	padding: 0px 29px;
}

.header > .inner {
    width: calc(100% - 44px);
    max-width: calc(100% - 44px);
    margin-right: 0;
}

.header-container-in.hlt-top-menu {
	height: 100px;
}

.header-container-in.hlt-top-menu .logo-header {
	max-height: 100px;
	width: 300px;
	text-align:left;
}

.header-container-in.hlt-top-menu .logo-header img {
	max-height: 100px;
}

.header {
	height: auto;
	flex-shrink: inherit;
}

.date-tags,
.author-info,
.article-header{
	display: none;
}

.site-name-text {
	color: #23ac38 !important;
	font-weight: 700;
}

.item-label{
	color: #23ac38 !important;	
}

#menu-item-311 .item-label::after ,
#menu-item-356 .item-label::after  {
	display: none;
}

#menu-item-305,
#menu-item-236,
#menu-item-23,
#menu-item-230,
#menu-item-275 {
	transition: transform 0.3s; /*変形の時間*/	
}

#menu-item-305:hover,
#menu-item-236:hover,
#menu-item-23:hover,
#menu-item-230:hover,
#menu-item-275:hover {
	transform: translateY(-4px);
}

.navi-in a:hover {
	background: transparent;
}

#menu-item-356,
#menu-item-311 {
	transition: transform 0.3s; /*変形の時間*/
}

.logo.logo-header.logo-text {
	padding: 20px;
}

.navi-in > ul {
	justify-content: flex-start;	
}

.navi-in > ul li {
	width: 120px;
	color: #23ac38 !important;
	font-weight: 700;
}

.navi-in a {
    align-items: center;
}

.navi-footer-in a:hover {
	color : #23ac38 !important;
	background-color: inherit !important;
	transition : 0.5s;
}
.navi-footer-in a::before:hover {
	color: #23ac38 !important;
	transition : 0.5s;
}
#menu-item-311 {
	position: absolute;
	right: 24rem;
    background-color: #fff;
    padding: 10px 5px;
	border: solid 2px #23ac38;
    border-radius: 50px;
    text-decoration: none;
	color: #23ac38 !important;
}
#menu-item-356,
#phone-mobile {
	position: absolute;
	right: 8rem;
    background-color: #23ac38;
    padding: 10px 5px;
    border-radius: 50px;
    text-decoration: none;
	color: #fff !important;
}
#menu-item-356 .item-label {
	color: #fff !important;
}
#menu-item-356 a,
#phone-mobile a {
	font-size: 1.2rem;
}
#menu-item-356 a::before,
#phone-mobile a::before {
	content:'\f095';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right:8px;	
	color: #fff !important;
}
#menu-item-311 a::before {
	content:'\f0e0';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right:8px;
	color: #23ac38 !important;
	font-size: 1.2rem;
}

	
#menu-item-305 {
	display: none;
}
	

#phone-mobile {
	display: none;
}

/* ヘッダー写真 */
.img_header {
	display: block;
　　position: relative;
	width: 100%;
}
.img_header img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 450px;
　　filter: brightness(0.5) !important;
}
.img_header .header_title {
	position: absolute;	
	color: #fff;
  	right: 0;
  	left: 0;
  	margin: 0 auto;
	top: 35%;
	letter-spacing: 0.3rem;
	text-shadow:0px 0px 8px #000, 0px 0px 8px #000; !important;
}
.home .header_title,
.page-id-391 .header_title {
	display: none;
}

/* TOPボタン */
.go-to-top-button {
	background-color: #fff;
	border: 2px solid #23ac38;
	font-size: 2rem;
	color: #23ac38;
	margin-right: 30px;
	border-radius: 50px;
}
.go-to-top-button:hover {
	background-color: #ece4cc;
	color: #fff;
}
.go-to-top-button span:hover {
	background-color: #ece4cc;
	color: #fff;
}

/* 必要スクロールアニメーション */
.scroll-down {
    width: 3px;
    height: 100px;
    background: linear-gradient(180deg, #23ac38 0%, #23ac38 50%, #ffffff 50%, #ffffff 100%);
    animation: scrollDown 2s ease infinite;
    margin: 0 auto;
    position: absolute !important;
    z-index: 999;
	left: 50%;
	top: -50px;
}

@keyframes scrollDown {
    0%{
        transform-origin: top;
        transform: scaleY(0);
    }
    45%{
        transform-origin: top;
        transform: scaleY(1);
    }
    55%{
        transform-origin: bottom;
        transform: scaleY(1);
    }
    100%{
        transform-origin: bottom;
        transform: scaleY(0);
    }
}

/* reCAPTCHAマーク */
.grecaptcha-badge { visibility: hidden; }


#main {
	padding-top: 30px;
	//font-weight: 700;
}

.main {
	padding: 0;
}

#header-container,
#navi,
#main {
  background: transparent;
}

#main-view {
	display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 2rem;
    max-width: 1500px;
    padding: 50px 80px 10px 85px;
    gap: 1rem;
	margin: 0 auto;
}

#mv-image {
	display: block;
	width: 400px;
}
#mv-image-sp {
	display: none;
}

#mv-text{
	text-align: left;
	width: 500px;
	font-size: 1.1rem;
}

#mv-slider {
    display: flex;
	justify-content: left;
    align-items: center;
	flex: 1;
}

#mv-text span {
	display: block;
	//margin-top: 2rem;
	font-weight: 500;
}

.metaslider .flex-control-nav {
	text-align: right;
	right: 2rem !important;
}
.metaslider .flex-control-nav a {
	color: transparent !important;
}
.metaslider img {
	border-radius: 20px;
	margin-bottom: 10px;
}

.entry-content {
	margin-top: 0;
}

.content {
	margin-top: 0;
}

.image-logo {
	position: absolute;
	top: 0;
	left: 10vw;
	width: 250px;
	height: auto;
}

.mv-pc {
	display: block;
}
.image-mvlogo{
	display: none;
	width: 200px;
	height: auto;
	position: absolute;
	top: -80px;
	left: 40px;
	border-radius:50%;
}

/*=== メインコンテンツ  ====*/
.main-contents {
    position: relative;
	padding: 0 25rem;
}

/*=== みどりケアについて  ====*/
#message {
    position: relative;
	margin: 0 calc(50% - 50vw);
	margin-top: 4rem;
	color: #fff;
	overflow: hidden;
}
.top-circle {
    background-color: #23ac38;
    border-radius: 2000px 2000px 0 0 / 300px 300px 0 0;
    margin: 16px -200px;
    padding: 65px 280px;
	padding-bottom: 200px;
    min-height: 300px;
    text-align: center;
}


.font-white {
	color: #fff !important;
}

/*=== 特徴  ====*/
#features {
	position: absolute;
	display: block;
	background-color: #fff;
	top: 580px;
	right: 0;
	left: 0;
	margin: auto;
	margin-bottom: 1700px;
	border-radius: 50px 50px;
	padding-top : 4rem;
	margin: 0 80px;
}

.features-items-wrap {
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	align-items: stretch;
	padding: 50px 100px;
    width: 70vw;
    margin: 0 auto;
}
.features-item {
	display: flex;
    padding: 0.5rem;
    background-color: #fcf7e1;
    border-radius: 20px;
    width: 350px;
    height: auto;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    text-align: center;
	gap: 0;
}
.features-item p {
	margin-bottom: 5px;
}
.features-item-image {
	height: 120px;
	width: auto;
}


.tilte1 {
	font-family: "Zen Kaku Gothic New", sans-serif !important;
	color: #23ac38;
	text-align: center;
	font-size: 2.2rem;
	font-style: normal;
	font-weight: 700;
	line-height: 2.2rem; /* 200% */
	letter-spacing: 1px;
}

.tilte2 {
	color: #23ac38;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	line-height: 4.1rem;
	letter-spacing: 0.7px;
}

.tilte3 {
	color: #23ac38;
	text-align: center;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 3.5rem;
	letter-spacing: 0.7px;
}

.tilte4 {
	color: #23ac38;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 2.8rem;
	letter-spacing: 0.7px;
}
.tilte5 {
	color: #23ac38;
	text-align: left;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 0rem;
	margin-bottom: 0 !important;
}
.font_small {
	font-size: 0.9rem;
}

.subtitle {
	line-height: 1.75rem;
	margin: 5rem 0 4rem 0 !important;
}

#features .subtitle {
	margin-bottom: 4rem !important;
}


#konnatoki .tilte4 {
	letter-spacing: 0px;
	line-height: 1.6rem;
	display: block;
}

.sentence-center {
	text-align: center;	
}

#area,
#message {
	margin-bottom: 150px;
}

#message .tilte1 {
	line-height: 3rem;
}

#riyousya img {
	width: 250px;
	margin: 0 auto;
}

#konnatoki {
	padding: 50px 0;
	background-color: #F7F7F7;
}


.pagetitle .tilte1 {
	margin-top: 5rem;
	margin-bottom: 1rem;
}

#features {
	margin-bottom: 5rem;
}

#profile {
	margin: 0 auto;
}
.profile_box {
	margin: 0 auto;
    max-width: 50vw;
	padding-top: 100px;
	gap: 0.5rem;
	border: 1px solid #23ac38;
	padding: 15px;
}

.img-profile {
	width: 200px;
	margin-top: 2rem;;
}

.service_box {
	//text-align: center;
}
.service_content {
	display: flex;
	max-width: 50vw;
    margin: 0 auto;
	gap: 2rem;
	align-items: center;
	flex-wrap: wrap;
}
.service_content img {
	width: 250px;
	height: auto;
	object-fit: contain;
	margin: 0 auto;
}
.service_content-text {
	flex:1;
	min-width: 300px;
}
#service .btn-area {
	margin-top: 50px;
}

#link {
	max-width: 50vw;
    margin: 0 auto;
}
#link .subtitle {
	margin-top: 10rem !important;
}


#access .map {
	text-align:center;
	padding: 15px;
}



.caption {
	position: relative;
	margin-top: 5rem;
	display: inline-block;
	left: calc(50% + 0.7rem);
	transform: translateX(-50%);
	
}
.caption:before {
	position: absolute;
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: linear-gradient(300deg, #23ac38 70%, #FFA318 70%);
	left: -2rem;
	top: 0.5rem;
}

#car .ninzu{
	font-size: 1.2rem;
	color: #23ac38;
	margin-bottom: 1rem;
	font-weight: 700;
}

#car .bihin {
	color: #23ac38;
}

#car .bikou {
	margin-bottom: 2rem;
}

#car i{
	font-size: 2.5rem;
	color: #23ac38;
	//padding: 0 1rem;
	margin: 0 auto;
}

#ninzu {
	margin-bottom: 5rem;
}

#privacy-policy {
	padding: 15px;
}

/*=== 利用案内  ====*/
.flow_design01 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow_design01 ul {
  padding: 0;
}

.flow_design01 li {
  list-style-type: none;
}

.flow_image {
	width: 150px;
}

.flow_design01 dd {
  margin-left: 0;
}

.flow01 > li {
  position: relative;
  list-style: none;
}

.flow01 > li:not(:last-child) {
  margin-bottom: 40px;
}

.flow01 > li dl {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid #23ac38;
  border-radius: 10px;
  position: relative;
}

.flow01 > li:not(:last-child) dl::before,
.flow01 > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow01 > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: #23ac38;
}

.flow01 > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fcf7e1;
}

.flow01 > li dl dt {
  font-size: 1.2em;
  font-weight: 600;
  -ms-flex-preferred-size: 20%;
  flex-basis: 25%;
  margin-right: 2vw;
  text-align: center;
	color: #23ac38;
}

.flow01 > li dl dt .icon01 {
  font-size: 0.6em;
  color: #fcf7e1;
  background: #23ac38;
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}


#taiouarea {
	padding: 10px 0 50px 0;
	color: #fff;
	background-color: #23ac38;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
#taiouarea .subtitle {
	color: #fff;	
}

#ryokin {
	padding: 10px 0 50px 0;
	//color: #fff;
	background-color: #fff;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
#ryokin img {
	display :block;
	width: 500px;
	height: auto;
	margin: 0 auto;
}

.rubyposition_under{
	display: inline-block;
	width: 6.5rem;
	height: 6.5rem;
	border: 3px solid #23ac38;
	border-radius: 10px;
	padding: 1.1rem 0;
}
.rubyposition_under:first-child {
	margin-right: 1rem;
}
.rubyposition_under ruby{
  display: flex;
	display: -webkit-flex; /* Safari */
  flex-direction: column;
  text-align: justify;  /* この指定は text-align-last を IE に対応させるために必要 */
  text-align-last: justify;
	font-size: 1rem;
	align-items: center;
	-webkit-align-items: center; /* Safari */
	    align-content: center;
	gap: 0.5rem;

}

#ryokin .font_small {
	display: inline-block;
}

ruby > rt {
    font-size: 80% !important;
	letter-spacing: 0.01rem; 
}

/*safari用*/
::-webkit-full-page-media, :future, :root #bihin1 rt {
	padding: 0 0.3rem;
}
::-webkit-full-page-media, :future, :root #bihin2 rt {
	padding: 0 2rem;
}

.box-col2 {
	display: flex;
	margin: 0 auto;
	max-width: 50vw;
	margin-top: 2rem;
	flex-wrap: wrap;
}
.box-col2 img {
	display: block;
	width: 150px;
	margin: 0 auto;
}
.box-col2_item1 {
	width: 200px;
}
.box-col2_item2 {
	flex: 1;
}

.box-col3 {
	margin: 0 auto;
	max-width: 70%
}
.box-col3  img {
	width: 250px;
	height: 250px;
	object-fit: cover;
}
.box-col3 .wp-element-caption {
	color: #23ac38;
}

#car .box-col3 {
	display: flex;
	justify-content: center !important;
	flex-wrap: wrap;
	gap: 20px;
	max-width: 60%
}
#car .box-col3 {
	padding-bottom: 1rem;
}
#car .box-col3 img {
	margin: 0 auto;
	width: 250px;
	height: 250px;
	object-fit: cover;
}
#car img {
	display: block;
	width: 50vw;
	height: auto;
	margin: 0 auto;
}

#thanks {
	text-align: center;
}
.thanks_text {
	padding: 15px;
}

.btn-area {
	margin-top: 200px;
	text-align: center;
}
.home .btn-area {
	margin-top: 900px;
}

.btn {
	display       : inline-block;
	margin-bottom: 2rem;
	
	color: #FFF;
	text-align: center;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 700;
	line-height: 2rem;
	letter-spacing: 0.75px;
	
	border-style: none;
	
	width: 350px;
	height: 55px;
	border-radius: 50px;
	background-color: #23ac38;
	
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 12px 12px;   /* 余白       */
  transition    : .3s;         /* なめらか変化 */
}

a.btn i.fa {
  margin-right: 1rem;
}
a.btn:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}

.btn:hover{
	color         : #23ac38;
	background    : #fff;
	border: 1px solid #23ac38;
}

.float-button_wrap {
	display: none;/*最初は隠す*/
    width: 80px;
    height: 170px;
    position: fixed;
    bottom: 60px;
    right: 20px;
    z-index: 10;
}
.float-button_wrap a {
    display: flex;
    justify-content: center;
    width: 100%;
	height: 80px;
    text-decoration: none;
    background-color: #23ac38 ;
    color: #fff;
	border: 2px solid #fff;
	//border-right: none;
	
	border-radius: 50px;
	
	word-wrap:break-word;
	font-size: 2rem;
	line-height: 5rem;
	transition    : .3s;         /* なめらか変化 */
}

.float-button_wrap a:nth-of-type(2) {
	margin-top: 5px;
	height: 80px;
} 

.float-button_wrap a:after {
	font-weight: 900;
	position: absolute;
	left:50;	
}
.float-button_wrap a:nth-of-type(1):after {
	font-family: "Font Awesome 5 Free";
	content: "\f879";
}
.float-button_wrap a:nth-of-type(2):after {
	font-family: "Font Awesome 5 Brands";
	content: "\f3c0";
	font-weight: normal;
	font-size: 3rem;
}

.float-button_wrap a:hover {
    background-color: #FFFFFF ;
	color: #23ac38 ;
	border: 2px solid #23ac38;
}

.btn-line: {
	top: -100px;
}

.border-separate {
	margin: 0 auto;
	width: 50vw;
	height: 3px;
	background: linear-gradient(90deg, #FFA318 6.48%, #23ac38 6.48%);
	margin-bottom: 10rem;
	
  transform: scaleX(1);
  animation-name: pagetrans;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
@keyframes pagetrans{
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  51% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(1);
  }
}


.border-separate-title {
	width: 50vw;
}
.border-separate-subtitle {
	width: 20vw;
	margin-bottom: 3rem;
}

.table-2col {
	margin: 0 auto;	
	width: 50vw;
	padding-bottom: 5rem;
}
.table-title {
	color: #23ac38;
	font-weight: 700;
	text-align: center;
}
.table-2col th,
.table-2col td {
	border: solid 1px #23ac38;
	background-color: #fff;
}
.table-2col td:not(.table-title) {
	padding-left: 1rem;
}


#flow .wp-block-table {
	margin-bottom: 0.5rem !important;	
}

#setsubis .tilte4 {
	margin-top: 2rem;
}
.setsubi_box {
	display: flex;
	width: 50vw;
	margin: 0 auto;
	justify-content: center;
    flex-wrap: wrap;
}
.setsubi_box img {
	width: 250px !important;
}

#car .table-2col {
	margin-bottom: 5rem;
	margin-top: 5rem;
}
#car .table-2col th,
#car .table-2col td{
	border: 1px solid #23ac38;
	background-color: #fff;	
}
#car .table-2col .table-title {
	color: #23ac38;
	font-weight: 700;
    width: 140px;
    height: 140px;
	padding-left: 1rem;
	border-bottom: 1px solid #23ac38;
	text-align: center;
}

#car .table-2col .table-content {
	width: auto;
	padding-left: 1rem;
	padding-right: 0.5rem;
	font-size: 1rem;
}
#car_infomation i {
	display: block;
	margin-top: 5px;
}

.cancel .table-title {
	color: #23ac38 !important;
	background-color: #fff !important;
    height: 70px !important;
	border-bottom: 1px solid #23ac38;	
}


#ryokin .table-nomargin {
	margin-bottom: 1rem;
}

.text-center {
	text-align: center;
	width: 50vw;
	margin: 0 auto;
}
.announce {
		margin-bottom: 5rem !important;
}

/*=== お問合せ  ====*/

#contact_tel {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: #23ac38;
	padding: 50px;
	margin-top: 4rem;
	text-align: center;
	margin-bottom: 0 !important;
}
#contact_tel img {
	width: 150px;
	height: auto;
}
.contact_tel-link {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: #23ac38;
	font-weight: bold;
	font-size: 1.5rem;
	background: #fff;
	border-radius: 50px;
	margin: 0 auto;
	padding: 20px 50px;
	top: -30px;
	transition: .3s;
}
.contact_tel-link::before {
	content:'\f095';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right:8px;	
}
.contact_tel-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 22%;
  border-style: solid;
  border-width: 16px 16px 0 0;
  border-color: #ffffff transparent transparent;
  translate: calc(-50% - 0.4px) 100%;
  transform: skew(-6deg);
  transform-origin: top;
}
.contact_tel-link:hover {
	color: #23ac38;
}

.contact_tel-text {
	margin-top: 3rem;	
}

#contact_line {
	text-align: center;
	margin: 0 auto;
}
.contact_line-text {
	margin-bottom: 3rem !important;
}
.contact_line-content {
    display: flex;
    align-items: center;
	justify-content: center;
    margin-top: 21px;
    margin-right: 0;
    margin-left: 0;
	gap: 1rem;
}
.contact_line-wrap {
	display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}
.contact_line-box {
    max-width: 191px;
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    border: solid 1px #D3D3D3;
    background: #FFF;
}
.contact_line-qr {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 169 / 169;
}
.contact_line-add img {
	width: 80%;
}
.contact_line-img {
	width: 150px;
}

/*ContactForm7カスタマイズ*/
.recaptcha {
	text-align:center;
	font-size: 0.8rem;
	padding-top: 1rem;
}
table.CF7_table {
	width:50vw;
	margin:0 auto;
}
table.CF7_table tr {
	border-top: 1px solid #e5e5e5;
}
.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}
/*入力欄*/
.CF7_table input, .CF7_table textarea {
	border: 1px solid #d8d8d8;
}
/*「必須」文字*/
.CF7_req {
	font-size:.9em;
	padding: 5px;
	background: #23ac38;
	color: #fff;
	border-radius: 5px;
	margin-right:1em;
}
/* タイトル列 */
.CF7_table th {
	color: #23ac38;
	text-align: left;
	background-color: #fff;
	padding: 20px 10px;
}
/* 入力列 */
.CF7_table td {
	background-color: #fff;
	padding: 20px;
}
.CF7_table th p {
	margin-bottom: 0;
}
.CF7_table td p {
	margin-bottom: 0;
}
/* 完了メッセージ */
.wpcf7 form .wpcf7-response-output {
	width:50vw;
	margin:0 auto;
}
@media screen and (min-width: 768px){
	.CF7_table th{
		width:30%;/*横幅*/
	}
}
/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
		width:95%;
	}
	.wpcf7-response-output {
		width:95%;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
		display: block;
		width: 100%;
		line-height:2.5em;
	}
	.CF7_table th,
	.CF7_table td {
		padding: 5px 10px 10px;
	}
	.CF7_table th,
	.CF7_table td,
	.CF7_table tr {
		border: none;
	}
	.CF7_table tr {
		border-top: none !important;
	}
}
/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#23ac38;
	border:0;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
	width: 300px;
	border-radius: 50px;
  transition    : .3s;         /* なめらか変化 */	
}
.wpcf7 input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);		
}
.CF7_btn{
	text-align:center;
	margin-top:20px;
}
.wpcf7-spinner{
	width:0;
	margin:0;
}



/*フェードインアニメーション*/
.scroll-fade-up {
  transition: 1s;
  opacity: 0;
}
.scroll-fade-up.animated {
  opacity: 1;
}

/*ふわっと浮き上がるボタンアニメーション*/
.float-btn:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);	
}


/*各コンテンツのブロック*/
.contents-block {
	margin-bottom: 5rem;
}

.tel {
	color: var(--cocoon-text-color);
}
#reservation .tel {
	color: #23ac38;
}

/*フッターが上がらないようにmarginを設定*/
#footer {
	margin-top:50px;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
  /*必要ならばここにコードを書く*/

/*1700px以下*/
@media screen and (max-width: 1700px){
	#message {
		padding: 4rem 10rem;
	}
	
	#features {
	    top: 620px;
	}
}

/*1366px以下*/
@media screen and (max-width: 1366px){
	#navi .wrap {
		padding: 0px 0px;
	}
	#navi .navi-in>ul>li>a {
		padding: 0 0.8em;
	}
	.header-container-in {
		padding-left: 0;
	}
	
	#menu-item-356{
		right: 4rem;
	}
	#menu-item-311 {
		right: 18rem;
	}
	
	#main-view {
		padding: 40px 20px 20px 10px;
	}
	
	.main-contents {
		position: relative;
		padding: 0px 5rem;
	}

	#message {
		padding: 0rem 10rem;
	}
	
	#features {
	    top: 650px;
	}
	.features-items-wrap {
		padding: 50px 10px;
	}
	.features-item {
		width: 230px;
	}
	
	.profile_box,
	.box-col2,
	.service_content,
	#link {
		max-width: 70vw;
	}	
}

/*1090px以下*/
@media screen and (max-width: 1090px){
	#header-container-in {
		padding-left: 0;
	}
	#menu-item-356{
		right: 1rem;
	}
	#menu-item-311 {
		right: 15rem;
	}
	
	.profile_box,
	.box-col2,
	.service_content,
	#link {
		max-width: 90vw;
	}	
}
	
/*1024px以下*/
@media screen and (max-width: 1024px){
  /*必要ならばここにコードを書く*/
	
	.img_header img {
		height: 300px;
	}
	.img_header .header_title {
		top: 13%;
	}
	
	#main-view {
		max-width: 1320px;
        margin-inline: auto;
        padding: 68px 40px 0;
	}
	#mv-text {
		width: 400px;
		font-size: 1rem;
	}
	#mv-text img {
		width: 350px;
	}
	
	#menu-item-356{
		display: none;
	}
	
	.box-col3,
	.box-col2,
	#profile {
		max-width: 85%;
	}
	.text-center{
		padding-left: 40px;
		padding-right: 40px;
	}
	
	.navi-menu-button {
		width: 60px !important;
		height: 60px;
		background: #23ac38;
		color: #fff;
		font-size: 2rem;
		line-height: 3.2rem;
	}
	.menu-button:nth-of-type(2),
	.menu-button:nth-of-type(3) {
		display: none !important;
	}


	.navi-menu-caption {
		display: none !important;
	}
	.navi-menu-icon {
		margin: 0 auto;
	}
	.navi-menu-content{
		background-color: #23ac38;
	}
	.menu-drawer li {
		text-align: center;
	}
	.menu-drawer a {
		font-size: 1.33rem;
		font-weight: 700;
		color: #fff !important;
	}
	.mobile-menu-buttons{
		box-shadow: none;
		background-color: inherit !important;
		flex-direction: row-reverse;
	}

	.image-mvlogo {
		width: 150px;
		top: -10px;
	}
	.mv-pc img {
		width:100vw;
		margin-left:cacl(50% - 50vw);
		margin-left:right(50% - 50vw);
	}
	
	#menu-item-567 {
		display: inline-block;	
	}
	
	#content-in,
	#main {
		padding:0;
	}
	
	.home .btn-area {
		margin-top: 1150px;
	}
	
	.top-circle {
		padding: 65px 200px;
	}
	
	#features {
        top: 600px;
		padding: 50px 20px;
    }
	.features-items-wrap {
		padding: 50px 20px;
	}
	.features-item {
		width: 300px;
	}

	.text-center {
		width: 90vw;
	}
	
	.logo-menu-button img {
		margin-left: 5px;
	}
	
	.header-container-in.hlt-top-menu {
		height: 50px;
	}
	
	.box-col3 {
		margin: 0 auto;
		max-width: 80%
	}
	#konnnatoki .box-col3  img{
		width: 150px;
	}
	
	.table-2col,
	.setsubi_box {
		width: 80vw;
	}
	
	.setsubi_box img {
		width: 210px !important;;
	}
	
}

/*900px以下*/
@media screen and (max-width: 900px){
  /*必要ならばここにコードを書く*/
	#features {
        top: 650px;
	}
	.features-item {
        width: 250px;
    }
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
	
	.img_header img {
		height: 200px;
	}
	.img_header .header_title {
		top: 16%;
	}

	#header-in {
		display: none;	
	}
	.mobile-menu-buttons {
		box-shadow: none;
		background-color:inherit !important;
	}
	
	#main-view {
		flex-direction: column;
		padding-top: 0px;
		align-content: center;
		gap: 2rem;
	}
	.logo-menu-button {
		display: none !important;
	}
	
	#mv-image {
		display: none;
	}
	#mv-image-sp {
		display: block;
	}
	
	#mv-text {
		width: 80vw;
		text-align: center;
		margin: 0 auto;
	}
	#mv-text img {
		margin: 0 auto;
		width: 85vw;
	}
	
	.home .btn-area {
		margin-top: 1000px;
	}
	
	.top-circle {
		padding: 65px 80px;
		padding-bottom: 120px;
	}
	#message {
		margin-bottom: 500px;
	}
	
	#features {
		top: 570px;
		margin:0 40px;
		padding: 50px 20px;
	}
	.features-items-wrap {
		padding: 20px;
	}
	
	#car img {
		width: 100%;
	}

	#car .table-2col,
	.setsubi_box {
		width: 95vw;
	}
	#car .table-2col .table-title {
		width: 80px;
		padding-left: 0.2rem;
	}
	
	.service_content img {
		width: 180px;
	}

}

/*751px以上*/
@media (min-width: 751px) {
	.tel[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

/*751px以下*/
@media (max-width: 750px) {
	.tel[href*="tel:"] {
		color: #23ac38;
		text-decoration: underline;
	}
}

@media(max-width: 650px) {
  .flow01 > li:not(:last-child) {
    margin-bottom: 30px;
  }

  .flow01 > li dl {
    display: block;
    padding: 10px 15px;
  }

  .flow01 > li dl dt {
    margin-right: 0;
  }

  .flow01 > li dl dt .icon01 {
    font-size: .7em;
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
	
	.img_header img {
		height: 150px;
	}
	.img_header .header_title {
		top: 13%;
	}
	
	html {
		font-size: 12px;
	}

	main.main {
		padding:0 ;
	}
	
	.image-mvlogo{
		//display: none;
		z-index: 999;
		top: -40px;
		left: 10px;
	}
	.header-container-in.hlt-top-menu .logo-header{
		display: none;
	}
	.header-container-in.hlt-top-menu {
		height: 0px;
	}
	
	.menu-button:nth-of-type(2), 
	.menu-button:nth-of-type(3),
	.menu-button:nth-of-type(4) {
		display: block !important;
	}
	
	.menu-button:nth-of-type(2), 
	.menu-button:nth-of-type(3) {
		position: relative;
		width: 80px !important;
		border-right: 0.5px #fcf7e1 solid;
	}
	.menu-button:nth-of-type(2) span, 
	.menu-button:nth-of-type(3) span {
        position: absolute;
        color: #FFFFFF;
		top: 7px;
        left: 0;
        right: 0;
	}

	.menu-button:nth-of-type(3) {
		font-family: "Font Awesome 5 Brands";		
		border-radius: 0 0 0 20px;
	}
	
	.menu-button a .custom-menu-caption {
		position: absolute;
		font-size: 0.8rem;
		font-weight: 900;
        top: 15px;
        left: 0;
        width: 100%;
	}
	
	.mobile-menu-buttons {
        justify-content: flex-start !important;
	}
	
	.mobile-menu-buttons .menu-icon {
		line-height: 19px;
	}
	
	#menu-item-305 {
		display: block;
	}
	
	#main-view {
		padding: 15px;
		//margin-top: 30px;
	}

	#mv-text {
		width: 95vw;
		font-size: 1.13rem;
	}
	#mv-text span {
		margin-top: 0;
	}
	#mv-slider {
		flex: none;
		margin: 0 auto;
	}
	
	#message {
		margin-top: 0;
	}
	
	/*みどりケアの紹介*/
	.top-circle {
		padding: 60px 219px;
		padding-bottom: 200px;
	}

	#features {
		top: 680px;
        margin: 0 0px;
        border-radius: inherit !important;
        padding: 40px 14px;
        border-radius: 10px;
	}
	.features-items-wrap {
		padding: 10px;
		width: 100%;
	}
	.features-item {
		width: 300px;
	}

	.home .btn-area {
    	margin-top: 1300px;
	}
	
	#footer {
		//margin-top: 1500px;
	}
	

	.main-contents {
		padding: 0 15px;
	}

	
  	/*safari用*/
	::-webkit-full-page-media, :future, :root .mv-sp {
		display: none;
	}
	::-webkit-full-page-media, :future, :root .mv-sp-safari {
		display: block;
		//position: absolute;
		position: relative;
		top: -54px;
	}
	
	.logo-menu-button img {
		margin-left: 5px;
	}
	
	.main-contents {
		position: relative;
		padding-top: 0;
		//top: -100px;
	}
	
	.scrolldown-wrap {
	  height: 80px;
		top: -50px;
	}
	.scrolldown:after{
	  height: 50px;
	}
	
	.box {
		min-width: 300px;
		padding: 30px;
	}
	.home .box {
		padding: 40px 30px;
	}
	.box p {
		padding: 0 1rem;
	}
	
	#area {
		margin-top: 10px;
		margin-bottom: 50px;
	}

	#message,
	#riyousya {
		padding: 10px;
		margin-bottom: 50px;
	}
	
	#riyousya img,
	#konnatoki img {
		width: 50%;
		margin: 0 auto;
	}
	#konnatoki figcaption {
		padding-bottom: 2rem;
	}
	
	.image-riyousya {
		max-width: 380px !important;
	}
	
	.btn {
		font-size: 1.5rem;
		line-height: 2.6rem;
		width: 300px;
	}
	
	.float-button_wrap a:nth-of-type(2) {
		display: none;
	}
	.float-button_wrap {
		height: 80px
	}
	.float-button_wrap a  {
		line-height: 80px;		
	}
	
	.navi-menu-button {
		width: 60px !important;
		height: 60px;
		background: #23ac38;
		color: #fff;
		font-size: 28px;
		line-height: 60px;
		text-align: center;
	}
	
	.navi-menu-caption {
		display: none !important;
	}
	.navi-menu-icon {
		margin: 0 auto;
	}
	.navi-menu-content{
		background-color: #23ac38;
	}
	.menu-drawer li {
		text-align: center;
	}
	.menu-drawer a {
		font-size: 1.33rem;
		font-weight: 700;
		color: #fff !important;
	}
	.mobile-menu-buttons{
		box-shadow: none;
	}
	.header-container {
		padding-top: 0;
	}
	
	.mobile-menu-buttons > li {
		padding-top: 0px;
	}
	
	.border-separate {
		width: 80%;
	}
	.border-separate-title {
		width: 11rem;
		margin-bottom: 2rem;
	}
	
	.box-col2 {
		max-width: 90vw;
	}

	
	#profile {
		max-width: 90vw;
	    margin: 0 auto;
	}
	#profile p {
		margin-bottom: 1rem;		
	}
	.profile_box {
		max-width: 100%;
	}
	.box-col2_item1 {
    	width: 100%;
	}
	.box-col2 img {
		margin-bottom: 1rem;
	}

	.table-2col {
		width: 90vw;
	}

	#ryokin .table-2col .table-title {
		width: 80px;
		height: 80px;
		font-size: 1rem;
		padding: 0.5rem;
	}
	#ryokin .table-2col .table-content {
		width: 250px;
		font-size: 14px;
	}
	#ryokin {
		padding: 10px 5px 50px 5px;
		margin-bottom: 2rem !important;
	}
	
	#car,
	#flow,
	#reservation {
		padding: 0 15px !important;
	}
	
	#reservation {
		margin-bottom: 100px;
	}
	
	#car .bikou {
		font-size: 1rem;
	}
	
	.setsubi_box img {
		width: 170px !important;
	}

	.rubyposition_under {
		border-width: 2px;
	}
	.rubyposition_under ruby{
		gap: 0.2rem;
	}
	.rubyposition_under {
		width: 7rem;
		height: 7rem;
		padding: 1rem 0;
	}
	#car i {
		font-size: 3rem; 
	}
	ruby > rt {
		font-weight: 700;
	}
	
	#contact_tel {
		padding: 30px 15px;
	}
	#contact_tel img {
		width: 130px;
	}
	.contact_tel-link {
		padding: 20px 25px;
	}
	
	.btn-area {
		margin-top: 50px;;
	}

	.bukou {
		font-size: 13px;
	}
	.text-center {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	#navi-footer  {
		//display: none;
	}
	#footer .wrap {
		padding: 0 50px;
	}
	.footer-bottom {
		margin-top: 0;
	}
	.float-button_wrap {
		right: 8px;
	}
	.go-to-top-button {
		margin-right: 19px;
	}
}
/*380px以下*/
@media screen and (max-width: 380px){
  /*必要ならばここにコードを書く*/
	
	.img_header .header_title {
		top: 15%;
	}
}
