.sp{
	display: none
}
#contact .inner{
	max-width: 1240px;
	padding: 0 20px;
	margin: 0 auto;
	position: relative;
}


.contact01{
	background: #fff9f8;
	padding: 50px 0 55px;
	text-align: center;
}
.contact_text01{
	max-width: 417px;
	width: 33.6%;
}
.contact_img{
	max-width: 140px;
	position: absolute;
  z-index:2;
	left: 100px;
	top: 30px;
}
.contact01 h2{
	margin: 30px 100px 40px;
	font-size: 52px;
	letter-spacing: 0.05em;
	color: #ffa700;
	font-weight: 600
}


.contact01 .leed{
	  font-size : 18px;
  line-height : 1.77;
	font-weight: 600;
	margin: 0 200px;
  letter-spacing : 0.9px;
}

   @media screen and (max-width: 1000px) {
		 .sp{
	display: block
}
		 #contact .inner{
	max-width: 1240px;
	padding: 0 35px;
	margin: 0 auto;
	position: relative;
}

.contact01{
	padding: 4.8vw 0 4vw;
}
.contact_text01{
	max-width: none;
	width: 70%;
}
.contact_img{
	max-width: none;
	width: 19.4%;
	position: absolute;
	left: auto;
	right: 10px;
	top: 13.333333333333334vw;
}
.contact01 h2{
	margin: 6.4vw 0px 5.333333333333334vw;
	font-size: 8vw;
	letter-spacing: 0.05em;
	color: #ffa700;
	font-weight: 600
}
		 .contact01.download h2{
	margin: 6.4vw 0px 5.333333333333334vw;
	font-size: 6.5vw;
	letter-spacing: 0.05em;
	color: #ffa700;
	font-weight: 600
}

.contact01 .leed{
	  font-size : 3.4666666666666663vw;
	text-align: center;
  line-height : 1.77;
	font-weight: 600;
	margin: 0 6.666666666666667vw;
  letter-spacing : 0.9px;
}

		 
}


.contact02{
	text-align: center;
	background: #E0F6D3;
	padding: 60px 0 100px;
}

.contact02 h2{
	  font-weight : bold;
  font-size : 32px;
  line-height : 2.25;
  letter-spacing : 1.6px;
  color : #35B600;
}
.contact02 .leed{
	 font-size : 16px;
  position : relative;
  top : 3px;
  color : #000000;
	margin-bottom: 65px;
}

