
input, textarea{
-webkit-appearance: none;
border-radius: 0;
}


#form{
margin:0 0 7rem;
}

.formtxt{
border-bottom: 2px solid #aaa;
margin:0 0 3rem;
}
.formtxt p{
text-align:center;
}
.formtxt p:last-child{
margin:0 0 4rem;
}

.fxlist{
display:flex;
justify-content:center;
}
.fxlist p:last-child{
text-align:left;
margin:0 0 2rem;
line-height:2;
}

.tip{
width:calc(100% - 4.2rem);
max-width:290px;
text-align:left;
}


.required, .optional{
min-width: 4rem;
text-align: center;
}
.required{
background:#a8cd35;
color:#fff;
display: inline-block;
padding:0.2rem 0.8rem;
border-radius:0;
margin-left:1rem;
}

.optional{
border:1px solid #a8cd35;
color:#a8cd35;
display: inline-block;
padding:0.2rem 0.8rem;
border-radius:0;
margin-left:1rem;
white-space: nowrap;
}

#contact h2{
padding:2rem 0 2rem;
text-align:center;
border-bottom:2px solid #aaa;
margin:0 0 4rem;
}
#contact h2 span{
margin-right:0.6rem;
}



#form ul.form {
border-bottom:2px solid #aaa;
padding:0 0 3rem;
margin:0 0 3rem;
}
#form ul.form li{
display:flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
margin:0 0 1rem;
}
#form ul.form li label, #form ul.form li .item{
box-sizing:border-box;
padding:1rem;
margin:0;
display:flex;
justify-content:space-between;
align-items: center;
position: relative;
width:40%;
}
#form ul.form li label.bottom, #form ul.form li .item.bottom{
align-items: flex-end;
}
#form ul.form li label:after, #form ul.form li .item:after, #form ul.form li .box.first:after, .pptyttl span:after, .webinarttl:after, .strttl:after {
content: "";
background-image: linear-gradient(to right, #aaa, #aaa 5px, transparent 5px, transparent 12px);
background-size: 12px 1px;
background-repeat: repeat-x;
position: absolute;
bottom: 0;
left:0;
width:100%;
height:1px;
}

#form ul.form input[type="text"], #form textarea, #form ul.form li .itemval{
font-size:1.8rem;
padding:1rem;
box-sizing:border-box;
color:#444;
border:1px solid #aaa;
width:60%;
max-width:none;
margin:0;
}
#form ul.form li .itemval{
border-top:none;
border-left:none;
border-right:none;
display:flex;
align-items: center;
flex-wrap:wrap;
}

#form ul.form input[type="checkbox"],
#form ul.form input[type="radio"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

#form ul.form input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity:0;
margin:0 1rem 0 0;
transform: scale(2);
border-color: #00acc1;
}
#form ul.form input[type="checkbox"] + span, #form ul.form input[type="radio"] + span {
  position: relative;
  padding: 0 3rem 0 3rem;
}
#form ul.form input[type="checkbox"] + span::before, #form ul.form input[type="checkbox"] + span::after{
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: '';
  box-sizing: border-box;
}
#form ul.form input[type="checkbox"] + span::before {
  z-index: 0;
  background-color: transparent;
  width: 2.4rem;
  height: 2.4rem;
  border: 2px #006d48 solid;
  border-radius: 5px;
}
#form ul.form input[type="checkbox"] + span::after {
  z-index: 1;
margin: 0.2rem 0.8rem;
width: 0.8rem;
height: 1.4rem;
}
#form ul.form input[type="checkbox"]:checked + span::before {
  background-color: #006d48;
}
#form ul.form input[type="checkbox"]:checked + span::after {
  border: 2px solid #fff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

