@charset "utf-8";

.main{
  width:100%;
  background: #fff;
}
.w{
  width:100%;
  max-width:1300px;
  padding:0 50px;
  margin: 0 auto;
}

/*-------------------header---------------------------*/
header{
  width:100%;
  padding:15px 0;
  border-bottom: 3px solid #f3f5f7;
}
header .w{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:100%;
  justify-content: space-between;
  align-items: center;
}
header .w .logo{
  width:100%;
  max-width:230px;
}
header .w .logo img{
  display:block;
  vertical-align: middle;
  width:100%;
}
header .w .hbtn{
  width:100%;
  max-width:200px;
}
header .w .hbtn a{
  display:block;
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  padding:15px 5px;
  width:100%;
  background: #ff2a00;
  color:#fff;
  border-radius: 5px;
  transition: 0.3s ease-in-out;
}
header .w .hbtn a:hover{
  background: #ff4925;
}

/*-------------------mmv---------------------------*/
.mmv{
  width:100%;
  padding:40px 0px;
}
.mmv .w{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:100%;
  justify-content: center;
  align-items: center;
}
.mmv .tlogo{
  width:100%;
  max-width:200px;
}
.mmv .tlogo img{
  display:block;
  width:100%;
  max-width:600px;
  margin:0 auto;
}
.mmv h1{
  padding-left: 20px;
  font-size: 28px;
}


/*-------------------uform---------------------------*/
.uform{
  width:100%;
  padding:80px 0px;
}
.uform .wrap{
  width:100%;
  max-width:1000px;
  margin: 0 auto;
}
.uform .desc{
  font-size: 18px;
  text-align: center;
  margin-bottom: 40px;
}
.uform dl{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:100%;
  padding:1px 0;
  flex-wrap: wrap;
}
.uform dl.ls{
  margin-bottom: 40px;
}
.uform dl dt{
  position: relative;
  width:260px;
  background: #fff;
  padding:15px 30px;
  font-weight: bold;
  background: #2d9d95;
  color:#fff;
}
.uform dl dd{
  position: relative;
  width:calc(100% - 260px);
  background: #fff;
}
.uform dl dd::before{
  position: absolute;
  content:"";
  top:10px;
  left:0;
  width:1px;
  height:calc(100% - 20px);
  background:#f3f5f7;
}
.uform dl dd .forminner{
  padding:15px 30px;
}
.uform dl.req dt::after{
  position: absolute;
  content:"必須";
  top:20px;
  right:15px;
  width:40px;
  text-align: center;
  font-size: 12px;
  line-height: 20px;
  height:20px;
  border: 1px solid #f35d78;
  color:#fff;
  background: #f35d78;
  border-radius: 3px;
}
.uform dl dd .inner-list{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:100%;
  border-bottom: 1px solid #f3f5f7;
}
.uform dl dd .inner-list:last-of-type{
  border-bottom:none;
}
.uform dl dd .inner-list .shub{
  position: relative;
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
  align-items: center;
  width:220px;
  padding:15px 65px 15px 30px;
  background: #afe7e3;
}
.uform dl dd .inner-list .shub.req::after{
  position: absolute;
  content:"必須";
  top:50%;
  right:15px;
  transform: translateY(-50%);
  width:40px;
  text-align: center;
  font-size: 12px;
  line-height: 20px;
  height:20px;
  border: 1px solid #f35d78;
  color:#fff;
  background: #f35d78;
  border-radius: 3px;
}
.uform dl dd .inner-list .leg{
  width:calc(100% - 220px);
  padding:15px 30px;
}
.uform dl dd .cp{
  padding:15px 30px 0px;
  font-size: 14px;
}
.uform dl dd .cpb{
  padding:15px 0px 0px;
  font-size: 14px;
}
.uform dl dd .cpt{
  padding:0 0px 15px;
  font-size: 14px;
}
.uform dl dd .it{
  font-size: 16px;
  margin-bottom: 15px;
  font-weight: bold;
}
.uform dl dd .add1{
  margin-bottom: 30px;
}
.uform dl dd .add2{
  margin-bottom: 15px;
}
.uform dl dd .inner-data{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
  align-items: center;
  width:100%;
  padding:15px 30px;
  justify-content: space-between;
}
.uform dl dd .inner-data .t1,
.uform dl dd .inner-data .t2{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
  align-items: center;
  width:58%;
}
.uform dl dd .inner-data .t2{
  width:38%;
}
.uform dl dd .inner-data .t1 .d1{
  width:180px;
}
.uform dl dd .inner-data .t1 .d2{
  width:calc(100% - 180px);
}
.uform dl dd .inner-data .t2 .d3{
  width:60px;
}
.uform dl dd .inner-data .t2 .d4{
  width:calc(100% - 60px);
}
.uform dl dd .inner-data .t1 .d1 .c1{
  position: relative;
  font-weight: bold;
  padding-right: 50px;
}
.uform dl dd .inner-data .t1 .d1.r .c1::after{
  position: absolute;
  content:"必須";
  top:2px;
  right:10px;
  width:30px;
  text-align: center;
  font-size: 10px;
  line-height: 20px;
  height:20px;
  border: 1px solid #f35d78;
  color:#fff;
  background: #f35d78;
  border-radius: 3px;
}
.uform h2{
  font-size: 22px;
  margin-bottom: 20px;
  padding-left: 15px;
  border-left: 3px solid #2d9d95;
}

