@charset "utf-8";
/* --------------------------------------------------------
 * Reset
 * ----------------------------------------------------- */
html {
  font-size: 62.5%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
}
body {
  color: #000000;
  font-family: "BIZ UDPGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.7;
  background-color: #fff;
}
* {
  margin: 0; padding: 0; border: 0;
  box-sizing: border-box;
}
h1, h2, h3, h4 {
  font-weight: 500; line-height: 1.4;
}
ol, ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
th { text-align: left; font-weight: normal; }
a { color: inherit; text-decoration: none; }
@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/* --------------------------------------------------------
 * layout
 * ----------------------------------------------------- */
.inner {
  margin: 0 auto;
  max-width: 1100px;
  min-width: 980px;
  width: 96%;
}
.d-pc {
	display: block !important;
}
.d-sp {
	display: none !important;
}
@media screen and (max-width: 767px) {
.inner {
  margin: 0 auto;
  max-width: 100%;
  min-width: 100%;
  width: 100%;
}
.d-pc {
	display: none !important;
}
.d-sp {
	display: block !important;
}
.d-sp-inlineblock {
	display: inline-block!important;
}
}
main {
	text-align: center;
    margin: 90px auto 0 auto;
  width: 100%;
}
article {
	margin: 0px auto;
	width: 100%;
}
section {
	margin: 0px auto;
	text-align: center;
	width: 100%;
}
.text-start {
    text-align: left !important;
}
div.fLex {
    display: flex;
    display: -webkit-flex;
}
@media screen and (max-width: 767px) {
main {
	text-align: center;
	width: 100%;
	margin: 60px auto 0 auto !important;
	background-color: #ffffff;
}
article {
	margin: 0px auto;
	text-align: center;
	width: 100%;
	padding: 20px 0;
}
section {
	margin: 0px auto;
	text-align: center;
	width: 100%;
	padding: 0;
}
div.fLex {
    display: block;
    width: 100%;
}
}
/* --------------------------------------------------------
 * header
 * ----------------------------------------------------- */
#top-head {
	position: absolute;
	left: 0; 
    top: -50px;
    width: 100%;
    margin: 50px auto 0;
    padding: 0;
    line-height: 1;
    z-index: 999;
    height: 95px;
	text-align: center;
	background-color: #ffffff;
}
header div.inner {
	padding: 0 !important;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}
#top-head .header-logo {
	width: 218px;
	height: auto;
	display:block;
	margin: 20px 0 0 0;
	padding: 0px 0 0 0;
}
#top-head .logo {
	background-image: url("../img/common/logo-tagline124x31.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 218px;
	height: 55px;
	text-indent:-9999px;
	overflow:hidden;
	display:block;
}
.header-right {
display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    margin: 20px 0 0 0;
    align-items: center;
}
.header-right .tel {
  font-size: 1.8rem;
  letter-spacing: .5px;
  color: #0F4A99;
  display: block;
  margin-right: 32.5px;
}
.header-right .tel span {
  display: inline-block;
  text-align: left;
}
.header-right .tel::before {
    font-family: "icomoon";
    margin-right: 10px;
    content: "\f095"; font-size: 2em;
}
.header-right .tel small {
  display: block;
  font-weight: unset;
  font-size: 1.4rem;
  margin-top: 5px;
}
.header-right .dol {
  font-size: 1.8rem;
  background-color: #B20000;
  padding: 15px 30px;
  border-radius: 100vh;
  color: #fff;
}
.header-right .dol:hover { 
  background-color: #990000; }

/* Fixed */
#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  padding-bottom: 15px;
  transition: top 0.65s ease-in;
  background-color: rgba(255,255,255,.9);
}