#form ul.form input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
#form ul.form input[type="radio"] + span::before {
  position: absolute;
  display: inline-block;
  content: '';
  box-sizing: border-box;
  border-radius: 26px;
}
#form ul.form input[type="radio"] + span::before {
  z-index: 0;
  top: 0;
  left: 0;
  background-color: transparent;
  width: 26px;
  height: 26px;
  border: 2px #006d48 solid;
}
#form ul.form input[type="radio"]:checked + span::before {
border:2px solid #006d48;
background:#fff;
}
#form ul.form input[type="radio"]:checked + span::after {
  position: absolute;
  display: inline-block;
  content: '';
  box-sizing: border-box;
  border-radius: 16px;
  width: 16px;
  height: 16px;
  background:#006d48;
  left:5px;
  top:5px;
}


#form ul.form:nth-of-type(2):not(.suc){
border-bottom:none;
margin:0;
padding:0 0 3rem;
}
#form ul.form:nth-of-type(2):not(.suc) label, #form ul.form:nth-of-type(2):not(.suc) .item{
padding:1rem 0.8rem 1rem 0;
}
#form ul.form:nth-of-type(2):not(.suc) li{
margin:3rem 0 3rem;
}
#form ul.form:nth-of-type(2):not(.suc) li:last-child{
margin:3rem 0 0;
}
#form ul.form li p{
display:flex;
justify-content:space-between;
align-items: center;
width:40%;
padding:1rem;
margin:0;
box-sizing:border-box;
}
#form ul.form li .box{
width:100%;
border-bottom:2px solid #aaa;
padding:0 0.8rem 3rem;
box-sizing:border-box;
background:none;
color: inherit;
}
#form ul.form li .box.cfm{
display:flex;
flex-wrap:wrap;
}
#form ul.form li .box.first{
border-bottom:none;
position:relative;
margin:0 0 2rem;
}
#form ul.form li .box.first.cfm{
padding: 0;
margin:0;
}
#form ul.form li .box.first:after {
content: "";
background-image: linear-gradient(to right, #aaa, #aaa 5px, transparent 5px, transparent 12px);
background-size: 12px 1px;
background-repeat: repeat-x;
position: absolute;
bottom: 0;
width:100%;
height:1px;
}


#form ul.form li .box label{
justify-content:flex-start;
width:100%;
padding: 1rem 0.8rem 1rem 0;
}
#form ul.form li .box label:after{
display:none;
}

.inner{
display:flex;
}
#form ul.form li .box label[for="type04"] {
width:115px;
padding:0;
}

.nodisp{
opacity:0.4;
}

.box strong:after{
content:" ： ";
margin:0 0 1rem 0;
}

.confirm{
background:none;
display:flex;
justify-content:center;
align-items:center;
-webkit-flex-wrap: nowrap;
flex-wrap: nowrap;
}
.confirm.stepone{
-webkit-flex-direction: column;
flex-direction: column;
}

.confirm .submitBtn, .confirm .back, .formbackbtn{
background:#006d48;
text-indent: 1rem;
letter-spacing: 1rem;
max-width:500px;
display: inline-block;
padding: 20px 40px;
margin:0 4%;
border-radius: 4px;
border: 1px solid #006d48;
color:#fff;
font-size:2rem;
}
.sendmessage +div .formbackbtn{
width:auto
}
.confirm .back{
background:#fff;
color:#006d48;
border:1px solid #006d48;
}
.confirm p.formbackbtn{
margin:0 0 4rem;
}
.confirm p.formbackbtn a, .confirm p.formbackbtn a i{
color:#fff;
text-decoration: none;
}

.telinq{
text-align:center;
padding:7rem 0 5rem;
border-top:2px solid #cca352;
position:relative;
}
.telinq::before{
content:"";
position:absolute;
display:block;
background:#cca352;
height:4px;
width:100%;
top:8px
}


.telinq p{
font-size:1.4rem;
}
.telinq p .telink{
font-size:2rem;
color: #006d48;
}
.telinq p:last-child{
font-size:1rem;
}

#form ul.form input[type="text"].inp_error, #form ul.form input.inp_error, #form textarea.inp_error, #form ul.form li .box.inp_error, .inp_error {
    border: 1px solid #F88A8A;
    background: #F4D4D4;
}

.inp_error + span.error_m{
padding: 0.8rem;
display: block;
width: 100%;
text-align:left;
}