.uform form input,
.uform form textarea {
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}
.uform form input,
.uform form textarea {
  display: inline-block;
  width: 100%;
  border: 1px solid #dbdada;
  transition: 0.2s ease-in-out;
  padding: 17px 15px;
  font-size: 16px;
  background: #fff;
  border-radius: 3px;
}
.uform form input[type="email"]{
  width: 100%!important;
}
.uform form textarea{
  width:100%!important;
  height:auto!important;
}
.uform form input:focus,
.uform form textarea:focus{
	background: #fff;
	border: 1px solid #0ebfac;
}
.uform form input.inp1{
  max-width:200px;
}
.uform form .selectbox {
  position: relative;
}
.uform form .selectbox::before,
.uform form .selectbox::after {
  position: absolute;
  right: 15px;
  width: 9px;
  height: 6px;
  background-color: #535353;
  content: '';
  pointer-events: none;
}

.uform form .selectbox::before {
  top: calc(50% - 9px);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.uform form .selectbox::after {
  bottom: calc(50% - 9px);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.uform form .selectbox select {
  appearance: none;
  width:100%;
  height: 50px;
  padding: .4em calc(.8em + 30px) .4em .8em;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  background-color: #fff;
  cursor: pointer;
}
.uform form .selectbox.selec1{
  max-width: 320px;
}
.uform form .selectbox.selec1 select {
  max-width: 320px;
}
.uform form .selectbox.selec2{
  max-width: 150px;
}
.uform form .selectbox.selec2 select {
  max-width: 150px;
}

.uform form .radio {
    display: flex;
    flex-wrap: wrap;
    gap: .3em 2em;
    border: none;
}

.uform form .radio label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}

.uform form .radio label::before,
.uform form .radio label::after {
    border-radius: 50%;
    content: '';
}

.uform form .radio label::before {
    width: 18px;
    height: 18px;
    border: 2px solid #dee5eb;
    box-sizing: border-box;
}

.uform form .radio label::after {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    background-color: #dee5eb;
}

.uform form .radio label:has(:checked)::after {
    background-color: #0ebfac;
    animation: anim-radio-2 .3s linear;
}

@keyframes anim-radio-2 {
    0% {
        box-shadow: 0 0 0 1px transparent;
    }
    50% {
        box-shadow: 0 0 0 10px #0ebfac;
    }
    100% {
        box-shadow: 0 0 0 10px transparent;
    }
}

.uform form .radio input {
    display: none;
}

.uform .formbtn button{
  display:block;
  width:100%;
  max-width:360px;
  border: 0;
  margin:0 auto;
  text-align: center;
  padding:30px 15px;
  color:#fff;
  font-size: 18px;
  font-weight: bold;
  background: #0ebfac;
  border-radius: 5px;
  cursor:pointer;
  transition: 0.3s ease-in-out;
}
.uform .formbtn button:hover{
  background: #0b9e8e;
}

#mfp_button_send.mfp_element_button{
  max-width:200px;
  border: 0;
  text-align: center;
  padding:20px 15px;
  color:#fff;
  font-size: 18px;
  font-weight: bold;
  background: #0ebfac;
  border: solid 1px #0ebfac;
  border-radius: 5px;
  cursor:pointer;
  transition: 0.3s ease-in-out;
}
#mfp_button_send.mfp_element_button:hover{
  background: #0b9e8e;
}
#mfp_button_cancel.mfp_element_button{
  max-width:200px;
  border: 0;
  text-align: center;
  padding:20px 15px;
  color:#333;
  font-size: 18px;
  font-weight: bold;
  background: #fff;
  border: solid 1px #ccc;
  border-radius: 5px;
  cursor:pointer;
  transition: 0.3s ease-in-out;
}
#mfp_button_cancel.mfp_element_button:hover{
  background: #f1f1f1;
}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
    text-align: left;
    font-size: 14px;
    border-top: solid 1px #CCC;
    padding: 10px 10px;
}
.copy{
  text-align: center;
  font-size:12px;
  padding:15px 0;
}

