.button, input, select, textarea{

    /* background-color: none!important;
    border: none!important; */
    
}


input[type="file"]{
background-color: #FFF!important;
border: none!important;
margin-bottom: 10px;

}



.post_content [data-partsid="51145"]{
  margin-bottom: 0 !important;
}

.post_content [data-partsid="51180"]{
  margin-bottom: 0 !important;
}

.post_content [data-partsid="51177"]{
  margin-bottom: 0 !important;
}



.btm-m100
{
  margin-bottom: 200px !important;
  padding-bottom: 200px !important;
}



/* ページトップに戻る位置 */


.p-fixBtnWrap {
	/* right: 2em; 右からの位置 */
	bottom: 5em; /*下からの位置*/
}



/* お問い合わせフォーム全体 */

.contact-form-wrap {

  padding-bottom: 10em;
}


.contact-form {
  border-collapse: collapse;
  width: 100%;

}

/* th, td の枠線・背景を消す */
.contact-form th,
.contact-form td {
  border: none;
 
  padding: 20px 8px;
  vertical-align: top;
}

/* 見出し（th）を少し強調 */
.contact-form th {
  width: 30%;
  font-weight: 600;
  text-align: left;
	background: #FFF!important;
    padding-top: 30px;


}

.post_content .contact-form th:before{

    background-color: #FFF!important;
}

/* 必須ラベル */
.c-need{
  display: inline-block;
  margin-left: 6px;
  padding: 4px 8px;
  font-size: 0.6em;
  color: #fff;
  background-color: #E60013;
  border-radius: 0px;
  line-height: 1.4;

  position: relative;   /* 追加 */
  top: -2px;            /* ←ここで調整（-2px〜-6pxくらいで様子見） */
}


/* テキスト・メール・電話 */
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea {
  width: 100%;
  padding: 10px 12px;
  background-color: #f2f2f2;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

/* フォーカス時 */
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  background-color: #fff;
  border-color: #999;
  outline: none;
}

.f-red{
	color:#E60013;
	
}

.f-box{
    background-color:#EDF5EB ;
    padding: 1em 2em;
}


