@charset "utf-8";

/***** トップページ *****/
#mv {
  height: calc(100dvh - 100px);
  background: url("../images/top/mv.jpg") 50% 0 no-repeat;
  background-size: cover;
}
#mv > div {
  width: 1200px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  position: relative;
}
#catch {
  margin-top: -200px;
}
#catch > h2 {
  font-size: 8rem;
  font-weight: 400;
  font-family: var(--eng-font);
  line-height: 1.2;
  letter-spacing: 0.05em;
  color: #fff;
  text-shadow: 0 0 10px rgba(0,0,0,.5);
}
#catch > h3 {
  margin-bottom: 30px;
  font-size: 3.6rem;
  font-weight: 500;
  font-family: var(--ttl-font);
  color: #fff;
  text-shadow: 0 0 5px rgba(0,0,0,1);
}
#catch > p {
  width: 600px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.9;
  color: #fff;
  text-shadow: 0 0 5px rgba(0,0,0,1);
}
@media only screen and (max-width : 768px) {
  #mv {
    background: url("../images/top/mv.jpg") 95% 0 no-repeat;
    background-size: cover;
  }
  #mv > div {
    width: 100%;
    padding: 0 15px;
    flex-wrap: wrap;
  }
  #catch {
    width: 100%;
    margin-top: 0;
  }
  #catch > h2 {
    font-size: 12vw;
    line-height: 1.2;
    letter-spacing: 0;
  }
  #catch > h3 {
    margin-bottom: 20px;
    font-size: 5.5vw;
  }
  #catch > p {
    width: 100%;
    font-size: 4vw;
  }
}
#news {
  width: 600px;
  padding: 25px 30px 30px;
  position: absolute;
  left: 0;
  bottom: -100px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0,0,0,.1);
  z-index: 1;
}
#news > div {
  padding-bottom: 20px;
  display: flex;
  justify-content: space-between;
  border-bottom: #ddd 1px solid;
}
#news > div > h2 {
  font-size: 2.6rem;
  font-weight: 500;
  font-family: var(--ttl-font);
  line-height: 1;
  position: relative;
}
#news > div > h2::before {
  content: "";
  width: 4em;
  height: 3px;
  position: absolute;
  top: -25px;
  background: var(--base-color);
  left: 0;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
#news > div > p > a {
  padding-left: 22px;
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: none;
  color: #000;
  background: url("../images/common/link_icon.svg") 0 50% no-repeat;
  background-size: 16px;
}
#news > div > p > a:hover {
  text-decoration: underline;
}
#news > dl {
  padding: 20px 0;
  display: flex;
  border-bottom: #ddd 1px solid;
}
#news > dl dt {
  width: 12em;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: var(--eng-font);
  color: var(--base-color);
}
#news > dl dt span {
  margin-left: 20px;
  padding: 3px 10px;
  font-size: 1.2rem;
  font-family: var(--ttl-font);
  color: #fff;
  background: var(--base-color);
  border-radius: 100px;
}
#news > dl dd {
  font-size: 1.6rem;
  flex: 1;
}
@media only screen and (max-width : 768px) {
  #news {
    width: 100%;
    padding: 15px 20px;
    position: static;
    border-radius: 5px;
    background: rgba(255,255,255,0.7);
  }
  #news > div > h2 {
    font-size: 2.4rem;
  }
  #news > div > h2::before {
    top: -15px;
  }
  #news > dl {
    padding: 15px 0;
    display: block;
  }
  #news > dl dt {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
    font-family: var(--eng-font);
    color: var(--base-color);
  }
}

#objective {
  padding: 150px 0 80px;
  background: #DFE6EA;
  position: relative;
}
#objective > figure {
  position: absolute;
  right: 20px;
  width: 100%;
  min-height: 800px;
  overflow: hidden;
  border-radius: 10px;
}
#objective > figure img {
  position: absolute;
  right: 0;
  width: 30%;
  max-width: 600px;
  height: auto;
  border-radius: 10px;
}
#objective > div {
  width: 1200px;
  margin: 0 auto;
}
#objective > div > div {
  width: 780px;
}
#objective > div > div > h2 {
  margin-bottom: 30px;
  font-size: 3rem;
  font-weight: 500;
  font-family: var(--ttl-font);
  letter-spacing: 0.1em;
}
#objective > div > div > h2 span {
  font-size: 1.6rem;
  font-family: var(--eng-font);
  color: var(--base-color);
  display: block;
}
#objective > div > div > p {
  margin-bottom: 20px;
}
#objective > div > div > ul {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}
#objective > div > div > ul li {
  width: 32%;
  padding: 20px;
  background: #fff;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  border-radius: 10px;
  position: relative;
}
#objective > div > div > ul li::before {
  content: "";
  width: 30%;
  height: 3px;
  background: var(--base-color);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
