@charset "UTF-8";
/*** media ***/
/*** font-size ***/
/*** color ***/
body {
  text-align: center;
  font-size: 1.4rem;
  color: #3E3E3E;
  margin: auto;
  font-family: 'Noto Sans JP', sans-serif;
}
.alert{
    background-color: red;
    z-index: 9999;
    position: relative;
    color: white;
    padding: 3rem 0;
}
.alert ul li{
  line-height: 2.0;
}

@media only screen and (min-width: 840px) {
  body {
    font-size: 2rem;
    max-width: 840px;
    border-right: #ccc 1px solid;
    border-left: #ccc 1px solid;
    -webkit-box-shadow: 0 0 5px #ccc;
            box-shadow: 0 0 5px #ccc;
    min-height: 100vh;
  }
}

.pc {
  display: none;
}

.sp {
  display: block;
}

@media only screen and (min-width: 840px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}

/** header **/
header {
  background: #FFD8F6;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 2;
}

@media only screen and (min-width: 840px) {
  header {
    max-width: 840px;
    padding: 20px;
    margin: auto;
  }
}

header h1 {
  font-size: 2rem;
  text-align: left;
  padding: 15px 0 15px 4vw;
  font-weight: normal;
  line-height: 1.5;
}

@media only screen and (min-width: 840px) {
  header h1 {
    font-size: 2.5rem;
    max-width: 880px;
    padding: 0;
  }
}

header > div {
  position: relative;
}

.menu-trigger {
  display: inline-block;
  width: 10vw;
  height: 6vw;
  vertical-align: middle;
  cursor: pointer;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 7vw;
  z-index: 100;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
  position: absolute;
}

@media only screen and (min-width: 840px) {
  .menu-trigger {
    width: 36px;
    height: 28px;
    top: 0;
    right: 30px;
  }
}

.menu-trigger.active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  z-index: 10;
}

.menu-trigger.active span {
  background-color: #3E3E3E;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(1.7vw) rotate(-45deg);
          transform: translateY(1.7vw) rotate(-45deg);
}

@media only screen and (min-width: 840px) {
  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(-45deg);
            transform: translateY(12px) rotate(-45deg);
  }
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-2.5vw) rotate(45deg);
          transform: translateY(-2.5vw) rotate(45deg);
  bottom: 1.1vw;
}

@media only screen and (min-width: 840px) {
  .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-12px) rotate(45deg);
            transform: translateY(-12px) rotate(45deg);
    bottom: 0;
  }
}

.menu-trigger span {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: .5vw;
  background-color: #3E3E3E;
}

@media only screen and (min-width: 840px) {
  .menu-trigger span {
    height: 4px;
  }
}

.menu-trigger span:nth-of-type(1) {
  top: 0;
}

.menu-trigger span:nth-of-type(2) {
  top: 2.8vw;
}

@media only screen and (min-width: 840px) {
  .menu-trigger span:nth-of-type(2) {
    top: 12px;
  }
}

.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

nav {
  max-width: 840px;
  height: 100%;
  padding-top: 100px;
  background-color: rgba(255, 216, 246, 0.95);
  position: fixed;
  top: -100%;
  left: 0px;
  margin: auto;
  right: 0;
  z-index: 2;
  -webkit-transform: translate(0);
          transform: translate(0);
  -webkit-transition: all .5s;
  transition: all .5s;
}

@media only screen and (min-width: 840px) {
  nav {
    max-width: 840px;
    padding-top: 120px;
  }
}