@media screen and (max-width: 768px) {

.contact-form-wrap {

  padding-bottom: 4em;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea {
  width: 94%;
  padding: 10px 12px;
  background-color: #f2f2f2;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

  .contact-form th,
  .contact-form td {
    display: block;
    width: 100%;
  }

  .contact-form th {
    padding-bottom: 4px;
  }
}


.swell-block-button{
	
	--the-btn-bg:#FFF!important;
	
}




@media screen and (max-width: 768px) {

.btm-m100
{
  margin-bottom: 100px !important;
  padding-bottom: 100px !important;
}


.sp-img01{

padding-bottom: 2em;
display: block;
width: 100% !important;
height: auto;



}






}



/* =========================
   角丸CTAボタン（矢印なし）
========================= */
.c-cta-btn{
  --btn-bg: #ffb020;
  --btn-bg-hover: #f39c12;
  --btn-text: #fff;

  display: inline-block;
  min-width: 260px;          /* 横長感 */
  padding: 18px 36px;
  background: var(--btn-bg);
  color: var(--btn-text);
  text-decoration: none;
  text-align: center;

  font-weight: 800;
  font-size: 20px;
  letter-spacing: .35em;     /* 送　信 っぽい間隔 */
  text-indent: .35em;        /* 右にズレるの防止（字間の副作用対策） */

  border-radius: 10px;
  border: none;

  transition: background .25s ease, transform .05s ease;
}

/* hover */
.c-cta-btn:hover{
  background: var(--btn-bg-hover);
}

/* 押した感 */
.c-cta-btn:active{
  transform: translateY(1px);
}

/* オレンジ */
.c-cta-btn.is-orange{
  --btn-bg: #ffb020;
  --btn-bg-hover: #f39c12;
}

/* PCで中央寄せしたい場合（必要なら親に付ける） */
.btn-center{
  text-align:center;
}


.list-orange{
 list-style: none;
	padding:1em 0!important;
	margin-left:0!important;
	
	
}

.list-orange li{
  display: flex; /* 点とリストを横並びに */
  align-items: top; /* 垂直方向に中央揃い */
}

.list-orange li::before{
 content: "⚫︎"; /* 記号(黒丸)を挿入 */
 color: #F39519; /* 好きな色にする */
 font-size: 1em; /* 点の大きさ */
 margin-right: 0; /* 点とテキストの距離 */
}


.list-green{
 list-style: none;
	padding:1em 0!important;
	margin-left:0!important;
	
	
}

.list-green li{
  display: flex; /* 点とリストを横並びに */
  align-items: top; /* 垂直方向に中央揃い */
}

.list-green li::before{
 content: "⚫︎"; /* 記号(黒丸)を挿入 */
 color: #009740; /* 好きな色にする */
 font-size: 1em; /* 点の大きさ */
 margin-right: 0; /* 点とテキストの距離 */
}


/* 全体：カード群 */
.rts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
padding-bottom:2em;
}

/* カード（見出し帯＋枠） */
.rts-card {
  border: 2px solid rgba(0, 151, 64, .25);
  background: #fff;
}

.rts-card__head {
  background: #009740;
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 10px 12px;
  letter-spacing: .05em;
}

/* カード内：アイテムを並べる（中は自動で等間隔） */
.rts-card__body {
  display: grid;
  gap: 0;
}

/* 何枚並べるかはクラスで指定 */
.rts-cols-1 { grid-template-columns: 1fr; }
.rts-cols-2 { grid-template-columns: repeat(2, 1fr); }
.rts-cols-3 { grid-template-columns: repeat(3, 1fr); }
.rts-cols-4 { grid-template-columns: repeat(4, 1fr); }

/* 1アイテム */
.rts-item {
  padding: 18px 10px 14px;
  text-align: center;
  border-left: 2px solid rgba(0, 151, 64, .15);
display: flex;
  align-items: center;      /* 横方向センター */
  justify-content: flex-end; /* 縦方向：下揃え */
  flex-direction: column;
  min-height: 220px; /* ←ここ重要（揃えたい高さに調整） */


}
.rts-item:first-child { border-left: none; }

.rts-item img {
  max-width: 100%;
  height: auto;
  display: block;
  
margin-top: auto;


 display:block;
 



}



.remote-wrap{
padding-bottom:4em;
}

.rts-item__cap {
  font-weight: 700;
  line-height: 1.2;
}
.rts-item__cap small{
  display:block;
  font-weight:600;
  opacity:.85;
}
/* カラムをまたがせる */
.rts-span-1 { grid-column: span 1; }
.rts-span-2 { grid-column: span 2; }
.rts-span-3 { grid-column: span 3; }
.rts-span-4 { grid-column: span 4; }
.rts-item > p{
  margin:0;
}
/* SP */
@media (max-width: 768px) {
  .rts-grid { grid-template-columns: 1fr; column-gap: 0; padding-bottom: 1em !important;}
  .rts-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .rts-cols-3 { grid-template-columns: repeat(2, 1fr); }
  .rts-cols-2, .rts-cols-1 { grid-template-columns: 1fr; }
  .rts-item { border-left: none; border-top: 2px solid rgba(0, 151, 64, .15); }
  .rts-item:first-child { border-top: none; }





}




.post_content h2.g-border{

 border-top: 1px solid #009740 !important;
  border-bottom: 1px solid #009740 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* 固定ページタイトル中央寄せ */
.c-pageTitle,
.c-pageTitle__inner {
	float: none!important;
	text-align: center;
	text-decoration:none;
	border-bottom:none!important;
	color:#00963E;
	font-size:1.5em;
	
	padding: .25em 0em 0 0!important;
}
@media (max-width: 768px) {

.post_content h2.g-border{
    font-size: 1.2em  !important;

}
.sp-f-95{
    font-size: 1.2em !important;
    
}



.c-pageTitle,
.c-pageTitle__inner {
	float: none!important;
	text-align: center;
	text-decoration:none;
	border-bottom:none!important;
	color:#00963E;
	font-size:1.4em;
	
	
}



}


.myColumnCaptionBox {
  height : 100%;
}

.myColumnCaptionBox .cap_box_content{
  height : 100%;
}


/* ===== 2カラム版 ===== */
.rts2-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:18px;
}

/* カード */
.rts2-card{
  border:2px solid rgba(0,151,64,.25);
  background:#fff;
}

/* 見出し帯 */
.rts2-head{
  background:#009740;
  color:#fff;
  font-weight:700;
  text-align:center;
  padding:10px 12px;
  letter-spacing:.05em;
}

/* 中身（画像下揃え） */
.rts2-body{
  display:flex;
  align-items:center;
  justify-content:flex-end; /* 下揃え */
  flex-direction:column;
  min-height:220px;         /* 高さ調整ここだけ */
  padding:18px 12px;
  text-align:left;
}

/* 画像 */
.rts2-body img{
  display:block;
  margin-top:auto;          /* 強制的に下へ */
  max-width:100%;
  height:auto;
  padding: 1em 0;
}
.f-blue{

  color:#003D56;
}

.rts2-grid h3{
  padding-bottom: 0;
  margin-bottom: .5em;
}

.h3-pro003{
  background:#009740;
  padding:.4em .8em !important;
  color:#fff;
  font-weight:700;
  font-size:1.4em !important;
  text-align:center;

  display: table !important;      /* ←これが強い（中央寄せが安定） */
  width: fit-content;             /* 文字幅 */
  margin: 0 auto !important;      /* ←左右autoを強制 */
}

.h3-pro004{
  background:#009740;
  padding:.4em .8em !important;
  color:#fff;
  font-weight:700;
  font-size:1.4em !important;
  text-align:center;

  display: block;      /* ←これが強い（中央寄せが安定） */
margin-bottom: .8em;  
}

.h3-pro005{
  background:#009740;
  padding:.4em .8em !important;
  color:#fff;
  font-weight:700;
  font-size:1.4em !important;
  text-align:center;

  display: block;      /* ←これが強い（中央寄せが安定） */

}
.faq-archive-list{
	list-style:none;
	margin:0;
	padding:2em 0;
}
.faq-archive-item{
	border-bottom:1px solid #eee;
}
.faq-archive-link{
	display:block;
	padding:14px 0;
	text-decoration:none;
}
.faq-archive-link:hover{
	opacity:.75;
}

/* SP */
@media (max-width:768px){
  .rts2-grid{
    grid-template-columns:1fr;
  }
}

.ta-p01{
	width:80%;
	margin:0 auto 6em auto;
	
}


@media (max-width:768px){


  .ta-p01{
	width:100%;
	margin:0 auto 6em auto;
	
}

  .ta-p01 th,.ta-p01 td{
	width:100%;
	display: block!important;
	
}

.rts-grid {
    grid-template-columns: 1fr !important;
  }



}


.faq-search-form{
  display:flex;
  gap:10px;
  max-width: 560px;
}

.faq-search-input{
  flex:1;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
}

.faq-search-btn{
  padding: 10px 16px;
  border: none;
  border-radius: 6px;
  font-weight: 700;
  cursor: pointer;
}




.custom-full{
  position: relative;
  padding: 60px 20px;  /* 中身の余白はここ */
  background: transparent; /* 背景は擬似要素に任せる */
  z-index: 0;
}

/* 背景だけ画面幅100% */
.custom-full::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform: translateX(-50%);
  background:#003D56;
  z-index:-1;
}



