@charset "utf-8";
/* ===================================================================
 File Name  : page.css
 Style Info : ページに関するスタイル指定
=================================================================== */

/*----------------------------------------------------
  トップページ index
--------------------------------------------------- */
.mv_slider,
.local_slider {
  opacity: 0;
  transition: opacity 1s linear;
}
.slick-initialized{
  opacity: 1!important;
}

/*トップ メインビジュアル*/
#mainVisual {
  position: relative;
}
.mv_slider {
  position: relative;
}
#mainVisual figure img {
  width: 100%;
  height: calc(100vh - 120px);
}
.mv_copy {
  position: absolute;
  right: 2%;
  bottom: 14%;
  z-index: 10;
}
.mv_copy h1 {
  font-weight: 900;
  color: #fff;
  font-size: min(4.4vw,5rem);
  text-shadow: 0 0 18px rgba(0,0,0,.7);
  display: inline-block;
  line-height: 1.35;
}
.mv_copy .line { display: inline-block; }
.mv_copy .char {
  display: inline-block;
  will-change: transform, filter;
  backface-visibility: hidden;
  transform: translateZ(0);
}
  @media screen and (max-width: 899px) {
    .mv_slider {
      height: auto!important;
    }
    #mainVisual figure img {
      height: auto!important;
    }
    .mv_copy {
      right: 2.66vw;
      bottom: 4vw;
    }
    .mv_copy h1 {
      font-size: 5.33vw;
      text-shadow: 0 0 2.66vw rgba(0,0,0,0.8);
      line-height: 1.6;
    }
  }

/*トップ インデックスメニュー*/
#index_menu {
  position: relative;
  z-index: 5;
  top: -30px;
}
.index_menu_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
.index_menu_box {
  position: relative;
  display: block;
  background: #fff;
  text-align: center;
  box-shadow: 0px 10px 16px rgba(0, 0, 0, 0.07);
  padding: 30px 20px;
  text-decoration: none;
  color: #000!important;
}
.index_menu_box:hover {
  color: #369ED1!important;
  background: #F2F9FC;
}
.index_menu_box figure {
  margin-bottom: 10px;
}
.index_menu_box figure img {
  transition: all 0.3s ease-in-out 0s;
}
.index_menu_box:hover figure img {
  opacity: 1!important;
  transform: scale(1.05);
}
.index_menu_box h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: min(2.3vw,2.6rem);
  line-height: 1.4;
  min-height: 68px;
}
.index_menu03 h2 {
  font-size: min(2.1vw,2.4rem);
}
  @media screen and (max-width: 1099px) {
    .index_menu_list {
      gap: 30px;
    }
  }
  @media screen and (max-width: 899px) {
    #index_menu {
      top: 0;
      padding-top: 10.66vw;
    }
    .index_menu_list {
      display: block;
    }
    .index_menu_box {
      padding: 4vw;
      border: solid 2px #369ED1;
      margin-bottom: 5.33vw;
      box-shadow: 0px 2.66vw 4vw rgba(0, 0, 0, 0.07);
    }
    .index_menu_box figure {
      margin-bottom: 2vw;
    }
    .index_menu_box figure img {
      width: 26vw;
      height: auto;
    }
    .index_menu_box:hover figure img {
      transform: scale(1);
    }
    .index_menu_box h2 {
      display: block;
      font-size: 5vw;
      min-height: auto;
    }
    .index_menu03 h2 {
      font-size: 5vw;
    }
  }

/* ボーダーモーション */
.index_menu_box::after,
.index_menu_box::before,
.moveline-vertical::after,
.moveline-vertical::before {
  content: '';
  position: absolute;
  z-index: 10;
  background-color: #369ED1;
  transition: all .3s ease;
}
.index_menu_box::after {
  width: 0px;
  height: 3px;
  top: 0;
  left: 0;
}
.moveline-vertical::after {
  width: 3px;
  height: 0px;
  left: 0;
  bottom: 0;
}
.index_menu_box::before {
  width: 0px;
  height: 3px;
  right: 0;
  bottom: 0;
}
.moveline-vertical::before {
  width: 3px;
  height: 0px;
  top: 0;
  right: 0;
}
.index_menu_box:hover::after,
.index_menu_box:hover::before {
  width: 100%;
}
.index_menu_box:hover .moveline-vertical::after,
.index_menu_box:hover .moveline-vertical::before {
  height: 100%;
}
  @media screen and (max-width: 899px) {
    .index_menu_box::after,
    .index_menu_box::before,
    .moveline-vertical::after,
    .moveline-vertical::before {
      display: none;
    }
  }

/*緊急告知*/
#index_emergency {
  margin-top: 70px;
}
.index_emergency_box {
  background: #D90000;
  padding: 20px;
}
.index_emergency_box h2 {
  line-height: 1.2;
  font-size: min(2.5vw,2.6rem);
  text-align: center;
  color: #fff;
  padding-bottom: 20px;
}
.index_emergency_txt {
  background: #fff;
  padding: 25px;
}
.index_emergency_txt > * {
  margin-bottom: 20px;
}
.index_emergency_txt > *:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 899px) {
    #index_emergency {
      margin-top: 10.66vw;
      margin-bottom: 5.33vw;
    }
    .index_emergency_box {
      padding: 5vw;
      margin-left: -5vw;
      margin-right: -5vw;
    }
    .index_emergency_box h2 {
      font-size: 5.33vw;
      padding-bottom: 5vw;
    }
    .index_emergency_txt {
      padding: 5vw;
    }
    .index_emergency_txt > * {
      margin-bottom: 4vw;
    }
  }

/*トップ お知らせ*/
#index_news {
  padding: 70px 0 100px;
}
.index_news_box {
  width: 48.2%;
  max-width: 530px;
}
.index_news_box h2 {
  text-align: center;
  background: url("../img/common/ico/ico_arrow02gr.svg") center bottom no-repeat;
  background-size: 18px auto;
  padding-bottom: 22px;
  margin-bottom: 15px;
}
.index_news_box h2 strong {
  display: block;
  font-size: min(3.2vw,3.4rem);
  font-weight: 600;
}
.index_news_box h2 small {
  display: block;
  font-size: 2rem;
  color: #bbb;
}
.news_archive_list {
  margin-bottom: 40px;
}
.news_archive_box {
  position: relative;
  display: block;
  padding: 20px 0;
  border-bottom: solid 1px #ccc;
  text-decoration: none;
  color: #000!important;
}
.news_archive_box:hover {
  color: #369ED1!important;
}
.news_archive_info {
  align-items: center;
  margin-bottom: 10px;
}
.news_archive_info time {
  display: inline-block;
  margin-right: 20px;
}
.cat_box span {
  display: inline-block;
  margin-right: 20px;
  min-width: 100px;
  padding: 3px 5px;
  background: #369ED1;
  border-radius: 5px;
  line-height: 1.5;
  font-size: 1.3rem;
  color: #fff;
  text-align: center;
}
.news_archive_box h3 {
  font-weight: 400;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  letter-spacing: 0;
}
  @media screen and (max-width: 899px) {
    #index_news {
      padding: 5.33vw 0 0 0;
    }
    .index_news_box {
      width: 100%;
      max-width: 100%;
      padding-bottom: 10.66vw;
    }
    .index_news_box h2 {
      background-size: 5vw auto;
      padding-bottom: 5.8vw;
      margin-bottom: 3.33vw;
    }
    .index_news_box h2 strong {
      font-size: 5.33vw;
    }
    .index_news_box h2 small {
      font-size: 4.26vw;
    }
    .news_archive_list {
      margin-bottom: 5.33vw;
    }
    .news_archive_box {
      padding: 4vw 0;
    }
    .news_archive_info {
      margin-bottom: 2.66vw;
    }
    .news_archive_info time {
      margin-right: 3.33vw;
    }
    .cat_box span {
      margin-right: 3.33vw;
      min-width: 20vw;
      padding: 0.66vw 2vw;
      border-radius: 1.33vw;
      font-size: 3vw;
    }
    .news_archive_box h3 {
      -webkit-line-clamp: 2;
    }
  }

.news_ico {
  position: absolute;
  left: 0;
  top: 2px;
  font-weight: 900;
  font-size: 1.4rem;
  color: rgba(255,0,4,1.00);
}
  @media screen and (max-width: 899px) {
    .news_ico {
      top: 0.66vw;
      font-size: 3vw;
    }
  }

