/* ----------------------------
reset
------------------------------- */
body,
h1,h2,h3,h4,h5,h6,p,
ul,ol,li,dl,dt,dd,
form,fieldset,legend,pre,blockquote {
	margin:0px;
	padding:0px;
}

ul,li {
	list-style:none;
}

img {
	margin:0px;
	padding:0px;
	border:0px;
	vertical-align:top;
}

html { font-size: 62.5%;} 

body {
	color: #424242;
	font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-size: 2.0rem;;
    line-height: 1.9;
	-webkit-text-size-adjust: 100%;
    background-color: #ffffff;
}

a,
a:link,
a:visited {
	color: #484848;
	text-decoration: underline;
}

a:hover,
a:active {
	color: #333;
	text-decoration:none;
}

a img {
	margin:0;
	padding:0;
	border-style:none;
}

/**************************************************************
【配置設定】
**************************************************************/
.img_c{text-align:center; margin: 20px auto;}
.img_c img{width: 100%;}
.img_c2{text-align:center; margin: 20px auto;}
.img_c2 img{width: 70%;}


/* バナー */
.banner{}
.banner img:hover{opacity:0.9; filter: alpha(opacity=90);}


/* 共通 */
#wrapper{
width: 100%;
margin: 0 auto;
}

.inner{
    width: 1150px;
	margin:0 auto;
}
.inner2{
    width: 1000px;
	margin:0 auto;
}

.back_line{
background-image: url("../images/back_line2.png");
background-repeat: repeat-x;
background-size: auto 40%;
background-position: left bottom;
}

.banner_pc{display: block;}
.banner_sp{display: none;}

.pcbr {display:inline;}
.spbr {display:none;}

/* ヘッダー */
header{
width: 1100px;
margin: 0 auto;
padding: 5px 0 5px;
background-color: #ffffff;
clear: both;
}

.logo_area{
width: 30%;
float: left;
}

.logo_area h1{
font-size: 11px;
line-height: 130%;
font-weight: normal;
margin: 3px 0 3px;
color: #555;
}

.logo{
width: 280px;
}
.logo img{
width: 100%;
}

.contact{
display: block;
width: 50%;
float: right;
padding: 5px 0px 0;
}

.line{
width: 46%;
float: right;
}

.mail{
width: 51%;
float: left;
}

.line img,.mail img{
width: 100%;
}

/* FV */
#header_pc{
width:100%;
margin: 0 auto;
background-image: url("../images/fv_pc_back.webp");
background-repeat: no-repeat;
background-position: center top;
background-size: 1405px auto;
}

.header_inner{
width: 1100px;
margin: 0 auto;
}

#header_pc h2{
text-align: center;
}

#header_pc img{
width: 100%;
vertical-align: top;
}

#header_pc{display: block;}
#header_sp{display: none;}

/* エリア */
.area {
  background: #b9dcae;
  padding: 3px 20px;
  text-align: center;
}

.area__icon {
  width: 20px;
  vertical-align: middle;
}

.area__title {
  font-size: 1.8rem;
  font-weight: 800;
  color: #2e8b1f;
  vertical-align: middle;
}

.area__city {
  font-size: 1.8rem;
  font-weight: 800;
  color: #333;
  vertical-align: middle;
}

/* CTA */
.cta{
background-color: #419a1a;
padding: 10px 0 30px;
}

.cta_inner{
width: 1100px;
margin: 0 auto;
}

.cta_box{
background-color: #ffffff;
padding: 20px 40px 20px;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}

.cta h2{
width: 100%;
margin: 0 auto;
}
.cta h2 img{
width: 100%;
}

.cta_left{
float: left;
width: 40%;
padding: 0 20px 0 0;
border-right: 2px dotted #333;
}
.cta_left img{
width: 95%;
}

.cta_right{
float: right;
width: 53%;
}

.cta h3{
text-align: center;
width: 58%;
margin: 0 auto;
}
.cta h3 img{
width: 100%;
}

.line_cta_pc{
float: left;
width: 70%;
}
.line_cta_pc img{
width: 100%;
}

.mail_cta_pc{
float: right;
width: 28%;
}
.mail_cta_pc img{
width: 100%;
}

/* 支払い */
.pay{
width: 800px;
margin: 30px auto;
}
.pay img{
width: 100%;
}

/* お悩み */
.trouble {
  padding: 50px 0 0;
  background-image: url("../images/back_trb.webp");
  background-position: center top;
  background-size: cover;
}

.trouble .inner{
  width:1100px;
  margin:0 auto;
  padding:0 0px;
}

.section-title{
  text-align:center;
  font-size:3.8rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:50px;
  color:#333;
}

.section-title span{
  color:#ff7a00;
}

.trouble-wrap{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
}

.trouble-list{
  flex:1;
}

.trouble-item{
  background:#fff;
  border-radius:20px;
  padding:15px 20px;
  margin-bottom:20px;

  display:flex;
  align-items:center;
  gap:15px;

  box-shadow:0 4px 15px rgba(0,0,0,.08);
}

