@charset "UTF-8";

html {
  height: 100%;
  font-size: 106.25%;
  /* ブラウザのデフォルト = 約 1７px */
}

/** /////////////////////////////////////////////////// **/
/***** .html- *****/
/** /////////////////////////////////////////////////// **/
.html-medical,.html-general,.html-personnel,.html-members {
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 200vw;
}
.html-medical {
  background-image: url(../img/bg-header-blue.png);
}
.html-general {
  background-image: url(../img/bg-header-pink.png);
}
.html-personnel {
  background-image: url(../img/bg-header-green.png);
}
.html-members {
  background-image: url(../img/bg-header-yellow.png);
}

@media (min-width: 768px) {
  .html-medical,.html-general,.html-personnel,.html-members {
    background-size: 100%;
  }
}
@media (min-width: 1440px) {
  .html-medical,.html-general,.html-personnel,.html-members {
    background-position: center -5%;
  }
}
@media (min-width: 1600px) {
  .html-medical,.html-general,.html-personnel,.html-members {
    background-position: center -15%;
  }
}

/** /////////////////////////////////////////////////// **/
/***** basic tag *****/
/** /////////////////////////////////////////////////// **/
body {
  font-family: YakuHanJP_Narrow, "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  /* font-family: YakuHanJP_Narrow, "League Spartan", "Zen Kaku Gothic New", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif; */
  width: 100%;
  max-width: 1920px;
  word-break: break-word;
  /* -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"; */
  /* font-weight: 500; */
  letter-spacing: .8px;
  font-size: clamp(var(--rem14), var(--vw16), var(--rem16));
  color: #555;
}

/* fade-in */
body {
  animation: loading .7s;
}