.form_box{
	background: #fff;
	padding: 80px 20px;
	border-radius: 30px;
}
.form_box dl{
	max-width: 560px;
	margin: 0 auto 35px;
	text-align: left;
}
.form_box dl dt{
	  font-size : 20px;
  line-height : 1.6;
  letter-spacing : 1px;
  color : #000000;
	margin-bottom: 10px;

}
.form_box dl dt p{
 font-size : 16px;
  position : relative;
  top : 3px;
  color : #000000;}

.form_box dl dt span{
	font-size: 12px;
	color: #35b600;
	vertical-align: top;
}

.form_box dl dd input[type="text"],.form_box dl dd input[type="email"],
select{
	border: 1px solid #35b600;
	width: 100%;
	padding: 15px;
	font-weight: bold;
}
textarea{
		border: 1px solid #35b600;
	width: 100%;
	padding: 15px;
	font-weight: bold;
height: 140px;
	overflow-y: scroll;
}

.select-wrap {
  position: relative;
  display: inline-block;
  width: 100%;
}
.select-wrap select{
	padding-right: 100px;
}
.select-wrap::after {
  content: "▼";
  position: absolute;
  top: 50%;
	transform: translateY(-50%);
	color: #35b600;
	right: 23px;
  pointer-events: none;
}
.naiyo{
	margin-bottom: 80px;
}
.phone{
	margin-bottom: 70px;
}
.detail{
	margin-bottom: 50px;
}
.pp_link{
	  font-size : 16px;
  position : relative;
  top : 3px;
  color : #FF7477;
}
   @media screen and (max-width: 1000px) {
		 
.contact02{
	padding: 6.666666666666667vw 0 11.200000000000001vw;
}

.contact02 h2{
	  font-weight : bold;
  font-size : 8.533333333333333vw;
  line-height : 1;
	margin-bottom: 4vw;
  letter-spacing : 1.6px;
  color : #35B600;
}
.contact02 .leed{
	 font-size : 3.733333333333334vw;
  position : relative;
  top : 3px;
  color : #000000;
	margin-bottom: 4.8vw;
}

.form_box{
	background: #fff;
	padding: 5.333333333333334vw 6.666666666666667vw 11.733333333333333vw;
	border-radius: 10px;
}
.form_box dl{
	max-width: none;
	margin: 0 auto 8vw;
	text-align: left;
}
.form_box dl dt{
	  font-size : 4.266666666666667vw;
  line-height : 1.6;
  letter-spacing : 1px;
  color : #000000;
	margin-bottom: 10px;

}
.form_box dl dt p{
 /*font-size : 4.266666666666667vw;*/
 font-size : 3vw;
  position : relative;
  top : 3px;
	font-weight: normal;
  color : #000000;}

.form_box dl dt span{
	font-size: 3.2vw;
	color: #35b600;
	vertical-align: top;
}

.form_box dl dd input[type="text"],.form_box dl dd input[type="email"],
select{
	border: 1px solid #35b600;
	width: 100%;
	 font-size : 4.266666666666667vw;
	/*padding: 5.333333333333334vw;*/
  padding:3vw;
	font-weight: bold;
}
textarea{
		border: 1px solid #35b600;
	width: 100%;
	 font-size : 4.266666666666667vw;
	padding: 5.333333333333334vw;
	font-weight: bold;
	line-height: 1.5;
height: 140px;
	overflow-y: scroll;
}

.select-wrap {
  position: relative;
  display: inline-block;
  width: 100%;
}
.select-wrap select{
	padding-right: 100px;
}
.select-wrap::after {
  content: "▼";
 font-size : 4.266666666666667vw;
  position: absolute;
  top: 50%;
	transform: translateY(-50%);
	color: #35b600;
	right: 10px;
  pointer-events: none;
}
.naiyo{
	/*margin-bottom: 13.333333333333334vw !important;*/
}
.phone{
	margin-bottom: inherit;
}
.detail{
	margin-bottom: 8.333333333333334vw !important;
}
.pp_link{
	 font-size : 4.266666666666667vw;
  position : relative;
  top : 3px;
  color : #FF7477;
}
}
/* ====== カスタムチェックボックス（フル機能） ====== */
:root{
  --chk-size: 10px;
  --chk-radius: 0px;
  --chk-border: #c9c9c9;
  --chk-bg: #fff;
  --chk-tick: #fff;
  --chk-active: #2bb673;     /* ブランド色に置換可 */
  --chk-hover: #25a065;
  --chk-focus: #137b47;
  --chk-disabled: #d8d8d8;
  --chk-label: #222;
}

/* ラッパー */
.ui-check{
  display:inline-flex;
  align-items:center;
  gap:10px;
	margin: 17px 0 0;
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;
  user-select:none;
  line-height:1.4;
  color:var(--chk-label);
}
.check_dd{
	padding-bottom: 80px
}



/* 視覚的には隠すが、フォーカス/スクリーンリーダーはそのまま */
.ui-check__input{
  position:absolute;
  inline-size: var(--chk-size);
  block-size: var(--chk-size);
  opacity:0;
  margin:0;
  /* 既に appearance を消していてもOK。ここでも保険で消す */
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
}

/* 見た目の箱 */
.ui-check__box{
  position:relative;
  inline-size: var(--chk-size);
  block-size: var(--chk-size);
  flex:0 0 var(--chk-size);
  border:1.5px solid var(--chk-border);
  border-radius: var(--chk-radius);
  background: var(--chk-bg);
  box-shadow: 0 0 0 0 rgba(19,123,71,0); /* フォーカスリング用の土台 */
  transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease, transform .08s ease;
}

/* ホバー */
.ui-check:hover .ui-check__box{
  border-color: var(--chk-hover);
}

/* フォーカス（キーボード操作） */
.ui-check__input:focus-visible + .ui-check__box{
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--chk-focus) 30%, transparent);
  border-color: var(--chk-focus);
}