.check{
  width:40px;
  height:40px;
  min-width:40px;

  border-radius:50%;
  background:#7cb342;

  color:#fff;
  font-size:32px;
  font-weight:bold;

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

.text p{
  margin:0;
  line-height:1.4;
}

.text p:first-child{
  font-size:2.4rem;
  font-weight:700;
  color:#333;
}

.accent{
  font-size:2rem;
  font-weight:700;
  color:#ff7a00;
}

.trouble-image{
  width:460px;
  flex-shrink:0;
}

.trouble-image img{
  width:100%;
  display:block;
}

.trb_text{
background-color: #faf9f2;
text-align: center;
}
.trb_text p{
width: 1100px;
margin: 0 auto;
}

/* 選ばれる理由 */
.reason {
  padding: 50px 0;
  background: #fff;
}

.reason .inner {
  width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.reason .section-title {
  text-align: center;
  font-size: clamp(2.2rem, 3.5vw, 3.8rem);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 50px;
  color: #333;
}

.reason .section-title span {
  color: #ff7a00;
}

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

.reason-card {
  border: 2px solid #d7d7d7;
  border-radius: 18px;
  padding: 20px 20px 20px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.reason-card h3 {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 18px;
  color: #222;
}

.reason-img {
  width: 100%;
  aspect-ratio: 16 / 7;
  margin-bottom: 15px;
  border-radius: 12px;
  overflow: hidden;
  background: #e8e8e8;
}

.reason-img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.reason-card p {
  font-size: 1.5rem;
  line-height: 1.8;
  margin: 0;
  color: #333;
  font-weight: 600;
}

.reason-card .note {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-top: 14px;
  color: #555;
}

.reason-card h3{
    background:#6BA539;
    color:#fff;

    margin:-28px -20px 20px;
    padding:15px;

    border-radius:15px 15px 0 0;

    font-size:2rem;
}

/* サービス一覧 */
.service-section {
  padding: 50px 0 50px;
  background: #f8f7f0;
}

.service-section .inner {
  width: 1100px;
  margin: 0 auto;
}

.section-title {
  margin-bottom: 40px;
  text-align: center;
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #333;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 34px 64px;
}

.service-card {
  background: #fff;
  border: 1px solid #98c972;
  overflow: hidden;
}

.service-img {
  width: 100%;
  aspect-ratio: 548 / 202;
  background: #ccc;
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.service-body {
  padding: 20px 30px 20px;
  text-align: center;
}

.service-icon {
  width: 64px;
  height: auto;
  margin-bottom: 8px;
}

.service-body h3 {
  margin: 0 0 15px;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #333;
}

.service-body p {
  margin: 0;
  text-align: left;
  font-size: 17px;
  font-weight: 600;
  line-height: 2;
  color: #333;
}

/* 料金プラン */
.price-section {
  padding: 50px 0;
  background: #f7faf7;
}

.price-section .inner {
  width: 1100px;
  margin: 0 auto;
}

.price-title {
  text-align: center;
  font-size: 38px;
  color: #0f5b32;
  margin-bottom: 14px;
  letter-spacing: 0.05em;
}

.price-lead {
  text-align: center;
  font-size: 17px;
  line-height: 1.8;
  margin-bottom: 44px;
  color: #333;
}

.price-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.price-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.price-card h3 {
  margin: 0;
  padding: 10px 8px;
  text-align: center;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
}

.price-card--01 h3 {
  background: #8bc34a;
}

.price-card--02 h3 {
  background: #5fae58;
}

.price-card--03 h3 {
  background: #2f8a4f;
}

.price-card--04 h3 {
  background: #0f5b32;
}

.price-img {
  aspect-ratio: 4 / 2.2;
  background: #e5e5e5;
}

.price-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.price-body {
  padding: 22px 20px 26px;
}

.price-copy {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 18px;
  color: #222;
  font-weight: 600;
}

.price-fee {
  display: flex;
  align-items: baseline;
  gap: 8px;
  color: #2f8a4f;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px dashed #cfd8cf;
}

.price-fee span {
  background: #2f8a4f;
  color: #fff;
  font-size: 15px;
  padding: 4px 10px;
}

.price-fee strong {
  font-size: 32px;
  line-height: 1;
}

.price-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.price-body li {
  position: relative;
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.8;
  color: #333;
}

.price-body li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 7px;
  height: 7px;
  background: #2f8a4f;
  border-radius: 50%;
}

.price-included {
  margin-top: 42px;
  padding: 32px 28px;
  background: #eef7f0;
  border-radius: 16px;
  text-align: center;
}

.price-included h3 {
  font-size: 22px;
  color: #0f5b32;
  margin-bottom: 22px;
}

.price-included ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}

.price-included li {
  position: relative;
  background: #fff;
  border: 1px solid #b8d6c0;
  border-radius: 999px;
  padding: 7px 20px 7px 38px;
  font-weight: 700;
  color: #23412d;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04);
  font-size: 18px; 
}

.price-included li::before {
  content: "✓";
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #2f8a4f;
  font-weight: 700;
}

.price-included p {
  font-size: 13px;
  line-height: 1.8;
  color: #555;
  margin: 0;
}

/* 単品料金 */
.unit-price-section {
  padding: 40px 0;
  background:#fff;
}

.unit-price-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin: 40px auto 40px;
  width: 1100px;
}

.unit-price-table h3 {
  text-align: left;
  font-size: 20px;
  color: #0f5b32;
  margin-bottom: 10px;
}

.unit-price-table table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.unit-price-table th {
  background: #0f5b32;
  color: #fff;
  padding: 8px;
  font-size: 16px;
}

.unit-price-table td {
  border: 1px solid #d7e7db;
  padding: 8px 18px;
  font-size: 18px;
}

.unit-price-table td:first-child {
  background: #eef7f0;
  width: 60%;
}

.price-cell {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: #2f8a4f;
  white-space: nowrap;
}

.unit-price-note {
width: 1060px;
  margin: 30px auto;;
  background: #f7faf7;
  border: 1px solid #d7e7db;
  border-radius: 10px;
  padding: 20px;
}

.unit-price-note p {
  margin: 0;
  line-height: 1.9;
  font-size: 14px;
  color: #555;
}

/* =========================
   作業事例
========================= */
.works-section {
  padding: 50px 0 20px;
  background: #f7faf7;
}

.section-title {
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  color: #17834f;
  margin-bottom: 30px;
}

.works-card {
  background: #fff;
  width: 1000px;
  margin: 0 auto 30px;
  border-radius: 15px;
  padding: 20px 20px;
  box-shadow: 0 4px 15px rgba(0,0,0,.08);
}

/* タイトル */

.works-heading {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-bottom: 20px;
}

.works-label {
  display: inline-block;
  background: #17834f;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  padding: 5px 28px;
  border-radius: 999px;
}

.works-heading h3 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: #333;
}

/* メイン部分 */

.works-main {
  display: flex;
  gap: 30px;
  align-items: stretch;
}

.works-comment {
  flex: 1;
}

.works-photo img {
  width: 100%;
  display: block;
  border-radius: 10px;
}

.works-info {
  width: 300px;
  border: 1px solid #dfe8df;
  border-radius: 10px;
  background: #fff;
  padding: 7px 12px;
  background-color: #f5f8f4;
  font-size: 0.8em;
}

.works-info dl {
  margin: 0;
  background-color: #f5f8f4;
}

.works-info div {
  display: grid;
  grid-template-columns: 48% 52%;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #e5ece5;
}

.works-info div:last-child {
  border-bottom: none;
}

.works-info dt {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-weight: 700;
  color: #164d32;
}

.works-info dt img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}

.works-info dd {
  margin: 0;
  color: #333;
  font-weight: 600;
  line-height: 1.6;
}

/* コメント */

.works-comment {
  margin-top: 20px;
  background: #f7f6dc;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 15px 20px 10px;
}

.works-staff {
  width: 170px;
  flex-shrink: 0;
}

.works-staff img {
  width: 100%;
  display: block;
}

.works-text {
  flex: 1;
}

.works-text p {
  margin: 0 0 20px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}

/* ==========================
   対応エリア
========================== */
.area-section {
  padding: 40px 0;
  background: #fff;
}

.area-section .inner {
  width: 1000px;
  margin: 0 auto;
  padding: 30px 30px;
  border: 8px solid #d8ead2;
}

.area-section .section-title {
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  color: #164d32;
  margin-bottom: 15px;
}

.area-lead {
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 50px;
}

.area-content {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}

.area-map {
  flex: 1;
}

.area-map img {
  width: 100%;
  display: block;
}

.area-list {
  flex: 1;
}