.uform.thanks .ldesc{
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
}
.uform.thanks .thtxt{
  text-align: center;
  font-size: 16px;
  margin-bottom: 30px;
}
.uform.thanks .smbtn a{
  display:block;
  width:100%;
  max-width:360px;
  border: 0;
  margin:0 auto;
  text-align: center;
  padding:20px 15px;
  color:#fff;
  font-size: 18px;
  font-weight: bold;
  background: #0ebfac;
  border-radius: 5px;
  cursor:pointer;
  transition: 0.3s ease-in-out;
}
.uform.thanks .smbtn a:hover{
  background: #0b9e8e;
}
@media screen and (max-width: 1080px){
  .uform dl dt{
    width:100%;
    padding:15px 30px;
  }
  .uform dl dd{
    width:100%;
  }
}
@media screen and (max-width: 760px){
  .w{
    padding:0 25px;
  }
  .uform{
    padding:40px 0px 80px;
  }
  .mmv h1{
    font-size: 22px;
  }
}
@media screen and (max-width: 480px){
  header .w .logo{
    max-width:150px;
  }
  header .w .hbtn{
    width:100%;
    max-width:160px;
  }
  header .w .hbtn a{
    font-size: 12px;
    padding:10px 5px;
  }
  .w{
    padding:0 15px;
  }
  .mmv{
    padding:20px 0px;
  }
  .mmv .w{
    flex-wrap: wrap;
  }
  .mmv h1{
    padding-left: 0px;
    padding-top: 10px;
    font-size: 20px;
  }
  .uform{
    padding:30px 0px 80px;
  }
  .uform .desc{
    font-size: 14px;
    margin-bottom: 30px;
  }
  .uform form input,
  .uform form textarea {
    padding: 15px 15px;
    font-size: 14px;
  }
  .uform h2{
    font-size: 20px;
  }
  .uform dl dt{
    padding:15px 15px;
  }
  .uform dl dd .forminner{
    padding:15px 15px;
  }
  .uform dl dd .inner-list{
    flex-wrap: wrap;
  }
  .uform dl dd .inner-list .shub{
    width:100%;
    padding:10px 15px;
    font-size: 14px;
  }
  .uform dl dd .inner-list .shub br{
    display:none;
  }
  .uform dl dd .inner-list .leg{
    width:100%;
    padding:10px 15px;
  }
  .uform form .selectbox select{
    font-size: 14px;
  }
  .uform form .radio label {
    font-size: 14px;
  }
  .uform dl dd .cp{
    padding:15px 15px 0px;
    font-size: 12px;
  }
  .uform dl dd .cpb{
    padding:15px 0px 0px;
    font-size: 12px;
  }
  .uform dl dd .cpt{
    padding:0 0px 15px;
    font-size: 12px;
  }
  .uform dl dd .inner-data{
    padding:15px 15px;
    flex-wrap: wrap;
  }
  .uform dl dd .inner-data .t1,
  .uform dl dd .inner-data .t2{
    width:100%;
    flex-wrap: wrap;
  }
  .uform dl dd .inner-data .t1{
    margin-bottom: 15px;
  }
  .uform dl dd .inner-data .t2{
    width:100%;
  }
  .uform dl dd .inner-data .t1 .d1{
    width:140px;
    font-size: 14px;
  }
  .uform dl dd .inner-data .t1 .d2{
    width:calc(100% - 140px);
  }
  .uform dl dd .inner-data .t1 .d1.r .c1::after{
    top:1px;
    right:10px;
    width:26px;
    font-size: 10px;
    line-height: 20px;
    height:20px;
  }
  .uform dl dd .inner-data .t2 .d3{
    width:140px;
    font-size: 14px;
    text-align: right;
    padding-right: 8px;
  }
  .uform dl dd .inner-data .t2 .d4{
    width:calc(100% - 140px);
  }
}
@media screen and (max-width: 320px){
  header .w .logo{
    max-width:120px;
  }
  header .w .hbtn{
    width:100%;
    max-width:140px;
  }
  header .w .hbtn a{
    font-size: 12px;
    padding:10px 5px;
  }
}
