@charset "UTF-8";
#header-sp {
  box-sizing: border-box;
  padding: 5px 10px;
  overflow: hidden;
  border-bottom: 2px solid #EC9BA5;
  position: fixed;
  width: 100%;
  background: #fff;
  z-index: 1000; }
  #header-sp #logo {
    width: 50%;
    max-width: 150px;
    float: left; }
  #header-sp #header-btn {
    width: 40%;
    max-width: 120px;
    float: right;
    padding: 10px 0 0; }
    #header-sp #header-btn ul {
      letter-spacing: -.4em;
      font-size: 0; }
      #header-sp #header-btn ul li {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: top;
        width: 32%;
        margin: 0 2% 0 0; }
        #header-sp #header-btn ul li a {
          display: block; }
        #header-sp #header-btn ul li:last-child {
          margin: 0; }

a img:hover {
  opacity: 0.7; }

#wrap {
  margin: 0 0 50px; }

/*-----------------------------------------------------------------------
nav
-----------------------------------------------------------------------*/
.DSmenu {
  width: 300px;
  background: #FFF;
  -webkit-transform: translateX(300px);
  transform: translateX(300px);
  -webkit-transition: ease .5s;
  transition: ease .5s;
  position: absolute;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999; }

.DSmenu.action {
  width: 200px;
  background: #FFF5F6;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  display: block;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); }
  .DSmenu.action #sp-nav {
    display: block; }

.DSmenu .DSbtn {
  position: absolute;
  top: 15px;
  left: -48px;
  background: #EC9BA5;
  width: 38.4px;
  height: 38.4px;
  border-radius: 50%;
  -webkit-transition: ease .5s;
  transition: ease .5s;
  cursor: pointer; }

.DSmenu .DSbtn:hover {
  position: absolute;
  top: 15px;
  left: -48px;
  background: #EC9BA5;
  width: 40px;
  height: 40px;
  border-radius: 50%; }

#sp-nav {
  display: none; }
  #sp-nav ul {
    margin: 2.0em 0 0; }
    #sp-nav ul li {
      display: block;
      padding: 1.0em;
      box-sizing: border-box; }
      #sp-nav ul li a {
        color: #EC9BA5;
        font-weight: bold;
        padding: 0 0 0 1.0em;
        display: block;
        position: relative; }
        #sp-nav ul li a:before {
          display: block;
          content: "";
          position: absolute;
          top: 50%;
          left: 0;
          width: 0;
          height: 0;
          margin-top: -3px;
          border: 3px solid transparent;
          border-left: 3px solid #EC9BA5; }

.DSmenu .DSbtn .hambarg:nth-child(1) {
  position: absolute;
  top: 34%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: 1px;
  width: 14px;
  background: #fff;
  -webkit-transition: ease .5s;
  transition: ease .5s; }

.hambarg:nth-child(2) {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: 1px;
  width: 14px;
  background: #fff;
  -webkit-transition: ease .5s;
  transition: ease .5s; }

.hambarg:nth-child(3) {
  position: absolute;
  top: 66%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: 1px;
  width: 14px;
  background: #fff;
  -webkit-transition: ease .5s;
  transition: ease .5s; }

.DSmenu.action .DSbtn .hambarg:nth-child(1) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg); }

.DSmenu.action .DSbtn .hambarg:nth-child(2) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0; }

.DSmenu.action .DSbtn .hambarg:nth-child(3) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg); }

.head-bar {
  background: red;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 40px;
  padding: 5px 0;
  overflow: hidden;
  z-index: 1; }

.reserve-txt {
  position: absolute;
  right: 6px;
  top: 5px; }

.reserve-txt a {
  color: #333;
  font-weight: bold;
  text-decoration: none;
  display: block;
  text-align: center;
  background: #FFC800;
  padding: 0 10px;
  height: 40px;
  line-height: 40px;
  letter-spacing: 0.1em; }

/*-----------------------------------------------------------------------
nav END
-----------------------------------------------------------------------*/
span.bt {
  font-weight: bold; }
span.bty {
  font-weight: bold;
  background: linear-gradient(transparent 50%, #FFFF00 50%); }

iframe {
  width: 100%;
  height: auto;
  vertical-align: bottom; }

#header-pc {
  display: none; }

#nav-pc {
  display: none; }

#main-visual {
  padding: 70px 0 0; }

