*{
  transition: none;
  transition: var(--tra-ease);
}
#sec_form{
  padding-top: 240px;
  padding-bottom: 170px;
}
h2{
  display: flex;
  justify-content: center;
  align-items: center;
}
.icon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(100%, 56px);
  height: auto;
  background: var(--blue);
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  margin-right: 1em;
}
.icon.mail svg{
  width: min(66.96%, 37px);
  height: auto;
}
.icon.tel svg{
  width: min(50%, 28px);
  height: auto;
  transform: rotate(10deg);
}
.mainInner{
  background: #fff;
  /* color: var(--blue); */
  border-radius: 20px;
  margin-top: 40px;
  padding: 50px 15px;
}
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  display: inherit;
  -webkit-appearance: button;
  cursor: pointer;
  border-style: none;
  color: inherit;
  margin: 0 auto;
}
textarea {
  resize: vertical;
}
select{
  padding: 2px;
}
#contactForm{
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
.inputArea{
  position: relative;
  display: table;
  width: 100%;
  padding: 2% 0;
  border-bottom: solid 1px var(--blue);
  box-sizing: border-box;
}
.inputArea.borderTop{
  border-top: solid 1px var(--blue);
}
.inputArea .ttl,
.inputArea .inputData{
  display: table-cell;
  vertical-align: top;
}
.inputArea .ttl{
  position: relative;
  width: 37%;
  font-size: 1.25rem;
  font-weight: bold;
}
.inputArea.required .ttl:after{
  position: absolute;
  display: block;
  content: "必須";
  color: #fff;
  background: #f00;
  right: 8px;
  top: 6px;
  font-size: .875rem;
  line-height: 1.571em;
  font-weight: normal;
  padding: 0px 0.5em;
  border-radius: 2px;
}
.inputArea .inputData{
  width: 63%;
}
.inputArea input[type="text"],
.inputArea textArea{
  width: 100%;
  border: solid 1px var(--blue);
  border-radius: 3px;
  box-sizing: border-box;
  padding: 10px;
}
/* .inputArea .still{
  background: #fff6f6;
} */
input[type="radio"] {
  position: relative;
  appearance: none;
  outline: none;
  cursor: pointer;
  width: 18px;
  height: 18px;
  margin-bottom: -2px;
  margin-left: 0;
  padding-left: 21px;
}
input[type="radio"]::before {
  width: 16px;
  height: 16px;
  background: #fff;
  border: solid 1px var(--blue);
  left: 2px;
}
input[type="radio"]::before,
input[type="radio"]::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
}
input[type="radio"]::after {
  width: 14px;
  height: 14px;
  left: 11px;
  top: 50%;
  background: var(--blue);
  transform: translate(-50%, -50%);
  opacity: 0;
}
input[type="radio"]:checked::after {
  opacity: 1;
}
.inputArea .errMsg{
 color: #f00;
 font-size: 80%;
}
.inputArea textArea{
 height: 150px;
}
.inputArea label{
  display: inline-flex;
  align-items: center;
  font-size: 1.125rem;
  margin-right: 1em;
  padding-top: 1px;
}
.privacy{
  margin-top: 50px;
}
.privacy .text{
  overflow-y: scroll;
  height: 200px;
  border: solid 1px var(--blue);
  border-radius: 3px;
  line-height: 1.5;
  margin-top: 10px;
  margin-bottom: 50px;
  padding: 20px;
}
.btnSubmit{
  text-align: center;
  padding: 10px 0px;
}
.btnSubmit span{
 display: inline-block;
 padding: 10px 50px;
 background: #eee;
 color: #fff;
 border-radius: 4px;
 opacity: 0;
 visibility: hidden;
}
.btnSubmit span.active{
 background: var(--blue);
 opacity: 1;
 visibility: visible;
 cursor: pointer;
}
.btnSubmit span.active:hover{
 /* background: #55ccff; */
 opacity: .5;
}
.addressArea{
 padding: 10px;
 border:solid 1px #eee;
}
.tabNames li{
 display: inline-block;
 background: #eee;
 padding: 5px 20px;
 cursor: pointer;
}
.tabNames li:hover{
 background: #fEE;
}
.tabNames li.active{
 background: #fcc;
 color:#e60012;
 font-weight: bold;
 text-shadow: 1px 1px 0px #fff;
}
.tabDatas{
 border:solid 4px #fcc;
 padding: 10px;
}
.tabDatas li{
 display:none;
}
.tabDatas li.active{
 display:block;
}
.tabDatas li .sizeAreas{
 display: table;
 width: 100%;
}
.tabDatas li .sizeArea{
 display: table-row;
}
.tabDatas li .sizeArea:hover{
 background:#fee;
}
.tabDatas li .sizeArea>span{
 display:table-cell;
 padding: 5px;
 border-bottom: dotted #ddd 1px;
}
.tabDatas li .sizeArea span.spBlock{
 border-bottom: none;
}
/* .shippingSelect{
 padding: 5px;
} */
#orderList{
  border: solid 4px #fcc;
  padding: 10px;
  margin-bottom: 10px;
}
#orderList .photoPrice li{
 border-bottom:dotted 1px #eee;
 margin-bottom: 5px;
 display: none;
}
#orderList .photoPrice li.active{
 display: block;
}
#orderList .optionArea li{
 display: none;
}
#orderList .optionArea li.active{
 display: block;
}
#orderList .shippingPrice li{
 display: none;
}
#orderList .shippingPrice li.active{
 display: block;
}
#contact{
  padding-top: 170px;
  padding-bottom: 100px;
}
.confirmArea .data{
 display: table;
 width: 100%;
 border-bottom: solid 1px var(--blue);
 padding-bottom: 10px;
 margin-bottom: 10px;
}
.confirmArea .data:nth-child(1){
  border-top: solid 1px var(--blue);
  padding-top: 10px;
}
.confirmArea .data span{
 display: table-cell;
 vertical-align: top;
 padding-left: 10px;
}
.confirmArea .data span:first-child{
 width: 30%;
 border-right: solid 1px var(--blue);
 padding-left: 0px;
}
.confirmSubmit{
  text-align: center;
  margin-top: 22px;
}
.confirmSubmit .btnBack,
.confirmSubmit .btnSubmit{
 display: inline-block;
}
.confirmSubmit .btnBack{
 text-align: center;
 padding: 10px 0px;
 display: inline-block;
 padding: 10px 50px;
 background: #eee;
 color: #fff;
 border-radius: 4px;
 background: #aaa;
 cursor: pointer;
}
.confirmSubmit .btnBack:hover{
  background: #bbb;
}
.completeTel{
  width: fit-content;
  margin: 2em auto 0;
}
.completeTel .notice{
  display: block;
  width: fit-content;
  text-align: left;
}