.area-list h3 {
  font-size: 16px;
  margin-bottom: 5px;
  color: #333;
}

.area-list p {
  font-size: 14px;
  line-height: 1.6;
}

.area-note {
  margin-top: 10px;
  font-weight: 700;
  color: #17834f;
}

/* =========================
   ご利用の流れ
========================= */
.flow-section {
  padding: 50px 0 50px;
  background: #f2f8ec;
}

.flow_inner{
width: 1100px;
margin: 0 auto;
}

.flow-title {
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  color: #17834f;
  margin-bottom: 10px;
}

.text1{
text-align: center;
font-size: 18px;
}

.flow_img{
width: 95%;
margin: 20px auto 0;
}
.flow_img img{
width: 100%;
}

/* =========================
   QA
========================= */
.qa-section {
  padding: 50px 0 50px;
  background: #fff;
}


.qa-title {
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 10px;
}





/************
フロートボタンPC
*************/
.floating {
  position: fixed;
  bottom: 0px;
width: 100%;
  display: none;
  padding: 10px 0 10px;
  background-color: rgba(0,0,0,0.6);
}

.fl_pc {
    display: block;
    margin-left: auto;
}

.fl_sp {
    display: none;
    margin-left: auto;
}

 .button-container {
 width: 40%;
      display: flex;
      gap: 20px; /* ボタンの間隔 */
      justify-content: center; /* 中央寄せ */
      margin: 0 auto;
}

.contact-button1 {
width: 50%;
}
.contact-button1 img{
width: 100%;
}

/* 個人情報 */
.privacy{width: 1100px;
margin: 30px auto 10px;
font-size: 11px;;
line-height: 1.5;}

/* footer */
footer{
    background-color: #121212;
	padding:20px 0px 20px;
}

.footer_inner{
width: 1100px;
margin: 0 auto;
}

.comp{
text-align: left;
font-size: 1.2rem;
margin: 0px 0 0;
color: #fff;
}

.copy{
text-align: center;
font-size: 1.2rem;
margin: 0px 0 0;
padding: 10px 0 0;
color: #fff;
}

footer a,
footer a:link,
footer a:visited {
font-size: 1.2rem;
	color: #888;
	text-decoration: underline;
}

footer a:hover,
footer a:active {
	color: #888;
	text-decoration:none;
}


/*ここからタブレット用（600px～1054px）環境の設定
---------------------------------------------------------------------------*/
@media (min-width:600px) and (max-width:1054px){
body { font-size: 1.6rem;
	line-height: 1.7;
background-image:none;}

/* イメージ */
.img_c img{width:100%;}
.img_c2 img{width:90%; margin: 20px auto;}
.img_c5 img{width:80%; margin: 20px auto;}

/* 共通 */
#wrapper{
width: 100%;
margin: 0 auto;
background-color: #ffffff;
}

.inner{
	width:92%;
	margin:0 auto;
}

.inner2{
	width:90%;
	margin:0 auto;
}

.banner_pc{display: none;}
.banner_sp{display: block;}

.pcbr {display:inline;}
.spbr {display:none;}

/* ヘッダー */
header{
width: 92%;
margin: 0 auto;
padding: 5px 0 2px;
background-color: #ffffff;
clear: both;
}

.logo_area{
width: 100%;
float: none;
}

.logo_area h1{
font-size: 11px;
line-height: 130%;
font-weight: normal;
margin: 0 0 3px;
text-align: center;
}

.logo{
width: 37%;
margin: 0 auto;
}
.logo img{
width: 100%;
}

.contact{
display: none;
width: inherit;
}

.line{
display: none;
width: inherit;
float: none;
}

.mail{
display: none;
width: inherit;
float: none;
}

.line img,.mail img{
display: none;
width: 100%;
}


/* FV */
#header_sp{
width:100%;
margin: 0 auto;
background-image: none;
background-repeat: no-repeat;
background-position: center top;
}

#header_sp h2{
text-align: center;
}
#header_sp h2 img{width: 100%;}


#header_pc{display: none;}
#header_sp{display: block;}

/* エリア */
.area {
  background: #b9dcae;
  padding: 3px 3px;
  text-align: center;
}

 .area__icon {
    width: 18px;
  }

  .area__title {
    display: inline-block;
    font-size: 1.5rem;
  }

  .area__city {
    display: block;
    margin-top: 2px;
    font-size: 1.5rem;
    line-height: 1.5;
  }
  
/* CTA */
.cta{
background-color: #419a1a;
padding: 10px 0 20px;
}

.cta_inner{
width: 94%;
margin: 0 auto;
}

.cta_box{
background-color: #ffffff;
padding: 10px 10px 1px 10px;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}

.cta h2{
width: 96%;
margin: 0 auto;
}
.cta h2 img{
width: 100%;
}

.cta li{
width: 100%;
margin: 0 0 10px;
}
.cta li img{
width: 100%;
}

/* 支払い */
.pay{
width: 90%;
margin: 20px auto;
}
.pay img{
width: 100%;
}

/* お悩み */
.trouble {
  padding: 40px 0 0;
  background-image: url("../images/back_trb.webp");
  background-position: center top;
  background-size: cover;
}

.trouble .inner{
  max-width:96%;
  margin:0 auto;
  padding:0 10px;
}

.section-title{
  text-align:center;
  font-size:2.6rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:20px;
  color:#333;
}

.section-title span{
  color:#ff7a00;
}

.trouble-wrap{
  display:inherit;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
}

.trouble-list{
  flex:1;
}

.trouble-item{
  background:#fff;
  border-radius:20px;
  padding:15px 20px;
  margin-bottom:10px;

  display:flex;
  align-items:center;
  gap:15px;

  box-shadow:0 4px 15px rgba(0,0,0,.08);
}