.bg01 {
  background: #EC9BA5; }
  .bg01 .content-sub span {
    background: #fff;
    color: #EC9BA5; }

.bg02 {
  background: #FFFFEF; }
  .bg02 h2 {
    color: #EC9BA5; }
    .bg02 h2:before, .bg02 h2:after {
      content: "";
      height: 1px;
      flex-grow: 1;
      background-color: #EC9BA5; }

.bg03 {
  background: #fff; }
  .bg03 h2 {
    color: #EC9BA5; }
    .bg03 h2:before, .bg03 h2:after {
      content: "";
      height: 1px;
      flex-grow: 1;
      background-color: #EC9BA5; }

section {
  padding: 30px 0;
  overflow: hidden; }

h2 {
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 2.0rem;
  margin: 0 0 1.0em;
  display: flex;
  align-items: center; }
  h2:before, h2:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #fff; }
  h2:before {
    margin-right: 0.5rem; }
  h2:after {
    margin-left: 0.5rem; }

.inner {
  margin: 0 30px; }

#thought-block p {
  color: #fff; }

.thought-item {
  margin: 0 0 2.0em; }
  .thought-item .thought-item-img {
    margin: 0 auto 10px;
    width: 250px; }
  .thought-item .thought-item-txt span {
    font-weight: bold; }

.thought-item-wrap .thought-item-txt {
  margin: 0 0 2.0em; }

.thought-content p {
  margin: 0 0 2.0em; }

#coverage-block h2,
#offer-block h2 {
  color: #EC9BA5;
  box-sizing: border-box;
  width: 98%;
  margin: 0 auto 1.5em;
  padding: 1.0em 0;
  background: #FCFCFC;
  border: 2px solid #EC9BA5;
  position: relative;
  display: block; }
  #coverage-block h2:before, #coverage-block h2:after,
  #offer-block h2:before,
  #offer-block h2:after {
    content: '';
    position: absolute;
    margin: 0;
    top: 100%;
    border: none;
    border-bottom: solid 20px transparent;
    height: 0;
    background-color: transparent; }
  #coverage-block h2:before,
  #offer-block h2:before {
    border-right: solid 20px #EC9BA5;
    left: -2px; }
  #coverage-block h2:after,
  #offer-block h2:after {
    border-left: solid 20px #EC9BA5;
    right: -2px; }

.content-sub {
  text-align: center;
  margin: 0 0 1.0em; }
  .content-sub span {
    min-width: 90%;
    font-weight: bold;
    color: #fff;
    background: #EC9BA5;
    padding: 10px 15px;
    font-size: 1.6rem;
    display: inline-block;
    border-radius: 30px;
    line-height: 1.2; }

.trouble-item .trouble-item-txt {
  background: #fff;
  box-sizing: border-box;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); }
  .trouble-item .trouble-item-txt ul li {
    margin: 0 0 1.0em;
    position: relative;
    padding: 0 0 0 19px; }
    .trouble-item .trouble-item-txt ul li:before {
      content: "";
      position: absolute;
      left: 0;
      top: 4px;
      width: 14px;
      height: 14px;
      background: url(../img/check01.svg) no-repeat;
      background-size: contain; }
    .trouble-item .trouble-item-txt ul li:last-child {
      margin: 0; }
.trouble-item .trouble-item-img {
  width: 200px;
  margin: 1.0em auto 0; }

#leave-block .inner p {
  margin: 0 0 2.0em; }
  #leave-block .inner p:last-child {
    margin: 0; }

.review-lead {
  margin: 0 0 30px; }
  .review-lead p {
    font-size: 1.2rem;
    margin: 0 0 1.0em; }
    .review-lead p:last-child {
      margin: 0; }

.review-content {
  margin: 0 0 40px; }
  .review-content .review-content-inenr {
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); }
  .review-content h3 {
    background: #EC9BA5;
    box-sizing: border-box;
    padding: 15px;
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem;
    position: relative; }
    .review-content h3:before {
      content: "";
      position: absolute;
      left: 10px;
      top: 10px;
      background: url(../img/comment_l.svg) no-repeat;
      background-size: contain;
      width: 8px;
      height: 7px; }
    .review-content h3:after {
      content: "";
      position: absolute;
      right: 10px;
      bottom: 10px;
      background: url(../img/comment_r.svg) no-repeat;
      background-size: contain;
      width: 8px;
      height: 7px; }
  .review-content span.info {
    display: block;
    color: #fff;
    line-height: 1.8;
    background: #EC9BA5;
    text-align: right;
    padding: 0 15px;
    box-sizing: border-box;
    border-top: 1px dotted #fff; }
  .review-content p.at-txt {
    margin: 1.0em 0 0;
    padding: 0 1.0em;
    font-size: 1.2rem; }

.review-txt .q-txt {
  box-sizing: border-box;
  background: #FFF5F6;
  font-weight: bold;
  font-size: 1.6rem;
  padding: 10px;
  position: relative; }
  .review-txt .q-txt:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #FFF5F6; }
  .review-txt .q-txt p {
    color: #EC9BA5;
    position: relative;
    padding: 0 0 0 40px; }
    .review-txt .q-txt p:before {
      content: "Q";
      position: absolute;
      left: 0;
      top: 0;
      color: #EC9BA5;
      background: #fff;
      font-size: 2.0rem;
      border-radius: 50%;
      width: 30px;
      height: 30px;
      line-height: 30px;
      text-align: center; }
.review-txt .a-txt {
  box-sizing: border-box;
  padding: 20px 10px; }
  .review-txt .a-txt p {
    position: relative;
    padding: 0 0 0 40px; }
    .review-txt .a-txt p:before {
      content: "A";
      position: absolute;
      left: 0;
      top: 0;
      color: #fff;
      background: #EC9BA5;
      font-size: 2.0rem;
      border-radius: 50%;
      width: 30px;
      height: 30px;
      line-height: 30px;
      text-align: center; }

.profile-item .profile-item-img {
  max-width: 200px;
  margin: 0 auto 20px; }
.profile-item .profile-item-txt {
  background: #fff;
  box-sizing: border-box;
  padding: 20px;
  position: relative; }
  .profile-item .profile-item-txt:before {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-bottom: 15px solid #fff; }
  .profile-item .profile-item-txt p {
    margin: 0 0 2.0em; }
    .profile-item .profile-item-txt p:last-child {
      margin: 0; }

.reason-content {
  box-sizing: border-box;
  padding: 20px;
  background: #fff;
  border: 2px solid #FBF1D8;
  margin: 0 0 20px; }
  .reason-content h3 {
    font-weight: bold;
    color: #EC9BA5;
    font-size: 1.8rem;
    margin: 0 0 1.0em;
    padding: 0 0 0.3em 30px;
    border-bottom: 1px dotted #B2B2B2;
    position: relative;
    line-height: 1.4; }
    .reason-content h3:before {
      content: "";
      position: absolute;
      left: 0;
      top: 2px;
      width: 25px;
      height: 25px;
      background: url(../img/reason_num01.svg) no-repeat;
      background-size: contain; }
  .reason-content:nth-child(2) h3:before {
    background: url(../img/reason_num02.svg) no-repeat;
    background-size: contain; }
  .reason-content:nth-child(3) h3:before {
    background: url(../img/reason_num03.svg) no-repeat;
    background-size: contain; }
  .reason-content:nth-child(4) h3:before {
    background: url(../img/reason_num04.svg) no-repeat;
    background-size: contain; }
  .reason-content:nth-child(5) {
    margin: 0; }
    .reason-content:nth-child(5) h3:before {
      background: url(../img/reason_num05.svg) no-repeat;
      background-size: contain; }
  .reason-content .reason-content-inner .reason-img {
    margin: 0 0 1.0em; }
  .reason-content .reason-content-inner .reason-txt p {
    margin: 0 0 1.0em; }
    .reason-content .reason-content-inner .reason-txt p:last-child {
      margin: 0; }
  .reason-content .reason-content-ex {
    box-sizing: border-box;
    padding: 10px;
    margin: 20px 0 0;
    background: #FCFCFC; }
    .reason-content .reason-content-ex p.lead {
      text-align: center;
      font-weight: bold;
      color: #EC9BA5;
      display: flex;
      align-items: center;
      line-height: 1.2;
      margin: 0 0 2.0em; }
      .reason-content .reason-content-ex p.lead:before, .reason-content .reason-content-ex p.lead:after {
        content: "";
        height: 1px;
        flex-grow: 1;
        background-color: #EC9BA5; }
      .reason-content .reason-content-ex p.lead:before {
        margin-right: 1.0rem; }
      .reason-content .reason-content-ex p.lead:after {
        margin-left: 1.0rem; }
    .reason-content .reason-content-ex .ex-list {
      letter-spacing: -.5em;
      margin: 0 0 20px;
      padding: 0 0 20px;
      border-bottom: 1px dotted #B2B2B2; }
      .reason-content .reason-content-ex .ex-list:last-child {
        margin: 0;
        padding: 0;
        border-bottom: 0; }
      .reason-content .reason-content-ex .ex-list .ex-list-l,
      .reason-content .reason-content-ex .ex-list .ex-list-r {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
        font-size: 1.3rem; }
      .reason-content .reason-content-ex .ex-list .ex-list-l {
        width: 40%;
        margin: 0 4% 0 0;
        background: #EC9BA5;
        color: #ffff00;
        font-weight: bold;
        text-align: center;
        padding: 0.2em 0; }
      .reason-content .reason-content-ex .ex-list .ex-list-r {
        width: 56%; }


.title_img{
  margin-top: 50px;
}
  .title_img img {
    max-width: 700px;
    margin: 0 auto;
  }

.pregnancyrate-content .pregnancyrate-inner {
  margin: 0 auto 25px;
  display: flex;
  justify-content: space-between;
}
  .pregnancyrate-content .pregnancyrate-inner > p {
    width: 35%;
    max-width: 350px;
    padding-right: 10px;
    box-sizing: border-box;
  }
    .pregnancyrate-content .pregnancyrate-inner > p img {
      width: 100%;
    }
  .pregnancyrate-content .pregnancyrate-inner div {
    width: 65%;
    font-size: 1.8rem;
  }
    .pregnancyrate-content .pregnancyrate-inner div h3 {
      margin-bottom: 10px;
      border-bottom: 2px solid #ec9ba5;
    }
      .pregnancyrate-content .pregnancyrate-inner div h3 span {
        font-size: 1.4em;
      }
    .pregnancyrate-content .pregnancyrate-inner div h3:before {
      content: "●";
      color: #ec9ba5;
    }

.flow-content {
  box-sizing: border-box;
  padding: 20px;
  background: #FCFCFC;
  border: 2px solid #F2F2F2;
  margin: 0 0 20px;
  position: relative; }
  .flow-content:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -22px;
    width: 16px;
    height: 32px;
    background: url(../img/arrow01.svg) no-repeat;
    background-size: contain;
    z-index: 1; }
  .flow-content:nth-child(2) h3:before {
    background: url(../img/flow_num02.svg) no-repeat;
    background-size: contain; }
  .flow-content:nth-child(3) h3:before {
    background: url(../img/flow_num03.svg) no-repeat;
    background-size: contain; }
  .flow-content:nth-child(4) {
    margin: 0; }
    .flow-content:nth-child(4):before {
      background: none; }
    .flow-content:nth-child(4) h3:before {
      background: url(../img/flow_num04.svg) no-repeat;
      background-size: contain; }
  .flow-content h3 {
    font-weight: bold;
    color: #EC9BA5;
    font-size: 1.8rem;
    margin: 0 0 1.0em;
    padding: 0 0 0.3em 30px;
    border-bottom: 1px dotted #EC9BA5;
    position: relative;
    line-height: 1.4; }
    .flow-content h3:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 25px;
      height: 25px;
      background: url(../img/flow_num01.svg) no-repeat;
      background-size: contain; }
  .flow-content .flow-content-img {
    margin: 0 0 1.0em; }

.menu-content {
  box-sizing: border-box;
  padding: 0; }
  .menu-content:nth-child(2) {
    margin: 20px 0 0; }
    .menu-content:nth-child(2) .menu-title {
      background: #FFFAF0; }
      .menu-content:nth-child(2) .menu-title p.course {
        color: #ECD19B; }
      .menu-content:nth-child(2) .menu-title p.kakaku:before {
        background: #ECD19B; }
    .menu-content:nth-child(2) .menu-content-inner .menu-content-txt p.lead {
      color: #ECD19B; }
  .menu-content .menu-title {
    font-weight: bold;
    padding: 10px;
    box-sizing: border-box;
    font-size: 1.8rem;
    background: #FFF0F2; }
    .menu-content .menu-title p {
      display: inline-block; }
      .menu-content .menu-title p.course {
        color: #EC9BA5; }
      .menu-content .menu-title p.kakaku {
        color: #ff0000;
        padding: 0 0 0 1.0em;
        margin: 0 0 0 0.5em;
        position: relative; }
        .menu-content .menu-title p.kakaku:before {
          content: "";
          position: absolute;
          left: 0;
          top: 50%;
          width: 10px;
          height: 2px;
          background: #EC9BA5; }
        .menu-content .menu-title p.kakaku span {
          font-size: 1.4rem; }
    .menu-content .menu-title span.wbt {
      margin: 0.25em 0 0;
      font-size: 1.4rem;
      display: block;
      text-align: center;
      color: #ff0000;
      background: #fff; }
  .menu-content .menu-content-inner {
    background: #fff;
    box-sizing: border-box;
    padding: 20px; }
    .menu-content .menu-content-inner .menu-content-img {
      margin: 0 0 10px; }
    .menu-content .menu-content-inner .menu-content-txt p.lead {
      font-weight: bold;
      color: #EC9BA5;
      font-size: 1.6rem;
      margin: 0 0 1.0em; }

.offer-contact-item {
  border-bottom: 1px dotted #EC9BA5;
  padding: 0 0 1.0em;
  margin: 0 0 1.0em; }

.offer-item {
  box-sizing: border-box;
  padding: 10px;
  margin: 0 0 1.0em; }
  .offer-item .offer-img {
    margin: 0 0 10px; }
  .offer-item .offer-txt p {
    font-weight: bold;
    margin: 0 0 1.0em; }
    .offer-item .offer-txt p.lead {
      text-align: center;
      color: #fff;
      background: #EC9BA5;
      padding: 0.5em 0;
      margin: 0 0 1.5em;
      position: relative;
      font-size: 1.6rem; }
      .offer-item .offer-txt p.lead:before {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -15px;
        border: 15px solid transparent;
        border-top: 15px solid #EC9BA5; }
      .offer-item .offer-txt p.lead span {
        color: #ffff00; }

.offer-contact-wrap {
  box-sizing: border-box;
  background: #EC9BA5;
  padding: 10px;
  margin: 0 0 20px; }
  .offer-contact-wrap .offer-contact {
    box-sizing: border-box;
    padding: 20px;
    background: #fff; }
    .offer-contact-wrap .offer-contact a {
      display: block; }
    .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-img {
      display: none; }
    .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt p {
      font-weight: bold;
      text-align: center;
      line-height: 1.3; }
      .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt p.offer-txt02 a {
        color: #EC9BA5;
        text-decoration: none;
        font-size: 3.6rem; }
      .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt p.offer-txt03 {
        color: #ff0000; }
    .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt ul {
      margin: 1.0em 0 0; }
      .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt ul li {
        margin: 0 0 0.5em;
        padding: 0 0 0 15px;
        position: relative; }
        .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt ul li:last-child {
          margin: 0; }
        .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt ul li:before {
          content: "";
          position: absolute;
          width: 7px;
          height: 7px;
          background: #EC9BA5;
          top: 7px;
          left: 0; }
        .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt ul li span {
          display: block; }

.line-box {
  box-sizing: border-box;
  padding: 20px;
  background: #33AE3A; }
  .line-box p.lead {
    margin: 0 auto 1.0em; }

.line-item {
  letter-spacing: -.5em; }
  .line-item .line-item-l,
  .line-item .line-item-r {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: bottom; }
  .line-item .line-item-l {
    width: 20%;
    margin: 0 2% 0 0; }
  .line-item .line-item-r {
    width: 78%; }
    .line-item .line-item-r p {
      color: #ffff00; }

.line-box-inner {
  box-sizing: border-box;
  padding: 15px 10px;
  background: #fff; }
  .line-box-inner p.line-re-txt {
    text-align: center;
    font-weight: bold;
    color: #33AE3A;
    font-size: 2.0rem;
    margin: 0 0 1.0em; }

.line-box-content {
  box-sizing: border-box;
  border: 1px solid #33AE3A;
  padding: 10px;
  margin: 0 0 10px; }
  .line-box-content p.line-box-content-title {
    color: #33AE3A;
    font-weight: bold;
    font-size: 1.6rem;
    margin: 0 0 1.0em;
    padding: 0 0 0.5em;
    border-bottom: 1px solid #33AE3A; }
  .line-box-content a.line-btn {
    display: block;
    margin: 0.25em auto 1.0em;
    width: 80%; }
  .line-box-content .line-select-item {
    letter-spacing: -.5em; }
    .line-box-content .line-select-item .qr,
    .line-box-content .line-select-item .id {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: top;
      width: 50%; }
    .line-box-content .line-select-item .id {
      padding: 10px 0 0; }
      .line-box-content .line-select-item .id p {
        box-sizing: border-box;
        text-align: center;
        padding: 5px; }
        .line-box-content .line-select-item .id p.line-id {
          background: #33AE3A;
          color: #fff; }
        .line-box-content .line-select-item .id p.line-id-txt {
          background: #FCFCFC;
          border: 1px solid #f2f2f2;
          font-weight: bold; }

.access-item .access-item-img {
  margin: 0 0 20px; }
  .access-item .access-item-img ul {
    letter-spacing: -.5em;
    font-size: 0; }
    .access-item .access-item-img ul li {
      width: 50%;
      letter-spacing: normal;
      display: inline-block;
      vertical-align: top; }
.access-item .access-item-txt h3 {
  font-weight: bold;
  font-size: 2.0rem;
  color: #EC9BA5;
  margin: 0 0 0.5em;
  padding: 0 0 0.25em;
  border-bottom: 1px solid #EC9BA5; }
.access-item .access-item-txt iframe {
  margin: 20px 0 0; }

.talk-item .talk-item-l {
  width: 200px;
  margin: 0 auto 20px; }
.talk-item .talk-item-r {
  padding: 2.0em 0 0; }
  .talk-item .talk-item-r p {
    margin: 0 0 2.0em;
    color: #fff; }
    .talk-item .talk-item-r p:last-child {
      margin: 0; }
    .talk-item .talk-item-r p span {
      color: #ffff00;
      font-weight: bold; }

#footer-info-block {
  border-top: 5px solid #EC9BA5; }
  #footer-info-block #footer-info-inner {
    box-sizing: border-box;
    padding: 40px 20px; }
  #footer-info-block .footer-info-l {
    margin: 0 0 30px; }
    #footer-info-block .footer-info-l span {
      display: block;
      margin: 0 0 1.0em; }
  #footer-info-block .footer-info-r ul {
    margin: 0 0 1.0em; }
    #footer-info-block .footer-info-r ul li {
      display: inline-block;
      margin: 0 1.0em 0 0; }
      #footer-info-block .footer-info-r ul li a {
        color: #EC9BA5;
        text-decoration: none;
        position: relative;
        padding: 0 0 0 0.5em;
        line-height: 2.0; }
        #footer-info-block .footer-info-r ul li a:before {
          display: block;
          content: "";
          position: absolute;
          top: 50%;
          left: 0;
          width: 0;
          height: 0;
          margin-top: -3px;
          border: 3px solid transparent;
          border-left: 3px solid #EC9BA5; }
  #footer-info-block .footer-info-r .footer-info-time-wrap {
    margin: 0 0 20px; }
    #footer-info-block .footer-info-r .footer-info-time-wrap .footer-info-time p {
      box-sizing: border-box;
      padding: 10px;
      text-align: center;
      font-weight: bold; }
      #footer-info-block .footer-info-r .footer-info-time-wrap .footer-info-time p.footer-info-txt01 {
        background: #EC9BA5;
        color: #fff;
        font-size: 1.6rem; }
      #footer-info-block .footer-info-r .footer-info-time-wrap .footer-info-time p.footer-info-txt02 {
        background: #FFF5F6;
        color: #333; }
  #footer-info-block .footer-info-r a.foot-mail {
    display: block; }

#foot-sp-contact {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 9999;
  width: 100%; }
  #foot-sp-contact ul {
    width: 100%;
    letter-spacing: -.5em;
    font-size: 0; }
    #foot-sp-contact ul li {
      width: 50%;
      letter-spacing: normal;
      display: inline-block;
      vertical-align: top;
      font-size: 1.3rem; }
      #foot-sp-contact ul li a {
        display: block;
        color: #fff;
        text-decoration: none;
        background: #00CC3A;
        box-sizing: border-box;
        padding: 5px 10px 5px 40px;
        width: 100%;
        font-weight: bold;
        text-align: center; }
        #foot-sp-contact ul li a span.in-txt {
          background: #fff;
          color: #00CC3A;
          padding: 2px 6px;
          box-sizing: border-box;
          margin: 5px 0 0;
          border-radius: 4px;
          font-size: 1.3rem; }
        #foot-sp-contact ul li a span.mail-icon {
          position: relative; }
          #foot-sp-contact ul li a span.mail-icon:before {
            content: "";
            position: absolute;
            left: -37px;
            top: 20%;
            width: 32px;
            height: 48px;
            background: url(../img/mail_icon.png) no-repeat;
            background-size: contain; }
        #foot-sp-contact ul li a span.tel-icon {
          position: relative; }
          #foot-sp-contact ul li a span.tel-icon:before {
            content: "";
            position: absolute;
            left: -30px;
            top: 6%;
            width: 20px;
            height: 37px;
            background: url(../img/tel_icon.png) no-repeat;
            background-size: contain; }
      #foot-sp-contact ul li:last-child a {
        background: #FF7F00; }
        #foot-sp-contact ul li:last-child a span.in-txt {
          color: #FF7F00; }

#page-top {
  position: fixed;
  right: 2%;
  bottom: 60px; }
  #page-top a {
    display: block; }
    #page-top a img {
      width: 30px;
      height: 30px; }