/* モバイル */
@media screen and (max-width: 767px) {
  #top-head {
    position: absolute;
    left: 0; 
    top: -50px;
    width: 100%;
    margin: 50px auto 0;
    padding: 0;
    line-height: 1;
    z-index: 999;
    height: 60px;
    text-align: center;
    background-color: #ffffff;
  }
  #top-head .header-logo {
    width: 150px;
    height: auto;
    display:block;
    margin: 10px 0 0 5px;
    padding: 0px 0 0 0;
  }
  #top-head .logo {
    width: 150px;
    height: 38px;
    text-indent:-9999px;
    overflow:hidden;
    display:block;
  }
  .header-right {
    display: flex;
    justify-content: space-between;
    margin: 10px 5px 0 0;
    align-items: center;
  }
  .header-right .tel {
    font-size: 1.4rem;
    letter-spacing: .5px;
    color: #0F4A99;
    display: block;
    margin-right: 0px;
  }
  .header-right .tel span {
    display: inline-block;
    text-align: left;
  }
  .header-right .tel::before {
      font-family: "icomoon";
      margin-right: 10px;
      content: "\f095"; font-size: 2em;
  }
  .header-right .tel small {
    display: block;
    font-weight: unset;
    font-size: 1.1rem;
    margin-top: 5px;
  }
  .header-right .dol {
    display: none;
  }

  /* Fixed */
  #top-head.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    padding-bottom: 15px;
    transition: top 0.65s ease-in;
    background-color: rgba(255,255,255,.9);
  }
  #mobile-head {
    width: 100%;
    height: 60px;
    position: relative;
    background-color: #ffffff;
  }
}

/* --------------------------------------------------------
 * フォーム
 * ----------------------------------------------------- */
article {
     background-color: #104A99;
     padding-top: 80px !important;
     padding-bottom: 10px !important;
     margin: 0;
    }
.top-note {
  margin-bottom: 7rem;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 1px;
  color: #fff;
}
section.lpBMI h2 {
     display: none;
    }
div.QesBox {
    background-color: #FFF;
    border-radius: 25px;
    padding: 70px;
    margin-bottom: 100px;
    position: relative;
}
div.QesBox .nuM {
    background-color: #FFF;
    border-radius: 100vh;
    width: 100px;
    height: 100px;
    font-size: 3rem;
    font-weight: 700;
    position: absolute;
      left: 50%;
    top:-40px;
    transform: translateX(-50%);
    padding: 15px;
    z-index: 777;
}
div.QesBox p {
    font-size: 1.8rem;
    margin-bottom: 45px;
    line-height: 1.4;
    z-index: 888;
    position: relative;
}  
div.QesBox p span {
    font-size: 1.6rem;
}   

div.Q1 input[type="radio"] {
    appearance: none;
    display: none;
}
div.Q1 span.mwform-radio-field-text {
  font-size: 1.8rem;
  background-color: #FFF;
  padding: 15px 30px;
  border-radius: 100vh;
  color: #333;
  border: 1px solid #333;
  cursor:pointer;
  margin: 0 30px;
}
div.Q1 input[type="radio"]:checked + span.mwform-radio-field-text {
  background-color: #FFFFCC;
}
div.Q2items {
    text-align: left;
}
.Q2items > span, .dlc > span {
  display: block;
}
.Q2items span.disp, .dlc span.disp {
  padding: 3px 0;
}
.disp::before {
  content: "\02714";
  display: inline-block;
  color: #104A99;
  margin-right: 7px;
}
div.Q3 dl {

}
div.Q3 dl > div {
  border-top: solid 1px #ddd;
  padding: 1em 0;
} 
div.Q3 dt {
    width: 20%;
    display: inline-block;
    text-align: left;
    vertical-align: top;
}
div.Q3 dd {
    width: 75%;
    display: inline-block;
    text-align: left;
    vertical-align: top;
}
div.Q3 dd span {
    font-size: 1.2rem;
}
 div.Q3 dt.r::after {
  content: "必須";
  padding: 2px;
  margin-left: 1rem;
  font-size: 11px;
  color: #fff;
  background-color: #B10201;
}
div.dlc {
    text-align: left;
    margin-top: 3rem;
}
div.dlc p {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
}
div.dlc p.hosoku {
    font-size: 1.2rem;
    margin: 1rem 0;
    line-height: 1.4;
}