. btm-2{
  
  padding-bottom: 2em !important;
}


.h3-kouji{color: #009740;
font-size: 1.2em;
font-weight: 700;
}
.h3-kouji:before {
  /* content: "\005C"; */
  content: "＼";
  font-family: arial; 
  padding-right: .5em;
 
}

.h3-kouji:after {
  /* content: "\005C"; */
  content: "／";
  font-family: arial; 
  padding-left: .5em;

}


.md-com01{

  color: #009740!important;
font-size: 1.8em!important;
font-weight: 700;
margin-bottom: 1.5em!important;
}

.md-com01 span{

font-size: 120%!important;
}




.md-com02{

color: #009740;
font-size: 2em!important;
font-weight: 700;
margin-bottom: 1.5em!important;

}


.md-com02 span

 {color: #009740;
font-size: 70%!important;
font-weight: 700;
display: block;
}


.md-com02 span:before {
  /* content: "\005C"; */
  content: "＼";
  font-family: arial; 
  padding-right: .5em;
 
}

.md-com02 span:after {
  /* content: "\005C"; */
  content: "／";
  font-family: arial; 
  padding-left: .5em;

}








.mark02:before {
  /* content: "\005C"; */
  content: "＼";
  font-family: arial; 
  padding-right: .5em;
 
}