/*media Queries PCサイズ（1000px以上）
----------------------------------------------------*/
@media only screen and (min-width: 1000px) {
  #header-sp {
    display: none; }

  #sp-nav {
    display: none; }

  .wh,
  .DSmenu {
    display: none; }

  #header-inner {
    border-bottom: 2px solid #EC9BA5; }

  #header-pc {
    display: block;
    width: 1100px;
    margin: 0 auto;
    padding: 10px 0;
    overflow: hidden; }
    #header-pc #logo {
      float: left;
      width: 192px; }
    #header-pc #header-pc-content {
      float: right;
      width: 830px; }
      #header-pc #header-pc-content .header-pc-content-inner {
        letter-spacing: -.4em;
        padding: 6px 0 0; }
        #header-pc #header-pc-content .header-pc-content-inner .header-pc-tel,
        #header-pc #header-pc-content .header-pc-content-inner ul,
        #header-pc #header-pc-content .header-pc-content-inner .header-pc-mail {
          letter-spacing: normal;
          display: inline-block;
          vertical-align: bottom; }
        #header-pc #header-pc-content .header-pc-content-inner .header-pc-tel {
          width: 228px;
          margin: 0 20px 0 0; }
        #header-pc #header-pc-content .header-pc-content-inner ul {
          width: 210px;
          margin: 0 60px 0 0; }
          #header-pc #header-pc-content .header-pc-content-inner ul li {
            font-size: 1.4rem;
            position: relative;
            padding: 0 0 0 10px; }
            #header-pc #header-pc-content .header-pc-content-inner ul li:last-child {
              margin: 10px 0 0; }
            #header-pc #header-pc-content .header-pc-content-inner ul li:before {
              content: "";
              position: absolute;
              width: 7px;
              height: 7px;
              background: #EC9BA5;
              top: 7px;
              left: 0; }
            #header-pc #header-pc-content .header-pc-content-inner ul li span {
              position: absolute;
              right: 16px;
              top: 0;
              font-size: 1.2rem;
              font-weight: bold; }
        #header-pc #header-pc-content .header-pc-content-inner .header-pc-mail {
          width: 304px; }

  .menu-container {
    display: none; }

  #main-visual {
    background: url(../img/mainvisual_bg.png) top center no-repeat;
    background-size: cover;
    padding: 0; }
    #main-visual span.pc {
      width: 1100px;
      margin: 0 auto; }

  #nav-pc {
    display: block;
    box-shadow: 0px 6px 3px -3px rgba(0, 0, 0, 0.1);
    background: #fff; }
    #nav-pc ul {
      width: 1100px;
      margin: 0 auto;
      display: table; }
      #nav-pc ul li {
        width: 14.28%;
        display: table-cell;
        text-align: center;
        vertical-align: middle;
        border-right: 1px dotted #F2F2F2;
        box-sizing: border-box; }
        #nav-pc ul li:first-child {
          border-left: 1px dotted #F2F2F2; }
        #nav-pc ul li a {
          color: #EC9BA5;
          background: #fff;
          text-decoration: none;
          font-weight: bold;
          display: block;
          padding: 1.5em 0; }
          #nav-pc ul li a:hover {
            color: #8C505A; }

  .clone-nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    transition: .3s;
    transform: translateY(-100%); }

  .is-show {
    transform: translateY(0); }

  h2 {
    font-size: 4.0rem;
    width: 1100px;
    margin: 0 auto 1.0em; }

  section {
    padding: 100px 0; }

  .inner {
    width: 1000px;
    margin: 0 auto; }

  #thought-block .inner {
    width: 960px; }

  .thought-item {
    letter-spacing: -.4em;
    margin: 0 0 3.0em; }
    .thought-item .thought-item-img,
    .thought-item .thought-item-txt {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: middle; }
    .thought-item .thought-item-img {
      width: 250px;
      margin: 0 50px 0 0; }
    .thought-item .thought-item-txt {
      width: 660px;
      font-size: 2.0rem; }

  .thought-content p {
    font-size: 1.8rem;
    margin: 0 0 3.0em; }

  .thought-item-wrap .thought-item .thought-item-img {
    margin: 0 0 0 50px; }
  .thought-item-wrap .thought-item .thought-item-txt {
    margin: 0; }

  #coverage-block h2,
  #offer-block h2 {
    width: 1000px;
    margin: 0 auto 1.0em; }
  #coverage-block img,
  #offer-block img {
    display: block;
    width: 900px;
    margin: 0 auto; }

  .content-sub {
    margin: 4.0em 0; }
    .content-sub span {
      font-size: 2.9rem;
      min-width: auto; }

  #greeting-block iframe {
    height: 400px; }

  #trouble-block .inner {
    width: 1100px; }

  .trouble-item {
    letter-spacing: -.4em; }
    .trouble-item .trouble-item-txt,
    .trouble-item .trouble-item-img {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: bottom; }
    .trouble-item .trouble-item-txt {
      width: 620px; }
    .trouble-item .trouble-item-img {
      width: 454px;
      margin: 0 0 0 26px; }

  .trouble-item .trouble-item-txt {
    padding: 30px; }
    .trouble-item .trouble-item-txt ul li {
      font-size: 2.4rem;
      padding: 0 0 0 29px; }
      .trouble-item .trouble-item-txt ul li:before {
        width: 24px;
        height: 24px;
        top: 6px; }

  #leave-block .inner {
    width: 940px; }
  #leave-block p {
    font-size: 1.8rem; }

  #review-block .inner {
    width: 1100px; }

  .review-lead {
    text-align: center;
    margin: 0 0 50px; }
    .review-lead p {
      font-size: 1.6rem;
      margin: 0;
      line-height: 2.0; }

  .review-content-wrap {
    width: 1000px;
    margin: 0 auto;
    letter-spacing: -.4em; }
    .review-content-wrap .review-content {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: top;
      width: 49%;
      margin: 0 2% 2% 0; }
      .review-content-wrap .review-content:nth-child(1) h3 {
        padding: 2.0em 15px 0; }
      .review-content-wrap .review-content:nth-child(2n) {
        margin: 0 0 2%; }
      .review-content-wrap .review-content h3 {
        font-size: 2.6rem;
        padding: 15px 20px;
        height: 240px; }
        .review-content-wrap .review-content h3:before, .review-content-wrap .review-content h3:after {
          width: 16px;
          height: 14px; }
        .review-content-wrap .review-content h3:before {
          left: 5px; }
        .review-content-wrap .review-content h3:after {
          right: 5px; }
      .review-content-wrap .review-content span.info {
        font-size: 1.6rem; }
      .review-content-wrap .review-content p.at-txt {
        text-align: right; }

  .review-txt .q-txt {
    font-size: 2.0rem; }
  .review-txt .a-txt {
    line-height: 1.8; }

  #profile-block .inner {
    width: 1100px; }

  .profile-item {
    overflow: hidden; }
    .profile-item .profile-item-img {
      margin: 0 auto;
      width: 200px; }
      .profile-item-img .certificate {
        margin-top: 25px;
      }
    .profile-item .profile-item-txt {
      padding: 50px; }
      .profile-item .profile-item-txt:before {
        top: 6%;
        left: -15px;
        margin-top: -15px;
        border: 15px solid transparent;
        border-right: 15px solid #fff; }
      .profile-item .profile-item-txt p {
        font-size: 1.9rem;
        margin: 0 0 3.0em; }
        .profile-item .profile-item-txt p img {
          display: block;
          max-width: 780px;
          margin: 0 auto;
        }

  #reason-block .inner {
    width: 1100px; }

  .reason-content {
    padding: 40px 50px; }
    .reason-content:nth-child(2n) .reason-content-inner .reason-img {
      float: left;
      width: 250px; }
    .reason-content:nth-child(2n) .reason-content-inner .reason-txt {
      float: right;
      width: 730px; }
    .reason-content h3 {
      font-size: 3.0rem;
      padding: 0 0 0.5em 65px; }
      .reason-content h3:before {
        width: 50px;
        height: 50px;
        top: -2px; }
    .reason-content .reason-content-inner {
      overflow: hidden; }
      .reason-content .reason-content-inner .reason-img {
        float: right;
        width: 250px; }
      .reason-content .reason-content-inner .reason-txt {
        float: left;
        width: 730px; }
        .reason-content .reason-content-inner .reason-txt p {
          font-size: 2.0rem;
          margin: 0 0 2.0em; }
    .reason-content .reason-content-ex {
      margin: 60px 0 0;
      padding: 50px; }
      .reason-content .reason-content-ex p.lead {
        font-size: 2.4rem;
        margin: 0 0 1.25em; }
      .reason-content .reason-content-ex .ex-list .ex-list-l,
      .reason-content .reason-content-ex .ex-list .ex-list-r {
        vertical-align: middle; }
      .reason-content .reason-content-ex .ex-list .ex-list-l {
        width: 140px;
        margin: 0 20px 0 0;
        font-size: 2.0rem; }
      .reason-content .reason-content-ex .ex-list .ex-list-r {
        width: 720px;
        font-size: 2.0rem; }
  @-moz-document url-prefix() {
    .reason-content .reason-content-ex .ex-list .ex-list-r {
      line-height: 1.2; } }
  #flow-block .inner {
    width: 900px; }

  .flow-content {
    padding: 40px 50px; }
    .flow-content:before {
      width: 32px;
      height: 64px;
      bottom: -42px; }
    .flow-content h3 {
      font-size: 3.0rem;
      padding: 0 0 0.5em 65px; }
      .flow-content h3:before {
        width: 50px;
        height: 50px;
        top: -2px; }
    .flow-content .flow-content-inner {
      letter-spacing: -.5em; }
      .flow-content .flow-content-inner .flow-content-img,
      .flow-content .flow-content-inner .flow-content-txt {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: middle; }
      .flow-content .flow-content-inner .flow-content-img {
        width: 270px;
        margin: 0 30px 0 0; }
      .flow-content .flow-content-inner .flow-content-txt {
        width: 490px;
        font-size: 1.6rem; }

  #menu-block .inner {
    width: 1100px; }
  #menu-block .menu-title {
    padding: 15px 30px;
    font-size: 4.0rem; }
    #menu-block .menu-title p.kakaku {
      margin: 0 0 0 0.3em; }
      #menu-block .menu-title p.kakaku:before {
        width: 24px; }
      #menu-block .menu-title p.kakaku span {
        font-size: 2.8rem; }
    #menu-block .menu-title span.wbt {
      display: inline-block;
      font-size: 2.6rem;
      vertical-align: middle;
      margin: 0 0 0 0.3em;
      padding: 0.1em 0; }

  .menu-content .menu-content-inner {
    padding: 20px 30px;
    overflow: hidden; }
    .menu-content .menu-content-inner .menu-content-img {
      width: 300px;
      float: left; }
    .menu-content .menu-content-inner .menu-content-txt {
      width: 710px;
      float: right; }
      .menu-content .menu-content-inner .menu-content-txt p {
        font-size: 2.0rem; }
        .menu-content .menu-content-inner .menu-content-txt p.lead {
          font-size: 2.6rem; }

  #offer-block .offer-item {
    padding: 0 50px;
    margin: 0 0 80px;
    letter-spacing: -.5em; }
    #offer-block .offer-item .offer-img,
    #offer-block .offer-item .offer-txt {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: top; }
    #offer-block .offer-item .offer-img {
      width: 300px;
      margin: 0 30px 0 0; }
      #offer-block .offer-item .offer-img img {
        width: 300px; }
    #offer-block .offer-item .offer-txt {
      width: 570px; }
      #offer-block .offer-item .offer-txt p {
        font-size: 2.4rem; }
        #offer-block .offer-item .offer-txt p.lead {
          font-size: 3.0rem;
          margin: 0 0 0.5em; }
  #offer-block .offer-contact-wrap {
    padding: 50px; }
    #offer-block .offer-contact-wrap .offer-contact {
      padding: 30px 50px; }
      #offer-block .offer-contact-wrap .offer-contact a img {
        width: 100%; }
      #offer-block .offer-contact-wrap .offer-contact .offer-contact-item {
        letter-spacing: -.5em;
        margin: 0 0 2.0em;
        padding: 0 0 2.0em; }
        #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-img,
        #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt {
          letter-spacing: normal;
          display: inline-block;
          vertical-align: top; }
        #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-img {
          width: 150px;
          margin: 0 80px 0 0; }
          #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-img img {
            width: 150px; }
        #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt {
          width: 530px; }
          #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt p.offer-txt01 {
            font-size: 2.4rem; }
          #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt p.offer-txt02 a {
            font-size: 8.0rem; }
          #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt p.offer-txt03 {
            font-size: 3.0rem; }
          #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt ul {
            padding: 0 2.0em; }
            #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt ul li {
              font-size: 1.6rem;
              margin: 0; }
              #offer-block .offer-contact-wrap .offer-contact .offer-contact-item .offer-contact-txt ul li span {
                display: inline-block; }
  #offer-block .line-box {
    padding: 50px; }
    #offer-block .line-box .line-item .line-item-l,
    #offer-block .line-box .line-item .line-item-r {
      vertical-align: middle; }
    #offer-block .line-box .line-item .line-item-l img {
      width: 145px; }
    #offer-block .line-box .line-item .line-item-r p {
      font-size: 2.0rem; }
  #offer-block .line-box-inner {
    padding: 50px; }
    #offer-block .line-box-inner p.line-re-txt {
      font-size: 4.0rem; }
    #offer-block .line-box-inner .line-box-inner-item {
      letter-spacing: -.5em; }
      #offer-block .line-box-inner .line-box-inner-item .line-box-content {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: top;
        width: 394px;
        min-height: 518px;
        padding: 20px; }
        #offer-block .line-box-inner .line-box-inner-item .line-box-content p {
          font-size: 1.8rem; }
          #offer-block .line-box-inner .line-box-inner-item .line-box-content p.line-box-content-title {
            font-size: 2.8rem;
            margin: 0 0 0.5em; }
        #offer-block .line-box-inner .line-box-inner-item .line-box-content a.line-btn {
          width: 282px; }
          #offer-block .line-box-inner .line-box-inner-item .line-box-content a.line-btn img {
            width: 100%; }
        #offer-block .line-box-inner .line-box-inner-item .line-box-content:first-child {
          margin: 0 12px 0 0; }
        #offer-block .line-box-inner .line-box-inner-item .line-box-content .line-select-item .qr,
        #offer-block .line-box-inner .line-box-inner-item .line-box-content .line-select-item .id {
          vertical-align: middle; }
        #offer-block .line-box-inner .line-box-inner-item .line-box-content .line-select-item .qr img {
          width: 100%; }
        #offer-block .line-box-inner .line-box-inner-item .line-box-content .line-select-item .id {
          font-size: 2.2rem; }

  .access-item {
    letter-spacing: -.5em; }
    .access-item .access-item-img,
    .access-item .access-item-txt {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: top; }
    .access-item .access-item-img {
      width: 300px;
      margin: 0 50px 0 0; }
      .access-item .access-item-img ul li {
        display: block;
        width: 100%;
        margin: 0 0 20px; }
    .access-item .access-item-txt {
      width: 650px; }
      .access-item .access-item-txt h3 {
        font-size: 2.8rem; }
      .access-item .access-item-txt p {
        font-size: 1.8rem; }
      .access-item .access-item-txt iframe {
        margin: 40px 0 0;
        height: 300px; }

  .talk-item {
    letter-spacing: -.5em; }
    .talk-item .talk-item-l,
    .talk-item .talk-item-r {
      letter-spacing: normal;
      display: inline-block;
      vertical-align: top; }
    .talk-item .talk-item-l {
      width: 220px;
      margin: 0 50px 0 0px; }
    .talk-item .talk-item-r {
      width: 730px; }
      .talk-item .talk-item-r p {
        font-size: 1.8rem;
        margin: 0 0 3.0em; }

  #footer-info-block #footer-info-inner {
    padding: 60px 0;
    width: 960px;
    margin: 0 auto;
    overflow: hidden; }
    #footer-info-block #footer-info-inner .footer-info-l {
      width: 420px;
      float: left; }
      #footer-info-block #footer-info-inner .footer-info-l p {
        padding: 0 0 0 1.5em; }
    #footer-info-block #footer-info-inner .footer-info-r {
      width: 430px;
      float: right; }
      #footer-info-block #footer-info-inner .footer-info-r .footer-info-time-wrap {
        letter-spacing: -.5em; }
        #footer-info-block #footer-info-inner .footer-info-r .footer-info-time-wrap .footer-info-time {
          width: 49%;
          letter-spacing: normal;
          display: inline-block;
          vertical-align: top; }
          #footer-info-block #footer-info-inner .footer-info-r .footer-info-time-wrap .footer-info-time:first-child {
            margin: 0 2% 0 0; }

  #foot-sp-contact {
    display: none; }

  #page-top {
    bottom: 30px; }
    #page-top a img {
      width: 50px;
      height: 50px; } }

