@charset "utf-8";
body{
  width: 100%;
  /*min-width: 1020px;*/
  /*min-width: 1240px;*/
}
.center {text-align:center;}
.right {text-align:right;}

#wrapMain {padding: 0;}

.section.wrap_holiday {
  border: 1px solid #cf0e31;
  padding: 2em 3em;
  margin-bottom: 70px;
}
.section.wrap_holiday p {margin-bottom: 0;}

/* page title */
.ttl {margin-bottom: min(8vw, 90px);}
.ttl h1 {
  color: #fff;
  font-size: clamp(2.1rem, 5.47vw, 4.2rem);
  font-weight: normal;
  text-align: center;
  width: 100%;
  height: min(22vw, 180px);
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-image: url(../images/ttl_catalog.jpg);
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
}
.ttl h1 span {
  font-size: clamp(1.3rem, 2.214vw, 1.7rem);
  display: block;
}
@media screen and (max-width:640px){
  .ttl h1 {
    font-size: clamp(1.7rem, 4.428vw, 3.4rem);
    height: clamp(100px, 20vw, 140px);
  }
  .ttl h1 span {font-size: clamp(1.3rem, 4.285vw, 1.7rem);}
}

/*common*/
.section {
  width: calc(100% - 3vw);
  max-width: 1092px;
  margin: 0 auto 30px;
}
.section::after {content: '';}

.contact_list h3{
 position:relative;
 /*font-size: 1.8rem;*/
	font-size: clamp(0.9rem, 1.838vw, 1.8rem);
 margin: 75px 0 20px 0 ;
 font-weight: bold ;
 padding:0 0 8px 20px ;
 border-bottom: 1px solid #d7d7d7 ;
}

.contact_list h3::before{
 content:"";
 display:inline-block;
 width:5px;
 height: 30px ;
 background-color:#cf0e31;
 position:absolute;
 top:0px;
 left:0px;
}

.contact_list h4{
 font-size: 1.6rem;
   color:#cf0e31;
}

.topics_color2,
.contact_list {font-size: clamp(1.2rem, 1.82vw, 1.4rem);}
.topics_color2,
.red {color: #cf0e31;}

.flex {
  display: flex;
  flex-wrap: wrap;
}
.flex.center {
  justify-content: center;
}

@media screen and (max-width:640px){
  .topics_color2,
  .contact_list {
    font-size: clamp(1.2rem, 2.865vw, 2.2rem);
  }
	.contact_list h3{
		font-size: clamp(1.8rem, 4.688vw, 3.6rem);
	}
}
/*
.contact_list {
  font-size: 1.4rem;
  width: 1092px;
  margin: 80px auto 0 auto;
  padding-bottom: 50px;
}
.contact_list::after {content: '';}
*/


/* from */
/*******************/
.form_dl {
  font-size: clamp(1.2rem, 1.82vw, 1.4rem);
  margin-bottom: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 1px solid #b3b3b3;
}
.form_dl._inner {
	margin-top: 0;
	margin-bottom: 0;
	/*flex-direction: column;*/
	border-bottom: none;
}

.form_dl dt {
  width: 300px;
  padding: 16px 24px 8px;
  background-color: #e9e4dd;
  border-top: 1px solid #b3b3b3;
  border-left: 1px solid #b3b3b3;
}
.form_dl dd {
  width: calc(100% - 300px);
  padding: 12px 22px ;
  border: 1px solid #b3b3b3;
  /*border-left: none;*/
  border-bottom: none;
}
.form_dl._inner dt,
.form_dl._inner dd {
	/*width: 100%;*/
	background-color: #fff;
	border:none;
	padding: 10px;
}
.form_dl._inner dt {
	width: 12rem;
}
.form_dl._inner dd {
	width: calc(100% - 12rem);
}

.form_dl dt em {
  color:#cf0e31;
  font-size: clamp(1.1rem, 1.563vw, 1.2rem);
  font-style: normal;
  padding: 3px 4px;
  margin-left: 5px ;
  border: 1px solid #cf0e31 ;
}
.form_dl dd .txt + .txt {margin-top: 5px;}
.form_dl dd .flex {align-items: center;}
.form_dl dd .flex .wrap {width: 2.6em;}
.form_dl dd .flex .wrap.__02 {margin-left: 2em;}

#eigyosho {margin-top: 10px;}
#eigyosho .flex {
  justify-content: flex-start;
}
#eigyosho .flex span {width: 8em;}