.archive_list-region .cat_box span {
  background: #FF9D00;
}
.archive_list-region .news_archive_box:hover {
  color: #FF9D00!important;
}

/*トップ 河内医師会について*/
#index_about {
  background: #F2F9FC;
  padding-top: 100px;
}
#index_about .inner {
  padding-bottom: 100px;
}
.index_about_box figure {
  width: 48%;
  max-width: 540px;
}
.index_about_txt {
  width: 48.5%;
  max-width: 550px;
}
.index_about_txt p {
  margin-bottom: 30px;
}
.index_about_txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 899px) {
    #index_about {
      padding-top: 10.33vw;
    }
    #index_about .inner {
      padding-bottom: 10.33vw;
    }
    .index_about_box figure {
      width: 100%;
      max-width: 100%;
      margin-bottom: 5.33vw
    }
    .index_about_txt {
      width: 100%;
      max-width: 100%;
    }
    .index_about_txt p {
      margin-bottom: 4vw;
    }
  }

.index_about_menu {
  background: #fff;
  margin-top: 60px;
  padding: 30px 4.5%;
}
  @media screen and (max-width: 899px) {
    .index_about_menu {
      margin-top: 10.66vw;
      padding: 4.4vw 5vw;
    }
    .index_about_menu ul {
      display: block;
    }
  }


.local_slider {
  position: relative;
  z-index: 5;
  max-width: 1920px;
  margin: 0 auto;
}
.local_slider figure {
  width: 360px;
  margin: 0;
}
.local_slider img {
  width: 100%;
  height: auto;
  display: block;
}
  @media screen and (max-width: 899px) {
    .local_slider {
      max-width: 100%;
    }
    .local_slider figure {
      width: 44vw;
    }
  }

/*トップ リンクボタン*/

#index_info {
  padding: 100px 0 0 0;
}
  @media screen and (max-width: 899px) {
    #index_info {
      padding: 10.66vw 0 0 0;
    }
  }

.index_info_menu01 li {
  width: 48%;
}
.index_info_menu01 li a {
  display: block;
  background: #369ED1;
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: min(2.2vw,2.4rem);
  border-radius: 10px;
  padding: 8.8% 2.5%;
}
.index_info_menu01 li a:hover {
  filter: brightness(1.1);
}
.index_info_menu01 li a span {
  display: inline-block;
  line-height: 35px;
}
.info_menu_access span {
  padding-left: 34px;
  background: url("../img/common/ico/ico_access01wh.svg") 0 center no-repeat;
  background-size: 24px auto;
}
.info_menu_contact span {
  padding-left: 46px;
  background: url("../img/common/ico/ico_mail01wh.svg") 0 center no-repeat;
  background-size: 32px auto;
}
  @media screen and (max-width: 899px) {
    .index_info_menu01 li {
      width: calc(50% - 1.66vw);
    }
    .index_info_menu01 li a {
      font-size: 4.26vw;
      border-radius: 1.33vw;
      padding: 4vw 2.66vw;
    }
    .index_info_menu01 li a span {
      line-height: 6vw;
    }
    .info_menu_access span {
      padding-left: 5.8vw;
      background: url("../img/common/ico/ico_access01wh.svg") 0 center no-repeat;
      background-size: 4vw auto;
    }
    .info_menu_contact span {
      padding-left: 7vw;
      background: url("../img/common/ico/ico_mail01wh.svg") 0 center no-repeat;
      background-size: 5vw auto;
    }
  }

.index_info_menu02 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  list-style: none;
  margin-top: 100px;
}
.index_info_menu02 li {
  width: calc((100% - 60px) / 3);
}
.index_info_menu02 a {
  height: 120px;
  padding: 10px 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: solid 1px #ddd;
  text-decoration: none;
  letter-spacing: 0;
  text-align: center;
  background: url("../img/common/ico/ico_link01blu.svg") no-repeat right 7px bottom 10px;
  background-size: 22px auto;
}
.index_info_menu02 a:hover {
  color: #369ED1;
  border: solid 1px #369ED1;
}
.index_info_menu02 a b {
  display: block;
  font-size: min(1.9vw,2rem);
}
.index_info_menu02 a span {
  display: block;
  color: #000;
  font-feature-settings: "palt";
  font-size: 1.2rem;
  transition: all 0.2s ease-in-out 0s;
}
.index_info_menu02 a:hover span {
  color: #369ED1;
}
  @media screen and (max-width: 999px) {
    .index_info_menu02 {
      gap: 20px;
    }
    .index_info_menu02 li {
      width: calc((100% - 40px) / 3);
    }
  }
  @media screen and (max-width: 899px) {
    .index_info_menu02 {
      width: 100%;
      display: block;
      margin-top: 10.66vw;
    }
    .index_info_menu02 li {
      width: 100%;
      margin-bottom: 2.66vw;
    }
    .index_info_menu02 li:last-child {
      margin-bottom: 0;
    }
    .index_info_menu02 a {
      height: auto;
      min-height: 25vw;
      padding: 2.66vw 4vw;
      background: url("../img/common/ico/ico_link01blu.svg") no-repeat right 2vw bottom 2.66vw;
      background-size: 4.6vw auto;
    }
    .index_info_menu02 a b {
      font-size: 4.4vw
    }
    .index_info_menu02 a span {
      font-size: 3vw;
    }
  }

/*----------------------------------------------------
  会長あいさつ・役員一覧 greeting
--------------------------------------------------- */
#greeting_message {
  padding-bottom: 80px;
}
.greeting_message01-txt {
  max-width: 860px;
  letter-spacing: 0.02em;
}
.greeting_message01-txt p {
  margin-bottom: 30px;
}
.greeting_message01-txt p:last-child {
  margin-bottom: 0;
}
.greeting_message01 figure {
  max-width: 240px;
}
.greeting_message01 figure img {
  width: 100%;
  height: auto;
}
.greeting_message01 figcaption {
  display: block;
  text-align: center;
  font-size: 1.5rem;
  margin-top: 5px;
}
.greeting_message02 {
  padding-top: 50px;
}
.greeting_message02-txt {
  letter-spacing: 0.02em;
}
.greeting_message02-txt p {
  margin-bottom: 30px;
}
.greeting_message02-txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 899px) {
    #greeting_message {
      padding-bottom: 10.66vw;
    }
    .greeting_message01-txt {
      max-width: 100%;
      letter-spacing: 0.05em;
    }
    .greeting_message01-txt p {
      margin-bottom: 4vw;
    }
    .greeting_message01 figure {
      max-width: 54vw;
      margin: 6.66vw auto 0;
    }
    .greeting_message01 figcaption {
      font-size: 3.46vw;
      margin-top: 2vw;
    }
    .greeting_message02 {
      padding-top: 9.33vw;
    }
    .greeting_message02-txt {
      letter-spacing: 0.05em;
    }
    .greeting_message02-txt p {
      margin-bottom: 4vw;
    }
  }

#greeting_merit {
  padding-bottom: 80px;
}
.greeting_merit-list {
  max-width: 840px;
  background: #F2F9FC;
  padding: 30px;
}
.greeting_merit-list ul {
  counter-reset: number;
}
.greeting_merit-list li {
  counter-increment: number;
  position: relative;
  padding-left: 45px;
  line-height: 1.7;
  margin-bottom: 10px;
}
.greeting_merit-list li:last-child {
  margin-bottom: 0;
}
.greeting_merit-list li::before {
  content: counter(number);
  background-color: #369ED1;
  color: #fff;
  font-weight: bold;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
}
.greeting_merit-txt {
  max-width: 840px;
  margin-top: 30px;
}
.greeting_merit-txt p {
  margin-bottom: 30px;
}
.greeting_merit-txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 899px) {
    #greeting_merit {
      padding-bottom: 10.66vw;
    }
    .greeting_merit-list {
      max-width: 100%;
      padding: 5vw 4vw;
    }
    .greeting_merit-list li {
      padding-left: 8.2vw;
      font-size: 3.46vw;
      margin-bottom: 3.33vw;
    }
    .greeting_merit-list li::before {
      content: counter(number);
      width: 6vw;
      height: 6vw;
      top: 0;
    }
    .greeting_merit-txt {
      max-width: 100%;
      margin-top: 5vw;
    }
    .greeting_merit-txt p {
      margin-bottom: 4vw;
    }
  }

