/*
Theme Name: VENUS Child
Theme URI: https://example.com/
Description: TCD VENUSテーマの子テーマ
Author: Nishibata
Author URI: https://example.com/
Template: venus_tcd038
Version: 1.0.0
*/

/* googleフォント */
body {
    font-family: 'Noto Sans JP', sans-serif !important;
}

h2.title {
  margin: 0 0 64px 0 !important;
  color: #222 !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  font-family: 'Playfair Display', serif !important;
}

h2.title::after {
    content: '';
    display: block;
    width: 60px;
    height: 2px;
    background-color: #222;
    margin: 12px auto 0;
    opacity: 0.6;
}

h3.post_content {
  position: relative;
  display: inline-block;
  padding: 0 32px;
  margin-bottom: 32px;
  font-size: 24px !important;
  font-weight: 500 !important;
}

h3.post_content::before {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 32px;
  height: 2px;
  background-color: #06A1FD;
  -webkit-transform: rotate(-60deg);
  /* transform: rotate(-60deg); */
  transform: rotate(-90deg);
  left: 0;
  box-sizing: inherit;
}

/* h3.post_content::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: #06A1FD;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
  box-sizing: inherit;
} */


/********************************************************************************
************************************* メニュー ***********************************
**********************************************************************************/
.pc #logo_image h1 img {
  width: 40px !important;
  height: auto;
  z-index: 999;
}

#header {
  background: #887870 !important;
}

.pc #global_menu {
  margin-left: 0 !important;
}

.pc #global_menu > ul > li {
  width: 13% !important;
  min-width: 170px !important;
}

/* ハンバーガー */
.mobile a.menu_button {
  width: 32px !important;
  height: 26px !important;
  padding: 0 !important;
  right: 20px !important;
  top: 20px !important;
}

.mobile a.menu_button span {
  margin: 6px 0 !important;

}

.mobile #global_menu a {
  padding: 20px 10px 20px 20px !important;
}

/********************************************************************************
************************************* トップページ ***********************************
**********************************************************************************/
#home_logo h1 {
  margin: 24px 0 !important;
}

#home_logo h1 img, #footer_logo img {
  width: 300px !important;
}


#index_grid {
  margin-top: 64px;
}


.index_slider {
  position: relative;
  left: 50%;
  width: 100vw; /* ← viewportの幅を指定 */
  transform: translateX(-50%);
}



/* PC用テーブルを初期表示、SP用は非表示 */
.schedule-pc {
  display: block;
}
.schedule-sp {
  display: none;
}


/* お知らせ */
.news {
	margin: 80px 0;

	height: auto;
  position: relative;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  font-family: 'Playfair Display', serif !important;
}

.news-inner {
  margin: auto;
	width: 1024px;
}

.news-content {
	text-align: center;
}

.news-content-heading {
	font-size: 32px;
	font-weight: 500;
	color: #222;
}

.news-content-subheading {
	font-size: 16px;
	color: #222;

}

.news-menu {
	margin-top: 32px;
}

table.news-table {
	width: 100%;
	border-collapse: collapse;
}

table.news-table tr {


}

table.news-table tr td {
	padding: 20px;
	border-bottom: 0.5px solid #bbbbbb;
}

.news-date {
	width: 30%;
	font-size: 14px;
}

.news-heading {
	width: 70%;
	font-size: 18px;
}

.news-heading a {
	display: block;
  text-decoration: none;
  transition: 0.5s ease, color 0.5s ease;
}

.news-heading a:hover {
  text-decoration: none !important;
  color: #030303 !important;
}

.news-nopost {
	width: 100%;
	text-align: center;
}

.news-more {
	margin-top: 32px;
	width: 100%;
	text-align: center;
}

button.news-more-label {
	width: 200px;
	height: 40px;
	background: #fff;
	border-radius: 5px;
	border: 0.5px solid #222;
	color: #222;
}

button.news-more-label a {
	width: 100%;
	height: 100%;
	color: #222;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: font-weight 0.5s ease, color 0.5s ease;
  text-decoration: none;
}

button.news-more-label a:hover {
	font-weight: 600;
}


/* リンクギャラリー */
.link-collection {
  width: 100%;
  position: relative;
  left: 50%;
  width: 100vw; /* ← viewportの幅を指定 */
  transform: translateX(-50%);
  background:#d6f0ff;
}