@keyframes loading {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

main {
  min-height: 45vh;
}

a {
  transition: var(--hover-transition);
  color: #555;
}

a:hover,a:active,button:hover,button:active,input[type="submit"]:hover,input[type="submit"]:active {
  transition: var(--hover-transition);
  opacity: var(--hover-opacity-4);
}

ol {
  padding: 0 0 0 40px;
  text-indent: 5px;
}

ol li::marker {
  font-weight: bold;
}

img,
video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

img {
  image-rendering: -webkit-optimize-contrast;
}

button,
input,
optgroup,
select,
textarea {
  font-size: clamp(var(--rem14), var(--vw16), var(--rem16));
}

/* smart phone */
input[type="date"],
input[type="time"],
input[type="datetime-local"] {
    -webkit-appearance: none;
    min-height: 1rem;
}

input[type="date"]::-webkit-date-and-time-value,
input[type="time"]::-webkit-date-and-time-value {
    text-align: left;
}

/* フォームの共通クラス .common-search-form-01 内の input[name="as_q"] を指定 */
.common-search-form-01 input[name="as_q"] {
  /* デフォルトの背景色（入力前の背景色を設定） */
  background-color: #ffffff !important;
  /* 例: 白 */
  transition: background-color 0.3s;
  /* スムーズな変化のため */
}

/* has-valueクラスが付与されたときのスタイル */
.common-search-form-01 input[name="as_q"].has-value {
  /* 入力値があるときの背景色を透明に設定 */
  background-color: transparent !important;
}

small {
  display: inline-block;
  line-height: 1.6;
}

/** /////////////////////////////////////////////////// **/
/***** table *****/
/** /////////////////////////////////////////////////// **/
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

table th,
table td {
  vertical-align: middle;
  text-align: left;
  font-weight: normal;
}

table th p,
table td p {
  line-height: 1.6;
}

/*** table-sp-block ***/
.table-sp-block th,
.table-sp-block td {
  display: block;
}

/*** common-table ***/
.common-table th {
  font-weight: bold;
}

.common-table th,
.common-table td {
  padding: min(var(--vw10), 15px) 16px;
}

/****************************************************/
@media (min-width: 768px) {

  .table-sp-block th,
  .table-sp-block td {
    display: table-cell;
  }
}

/****************************************************/
/* sp - tb - pc 表示切替 */
/****************************************************/
/*
  基本的な考え方：
  モバイルファーストのため、デフォルトで.spが適用されます。
  ブレークポイントを超えるごとに、より広い画面向けのクラスが追加で表示されるようにします。
*/

/* スマートフォン (sp): 0px から適用 */
/* スマートフォンでは、.sp と .sp-tb が表示され、.tb-pc と .pc は非表示 */
.sp {
  display: block !important;
  /* スマートフォンで表示 */
}

.sp-tb {
  display: block !important;
  /* スマートフォンで表示 */
}

.tb-pc,
.pc {
  display: none !important;
  /* スマートフォンで非表示 */
}

/* タブレット縦方向 (sp-tb): 768px 以上で適用 */
@media (min-width: 768px) {
  .sp {
    display: none !important;
    /* タブレット以上で非表示 */
  }

  .sp-tb {
    display: block !important;
    /* タブレットで表示 */
  }

  .tb-pc {
    display: block !important;
    /* タブレットで表示 */
  }

  .pc {
    display: none !important;
    /* タブレットで非表示 */
  }
}

/* PC (pc): 1024px 以上で適用 */
@media (min-width: 1024px) {

  /* ここでタブレット横方向〜PCを一本化し、1024px以上をPCとして扱います */
  .sp,
  .sp-tb {
    display: none !important;
    /* PCで非表示 */
  }

  .tb-pc {
    display: block !important;
    /* PCで表示 */
  }

  .pc {
    display: block !important;
    /* PCで表示 */
  }
}




/****************************************************/
/* Flex and Grid */
/****************************************************/
.dp-flex {
  display: flex;
}

.dp-grid {
  display: grid;
}

.dp-block {
  display: block;
}

.dp-inline-block {
  display: inline-block;
}

.flex-sp-tb-col-pc-row,
.flex-sp-tb-col-pc-row-l,
.flex-sp-col-tb-pc-row {
  display: flex;
  flex-direction: column;
}

@media (min-width: 1280px) {
  .flex-sp-tb-col-pc-row-l {
    flex-direction: row;
  }
}

@media (min-width: 960px) {
  .flex-sp-tb-col-pc-row {
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .flex-sp-col-tb-pc-row {
    flex-direction: row;
  }
}

.flex-dir-col,
.flex-dir-col-sp-only {
  flex-direction: column;
}

@media (min-width: 768px) {
  .flex-dir-col-sp-only {
    flex-direction: inherit;
  }
}

.flex-sp-only {
  display: flex;
}

@media (min-width: 768px) {
  .flex-sp-only {
    display: block;
  }
}

.flex-pc-tb-only {
  display: block;
}

@media (min-width: 768px) {
  .flex-pc-tb-only {
    display: flex;
  }
}

.flex-pc-tb-only-l {
  display: block;
}

@media (min-width: 1080px) {
  .flex-pc-tb-only-l {
    display: flex;
  }
}

/* grid patterns */
[class*="dp-grid-"] {
  display: grid;
}

[class*="dp-grid-sp-2-"],
[class*="dp-grid-sp-tb-2-"] {
  grid-template-columns: repeat(2, 1fr);
}

[class*="dp-grid-sp-1-"],
[class*="dp-grid-sp-tb-1-"] {
  grid-template-columns: repeat(1, 1fr);
}

@media (min-width: 480px) {

  /* sp */
  .dp-grid-sp-1-tb-2-pc-4,
  .dp-grid-sp-1-tb-2-pc-3,
  .dp-grid-sp-1-tb-pc-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 600px) {

  /* sp - tablet */
  .dp-grid-sp-1-tb-pc-3,
  .dp-grid-sp-1-tb-3-pc-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) {

  /* tablet */
  .dp-grid-sp-2-tb-3-pc-4 {
    grid-template-columns: repeat(3, 1fr);
  }

  .dp-grid-sp-2-tb-pc-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1024px) {

  /* PC */
  .dp-grid-sp-2-tb-pc-4,
  .dp-grid-sp-tb-2-pc-4,
  .dp-grid-sp-1-tb-3-pc-4,
  .dp-grid-sp-1-tb-2-pc-4 {
    grid-template-columns: repeat(4, 1fr);
  }

  .dp-grid-sp-tb-1-pc-3,
  .dp-grid-sp-tb-2-pc-3,
  .dp-grid-sp-1-tb-pc-3,
  .dp-grid-sp-1-tb-2-pc-3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .dp-grid-sp-tb-1-pc-2,
  .dp-grid-sp-1-tb-pc-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* MIX : Grid and Flex patterns */
.dp-sp-flex-tb-pc-grid,
.dp-sp-tb-flex-pc-grid {
  display: flex;
  flex-direction: column;
}

@media (min-width: 1025px) {

  /* PC */
  .dp-grid-sp-2-tb-3-pc-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 600px) {

  /* sp - tablet */
  .dp-sp-flex-tb-pc-grid {
    display: grid;
  }
}

@media (min-width: 1024px) {

  /* PC */
  .dp-sp-flex-tb-pc-grid {
    display: grid;
  }
}

/* flex grid option */
.flex-wrap {
  flex-wrap: wrap;
}

.justify-content-sa {
  justify-content: space-around;
}

.justify-content-sb {
  justify-content: space-between;
}

.justify-content-c {
  justify-content: center;
}

.align-items-c {
  align-items: center;
}

.align-items-base {
  align-items: baseline;
}

.align-items-end {
  align-items: end;
}

.align-items-st {
  align-items: stretch;
}

.flex-dir-c {
  flex-direction: column;
}

.place-items-c {
  place-items: center;
}

/****************************************************/
/* common width */
/****************************************************/
.common-main-w-s {
  width: var(--common-main-w-s);
}

.common-main-w-m {
  width: var(--common-main-w-m);
}

/****************************************************/
@media (min-width: 768px) {
  .common-main-w-m {
    min-width: 80%;
  }
}

@media (min-width: 1120px) {
  .common-main-w-m {
    min-width: 1080px;
  }
}

/****************************************************/
/* margin */
/****************************************************/
.m-a {
  margin: auto;
}

.m-0-a {
  margin: 0 auto;
}

.m-1-a-0 {
  margin: 10px auto 0;
}
.m-2-a-0 {
  margin: 20px auto 0;
}
.m-3-a-0 {
  margin: 30px auto 0;
}
.m-4-a-0 {
  margin: 40px auto 0;
}
.m-5-a-0 {
  margin: 50px auto 0;
}

.m-1-0-0 {
  margin: 10px 0 0;
}
.m-2-0-0 {
  margin: 20px 0 0;
}
.m-3-0-0 {
  margin: 30px 0 0;
}
.m-4-0-0 {
  margin: 40px 0 0;
}
.m-5-0-0 {
  margin: 50px 0 0;
}

.m-top-l-a-a {
  margin: 18.666vw auto auto;
}

.m-top-m-a-a {
  margin: 10.666vw auto auto;
}

.m-top-s-a-a {
  margin: 5.333vw auto auto;
}

@media (min-width: 768px) {
  .m-top-l-a-a {
    margin: 70px auto auto;
  }

  .m-top-m-a-a {
    margin: 45px auto auto;
  }

  .m-top-s-a-a {
    margin: 20px auto auto;
  }
}

/****************************************************/
/* padding */
/****************************************************/
.common-inner-vertical-padding {
  padding: min(var(--vw60), 60px) 0 min(var(--vw80), 80px);
}

/****************************************************/
/* radius */
/****************************************************/
.radius-40 {
  border-radius: 40px;
}

.radius-0-120-0-0 {
  border-radius: 0 120px 0 0;
}

/****************************************************/
/* img */
/****************************************************/
.img-fit img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/****************************************************/
/* background */
/****************************************************/
.site-bg-gradient- {
  /* メインサイトはスラッグが空の場合がある */
  background: var(--bg-gradient-blue);
}

.site-bg-gradient-medical {
  /* メインサイトのスラッグが空じゃない場合の予備 */
  background: var(--bg-gradient-blue);
}

.site-bg-gradient-general {
  background: var(--bg-gradient-pink);
}

.site-bg-gradient-personnel {
  background: var(--bg-gradient-green);
}

.site-bg-gradient-members {
  background: var(--bg-gradient-yellow);
}

.site-bg-light-medical {
  /* メインサイトのスラッグが空じゃない場合の予備 */
  background: var(--color-blue-light);
}

.site-bg-light-general {
  background: var(--color-pink-light);
}

.site-bg-light-personnel {
  background: var(--color-green-light);
}

.site-bg-light-members {
  background: var(--color-yellow-light);
}

.bg-fff {
  background: #fff;
}

/****************************************************/
/* news-icon */
/****************************************************/
.common-new-mark {
  display: inline-block;
  border-radius: 2px;
  line-height: 1;
  font-size: var(--rem13);
}

/****************************************************/
/* news-icon */
/****************************************************/
[class*='news-icon-'] {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 200px;
}

[class*='news-icon-'] img {
  max-width: 56%;
}

.news-icon-common,.news-icon-medical {
  background: var(--color-blue);
}

.news-icon-general {
  background: var(--color-pink);
}

.news-icon-personnel {
  background: var(--color-green);
}

.news-icon-members {
  background: var(--color-yellow);
}

/****************************************************/
/* text-align */
/****************************************************/
.align-j {
  text-align: justify;
}

.align-r {
  text-align: right;
}

.align-c {
  text-align: center;
}

.align-l {
  text-align: left;
}

.align-sp-l-pc-c {
  text-align: left;
}

.align-sp-c-pc-l {
  text-align: center;
}

@media (min-width: 768px) {
  .align-sp-l-pc-c {
    text-align: center;
  }

  .align-sp-c-pc-l {
    text-align: left;
  }
}

/****************************************************/
/* text font */
/****************************************************/
.letter-spacing-0 {
  letter-spacing: 0;
}

.tx-deco-underline {
  text-decoration: underline;
}

.bold {
  font-weight: bold;
}

.semi-bold {
  font-weight: 600;
}

.medium {
  font-weight: 500;
}

.regular {
  font-weight: 400;
}

.light {
  font-weight: 300;
}

.extra-light {
  font-weight: 200;
}

/****************************************************/
/* color */
/****************************************************/
.site-color- {
  /* メインサイトはスラッグが空の場合がある */
  color: var(--color-blue);
}

.site-color-medical {
  /* メインサイトのスラッグが空じゃない場合の予備 */
  color: var(--color-blue);
}

.site-color-general {
  color: var(--color-pink);
}

.site-color-personnel {
  color: var(--color-green);
}

.site-color-members {
  color: var(--color-yellow);
}

.fff {
  color: #fff;
}


/****************************************************/
/* a */
/****************************************************/
.icon-target-blank {
  display: flex;
  align-items: center;
}

.common-editor-content a.icon-target-blank {
  text-decoration: none;
}

.icon-target-blank::after,
.icon-target-blank-white::after,
.medical-prof-list td a::after {
  content: "";
  display: inline-block;
  min-width: 18px;
  width: 18px;
  height: 18px;
  margin-left: 5px;
  background: url(../img/icon-target-blank-01.svg) no-repeat;
  background-size: cover;
  opacity: .6;
}

.icon-target-blank-white::after {
  background: url(../img/icon-target-blank-white-01.svg) no-repeat;
  background-size: cover;
  opacity: 1;
}

/* a[target="_blank"]:has(img) {
  padding-right: 0;
}

a[target="_blank"]:has(img)::after {
  content: none;
} */

/****************************************************/
/* others */
/****************************************************/
.pointer-events-none {
  pointer-events: none;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*  */
[class*="hover-opacity"],
.hover-underline {}



/****************************************************/
/* common site original */
/* 

*/
/****************************************************/


/*
common-search-form-01
*/
.common-search-form-01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  background: #fff;
  border-radius: 25px;
  padding: 4px;
}

.common-search-form-01.search-form-with-border {
  border: 2px solid #888;
}

.common-search-form-01 input {
  width: 250px;
  height: 32px;
  padding: 5px 15px;
  border: none;
  box-sizing: border-box;
  font-size: 1em;
  outline: none;
}

.common-search-form-01 input::placeholder {
  color: #777777;
}

.common-search-form-01 button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  border-radius: 200px;
  border: none;
  background-color: #888;
  cursor: pointer;
}

.common-search-form-01 button::after {
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
  background-repeat: no-repeat;
  content: '';
}



/****************************************************/
/* common-logo-icon */
/****************************************************/
[class*="icon-site-"]::before {
  content: '';
  display: inline-block;
  width: min(var(--vw24), 40px);
  height: min(var(--vw24), 40px);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.icon-site-general::before {
  background-image: url('../img/icon-general-white-01.svg');
}

.icon-site-personnel::before {
  background-image: url('../img/icon-personnel-white-01.svg');
}

.icon-site-::before,
.icon-site-medical::before {
  background-image: url('../img/icon-medical-white-01.svg');
}

/****************************************************/
/*
common-btn-01
*/
/****************************************************/
[class*='common-btn-01-'] a,
[class*='common-btn-01-'] input {
  max-width: 296px;
  min-width: 240px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  border: 2px solid #777;
  background: #fff;
  padding: 10px 8px;
  font-weight: bold;
}

[class*='common-btn-01-'] a::after,
[class*='common-btn-01-'] input::after,
.common-pager-link.pager-prev a::before,
.common-pager-link.pager-next a::after,
.page-numbers .next::after,
.page-numbers .prev::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url('../img/icon-arrow-right-gray.svg');
  background-repeat: no-repeat;
  background-size: contain;
}

[class*='common-btn-01-'] a[target="_blank"]::after {
  background-image: url('../img/icon-target-blank-01.svg');
}
.common-btn-01-tx {
  display: block;
  margin: 0 auto;
  padding: 0 8px;
  line-height: 1.4;
}

.common-btn-01-sp-c-pc-r a {
  margin: 0 auto;
}

@media (min-width: 768px) {
  .common-btn-01-sp-c-pc-r a {
    margin: 0 0 0 auto;
  }
}

.common-editor-content [class*='common-btn-01-'] a {
  max-width: 100%;
  width: fit-content;
  padding: 10px 12% 10px 6%;
  position: relative;
  text-decoration: none;
}

.common-editor-content [class*='common-btn-01-'] a::after {
  position: absolute;
  right: 5%;
}

@media (min-width: 768px) {
  .common-editor-content [class*='common-btn-01-'] a {
    padding: 10px 8.8% 10px 4%;
  }
}
@media (min-width: 1024px) {
  .common-editor-content [class*='common-btn-01-'] a {
    padding: 10px 5.4% 10px 3%;
  }
}

/****************************************************/
/* 
header-lower-page
*/
/****************************************************/
.breadcrumbs {
  margin: 15px 15px 0;
  line-height: 1.4;
  font-size: clamp(var(--rem11), var(--vw12), var(--rem12));
}

.header-lower-page {
  margin: min(var(--vw80), 80px) auto 0;
}

/****************************************************/
/***
common-all-sites-list
*/
/****************************************************/
.common-all-sites-list {
  gap: 15px 3%;
}

.all-sites-list-item {
  flex-grow: 1;
}

.all-sites-list-item-inner {
  border-radius: 24px;
}

.all-sites-list-item .site-bg-gradient-general {
  border: 4px solid var(--color-pink-light);
}
.all-sites-list-item .site-bg-gradient-personnel {
  border: 4px solid var(--color-green-light);
}
.all-sites-list-item .site-bg-gradient-medical {
  border: 4px solid var(--color-blue-light);
}

.all-sites-list-item a {
  gap: 0 20px;
  padding: 20px min(var(--vw12), 20px);
}

.all-sites-list-item a::before,
.all-sites-list-item a::after {
  flex-grow: 0;
}

.all-sites-list-item .tx {
  flex-grow: 2;
  font-size: clamp(var(--rem16), var(--vw17), var(--rem17));
}

@media (min-width: 768px) {
  .all-sites-list-item {
    /* width: 32%; */
  }
}

/****************************************************/
/**
common-link-list
*/
/****************************************************/
.common-link-list-section-outer .common-main-w-m {
  padding: 0 3.2%;
}

.common-link-list-section h2 {
  margin: 0 auto;
}

.common-link-list {
  gap: 2vw;
}

/****************************************************/
/**
common-news-list
*/
/****************************************************/
.common-news-list {
  gap: 10px;
}

.news-item {
  border-bottom: 1px dashed #ddd;
  padding: 0 0 10px;
}

.news-item-header {
  gap: 10px 12px;
}

.news-item-body {
  flex: 1;
  line-height: 1.4;
}

.news-item-meta {
  gap: 10px;
}

.news-item-meta .cats li {
  border-radius: 100px;
  padding: 3px 8px;
  font-size: clamp(var(--rem11), var(--vw12), var(--rem12));
}

/****************************************************/
/**
news-pickup
*/
.common-news-pickup-list {
  gap: 16px;
  width: 80%;
}

.news-pickup-item .img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 24px;
  border: 1px solid #ddd;
  overflow: hidden;
}

.news-pickup-item .news-item-body {
  width: 90%;
  margin: 10px auto 0;
}

.news-pickup-item .date {
  border-radius: 100px;
  border: 2px solid #888;
  background: #fff;
  padding: 4px 12px;
  font-size: var(--rem13);
  top: 10px;
  left: 10px;
}

@media (min-width: 768px) {
  .common-news-pickup-list {
    width: 100%;
  }
}

/****************************************************/
/**
main-news-cat-list
*/
.main-news-cat-list {
  gap: 10px 3.333%;
}

.main-news-cat-list li {
  flex-grow: 1;
}

.main-news-cat-list li span {
  display: block;
  border: 1px solid #ddd;
  border-radius: 200px;
  background: #fff;
  padding: 10px;
  text-align: center;
  cursor: pointer;
}

.main-news-cat-list li span:hover,
.main-news-cat-list li.active span {
  font-weight: bold;
}

/****************************************************/
@media (min-width: 768px) {
  .main-news-cat-list {
    /* gap: 3.333%; */
  }
}

/****************************************************/
/* common-link-list */
/****************************************************/
.common-link-list li {
  width: 80%;
  margin: auto;
}

/****************************************************/
@media (min-width: 768px) {
  .common-link-list li {
    width: auto;
  }
}

/****************************************************/
/* common-heading, common-summary, common-editor-content */
/****************************************************/
[class*="common-heading-h"] {
  line-height: 1.25;
}

/* 
heading-01
*/
.common-heading-h1 {
  line-height: 1.4;
  font-size: clamp(var(--rem22), var(--vw30), var(--rem38));
}

/* 
heading-02
*/
.common-heading-h2 {
  margin: min(var(--vw60), 60px) auto 0;
  font-weight: bold;
  font-size: clamp(var(--rem20), var(--vw24), var(--rem32));
}

.common-editor-content h2,.common-editor-content .wp-block-group h2 {
  width: fit-content;
  margin: min(var(--vw40), 60px) 0 0;
  border-radius: 24px;
  padding: 10px 16px;
  font-weight: bold;
  font-size: clamp(var(--rem20), var(--vw20), var(--rem24));
}
/* .common-editor-content h2:first-child {
  margin: 0;
} */

.site-general .common-editor-content h2 {
  border: 4px solid var(--color-pink);
  color: var(--color-pink);
}

.site-personnel .common-editor-content h2 {
  border: 4px solid var(--color-green);
  color: var(--color-green);
}

.site-medical .common-editor-content h2 {
  border: 4px solid var(--color-blue);
  color: var(--color-blue);
}

.site-members .common-editor-content h2 {
  border: 4px solid var(--color-yellow);
  color: var(--color-yellow);
}

.common-heading-h2 .eng,
.common-editor-content h2 .eng {
  font-size: clamp(var(--rem32), var(--vw36), var(--rem40));
}



/* 
heading-03
*/
[class*="common-heading-03"],
.common-editor-content h3 {
  margin: min(var(--vw30), 55px) auto 0;
  padding: 0 0 0 10px;
  font-size: clamp(var(--rem18), var(--vw20), var(--rem20));
}

.site-general .common-heading-h3,
.site-general .common-editor-content h3 {
  border-left: 8px solid var(--color-pink);
}

.site-personnel .common-heading-h3,
.site-personnel .common-editor-content h3 {
  border-left: 8px solid var(--color-green);
}

.site-medical .common-heading-h3,
.site-medical .common-editor-content h3 {
  border-left: 8px solid var(--color-blue);
}

.site-members .common-heading-h3,
.site-members .common-editor-content h3 {
  border-left: 8px solid var(--color-yellow);
}

[class*="common-heading-03"]::after {}


/* 
heading-04
*/
.common-heading-04,
.common-editor-content h4 {
  margin: min(var(--vw25), 50px) auto 0;
  padding: 0 0 10px;
  font-size: clamp(var(--rem16), var(--vw17), var(--rem17));
}

.site-general .common-heading-h4,
.site-general .common-editor-content h4 {
  border-bottom: 2px solid var(--color-pink);
}

.site-personnel .common-heading-h4,
.site-personnel .common-editor-content h4 {
  border-bottom: 2px solid var(--color-green);
}

.site-medical .common-heading-h4,
.site-medical .common-editor-content h4 {
  border-bottom: 2px solid var(--color-blue);
}

.site-members .common-heading-h4,
.site-members .common-editor-content h4 {
  border-bottom: 2px solid var(--color-yellow);
}

/* 
heading-05
*/
.common-heading-05,
.common-editor-content h5 {
  margin: min(var(--vw25), 45px) auto 0;
  font-size: clamp(var(--rem16), var(--vw17), var(--rem17));
}


/* 
heading-06
*/
.common-heading-06,
.common-editor-content h6 {
  margin: min(var(--vw25), 40px) auto 0;
  font-size: clamp(var(--rem16), var(--vw17), var(--rem17));
}

.common-heading-sub {
  margin: min(var(--vw15), 15px) auto 0;
  line-height: 1.4;
  font-size: clamp(var(--rem14), var(--vw16), var(--rem16));
}


/****************************************************/
/* english */
/****************************************************/
.eng {
  font-family: YakuHanJP_Narrow, "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

/****************************************************/
/* common-menu-main-list-general */
/****************************************************/
[class*="common-menu-main-list-"] {
  gap: 16px;
}

[class*="common-menu-main-list-"] .item a {
  display: grid;
  place-items: center;
  width: 100%;
  border-radius: 16px;
  padding: 20px;
  font-weight: bold;
}

.common-menu-main-list-general .item a {
  border: 4px solid var(--color-pink-light);
  background: var(--bg-gradient-pink);
}

.common-menu-main-list-personnel .item a {
  border: 4px solid var(--color-green-light);
  background: var(--bg-gradient-green);
}

.common-menu-main-list-medical .item a {
  border: 4px solid var(--color-blue-light);
  background: var(--bg-gradient-blue);
}

.common-menu-main-list-members .item a {
  border: 4px solid var(--color-yellow-light);
  background: var(--bg-gradient-yellow);
}

.common-menu-main-list-members-02 .item a {
  outline: 4px solid var(--color-yellow);
  outline-offset: -4px;
}

.common-menu-main-list-members-02 .item.logout a {
  background: #888;
  color: #fff;
}

/****************************************************/
/* common-editor-content */
/****************************************************/
/* 
.common-editor-content
*/
.common-editor-content {
  margin: min(var(--vw40), 50px) auto 0;
  container-type: inline-size;
  /* 画面幅 100vw があるとなぜかはみ出るため，その対策 */
}


/* 
.common-editor-content heading
*/
.common-editor-content .wp-block-heading {
  font-weight: bold;
}

/* 
div-full-width
*/
.common-editor-content .element-full-width {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.common-editor-content .element-full-width .wp-block-group__inner-container {
  width: var(--common-main-w-m);
  margin: auto;
}

/****************************************************/
@media (min-width: 768px) {
  .common-editor-content .element-full-width .wp-block-group__inner-container {
    min-width: 80%;
  }
}

@media (min-width: 1120px) {
  .common-editor-content .element-full-width .wp-block-group__inner-container {
    min-width: 1080px;
  }
}

/* 
p
*/
.common-editor-content>p {
  margin: min(var(--vw20), 25px) auto 0;
}

.common-editor-content p {
  line-height: 1.8;
}

.common-editor-content .wp-block-group__inner-container+p {
  margin: 0;
}

.common-editor-content .wp-block-group {
  h2,
  h3,
  h4,
  h5,
  h6 {
    +p {
      margin: min(var(--vw30), 30px) auto 0;
    }
  }
}

.common-editor-content *>*>p:last-of-type {}

/* 
img figure
*/
.common-editor-content>.wp-block-image {
  margin: min(var(--vw30), 30px) auto 0;
}

.common-editor-content .img-single-main {
  width: min(100%, 640px);
  margin: min(var(--vw30), 30px) auto;
}

/* 
ul ol
*/
.common-editor-content .wp-block-list {
  margin: min(var(--vw30), 30px) 0 0;
  line-height: 1.6;
}
.common-editor-content .wp-block-list.unordered-list {
  padding: 0 0 0 20px;
}
.common-editor-content .wp-block-list.unordered-list li {
  text-indent: -10px;
}
.common-editor-content .wp-block-list.unordered-list li::before {
  content: '●';
  display: inline-block;
  margin: 0 8px 0 0;
  color: #888;
  font-size: clamp(var(--rem14), var(--vw14), var(--rem14));
}

/* 
wp-block-flexible-table-block-table
*/
.common-editor-content .wp-block-flexible-table-block-table {
  margin: min(var(--vw10), 10px) auto 0;
}

.common-editor-content .wp-block-list li:not(:first-of-type) {
  margin: 5px auto 0;
}

/* 
attachment-file-list AND item
.custom-block-ooooo = block editor
*/
.attached-file-item {
  width: auto;
  text-decoration: none !important;
  font-size: clamp(var(--rem14), var(--vw15), var(--rem15));
}

.attached-file-item-solo {
  margin: 10px 0 0;
}

.attached-file-item a {
  gap: 0 8px;
  border: 1px solid #ddd;
  border-radius: 200px;
  background: #f4f4f4;
  padding: 12px 20px;
  line-height: 1.4;
}

.attached-file-list {
  gap: 10px;
  margin: 15px 0 0;
}

.attached-file-item a {
  display: inline-block;
}

.attached-file-item .file-info {
  line-height: 1.3;
}

.attached-file-item .file-name {
  flex: 1;
  margin: 0 8px 0 0;
  font-size: var(--st14);
}

.attached-file-item .file-icon,
.attached-file-item .file-size {
  margin: 0 2px;
}

.attached-file-item .file-size {
  font-size: 14px;
}

/* 
blockquote
*/
.common-editor-content blockquote {
  width: fit-content;
  margin: min(var(--vw30), 30px) 0 0;
  box-shadow: 10px -10px #fff, -10px 10px #fff, 10px 10px #ddd, -10px -10px #ddd;
  background: #fcfcfc;
  padding: min(var(--vw20), 20px);
}

/* 
notice class
*/
.common-editor-content .attention {}

.common-editor-content .attention::before {}

/* 
reset flexible table
*/
.common-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.common-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
  background: transparent;
  /* border-width: unset;
  border-style: unset; */
  line-height: 1.4;
  border-color: #ccc;
  padding: 15px 8px;
}

.common-editor-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
  vertical-align: baseline;
  background: #f1f1f1;
  font-weight: bold;
}
@media (min-width: 768px) {}
/* 
a
*/
.common-editor-content a:not(:has(img)) {
  text-decoration: underline;
}


/****************************************************/
@media (min-width: 768px) {}


/****************************************************/
/* common-simple-list-01 */
/****************************************************/
.common-simple-list-01 li {
  margin: 0 0 10px;
  border-bottom: 1px dashed #ddd;
  padding: 0 0 10px;
}
.common-simple-list-01 .heading {
  padding: 0 0 0 10px;
  font-size: clamp(var(--rem18), var(--vw20), var(--rem20));
  border-left: 8px solid #aaa;
}
.common-simple-list-01 li .excerpt {
  margin: 10px 0 0;
  line-height:1.4;
  font-size: clamp(var(--rem11), var(--vw12), var(--rem13));
}

/****************************************************/
/* common-anchor */
/****************************************************/


/****************************************************/
/* common-arrow */
/****************************************************/

/* 
common-arrow-basic-
*/
[class*="common-arrow-basic-"] {}

[class*="common-arrow-basic-"]::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: contain;
}