nav.open {
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

nav li {
  color: #3E3E3E;
  text-align: left;
  border-bottom: 1px solid #3E3E3E;
  width: 80vw;
  margin: auto;
}

@media only screen and (min-width: 840px) {
  nav li {
    padding: 20px 0;
    width: 90%;
  }
}

nav li a {
  color: #3E3E3E;
  font-size: 2.2rem;
  text-shadow: 1px 2px 1px rgba(255, 255, 255, 0.3);
  display: block;
  padding: 15px 0 15px .5em;
}

@media only screen and (min-width: 840px) {
  nav li a {
    font-size: 2.2rem;
    padding: 10px 0 10px 1em;
  }
}

nav li:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

main {
  padding-bottom: 200px;
}

@media only screen and (min-width: 840px) {
  main {
    max-width: 840px;
    padding: 20px 4vw;
  }
}

main section {
  width: 90vw;
  margin: auto;
}

@media only screen and (min-width: 840px) {
  main section {
    width: 100%;
  }
}

h2 {
  font-size: 2rem;
  border-bottom: 1px solid #3E3E3E;
  margin: 170px auto 40px;
  padding-bottom: 15px;
  font-weight: bold;
}

@media only screen and (min-width: 840px) {
  h2 {
    font-size: 2.5rem;
    margin: 250px auto 40px;
  }
}

h3 {
  line-height: 1.6;
  font-weight: normal;
  margin-bottom: 40px;
  font-size: 1.6rem;
}

@media only screen and (min-width: 840px) {
  h3 {
    font-size: 1.8rem;
  }
}

.btn a {
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  width: 70vw;
  -webkit-box-shadow: 1px 1px 3px #707070;
          box-shadow: 1px 1px 3px #707070;
  height: 60px;
  line-height: 60px;
  border-radius: 50px;
  display: inline-block;
  margin: auto;
}

@media only screen and (min-width: 840px) {
  .btn a {
    font-size: 2.2rem;
    width: 70%;
  }
}

.pink {
  background: #FF006C;
}

.orange {
  background: #FF4E00;
}

.enter {
  text-align: left;
  margin: 0 auto 30px;
}

@media only screen and (min-width: 840px) {
  .enter {
    width: 70%;
  }
}

.enter dt {
  margin-bottom: 8px;
  font-size: 1.4rem;
  font-weight: normal;
}

@media only screen and (min-width: 840px) {
  .enter dt {
    font-size: 1.6rem;
  }
}

.line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.line input {
  width: 48%;
}

.caution {
  font-size: 1.4rem;
  margin-top: 8px;
}

.agree {
  font-size: 1.4rem;
  line-height: 1.6;
}

.btn_under {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  bottom: 0;
  z-index: 0;
}

@media only screen and (min-width: 840px) {
  .btn_under {
    width: 70%;
    margin: 120px auto 0;
    position: relative;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 100px;
  }
}

.btn_under input, .btn_under p a {
  border: none;
  border-radius: 0;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  height: 80px;
  line-height: 80px;
  display: block;
}

@media only screen and (min-width: 840px) {
  .btn_under input, .btn_under p a {
    height: 60px;
    line-height: 60px;
  }
}

.btn_under .back {
  background: #B7B7B7;
  width: 30vw;
  padding: 0;
}

@media only screen and (min-width: 840px) {
  .btn_under .back {
    width: 20%;
    margin-right: 3%;
  }
}

.btn_under .back.long {
  width: 100vw;
}

@media only screen and (min-width: 840px) {
  .btn_under .back.long {
    width: 40%;
  }
}

.btn_under .next {
  background: #FF4E00;
  width: 70vw;
  padding: 0;
}

@media only screen and (min-width: 840px) {
  .btn_under .next {
    width: 50%;
  }
}

.btn_under .home {
  background: #FF4E00;
  width: 100vw;
  padding: 0;
}

@media only screen and (min-width: 840px) {
  .btn_under .home {
    width: 300px;
  }
}

.btn_under .home.half {
  width: 70vw;
}

@media only screen and (min-width: 840px) {
  .btn_under .home.half {
    width: 300px;
  }
}

.reserve_label {
  display: block;
  margin-bottom: 20px;
  font-weight: normal;
  font-size: 1.6rem;
}

@media only screen and (min-width: 840px) {
  .reserve_label {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
}

.mb20 {
  margin-bottom: 20px !important;
}

input, select {
  font-size: 1.4rem;
  height: 50px;
  line-height: 50px;
  background: #fff;
  border: 1px solid #3E3E3E;
  padding: 0 0 0 1rem;
  color: #3E3E3E;
  -webkit-appearance: none;
  width: 100%;
}

@media only screen and (min-width: 840px) {
  input, select {
    font-size: 1.6rem;
  }
}

input::-webkit-input-placeholder, select::-webkit-input-placeholder {
  color: #CDD6DD;
}

input:-ms-input-placeholder, select:-ms-input-placeholder {
  color: #CDD6DD;
}

input::-ms-input-placeholder, select::-ms-input-placeholder {
  color: #CDD6DD;
}

input::placeholder, select::placeholder {
  color: #CDD6DD;
}

select:invalid {
  color: #CDD6DD;
}

button {
  background: #FFFE42;
  height: 55px;
  line-height: 55px;
  color: #222222;
  font-weight: bold;
  font-size: 1.6rem;
  display: block;
}

@media only screen and (min-width: 840px) {
  button {
    font-size: 2rem;
  }
}

input {
  z-index: 0;
}

input:focus, select:focus, textarea:focus {
  outline: none;
  border: 2px solid #3153A5;
}

input[type=checkbox], input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

input[type=checkbox] {
  display: none;
}

input[type=checkbox]:checked + label:before {
  opacity: 1;
}

input[type=checkbox]:checked + label:after {
  border-color: #3153A5;
}

label {
  position: relative;
  padding: 0 0 0 4.5rem;
  font-size: 1.6rem;
  font-weight: bold;
}

@media only screen and (min-width: 840px) {
  label {
    font-size: 1.6rem;
  }
}

label:after, label:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
}

label:before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2.3rem;
  -webkit-transform: rotate(50deg);
  transform: rotate(50deg);
  width: 5px;
  height: 11px;
  border-right: 2px solid #3153A5;
  border-bottom: 2px solid #3153A5;
  opacity: 0;
}