@media screen and (max-width: 600px){
  .pregnancyrate-content .pregnancyrate-inner div {
    width: 100%;
  }
  .pregnancyrate-content .pregnancyrate-inner div p.sp{
    width: 70%;
    margin: 0 auto 25px;
  }
  .pregnancyrate-content .pregnancyrate-inner div h3 {
    font-size: .95em;
  }
}

/* R7/8/10 ▼▼▼ FV改善（信頼性パーツ・CTA）用の追加CSS ▼▼▼ */

/* 信頼性パーツ 全体を囲むコンテナ */
.trust-badge-container {
  display: flex; /* 要素を横並びにする */
  justify-content: space-around; /* 要素を均等に配置 */
  align-items: flex-start; /* 上揃えで配置 */
  background-color: #FFF5F6; /* 背景色を薄いピンクに */
  padding: 20px 10px;
  border-bottom: 1px solid #f2f2f2;
}

/* 信頼性パーツ 各アイテム */
.trust-badge-item {
  flex: 1; /* 3つのアイテムが均等な幅を持つようにする */
  text-align: center; /* テキストと画像を中央揃えに */
}

/* 信頼性パーツ アイコン画像 */
.trust-badge-item img {
  max-width: 50px; /* アイコンの最大幅を指定 */
  height: auto;
  margin-bottom: 5px;
}