#objective > div > div > ul li dt {
  font-weight: 700;
  font-family: var(--ttl-font);
  text-align: center;
}
#objective > div > div > ul li dd {
  font-size: 1.6rem;
}
#objective > div > div > ul li dd figure {
  margin: 15px 0;
  text-align: center;
}
#objective > div > div > dl {
  margin-top: 20px;
  padding: 20px;
  border-radius: 10px;
  border: #ccc 1px solid;
  display: flex;
  align-items: center;
}
#objective > div > div > dl dt {
  width: 70px;
  height: 70px;
  margin-right: 20px;
  font-size: 1.4rem;
  border-radius: 50%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
#objective > div > div > dl dd {
  font-size: 1.4rem;
  flex: 1;
}
@media only screen and (max-width : 768px) {
  #objective {
    padding: 30px 15px;
  }
  #objective > div {
    width: 100%;
    margin: 0 auto;
  }
  #objective > figure {
    display: none;
  }
  #objective > div > div {
    width: 100%;
  }
  #objective > div > div > ul {
    margin-top: 30px;
    display: block;
  }
  #objective > div > div > ul li {
    width: 100%;
    margin-bottom: 15px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
  }
  #objective > div > div > dl {
    padding: 15px;
    display: block;
  }
  #objective > div > div > dl dt {
    width: 100%;
    height: auto;
    margin-right: 0;
    margin-bottom: 10px;
    border-radius: 5px;
    background: #fff;
  }
}

#unit {
  padding: 80px 0;
}
#unit > div {
  width: 1200px;
  margin: 0 auto;
}
#unit > div > h2 {
  margin-bottom: 40px;
  font-size: 3.8rem;
  font-weight: 500;
  font-family: var(--ttl-font);
  text-align: center;
}
#unit > div > h2 span {
  font-size: 1.6rem;
  font-family: var(--eng-font);
  letter-spacing: 0.1em;
  color: var(--base-color);
  display: block;
}
#unit_ttl {
  width: 9em;
  margin: 0 auto;
  padding: 3px 0;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: var(--ttl-font);
  text-align: center;
  color: #fff;
  background: var(--base-color);
  border-radius: 100px;
}
.unit_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.unit_box > div {
  width: 49%;
  border-top: #ddd 1px solid;
}
.unit_box > div:nth-last-child(2),
.unit_box > div:last-child {
  border-bottom: #ddd 1px solid;
}
.unit_box a {
  padding: 30px 70px 30px 20px;
  text-decoration: none;
  display: flex;
  align-items: center;
  position: relative;
  transition: .2s;
}
.unit_box a:hover {
  background: #f5f5f5;
}
.unit_box a::before {  
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--base-color);
  border-right: 2px solid var(--base-color);
  transform: rotate(45deg);
  position: absolute;
  right: 31px;
  z-index: 1;
  transition: .2s;
}
.unit_box a::after {
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  background-color: #f5f5f5;
  border-radius: 50%;
  position: absolute;
  right: 10px;
  transition: .2s;
}
.unit_box a:hover::before { 
  right: 25px;
}
.unit_box a:hover::after {
  right: 0;
}
.unit_box a figure {
  width: 100px;
  margin-right: 20px;
}
.unit_box a dl {
  flex: 1;
}
.unit_box a dt {
  display: flex;
}
.unit_box a dt p:nth-child(1) {
  width: 5em;
  margin-right: 15px;
  font-size: 1.4rem;
  font-weight: 700;
  font-family: var(--ttl-font);
  text-align: center;
  color: #fff;
  background: var(--base-color);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.unit_box a dt p:nth-child(2) {
  font-size: 1.8rem;
  font-weight: 700;
  font-family: var(--ttl-font);
  line-height: 1.3;
  color: #000;
  flex: 1;
}
.unit_box a dt p:nth-child(2) span {
  margin-top: 10px;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: var(--eng-font);
  color: var(--base-color);
  display: block;
}
.unit_box a dd {
  margin-top: 15px;
  color: #000;
}
@media only screen and (max-width : 768px) {
  #unit {
    padding: 50px 0;
  }
  #unit > div {
    width: 100%;
  }
  #unit > div > h2 {
    margin-bottom: 20px;
    font-size: 3rem;
  }
  #unit_ttl {
    font-size: 1.5rem;
  }
  .unit_box {
    display: block;
  }
  .unit_box > div {
    width: 100%;
  }
  .unit_box a {
    padding: 20px 50px 20px 20px;
  }
  .unit_box a::before {  
    right: 27px;
  }
  .unit_box a::after {
    width: 40px;
    height: 40px;
  }
}