/*----------------------------------------------------
  会務分掌 organization
--------------------------------------------------- */
.organization_member-tbl th {
  padding: 10px 20px;
  border: solid 1px #ddd;
  background: #EFEFEF;
  font-weight: 500;
}
.organization_member-tbl td {
  padding: 7px 20px;
  border: solid 1px #ddd;
  vertical-align: middle;
  white-space: nowrap;
}
.organization_member-tbl tr:nth-child(2) th {
  background: #F2F9FC;
  text-align: center;
  letter-spacing: 0.1em;
}
  @media screen and (max-width: 899px) {
    #organization_member .inner {
      padding-right: 0;
    }
    .organization_member-tbl {
      padding-right: 5.33vw;
      padding-bottom: 3.33vw;
      white-space: nowrap;
    }
    .organization_member-tbl th {
      padding: 2.66vw 5vw;
    }
    .organization_member-tbl td {
      padding: 1.33vw 5vw;
    }
    .scroll-hint-text {
      letter-spacing: 0;
    }
  }

/*----------------------------------------------------
  医師会の活動・事業内容 activity
--------------------------------------------------- */
#activity_lead {
  padding-bottom: 80px;
}
.activity_lead-txt p {
  margin-bottom: 30px;
}
.activity_lead-txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 899px) {
    #activity_lead {
      padding-bottom: 10.66vw;
    }
    .activity_lead-txt p {
      margin-bottom: 4vw;
    }
  }

#service {
  padding-bottom: 80px;
}
.service_wrap {
  background: #F2F9FC;
  padding: 40px 0;
}
.service_list {
  display: flex;
  flex-wrap: wrap;
  gap: 33px;
}
.service_box {
  position: relative;
  flex: 1 1 calc((100% - 33px * 3) / 4);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 2.1rem;
  width: 100%;
  height: 140px;
  border-radius: 10px;
  overflow: hidden;
  color: #fff!important;
  text-decoration: none;
  background-color: #369ED1;
  font-weight: 400;
}
.service_box:hover {
  filter: brightness(1.1);
}
.service_box::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  width: 30px;
  height: 30px;
  background: url("../img/common/ico/ico_zoom01.png") center center no-repeat;
  background-size: 30px auto;
  z-index: 5;
}
  @media screen and (max-width: 1129px) {
    .service_list {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
    }
    .service_box {
      flex: 1 1 calc((100% - 20px * 3) / 4);
      font-size: min(1.85vw,1.9rem);
      height: 120px;
    }
  }
  @media screen and (max-width: 899px) {
    #service {
      padding-bottom: 10.66vw;
    }
    .service_wrap {
      padding: 5.33vw 0;
    }
    .service_list {
      gap: 2.66vw;
    }
    .service_box {
      flex: 1 1 calc((100% - 3.33vw) / 2);
      font-size: 3.46vw;
      height: 20vw;
      border-radius: 1.33vw;
    }
    .service_box::after {
      width: 5vw;
      height: 5vw;
      background-size: 5vw auto;
    }
  }

/*ポップアップ*/
.mfp-bg {
  background-color: #000;
  opacity: 0.6;
}
.mfp-content {
  padding: 40px 0;
}
  @media screen and (max-width: 899px) {
    .mfp-container {
      padding: 0!important;
    }
    .mfp-content {
      padding: 5vw 3.33vw;
    }
  }

.popup_wrap {
  position: relative;
  max-width: 840px;
  margin: 0 auto;
  background: #fff;
  border-radius: 10px;
  padding: 60px 6.5%;
}
  @media screen and (max-width: 899px) {
    .popup_wrap {
      max-width: 100%;
      border-radius: 1.33vw;
      padding: 10vw 8.4vw;
    }
  }

.popup_box {
  max-width: 680px;
  margin: 0 auto;
}
.popup_box h3 {
  text-align: center;
  font-size: 2.6rem;
  color: #369ED1;
}
.popup_box p {
  margin-top: 20px;
  line-height: 1.5;
}
.popup_box .btn01 {
  text-align: center;
  margin-top: 25px;
}
  @media screen and (max-width: 899px) {
    .popup_box {
      max-width: 100%;
    }
    .popup_box h3 {
      font-size: 4.4vw;
    }
    .popup_box p {
      font-size: 3.46vw;
      margin-top: 3.33vw;
    }
    .popup_box .btn01 {
      margin-top: 4vw;
    }
  }

.popup_wrap .mfp-close {
  position: absolute;
  width: auto;
  height: auto;
  line-height: 1;
  right: 5px;
  top: 5px;
  font-size: 5rem;
  color: #369ED1;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 400!important;
  transition: all 0.2s ease-in-out 0s;
  opacity: 1;
}

button.mfp-arrow::before,
button.mfp-arrow::after {
  display: none!important;
}
button.mfp-arrow {
  opacity: 1!important;
  margin: 0!important;
  top: calc(50% - 24px)!important;
  margin-top: 0!important;
  width: 24px!important;
  height: 48px!important;
}
button.mfp-arrow-left {
  left: calc(50% - 400px)!important;
  background: url("../img/common/ico/ico_prev01.svg") left center no-repeat!important;
  background-size: 24px auto;
}
button.mfp-arrow-right {
  right: calc(50% - 400px)!important;
  background: url("../img/common/ico/ico_next01.svg") right center no-repeat!important;
  background-size: 24px auto;
}
  @media screen and (max-width: 899px) {
    .popup_wrap .mfp-close {
      right: 1vw;
      top: 1vw;
      font-size: 8vw;
    }
    button.mfp-arrow {
      top: calc(50% - 6vw)!important;
      width: 6vw!important;
      height: 12vw!important;
    }
    button.mfp-arrow-left {
      left: 5vw!important;
      background-size: 5vw auto!important;
    }
    button.mfp-arrow-right {
      right: 5vw!important;
      background-size: 5vw auto!important;
    }
  }

.history_box {
  max-width: 1120px;
}
.history_box dl {
  position: relative;
  display: flex;
  justify-content: space-between;
  letter-spacing: 0.05em;
  padding-bottom: 20px;
}
.history_box dl::after {
  position: absolute;
  left: 163px;
  top: 10px;
  content: "";
  width: 1px;
  height: calc(100%);
  background: #eee;
}
.history_box dl:last-child::after {
  display: none;
}
.history_box dt {
  position: relative;
  width: 170px;
}
.history_box dt::after {
  position: absolute;
  right: 0;
  top: 9px;
  z-index: 5;
  content: "";
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: #369ED1;
}
.history_box dd {
  width: calc(100% - 200px);
}
  @media screen and (max-width: 999px) {
    .history_box {
      max-width: 100%;
    }
    .history_box dl {
      display: block;
      letter-spacing: 0;
      padding-bottom: 4vw;
    }
    .history_box dl::after {
      left: 1.45vw;
      top: 2.13vw;
    }
    .history_box dt {
      width: 100%;
      padding-left: 5vw;
    }
    .history_box dt::after {
      right: auto;
      left: 0;
      top: 2vw;
      width: 3vw;
      height: 3vw;
    }
    .history_box dd {
      width: 100%;
      padding-left: 5vw;
    }
  }

/*----------------------------------------------------
  リンク集 link
--------------------------------------------------- */

.link_wrap > section {
  padding-bottom: 80px;
}
.link_wrap > section:last-child {
  padding-bottom: 0;
}

.link_list li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 12px;
  line-height: 1.6;
  font-feature-settings: "palt";
}
.link_list li:last-child {
  margin-bottom: 0;
}
.link_list li::before {
  position: absolute;
  left: 0;
  top: 5px;
  z-index: 5;
  content: "";
  width: 16px;
  height: 16px;
  background: #369ED1;
  border-radius: 50%;
}
.link_list li span {
  display: inline-block;
  margin-right: 10px;
}
.link_list li a {
  font-size: 1.5rem;
}
  @media screen and (max-width: 899px) {
    .link_wrap > section {
      padding-bottom: 10.66vw;
    }
    .link_list li {
      padding-left: 5.8vw;
      margin-bottom: 3.33vw;
    }
    .link_list li::before {
      top: 1.28vw;
      width: 4vw;
      height: 4vw;
    }
    .link_list li span {
      display: block;
      margin-right: 0;
    }
    .link_list li a {
      font-size: 3.46vw;
    }
  }

/*----------------------------------------------------
  かかりつけ医を探す doctor
--------------------------------------------------- */