.check{
  width:20px;
  height:20px;
  min-width:20px;

  border-radius:50%;
  background:#7cb342;

  color:#fff;
  font-size:18px;
  font-weight:bold;

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

.text p{
  margin:0;
  line-height:1.4;
}

.text p:first-child{
  font-size:1.8rem;
  font-weight:700;
  color:#333;
}

.accent{
  font-size:1.4rem;
  font-weight:700;
  color:#ff7a00;
}

.trouble-image{
  width:50%;
  margin:0 auto;
  flex-shrink:0;
}

.trouble-image img{
  width:100%;
  display:block;
}

.trb_text{
background-color: #faf9f2;
text-align: center;
padding: 10px 0;
}
.trb_text p{
width: 90%;
margin: 0 auto;
}

/* 選ばれる理由 */
.reason {
  padding: 40px 0;
  background: #fff;
}

.reason .inner {
  width: 94%;
  margin: 0 auto;
  padding: 0 0px;
}

.reason .section-title {
  text-align: center;
  font-size: clamp(2.2rem, 3.5vw, 3.8rem);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 30px;
  color: #333;
}

.reason .section-title span {
  color: #ff7a00;
}

.reason-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.reason-card {
  border: 2px solid #d7d7d7;
  border-radius: 10px;
  padding: 15px 10px 15px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.reason-card h3 {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 18px;
  color: #222;
}

.reason-img {
  width: 100%;
  aspect-ratio: 16 / 7;
  margin-bottom: 15px;
  border-radius: 12px;
  overflow: hidden;
  background: #e8e8e8;
}

.reason-img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.reason-card p {
  font-size: 1.5rem;
  line-height: 1.8;
  margin: 0;
  color: #333;
}

.reason-card .note {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-top: 14px;
  color: #555;
}

.reason-card h3{
    background:#6BA539;
    color:#fff;

    margin:-18px -14px 10px;
    padding:10px;

    border-radius:10px 10px 0 0;

    font-size:1.8rem;
}

/* サービス一覧 */
.service-section {
  padding: 40px 0 40px;
  background: #f8f7f0;
}

.service-section .inner {
  width: 92%;
  margin: 0 auto;
}

.section-title {
  margin-bottom: 20px;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #333;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 15px 20px;
}

.service-card {
  background: #fff;
  border: 1px solid #98c972;
  overflow: hidden;
}

.service-img {
  width: 100%;
  aspect-ratio: 548 / 202;
  background: #ccc;
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.service-body {
  padding: 10px 20px 20px;
  text-align: center;
}

.service-icon {
  width: 54px;
  height: auto;
  margin-bottom: 5px;
}

.service-body h3 {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #333;
}

.service-body p {
  margin: 0;
  text-align: left;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  color: #333;
}

/* 料金プラン */
.price-section {
  padding: 40px 0;
  background: #f7faf7;
}

.price-section .inner {
  width: 92%;
  margin: 0 auto;
}

.price-title {
  text-align: center;
  font-size: 28px;
  color: #0f5b32;
  margin-bottom: 14px;
  letter-spacing: 0.05em;
}

.price-lead {
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #333;
}

.price-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.price-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.price-card h3 {
  margin: 0;
  padding: 10px 8px;
  text-align: center;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.price-card--01 h3 {
  background: #8bc34a;
}

.price-card--02 h3 {
  background: #5fae58;
}

.price-card--03 h3 {
  background: #2f8a4f;
}

.price-card--04 h3 {
  background: #0f5b32;
}

.price-img {
  aspect-ratio: 4 / 2.2;
  background: #e5e5e5;
}

.price-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.price-body {
  padding: 15px 10px 15px;
}

.price-copy {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 10px;
  color: #222;
  font-weight: 600;
}

.price-fee {
  display: flex;
  gap: 4px;
  color: #2f8a4f;
  font-weight: 700;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #cfd8cf;
  align-items: center;
}

.price-fee span {
  background: #2f8a4f;
  color: #fff;
  font-size: 12px;
  padding: 2px 5px;
}

.price-fee strong {
  font-size: 22px;
  line-height: 1;
}

.price-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.price-body li {
  position: relative;
  padding-left: 15px;
  font-size: 14px;
  line-height: 1.8;
  color: #333;
}

.price-body li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 7px;
  height: 7px;
  background: #2f8a4f;
  border-radius: 50%;
}

.price-included {
  margin-top: 20px;
  padding: 15px 28px;
  background: #eef7f0;
  border-radius: 16px;
  text-align: center;
}

.price-included h3 {
  font-size: 18px;
  color: #0f5b32;
  margin-bottom: 15px;
}

.price-included ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  margin: 0 0 15px;
  padding: 0;
  list-style: none;
}

.price-included li {
  position: relative;
  background: #fff;
  border: 1px solid #b8d6c0;
  border-radius: 999px;
  padding: 5px 15px 5px 35px;
  font-weight: 700;
  color: #23412d;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04);
  font-size: 14px; 
}

.price-included li::before {
  content: "✓";
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: #2f8a4f;
  font-weight: 700;
}

.price-included p {
  font-size: 12px;
  line-height: 1.6;
  color: #555;
  margin: 0;
  text-align: left;
}

/* 単品料金 */
.unit-price-section {
  padding: 30px 0;
  background:#fff;
}

.unit-price-wrap {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
  margin: 20px auto 20px;
  width: 92%;
}

.unit-price-table h3 {
  text-align: left;
  font-size: 16px;
  color: #0f5b32;
  margin-bottom: 5px;
}

.unit-price-table table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.unit-price-table th {
  background: #0f5b32;
  color: #fff;
  padding: 3px 8px;
  font-size: 14px;
}

.unit-price-table td {
  border: 1px solid #d7e7db;
  padding: 5px 15px;
  font-size: 14px;
  font-weight: 600;
}

.unit-price-table td:first-child {
  background: #eef7f0;
  width: 60%;
}

.price-cell {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: #2f8a4f;
  white-space: nowrap;
}

.unit-price-note {
width: 90%;
  margin: 30px auto;;
  background: #f7faf7;
  border: 1px solid #d7e7db;
  border-radius: 10px;
  padding: 8px 15px;
}

.unit-price-note p {
  margin: 0;
  line-height: 1.6;
  font-size: 12px;
  color: #555;
}

/* =========================
   作業事例
========================= */
.works-section {
  padding: 40px 0;
  background: #f7faf7;
}

.section-title {
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  color: #17834f;
  margin-bottom: 20px;
}

.works-card {
  background: #fff;
  width: 88%;
  margin: 0 auto 20px;
  border-radius: 15px;
  padding: 20px 20px;
  box-shadow: 0 4px 15px rgba(0,0,0,.08);
}

/* タイトル */

.works-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

.works-label {
  display: inline-block;
  background: #17834f;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 5px 18px;
  border-radius: 999px;
}

.works-heading h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #333;
}

/* メイン部分 */

.works-main {
  display: inherit;
  gap: 30px;
  align-items: stretch;
}

.works-photo {
  flex: 1;
}

.works-photo img {
  width: 100%;
  display: block;
  border-radius: 10px;
}

.works-info {
  width: 90%;
  margin: 10px auto;
  border: 1px solid #dfe8df;
  border-radius: 10px;
  background: #fff;
  padding: 5px 15px;
  background-color: #f5f8f4;
  font-size: 1.0em;
}

.works-info dl {
  margin: 0;
  background-color: #f5f8f4;
}

.works-info div {
  display: grid;
  grid-template-columns: 48% 52%;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #e5ece5;
}

.works-info div:last-child {
  border-bottom: none;
}

.works-info dt {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-weight: 700;
  color: #164d32;
}

.works-info dt img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}

.works-info dd {
  margin: 0;
  color: #333;
  font-weight: 600;
  line-height: 1.6;
}

/* コメント */

.works-comment {
  margin-top: 20px;
  background: #f7f6dc;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 10px 20px 0;
}