[class*="common-arrow-basic-right"]::after {}

[class*="common-arrow-basic-down"]::after {}

.common-arrow-basic-right-white::after {
  background-image: url('../img/icon-arrow-right-white.svg');
}

.common-arrow-basic-right-gray::after {
  background-image: url('../img/icon-arrow-right-gray.svg');
}



/****************************************************/
/* common-border-item-01 */
/****************************************************/
.common-border-item-01 {
  border: 1px solid #ddd;
  border-radius: 100px;
  padding: 5px 10px;
  text-align: center;
}

/****************************************************/
/* common-notice */
/****************************************************/
.common-notice {}


/****************************************************/
/* pagination */
/****************************************************/
/* archive */
.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 12px;
}

.page-numbers .page-numbers {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #ddd;
  border-radius: 100px;
  background: #fff;
  text-decoration: none;
}

.page-numbers .next::after,
.page-numbers .prev::before {
  background-position: center;
}

.page-numbers .prev::before {
  transform: rotate(180deg);
}

.page-numbers .current {
  width: 44px;
  height: 44px;
  border: 2px solid #ddd;
  background: #fff;
  font-weight: bold;
}

/* single */
.common-pager-link-list {
  width: min(100%, 400px);
}

.common-pager-link a {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #ddd;
  border-radius: 100px;
  text-decoration: none;
}