.link-collection-inner {
  margin: auto;
  /* width: 1250px; */
}

.link-collection-set,
.link-collection-set-reverse {
  width: 100%;
  height: 480px;
  max-height: 480px;
  display: flex;
  flex-direction: row;
  /* flex-flow: wrap; */
}

.link-collection-img {
  width: 50%;
  height: 480px;
  overflow: hidden;
}

.link-collection-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}

.link-collection-img:hover img {
  transform: scale(1.05);
}

.link-collection-content {
  padding: 64px;
  width: 50%;
  height: 100%;

  display: flex;
  flex-direction: column;
}

.link-collection-content-heading {
  color: #06A1FD;
  font-size: 20px;
}

span.heading-sub {
  font-size: 16px;
}

.link-collection-content-catch {
  margin: 28px 0 20px 0;
  color: #06A1FD;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.4;
}

.link-collection-content-desc {
  color: #222;
  font-size: 16px;
  line-height: 1.4;
}

.link-collection-content-button {
  margin-top: 32px;
  margin-top: auto;
  text-align: right;
}

button.more-button {
  background: none;
  border: none;
}

button.more-button a {
  width: 100%;
  padding: 1.2em 90px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  position: relative;
  background: #36b3fb;
  text-decoration: none;
  transition: 0.5s ease;
}

/* hover時の背景変更 */
button.more-button a:hover {
  background: #06A1FD;
}

/* CSSで作るスタイリッシュな矢印 */
span.btn-arrow {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
  margin-left: 0;
}


/* 賞、認定 */
.award {
  margin-top: 64px;
  width: 100%;
}

.award-inner {
  margin: auto;
  width: 1024px;
  display: flex;
  justify-content: space-around;
  border-top: .5px solid #222;
  border-bottom: .5px solid #222;
}

.award-img-l {
  margin: 64px 0;
  width: 50%;
  height: 100%;

}

.award-img-l-in {
  margin: auto;
  width: 70%;
  height: auto;
}

.award-img-l img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
  filter: drop-shadow(0px 3px 3px #222);
}

.award-img-l:hover img {
  transform: scale(1.05);
}

.award-img-r {
  margin: 64px 0;
  width: 50%;
}

.award-img-r-in {
  margin:  0 auto 32px;
  width: 70%;
  height: auto;
}

.award-img-r-in img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
  filter: drop-shadow(0px 3px 3px #222);
}

.award-img-r-in:hover img {
  transform: scale(1.05);
}

/* 診療時間・アクセス */
.schedule-wrap {
  margin-bottom: 64px;
}

.wp-block-table table {
  width: 100%;
  border: 1px solid #222;
  font-weight: 400;
}

.wp-block-table thead {
  border-bottom: 2px solid #222 !important;
}

.wp-block-table td, .wp-block-table th {
  border: 1px solid #222 !important;
  font-weight: 300 !important;
  padding: 1.6em !important;
}

.access-map {
  margin-bottom: 16px;
}

.inner p {
  font-size: 18px !important;
  font-weight: 300 !important;
  line-height: 1.4;
}

.access-img {
  margin-top: 64px;
  width: 100%;
  height: 500px;
}

.access-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tablehyouji {
  width: 70% !important;
  margin: 64px auto 0 !important;
}


/* footer */
#footer_inner {
  padding: 60px 0 !important;
}

#footer_logo {
  display: none;
}

.footer-inner {
  padding: 0 32px;
  width: 100%;
  color: #fff;
}

.footer-l-logo {
  width: 280px;
  height: auto;
}

.footer-l-logo img {
  width: 100%;
  height: 100%;
}

.lcr-grp {
  margin-top: 32px;
  width: 100%;
  display: flex;
}

.footer-l {
  width: 36%;
}

.footer-l-access {
  font-size: 16px;
  line-height: 1.2;
}

.footer-l-access a {
  color: #fff;
  text-decoration: none;
}

.footer-l-catch {
  margin: 24px 0;
  font-size: 16px;
  line-height: 1.4;
}

.footer-l-sns-grp {
  width: 100%;
  display: flex;
  align-items: flex-end;
}

