@charset "utf-8";
/* safari???Z?b?g */
input[type="button"],input[type="text"],input[type="submit"],textarea,select{
   -webkit-appearance: none;
   border-radius: 0;
   border: none;
   font-size: 16px;
	border-radius: var(--fs-input-bdrs);
}
input[type="text"],
textarea{
	display: block;
	width: 100%;
}
input[name="zip_1"]{
	width: 85px;
}
input[name="zip_2"],
input[name="pref"]{
	width: 100px;
}
label{
	cursor: pointer;
	user-select: none;
}
select{
	cursor: pointer;
	display: block;
	width: 100%;
	height: 100%;
}
#mainarea{
	margin-bottom: var(--GENERALSEC);
}
h1.g-heading{
	padding: 0;
}
.sec-ttl{
	text-align: center;
}
.contact-table *{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
.contact-table{
	border-collapse: collapse;
}
.contact-table th,
.contact-table td{
	display: block;
}
.contact-table .post-code{
	display: flex;
	align-items: center;
	gap: 10px;
}
.confirm-table td{
	background: #fff;
}
.contact-table th{
	text-align: left;
	font-weight: normal;
}
.contact-table th .must::after{
	content: '必須';
	background-color: #cd0505;
	color: var(--c-white);
	font-size: 8px;
	border-radius: 3px;
	margin-left: 3px;
	letter-spacing: 0;
	padding: 2px 7px 3px;
	position: relative;
	top: -2px;
}
.contact-table td p{
	width: 100%;
}
textarea#option{
	height: 130px;
}
textarea#comment{
	height: 250px;
}
.contact-table td.choice-area{
	width: 100%;
	display: flex;
	flex-direction: column;
}
.choice-area input{
	display: inline-block;
}
.choice-area li:not(:last-child){
	margin-bottom: 3px;
}
.check-label > input{
	margin-right: 5px;
	position: relative;
	top: 1px;
}
.select-area-td{
	justify-content: flex-start;
}
.select-area{
	width: 50%;
	margin: 0 auto 0 0;
	min-width: 220px;
	background-color: var(--fs-input-bg-c);
	border-radius: var(--fs-input-bdrs);
	position: relative;
}
.select-area::after{
	content: "";
	display: inline-block;
	background: url(../images/arrow.svg) no-repeat;
	background-size: contain;
	width: 12px;
	height: 12px;
	position: absolute;
	right: 15px;
	top: 15px;
	z-index: 1;
}
.select-area select{
	padding: 10px;
	position: relative;
	background-color:transparent;
	z-index: 2;
}
.to-top,
.sendbutton{
	margin: 0 auto;
	width: 90%;
	max-width: 300px;
}
.to-top a,
.sendbutton input{
	width: 100%;
	display: block;
	text-align: center;
	padding: 15px 0;
	background: #000;
	border: 1px solid #000;
	border-radius: 70px;
	color: #fff;
	cursor: pointer;
	transition: .5s all;
}
.bac{
	text-align: center;
	margin-top: 10px;
}
.bac a{
	text-decoration: underline;
	color: #333;
	transition: .5s all;
}
.complete_p{
	text-align: center;
}
.confirm-table td{
	border: 1px solid #ddd;
	padding: 10px;
	min-height: 40.5px;
}
.contact-table td.harf{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 10px;
}
.check-label[for="check-pp"]{
	display: block;
	width: fit-content;
	margin: 0 auto 10px;
}

.contact-table .data-btn input:nth-child(n+2){
	margin-left: 20px;
}

@media screen and (min-width: 768px){
	.contact-form{
		width: 720px;
		margin: 0 auto;
	}
	.contact-table{
		width: 600px;
		margin: 0 auto 50px;
	}
	.contact-table th{
		margin-bottom: 5px;
		font-size: 14px;
	}
	.contact-table td{
		margin-bottom: 30px;
	}
	.contact-table input,
	.contact-table textarea{
		padding: 10px;
	}
	.to-top a:hover,
	.sendbutton input:hover{
		color: #000;
		background: #fff;
	}
	.bac a:hover{
		opacity: 0.7;
	}
	.complete_p{
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 767px){
	#mainarea{
		margin-top: 40px;
	}
	.contact-form{
		width: var(--INNER_WIDTH);
		margin: 0 auto;
		padding: 20px 0;
	}
	.contact-table{
		width: 100%;
		margin: 0 auto 30px;
	}
	.contact-table th,
	.contact-table td{
		width: 90%;
		margin: 0 auto;
	}
	.contact-table tr{
		padding: 15px 15px 15px 15px;
	}
	.contact-table th{
		font-size: 14px;
		text-align: left;
		margin-bottom: 5px;
	}
	.contact-table td{
		margin-bottom: 15px;
	}
	.confirm-table td{
		min-height: 44px;
	}
	.contact-table input,
	.contact-table textarea{
		padding: 7px;
	}
	.complete_p{
		margin-bottom: 30px;
	}
}