.works-staff {
  width: 80px;
  flex-shrink: 0;
}

.works-staff img {
  width: 100%;
  display: block;
}

.works-text {
  flex: 1;
}

.works-text p {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}

/* ==========================
   対応エリア
========================== */
.area-section {
  padding: 40px 0;
  background: #fff;
}

.area-section .inner {
  width: 80%;
  margin: 0 auto;
  padding: 25px 25px;
  border: 5px solid #d8ead2;
}

.area-section .section-title {
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  color: #164d32;
  margin-bottom: 15px;
}

.area-lead {
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.area-content {
  display: inherit;
  gap: 30px;
  align-items: flex-start;
}

.area-map {
  flex: 1;
}

.area-map img {
  width: 70%;
  display: block;
  margin: 0 auto;
}

.area-list {
  flex: 1;
}

.area-list h3 {
  font-size: 14px;
  margin-bottom: 5px;
  color: #333;
}

.area-list p {
  font-size: 12px;
  line-height: 1.6;
}

.area-note {
  margin-top: 10px;
  font-weight: 700;
  color: #17834f;
}

/* =========================
   ご利用の流れ
========================= */
.flow-section {
  padding: 40px 0 40px;
  background: #f2f8ec;
}

.flow_inner{
width: 94%;
margin: 0 auto;
}

.flow-title {
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  color: #17834f;
  margin-bottom: 10px;
}

.text1{
text-align: center;
font-size: 14px;
}

.flow_img{
width: 95%;
margin: 20px auto 0;
}
.flow_img img{
width: 100%;
}

/* =========================
   QA
========================= */
.qa-section {
  padding: 40px 0 40px;
  background: #fff;
}


.qa-title {
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 10px;
}


/************
フロートボタンPC
*************/
.floating {
  position: fixed;
  bottom: 0px;
  width: 100%;
  display: none;
  padding: 10px 0 10px;
}

.fl_pc{

}
.fl_pc img{
width: 100%;
}

.fl_pc {
    display: block;
    margin-left: auto;
}

.fl_sp {
    display: none;
    margin-left: auto;
}


/* 個人情報 */
.privacy{width: 92%;
margin: 20px auto 15px;
font-size: 11px;;
line-height: 1.5;}

/* footer */
footer{
    background-color: #121212;
	padding:10px 0px 10px;
}

.footer_inner{
width: 92%;
margin: 0 auto;
}

.comp{
text-align: left;
font-size: 1.1rem;
margin: 0px 0 0;
color: #fff;
text-decoration: none;
}

.copy{
text-align: center;
font-size: 1.1rem;
margin: 0px 0 0;
padding: 20px 0 0;
color: #fff;
}

}

/*ここからスマートフォン用（599px以下）環境の設定
---------------------------------------------------------------------------*/
@media only screen and (max-width:599px){
body { font-size: 1.4rem; 
background-image:none;
line-height:1.7;
margin: 0 auto 0;}

/* イメージ */
.img_c img{width:100%;}
.img_c2 img{width:100%; margin: 20px auto;}
.img_c5 img{width:100%; margin: 20px auto;}

/* バナー */
.banner{}
.banner img:hover{opacity:1.0; filter: alpha(opacity=100);}

/* 共通 */
#wrapper{
width: 100%;
margin: 0 auto;
background-color: #ffffff;
}

.inner{
	width:92%;
	margin:0 auto;
}

.inner2{
	width:90%;
	margin:0 auto;
}

.banner_pc{display: none;}
.banner_sp{display: block;}

.pcbr {display:none;}
.spbr {display:inline;}

/* ヘッダー */
header{
width: 92%;
margin: 0 auto;
padding: 2px 0 2px;
background-color: #ffffff;
clear: both;
}

.logo_area{
width: 100%;
float: none;
}

.logo_area h1{
font-size: 11px;
line-height: 130%;
font-weight: normal;
margin: 0 0 0px;
text-align: center;
}

.logo{
width: 42%;
margin: 0 auto;
}
.logo img{
width: 100%;
}

.contact{
display: none;
width: inherit;
}

.line{
display: none;
width: inherit;
float: none;
}

.mail{
display: none;
width: inherit;
float: none;
}

.line img,.mail img{
display: none;
width: 100%;
}


/* FV */
#header_sp{
width:100%;
margin: 0 auto;
background-image: none;
background-repeat: no-repeat;
background-position: center top;
}

#header_sp h2{
text-align: center;
}
#header_sp h2 img{width: 100%;}


#header_pc{display: none;}
#header_sp{display: block;}

/* エリア */
.area {
  background: #b9dcae;
  padding: 3px 3px;
  text-align: center;
}

 .area__icon {
    width: 16px;
  }

  .area__title {
    display: inline-block;
    font-size: 1.4rem;
  }

  .area__city {
    display: block;
    margin-top: 2px;
    font-size: 1.1rem;
    line-height: 1.5;
  }

/* CTA */
.cta{
background-color: #419a1a;
padding: 10px 0 20px;
}

.cta_inner{
width: 94%;
margin: 0 auto;
}

.cta_box{
background-color: #ffffff;
padding: 10px 10px 1px 10px;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}

.cta h2{
width: 96%;
margin: 0 auto;
}
.cta h2 img{
width: 100%;
}

.cta li{
width: 100%;
margin: 0 0 10px;
}
.cta li img{
width: 100%;
}

/* 支払い */
.pay{
width: 90%;
margin: 15px auto;
}
.pay img{
width: 100%;
}

/* お悩み */
.trouble {
  padding: 30px 0 0;
  background-image: url("../images/back_trb.webp");
  background-position: center top;
  background-size: cover;
}

.trouble .inner{
  max-width:94%;
  margin:0 auto;
  padding:0 0px;
}

.section-title{
  text-align:center;
  font-size:2.0rem;
  font-weight:700;
  line-height:1.2;
  margin-bottom:20px;
  color:#333;
}

.section-title span{
  color:#ff7a00;
}

.trouble-wrap{
  display:inherit;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
}

.trouble-list{
  flex:1;
}

.trouble-item{
  background:#fff;
  border-radius:20px;
  padding:10px 10px;
  margin-bottom:10px;

  display:flex;
  align-items:center;
  gap:10px;

  box-shadow:0 4px 15px rgba(0,0,0,.08);
}