.mark02:after {
  /* content: "\005C"; */
  content: "／";
  font-family: arial; 
  padding-left: .5em;

}



.is-style-clmn-shadow > .swell-block-columns__inner > .swell-block-column {
  box-shadow: 0 12px 32px rgba(0,0,0,0.3) !important;
}


.kouji-padding{
  padding-left: 2em!important;
}

@media (max-width:768px){

.kouji-padding{
  padding-left: 0em!important;
}

}

.disp-none{
  display: none !important;
}


.sp-padding{

padding-left: 0!important
padding-right: 0!important;

}




.product01-01{


border-radius: 10px;
border: 4px solid #A0CA95 ;
padding: 1.5em!important;

}


.product01-02{


border-radius: 10px;
border: 4px solid #7FA6D0;
padding: 1.5em!important;

}




@media (max-width:768px){
.product01-01 br,.product01-02 br{

display: none!important;

}
}


.somf-h3{


font-weight: 700;
font-size: large;

}

.p-base-green{

color: #009740;


}



.p-base-blue{

color: #004EA2;


}


.bg-green{

  background: #00963E!important;
}

.bg-blue{

  background: #004EA2!important;

}


.ico-anshin{
display: flex!important;
  align-items: center!important;
  justify-content: center!important;

  width: 100px!important;
  height: 100px!important;

  border-radius: 50%!important;
  color:#FFF;
  font-weight: 700!important;

  margin: 0px auto 30px auto!important;
  ;
}


.anshin-box{

  background: #FFF;
  padding: 1.5em!important;
}


.h3-pro{
	color:#00963E;
}

.h3-pro-blue{

color:#004EA2!important;

}


.pro-box01{

 background: #FFF;
  padding: 1.5em!important;

  border-radius: 10px;

padding: 1.5em!important;

}



.border-green{
  border: 4px solid #A0CA95 ;
}


.border-blue{
  border: 4px solid #7FA6D0 !important;
}


.p-mainVisual__slideTitle{

font-weight: 700;
font-size: 2.6em;
  text-shadow: 0 2px 6px rgba(0,0,0,0.4);

}


.p-mainVisual__slideText{

 
font-size: 1.2em;
  text-shadow: 0 2px 6px rgba(0,0,0,0.4);


}



@media (max-width:768px){


.p-mainVisual__slideTitle{

font-size: 1.8em;

}

.p-mainVisual__slideText{

 
font-size: 1.0em;



}

.sp-disp-none{
display: none!important;

}
}



.post_content  .footer-bn{


}
.post_content  .footer-bn img{
	
	margin-top:-100px;
	padding-top:-100px;
 
}


.mg-bottom0{
  margin-bottom: 0!important;
}

.green-list {
  list-style-type: square!important; /* ■ に変更 */
}

.green-list li::marker {
  color: #009740;          /* マークだけ緑 */
	 font-size: 1.5em; /* お好みで */
}


.blue-list {
  list-style-type: square!important; /* ■ に変更 */
}

.blue-list li::marker {
  color: #004EA2;          /* マークだけ緑 */
	 font-size: 1.5em; /* お好みで */
}


.pc-none{
  display: none!important;
}


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