.footer-l-sns-img {
  width: 40px;
  height: auto;
}

.footer-l-sns-img img {
  width: 100%;
  height: 100%;
}

.sns-name {
  margin-left: 8px;
  font-size: 14px;
}

.footer-c {
  padding-left: 24px;
  width: 35%;
}

.footer-c-heading {
  font-size: 16px;
  font-weight: 600;
}

.footer-c-img-grp {
  margin: 16px 0;
}

.footer-c-img {
  margin-bottom: 24px;
  width: 220px;
  height: auto;
}

.footer-c-img img {
  width: 100%;
  height: 100%;
}

.footer-r {
  width: 28%;
}

.footer-r-inner {

}

.footer-r-list {

}

.footer-r-list li {
  margin-bottom: 16px;
  list-style: none;
}

.footer-r-list a {
  color: #fff;
  text-decoration: none !important;
}

/********************************************************************************
************************************* 医院案内 ***********************************
**********************************************************************************/
.post_content h4 {
  font-size: 90%;
  text-align: center;
}

/* 3つのこと */
.uagb-block-497196f5 p,
.uagb-block-12c3a691 p,
.uagb-block-fec5c97e p {
  margin-top: 16px;
}



/* WordPress標準ギャラリーを横並びに戻す */
.is-layout-flex {
  width: 100%;
  margin: auto;
}

.wp-block-gallery,
.blocks-gallery-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

.wp-block-gallery.has-nested-images figure,
.blocks-gallery-item {
  width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2);
  flex: 1 0 300px;
  margin: 0;
}

.wp-block-gallery img,
.blocks-gallery-item img {
  height: auto;
  max-width: 100%;
  display: block;
}

.wp-block-image .wp-element-caption {
  /* color: #06A1FD !important;
  font-size: 12px !important; */
}

.wp-block-image:before {
/* backdrop-filter: none !important; */
}




/********************************************************************************
************************************* 診療内容 ***********************************
**********************************************************************************/
.post_content {
  font-size: 18px !important;
}

.wp-block-uagb-container.uagb-block-70bc751c,
.wp-block-uagb-container.uagb-block-02c31f19,
.wp-block-uagb-container.uagb-block-45e83305 {
  max-width: 33%;
  width: 100%;
  height: auto;
  min-height: auto;
  /* min-height: 740px; */
  padding-top: 32px !important;
  /* justify-content: flex-start !important; */
  flex-direction: column;
  /* justify-content: space-between !important; */
  justify-content: flex-start !important;
}

figure.wp-block-image {
  min-width: unset !important;
  width: 70% !important;
  vertical-align: middle !important;
}

.uagb-block-70bc751c p,
.uagb-block-02c31f19 p,
.uagb-block-45e83305 p {
  height: 200px !important;
}

.uagb-block-497196f5 p {
  /* height: 300px !important; */
}

/* .wp-block-uagb-container p {
  height: 200px !important;
} */

.wp-block-button {
  padding-bottom: 32px;
}

.wp-block-button a {
  text-decoration: none !important;
  background: #36b3fb !important;
  transition: 0.5s ease;
}

/* hover時の背景変更 */
.wp-block-button a:hover {
  background: #06A1FD !important;
}

.post_content p {
  height: 100%;
}

 /* プラグインPopup markerのpタグ */
.pum-content p {
  margin: 1em 0;
  line-height: 1.6;
}



/******************************** アコーディオンCSS **********************************/

/* .accordion-title {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  padding: 1em;
  background: #f5f5f5;
  border-top: 1px solid #ccc;
  position: relative;
}

.accordion-title::after {
  content: '+';
  font-size: 20px;
  transition: transform 0.5s ease;
  position: absolute;
  right: 16px;
}

.accordion-title.active::after {
  content: '×';
  transform: rotate(0deg);
}

.accordion-content {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease, padding 0.5s ease;
  background: #fff;
  padding: 0 1em;
}

.accordion-content p {
  line-height: 1.6 !important;
  font-size: 14px;
}

.accordion-content.open {
  padding: 1em;
  max-height: 500px;
}

.accordion-box {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.accordion-box1 {
  top: 80px;
}

.accordion-box2 {
  top: 115px;
}

.accordion-box3 {
  top: 44px;
} */