/* 信頼性パーツ テキスト */
.trust-badge-item p {
  font-size: 1.2rem; /* 文字サイズ */
  font-weight: bold;
  color: #EC9BA5; /* テーマカラーに合わせる */
  line-height: 1.4;
  margin: 0;
}

/* FV下のCTAエリア 全体を囲むコンテナ */
.fv-cta-container {
  background-color: #FFF5F6;
  padding: 0 20px 30px;
  text-align: center;
}

/* メインのCTAボタン */
.cta-button-main {
  display: inline-block;
  background-color: #FF7F00; /* 目立つオレンジ色 (既存のフッターボタンを参考) */
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 15px 20px;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  width: 100%;
  max-width: 400px; /* PC表示で横に広がりすぎないように */
  box-sizing: border-box;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s, transform 0.2s;
}

/* CTAボタンのホバーエフェクト */
.cta-button-main:hover {
  background-color: #e67300; /* 少し濃いオレンジに */
  transform: translateY(-2px); /* 少し浮き上がる動き */
  opacity: 1; /* 既存のa:hover設定を上書き */
}

/* CTAボタン下のマイクロコピー */
.cta-microcopy {
  margin-top: 10px;
  font-size: 1.2rem;
  color: #666;
}


/* -------------------------------------
   PC表示用のスタイル (1000px以上)
-------------------------------------- */
@media only screen and (min-width: 1000px) {

  .trust-badge-container {
    padding: 25px 0;
    max-width: 800px; /* PCでは中央に寄せる */
    margin: 0 auto;
    border-radius: 0 0 10px 10px;
  }

  .trust-badge-item img {
    max-width: 60px; /* PCではアイコンを少し大きく */
  }

  .trust-badge-item p {
    font-size: 1.4rem; /* PCではテキストを少し大きく */
  }

  .fv-cta-container {
    padding-bottom: 40px;
  }

  .cta-button-main {
    font-size: 2.2rem; /* PCではボタンの文字を大きく */
    padding: 20px 40px;
    max-width: 600px;
  }

  .cta-microcopy {
    font-size: 1.4rem; /* PCではマイクロコピーも少し大きく */
  }

}
/* ▲▲▲ 追加CSSここまで ▲▲▲ */