label:after {
  left: 15px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

label:hover:after {
  border-color: #3153A5;
}

.select {
  position: relative;
}

.select:after {
  content: '';
  display: block;
  position: absolute;
  border: 1px solid transparent;
  width: 0;
  height: 0;
  right: 1em;
  z-index: 1;
  pointer-events: none;
  border-width: 5.5px 4px 0 4px;
  border-top-color: #202020;
  top: 48%;
}

@media only screen and (min-width: 768px) {
  .select:after {
    right: 1em;
  }
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
  padding-top: 30px;
}

/*選択されているタブのコンテンツのみを表示*/
#day:checked ~ #content_day,
#later:checked ~ #content_later,
#already:checked ~ #design_content {
  display: block;
}

.question .tab_content {
  padding: 0;
}

#allergy_no:checked ~ #allergy_no,
#allergy_yes:checked ~ #allergy_yes {
  display: block;
}

div#allergy_no {
  padding: 0 !important;
}

#sleep_good:checked ~ #sleep_good,
#sleep_bad:checked ~ #sleep_bad {
  display: block;
}

div#sleep_good {
  padding: 0 !important;
}

#urination_good:checked ~ #urination_good,
#urination_bad:checked ~ #urination_bad {
  display: block;
}

div#urination_good {
  padding: 0 !important;
}

#excreting_good:checked ~ #excreting_good,
#excreting_bad:checked ~ #excreting_bad {
  display: block;
}

div#excreting_good {
  padding: 0 !important;
}

#physiology_good:checked ~ #physiology_good,
#physiology_bad:checked ~ #physiology_bad {
  display: block;
}

div#physiology_good {
  padding: 0 !important;
}

#other_good:checked ~ #other_good,
#other_bad:checked ~ #other_bad {
  display: block;
}

div#other_good {
  padding: 0 !important;
}

#go_no:checked ~ #go_no,
#go_yes:checked ~ #go_yes {
  display: block;
}

div#go_no {
  padding: 0 !important;
}

#medicine_no:checked ~ #medicine_no,
#medicine_yes:checked ~ #medicine_yes {
  display: block;
}

div#medicine_no {
  padding: 0 !important;
}

#injury_no:checked ~ #injury_no,
#injury_yes:checked ~ #injury_yes {
  display: block;
}

div#injury_no {
  padding: 0 !important;
}

#treatment_no:checked ~ #treatment_no,
#treatment_yes:checked ~ #treatment_yes {
  display: block;
}

div#treatment_no {
  padding: 0 !important;
}

#part_no:checked ~ #part_no,
#part_yes:checked ~ #part_yes {
  display: block;
}

div#part_no {
  padding: 0 !important;
}

/*選択されているタブのスタイルを変える*/
.tab_content .plan {
  width: 90vw;
  margin-bottom: 20px;
}

@media only screen and (min-width: 840px) {
  .tab_content .plan {
    width: 90%;
  }
}