/*かかりつけ医を探す インデックス*/
#doctor_index01 {
  padding-bottom: 60px;
}
.doctor_area-box {
  align-items: center;
}
.doctor_area-box figure {
  margin: 15px 2.5%;
}
.doctor_area-list {
  width: 630px;
  margin: 15px 2.5%;
}
.doctor_area-list li {
  width: 190px;
  margin: 7px;
}
.doctor_area-list li a {
  position: relative;
  width: 100%x;
  padding: 13px 20px;
  line-height: 1.5;
  margin: 0 auto;
  text-align: center;
  color: #369ED1;
  text-decoration: none;
  font-weight: 600;
  overflow: hidden;
  border: solid 1px #369ED1;
  display: block;
  background: url("../img/common/ico/ico_arrow03blu.svg") #fff no-repeat center right 15px;
  background-size: 18px auto;
  transition: all 0.3s ease-in-out 0s;
  font-size: 1.8rem;
}
.doctor_area-list li a:hover {
  color: #fff;
  background: url("../img/common/ico/ico_arrow03wh.svg") #369ED1 no-repeat center right 15px;
  background-size: 18px auto;
}
  @media screen and (max-width: 899px) {
    #doctor_index01 {
      padding-bottom: 8vw;
    }
    .doctor_area-box figure {
      margin: 6.66vw auto;
      text-align: center;
    }
    .doctor_area-box figure img {
      width: 60vw;
      height: auto;
    }
    .doctor_area-list {
      width: 100%;
      margin: 0;
    }
    .doctor_area-list ul {
      justify-content: space-between;
    }
    .doctor_area-list li {
      width: calc(50% - 1.5vw);
      margin: 0 0 3vw 0;
    }
    .doctor_area-list li a {
      padding: 3.33vw 5.33vw;
      background: url("../img/common/ico/ico_arrow03blu.svg") #fff no-repeat center right 3vw;
      background-size: 4.4vw auto;
      font-size: 4vw;
    }
    .doctor_area-list li a:hover {
      background: url("../img/common/ico/ico_arrow03wh.svg") #369ED1 no-repeat center right 3vw;
      background-size: 4.4vw auto;
    }
  }

#doctor_index02 {
  padding-bottom: 70px;
}
.doctor_ms-list li {
  width: 20%;
  padding: 10px 5px 10px 0;
}
.doctor_ms-list li a {
  display: flex;
  align-items: center;
  height: 36px;
  padding-left: 44px;
  font-size: min(1.4vw,1.7rem);
  line-height: 1.2;
  text-decoration: none;
  color: #000;
  letter-spacing: 0;
  background-size: 36px auto!important;
}
.doctor_ms-list li a:hover {
  color: #369ED1;
}
  @media screen and (max-width: 1099px) {
    .doctor_ms-list li {
      width: 25%;
      padding: 10px 5px 10px 0;
    }
    .doctor_ms-list li a {
      font-size: min(1.5vw,1.6rem);
    }
  }
  @media screen and (max-width: 899px) {
    #doctor_index02 {
      padding-bottom: 8vw;
    }
    .doctor_ms-list li {
      width: 50%;
      padding: 1.8vw 1.33vw 1.8vw 0;
    }
    .doctor_ms-list li a {
      display: flex;
      align-items: center;
      height: 8vw;
      padding-left: 9.33vw;
      font-size: 3.46vw;
      white-space: nowrap;
      background-size: 8vw auto!important;
    }
  }

.doctor_ms01 a {
  background: url("../img/doctor/ms01.png") 0 0 no-repeat;
}
.doctor_ms02 a {
  background: url("../img/doctor/ms02.png") 0 0 no-repeat;
}
.doctor_ms03 a {
  background: url("../img/doctor/ms03.png") 0 0 no-repeat;
}
.doctor_ms04 a {
  background: url("../img/doctor/ms04.png") 0 0 no-repeat;
}
.doctor_ms05 a {
  background: url("../img/doctor/ms05.png") 0 0 no-repeat;
}
.doctor_ms06 a {
  background: url("../img/doctor/ms06.png") 0 0 no-repeat;
}
.doctor_ms07 a {
  background: url("../img/doctor/ms07.png") 0 0 no-repeat;
}
.doctor_ms08 a {
  background: url("../img/doctor/ms08.png") 0 0 no-repeat;
}
.doctor_ms09 a {
  background: url("../img/doctor/ms09.png") 0 0 no-repeat;
}
.doctor_ms10 a {
  background: url("../img/doctor/ms10.png") 0 0 no-repeat;
}
.doctor_ms11 a {
  background: url("../img/doctor/ms11.png") 0 0 no-repeat;
}
.doctor_ms12 a {
  background: url("../img/doctor/ms12.png") 0 0 no-repeat;
}
.doctor_ms13 a {
  background: url("../img/doctor/ms13.png") 0 0 no-repeat;
}
.doctor_ms14 a {
  background: url("../img/doctor/ms14.png") 0 0 no-repeat;
}
.doctor_ms15 a {
  background: url("../img/doctor/ms15.png") 0 0 no-repeat;
}
.doctor_ms16 a {
  background: url("../img/doctor/ms16.png") 0 0 no-repeat;
}
.doctor_ms17 a {
  background: url("../img/doctor/ms17.png") 0 0 no-repeat;
}
.doctor_ms18 a {
  background: url("../img/doctor/ms18.png") 0 0 no-repeat;
}
.doctor_ms19 a {
  background: url("../img/doctor/ms19.png") 0 0 no-repeat;
}
.doctor_ms20 a {
  background: url("../img/doctor/ms20.png") 0 0 no-repeat;
}
.doctor_ms21 a {
  background: url("../img/doctor/ms21.png") 0 0 no-repeat;
}
.doctor_ms22 a {
  background: url("../img/doctor/ms22.png") 0 0 no-repeat;
}
.doctor_ms23 a {
  background: url("../img/doctor/ms23.png") 0 0 no-repeat;
}
.doctor_ms24 a {
  background: url("../img/doctor/ms24.png") 0 0 no-repeat;
}
.doctor_ms25 a {
  background: url("../img/doctor/ms25.png") 0 0 no-repeat;
}
.doctor_ms26 a {
  background: url("../img/doctor/ms26.png") 0 0 no-repeat;
}
.doctor_ms27 a {
  background: url("../img/doctor/ms27.png") 0 0 no-repeat;
}
.doctor_ms28 a {
  background: url("../img/doctor/ms28.png") 0 0 no-repeat;
}
.doctor_ms29 a {
  background: url("../img/doctor/ms29.png") 0 0 no-repeat;
}
.doctor_ms30 a {
  background: url("../img/doctor/ms30.png") 0 0 no-repeat;
}
.doctor_ms31 a {
  background: url("../img/doctor/ms31.png") 0 0 no-repeat;
}
.doctor_ms32 a {
  background: url("../img/doctor/ms32.png") 0 0 no-repeat;
}
.doctor_ms33 a {
  background: url("../img/doctor/ms33.png") 0 0 no-repeat;
}
.doctor_ms34 a {
  background: url("../img/doctor/ms34.png") 0 0 no-repeat;
}
.doctor_ms35 a {
  background: url("../img/doctor/ms35.png") 0 0 no-repeat;
}
.doctor_ms36 a {
  background: url("../img/doctor/ms36.png") 0 0 no-repeat;
}
.doctor_ms37 a {
  background: url("../img/doctor/ms37.png") 0 0 no-repeat;
}
.doctor_ms38 a {
  background: url("../img/doctor/ms38.png") 0 0 no-repeat;
}
.doctor_ms39 a {
  background: url("../img/doctor/ms39.png") 0 0 no-repeat;
}

.search_keyword-box {
  position: relative;
  max-width: 700px;
  margin-bottom: 10px;
}
.search_keyword-box input[type="text"] {
  width: 100%;
  padding: 10px 12px;
  color: #000;
  outline: none;
  border: 1px solid #ddd;
  transition: all 0.2s ease-in-out 0s;
}
.search_keyword-box input[type="text"]:focus {
  border: solid 1px #369ED1;
}
.search_keyword-box button {
  position: absolute;
  right: 0;
  top: 0;
  width: 44px;
  height: 100%;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  background: url("../img/common/ico/ico_search01.svg") center center no-repeat;
  background-size: 26px 26px;
  border: none;
  border-radius: 0;
}
.search_keyword-txt {
  margin-bottom: 30px;
}
.search_keyword-tag li {
  margin-right: 20px;
  margin-bottom: 5px;
}
  @media screen and (max-width: 899px) {
    .search_keyword-box {
      max-width: 100%;
      margin-bottom: 3.33vw;
    }
    .search_keyword-box input[type="text"] {
      padding: 2.66vw 3.33vw;
      font-size: clamp(1.6rem, 3.46vw, 3.46vw);
    }
    .search_keyword-box button {
      width: 12vw;
      background-size: 6vw auto;
    }
    .search_keyword-txt {
      margin-bottom: 5.33vw;
    }
    .search_keyword-tag li {
      margin-right: 4vw;
      margin-bottom: 1.33vw;
      font-size: 3.43vw;
    }
  }