/* ▼▼▼ 【新規】解決策と科学的根拠セクション用のCSS ▼▼▼ */

/* 3つのアプローチを囲むラッパー */
.solution-wrap {
  margin-bottom: 40px;
}

/* 各アプローチのアイテム（カード） */
.solution-item {
  background-color: #fff;
  border: 1px solid #fde4e8; /* 優しいピンク色の枠線 */
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 4px 12px rgba(236, 155, 165, 0.1); /* 影を追加して立体感を出す */
  text-align: center;
}

/* 各アイテムのメイン見出し (h3) */
.solution-item h3 {
  font-size: 2.0rem;
  color: #fff;
  background-color: #EC9BA5; /* テーマカラーのピンク */
  padding: 10px;
  border-radius: 5px;
  margin: -20px -20px 20px -20px; /* カード上部に固定 */
  border-bottom: 3px solid #d98894;
  font-weight: bold;
}

/* 見出し内の数字 (①, ②, ③) */
.solution-item h3 .solution-num {
  display: inline-block;
  background-color: #fff;
  color: #EC9BA5;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  line-height: 28px;
  margin-right: 8px;
  font-size: 1.6rem;
}

.solution-item-inner img {
  max-width: 100%;
  height: auto;
  border-radius: 5px;
  margin-bottom: 15px;
}