.tab_content .days {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tab_content .days .select {
  width: 25vw;
  margin-bottom: 30px;
}

@media only screen and (min-width: 840px) {
  .tab_content .days .select {
    width: 35%;
  }
}

.tab_content span {
  margin: 0 15px 0 10px;
  height: 50px;
  line-height: 50px;
}

.tab_content .news {
  background: #FF006C;
  border-radius: 10px;
  padding: 10px 0px;
  color: #fff;
  text-align: center;
  line-height: 1.6;
}

.tab_content .text {
  text-align: center;
  font-size: 1.6rem;
}

@media only screen and (min-width: 840px) {
  .tab_content .text {
    font-size: 1.8rem;
  }
}

.text_q {
  text-align: left;
  margin-bottom: 12px;
  font-size: 1.4rem;
}

@media only screen and (min-width: 840px) {
  .text_q {
    font-size: 1.6rem;
  }
}

.text_q:not(:first-child) {
  margin-top: 50px;
}

.symptoms {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 70vw;
}

@media only screen and (min-width: 840px) {
  .symptoms {
    width: 90%;
  }
}

.symptoms p {
  width: 35vw;
  text-align: left;
  margin-bottom: 10px;
  margin-left: -3.5vw;
}

@media only screen and (min-width: 840px) {
  .symptoms p {
    width: 25%;
    margin-left: -2%;
  }
}

.symptoms label {
  font-weight: normal;
  font-size: 1.6rem;
}

@media only screen and (min-width: 840px) {
  .symptoms label {
    font-size: 1.8rem;
  }
}

textarea {
  width: 100%;
  font-size: 1.4rem;
  padding: 10px 0 0 10px;
  -webkit-appearance: none;
}

@media only screen and (min-width: 840px) {
  textarea {
    font-size: 1.6rem;
  }
}

::-webkit-input-placeholder {
  color: #CDD6DD;
}

:-ms-input-placeholder {
  color: #CDD6DD;
}

::-ms-input-placeholder {
  color: #CDD6DD;
}

::placeholder {
  color: #CDD6DD;
}

input[type=radio] {
  display: none;
}

.gender dt {
  margin-bottom: 10px;
}

.gender label {
  margin-left: -1.5rem;
  padding: 0 0 0 4rem;
  font-weight: normal;
}

.gender label:nth-of-type(1) {
  margin-right: 1rem;
}

.gender label:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
}

.gender label:before {
  left: 20px;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  background: #004BB1;
  border-radius: 50%;
  opacity: 0;
}

input[type=radio]:checked + label:before {
  opacity: 1;
}

.gender label:after {
  left: 15px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  border: 2px solid #3E3E3E;
  border-radius: 50%;
}

.gender label:after, .gender label:before {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
}

.blood_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 7px;
}

.blood_box p {
  width: 48vw;
  margin-right: 2vw;
}

@media only screen and (min-width: 840px) {
  .blood_box p {
    width: 30%;
    margin-right: 1%;
  }
}

.blood_box p:not(:first-child) {
  margin-right: 0;
}

.excreting_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 7px;
}

.excreting_box p {
  width: 20vw;
  margin-right: 2vw;
  margin-bottom: 20px;
}

@media only screen and (min-width: 840px) {
  .excreting_box p {
    width: 20%;
    margin-right: 1%;
  }
}

.excreting_box p:not(:first-child) {
  margin-right: 0;
}

#sleep_bad, #urination_bad, #excreting_bad, #physiology_bad, #other_bad, #go_yes, #medicine_yes, #injury_yes, #treatment_yes, #part_yes {
  padding-top: 0px;
}

.sleeparea, .urinationarea, .excretingarea, .physiologyarea, .treatmentarea, .partarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 10px;
}

.sleeparea p, .urinationarea p, .excretingarea p, .physiologyarea p, .treatmentarea p, .partarea p {
  width: 43vw;
  padding: 2px 0 0;
  margin-bottom: 8px;
}

@media only screen and (min-width: 840px) {
  .sleeparea p, .urinationarea p, .excretingarea p, .physiologyarea p, .treatmentarea p, .partarea p {
    width: 40%;
  }
}

.sleeparea label.checkbox:before, .urinationarea label.checkbox:before, .excretingarea label.checkbox:before, .physiologyarea label.checkbox:before, .treatmentarea label.checkbox:before, .treatmentarea label.checkbox:before, .partarea label.checkbox:before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2.3rem;
  -webkit-transform: rotate(50deg);
  transform: rotate(50deg);
  width: 5px;
  height: 11px;
  border-right: 2px solid #3153A5;
  border-bottom: 2px solid #3153A5;
  opacity: 0;
  margin-top: 0;
  background: none;
  border-radius: 0;
}

.sleeparea label.checkbox:after, .urinationarea label.checkbox:after, .excretingarea label.checkbox:after, .physiologyarea label.checkbox:after, .treatmentarea label.checkbox:after, .partarea label.checkbox:after {
  left: 15px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.privacy{
  text-align: left;

}
.privacy p{
  font-size: 1.6rem;
  margin-bottom: 1rem;
    line-height: 1.8;
}
.privacy h3{
  font-size: 1.8rem;
  margin:2rem 0 .5rem;
    line-height: 1.8;
}
/*# sourceMappingURL=index.css.map */