@charset "utf-8";
/* s-sampleRequest__flow */
.s-sampleRequest__flow{
  display: grid;
}
.s-sampleRequest__flow__img{
  position: relative;
}
.s-sampleRequest__flow li:not(:last-child) .s-sampleRequest__flow__img::after{
  content: "";
  display: inline-block;
  --this-mask: var(--data-icon-arrow-sm) no-repeat center center / 100%;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  background-color: var(--txt-c-base);
  aspect-ratio: 1;
  width: 15px;
  position: absolute;
}
.s-sampleRequest__flow__img img{
  border-radius: var(--bdrs-md);
  border: 1px solid var(--c-gray-200);
}
.s-sampleRequest__flow__ttl{
  color: var(--theme-c-main);
}
@media screen and (min-width: 768px){
  .s-sampleRequest__flow{
    grid-template-columns: repeat(3,1fr);
    --this-gap: var(--spc-40);
    gap: var(--this-gap);
  }
  .s-sampleRequest__flow li:not(:last-child) .s-sampleRequest__flow__img::after{
    top: 50%;
    transform: translate(50%, -50%);
    right: calc(0px - calc(var(--this-gap) / 2));
  }
  .s-sampleRequest__flow__ttl{
    font-size: var(--fz-22);
    margin-block: var(--spc-20) var(--spc-15);
  }
  .s-sampleRequest__flow__txt{
    font-size: var(--fz-14);
    line-height: 2;
  }
}
@media screen and (max-width: 767px){
  .s-sampleRequest__flow{
    --this-gap: 40px;
    gap: var(--this-gap);
  }
  .s-sampleRequest__flow li{
    display: grid;
    grid-template: auto 1fr / repeat(2,1fr);
    gap: 5px 20px;
  }
  .s-sampleRequest__flow__img{
    grid-row: span 2;
  }
  .s-sampleRequest__flow li:not(:last-child) .s-sampleRequest__flow__img::after{
    left: 50%;
    transform: translate(-50%, 50%) rotate(90deg);
    bottom: calc(0px - calc(var(--this-gap) / 2));
  }
  .s-sampleRequest__flow__ttl{
    font-size: 18px;
  }
  .s-sampleRequest__flow__txt{
    font-size: 12px;
  }
}

/* s-sampleRequest__major */
.s-sampleRequest__major{
  border-radius: var(--bdrs-md);
}
.s-sampleRequest__major__ttl{
  position: relative;
}
.s-sampleRequest__major__ttl::after{
  content: "";
  display: inline-block;
  --this-mask: url(/asset2025/images/common/repeat-line-sm.svg) repeat-x left bottom / 6px 2px;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  background-color: var(--theme-c-main);
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.s-sampleRequest__major__txt p span{
  color: var(--txt-c-emphasis);
}
@media screen and (min-width: 768px){
  .s-sampleRequest__major{
    display: grid;
    grid-template-columns: 1fr 250px;
    align-items: center;
    gap: var(--spc-40);
    padding: var(--spc-40) var(--spc-30);
  }
  .s-sampleRequest__major__ttl{
    display: flex;
    align-items: center;
    gap: var(--spc-10);
    padding-bottom: var(--spc-10);
    margin-bottom: var(--spc-20);
  }
  .s-sampleRequest__major__ttl span{
    font-size: var(--fz-18);
  }
  .s-sampleRequest__major__ttl strong{
    font-size: var(--fz-25);
  }
  .s-sampleRequest__major__txt p{
    font-size: var(--fz-14);
  }
}
@media screen and (max-width: 767px){
  .s-sampleRequest__major{
    padding: 20px;
  }
  .s-sampleRequest__major__ttl{
    padding-bottom: 10px;
    margin-bottom: 10px;
    text-align: center;
  }
  .s-sampleRequest__major__ttl span{
    font-size: 14px;
  }
  .s-sampleRequest__major__ttl strong{
    font-size: 20px;
  }
  .s-sampleRequest__major__txt{
    margin-bottom: 20px;
  }
  .s-sampleRequest__major__txt p{
    font-size: 12px;
  }
  .s-sampleRequest__major__img{
    width: 80%;
    margin-inline: auto;
  }
}
/* s-sampleRequest__product */
.s-sampleRequest__product{
  border-collapse: collapse;
}
.s-sampleRequest__product tr{
  display: grid;
}
.s-sampleRequest__product th{
  border-top: 1px solid var(--txt-c-base);
  background-color: var(--bg-c-beige);
}
.s-sampleRequest__product th:nth-child(2){
  text-align: left;
}
.s-sampleRequest__product td:first-child{
  text-align: center;
}
.s-sampleRequest__product td:nth-of-type(n+3){
  text-align: center;
}
.s-sampleRequest__product :is(th, td){
  border-bottom: 1px solid var(--txt-c-base);
}
.s-sampleRequest__product__delete{
  padding: 8px;
}
@media screen and (min-width: 768px){
  .s-sampleRequest__product tr{
    grid-template-columns: 55px 20fr 15fr 150px;
  }
  .s-sampleRequest__product caption{
    font-size: var(--fz-22);
    text-align: left;
    margin-bottom: var(--spc-20);
  }
  .s-sampleRequest__product :is(th, td){
    font-size: var(--fz-16);
    padding: var(--spc-20) var(--spc-20);
  }
}
@media screen and (max-width: 767px){
  .s-sampleRequest__product caption{
    font-size: 18px;
    text-align: center;
    margin-bottom: 15px;
  }
  .s-sampleRequest__product tr{
    grid-template-columns: 40px 2fr 1fr 50px;
  }
  .s-sampleRequest__product :is(th, td){
    font-size: 12px;
    padding: 15px 10px;
  }
}



.viewExpand{
  position: relative;
}
.viewExpand__overlay{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--view-expand-overlay-height);
  background: linear-gradient(180deg,rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 100%);
  pointer-events: none;
  z-index: 1;
}
.viewExpand__button{
  -webkit-appearance: none;
  border-radius: 0;
  border: none;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid #000;
  border-radius: 5px;
  background-color: #fff;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 250px;
  height: var(--view-expand-btn-height);
  font-size: 13px;
  z-index: 2;
  transition: .5s;
}
.viewExpand__button::after{
  content: "";
  display: inline-block;
  width: 13px;
  aspect-ratio: 1;
  --this-mask: var(--data-icon-dropdown) no-repeat center center / 100%;
  mask: var(--this-mask);
  -webkit-mask: var(--this-mask);
  background-color: var(--txt-c-base);
  margin-left: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}