div.privacyBox {
    border: 1px solid #666;
    padding: 3rem;
    font-size: 1.4rem;
    text-align: left;
}
div.privacyBox a {
    margin-left: 1.8rem;
    font-size: 2rem;
    color: #0F4A99;
    text-decoration: underline;
}
p.btn-note {
  margin-top: 5rem;
  text-align: center;
}
div.btn {
  margin: 1rem auto 0;
  cursor: pointer;
}
div.btn + .btn {
  margin: 2rem auto 0;
}
div.btn .submit  {
  background-color: #0F4A99;
  padding: 1rem 10rem;
  color: #FFF;
  font-size: 1.6rem;
  border-radius: 100vh;
}
div.btn .back  {
    background-color: #444;
    padding: .6rem 10rem;
}
@media screen and (max-width: 767px) {
article {
     background-color: #104A99;
     padding-top: 80px !important;
     padding-bottom: 10px !important;
     margin: 0;
    }
section.lpBMI {
     width: 90% !important;
     margin: 0 auto;
    }
section.lpBMI h2 {
     display: none;
    }
div.QesBox {
    background-color: #FFF;
    border-radius: 25px;
    padding: 30px 30px 50px 30px;
    margin-bottom: 100px;
    position: relative;
}
div.QesBox:last-of-type {
    margin-bottom: 10px !important;
}
div.QesBox .nuM {
    background-color: #FFF;
    border-radius: 100vh;
    width: 100px;
    height: 100px;
    font-size: 3rem;
    font-weight: 700;
    position: absolute;
      left: 50%;
  top:-40px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);  
    padding: 15px;
    z-index: 777;
}
div.QesBox p {
    font-size: 1.8rem;
    margin-bottom: 45px;
    line-height: 1.4;
    z-index: 888;
    position: relative;
}  
div.QesBox p span {
    font-size: 1.6rem;
}   

div.Q1 input[type="radio"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
          display: none;
}
div.Q1 span.mwform-radio-field {
    display: inline-block !important;
    width: 40% !important;
}
div.Q1 span.mwform-radio-field label {
    text-align: center;
    margin: 0;
    padding: 0;
}
div.Q1 span.mwform-radio-field-text {
    font-size: 1.8rem;
  background-color: #FFF;
  padding: 15px 30px;
  border-radius: 100vh;
  color: #333;
  border: 1px solid #333;
  cursor:pointer;
  margin: 0;
}
div.Q1 input[type="radio"]:checked + span.mwform-radio-field-text {
  background-color: #FFFFCC;
}
div.Q2items {
    text-align: left;
}
div.Q2items span.mwform-checkbox-field {
    display: block;
    width: 100%;
    margin-bottom: 1rem;
    text-align: left;
    vertical-align: top;
}
textarea {
    border: 1px solid #333;
    margin-left: 1.8rem;
    padding: 1rem;
    border-radius: 5px;
    width: 95%;
}
div.Q3 dt {
    width: 100%;
    display: block;
    text-align: left;
    margin-bottom: 0.5rem;
    vertical-align: top;
    padding-top: 0.5rem;
    font-size: 1.4rem;
}
div.Q3 dd {
    width: 100%;
    display: block;
    text-align: left;
    margin-bottom: 1rem;
    vertical-align: top;
}
div.Q3 dd span {
    font-size: 1.2rem;
}
 div.Q3 dt.r::after {
  content: "必須";
  padding: 2px;
  margin-left: 1rem;
  font-size: 11px;
  color: #fff;
  background-color: #B10201;
}
input[type="text"],
input[type="email"]{
 width: 100%;
}
div.dlc {
    text-align: left;
    margin-top: 3rem;
}
div.dlc p {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
}
div.dlc p.hosoku {
    font-size: 1.2rem;
    margin: 1rem 0;
    line-height: 1.4;
}
div.privacyBox {
    border: 1px solid #666;
    padding: 3rem;
    font-size: 1.4rem;
    text-align: left;
}
div.privacyBox a {
    margin: 1rem auto 0;
    color: #0F4A99;
    text-decoration: underline;
    display: block;
    text-align: center;
}
div.btn {
    margin: 5rem auto 0 auto;
}
div.btn .submit  {
    background-color: #0F4A99;
    padding: 1rem 10rem;
    color: #FFF;
    font-size: 1.6rem;
    border-radius: 100vh;
}
  }
    
    /* --------------------------------------------------------
 * フッター
 * ----------------------------------------------------- */
 footer {
     width: 100%;
     margin: 0;
     background-color: #104A99;
     color: #FFF;
     font-size: 1.4rem;
     text-align: center;
     padding: 49px 0;
 }
  footer a {
      color: #FFF;
 }
footer a[target="_blank"]::before {
    content: "";
    display: none !important;
}

 @media screen and (max-width: 767px) {
  footer {
     margin: 0;
     background-color: #104A99;
     color: #FFF;
     font-size: 1.4rem;
     text-align: center;
     padding: 15px 0 50px 0;
 }
 }
 /* --------------------------------------------------------
 * pagetop
 * ----------------------------------------------------- */
#pagetop {
  bottom: 80px !important;
}