/* チェック状態 */
.ui-check__input:checked + .ui-check__box{
  background: var(--chk-active);
  border-color: var(--chk-active);
}

/* クリック時の小さな押下感 */
.ui-check__input:active + .ui-check__box{
  transform: scale(0.98);
}

/* チェックマーク（SVGを背景で描画：高DPIでもクッキリ） */
.ui-check__box::after{
  content:"";
  position:absolute;
  inset: 0;
  background-repeat:no-repeat;
  background-position:center;
  background-size: 70% 70%;
  opacity:0;
  transition: opacity .12s ease;
}
.ui-check__input:checked + .ui-check__box::after{
  opacity:1;
  /* 2pxストローク風のチェックSVG（色は --chk-tick） */
  background-image:
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path d='M20 6L9 17l-5-5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
}

/* 不定（indeterminate）状態：細線を中央に */
.ui-check__input:indeterminate + .ui-check__box{
  background: var(--chk-active);
  border-color: var(--chk-active);
}
.ui-check__input:indeterminate + .ui-check__box::after{
  opacity:1;
  background-image:
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path d='M6 12h12' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'/>\
</svg>");
}

/* 無効 */
.ui-check__input:disabled + .ui-check__box{
  background:#f4f4f4;
  border-color: var(--chk-disabled);
  cursor:not-allowed;
}
.ui-check__input:disabled ~ .ui-check__label{
  color:#999; cursor:not-allowed;
}
.ui-check:has(.ui-check__input:disabled){
  cursor:not-allowed;
}

/* エラーステート（親に .is-invalid を付与して使う） */
.ui-check.is-invalid .ui-check__box{
  border-color:#d93025;
  box-shadow: 0 0 0 3px color-mix(in oklab, #d93025 20%, transparent);
}

/* ラベル */
.ui-check__label{
  display:inline-block;
  padding-top:2px; /* 視覚的中央揃え微調整 */
}



   @media screen and (max-width: 1000px) {
		 /* ====== カスタムチェックボックス（フル機能） ====== */
:root{
  --chk-size: 2.666666666666667vw;
  --chk-radius: 0px;
  --chk-border: #c9c9c9;
  --chk-bg: #fff;
  --chk-tick: #fff;
  --chk-active: #2bb673;     /* ブランド色に置換可 */
  --chk-hover: #25a065;
  --chk-focus: #137b47;
  --chk-disabled: #d8d8d8;
  --chk-label: #222;
}

/* ラッパー */
.ui-check{
  display:inline-flex;
  align-items:center;
  gap:2.666666666666667vw;
	margin: 5.066666666666666vw 0 0;
  margin-top:0;
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;
  user-select:none;
  line-height:1.4;
		 font-size : 4.266666666666667vw;

  color:var(--chk-label);
}
.check_dd{
	/*padding-bottom: 16.53333333333333vw*/
  padding-bottom:0;
}
		 
/* 視覚的には隠すが、フォーカス/スクリーンリーダーはそのまま */
.ui-check__input{
  position:absolute;
  inline-size: var(--chk-size);
  block-size: var(--chk-size);
  opacity:0;
  margin:0;
  /* 既に appearance を消していてもOK。ここでも保険で消す */
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
}

/* 見た目の箱 */
.ui-check__box{
  position:relative;
  inline-size: var(--chk-size);
  block-size: var(--chk-size);
  flex:0 0 var(--chk-size);
  border:1.5px solid var(--chk-border);
  border-radius: var(--chk-radius);
  background: var(--chk-bg);
	top: 0.8vw;
  box-shadow: 0 0 0 0 rgba(19,123,71,0); /* フォーカスリング用の土台 */
  transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease, transform .08s ease;
}

/* ホバー */
.ui-check:hover .ui-check__box{
  border-color: var(--chk-hover);
}

/* フォーカス（キーボード操作） */
.ui-check__input:focus-visible + .ui-check__box{
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--chk-focus) 30%, transparent);
  border-color: var(--chk-focus);
}

/* チェック状態 */
.ui-check__input:checked + .ui-check__box{
  background: var(--chk-active);
  border-color: var(--chk-active);
}

/* クリック時の小さな押下感 */
.ui-check__input:active + .ui-check__box{
  transform: scale(0.98);
}