.error_m, .error_m svg{
color:#d7291b;
}
.errorbk span.error_m{
padding: 0.4rem;
}



.confirm.errorbk{
background:#fdd1d1;
padding: 1rem;
}

.othertxt{
display:block;
width:100%;
}

span.list:not(:first-child)::before {
content: "/";
margin: 0 0.4rem;
}

.sendmessage{
margin:0 auto 4rem;
width:70%;
max-width:800px;
}
.sendmessage p{
text-align:justify;
}

#form pre{
white-space: pre-wrap ;
text-align:left;
}

.cfmcol #form ul.form li .itemval{
color: #999;
}
.cfmcol #form ul.form li .itemval span{
display:block;
width:100%;
text-align:left;
}
.cfmcol #form ul.form li .itemval span.list{
display:inline-block;
width:auto;
}

#typeother:disabled, #enqother:disabled{
background:#f0f0f0;
}

/* --------------------------------------------------------
ppty
----------------------------------------------------------*/

#contact #ppty h2{
margin: 0 0 1.4rem;
}

.pptyttl{
padding:1.4rem 0;
margin:0 0 4rem;
font-size:1.3rem;
font-family: verdana,Shin Go Regular,"ヒラギノ角ゴ Pro W5", "メイリオ", sans-serif;
display:flex;
align-items:center;
flex-wrap: wrap;
border-bottom:2px solid #aaa;
}
.content .pptyttl{
border-radius:0;
}

.pptyttl span, .pptyttl p{
margin:0 0 2rem;
}

.pptyttl span{
display:flex;
padding: 0.8rem;
width:40%;
font-size:1rem;
position:relative;
}
.pptyttl p{
width: 60%;
padding:0.4rem 1rem;
font-size:1.4rem;
border-bottom: 1px solid #aaa;
}


.confirm.sub{
flex-direction:column;
}
.confirm.sub .formbackbtn{
width:auto;
}
.confirm.sub .formbackbtn:first-of-type {
margin:0 0 1rem;
}



/* --------------------------------------------------------
succession
----------------------------------------------------------*/

#succession h3{
color:#444;
margin:0 0 2rem;
}

#succession #form ul.form li .box{
border-bottom:none;
padding: 0 0.8rem 0;
}

#succession.cfmcol #form ul.form li .box{
padding:0;
}

/* --------------------------------------------------------
webinar
----------------------------------------------------------*/

.main.webinar p:first-child{
text-align:center;
}

.nowrap{
white-space:nowrap;
}

.aboutwebinar ul{
margin:0 0 2rem;
}
.aboutwebinar ul li{
display:flex;
margin:0 0 0.4rem;
}
.aboutwebinar ul li .dateset{
width:150px;
}

.main.webinar #form{
padding-top:30px;
margin-top:-30px;
}

#form ul.form.datesection{
padding:0;
}

.main.webinar h3{
font-size:1.1rem;
color:#444;
}

#contact .webinar h2{
margin:0 0 2rem;
padding-top:2rem;
margin-top:-2rem;
}

#form ul.form li.datelist label:after{
content:none;
}

#form ul.form li.datelist{
align-items:flex-start;
margin:0;
}
#form ul.form li.datelist p:first-child{
padding: 0.8rem 0.8rem 0.8rem 0;
}

.datebox{
font-size:1rem;
padding:1rem;
box-sizing:border-box;
color:#444;
width:60%;
max-width:none;
margin:0;
}

#form ul.form li .datebox label, #form ul.form li .datebox p{
width:100%;
}

.aboutwebinar{
margin:0 0 4rem;
}

.webinarttl{
margin:0 0 0.4rem;
position: relative;
padding:0 0 0.6rem;
font-family: verdana,Shin Go Regular,"ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.webinar #form ul.form:nth-of-type(2):not(.suc){
border-bottom: 2px solid #aaa;
padding: 0 0 3rem;
margin: 0 0 3rem;
}

.webinar #form ul.form:last-of-type{
border-bottom: none;
margin:0;
}