/* ???????G???[?\?? */
.error-field {
	border: 1px solid #dc3b3b !important;
}
.error-message {
	color: #dc3b3b;
	font-size: 12px;
	margin-top: 5px;
}


/* 送信ボタン */
.g-btn {
    width: 100%;
	margin: 0 auto 40px;
}
.g-btn > button {
	background-color: #000;
	color: #fff;
}

@media screen and (min-width: 768px) {
.g-btn {
	max-width: 300px;
}
.g-btn > button {
	min-height: 50px;
}
}

@media (hover: hover) {
    .g-btn > a:hover,
	.g-btn > button:hover{
        opacity: 1;
        transition: .5s;
	}
	.g-btn > button:hover {
		opacity: 1;
		color: #000;
		background-color: #fff;
	}
}

/* お問い合わせ完了ページ */
.complete{
	width: fit-content;
	margin: 0 auto;
	padding-block: 60px;
}
.complete-ttl{
	text-align: center;
}
@media screen and (max-width: 768px) {
	.complete{
		width: 90%;
		padding-block: 40px;
	}
}

.t_120 {
	font-size: 120%;
}
.t_b{
	font-weight: bold;
}
.t_dred02{
	color: #990000;
}

.formttl{
	padding: 5px 20px;
	background-color: var(--theme-c-sub);
	color: var(--c-white);
}
.formflex{
	display: grid;
	text-align: center;
	align-items: end;
}
.formflex a{
	font-size: 30px;
	font-family: var(--ff-en);
	color: var(--theme-c-sub);
	line-height: 1;
}
.formflex:first-child{
	margin-bottom: 40px;
}
.formbox{
	background-color: var(--c-white);
}
@media screen and (min-width: 768px) {
  .formflex{
	grid-template-columns: 1fr 1fr;
  }
  .formttl{
	font-size: var(--fz-20);
  }
  .formbox{
	padding: 40px;
}
}
@media screen and (max-width: 767px) {
	.formbox{
		padding: 20px;
	}
	.formflex{
	gap: 5px;
  }
}

.contact-table th.table-ttl{
	font-size: 1.2em;
	margin-bottom: 30px;
	position: relative;
	padding-left: 15px;
	font-weight: 600;
}
.contact-table th.table-ttl::before{
	content: "";
	width: 1px;
	height: 100%;
	border: 1px solid var(--theme-c-sub);
	background-color: var(--theme-c-sub);
	position: absolute;
	left: 0;
	top: 0;
}
.contact-table td.s-mgb100{
	margin-bottom: 100px;
}
::placeholder {
   color: #aaa;
   font-size: 0.9em;
}
@media screen and (max-width: 767px) {
  .contact-table td.s-mgb100{
	margin-bottom: 60px;
}
}

.g-recommendedPoint{
	background-color: #fff;
}


.s-uniform-contact{
  background-color: var(--c-white);
  position: relative;
  margin: 0 auto;
}
.s-color-beige{
  color: var(--theme-c-sub);
}
.s-uniform-contact::before{
  content: "";
  background-image: url(/asset2026/images/freepage/uniform/uniform-contact.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  display: block;
  bottom: 0;
}
.s-uniform-contact a{
  font-family: var(--ff-en);
  color: var(--theme-c-sub);
  font-size: var(--fz-60);
  position: relative;
  line-height: 1.5;
  letter-spacing: .06em;
}
.s-uniform-contact a::before{
  content: "";
  background-image: url(/asset2026/images/freepage/uniform/tel.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.s-uniform-contact > .s-uniform__subttl.s-color-beige{
  margin-bottom: 0;
}
.s-uniform p.s-uniform__subttl {
    font-size: var(--fz-16);
    font-weight: 600;
}
@media screen and (min-width: 768px) {
  .s-uniform-contact{
    width: 100%;
    max-width: 800px;
    padding: 30px 50px;
  }
  .s-uniform-contact::before{
    width: 170px;
    height: 100%;
    min-height: 140px;
    right: 30px;
  }
  .s-uniform-contact a{
    padding-left: 50px;
    font-size: var(--fz-60);
  }
  .s-uniform-contact a::before{
    width: 45px;
    height: 45px;
  }
}
@media screen and (max-width: 767px) {
  .s-uniform-contact{
    padding: 20px;
    width: var(--inner-w);
  }
  .s-uniform-contact::before{
    width: 90px;
    height: 130px;
    right: 0;
  }
  .s-uniform-contact a{
    padding-left: 25px;
    font-size: 38px;
  }
  .s-uniform-contact a::before{
    width: 20px;
    height: 20px;
  }
  .s-uniform-contact p{
    width: 75%;
  }
}
.s-uniform__subttl{
    font-size: var(--fz-16);
    font-weight: 600;
	margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .g-headingContainer--categorylv1{
	margin:40px auto 60px;
}
form{
	margin-bottom: 120px;
}
}
@media screen and (max-width: 767px) {
      .g-headingContainer:has(h1.g-heading) {
        margin: 40px auto 70px;
    }
	form{
	margin-bottom: 60px;
}
}

.choice-area--checkbox label{
	font-size: 0.8em;
}