/* チェックマーク（SVGを背景で描画：高DPIでもクッキリ） */
.ui-check__box::after{
  content:"";
  position:absolute;
  inset: 0;
  background-repeat:no-repeat;
  background-position:center;
  background-size: 70% 70%;
  opacity:0;
  transition: opacity .12s ease;
}
.ui-check__input:checked + .ui-check__box::after{
  opacity:1;
  /* 2pxストローク風のチェックSVG（色は --chk-tick） */
  background-image:
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path d='M20 6L9 17l-5-5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
}

/* 不定（indeterminate）状態：細線を中央に */
.ui-check__input:indeterminate + .ui-check__box{
  background: var(--chk-active);
  border-color: var(--chk-active);
}
.ui-check__input:indeterminate + .ui-check__box::after{
  opacity:1;
  background-image:
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path d='M6 12h12' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'/>\
</svg>");
}

/* 無効 */
.ui-check__input:disabled + .ui-check__box{
  background:#f4f4f4;
  border-color: var(--chk-disabled);
  cursor:not-allowed;
}
.ui-check__input:disabled ~ .ui-check__label{
  color:#999; cursor:not-allowed;
}
.ui-check:has(.ui-check__input:disabled){
  cursor:not-allowed;
}

/* エラーステート（親に .is-invalid を付与して使う） */
.ui-check.is-invalid .ui-check__box{
  border-color:#d93025;
  box-shadow: 0 0 0 3px color-mix(in oklab, #d93025 20%, transparent);
}

/* ラベル */
.ui-check__label{
  display:inline-block;
  padding-top:2px; /* 視覚的中央揃え微調整 */
}
}


/* 高コントラスト環境 */
@media (prefers-contrast: more){
  .ui-check__input:focus-visible + .ui-check__box{
    box-shadow: 0 0 0 3px #000;
  }
}

/* ダークモード（任意） */
@media (prefers-color-scheme: dark){
  :root{
    --chk-border: #555;
    --chk-bg: #121212;
    --chk-label: #f1f1f1;
  }
  .ui-check__input:disabled + .ui-check__box{
    background:#1b1b1b;
  }
}


.sub_btn{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
  background : #f29600;
  border-style : Solid;
  border-color : #FFFFFF;
  border-color : rgba(255, 255, 255, 1);
  border-width : 2px;
  border-radius : 25px;
  -moz-border-radius : 25px;
  -webkit-border-radius : 25px;
  box-shadow : 3.55px 3.55px 3.55px rgba(135, 135, 135, 0.3);
  filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=3.55, OffY=3.55, Color='#878787') ;
  font-weight : bold;
  font-size : 15px;
  letter-spacing : 0.75px;
  color : #FFFFFF;
	max-width: 350px;
	width: 50%;
	height: 50px;
}
.btn01{
		display: inline-flex;
	justify-content: center;
	align-items: center;
	margin: 0 10px;
	cursor: pointer;
  background : #f29600;
  border-style : Solid;
  border-color : #FFFFFF;
  border-color : rgba(255, 255, 255, 1);
  border-width : 2px;
  border-radius : 25px;
  -moz-border-radius : 25px;
  -webkit-border-radius : 25px;
  box-shadow : 3.55px 3.55px 3.55px rgba(135, 135, 135, 0.3);
  filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=3.55, OffY=3.55, Color='#878787') ;
  font-weight : bold;
  font-size : 15px;
  letter-spacing : 0.75px;
  color : #FFFFFF;
	max-width: 350px;
	width: 50%;
	height: 50px;
}