#chiba_img {
  height: 300px;
  background: url("../images/top/chiba_img.jpg") 0 55% no-repeat;
  background-size: cover;
}
@media only screen and (max-width : 768px) {
  #chiba_img {
    height: 50vw;
    background: url("../images/top/chiba_img.jpg") 0 0 no-repeat;
    background-size: cover;
  }
}

/***** コンテンツ *****/
#contents_mv {
  background: url("../images/top/mv.jpg") 50% 70% no-repeat;
  background-size: cover;
}
#contents_mv > div {
  width: 1200px;
  height: 250px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
#contents_mv > div h2 {
  font-size: 3.8rem;
  font-weight: 700;
  font-family: var(--ttl-font);
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: 0 0 10px rgba(0,0,0,.5);
}
@media only screen and (max-width : 768px) {
  #contents_mv > div {
    width: 100%;
    height: 150px;
    padding: 0 15px;
  }
  #contents_mv > div h2 {
    font-size: 2.6rem;
  }
}

#breadcrumbs {
  padding: 10px 0;
  background: #f5f5f5;
}
#breadcrumbs ul {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
#breadcrumbs ul li {
  margin-right: 12px;
  font-size: 1.2rem;
  position: relative;
}
#breadcrumbs ul li:last-child {
  margin-right: 0;
}
#breadcrumbs ul li::after {
  content: "＞";
  margin-left: 12px;
  display: inline-block;
}
#breadcrumbs ul li:last-child::after {
  display: none;
}
@media only screen and (max-width : 768px) {
  #breadcrumbs {
    padding: 10px 15px;
  }
  #breadcrumbs ul {
    width: 100%;
  }
}

#contents > div {
  width: 1200px;
  margin: 0 auto;
  padding: 50px 0;
}
@media only screen and (max-width : 768px) {
  #contents > div {
    width: 100%;
    padding: 30px 0;
  }
}

#under {
  margin: 200px 0 200px 100px;
}
@media only screen and (max-width : 768px) {
  #under {
    margin: 100px 0;
    text-align: center;
  }
}

/***** 臨床薬理センター追加調整 v2：下層ページヘッダー画像80％ *****/
#contents_mv > div {
  height: 200px !important;
}
@media only screen and (max-width: 768px) {
  #contents_mv > div {
    height: 120px !important;
  }
}


/***** 臨床薬理センター追加調整 v3：メニュー文字のみ・関連ユニットボタン *****/
@media print, screen and (min-width: 769px) {
  header #nav {
    padding: 18px 0 18px !important;
  }
  header #nav > ul {
    gap: 24px !important;
    align-items: center !important;
  }
  header #nav > ul > li {
    margin-left: 0 !important;
  }
  header #nav > ul > li > a {
    padding: 0 !important;
    font-size: 1.76rem !important; /* 既存1.6remの110％ */
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #003f78 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }
  header #nav > ul > li.current-menu-item > a,
  header #nav > ul > li > a:hover,
  header #nav > ul > li:hover > a {
    color: var(--base-color) !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: underline !important;
    text-underline-offset: 6px !important;
  }
  header #nav li .sub-menu {
    top: 86px !important;
  }
}
@media only screen and (max-width: 768px) {
  header #nav li a {
    font-size: 1.76rem !important;
    font-weight: 700 !important;
  }
}


/***** 臨床薬理センター追加調整 v4：メニュー色・フッター・イメージ表記 *****/
@media print, screen and (min-width: 769px) {
  header #nav > ul > li > a {
    color: #000 !important;
  }
  header #nav > ul > li.current-menu-item > a,
  header #nav > ul > li > a:hover,
  header #nav > ul > li:hover > a {
    color: #000 !important;
    background: transparent !important;
  }
}
@media only screen and (max-width: 768px) {
  header #nav li a {
    color: #000 !important;
  }
}