.common-pager-link.single-back-btn a {
  width: auto;
  padding: 0 40px;
}

.common-pager-link.pager-prev a::before,
.common-pager-link.pager-next a::after {
  background-position: center;
}

.common-pager-link.pager-next a::after {
  transform: rotate(180deg);
}

/****************************************************/
/* year-list, month-list */
/****************************************************/
.year-list {
  gap: 10px 12px;
}

.month-list {
  gap: 10px;
}

.year-list a,
.month-list a {
  display: block;
  border: 1px solid #ddd;
  border-radius: 100px;
  background: #fff;
  padding: 5px 15px;
  text-align: center;
}

/****************************************************/
/* google map & iframe */
/****************************************************/
.iframe-wrapper-solo-movie {
  width: min(96%, 720px);
}
.google-map,
.iframe-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9のアスペクト比 */
  height: 0;
}

.google-map iframe,
.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.google-maps-link {
  display: inline-block;
}

.google-maps-link a {
  margin-top: 10px;
  border-radius: 4px;
  background: #666;
  padding: 5px 16px;
  color: #fff;
}


/****************************************************/
/* common-search-block */
/****************************************************/
.common-search-block {
  min-width: 80%;
  width: fit-content;
  border-radius: 16px;
  background: ivory;
  padding: 20px min(var(--vw20), 36px);
}
.common-search-block .inner {
  gap: 15px;
}