/*かかりつけ医を探す アーカイブ*/
.doctor_archive_number {
  position: relative;
  top: -22px;
  padding-bottom: 10px;
  font-size: 1.5rem;
}
.doctor_archive-list {
  border-bottom: solid 1px #ccc;
}
.doctor_archive-box {
  display: block;
  background: url("../img/common/ico/ico_arrow03blu.svg") right 28px center no-repeat;
  background-size: 22px auto;
  background-color: #F2F9FC!important;
  padding: 3.5% 60px 3.5% 3.8%;
  text-decoration: none;
  color: #000!important;
  line-height: 1.6;
}
.doctor_archive-box:nth-child(even) {
  background-color: #fff!important;
}
.doctor_archive-box:hover {
  color: #369ED1!important;
}
.doctor_archive-box h3 {
  margin-bottom: 12px;
}
.doctor_archive-box h3 small {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 5px;
}
.doctor_archive-box h3 span {
  display: block;
  font-size: 2.2rem;
  padding-left: 12px;
  border-left: solid 4px #369ED1;
  line-height: 1.3;
}
.doctor_cat-box {
  display: flex;
  flex-wrap: wrap;
}
.doctor_cat-box span {
  text-align: center;
  min-width: 100px;
  display: inline-block;
  background: #fff;
  border: solid 1px #369ED1;
  color: #369ED1;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 2px 12px;
  margin: 0 8px 8px 0;
}
.doctor_archive-info {
  font-size: 1.4rem;
  padding-top: 5px;
}
  @media screen and (max-width: 899px) {
    .doctor_archive_number {
      top: -2.66vw;
      padding-bottom: 4vw;
      font-size: 3.46vw;
    }
    .doctor_archive-box {
      background: url("../img/common/ico/ico_arrow03blu.svg") right 3vw center no-repeat;
      background-size: 4.8vw auto;
      padding: 5vw 10vw 5vw 5vw;
    }
    .doctor_archive-box h3 {
      margin-bottom: 4vw;
    }
    .doctor_archive-box h3 small {
      font-size: 3.46vw;
      margin-bottom: 2vw;
    }
    .doctor_archive-box h3 span {
      font-size: 4.4vw;
      padding-left: 2.66vw;
      border-left: solid 3px #369ED1;
    }
    .doctor_cat-box span {
      min-width: auto;
      font-size: 3.46vw;
      padding: 1.13vw 3vw;
      margin: 0 2vw 2vw 0;
      line-height: 1.4;
    }
    .doctor_archive-info {
      font-size: 3.46vw;
      padding-top: 1.33vw;
    }
  }

/*かかりつけ医を探す 詳細*/
#doctor_single_info .sub_ttl02 {
  margin-bottom: 25px;
}
#doctor_single_info .sub_ttl02 small {
  font-size: 1.5rem;
  font-weight: 500;
  display: block;
}
#doctor_single_info .search_keyword-tag li {
  font-size: 1.4rem;
  margin-right: 15px;
}
.doctor_single_tbl {
  margin-top: 40px;
}
.doctor_single_tbl table {
  font-size: 1.5rem;
  line-height: 1.6;
}
.doctor_single_tbl th {
  width: 200px;
  padding: 18px 3.5%;
  font-weight: 500;
  text-align: left;
  vertical-align: middle;
  background: #F2F2F2;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
}
.doctor_single_tbl td {
  padding: 18px 3.5%;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
}
  @media screen and (max-width: 899px) {
    #doctor_single_info .sub_ttl02 {
      margin-bottom: 5vw;
    }
    #doctor_single_info .sub_ttl02 small {
      font-size: 3.46vw;
    }
    #doctor_single_info .search_keyword-tag li {
      font-size: 3.46vw;
      margin-right: 2.66vw;
      margin-bottom: 0.66vw;
    }
    .doctor_single_tbl {
      margin-top: 6.66vw;
    }
    .doctor_single_tbl table,
    .doctor_single_tbl tbody,
    .doctor_single_tbl tr,
    .doctor_single_tbl th,
    .doctor_single_tbl td {
      display: block;
      width: 100%;
    }
    .doctor_single_tbl table {
      font-size: 3.73vw;
    }
    .doctor_single_tbl th {
      padding: 3.33vw 4vw;
      border-top: none;
      border-bottom: none;
    }
    .doctor_single_tbl td {
      padding: 3.33vw 4vw;
      border-top: none;
      border-bottom: none;
    }
  }

#doctor_single_map {
  margin-top: 40px;
}
.doctor_map-box {
  margin-bottom: 40px
}
  @media screen and (max-width: 899px) {
    #doctor_single_map {
      margin-top: 8vw;
    }
    .doctor_map-box {
      margin-bottom: 8vw
    }
  }

.map_sample {
  position: relative;
}
.map_sample::after {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  content: "表示サンプル";
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 4rem;
  font-weight: 600;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
}
  @media screen and (max-width: 899px) {
    .map_sample iframe {
      width: 100%;
      height: 65vw;
    }
    .map_sample::after {
      font-size: 6vw;
    }
  }

/*----------------------------------------------------
  医師会からのお知らせ news
--------------------------------------------------- */
#news_archive .news_archive_list {
  margin-bottom: 0;
}
#news_single .news_archive_info {
  margin-bottom: 20px;
}
  @media screen and (max-width: 899px) {
    #news_single .news_archive_info {
      margin-bottom: 4vw;
    }
  }

/*----------------------------------------------------
  地域の皆様へ news_region
--------------------------------------------------- */
.post_news_region-outer .sub_ttl02::after {
  background: #FF9D00;
}
.post_news_region-outer .cat_box span {
  background: #FF9D00;
}
.post_news_region-outer .news_archive_box:hover {
  color: #FF9D00!important;
}
.post_news_region-outer .side_ttl01 {
  background: #FF9D00;
}
.post_news_region-outer .side_menu01 li.current-cat a, .post_news_region-outer .side_menu01 li a[aria-current="page"] {
  color: #FF9D00;
}
.post_news_region-outer .side_menu01 li a {
  background: url(../img/common/ico/ico_arrow01org.svg) 15px center no-repeat;
  background-size: 6px auto;
}
.post_news_region-outer .side_menu01 li a:hover {
  color: #FF9D00;
}
  @media screen and (max-width: 899px) {
    .post_news_region-outer .side_menu01 li a {
      background: url("../img/common/ico/ico_arrow01org.svg") 3vw center no-repeat;
      background-size: 1.5vw auto;
    }
  }

.post_news_region-outer .entry-content h1 {
  background: #FF9D00;
}
.post_news_region-outer .entry-content h2 {
  border-bottom: solid 1px #FF9D00;
}
.post_news_region-outer .entry-content h3::after {
  background: #FF9D00;
}

/*----------------------------------------------------
  会員お知らせ news_members
--------------------------------------------------- */
.post_news_members-outer .sub_ttl02::after {
  background: #74C39F;
}
.post_news_members-outer .cat_box span {
  background: #74C39F;
}
.post_news_members-outer .news_archive_box:hover {
  color: #74C39F!important;
}
.post_news_members-outer .side_ttl01 {
  background: #74C39F;
}
.post_news_members-outer .side_menu01 li.current-cat a, .post_news_members-outer .side_menu01 li a[aria-current="page"] {
  color: #74C39F;
}
.post_news_members-outer .side_menu01 li a {
  background: url("../img/common/ico/ico_arrow01grn.svg") 15px center no-repeat;
  background-size: 6px auto;
}
.post_news_members-outer .side_menu01 li a:hover {
  color: #74C39F;
}
  @media screen and (max-width: 899px) {
    .post_news_members-outer .side_menu01 li a {
      background: url("../img/common/ico/ico_arrow01grn.svg") 3vw center no-repeat;
      background-size: 1.5vw auto;
    }
  }