footer > div:nth-child(1) > div:nth-child(2) > ul li a,
footer > div:nth-child(1) > div:nth-child(2) > dl dt a {
  font-size: 1.54rem !important;
}
footer > div:nth-child(1) > div:nth-child(2) > dl dd ul li a,
footer > div:nth-child(2) > div > ul li a {
  font-size: 1.43rem !important;
}
@media only screen and (max-width: 768px) {
  footer > div:nth-child(1) > div:nth-child(2) > ul li a,
  footer > div:nth-child(1) > div:nth-child(2) > dl dt a {
    font-size: 1.54rem !important;
  }
  footer > div:nth-child(1) > div:nth-child(2) > dl dd ul li a,
  footer > div:nth-child(2) > div > ul li a {
    font-size: 1.43rem !important;
  }
}


/***** 臨床薬理センター PPT指示反映 20260717 再修正 *****/
#unit_ttl {
  width: 12em !important;
}
#catch > h2 {
  font-size: 6.2rem !important;
  line-height: 1.18 !important;
  max-width: 760px;
}
#catch > h3 {
  display: inline-block;
  padding: 7px 28px !important;
  background: rgba(0, 119, 198, .92);
  border-radius: 4px;
}
#catch > p {
  margin-top: 20px;
}
@media only screen and (max-width : 768px) {
  #catch > h2 {
    font-size: 8.5vw !important;
    max-width: 100%;
  }
  #catch > h3 {
    padding: 6px 16px !important;
  }
}




/***** 20260719 トップページヘッダー・MV微調整（確認後再調整） *****/
header h1 img[src$="title.svg"] {
  width: 430px;
  height: auto;
}
#catch {
  width: 700px;
  margin-top: -60px !important;
  margin-left: 76px;
}
#catch > h2 {
  max-width: 700px !important;
  font-size: 6.6rem !important;
  line-height: 1.15 !important;
  letter-spacing: 0.02em !important;
}
#catch > h3 {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
  margin: 16px 0 20px !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
}
#catch > p {
  width: 520px !important;
  margin-top: 0 !important;
}
@media only screen and (max-width : 768px) {
  header h1 img[src$="title.svg"] {
    width: 290px;
  }
  #catch {
    width: 100%;
    margin-left: 0;
    margin-top: 0 !important;
  }
  #catch > h2 {
    max-width: 100% !important;
    font-size: 8.5vw !important;
  }
  #catch > h3 {
    width: auto;
    white-space: normal;
    margin: 10px 0 14px !important;
  }
  #catch > p {
    width: 100% !important;
  }
}


/***** 20260722 フッター1行目＋コピー2行目・アクセスメニュー追加対応 *****/
footer > div:nth-child(2) > div {
  display: flex;
  flex-direction: column;
  align-items: center;
}
footer > div:nth-child(2) > div > ul {
  width: 1200px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 0 22px;
}
footer > div:nth-child(2) > div > ul li {
  float: none;
}
footer > div:nth-child(2) > div > ul li::after {
  margin-left: 11px;
}
footer > div:nth-child(2) > div > p#copy {
  width: 1200px;
  text-align: center;
  margin-top: 12px;
}
@media only screen and (max-width: 768px) {
  footer > div:nth-child(2) > div > ul {
    width: 100%;
    flex-wrap: wrap;
    gap: 8px 16px;
  }
  footer > div:nth-child(2) > div > p#copy {
    width: 100%;
  }
}