.common-search-block input,
.common-search-block a {
  display: inline-block;
  padding: 8px 24px;
}

.common-search-block .search-input input {
  width: 100%;
  border-radius: 100px;
  border: 1px solid #aaa;
  background: #fff;
}

.common-search-block .search-date {
  gap: 10px 1%;
}

.common-search-block .search-date input {
  min-width: 40%;
  border-radius: 100px;
  border: 1px solid #aaa;
  background: #fff;
  font-size: clamp(var(--rem13), var(--vw14), var(--rem16));
}

.common-search-block .search-submit input {
  border-radius: 100px;
}

.common-search-block .search-reset {
  border-radius: 100px;
  background: #ccc;
}

.common-multi-btns {
  gap: 20px;
}

.common-search-block .common-select-each {
  width: 100%;
  border-radius: 100px;
  border: 1px solid #aaa;
  background: #fff;
  padding: 10px 16px;
  font-size: clamp(var(--rem13), var(--vw14), var(--rem16));
}

.topics-search-block {
  background: transparent;
}

@media (min-width: 768px) {
.common-search-block .search-date input {
  min-width: inherit;
}
}

@media screen and (max-width: 768px){
.common-search-block .search-date input::before{
		content: '日付を選択';
		font-size: 16px;
	}
}
/****************************************************/
/* common-cat-nav */
/****************************************************/
.common-cat-list-top {
  gap: 5px;
}
.common-cat-nav .item {
  flex-grow: 1;
  border-radius: 100px;
  border: 2px solid #eee;
  text-align: center;
}
.common-cat-nav .item a {
  display: inline-block;
  padding: 8px 24px;
}
.common-cat-nav .current {
  border: 2px solid #aaa;
  font-weight: bold;
}