.back_btn{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
  background : #f29600;
  border-style : Solid;
  border-color : #FFFFFF;
  border-color : rgba(255, 255, 255, 1);
  border-width : 2px;
  border-radius : 25px;
  -moz-border-radius : 25px;
  -webkit-border-radius : 25px;
  box-shadow : 3.55px 3.55px 3.55px rgba(135, 135, 135, 0.3);
  filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=3.55, OffY=3.55, Color='#878787') ;
  font-weight : bold;
  font-size : 15px;
  letter-spacing : 0.75px;
  color : #FFFFFF;
	max-width: 350px;
		width: 50%;

	height: 50px;
}

   @media screen and (max-width: 1000px) {
		 .sub_btn{
			 width: 100%;
			   font-size : 4vw;
	height: 13.333333333333334vw;
  border-radius : 6.5vw;
  -moz-border-radius : 6.5vw;
  -webkit-border-radius : 6.5vw;

			 max-width: none
			 
		 }
		 		 .btn01{
			 width: 100%;
			   font-size : 4vw;
	height: 13.333333333333334vw;
  border-radius : 6.5vw;
  -moz-border-radius : 6.5vw;
  -webkit-border-radius : 6.5vw;
margin: 0 0 20px 0;

			 max-width: none
			 
		 }
		 
		 		 .back_btn{
			 width: 100%;
			   font-size : 4vw;
	height: 13.333333333333334vw;
  border-radius : 6.5vw;
  -moz-border-radius : 6.5vw;
  -webkit-border-radius : 6.5vw;
			 max-width: none
			 
		 }

}


input::placeholder,
textarea::placeholder {
  color: #A8AAAF; /* 好きな色 */
  opacity: 1;  /* Safari の薄すぎるデフォルトを上書き */
}

.form_box dl.confirm-list{
	max-width: 800px;margin-bottom: 0;
	border-bottom: 1px solid #35b600;
}
.form_box dl.confirm-list dt span{
	max-width: 580px;
	margin: 0 auto;
	font-size: 20px;
	padding: 20px 0 10px;
	display: block;
	color: #000
}


.form_box dl.confirm-list dd span{
	max-width: 580px;
	margin: 0 auto;
	font-weight: bold;
	font-size: 20px;
	padding: 10px 0 20px; 
	display: block;

}

.btn_box{
	display: flex;
	justify-content: center;
	column-gap: 40px;
	margin: 75px 0 0
}

   @media screen and (max-width: 1000px) {
		 .form_box dl.confirm-list{
			 margin-bottom: 6.133333333333333vw
		 }
.form_box dl.confirm-list dt span{
	max-width: 580px;
	margin: 0 auto;
	font-size: 4.266666666666667vw;
	padding: 0px 0 0;
	display: block;
	color: #000
}


.form_box dl.confirm-list dd span{
	max-width: 580px;
	margin: 0 auto;
	font-weight: bold;
	font-size: 4.266666666666667vw;
	padding: 0px 0 6.133333333333333vw; 
	display: block;

}

.btn_box{
	display: flex;
	flex-wrap: wrap;
	grid-row-gap: 6.666666666666667vw;
	justify-content: center;
	column-gap: 40px;
	margin: 12vw 0 0
}
		 
}


.thanks_box{
	margin-top: 70px;
}
.thanks_box h3{
	  font-weight : bold;
  font-size : 32px;
  line-height : 1.75;
  letter-spacing : 1.6px;
  color : #35B600;
	margin-bottom: 40px;
}
.thanks_box h4{
	  font-weight : bold;
  font-size : 28px;
  line-height : 1.75;
  letter-spacing : 1.6px;
  color : #35B600;
	margin-bottom: 40px;
}
.thanks_box p{
	font-size : 20px;
  line-height : 1.6;
  letter-spacing : 1px;
  color : #000000;
	margin-bottom: 35px;
}
.thanks_box p.thanks_last{
	margin-bottom: 90px
}
.thanks_box hr{
	max-width: 800px;
	border-top: 1px solid #35b600;
	margin: 0 auto 35px;
}

   @media screen and (max-width: 767px) {
		 .thanks_box{
	margin-top: 13.333333333333334vw;
  margin-top:0;
}
.thanks_box h3{
 font-size : 8.533333333333333vw;
	/*margin-bottom: 10.666666666666668vw;*/
  margin-bottom:10px;
}
.thanks_box h4{
 font-size : 5vw;
	margin-bottom: 10.666666666666668vw;
  margin-bottom:10px;
}
.thanks_box p{
	font-size : 4.266666666666667vw;
  line-height : 2;
	margin-bottom: 2em;
}
.thanks_box p.thanks_last{
	margin-bottom: 90px
}
.thanks_box hr{
	max-width: 800px;
	border-top: 1px solid #35b600;
	margin: 0 auto 2em;
}
}


.service_label{
	margin-right: 3em
}