/***** 20260727 スマートフォンメニュー最適化・全体調整 *****/
@media only screen and (max-width: 768px) {
  body {
    overflow-x: hidden;
  }
  body.sp-menu-open {
    overflow: hidden;
  }
  img {
    max-width: 100%;
    height: auto;
  }

  header {
    height: 70px;
  }
  header > div {
    width: 100% !important;
    padding: 0 60px 0 15px !important;
  }
  header h1 {
    width: auto !important;
    max-width: calc(100% - 20px) !important;
  }
  header h1 img,
  header h1 img[src$="title.svg"] {
    width: min(280px, 100%) !important;
    height: auto;
  }
  #menu_btn {
    right: 15px !important;
    top: 20px !important;
  }

  #nav {
    padding-top: 0 !important;
    background: var(--base-color) !important;
    overscroll-behavior: contain;
  }
  #nav > ul {
    padding-bottom: 24px;
  }
  #nav .sp-nav-header {
    padding: 12px 56px 12px 16px;
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    border-bottom: 1px solid rgba(0, 44, 102, 0.16);
  }
  #nav .sp-nav-logo {
    display: inline-block;
    width: 100%;
    max-width: 100%;
  }
  #nav .sp-nav-logo img {
    width: min(300px, calc(100% - 4px));
    height: auto;
    background: transparent;
    border-radius: 0;
    padding: 0;
    box-sizing: border-box;
  }

  header #nav li a,
  header #nav li a span,
  header #nav .menu-item-has-children .sub-menu li a,
  header #nav > ul > li.current-menu-item > a,
  header #nav > ul > li > a:hover,
  header #nav > ul > li:hover > a {
    color: #fff !important;
  }

  header #nav li {
    border-bottom: 1px dotted rgba(255, 255, 255, 0.45);
  }
  header #nav li:first-child {
    border-top: none;
  }
  header #nav .menu-item-has-children > a,
  header #nav .menu-item-has-children.open > a,
  header #nav .menu-item-has-children.focus > a {
    background: transparent !important;
  }
  header #nav .menu-item-has-children.open > a {
    background: rgba(255, 255, 255, 0.1) !important;
  }
  header #nav .menu-item-has-children > a::before,
  header #nav .menu-item-has-children.open > a::before,
  header #nav .menu-item-has-children.focus > a::before,
  header #nav .menu-item-has-children.focus.open > a::before {
    border-color: #fff !important;
  }
  header #nav .menu-item-has-children .sub-menu {
    display: none;
    background: rgba(255, 255, 255, 0.06);
  }
  header #nav .menu-item-has-children .sub-menu li {
    border-bottom: 1px dotted rgba(255, 255, 255, 0.2);
  }
  header #nav .menu-item-has-children .sub-menu li a {
    padding: 14px 20px 14px 32px;
    background: transparent !important;
    border-top: 1px dotted rgba(255, 255, 255, 0.28) !important;
    line-height: 1.5;
  }

  #mv {
    min-height: calc(100dvh - 70px);
    height: auto;
  }
  #mv > div,
  #objective > div,
  #unit > div,
  #contents > div,
  #breadcrumbs ul,
  footer > div:nth-child(1),
  footer > div:nth-child(2) > div {
    width: 100% !important;
  }
  #objective,
  #unit,
  #contents > div {
    overflow: hidden;
  }
  #contents > div {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  #breadcrumbs {
    overflow-wrap: anywhere;
  }
  #objective > figure {
    position: static;
    min-height: 0;
    width: 100%;
    margin: 0 0 20px;
  }
  #objective > figure img {
    position: static;
    width: 100%;
    max-width: 100%;
  }
  #objective > div > div,
  #objective > div > div > ul li,
  #news,
  #catch > p {
    width: 100% !important;
  }
  #objective > div > div > ul {
    gap: 12px;
  }
  #unit .unit_box > div,
  .unit_box > div {
    width: 100% !important;
  }

  table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
}

@media only screen and (max-width: 768px) {
  .overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    z-index: 11;
  }
  .overlay.open {
    opacity: 1;
    visibility: visible;
  }
}


/***** 20260727 スマホメニュー閉じるボタン視認性調整 *****/
@media only screen and (max-width: 768px) {
  #menu_btn.active .menu-trigger span {
    background-color: #000 !important;
  }
}


/***** 20260727 PC表示時のスマホメニューヘッダー非表示 *****/
@media print, screen and (min-width: 769px) {
  #nav .sp-nav-header {
    display: none !important;
  }
}


/***** 20260727 PCグローバルメニュー位置調整 *****/
@media print, screen and (min-width: 769px) {
  header #nav {
    padding: 26px 0 10px !important;
  }
  header #nav li .sub-menu {
    top: 94px !important;
  }
}

/***** 20260727 PCグローバルメニュー微調整・ユニット一覧プルダウン復旧 *****/
@media print, screen and (min-width: 769px) {
  header #nav {
    padding: 32px 0 4px !important;
  }
  header #nav li .sub-menu {
    top: 100px !important;
  }
  header #nav .menu-item-has-children:hover > .sub-menu,
  header #nav .menu-item-has-children:focus-within > .sub-menu {
    display: block !important;
  }
}

/***** 20260727 PCユニット一覧プルダウン操作性修正 *****/
@media print, screen and (min-width: 769px) {
  header #nav {
    padding: 36px 0 0 !important;
  }
  header #nav > ul > li.menu-item-has-children {
    padding-bottom: 44px !important;
    margin-bottom: -44px !important;
  }
  header #nav li .sub-menu {
    top: 100px !important;
    display: none !important;
    z-index: 10001 !important;
    pointer-events: auto !important;
  }
  header #nav .menu-item-has-children:hover > .sub-menu,
  header #nav .menu-item-has-children:focus-within > .sub-menu,
  header #nav .menu-item-has-children.open > .sub-menu,
  header #nav li .sub-menu:hover {
    display: block !important;
  }
}