@media (max-width:768px){

 .pc-none{
  display: block!important;
}


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

}

.midashi{

color: #00963E;

}



.qa-box{

  border: 1px solid #009740!important;
  position: relative;
  
}













.q-text{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;

font-weight: 1000;
font-size: 1.2em;
line-height: 1.2em;
color: #00963E;
padding-left: 4em;    /* ←アイコン分の余白（2emより少し広げると安全） */
margin-bottom: 1.2em;


}

.a-text{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;

font-weight: 700;
font-size: 1em;
line-height: 1.6em;
padding-left: 4.8em;    /* ←アイコン分の余白（2emより少し広げると安全） */


}






.q-text,
.a-text{
  display: flex;
  align-items: center;   /* ← 常に縦中央 */
  gap: 15px;
  padding-left: 0;       /* ← before方式やめる */
}

.q-text::before,
.a-text::before{
  content: "";
  width: 50px;
  height: 50px;
  flex-shrink: 0;        /* ← 縮まない */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.q-text::before{
  background-image: url("/img/icon-question.png");
}

.a-text::before{
  background-image: url("/img/icon-answer.png");
}


.q-text a,
.a-text a{
  text-decoration: none;
  position: absolute;
  display: block;
}

.a-text a{
  color: black;
}




.pd-contact{
  padding-top: 1.1em;
}


/* -------------------------------------------------------------- */
.outline{
border: 1px solid #009740!important;
}
.qa-box2 a {
  display: block;   /* ←これが一番重要 */
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
  position: relative;
}
.qa-box2 a:hover {
  background-color: #FFF; /* かなり薄い緑 */
}

/* -------------------------------------------------------------- */
.case-archive-list{
	list-style: none;
	margin: 0;
	padding: 0;
}

.case-archive-item{
	border-bottom: 1px solid #eee;
}

.case-archive-link{
	display: flex;
	align-items: flex-start; /* ← 上付き */
	gap: 20px;
	padding: 20px 0;
	text-decoration: none;
	color: inherit;
}

.case-archive-thumb{
	width: 220px;
	flex-shrink: 0;
	background: #f5f5f5;
	overflow: hidden;
}

.case-archive-thumb img{
	display: block;
	width: 100%;
	height: auto;
}

.case-archive-noimage{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 120px;
	font-size: 12px;
	color: #999;
	background: #f5f5f5;
}

.case-archive-content{
	flex: 1;
	padding-top: 0;
}

.case-archive-title{
	font-weight: 700;
	font-size: 1.1em;
	line-height: 1.6;
	margin-bottom: 10px;
}

.case-archive-excerpt{
	font-size: 0.95em;
	line-height: 1.8;
	color: #555;
	margin-bottom: 10px;
}

.case-archive-excerpt p{
	margin: 0;
}

.case-archive-date{
	font-size: 0.85em;
	color: #888;
}

@media (max-width: 768px){
	.case-archive-link{
		flex-direction: column;
		align-items: flex-start;
	}

	.case-archive-thumb{
		width: 100%;
	}


/* .p-mainVisual__text {
  transform: translateY(-100px)!important;
} */

.p-mainVisual__textLayer {
/* justify-content: flex-start; */

justify-content: flex-start;
margin-top: 50px;
}


.p-mainVisual__text {
  /* transform: translateY(-200px)!important; 微調整 */
}

}
/* -------------------------------------------------------------- */


.ul-banner01{
padding: 1em 0;

}
.ul-banner01 li{
padding: .5em 0;

}

.ul-banner01 li img{
vertical-align: bottom;

}

.secomf1{

text-align: center!important;

}

.secomf2{

background-color: #FFF!important;
border: none!important;
padding: none!important;


}

@media (max-width: 768px){
.secomtext{

text-align: center!important;

}


.top-youtube{

text-align: center!important;
margin: 0 auto!important;
padding-bottom: 1.5em!important;

}

@media screen and (max-width: 599px) {
    .post_content p {
        font-size: 16px !important;
        line-height: 1.8 !important;
    }
}

}