.post_news_members-outer .entry-content h1 {
  background: #74C39F;
}
.post_news_members-outer .entry-content h2 {
  border-bottom: solid 1px #74C39F;
}
.post_news_members-outer .entry-content h3::after {
  background: #74C39F;
}

/*----------------------------------------------------
  アクセス access
--------------------------------------------------- */
#gmap iframe {
  width: 100%;
  margin-bottom: 80px;
}
.access_info-gallery {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  list-style: none;
  margin-top: 40px
}
.access_info-gallery li {
  width: calc((100% - 60px) / 3);
}
  @media screen and (max-width: 999px) {
    .access_info-gallery {
      gap: 20px;
    }
    .access_info-gallery li {
      width: calc((100% - 40px) / 3);
      font-feature-settings: "palt";
    }
  }
  @media screen and (max-width: 899px) {
    #gmap iframe {
      height: 72vw;
      margin-bottom: 8vw;
    }
    .access_info-gallery {
      width: 100%;
      display: block;
      margin-top: 6.66vw;
    }
     .access_info-gallery li {
      width: 100%;
      margin-bottom: 2.66vw;
    }
    .access_info-gallery li img {
      width: 100%;
      height: auto;
    }
     .access_info-gallery li:last-child {
      margin-bottom: 0;
    }
  }

/*----------------------------------------------------
  プライバシーポリシー privacy
--------------------------------------------------- */
#privacy_lead {
  margin-bottom: 50px;
}
.privacy_list-block {
  margin-bottom: 40px;
}
.privacy_list-block:last-child {
  margin-bottom: 0;
}
.privacy_list-block .sub_ttl02 {
  font-size: min(2.2vw, 2.2rem);
  margin-bottom: 25px;
}
  @media screen and (max-width: 899px) {
    #privacy_lead {
      margin-bottom: 6.66vw;
    }
    .privacy_list-block {
      margin-bottom: 5.33vw;
    }
    .privacy_list-block .sub_ttl02 {
      font-size: 4.4vw;
      margin-bottom: 4vw;
    }
    /*.privacy_list-txt {
      font-size: 3.46vw;
    }*/
  }

/*----------------------------------------------------
  会員ページ members
--------------------------------------------------- */
.hd_logout-block {
  margin-bottom: 40px;
  background: #C90000;
  border-radius: 5px;
  text-align: right;
  color: #fff;
  padding: 5px 20px;
  font-weight: 600;
}
.hd_logout-block a {
  display: inline-block;
  color: #fff;
  padding-right: 24px;
  background: url("../img/common/ico/ico_logout01.svg") right center no-repeat;
  background-size: 18px auto;
}
  @media screen and (max-width: 899px) {
    .hd_logout-block {
      margin-bottom: 6.66vw;
      border-radius: 1.33vw;
      padding: 1.33vw 4vw;
      font-size: 3.46vw;
    }
    .hd_logout-block a {
      padding-right: 6vw;
      background-size: 4.26vw auto;
    }
  }

#members_lead {
  margin-bottom: 60px;
}
#members_message {
  margin-top: 80px;
}
#members_message .entry-content {
  border-bottom: none;
  padding-bottom: 0;
}
  @media screen and (max-width: 899px) {
    #members_lead {
      margin-bottom: 6.66vw;
      letter-spacing: 0;
    }
    #members_message {
      margin-top: 10.66vw;
      letter-spacing: 0;
    }
  }

/*----------------------------------------------------
  ページ名 slug
--------------------------------------------------- */
  @media screen and (max-width: 899px) {
  }

/*----------------------------------------------------
  ページ名 slug
--------------------------------------------------- */
  @media screen and (max-width: 899px) {
  }

/*----------------------------------------------------
  入会案内 membership
--------------------------------------------------- */
#membership01 {
  padding-bottom: 80px;
}
.membership01-txt p {
  margin-bottom: 30px;
}
.membership01-txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 899px) {
    #membership01 {
      padding-bottom: 10.66vw;
    }
    .membership01-txt p {
      margin-bottom: 4vw;
    }
  }

.flow-list {
  margin-bottom: 50px;
}
.flow-list li {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: calc(33.33% - 57px);
  min-height: 140px;
  padding: 15px;
  margin-right: 85px;
  border: solid 1px #369ED1;
  border-radius: 10px;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.1));
  line-height: 1.6;
  font-size: min(2vw,2.2rem);
  color: #369ED1;
  font-weight: 600;
}
.flow-list li:nth-child(3n) {
  margin-right: 0;
}
.flow-list li::after {
  position: absolute;
  right: -64px;
  top: calc(50% - 19px);
  z-index: 5;
  content: "";
  width: 40px;
  height: 38px;
  background: url("../img/common/ico/ico_flow01blu.svg") center center no-repeat;
  background-size: 40px auto;
}
.flow-list li:nth-child(3n)::after {
  display: none;
}
.membership02-txt p {
  margin-bottom: 30px;
}
.membership02-txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 899px) {
    #membership02 .sub_ttl02 {
      font-feature-settings: "palt";
    }
    .flow-list {
      margin-bottom: 5.33vw;
    }
    .flow-list li {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      width: 100%;
      min-height: auto;
      padding: 4vw;;
      margin-right: 0;
      margin-bottom: 11.33vw;
      border-radius: 1.33vw;
      font-size: 4.26vw;
    }
    .flow-list li:nth-child(3n) {
      margin-right: 0;
      margin-bottom: 0;
    }
    .flow-list li::after {
      position: absolute;
      right: calc(50% - 3.9vw);
      top: auto;
      bottom: -10.26vw;
      width: 8vw;
      height: 7.8vw;
      background: url("../img/common/ico/ico_flow01blu.svg") center center no-repeat;
      background-size: 8vw auto;
      transform: rotate(90deg);
    }
    .flow-list li:nth-child(3n)::after {
      display: none;
    }
    .membership02-txt p {
      margin-bottom: 4vw;
      font-size: 3.46vw;
    }
  }

/*----------------------------------------------------
  会員ログインページ members-login
--------------------------------------------------- */
/*ログインフォーム*/
#login_form .member_login_box {
  padding: 40px 0 80px;
}
.member_login_box .loginform {
  max-width: 800px;
  margin: 0 auto;
  border: solid 1px #74C39F;
  padding: 40px;
  border-radius: 5px;
}
.member_login_box .loginform__title {
  border-bottom: solid 2px #74C39F;
  font-weight: 500;
  font-size: 2rem;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.member_login_box .login-username::before {
  display: block;
  content: "ユーザー名";
}
.member_login_box .login-username label {
  display: none;
}
.member_login_box .login-password label {
  display: block;
}
.member_login_box .login-remember {
  text-align: center;
  font-size: 1.5rem;
}
.member_login_box .login-submit {
  text-align: center;
}
.member_login_box .loginform__content form > p {
  margin-bottom: 18px;
}
.member_login_box .loginform__content form > p:last-child {
  margin-bottom: 0;
}
.member_login_box .loginform__content input[type="submit"] {
  width: 100%;
  max-width: 280px;
  border: none;
  outline: none;
  padding: 12px;
  font-size: 1.8rem;
  color: #fff;
  font-weight: 500;
  background: #74C39F;
  border-radius: 3px;
  transition: all 0.2s ease-in-out 0s;
}
.member_login_box .loginform__content input[type="submit"]:hover {
  filter: brightness(1.1);
}
.member_login_box .loginform__content input[type="text"],
.member_login_box .loginform__content input[type="password"] {
  width: 100%;
  padding: 8px 12px;
  color: #333;
  outline: none;
  border: 1px solid #ccc;
}
#member_request .lower_collar_box {
  max-width: 800px;
  margin: 0 auto;
}
  @media screen and (max-width: 899px) {
    #login_form .member_login_box {
      padding: 2.66vw 0 10.66vw;
    }
    .member_login_box .loginform {
      max-width: 800px;
      border: solid 1px #74C39F;
      padding: 5.33vw;
    }
    .member_login_box .loginform__title {
      font-size: 5vw;
      padding-bottom: 2.66vw;
      margin-bottom: 5vw;
    }
    .member_login_box .loginform__content form > p {
      margin-bottom: 4vw;
    }
    .member_login_box .loginform__content input[type="submit"] {
      width: 100%;
      max-width: 68vw;
      padding: 3vw;
      font-size: 4.26vw;
    }
    .member_login_box .loginform__content input[type="text"],
    .member_login_box .loginform__content input[type="password"] {
      width: 100%;
      padding: 2vw 4vw;
      font-size: 1.6rem;
    }
  }
  @media screen and (max-width: 414px) {
    .member_login_box .login-remember {
      font-size: 1.4rem;
      letter-spacing: 0;
    }
  }