/* 新しく追加したキャッチコピー用のスタイル */
.solution-headline {
  font-size: 1.8rem;
  font-weight: bold;
  color: #e47181;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 2px dotted #fbe6e9;
  line-height: 1.5;
}

/* 説明文のスタイル */
.solution-item-inner p {
  font-size: 1.5rem;
  text-align: left; /* 説明文は読みやすいように左揃えに */
  line-height: 1.7;
}

/* 客観的データボックス */
.evidence-box {
  background-color: #FFF5F6;
  border: 2px solid #EC9BA5;
  border-radius: 8px;
  padding: 20px;
  margin-top: 30px;
  text-align: center;
}

.evidence-box h4 {
  font-size: 2.0rem;
  color: #EC9BA5;
  font-weight: bold;
  margin: 0 0 5px 0;
}

.evidence-box .evidence-source {
  font-size: 1.2rem;
  color: #888;
  margin-bottom: 15px;
}

.evidence-box .evidence-graph {
  margin-bottom: 15px;
}

.evidence-box .evidence-caption {
  font-size: 1.6rem;
  line-height: 1.7;
}

/* 重要な数値を強調するスタイル */
.evidence-caption .large-text {
  font-size: 2.4rem;
  font-weight: bold;
  color: #ff0000; /* 強調のために赤色に */
  vertical-align: -3px; /* 周りのテキストと高さを調整 */
}