/***** 20260729 トップページフッターバナー調整（index.htmlのみ） *****/
body.ccpt-top footer .footer-crc-banner {
  margin-top: 16px;
}
body.ccpt-top footer .footer-crc-banner a {
  display: inline-block;
  width: 260px;
  max-width: 100%;
}
body.ccpt-top footer .footer-crc-banner img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  body.ccpt-top footer .footer-crc-banner {
    margin-top: 16px;
    text-align: center;
  }
  body.ccpt-top footer .footer-crc-banner a {
    width: min(280px, 86%);
  }
}


/***** 20260730 指示箇所修正：フッター文字幅・地域社会連携ユニット・お知らせ一覧 *****/
body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl {
  width: 260px;
  max-width: 100%;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl dt {
  width: 260px;
  max-width: 100%;
  text-align: center;
}
body.ccpt-top .unit_box a dt p.community-unit-title {
  text-align: center;
}
.news-list-page {
  max-width: 900px;
  margin: 0 auto;
}
.news-list-page dl {
  padding: 22px 0;
  display: flex;
  border-bottom: #ddd 1px solid;
}
.news-list-page dl:first-child {
  border-top: #ddd 1px solid;
}
.news-list-page dt {
  width: 14em;
  font-size: 1.6rem;
  font-weight: 700;
  font-family: var(--eng-font);
  color: var(--base-color);
}
.news-list-page dt span {
  margin-left: 20px;
  padding: 3px 10px;
  font-size: 1.2rem;
  font-family: var(--ttl-font);
  color: #fff;
  background: var(--base-color);
  border-radius: 100px;
}
.news-list-page dd {
  flex: 1;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl,
  body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl dt {
    width: 100%;
  }
  .news-list-page dl {
    display: block;
  }
  .news-list-page dt {
    width: 100%;
    margin-bottom: 8px;
  }
}

/***** 20260730 添付修正：トップページフッター表示調整 *****/
body.ccpt-top footer > div:nth-child(1) {
  justify-content: center !important;
  gap: 50px !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) {
  margin-right: 0 !important;
  padding-right: 48px !important;
  flex: 0 0 auto !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(2) {
  flex: 0 0 auto !important;
  width: 760px !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl,
body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl dt,
body.ccpt-top footer .footer-crc-banner a {
  width: 260px !important;
  max-width: 260px !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl dt {
  text-align: left !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl dt .footer-hospital-name {
  display: block !important;
  width: 260px !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl dt .footer-center-name {
  display: block !important;
  width: 260px !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(2) > dl dd ul li.footer-unit-community {
  flex-basis: 100% !important;
  margin-right: 0 !important;
}
@media only screen and (max-width: 768px) {
  body.ccpt-top footer > div:nth-child(1) {
    gap: 0 !important;
  }
  body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) {
    padding-right: 0 !important;
  }
  body.ccpt-top footer > div:nth-child(1) > div:nth-child(2) {
    width: 100% !important;
  }
  body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl,
  body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) dl dt,
  body.ccpt-top footer .footer-crc-banner a {
    width: min(280px, 86%) !important;
    max-width: min(280px, 86%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/***** 20260730 フッター中央寄せ再調整 *****/
body.ccpt-top footer > div:nth-child(1) {
  width: -moz-fit-content !important;
  width: fit-content !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 58px !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(1) {
  flex: 0 0 310px !important;
  width: 310px !important;
  margin-right: 0 !important;
  padding-right: 48px !important;
  box-sizing: border-box !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(2) {
  flex: 0 0 700px !important;
  width: 700px !important;
  max-width: 700px !important;
}
body.ccpt-top footer > div:nth-child(1) > div:nth-child(2) > ul,
body.ccpt-top footer > div:nth-child(1) > div:nth-child(2) > dl dd ul {
  justify-content: flex-start !important;
}
@media only screen and (max-width: 768px) {
  body.ccpt-top footer > div:nth-child(1) {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }
  body.ccpt-top footer > div:nth-child(1) > div:nth-child(1),
  body.ccpt-top footer > div:nth-child(1) > div:nth-child(2) {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }
}

/***** 20260730 添付指示：フッター上段全体を右へ微調整 *****/
@media print, screen and (min-width: 769px) {
  body.ccpt-top footer > div:nth-child(1) {
    transform: translateX(55px) !important;
  }
}