@media screen and (max-width: 980px){
  #sec_form{
    padding-top: 110px;
    padding-bottom: 50px;
  }
  h2{
    display: block;
  }
  .icon{
    width: 28px;
  }
  h2 .icon{
    margin: 0 auto 15px;
  }
  .telTtl{
    width: min(calc(100% - 30px), 355px);
    margin: 0 auto;
  }
  .icon.tel{
    margin-right: 8px;
  }
  .telTtl .text{
    width: calc(100% - 36px);
  }
  .mainInner{
    border-radius: 10px;
  }
  .inputArea{
    position: relative;
    display: table;
    width: 100%;
    padding: 20px 0;
  }
  .inputArea .ttl{
    position: relative;
    display: block;
    width: 100%;
    font-size: 1.125rem;
  }
  .inputArea .inputData{
    display: block;
    width: 100%;
    margin-top: 15px;
  }
  .inputArea.required .ttl:after{
    position: static;
    display: inline-block;
    line-height: 1.4em;
    border-radius: 1px;
    margin: 0 0 0 10px;
  }
  /* .inputArea label{
    font-size: 1rem;
  } */
  .inputArea textArea{
    height: 80px;
  }
  .privacy{
    margin-top: 20px;
  }
  .privacy .text{
    font-size: .75rem;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 15px;
  }
  #contact{
    padding-top: 110px;
    padding-bottom: 50px;
  }
  .confirmArea .data{
    display: block;
  }
  .confirmArea .data span:first-child{
    display: block;
    width: 100%;
    border-right: none;
  }
  .optionArea p{
    padding: 5px 0px;
  }
  /* .shippingSelect label{
    display: inline-block;
    padding: 5px 0px;
  } */
}