.loginform__error {
  border: solid 1px rgba(255,0,4,1.00);
  margin-top: 30px;
  padding: 20px;
  text-align: center;
  color: rgba(255,0,4,1.00);
  font-weight: 500;
}
  @media screen and (max-width: 899px) {
  }

.login_help-txt p {
  margin-bottom: 30px;
}
.login_help-txt p:last-child {
  margin-bottom: 0;
}
  @media screen and (max-width: 899px) {
    .login_help-txt p {
      margin-bottom: 4vw;
    }
  }

/*----------------------------------------------------
  共通WP
--------------------------------------------------- */
/* img */
.aligncenter {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.alignright { float: right; }
.alignleft { float: left; }
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
  max-width: 100%;
}
img.alignleft {
  margin-right: 25px;
}
img.alignright {
  margin-left: 25px;
}
/* 画像だけ入った <p> の中で float を完結させる（モダン） */
p:has(> img.alignleft),
p:has(> img.alignright) {
  display: flow-root; /* または overflow: hidden; */
  margin-bottom: 0;
}
/* 左寄せ画像の直後の要素を回り込み解除 */
img.alignleft + * {
  clear: both;
}
/* 右寄せ画像の直後も同じ */
img.alignright + * {
  clear: both;
}

/*投稿詳細用*/
.entry-content {
  padding-bottom: 15px;
  border-bottom: solid 1px #ddd;
}
.entry-content:after {
  content: ""; 
  display: block; 
  clear: both;
}
  @media screen and (max-width: 899px) {
    .entry-content {
      padding-bottom: 2.66vw;
    }
  }

.entry-content h1 {
  font-size: min(2.2vw, 2.2rem);
  padding: 7px 20px;
  border-radius: 5px;
  margin-bottom: 25px;
  background: #369ED1;
  color: #fff;
}
  @media screen and (max-width: 899px) {
    .entry-content h1 {
      font-size: 4.4vw;
      padding: 2vw 4vw;
      border-radius: 1.33vw;
      margin-bottom: 4vw;
    }
  }

.entry-content h2 {
  font-size: min(2.2vw, 2.2rem);
  padding-bottom: 12px;
  margin-bottom: 25px;
  border-bottom: solid 1px #369ED1;
}
  @media screen and (max-width: 899px) {
    .entry-content h2 {
      font-size: 4.4vw;
      padding-bottom: 3vw;
      margin-bottom: 4px;
    }
  }

.entry-content h3 {
  position: relative;
  font-size: 2rem;
  padding-left: 22px;
  margin-bottom: 15px;
}
.entry-content h3::after {
  position: absolute;
  left: 0;
  top: 8px;
  z-index: 5;
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #369ED1;
}
  @media screen and (max-width: 899px) {
    .entry-content h3 {
      font-size: 4.26vw;
      padding-left: 5vw;
      margin-bottom: 3vw;
    }
    .entry-content h3::after {
      top: 1.8vw;
      width: 3.33vw;
      height: 3.33vw;
    }
  }

.entry-content h4 {
  font-size: 2rem;
  margin-bottom: 15px;
}
  @media screen and (max-width: 899px) {
    .entry-content h4 {
      font-size: 4.26vw;
      margin-bottom: 3vw;
    }
  }

.entry-content h5 {
  font-size: 1.8rem;
  margin-bottom: 15px;
}
  @media screen and (max-width: 899px) {
    .entry-content h5 {
      font-size: 4.13vw;
      margin-bottom: 3vw;
    }
  }

.entry-content h6 {
  font-size: 1.7rem;
  margin-bottom: 15px;
}
  @media screen and (max-width: 899px) {
    .entry-content h6 {
      font-size: 4vw;
      margin-bottom: 3vw;
    }
  }

.entry-content p {
  margin-bottom: 30px;
}
  @media screen and (max-width: 899px) {
    .entry-content p {
      margin-bottom: 5vw;
    }
  }

.entry-content img {
  margin-bottom: 30px;
}
  @media screen and (max-width: 899px) {
    .entry-content img {
      margin-bottom: 5vw;
    }
  }

.entry-content ul {
  margin-bottom: 30px;
  padding-left: 20px;
}
.entry-content ul li {
  list-style-type: disc;
}
.entry-content ul li ul {
  margin-bottom: 10px;
  font-size: 93%;
}
.entry-content ul li ul li {
  list-style-type:circle;
}
  @media screen and (max-width: 899px) {
    .entry-content ul {
      margin-bottom: 5vw;
      padding-left: 5.4vw;
    }
    .entry-content ul li ul {
      margin-bottom: 2vw;
    }
  }

.entry-content ol {
  counter-reset: section;
  margin-bottom: 30px;
}
.entry-content ol li {
  list-style: none;
}
.entry-content ol > li:before {
  content : counters(section, '-') '. ';
  counter-increment : section;
}
.entry-content ol li ol {
  padding-left: 20px;
  margin-bottom: 10px;
  font-size: 93%;
}
  @media screen and (max-width: 899px) {
    .entry-content ol {
      margin-bottom: 5vw;
    }
    .entry-content ol li ol {
      padding-left: 5.4vw;
      margin-bottom: 2vw;
    }
  }

.entry-content table {
  width: 100%;
  margin: 0 0 30px 0;
}
.entry-content th {
  text-align: left;
  padding: 7px 10px;
  border:solid 1px #eee;
}
.entry-content td {
  padding: 7px 10px;
  border: solid 1px #eee;
}
  @media screen and (max-width: 899px) {
    .entry-content table {
      margin: 0 0 5vw 0;
      font-size: 93%;
    }
    .entry-content th {
      padding: 2vw;
    }
    .entry-content td {
      padding: 2vw;
    }
  }

.entry-content table img {
  margin-bottom: 0;
}

.entry-content blockquote {
  position: relative;
  border: solid 4px #d7d7d7;
  padding: 20px 20px 20px 45px;
  margin-bottom: 30px;
  font-size: 95%;
}
.entry-content blockquote::before {
  position: absolute;
  left: 15px;
  top: 20px;
  content: "“";
  line-height: 1;
  font-size: 5rem;
  color: #d7d7d7;
}
  @media screen and (max-width: 899px) {
    .entry-content blockquote {
      border: solid 3px #d7d7d7;
      padding: 4vw 3.33vw 4vw 9.33vw;
      margin-bottom: 5vw;
    }
    .entry-content blockquote::before {
      left: 2vw;
      top: 4vw;
      font-size: 12.33vw;
    }
  }

.entry-content u {
  text-decoration: underline;
}

.entry-content .wp-caption.alignright {
  margin-left: 25px;
}
.entry-content .wp-caption.alignleft {
  margin-right: 25px;
}
  @media screen and (max-width: 899px) {
    .entry-content .wp-caption {
      width: 100%!important;
      float: none!important;
      margin: 0 0 5vw 0!important;
    }
  }

.entry-content .wp-caption img {
  margin-bottom: 5px;
}
.entry-content .wp-caption p {
  font-size: 90%;
  color: #757575;
  font-style: italic;
}
  @media screen and (max-width: 899px) {
    .entry-content .wp-caption img {
      margin-bottom: 2vw;
    }
  }

.entry-content hr {
  padding: 0;
  border: none;
  border-top: 1px dashed #ccc;
  margin: 25px 0;
}
  @media screen and (max-width: 899px) {
    .entry-content hr {
      margin: 5vw 0;
    }
  }