.check{
  width:20px;
  height:20px;
  min-width:20px;

  border-radius:50%;
  background:#7cb342;

  color:#fff;
  font-size:16px;
  font-weight:bold;

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

.text p{
  margin:0;
  line-height:1.4;
}

.text p:first-child{
  font-size:1.6rem;
  font-weight:700;
  color:#333;
}

.accent{
  font-size:1.4rem;
  font-weight:700;
  color:#ff7a00;
}

.trouble-image{
  width:60%;
  margin:0 auto;
  flex-shrink:0;
}

.trouble-image img{
  width:100%;
  display:block;
}

.trb_text{
background-color: #faf9f2;
text-align: center;
padding: 10px 0;
}
.trb_text p{
width: 90%;
margin: 0 auto;
}

/* 選ばれる理由 */
.reason {
  padding: 30px 0;
  background: #fff;
}

.reason .inner {
  width: 94%;
  margin: 0 auto;
  padding: 0 0px;
}

.reason .section-title {
  text-align: center;
  font-size: clamp(2.2rem, 3.5vw, 3.8rem);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 20px;
  color: #333;
  font-size:2.0rem;
}

.reason .section-title span {
  color: #ff7a00;
}

.reason-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.reason-card {
  border: 2px solid #d7d7d7;
  border-radius: 10px;
  padding: 15px 10px 15px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.reason-card h3 {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 18px;
  color: #222;
}

.reason-img {
  width: 100%;
  aspect-ratio: 16 / 7;
  margin-bottom: 10px;
  border-radius: 12px;
  overflow: hidden;
  background: #e8e8e8;
}

.reason-img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.reason-card p {
  font-size: 1.4rem;
  line-height: 1.6;
  margin: 0;
  color: #333;
  font-weight: 600;
}

.reason-card .note {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-top: 14px;
  color: #555;
  text-decoration:none;
}

.reason-card h3{
    background:#6BA539;
    color:#fff;

    margin:-18px -14px 10px;
    padding:10px;

    border-radius:10px 10px 0 0;

    font-size:1.6rem;
}

/* サービス一覧 */
.service-section {
  padding: 30px 0 30px;
  background: #f8f7f0;
}

.service-section .inner {
  width: 92%;
  margin: 0 auto;
}

.section-title {
  margin-bottom: 20px;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #333;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 15px 20px;
}

.service-card {
  background: #fff;
  border: 1px solid #98c972;
  overflow: hidden;
}

.service-img {
  width: 100%;
  aspect-ratio: 548 / 202;
  background: #ccc;
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.service-body {
  padding: 10px 20px 20px;
  text-align: center;
}

.service-icon {
  width: 54px;
  height: auto;
  margin-bottom: 5px;
}

.service-body h3 {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #333;
}

.service-body p {
  margin: 0;
  text-align: left;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  color: #333;
}

/* 料金プラン */
.price-section {
  padding: 30px 0;
  background: #f7faf7;
}

.price-section .inner {
  width: 92%;
  margin: 0 auto;
}

.price-title {
  text-align: center;
  font-size: 24px;
  color: #0f5b32;
  margin-bottom: 14px;
  letter-spacing: 0.05em;
}

.price-lead {
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #333;
}

.price-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.price-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.price-card h3 {
  margin: 0;
  padding: 10px 8px;
  text-align: center;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

.price-card--01 h3 {
  background: #8bc34a;
}

.price-card--02 h3 {
  background: #5fae58;
}

.price-card--03 h3 {
  background: #2f8a4f;
}

.price-card--04 h3 {
  background: #0f5b32;
}

.price-img {
  aspect-ratio: 4 / 2.2;
  background: #e5e5e5;
}

.price-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.price-body {
  padding: 15px 10px 15px;
}

.price-copy {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 10px;
  color: #222;
  font-weight: 600;
}

.price-fee {
  display: flex;
  gap: 4px;
  color: #2f8a4f;
  font-weight: 700;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #cfd8cf;
  align-items: center;
}

.price-fee span {
  background: #2f8a4f;
  color: #fff;
  font-size: 12px;
  padding: 2px 5px;
}

.price-fee strong {
  font-size: 22px;
  line-height: 1;
}

.price-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.price-body li {
  position: relative;
  padding-left: 15px;
  font-size: 14px;
  line-height: 1.8;
  color: #333;
}

.price-body li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 7px;
  height: 7px;
  background: #2f8a4f;
  border-radius: 50%;
}

.price-included {
  margin-top: 20px;
  padding: 15px 28px;
  background: #eef7f0;
  border-radius: 16px;
  text-align: center;
}

.price-included h3 {
  font-size: 18px;
  color: #0f5b32;
  margin-bottom: 15px;
}

.price-included ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  margin: 0 0 15px;
  padding: 0;
  list-style: none;
}

.price-included li {
  position: relative;
  background: #fff;
  border: 1px solid #b8d6c0;
  border-radius: 999px;
  padding: 5px 15px 5px 35px;
  font-weight: 700;
  color: #23412d;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04);
  font-size: 14px; 
}

.price-included li::before {
  content: "✓";
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: #2f8a4f;
  font-weight: 700;
}

.price-included p {
  font-size: 12px;
  line-height: 1.6;
  color: #555;
  margin: 0;
  text-align: left;
}

/* 単品料金 */
.unit-price-section {
  padding: 20px 0;
  background:#fff;
}

.unit-price-wrap {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
  margin: 20px auto 20px;
  width: 92%;
}

.unit-price-table h3 {
  text-align: left;
  font-size: 16px;
  color: #0f5b32;
  margin-bottom: 5px;
}

.unit-price-table table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.unit-price-table th {
  background: #0f5b32;
  color: #fff;
  padding: 3px 8px;
  font-size: 14px;
}

.unit-price-table td {
  border: 1px solid #d7e7db;
  padding: 5px 15px;
  font-size: 14px;
  font-weight: 600;
}

.unit-price-table td:first-child {
  background: #eef7f0;
  width: 60%;
}

.price-cell {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: #2f8a4f;
  white-space: nowrap;
}

.unit-price-note {
width: 90%;
  margin: 30px auto;;
  background: #f7faf7;
  border: 1px solid #d7e7db;
  border-radius: 10px;
  padding: 8px 15px;
}

.unit-price-note p {
  margin: 0;
  line-height: 1.6;
  font-size: 12px;
  color: #555;
}

/* =========================
   作業事例
========================= */
.works-section {
  padding: 30px 0;
  background: #f7faf7;
}

.section-title {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  color: #17834f;
  margin-bottom: 20px;
}

.works-card {
  background: #fff;
  width: 88%;
  margin: 0 auto 20px;
  border-radius: 15px;
  padding: 20px 20px;
  box-shadow: 0 4px 15px rgba(0,0,0,.08);
}

/* タイトル */

.works-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

.works-label {
  display: inline-block;
  background: #17834f;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 5px 18px;
  border-radius: 999px;
}

.works-heading h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #333;
}

/* メイン部分 */

.works-main {
  display: inherit;
  gap: 30px;
  align-items: stretch;
}

.works-photo {
  flex: 1;
}

.works-photo img {
  width: 100%;
  display: block;
  border-radius: 10px;
}

.works-info {
  width: 90%;
  margin: 10px auto;
  border: 1px solid #dfe8df;
  border-radius: 10px;
  background: #fff;
  padding: 5px 15px;
  background-color: #f5f8f4;
  font-size: 1.0em;
}

.works-info dl {
  margin: 0;
  background-color: #f5f8f4;
}

.works-info div {
  display: grid;
  grid-template-columns: 48% 52%;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #e5ece5;
}

.works-info div:last-child {
  border-bottom: none;
}

.works-info dt {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-weight: 700;
  color: #164d32;
}

.works-info dt img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}