textarea,
input.input_txt {
  color: #000;
  font-size: clamp(1.2rem, 1.82vw, 1.4rem);
  padding: .3em .5em ;
  border: 1px solid #000;
  border-radius: 3px;
}
::placeholder{color: #919191;}
input.__long  {width: 100%;}
input.__mdl   {width: 70%;}
input.__short {width: 30%;}

:root {
  --width-max:100%;
  --width-mdl1:min(100%, 380px);
  --width-mdl2:min(70%,  250px);
  --width-mdl3:min(70%,  150px);
  --width-short1:clamp(110px, 40%,  120px);
  --width-short2:clamp(60px, 15%, 90px);
}

input[name^=url],
input[name^=address] {width: 100%;}

input[name^=company],
input[name^=busyo],
input[name^=houjin_eigyo],
input[name^=mail] {width: var(--width-mdl1);}

input[name^=houjin_tanto] {width: var(--width-mdl2);}

input[name=tel] {width: var(--width-mdl3);}

input[name^=houjin_jiki],
input[name^=name],
input[name^=kana] {width: var(--width-short1);}

input[name^=zip] {
  text-align: center;
  width: var(--width-short2);
}
textarea {
  width: 100%;
  height: 130px;
  margin-top: 5px;
}
select {
  padding: .3em .5em ;
  background-color: #fff;
  border: 1px solid #000;
  border-radius: 3px;
}
.btn_address {
  padding: 6px 20px;
  margin-left: 30px;
  background-color: #e4e4e4;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: all .4s;
}
.btn_address:hover {opacity: .6;}

@media screen and (max-width:800px) {
  .form_dl dt {width: 30vw;}
  .form_dl dd {width: calc(100% - 30vw);}
}
@media screen and (max-width:640px) {
  .form_dl {
    font-size: clamp(1.2rem, 2.865vw, 2.2rem);
    border-bottom: 1px solid #b3b3b3;
    margin-bottom: min(8vw, 60px);
  }
  .form_dl dt em {
    font-size: clamp(1.2rem, 2.865vw, 2.2rem);
    padding: 0 5px 0 3px;
  }
  .form_dl dt {
    width: 100%;
    border-right: 1px solid #b3b3b3;
  }
  .form_dl dd {
    width: 100%;
    border-left: 1px solid #b3b3b3;
    padding: min(2.666vw, 20px);
  }
  .form_dl dd:last-of-type {
  }
  input[name^=company],
  input[name^=busyo] {width: 100%;}
  option,
  textarea,
  input.input_txt {font-size: clamp(1.2rem, 2.865vw, 2.2rem);}

  .btn_address {
    font-size: clamp(1.2rem, 2.865vw, 2.2rem);
    margin-left: min(5.333vw, 40px);
  }
  .form_dl dd .flex .wrap.__02 {margin-left: 1.5em;}
}
@media screen and (max-width:660px) {
	.form_dl dd > span {display: block;}
	.form_dl dd > span + span {
		margin-top: 10px;
	}
}
@media screen and (max-width:360px) {
	.form_dl._inner dt {
		width: 100%;
		padding-bottom: 0;
	}
}
@media screen and (max-width:350px) {
  .form_dl dd .flex .wrap.__02 {margin-left: 0em;}
  input[name^=name],
  input[name^=kana] {
    margin-right: 40vw;
  }
  .form_dl dd .flex .wrap.__01,
  .form_dl dd .flex .wrap.__01 + input {margin-bottom: 10px;}
}


.radio-style input[type="radio"],
.check-style input[type="checkbox"]{display: none;}
.radio-style input[type="radio"]+label,
.check-style input[type="checkbox"]+label{display:inline-block;padding-left: 34px;position: relative;cursor: pointer;}
.radio-style input[type="radio"][disabled]+label,
.check-style input[type="checkbox"][disabled]+label{cursor:auto;}
.radio-style input[type="radio"]+label:before,
.check-style input[type="checkbox"]+label:before{position: absolute;top:50%;left: 0;content: "";display: block;width:16px;height:16px;margin-top:-10px;border: 1px solid #000;transition: all 0.2s;}
.radio-style input[type="radio"]+label:before{border-radius: 10px;background:#fff;box-shadow:0px 0px 0px 3px #fff inset;}
.radio-style input[type="radio"]:checked+label:before{background: #cf0e31;background:-webkit-radial-gradient(center, ellipse cover, #cf0e31 98%,#cf0e31 99%);background: radial-gradient(ellipse at center, #cf0e31 98%,#cf0e31 99%);}
.check-style input[type="checkbox"]+label:after{content: "";display: block;transition: all 0.2s;transform: rotate(40deg);position:absolute;top: -10px;left:6px;width:8px;height: 16px;border-bottom: 4px solid #cf0e31;border-right:4px solid #cf0e31;opacity: 0;margin: auto;bottom: 0;}
.check-style input[type="checkbox"]:checked+label:after{opacity: 1;}
.check-style[data-color="blue"] label{color:#cf0e31;font-weight: bold;}
.check-style[data-color="blue"] input[type="checkbox"]+label:before,
.radio-style[data-color="blue"] input[type="radio"]+label:before{border-color:#cf0e31;box-shadow: none;}
.radio-style[data-color="blue"] input[type="radio"]:checked+label:before{background: #cf0e31;background:-webkit-radial-gradient(center, ellipse cover, #fff 37%,#cf0e31 40%);background: radial-gradient(ellipse at center, #fff 37%,#cf0e31 40%);}


#upon-use{margin-bottom: 25px;}
#personal-info {margin-bottom: 60px;}
#upon-use,#personal-info{padding: 30px 30px; background: #fafafa ;}
#personal-info ul{margin-bottom: 20px; list-style: none ;}
#upon-use p{display: block;font-size: clamp(1.2rem, 1.82vw, 1.4rem);}
#upon-use h3,#personal-info h3{display: block;margin-bottom:16px;padding-bottom: 16px;border-bottom: 1px solid #666; font-size: clamp(1.4rem, 2.214vw, 1.7rem); color: #000 ;}
#personal-info h3 em {
  font-size: clamp(1.1rem, 1.563vw, 1.2rem);
  margin-left: 5px;
  font-style: normal;
  color:#cf0e31;
  border: 1px solid #cf0e31 ;
  padding: 3px ;
}
#personal-info label,
#personal-info p {font-size: clamp(1.2rem, 1.82vw, 1.4rem);}
#personal-info p.arrow{
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  vertical-align: middle;
  text-decoration: none;
 margin-bottom: 20px ;
}
#personal-info p.arrow::before{ 
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

#personal-info p.arrow2::before{
  left: 4px;
  box-sizing: border-box;
  width: 6px;
  height: 6px;
  border: 6px solid transparent;
  border-left: 6px solid #cf0e31;
}

@media screen and (max-width:640px) {
  #upon-use h3,
  #personal-info h3 {
    font-size: clamp(1.5rem, 3.908vw, 3rem);
    padding-bottom: min(2vw, 15px);
    margin-bottom: min(4vw, 30px);
  }
  #personal-info h3 em{font-size: clamp(1.2rem, 2.865vw, 2.2rem);}
  #upon-use p,
  #personal-info p {font-size: clamp(1.2rem, 2.865vw, 2.2rem);}
}

.btn-c {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.btn_back,
.btn_submit {
  font-size: clamp(1.3rem, 2.345vw, 1.8rem);
  text-decoration: none;
  border-radius: 0;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: all .4s;
  margin: 0 16px;
}
.btn_submit {
  color: #fff;
  padding: 17px 42px;
  min-width: 178px;
  border: none;
  background-color: #cf0e31;
}
.btn_back {
  color: #000;
  padding: 10px 50px;
  background-color: #fff;
  border: 1px solid #c1c1c1;
}
.btn_back:hover,
.btn_submit:hover {opacity: .6;}

.btn_back::before,
.btn_back::after,
.btn_submit::before,
.btn_submit::after {
  content: '';
  display: block;
  position: absolute;
}
.btn_back::before,
.btn_submit::before {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  left: 14px;
  top: calc(50% - (18px / 2));
  z-index: 2;
}
.btn_submit::before {background-color: #fff;}
.btn_back::before {background-color: #dbdad8;}

.btn_back::after,
.btn_submit::after {
	height: 0;
	width: 0;
  border-style:solid;
  z-index: 3;
  top: calc(50% - 3px);
}
.btn_submit::after {
  left: 21px;
	border-width: 3px 0 3px 6px;
  border-color: transparent transparent transparent #cf0e31;
}
.btn_back::after   {
  left: 19px;
	border-width: 3px 6px 3px 0;
  border-color: transparent #cf0e31 transparent transparent;
}

@media screen and (max-width:640px) {
  .btn_back,
  .btn_submit {
    font-size: clamp(1.2rem, 3.126vw, 2.4rem);
    padding-top: min(2vw, 15px);
    padding-bottom: min(2vw, 15px);
    margin: 0 min(3.333vw, 25px);
  }
  .btn_submit {
    min-width: auto;
    padding-left: min(10.666vw, 80px);
    padding-right: min(4.8vw, 36px);
  }
  .btn_back {
    padding-left: min(9.333vw, 70px);
    padding-right: min(3.333vw, 25px);
  }
  .btn_back::before,
  .btn_submit::before {
    width: min(4.2666vw, 32px);
    height: min(4.2666vw, 32px);
    top: calc(50% - (min(4.2666vw, 32px) / 2));
  }
  .btn_submit::before {
    left: min(4.8vw, 36px);
  }
  .btn_back::before {
    left: min(3.6vw, 27px);
  }
  .btn_submit::after {
    border-width: .8vw 0 .8vw 1.4vw;
    left: min(6.4vw, 48px);
    top: calc(50% - .8vw);
  }
  .btn_back::after  {
    border-width: .8vw 1.4vw .8vw 0;
    left: min(4.8vw, 36px);
    top: calc(50% - .8vw);
  }
}
@media screen and (max-width:460px) {
  .btn_back,
  .btn_submit {
    font-size: clamp(1.4rem, 3.644vw, 2.8rem);
    /*width: 140px;*/
  }

  .btn_back::before,
  .btn_submit::before {
    width: 20px;
    height: 20px;
    top: calc(50% - 10px);
  }
  .btn_submit::before {left: 18px;}
  .btn_back::before   {left: 12px;}
  .btn_submit::after {
    border-width: 4px 0 4px 8px;
    left: 25px;
    top: calc(50% - 4px);
  }
  .btn_back::after  {
    border-width: 4px 8px 4px 0;
    left: 17px;
    top: calc(50% - 4px);
  }

}

/*captcha*/
.captcha-box {
  margin: 20px 0;  
}
.captcha-box #captcha {
  width: 166px;
  height: auto;
  margin-right: 30px;
}
.btn_change {
  color: #000;
  text-decoration: none;
  padding: 6px 20px;
  background-color: #e4e4e4;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: all .4s;
}
.btn_change:hover {opacity: .6;}
input[name=captcha_code] {width: var(--width-short1);}

/*finish*/
.section.__finish {
  text-align: center;
  margin-top: 70px;
  margin-bottom: 100px;
}
.section.__finish .txt.mb {margin-bottom: 1em;}
@media screen and (max-width:640px) {
  .section.__finish {
    text-align: left;
    margin-top: min(5.0666vw, 40px);
    margin-bottom: min(10.666vw, 80px);
  }
}


/*old
/* from */
/*******************/
#contact_caption {margin-bottom:20px;}

.form p.red,
.form p span,
.form td > span {color:#cf0e31;}

.form th span {
 font-size: 1.2rem ;
 margin-left: 5px ;
   color:#cf0e31;
   border: 1px solid #cf0e31 ;
padding: 3px ;}

col.Item {width: 20%;}
col.Comment {width: 80%;}
.contact_list table {margin-bottom: 15px ;}





#Form input[type=text] {padding:1px 2px;}
#Form textarea {padding:2px;}


input[name=sei] {width:150px;margin:0 20px 0 12px;}
input[name=mei] {width:150px;margin-left: 12px;}

input[name=seikana] {width:150px;margin-right:15px;}
input[name=meikana] {width:150px;}

input[name=zip1],
input[name=zip2] {width:50px;text-align:center;}

input[name=city],
input[name=addr],
input[name=bldg] {width:min(100%, 340px);}

input[name=tel1],
input[name=tel2],
input[name=tel3] {width:70px;text-align:center;}


input[name=item_size],
input[name=email],
input[name=email2] {width:250px;}

input[name=buy_date] {width: 250px;}
input[name=item_name] {width: 250px;}
textarea {width:98%;}


@media screen and (max-width:660px) {
	input[name=sei] ,
	input[name=mei] {
		width: max(150px, 50vw);
		margin-left: 12px;
	}
	input[name=seikana],
	input[name=meikana] {
		width: max(150px, 50vw);
	}
}
@media screen and (max-width:360px) {
	input[name=city],
	input[name=addr],
	input[name=bldg] {width:min(70vw, 600px);}
}

ul.list {
	list-style:disc;
	margin-left:15px;
	margin-bottom:25px;
}
.list li {
	font-size:1.2em;
}
.submit input {
	font-size:1.3em;
	cursor:pointer;
}
#contact_sub_btn {
	padding: 18px 0 18px;
}
#contact_sub_btn a:link,#contact_sub_btn a:active,#contact_sub_btn a:visited {
	background: url(images/arrow_02.jpg) no-repeat left center;
	padding-left: 12px;
	font-weight:bold;
	color: #3c7dab;
}
#contact_sub_btn a:hover {
	background: url(images/arrow_02.jpg) no-repeat left center;
	padding-left: 12px;
	font-weight:bold;
	color: #f60;
}

.radio-style input[type="radio"],
.check-style input[type="checkbox"]{display: none;}
.radio-style input[type="radio"]+label,
.check-style input[type="checkbox"]+label{display:inline-block;padding-left: 34px;position: relative;cursor: pointer;}
.radio-style input[type="radio"][disabled]+label,
.check-style input[type="checkbox"][disabled]+label{cursor:auto;}
.radio-style input[type="radio"]+label:before,
.check-style input[type="checkbox"]+label:before{position: absolute;top:50%;left: 0;content: "";display: block;width:16px;height:16px;margin-top:-10px;border: 1px solid #000;transition: all 0.2s;}
.radio-style input[type="radio"]+label:before{border-radius: 10px;background:#fff;box-shadow:0px 0px 1px 3px #fff inset;}
.radio-style input[type="radio"]:checked+label:before{background: #f00;background:-webkit-radial-gradient(center, ellipse cover, #f00 98%,#f00 99%);background: radial-gradient(ellipse at center, #f00 98%,#f00 99%);}
.check-style input[type="checkbox"]+label:after{content: "";display: block;transition: all 0.2s;transform: rotate(40deg);position:absolute;top: -10px;left:6px;width:8px;height: 16px;border-bottom: 4px solid #f00c;border-right:4px solid #f00;opacity: 0;margin: auto;bottom: 0;}
.check-style input[type="checkbox"]:checked+label:after{opacity: 1;}
.check-style[data-color="blue"] label{color:#f00;font-weight: bold;}
.check-style[data-color="blue"] input[type="checkbox"]+label:before,
.radio-style[data-color="blue"] input[type="radio"]+label:before{border-color:#f00;box-shadow: none;}
.radio-style[data-color="blue"] input[type="radio"]:checked+label:before{background: #f00;background:-webkit-radial-gradient(center, ellipse cover, #fff 37%,#f00 40%);background: radial-gradient(ellipse at center, #fff 37%,#f00 40%);}


#upon-use{ margin-top: 25px ;}
#upon-use,#personal-info{padding: 30px 30px; background: #fafafa ; margin-bottom: 15px ;}
#personal-info ul{margin-bottom: 20px; list-style: none ;}
#upon-use p{display: block;}
#upon-use h4,#personal-info h4{display: block;margin-bottom:16px;padding-bottom: 16px;border-bottom: 1px solid #6666; font-size: 120%; color: #000 ;}
#personal-info h4 span{
 font-size: 1.2rem ;
 margin-left: 5px ;
   color:#f00;
   border: 1px solid #f00 ;
padding: 3px ;}
#personal-info p.arrow{
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  vertical-align: middle;
  text-decoration: none;
 margin-bottom: 20px ;
}
#personal-info p.arrow::before{ 
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

#personal-info p.arrow2::before{
  left: 4px;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 4px solid transparent;
  border-left: 4px solid #f00;
}

.center {text-align:center;}
.right {text-align:right;}

.center li {display:inline-block;margin:0 3px 10px;}
.submit {
 margin: 30px auto ;
 padding-top: 20px ;

}
.submit input {
	font-size:1.3em;
	cursor:pointer;
}
.btn_submit,.btn_send {
 color: #fff ;
 font-weight: bold ;

  display: block;
  width: 176px;
  height: 53px;
  border: none;
  background: url(./images/btn_bk.gif) no-repeat 0 0;
}

.btn_submit:hover,.btn_clear:hover,.btn_send:hover,.btn_back:hover{opacity: 0.7;}

.btn_clear,.btn_back {
  display: block;
  width: 140px;
  height: 46px;
  border: none;
 font-weight: bold ;
 margin-right: 20px ;
  background: url(./images/btn_clear_bk.gif) no-repeat 0 0;
 }