/*ページ分割ナビ*/
.wp-pagenavi {
  padding: 60px 0 0 0;
  text-align: center;
  overflow: hidden;
}
.wp-pagenavi a, .wp-pagenavi span {
  display: inline-block;
  width: 44px;
  line-height: 42px;
  background: #fff;
  border: 1px solid #369ED1;
  color: #369ED1;
  margin: 0 3px 10px 3px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1.8rem;
}
.wp-pagenavi span {
  background: #369ED1;
  color: #fff;
}
.wp-pagenavi a:hover {
  background: #369ED1;
  color: #fff;
  border: 1px solid #369ED1;
}
.wp-pagenavi .first, .wp-pagenavi .last {
  line-height: 1;
  width: auto;
  border: none;
  color: #369ED1;
  font-size: 1.6rem;
}
.wp-pagenavi .first:hover, .wp-pagenavi .last:hover {
  border: none;
  background: none;
  color: #369ED1;
  text-decoration: underline;
}
.wp-pagenavi .extend {
  line-height: 1;
  width: auto;
  border: none;
  color: #369ED1;
  background: none;
}
  @media screen and (max-width: 899px) {
    .wp-pagenavi {
      padding: 6.66vw 0 0 0;
    }
    .wp-pagenavi a, .wp-pagenavi span {
      width: 8vw;
      line-height: 8vw;
      margin: 0 0.33vw 2.33vw 0.33vw;
      font-size: 3.73vw;
    }
  }

/*記事詳細ナビ*/
.wp-detailnavi {
  position: relative;
  padding: 60px 0 0 0;
  text-align: center;
}
.prev_link {
  position: absolute;
  left: 0;
  bottom: 12px;
  z-index: 10;
}
.next_link {
  position: absolute;
  right: 0;
  bottom: 12px;
  z-index: 10;
}
  @media screen and (max-width: 899px) {
    .wp-detailnavi {
      padding: 8vw 0 0 0;
      margin-bottom: 3.33vw;
    }
    .wp-detailnavi a {
      font-size: 3.46vw;
    }
    .prev_link {
      bottom: 2.66vw;
    }
    .next_link {
      bottom: 2.66vw;
    }
    .wp-detailnavi .btn01 a {
      width: 40vw!important;
      padding: 2.66vw;
    }
  }

/*----------------------------------------------------
  404 Not Found
--------------------------------------------------- */
#notfound {
  padding-bottom: 60px;
}
#notfound p {
  padding-bottom: 20px;
}
#notfound .btn01 {
  margin-top: 40px;
}
  @media screen and (max-width: 899px) {
    #notfound {
      padding-bottom: 10.66vw;
    }
    #notfound p {
      text-align: left;
      letter-spacing: 0;
      padding-bottom: 4vw;
    }
    #notfound .btn01 {
      margin-top: 6.66vw;
    }
  }

/*----------------------------------------------------
  お問い合わせ contact
--------------------------------------------------- */
#contact_lead {
  margin-bottom: 50px;
}
  @media screen and (max-width: 899px) {
    #contact_lead {
      margin-bottom: 8vw;
    }
  }

.form_area table {
  margin: 0 auto 40px auto;
}
.form_area th {
  width: 320px;
  padding: 12px 20px;
  text-align: left;
  font-weight: 500;
  vertical-align: top;
  background: #eee;
  border-bottom: solid 1px #fff;
}
.form_area th span {
  display:block;
  position:relative;
  margin-top: 15px;
  padding-right: 50px;
}
.form_area th .require {
  position:absolute;
  right:0;
  top: calc(50% - 15px);
  color:#fff;
  background: #f00;
  font-style:normal;
  display:inline-block;
  font-size: 1.6rem;
  width: 60px;
  line-height: 30px;
  border-radius: 3px;
  text-align: center;
}
.form_area td {
  padding: 12px 0 12px 20px;
  background: rgba(255,255,255,0.9);
  border-bottom: solid 1px #fff;
}
.form_area td .wpcf7-text, 
.form_area td textarea {
  padding: 12px 15px;
  background: #fff;
  border: solid 1px #ccc;
  border-radius: 0;
  width: 100%;
  margin: 8px 0;
  outline: none;
}
.form_area td select {
  width: 180px;
  border: solid 1px #ccc;
  padding: 7px 32px 7px 15px;
  height: 52px;
  outline: none;
  background: url("../img/common/ico/ico_select.svg") #fff right 15px center no-repeat;
  background-size: 14px auto;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}
.form_area td textarea {
  height: 250px;
}
  @media screen and (max-width: 767px) {
    #contact_form {
      padding: 5.33vw;
    }
    .form_area {
      max-width: 100%;
      padding: 0;
    }
    .form_area table,
    .form_area tbody,
    .form_area tr,
    .form_area th,
    .form_area td {
      display: block;
      width: 100%!important;
      font-size: 1.6rem;
    }
    .form_area table {
      margin-bottom: 0;
    }
    .form_area th {
      max-width: 100%;
      padding: 7px 10px;
    }
    .form_area th span {
      margin: 0;
    }
    .form_area th .require {
      top: calc(50% - 11px);
      font-size: 1.3rem;
      width: 40px;
      line-height: 22px;
    }
    .form_area td {
      padding: 10px 0;
      border: none;
    }
    .form_area td .wpcf7-text, f
    .form_area td textarea {
      padding: 9px 12px;
      margin: 5px 0;
      font-size: 1.6rem;
    }
    .form_area td select {
      width: 100%;
      padding: 5px 30px 5px 12px;
      height: 42px;
      background: url("../img/common/ico/ico_select.svg") #fff right 12px center no-repeat;
      background-size: 12px auto;
    }
    .form_area td textarea {
      height: 220px;
    }
  }

#zipcode {
  width: 180px;
  margin-right: 12px
}
  @media screen and (max-width: 767px) {
    #zipcode {
      width: 150px;
    }
    .zip_box {
      margin-bottom: 10px;
    }
    .city_select_box {
      margin-bottom: 10px;
    }
  }

.contact_address_wrap {
  align-items: center;
}

.doui_box {
  text-align: center;
  margin-bottom: 40px;
  font-size: 1.6rem;
}
.doui_box .wpcf7-list-item-label {
  margin-left: 5px;
}
.doui_box .wpcf7-list-item {
  margin: 0;
}
.row-submit {
  text-align: center;
}
  @media screen and (max-width: 767px) {
    .doui_box {
      font-size: 1.5rem;
      margin-bottom: 30px;
    }
  }

.wpcf7-radio {
  display: block;
  padding: 12px 0;
}
.wpcf7-radio .wpcf7-list-item {
  display: inline-block;
  margin: 5px 25px 5px 0;
}
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
  margin-left: 5px;
  display: inline-block;
}
  @media screen and (max-width: 767px) {
    .wpcf7-radio {
      padding: 0;
    }
    .wpcf7-radio .wpcf7-list-item {
      display: block;
      margin: 0;
      font-size: 1.5rem;
    }
  }

/*プレースホルダー*/
::-webkit-input-placeholder { color:#999; opacity: 1; }
:-moz-placeholder { color:#999; opacity: 1; }
::-moz-placeholder { color:#999; opacity: 1; }

:focus::-webkit-input-placeholder { color:transparent; }
:focus:-moz-placeholder { color:transparent; }
:focus::-moz-placeholder { color:transparent; }

/*ボタン*/
.submit-btn {
  position: relative;
  display: block;
  width: 360px;
  margin: 0 auto;
  background: #369ED1;
}
.submit-btn::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 0;
  height: 100%;
  background: #369ED1;
  filter: brightness(1.1);
  transition: all 0.3s linear 0s;
}
.submit-btn:hover::after {
  width: 100%;
}
.submit-btn::before {
  position: absolute;
  right: 18px;
  top: calc(50% - 8px);
  content: "";
  background: url("../img/common/ico/ico_arrow01wh.svg") center center no-repeat;
  background-size: 10px auto;
  width: 10px;
  height: 16px;
  z-index: 10;
}
.submit-btn input {
  font-size: 2rem;
  letter-spacing: 0.1em;
  outline: none;
  position: relative;
  z-index: 5;
  display: block;
  width: 100%;
  padding: 20px;
  border-radius: 0;
  text-align: center;
  color: #fff;
  border: none;
  text-decoration: none;
  background: none;
  transition: all 0.2s ease-in-out 0s;
}
.submit-btn [disabled] {
  color: #999!important;
  opacity: 1!important;
  border: solid 1px #ccc!important;
  background-color: #ccc!important;
}
  @media screen and (max-width: 767px) {
    .submit-btn {
      width: 100%;
    }
    .submit-btn::after {
      display: none;
    }
    .submit-btn::before {
      right: 12px;
      top: calc(50% - 10px);
      font-size: 2rem;
    }
    .submit-btn input {
      font-size: 1.8rem;
      padding: 15px;
    }
  }

.wpcf7 .ajax-loader {
  position: absolute;
  right: calc(50% - 35px)!important;
  bottom: -35px!important;
}
.wpcf7 form.spam .wpcf7-response-output {
  text-align: center!important;
}