/* -------------------------------------
   PC表示用のスタイル (1000px以上)
-------------------------------------- */
@media only screen and (min-width: 1000px) {
  /* 3つのアイテムを横並びに */
  .solution-wrap {
    display: flex;
    justify-content: space-between;
    gap: 20px; /* アイテム間の隙間 */
  }

  .solution-item {
    flex: 1; /* 均等な幅に */
    margin-bottom: 0;
  }

  .solution-item h3 {
    font-size: 2.2rem;
  }

  .solution-headline {
    font-size: 2.0rem;
    min-height: 3em; /* PC表示で高さを揃える */
  }
  
  .evidence-box {
    padding: 30px;
  }

  .evidence-box h4 {
    font-size: 2.4rem;
  }
}

/* ▼▼▼ PC表示時のヘッダー背景色を修正するCSS ▼▼▼ */
#header-inner,
#nav-pc {
  background-color: #FFF5F6; /* 全体の背景色である薄いピンクを指定 */
}

/* PC表示時のナビゲーションのリンク背景色を上書き */
@media only screen and (min-width: 1000px) {
  #nav-pc ul li a {
    background: transparent; /* aタグの背景色を透明にして、親要素の背景色が見えるようにする */
  }
}
/* ▲▲▲ ヘッダー背景色修正ここまで ▲▲▲ */
/* ▼▼▼ CTAボタンを中央揃えにするためのCSS ▼▼▼ */
.cta-area {
  text-align: center; /* 中の要素を中央に配置する */
  margin-top: 40px; /* 上の要素との間に余白を追加 */
}

/* ▼▼▼ 【デザイン改善】よくあるご質問アコーディオン用のCSS ▼▼▼ */

/* 各質問項目全体 */
.q_a-item {
  border-bottom: 1px solid #fde4e8; /* 区切り線 */
  margin-bottom: 10px;
}
.q_a-item:last-child {
  border-bottom: none;
}

/* 質問部分 (クリックする部分) */
.q_a-item summary {
  display: flex; /* Qアイコンとテキストを横並びに */
  align-items: flex-start; /* 上揃え */
  position: relative;
  padding: 15px 40px 15px 0; /* 右側に＋マーク用の余白を確保 */
  font-size: 1.6rem;
  font-weight: bold;
  color: #666;
  cursor: pointer;
  list-style: none; /* 標準の▼マークを消す */
  transition: color 0.2s;
}

.q_a-item summary:hover {
  color: #EC9BA5; /* ホバー時にテーマカラーに */
}

/* 標準の▼マークを非表示 (一部ブラウザ用) */
.q_a-item summary::-webkit-details-marker {
  display: none;
}

/* Q. のアイコン */
.q-icon {
  font-family: 'Lato', sans-serif; /* 英字用のフォント */
  font-size: 2.0rem;
  color: #EC9BA5;
  margin-right: 10px;
  line-height: 1.2;
}

/* 回答部分のラッパー */
.a-txt {
  padding: 20px;
  background-color: #FFF5F6; /* 回答エリアの背景色 */
  border-radius: 5px;
  margin: 0 0 20px 0;
}

/* 回答のテキスト */
.a-txt p {
  display: flex;
  align-items: flex-start;
  font-size: 1.5rem;
  line-height: 1.8;
  color: #333;
}

/* A. のアイコン */
.a-icon {
  font-family: 'Lato', sans-serif;
  font-size: 2.0rem;
  color: #EC9BA5;
  margin-right: 10px;
  line-height: 1.2;
}

/* 開閉マーク（＋/－）のスタイル */
.q_a-item summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  font-size: 24px;
  font-weight: normal;
  color: #EC9BA5;
  transition: transform 0.3s;
}

/* 開いた状態（[open]）の時のスタイル */
.q_a-item[open] summary {
  color: #EC9BA5; /* 開いている時は常にテーマカラーに */
}

.q_a-item[open] summary::after {
  content: "−";
  transform: translateY(-50%) rotate(180deg);
}

/* -------------------------------------
   PC表示用のスタイル (1000px以上)
-------------------------------------- */
@media only screen and (min-width: 1000px) {
  .q_a-item summary {
    font-size: 1.8rem;
    padding: 20px 40px 20px 0;
  }
  .q_a-item summary .q-icon,
  .a-txt .a-icon {
    font-size: 2.2rem;
  }
}

/* ▼▼▼ 最終メッセージ内の強調テキストの視認性を改善するCSS ▼▼▼ */
#talk-block .bty {
  background: none; /* 問題の黄色いマーカー背景を削除 */
  color: #ffff00; /* 文字色自体をはっきりとした黄色に変更 */
  font-size: 1.1em; /* 少しだけ文字を大きくして強調 */
  padding: 0 0.2em; /* 文字の左右に少し余白を持たせる */
  border-bottom: 2px dotted rgba(255, 255, 255, 0.8); /* 主張しすぎない白い点線の下線を引く */
}