@charset "UTF-8";
/* =============================================
見出し

01.基本設定
02.共通クラス
03.コンテンツ

============================================= */
/* =============================================
01.基本設定
============================================= */
body {
  color: #5A5A5A;
  font-family: "Zen Maru Gothic", serif;
}

img {
  max-width: 100%;
}

.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 14px;
  box-sizing: border-box;
  overflow-x: hidden;
}

.page__yoteibi {
  position: relative;
}

.page__yoteibi p {
  font-weight: normal;
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 16px;
}

section * {
  box-sizing: border-box !important;
}
section .inner02 {
  background: white;
  padding: 20px 14px;
  width: 100%;
  border-radius: 10px;
  margin-bottom: 20px;
}
section a {
  text-decoration: unset;
  color: #5A5A5A;
}
section a:hover {
  cursor: pointer !important;
  opacity: 0.7;
  transition: 0.3s;
}
section p {
  font-weight: normal;
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 16px;
}
section .mb0 {
  margin-bottom: 0;
}
section li {
  list-style-type: none;
}
section .notification {
  font-size: 12px;
}

/* =============================================
02.共通クラス
============================================= */
.pc {
  display: block;
}
@media (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media (max-width: 767px) {
  .sp {
    display: block;
  }
}

.zen-maru {
  font-family: "Zen Maru Gothic", serif;
}

.red {
  color: #C1272D;
}

.pink {
  color: #FF9090;
}

.d-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.center {
  text-align: center;
}

.bold {
  font-weight: bold;
}

.space {
  padding: 30px 0;
}

/* =============================================
03.コンテンツ
============================================= */
.page__yoteibi {
  color: #5A5A5A;
}

.section__ttl {
  text-align: center;
  line-height: 1.5;
  font-family: "Zen Maru Gothic", serif;
  font-size: 22px;
  margin-bottom: 10px;
  font-weight: bold;
}
.section__ttl .sm {
  font-size: 20px;
}

.flow-arrow,
.flow-dot {
  position: relative;
  padding-bottom: 40px;
}
.flow-arrow::after,
.flow-dot::after {
  content: "";
  display: block;
  width: 20px;
  height: 14px;
  background: url(/navi_img/ninshin/due_date_calculator/flow-arrow.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-position: center;
  bottom: 10px;
}

.flow-dot::after {
  background: url(/navi_img/ninshin/due_date_calculator/flow-dot.png) no-repeat;
  background-size: contain;
  background-position: center;
  width: 60px;
}

.index {
  padding-bottom: 30px;
  /* 擬似要素で矢印（初期は閉じてる） */
  /* 開いてるときの矢印 */
}
.index .accordion-title {
  position: relative;
  padding-right: 20px;
  cursor: pointer;
  font-weight: bold;
  display: flex !important;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-bottom: 0px;
}
.index .accordion-title .sm {
  font-size: 12px;
  color: #8F8F8F;
}
.index .accordion-title .sm .under-line {
  text-decoration: underline;
}
.index .accordion-item {
  border: 1px solid #C7C7C7;
  padding: 14px;
  font-size: 16px;
  text-align: center;
  display: block !important;
}
.index .accordion-title::before {
  content: "▼";
  transition: transform 0.3s ease;
  color: #C7C7C7;
  font-size: 10px;
}
.index .accordion-title.active::before {
  content: "▲";
}
.index .accordion-content {
  display: none;
  padding: 10px 0;
}
.index .index__links {
  text-align: left;
  font-size: 14px;
}
.index .index__links > li {
  border-bottom: 1px dotted #C7C7C7;
  position: relative;
  padding: 10px 0px 10px 15px;
}
.index .index__links > li:last-of-type {
  border-bottom: 0;
  margin-bottom: -24px;
}
.index .index__links > li::before {
  content: "▶︎";
  color: #FFC3C3;
  font-size: 10px;
  position: absolute;
  top: 14px;
  left: 0;
}
.index .index__links > li a {
  display: block;
}
.index .index__links a {
  color: #5A5A5A;
  line-height: 1.5;
}
.index .sub__links > li {
  margin-top: 10px;
  padding-left: 14px;
  position: relative;
  display: flex;
}
.index .sub__links > li::before {
  content: "▶︎";
  color: #E0E0E0;
  font-size: 10px;
  position: absolute;
  top: 3px;
  left: 0;
}

.page__ttl {
  background: url(/navi_img/ninshin/due_date_calculator/bg-ttl.png) no-repeat;
  background-size: cover;
  margin-left: -20px;
  margin-right: -20px;
  padding: 50px 20px;
  background-position: center;
  position: relative;
  margin-bottom: 20px;
}
.page__ttl::after {
  content: "";
  display: block;
  width: 60px;
  height: 40px;
  background: url(/navi_img/ninshin/due_date_calculator/chara.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  bottom: 0;
}
.page__ttl h1 {
  font-size: 28px;
  text-align: center;
  font-family: "Zen Maru Gothic", serif;
  font-weight: bold !important;
}
.page__ttl .ttl__design01 {
  position: absolute;
  top: 0;
  max-width: 200px;
  left: 55%;
  transform: translatex(-50%);
}
.page__ttl .ttl__design02 {
  position: absolute;
  max-width: 240px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
}

.section__yoteibi {
  padding: 30px 0;
}
.section__yoteibi.yellow {
  background: #FFFBDD;
}
.section__yoteibi.blue {
  background: #EAF5F8;
}
.section__yoteibi .date-picker-btn {
  padding: 8px 20px;
  border: 2px solid #ccc;
  background: #fff;
  font-size: 16px;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.section__yoteibi .modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 9999;
}
.section__yoteibi .modal-content {
  background-color: #fff;
  margin: 10% auto;
  padding: 20px;
  text-align: center;
  max-width: 468px;
}
.section__yoteibi .modal-buttons {
  margin-top: 15px;
}
.section__yoteibi .modal-buttons button {
  margin: 5px;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  border: none;
}
.section__yoteibi .confirm-btn {
  background-color: #ff9999;
  color: #fff;
  border: none;
}
.section__yoteibi .date-picker-wrapper {
  display: flex;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-bottom: 10px;
  justify-content: center;
}
.section__yoteibi .date-picker-wrapper .icon {
  width: 16px;
  display: flex;
  align-items: center;
}
.section__yoteibi .submit {
  background: #FF9090;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 0 30px;
  font-size: 14px;
}
.section__yoteibi #openCalendar {
  color: #8F8F8F;
  font-size: 16px;
}
.section__yoteibi .ui-datepicker-calendar {
  width: 100%;
}
.section__yoteibi .ui-datepicker-calendar td {
  padding: 15px 0;
}
.section__yoteibi .ui-datepicker-calendar td a {
  color: #5A5A5A;
  pointer-events: none;
}
.section__yoteibi #cancelBtn {
  background: #E0E0E0;
}
.section__yoteibi .ui-datepicker-today {
  border-radius: 5px;
  box-sizing: border-box !important;
  outline: 1px solid #E0E0E0;
  outline-offset: -1px;
}
.section__yoteibi .ui-datepicker-current-day {
  background: #FFC3C3;
  border-radius: 5px;
  box-sizing: border-box !important;
  outline: 1px solid #FF9090;
  outline-offset: -1px;
}
.section__yoteibi .ui-datepicker-title {
  font-size: 16px;
  font-family: "Zen Maru Gothic", serif;
  margin-bottom: 20px;
  position: relative;
}
.section__yoteibi .ui-datepicker-title .ui-datepicker-month {
  font-size: 28px;
  font-weight: bold;
}
.section__yoteibi .ui-datepicker-prev,
.section__yoteibi .ui-datepicker-next {
  position: absolute;
  left: 40px;
  top: 50% !important;
  transform: translateY(-50%);
  z-index: 10;
}
.section__yoteibi .ui-datepicker-next {
  left: auto;
  right: 40px;
}
.section__yoteibi .ui-datepicker-header {
  position: relative;
}
.section__yoteibi .results__wrapper {
  background: #FFEFEF;
  padding: 20px 14px;
  border-radius: 10px;
  text-align: center;
}
.section__yoteibi .results__wrapper p {
  color: #8F8F8F;
  text-align: left;
  font-size: 12px;
  margin-bottom: 0px;
}
.section__yoteibi .results__ttl {
  line-height: 1.2;
  margin-bottom: 14px;
}
.section__yoteibi .results__ttl .number {
  font-size: 20px;
  font-weight: 500;
}
.section__yoteibi .results__date01 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 14px;
  line-height: 1.2;
}
.section__yoteibi .date__wrapper {
  background: white;
  padding: 5px 10px;
  border-radius: 5px;
  display: inline-block;
  margin: 6px auto;
  font-size: 16px;
}
.section__yoteibi .date__wrapper .number {
  font-size: 24px;
  letter-spacing: 2px;
  margin: 0 2px;
}
.section__yoteibi .date__wrapper p {
  margin-bottom: 0;
  font-size: 14px;
  color: #5A5A5A;
  text-align: center;
}
.section__yoteibi .date__wrapper .date {
  color: #EC6B90;
  font-weight: bold;
  font-size: 18px;
}
.section__yoteibi .results__date02 .date__wrapper {
  width: 100%;
}
.section__yoteibi .addition__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-bottom: 10px;
}
.section__yoteibi .addition__ttl .addition__img {
  width: 60px;
}
.section__yoteibi .addition__ttl h3 {
  line-height: 1.5;
  text-align: center;
  font-size: 16px;
}
.section__yoteibi .addition__ttl h3 span {
  color: #FF9090;
  font-size: 20px;
}
.section__yoteibi .comment__wrapper {
  border: 1.5px solid #FFC3C3;
  border-radius: 14px;
  padding: 14px;
  height: 150px;
  overflow: hidden;
  position: relative;
}
.section__yoteibi .comment__wrapper::after {
  content: "";
  display: block;
  width: 100%;
  height: 70px;
  background: linear-gradient(transparent 0%, white 60%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.section__yoteibi .comment__wrapper a {
  position: absolute;
  bottom: 10px;
  z-index: 10;
  text-decoration: underline;
  right: 14px;
  color: #5A5A5A;
  font-size: 12px;
}
.section__yoteibi .comment__info {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  justify-content: space-between;
}
.section__yoteibi .comment__info .info-left {
  display: flex;
  align-items: center;
  width: 65%;
}
.section__yoteibi .comment__info .info-right {
  display: flex;
  align-items: center;
  width: 30%;
  justify-content: end;
}
.section__yoteibi .comment__img {
  width: 36px;
}
.section__yoteibi .comment__name {
  margin-left: 10px;
  font-size: 14px;
  font-weight: bold;
  min-width: 160px;
}
.section__yoteibi .comment__name span {
  font-size: 10px;
}
.section__yoteibi .comment__icon {
  width: 18px;
  margin-left: 10px;
}
.section__yoteibi .comment__number {
  font-size: 14px;
  font-weight: bold;
  margin-left: 5px;
  color: #8F8F8F;
}
.section__yoteibi .comment__items {
  row-gap: 14px;
  display: flex;
  flex-wrap: wrap;
}

.seciton__kansyu .kansyu__wrapper {
  background: #F6F6F6;
  padding: 20px;
  border-radius: 10px;
}
.seciton__kansyu .supervisor__title {
  font-size: 18px;
  letter-spacing: 1.8px;
  text-align: center;
  margin-bottom: 20px;
  font-weight: bold;
}
.seciton__kansyu .supervisor__card {
  display: flex;
  align-items: end;
  margin-bottom: 14px;
}
.seciton__kansyu .supervisor__card .supervisor__image {
  width: 100px;
  margin-right: 10px;
}
.seciton__kansyu .supervisor__card .supervisor__info {
  width: auto;
}
.seciton__kansyu .supervisor__card .supervisor__name {
  font-size: 14px;
  margin-bottom: 10px;
  font-weight: bold;
}
.seciton__kansyu .supervisor__card .supervisor__subtitle {
  font-size: 10px;
}
.seciton__kansyu .supervisor__profile-title {
  font-size: 14px;
  position: relative;
  z-index: 10;
  margin-bottom: 10px;
}
.seciton__kansyu .supervisor__profile-title span {
  background: #F6F6F6;
  position: relative;
  z-index: 10;
  padding-right: 10px;
}
.seciton__kansyu .supervisor__profile-title::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  border-bottom: 2px dotted #8F8F8F;
  position: absolute;
  top: 50%;
  z-index: 0;
}
.seciton__kansyu .supervisor__links {
  background: white;
  padding: 14px;
}
.seciton__kansyu .supervisor__links li {
  color: #5A5A5A;
  font-size: 14px;
  line-height: 2;
}
.seciton__kansyu .supervisor__links a {
  font-size: 14px;
  text-decoration: underline;
}
.seciton__kansyu .supervisor__links span {
  color: #E0E0E0;
  font-size: 12px;
}

.section__info .info__ttl {
  max-width: 300px;
  margin: 0 auto 10px;
}
.section__info .point__img {
  width: 80px;
  margin: 0 auto 10px;
}
.section__info h2 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 10px;
}
.section__info p > span {
  background: linear-gradient(transparent 60%, #FFD6D6 60%);
}
.section__info p > span.no-line {
  background: none;
}
.section__info .link__ttl {
  margin-bottom: 10px;
  font-size: 12px;
  margin-top: 20px;
}
.section__info .link__ttl span {
  color: #E0E0E0;
  margin-right: 5px;
}
.section__info .point__wrapper {
  border-bottom: 2px dotted #8F8F8F;
  padding-bottom: 30px;
  margin-bottom: 20px;
}
.section__info .point__wrapper h2 {
  line-height: 1.5;
}
.section__info .point__wrapper h3 {
  font-size: 16px;
  text-align: center;
  margin: 14px auto;
}
.section__info .point__wrapper h3 span {
  color: #FF9090;
}
.section__info .point__wrapper h3.type {
  text-align: left;
  margin-top: 30px;
}
.section__info .point__wrapper h3.type span {
  background: #FFEFEF;
  color: #5A5A5A;
  padding: 3px 8px;
}
.section__info .count__wrapper {
  border: 1px solid #FF9090;
  padding: 14px;
  border-radius: 10px;
}
.section__info .count__wrapper li {
  line-height: 2;
  font-size: 14px;
  display: flex;
  align-items: center;
}
.section__info .count__wrapper .circle {
  color: #FFC3C3;
  font-size: 12px;
  margin-right: 5px;
}
.section__info .count__wrapper img {
  width: 20px;
  margin: 0 10px;
}
.section__info .count__wrapper .count {
  color: #FF9090;
  font-weight: bold;
  border-bottom: 1px solid;
  line-height: 1.3;
}
.section__info .pregnancy-table {
  text-align: center;
  line-height: 1.3;
  margin-top: 14px;
}
.section__info .pregnancy-table a {
  text-decoration: underline;
  line-height: 1.5;
}
.section__info .pregnancy-table th {
  background: #8F8F8F;
  color: white;
  font-weight: normal;
  border: 1px solid white;
  font-size: 12px;
  min-width: 62px;
  border-radius: 3px;
  padding: 3px;
}
@media (min-width: 500px) {
  .section__info .pregnancy-table th {
    min-width: 100px;
  }
}
.section__info .pregnancy-table tr.bg-pink {
  background: #FFF4F4;
}
.section__info .pregnancy-table tr.bg-purple {
  background: #EEEBF6;
}
.section__info .pregnancy-table tr.bg-blue {
  background: #E0F6FB;
}
.section__info .pregnancy-table tr.bg-green {
  background: #E1F5E3;
}
.section__info .pregnancy-table td {
  vertical-align: middle;
  border: 1px solid white;
  position: relative;
  padding: 8px;
  font-weight: bold;
}
.section__info .pregnancy-table .fukidashi {
  position: absolute;
  background: #FF9090;
  color: white;
  width: 130px;
  left: 80px;
  top: 0;
  border-radius: 5px;
  padding: 6px;
  font-weight: normal;
  font-size: 14px;
}
@media (min-width: 500px) {
  .section__info .pregnancy-table .fukidashi {
    left: 110px;
  }
}
.section__info .pregnancy-table .fukidashi.left {
  text-align: left;
}
.section__info .pregnancy-table .fukidashi.left span {
  text-align: center;
}
.section__info .pregnancy-table .fukidashi::before {
  content: "";
  display: block;
  width: 20px;
  height: 8px;
  background: url(/navi_img/ninshin/due_date_calculator/fukidashi-arrow.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: -8px;
  top: 12px;
}
.section__info .pregnancy-table .fukidashi span {
  background: white;
  display: block;
  color: #5A5A5A;
  margin-bottom: 6px;
}
.section__info .related__ttl {
  text-align: center;
  font-size: 16px;
  margin: 40px auto 20px;
}
.section__info .related__ttl span {
  color: #E0E0E0;
  font-size: 14px;
  margin-right: 10px;
}
.section__info .related__posts {
  background: #FFFBDD;
  padding: 16px;
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
}

.video__wrapper {
  height: 600px;
}

@media (max-width: 767px) {
  .video__wrapper {
    height: 240px;
  }
}
.text_c {
  display: none;
}

.info__link a {
  display: flex;
  padding: 10px;
  border: 1px solid #FF9090;
  background: white;
}
.info__link .post__img {
  width: 100px;
  min-width: 100px;
  margin-right: 10px;
}
.info__link .post__text {
  width: auto;
}
.info__link .post__ttl {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 4px;
  font-weight: bold;
  letter-spacing: 1px;
}
.info__link p {
  margin-bottom: 0;
  font-size: 12px;
  line-height: 1.5;
}

.post__text p,
.post__text .post__ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2; /* ←ここで何行まで表示するか決める */
}

.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  display: none;
  z-index: 999;
  width: 52px;
}

a.anchor {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}