.works-info dd {
  margin: 0;
  color: #333;
  font-weight: 600;
  line-height: 1.6;
}

/* コメント */

.works-comment {
  margin-top: 20px;
  background: #f7f6dc;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 10px 20px 0;
}

.works-staff {
  width: 80px;
  flex-shrink: 0;
}

.works-staff img {
  width: 100%;
  display: block;
}

.works-text {
  flex: 1;
}

.works-text p {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}

/* ==========================
   対応エリア
========================== */
.area-section {
  padding: 30px 0;
  background: #fff;
}

.area-section .inner {
  width: 83%;
  margin: 0 auto;
  padding: 20px 15px;
  border: 5px solid #d8ead2;
}

.area-section .section-title {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  color: #164d32;
  margin-bottom: 15px;
}

.area-lead {
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.area-content {
  display: inherit;
  gap: 30px;
  align-items: flex-start;
}

.area-map {
  flex: 1;
}

.area-map img {
  width: 100%;
  display: block;
}

.area-list {
  flex: 1;
}

.area-list h3 {
  font-size: 14px;
  margin-bottom: 5px;
  color: #333;
}

.area-list p {
  font-size: 12px;
  line-height: 1.6;
}

.area-note {
  margin-top: 10px;
  font-weight: 700;
  color: #17834f;
}

/* =========================
   ご利用の流れ
========================= */
.flow-section {
  padding: 30px 0 30px;
  background: #f2f8ec;
}

.flow_inner{
width: 98%;
margin: 0 auto;
}

.flow-title {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  color: #17834f;
  margin-bottom: 10px;
}

.text1{
text-align: center;
font-size: 13px;
}

.flow_img{
width: 95%;
margin: 20px auto 0;
}
.flow_img img{
width: 100%;
}

/* =========================
   QA
========================= */
.qa-section {
  padding: 30px 0 30px;
  background: #fff;
}


.qa-title {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 15px;
}



/************
フロートボタンSP
*************/
.floating {
  position: fixed;
  bottom: 0px;
  left: 0;
  right: 0;
  display: none;
  padding: 10px 0 10px;
  text-align: center;
  margin: 0 auto;
  width: 100%;
  background-color: rgba(0,0,0,0.6);
}


.fl_pc {
  display: none;
  margin-left: auto;
}

.fl_sp{
display: flex;
justify-content: space-between;
padding: 0 20px;
}

.cta_sp{
width: 30%;
}

.cta_sp img{
width: 100%;
}

/* 個人情報 */
.privacy{width: 92%;
margin: 20px auto 10px;
font-size: 11px;;
line-height: 1.5;}

/* footer */
footer{
    background-color: #121212;
	padding:10px 0px 10px;
}

.footer_inner{
width: 92%;
margin: 0 auto;
}

.comp{
text-align: left;
font-size: 1.1rem;
margin: 0px 0 0;
color: #fff;
text-decoration: none !important;
}

.copy{
text-align: center;
font-size: 1.1rem;
margin: 0px 0 0;
padding: 20px 0 0;
color: #fff;
}


}


/*************************************************************
【marginの設定】
*************************************************************/
.m0{margin:0 !important}
.mt0{margin-top:0 !important}
.mr0{margin-right:0 !important}
.mb0{margin-bottom:0 !important}
.ml0{margin-left:0 !important}

.m5{margin:5px !important}
.mt5{margin-top:5px !important}
.mr5{margin-right:5px !important}
.mb5{margin-bottom:5px !important}
.ml5{margin-left:5px !important}

.m10{margin:10px !important}
.mt10{margin-top:10px !important}
.mr10{margin-right:10px !important}
.mb10{margin-bottom:10px !important}
.ml10{margin-left:10px !important}

.m15{margin:15px !important}
.mt15{margin-top:15px !important}
.mr15{margin-right:15px !important}
.mb15{margin-bottom:15px !important}
.ml15{margin-left:15px !important}

.m20{margin:20px !important}
.mt20{margin-top:20px !important}
.mr20{margin-right:20px !important}
.mb20{margin-bottom:20px !important}
.ml20{margin-left:20px !important}

.m25{margin:25px !important}
.mt25{margin-top:25px !important}
.mr25{margin-right:25px !important}
.mb25{margin-bottom:25px !important}
.ml25{margin-left:25px !important}

.m30{margin:30px !important}
.mt30{margin-top:30px !important}
.mr30{margin-right:30px !important}
.mb30{margin-bottom:30px !important}
.ml30{margin-left:30px !important}

.m35{margin:35px !important}
.mt35{margin-top:35px !important}
.mr35{margin-right:35px !important}
.mb35{margin-bottom:35px !important}
.ml35{margin-left:35px !important}

.m40{margin:40px !important}
.mt40{margin-top:40px !important}
.mr40{margin-right:40px !important}
.mb40{margin-bottom:40px !important}
.ml40{margin-left:40px !important}

.m45{margin:45px !important}
.mt45{margin-top:45px !important}
.mr45{margin-right:45px !important}
.mb45{margin-bottom:45px !important}
.ml45{margin-left:45px !important}

.m50{margin:50px !important}
.mt50{margin-top:50px !important}
.mr50{margin-right:50px !important}
.mb50{margin-bottom:50px !important}
.ml50{margin-left:50px !important}

.m55{margin:55px !important}
.mt55{margin-top:55px !important}
.mr55{margin-right:55px !important}
.mb55{margin-bottom:55px !important}

.ml55{margin-left:55px !important}
.m60{margin:60px !important}
.mt60{margin-top:60px !important}
.mr60{margin-right:60px !important}
.mb60{margin-bottom:60px !important}
.ml60{margin-left:60px !important}

.m65{margin:65px !important}
.mt65{margin-top:65px !important}
.mr65{margin-right:65px !important}
.mb65{margin-bottom:65px !important}
.ml65{margin-left:65px !important}

.m70{margin:70px !important}
.mr70{margin-right:70px !important}
.mb70{margin-bottom:70px !important}
.ml70{margin-left:70px !important}

.m75{margin:75px !important}
.mt75{margin-top:75px !important}
.mr75{margin-right:75px !important}
.mb75{margin-bottom:75px !important}
.ml75{margin-left:75px !important}

.m80{margin:80px !important}
.mt80{margin-top:80px !important}
.mr80{margin-right:80px !important}
.mb80{margin-bottom:80px !important}
.ml80{margin-left:80px !important}