.viewExpand.is-expanded .viewExpand__button{
  display: none;
}
@media (hover: hover){
  .viewExpand__button:hover{
    cursor: pointer;
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px){
  .viewExpand{
    --view-expand-btn-height: 60px;
    --view-expand-overlay-height: 100px;
  }
}
@media screen and (max-width: 767px){
  .viewExpand{
    --view-expand-btn-height: 50px;
    --view-expand-overlay-height: 100px;
  }
}

#sampleRequest_form{
	max-width: 700px;
	margin-inline: auto;
	padding-block: var(--spc-50);
	padding-left:20px;
	padding-right: 20px;
	margin: 0 auto;
	background-color: var(--bg-c-beige);
}
.sampleRequest_formarea{
	max-width: 520px;
	margin-inline: auto;
}
.sampleRequest_formarea > div{
	margin-bottom: 15px;
}
.sampleRequest_form__labelField input{
	width:100%;
}
.sampleRequest_form__labelField.Harffield input{
	width:190px;
}
button.js-submit_sampleRequest{
	width: var(--fs-btn-w);
	max-width: var(--fs-btn-maw);
	margin-inline: auto;
	background-color: var(--fs-btn-bg-c-primary);
	-webkit-appearance: none;
	border-radius: var(--bdrs-sm);
	border: none;
	min-height: var(--fs-btn-h);
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: unset;
	padding-block: 0;
	padding-inline: 20px;
	color: var(--c-white);
	font-size: 1.3em;
	transition: background-color 0.3s ease;
	cursor: pointer;
}
button.js-submit_sampleRequest:hover{
	background-color: #BA5B49;
}
.measure-radio input[type="radio"]{
	margin-right:6px;
}
.requiredMark {
	color: var(--txt-c-emphasis);
	position: relative;
	width: 5px;
	overflow: visible;
	margin-left: 10px;
}
.requiredMark::before {
	content: "*";
	display: block;
	font-size: 1.2em;
	text-indent: 0;
	position: absolute;
	top: -1px;
	right: 0;
	line-height: 1;
	letter-spacing: 0;
}
.terms-container {
  margin: 20px 0;
}
.terms-box {
  height: 200px;
  overflow-y: auto;
  border: 2px solid #ddd;
  border-radius: 4px;
  padding: 15px;
  background-color: #fafafa;
  font-size: 13px;
  line-height: 1.8;
}
.terms-title {
  font-weight: bold;
  color: #333;
  margin-bottom: 15px;
  font-size: 16px;
  text-align: center;
}
.terms-content {
  color: #555;
}
.terms-content ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.terms-content li {
  margin-bottom: 12px;
  padding-left: 8px;
  position: relative;
}
.terms-content li:before {
  content: "・";
  position: absolute;
  left: 0;
  color: #666;
}
.terms-content span.red{
	color:#bc0404;
}