/* --------------------------------------------------------
ckecklist
----------------------------------------------------------*/

#starttime{
display:flex;
white-space:nowrap;
width:60%;
}
form ul.form li #starttime label{
width:calc(100% / 3);
}
#form ul.form li .inp_error label::after{
content:none;
}

.strttl{
position:relative;
}

/* --------------------------------------------------------
1070px
----------------------------------------------------------*/
@media screen and (max-width: 1070px) {

.main{
padding: 1rem 8%;
}

}
/* --------------------------------------------------------
860px
----------------------------------------------------------*/
@media screen and (max-width: 860px) {

.main{
padding: 1rem 4%;
}

}
/* --------------------------------------------------------
750px
----------------------------------------------------------*/
@media screen and (max-width: 750px) {

.tip{
max-width:none;
}

#contact h2, .formtxt p:last-child{
margin: 0 0 2rem;
}
#contact h2 span{
display:block;
line-height:1.8;
margin:0;
}

#form ul.form li label, #form ul.form li .item, .pptyttl span, .pptyttl p, #starttime{
width: 100%;
padding: 0.4rem 0;
}
#form ul.form li label:after, #form ul.form li .item:after, .pptyttl span:after, .strttl:after{
content:none;
}

#form ul.form input[type="text"], #form textarea, #form ul.form li .itemval{
width:100%;
margin:0 auto;
}
.cfmcol #form ul.form li .itemval{
width:70%;
margin:0 20% 0 10%;
padding: 1rem 0 0.2rem;
}

#form ul.form li p{
width: 100%;
padding:0.8rem 0;
}

#form ul.form input[type="checkbox"] + span::before, #form ul.form input[type="checkbox"] + span::after{
top: calc( 50% - 1.2rem );
}

#form ul.form li .box label{
flex-wrap:wrap;
}

#form ul.form li .box span + input{
margin:0.8rem 0 0;
}

.box strong{
font-size:1.2rem;
display:block;
margin:0;
}
.box strong:after{
content:none;
}

#form ul.form:nth-of-type(2):not(.suc) label, #form ul.form:nth-of-type(2):not(.suc) .item{
padding: 0.6rem 0;
}




#form ul.form input[type="checkbox"] + span::after {
  width: 0.4rem;
margin: 0.2rem 0.5rem;
}

#form ul.form input[type="radio"] + span::before{
width: 22px;
height: 22px;
}

#form ul.form input[type="radio"] + span::before {
top:calc( 50% - 13px);
}
#form ul.form input[type="radio"]:checked + span::after {
top:calc( 50% - 9px);
width: 14px;
height: 14px;
left:4px
}


#form ul.form li .box label[for="type04"]{
width:100%;
padding: 0.6rem 0
}

.inner{
display:block;
}

.confirm{
padding:1rem 0;
flex-wrap:wrap;
}
.confirm .submitBtn, .confirm .back, .formbackbtn, .confirm.sub .formbackbtn{
width:100%;
margin:0;
max-width:none;
}
.confirm .back{
margin:1.4rem 0 0;
}

.form + .center{
letter-spacing:0;
font-size:0.9rem;
}

#form ul.form li .box.cfm {
padding: 0 0 3rem;
}

.sendmessage{
width: 90%;
}

#form ul.form li .box{
padding: 0 0 3rem;
}
#form ul.form li .box.first{
margin:0;
padding:0;
}
#form ul.form li .box.first:after{
content:none;
}


.pptyttl{
padding:0;
margin:0 0 2rem;
}
.pptyttl span{
margin:0;
padding:0;
}
.pptyttl p{
margin:0 1rem 2rem;
}
.pptyttl span, .pptyttl p{
color: #444;
font-family:verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ", sans-serif;
font-size:1rem;
}

.datebox label span{
font-size:0.9rem;
}
.aboutwebinar ul.dateset li{
flex-wrap:wrap;
}
.datebox{
width:100%;
}
/*
.datebox, .aboutwebinar ul li .datedetail{
width:100%;
}
*/




}