.mlrb30{margin:10px 30px 30px !important}
.ml90{margin-left:90px !important}

/**************************************************************
【paddingの設定】
**************************************************************/
.p0{padding:0 !important}		
.pt0{padding-top:0 !important}	
.pr0{padding-right:0 !important}
.pb0{padding-bottom:0 !important}
.pl0{padding-left:0 !important}	

.p5{padding:5px !important}
.pt5{padding-top:5px !important}
.pr5{padding-right:5px !important}
.pb5{padding-bottom:5px !important}
.pl5{padding-left:5px !important}

.p10{padding:10px !important}
.pt10{padding-top:10px !important}
.pr10{padding-right:10px !important}
.pb10{padding-bottom:10px !important}
.pl10{padding-left:10px !important}

.p20{padding:20px !important}
.pt20{padding-top:20px !important}
.pr20{padding-right:20px !important}
.pb20{padding-bottom:20px !important}
.pl20{padding-left:20px !important}

.p30{padding:30px !important}

.p4050{padding:40px 50px !important}

.pb30{padding-bottom:30px !important}
.pb40{padding-bottom:40px !important}
.pb50{padding-bottom:50px !important}
.pb80{padding-bottom:80px !important}

/**************************************************************
【widthの設定】
**************************************************************/
.w50{width:50px;}
.w100{width:100px;}
.w130{width:130px;}
.w180{width:180px;}
.w200{width:200px;}
.w220{width:220px;}
.w250{width:250px;}
.w350{width:350px;}
.w400{width:400px;}
.w450{width:450px;}
.w500{width:500px;}
.w600{width:600px;}
.w700{width:700px;}
.w710{width:710px;}
.w876{width:876px;}

/**************************************************************
【heightの設定】
**************************************************************/
.h10{height:10px;}
.h30{height:30px;}
.h100{height:100px;}
.h200{height:200px;}


/**************************************************************
【配置設定】
**************************************************************/
.center{text-align:center;}
.left{text-align:left;}
.right{text-align:right;}

.f_left{float:left;}
.f_right{float:right;}

/**************************************************************
【文字装飾】
**************************************************************/
.red1{color:#fa4a67;}/*明るい赤 */
.red2{color:#b00000;}/*暗い赤 */
.red1_b{color:#F00;font-weight:bold;}/*太字・明るい赤 */
.red2_b{color:#d13938;font-weight:bold;}/*太字・暗い赤 */
.blue{color:#00F;}/*青 */
.bl{color:#1a7ca7;}/*青 */
.or{color:#ec7c00;}/*オレンジ */
.or2{color:#ff7a00;}/*オレンジ2 */
.blk{color:#000;}/*黒 */
.gr{color:#999;}/*グレー */
.grn{color:#50A810;}/*みどり */
.pk{color:#FE48DA;}/*ピンク */
.gld{color:#d5b876;}/*ゴールド */
.pp{color:#8A37BC;}/*むらさき */
.yl{color:#ffef69;}/*黄色 */
.underline{text-decoration:underline;}/*アンダーライン */
strong{font-weight:bold;}/*太字 */
.bg_y{
    background-color:#F6BD15;
    padding:0px 5px 0px;}
.bg_k{
	background-color: #F8FF12;
	padding: 0px 5px 0px;}


.font0_5{font-size:0.5em;}
.font0_6{font-size:0.6em;}
.font0_7{font-size:0.7em;}
.font0_8{font-size:0.8em;}
.font0_9{font-size:0.9em;}
.font1{font-size:1em;}
.font1_1{font-size:1.1em;}
.font1_2{font-size:1.2em;}
.font1_3{font-size:1.3em;}
.font1_4{font-size:1.4em;}
.font1_5{font-size:1.5em;}
.font1_6{font-size:1.6em;}
.font1_7{font-size:1.7em;}
.font1_8{font-size:1.8em;}
.font1_9{font-size:1.9em;}
.font2{font-size:2em;}

.lh160{
line-height: 160%;
}

.font_M {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
}


/* CLEAR FIX*/
.clearfix:after {content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;}
.clearfix {display: inline-block;}
/* Hides from IE-mac \*/
* html .clearfix { height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */




/*Q&A */
.qa{
font-size: 20px;
line-height: 36px;
}
.qa-list dl {
    position: relative;
    margin: 20px 0 0;
    cursor: pointer;
}
.qa-list dl:first-child {
  margin-top: 0;
}
.qa-list dl::after {
    position: absolute;
    top: 30px;
    right: 26px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}
.qa-list .open::after {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 20px 20px 20px 60px;
    font-weight: bold;
    background: #f6f6f6;
}
.qa-list dl dt::before {
    font-size: 30px;
    line-height: 36px;
    position: absolute;
    top: 20px;
    left: 20px;
    display: block;
    content: 'Q.';
    color: #f68d1d;
}
.qa-list dl dd::before {
    font-size: 30px;
    line-height: 1;
    position: absolute;
    left: 20px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #47a81c;
}
.qa-list dl dd {
    position: relative;
    margin: 0;
    padding: 20px 20px 20px 60px;
    background: #f0f0f0;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media (min-width:600px) and (max-width:1024px){
.qa{
font-size: 18px;
line-height: 28px;
}

 .qa-list dl {
    margin: 10px 0 0;
    line-height: 160%;
}
.qa-list dl:after {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 10px 40px 10px 45px;
    font-size: 18px;
}
.qa-list dl dt::before {
    font-size: 14px;
    top: 12px;
    left: 20px;
}
.qa-list dl dt::before {
    font-size: 18px;
    line-height: 28px;
    position: absolute;
    top: 10px;
    left: 20px;
    display: block;
    content: 'Q.';
    color: #f68d1d;
}
.qa-list dl dd::before {
    font-size: 18px;
    line-height: 1;
    position: absolute;
    left: 20px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #47a81c;
}
.qa-list dl dd {
    margin: 0;
    padding: 10px 10px 10px 45px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
}

@media only screen and (max-width:599px){
.qa{
font-size: 14px;
line-height: 24px;
}

 .qa-list dl {
    margin: 10px 0 0;
    line-height: 160%;
}


.qa-list dl:after {
    top: 15px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 10px 40px 10px 35px;
    font-size: 14px;
}
.qa-list dl dt::before {
    font-size: 14px;
    top: 12px;
    left: 20px;
}

.qa-list dl dt::before {
    font-size: 16px;
    line-height: 20px;
    position: absolute;
    top: 10px;
    left: 10px;
    display: block;
    content: 'Q.';
    color: #f68d1d;
}
.qa-list dl dd::before {
    font-size: 16px;
    line-height: 20px;
    position: absolute;
    left: 10px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #47a81c;
}

.qa-list dl dd {
    margin: 0;
    padding: 10px 10px 10px 35px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
}