@media (min-width: 768px) {
  .common-cat-nav .item {
    flex-grow: inherit;
  }
}
/****************************************************/
/* belong-terms-list-single */
/****************************************************/
.belong-terms-list-single {
  gap: 10px;
}

.belong-terms-list-single a {
  border-radius: 100px;
  border: 1px solid #ddd;
  padding: 5px 20px;
}

.common-editor-content .belong-terms-list-single a {
  text-decoration: none;
}

/****************************************************/
/* table-simple-line-01 */
/****************************************************/
.table-simple-line-01 table {
  border-top: 1px solid #ccc !important;
}
.table-simple-line-01 table th,
.table-simple-line-01 table td {
  border: none !important;
  background: transparent;
}

.table-simple-line-01 table tr {
  border-bottom: 1px solid #ccc !important;
}

/****************************************************/
/* scroll hint */
/****************************************************/

.js-scrollable table {
  min-width: 200vw !important;
}

@media (min-width: 768px) {
  .js-scrollable table {
    min-width: auto !important;
  }
}

/****************************************************/
/* checkbox AND radio */
/****************************************************/
.common-input-list-horizontal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  max-width: 80%;
}

form label {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 8px;
  margin: 0 0 20px;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: #666;
  transform: scale(1.5);
}
/* .common-input-each {
  margin: 0 10px 0 0;
} */

/* ラジオボタンのサイズを強制固定 スマートフォン対策 */
input[type="checkbox"],
input[type="radio"] {
  width: .6rem !important;  /* 16px相当 */
  height: .6rem !important;
  padding: 0 !important;
  flex-shrink: 0; /* 潰れないように固定 */
}

/****************************************************/
@media (min-width: 768px) {
  .common-input-list-horizontal {
    justify-content: center;
  }
}

/****************************************************/
/* common-focus-area */
/****************************************************/
.common-focus-area {
  h2,
  h3,
  h4,
  h5,
  h6 {
    border-color: var(--common-color-focus);
  }
}

/****************************************************/
/* scrollTopButton */
/****************************************************/
/* styles.css */
#scrollTopButton {
    display: none;
    width: 56px;
    height: 56px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    border: 4px solid #fff;
    border-radius: 200px;
    cursor: pointer;
    opacity: 0; /* 初期状態で透明 */
    transition: opacity 0.8s; /* トランジションを追加 */
}

#scrollTopButton button {
  width: 100%;
  height: 100%;
}

#scrollTopButton img {
  transform: rotate(-90deg);
}

#scrollTopButton.show {
    display: block;
    opacity: 1; /* 表示時の不透明度 */
}