/*
Theme Name: cleanup-fse-cs
Theme URI: https://pon.bz/
Description: A theme for Cleanup FSE base Customize from pon.bz Collection
Author: pon.bz
Author URL: http://pon.bz/ 
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cleanup-fse-cs
Requires PHP:  5.6
Tested up to: 6.0
Tags:blog, photography, entertainment, one-column, two-columns, left-sidebar, right-sidebar, block-styles, custom-colors, editor-style, custom-background, custom-logo, custom-menu, featured-images, footer-widgets, template-editing, full-site-editing, block-patterns,  threaded-comments, wide-blocks, translation-ready
Cleanup FSE WordPress Theme has been created by Grace Themes(gracethemes.com), 2023.
Cleanup FSE WordPress Theme is released under the terms of GNU GPL
*/

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}


/*
 * Text and navigation link styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */

a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25ch;
}

a:hover,
a:focus {
	text-decoration-style: dashed;
}

a:active {
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item a:hover,
.wp-block-navigation .wp-block-navigation-item a:focus {
	text-decoration: underline;
	text-decoration-style: solid;
}

/*
 * Search and File Block button styles.
 * Necessary until the following issues are resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/36444
 * https://github.com/WordPress/gutenberg/issues/27760
 */

.wp-block-search__button,
.wp-block-file .wp-block-file__button {
	background-color: var(--wp--preset--color--primary);
	border-radius: 0;
	border: none;
	color: var(--wp--preset--color--background);
	font-size: var(--wp--preset--font-size--medium);
	padding: calc(.667em + 2px) calc(1.333em + 2px);
}

body.home .wp-site-blocks > * + *{
	margin-block-start:0 !important;
}
body.home .services-section-01 .is-layout-flex, 
body.home .services-section-02 .is-layout-flex{ 
	gap:0 !important;
}
/* ov omment out
body footer.wp-block-template-part .is-layout-flex{ 
	gap:0 !important;
} */

/*
 * Button hover styles.
 * Necessary until the following issue is resolved in Gutenberg:
 * https://github.com/WordPress/gutenberg/issues/27075
 */

.wp-block-search__button:hover,
.wp-block-file .wp-block-file__button:hover,
.wp-block-button__link:hover {
	opacity: 0.90;
}

/*
 * Alignment styles.
 * These rules are temporary, and should not be relied on or
 * modified too heavily by themes or plugins that build on
 * Twenty Twenty-Two. These are meant to be a precursor to
 * a global solution provided by the Block Editor.
 *
 * Relevant issues:
 * https://github.com/WordPress/gutenberg/issues/35607
 * https://github.com/WordPress/gutenberg/issues/35884
 */

.wp-site-blocks,
body > .is-root-container,
.edit-post-visual-editor__post-title-wrapper,
.wp-block-group.alignfull,
.wp-block-group.has-background,
.wp-block-cover.alignfull,
.is-root-container .wp-block[data-align="full"] > .wp-block-group,
.is-root-container .wp-block[data-align="full"] > .wp-block-cover {
	padding-left: var(--wp--custom--spacing--outer);
	padding-right: var(--wp--custom--spacing--outer);
}

.wp-site-blocks .alignfull,
.wp-site-blocks > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-cover,
.wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-template-part > .wp-block-cover,
body > .is-root-container > .wp-block-cover,
body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background,
body > .is-root-container > .wp-block-template-part > .wp-block-cover,
.is-root-container .wp-block[data-align="full"] {
	margin-left: calc(-1 * var(--wp--custom--spacing--outer)) !important;
	margin-right: calc(-1 * var(--wp--custom--spacing--outer)) !important;
	width: unset;
}

body.home .wp-block-cover{ margin-block-start:0 !important; }
nav.Hdr-menu.wp-block-navigation ul{ font-weight:600 !important;}


/* Blocks inside columns don't have negative margins. */
.wp-site-blocks .wp-block-columns .wp-block-column .alignfull,
.is-root-container .wp-block-columns .wp-block-column .wp-block[data-align="full"],
/* We also want to avoid stacking negative margins. */
.wp-site-blocks .alignfull:not(.wp-block-group) .alignfull,
.is-root-container .wp-block[data-align="full"] > *:not(.wp-block-group) .wp-block[data-align="full"] {
	margin-left: auto !important;
	margin-right: auto !important;
	width: inherit;
}
.headright-part{ text-align:right;}
body.home header.wp-block-template-part{ position: relative; width:100%; z-index:999;}
/*
 * Responsive menu container padding.
 * This ensures the responsive container inherits the same
 * spacing defined above. This behavior may be built into
 * the Block Editor in the future.
 */

.wp-block-navigation__responsive-container.is-menu-open {
	padding-top: var(--wp--custom--spacing--outer);
	padding-bottom: var(--wp--custom--spacing--large);
	padding-right: var(--wp--custom--spacing--outer);
	padding-left: var(--wp--custom--spacing--outer);
}
.block-topmenu-bar{ position:relative !important; margin-bottom:-28px !important; z-index:999 !important;}
/* ov modify
.wp-block-navigation ul li.current-menu-item > a,
.wp-block-navigation ul li a:hover{ color:#ffb400 !important;}
*/
.wp-block-navigation ul li > a.wp-block-navigation-item__content { padding: 15px; text-decoration: none; }
.wp-block-navigation ul.wp-block-navigation__container { gap: 0; }
.wp-block-navigation ul li.current-menu-item > a{ text-decoration: underline; }
.wp-block-navigation ul li > a:hover{ background-color: #ffb400; text-decoration: none !important; }
/* ov add */
.wp-block-navigation__responsive-container-open svg {
    height: 50px;
    width: 50px;
}

/* = Contact Form 7 CSS
----------------------------------------------- */
.wpcf7{ 
	margin:30px 0 0;
	padding:0;
}
.wpcf7 input[type="text"], 
.wpcf7 input[type="tel"], 
.wpcf7 input[type="email"]{ 
	width:98%;
	border:1px solid #cccccc;
	box-shadow:inset 1px 1px 2px #ccc;
	color:#797979;
	margin-bottom:0;
	height:40px;
	padding:0 10px;
}
.wpcf7 textarea{	
	border:1px solid #cccccc;
	box-shadow:inset 1px 1px 2px #ccc;
	color:#797979;
	margin-bottom:25px;
	padding:10px;
	width:98%;
	height:160px;
	font-size:12px;
}
.wpcf7 input[type="submit"]{
	background-color:#efc62c;
	padding:20px 40px;
	border-radius:40px;
	font-weight:600;
	font-size:16px;
	cursor:pointer;
	color:#ffffff;	
	width:auto;
	border:none;
	text-transform:uppercase;
}
.wpcf7 input[type="submit"]:hover{
	background-color:#101010;
}
.about-LeftBX{ position:relative !important;}
.about-BlueBX{ position: absolute !important; bottom:0%; right:18%; 
	-webkit-border-top-left-radius: 40px;
	-webkit-border-bottom-right-radius: 40px;
	-moz-border-radius-topleft: 40px;
	-moz-border-radius-bottomright: 40px;
	border-top-left-radius: 40px;
	border-bottom-right-radius: 40px;
}
.yellow-CircleBx{ width:80px !important; height:80px !important; text-align:center;}


.top-fourbx{  box-shadow: 0 0px 20px 0 rgb(0 0 0 / 10%); border-radius:10px; margin:0 1% !important; border:1px solid transparent;}
.top-fourbx:hover{border:1px solid #007cf9;}
.fourbx-thumb{ width:100px; height:100px; line-height:80px; overflow:hidden; text-align:center; margin:0 auto; background-color:#f4f6f9; border-radius:100%; padding:10px;}

/* ov add start */
html { scroll-behavior: smooth; }
.tagline { font-weight: normal; }
:root :where(p.has-background) { padding: 1.25em 1.25em; }
h2.section-hd { font-size: 1.8em; font-weight: 500; }
h2.section-hd > svg, h2.section-hd > i { margin-right: 10px; color: #103195; }
.section-title {
  font-size: 1.5em;
  font-weight: 500;
  padding: 1rem 0;
  margin-bottom: 1.8rem;
  background-image: linear-gradient(
    90deg, 
    #0361f9 0 25%, 
    #dedede 25%
  );
  background-repeat: no-repeat;
  background-size: 100% 3%;
  background-position: bottom;
  color: inherit;
}

.greeting-noline {
  font-size: 1.5em;
  font-weight: 500;
  padding: 1rem 0;
  line-height: 1.6;
}
.greeting-noline > span { font-size: 0.8em; }
.greeting-underline {
  padding: 1rem 0;
  margin-bottom: 1.8rem;
  background-image: linear-gradient(
    90deg, 
    #0361f9 0 25%, 
    #dedede 25%
  );
  background-repeat: no-repeat;
  background-size: 100% 1.7%;
  background-position: bottom;
}

.box-title { font-size: 1.2rem; font-weight: 500; border-left-color: #0361f9; border-left-width: 3px; border-left-style: solid; padding: 0.5rem 1rem; }
.box-title-red { border-left-color: #cf2e2e; }
.tbl-responsive table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}
.tbl-responsive .wp-block-table {
    min-height: .01%;
    overflow-x: auto;
    display: block;
}
.tbody-left-th table tbody th { text-align: left; }
.img-responsive { display: block; max-width: 100%; height: auto; }
.icon-on > svg, .icon-on > i {
    margin-right: 10px;
    color: #ffb400;
}
.icon-red > svg, .icon-red > i { color: #cf2e2e; }
.icon-check { text-indent: -1.25em; padding-left: 1.25em; }
.icon-check:before { font: var(--fa-font-solid); font-weight: 900; content: "\f00c"; font-family: "Font Awesome 6 Free"; margin-right:0.5em; color: #ffb400; }
.icon-chkbox { text-indent: -1.25em; padding-left: 1.25em; }
.icon-chkbox:before { font: var(--fa-font-regular); font-weight: 400; content: "\f14a"; font-family: "Font Awesome 6 Free"; margin-right:0.5em; color: #ffb400; }
.icon-q { text-indent: -1.25em; padding-left: 1.25em; }
.icon-q:before { font: var(--fa-font-solid); font-weight: 900; content: "\f059"; font-family: "Font Awesome 6 Free"; margin-right:0.5em; color: #ffb400; }

.box-grey { padding: 1.5rem; background: #f0f0f0; }
.tbl-type1 th { width:120px; text-align: left; }
.list-pdi-17{ padding-inline-start: 17px; }
.list-pdi-0{ padding-inline-start: 0; }
.list-style-none{ list-style: none; }

/* navi */
.wp-block-navigation .wp-block-navigation__submenu-icon { margin-left: 0; margin-right: .35em; }

/* home */
body.home .services-section-01 { margin: 0; }
.top-fourbx a { text-decoration: none; }
.top-fourbx p { font-size: 20px; margin-bottom: 0; }

/* 最新投稿ブロック */
.home-post-section .info-list > li { display:flex; margin-bottom: 8px; }
.home-post-section .info-list > li > a { order: 2; }
.home-post-section .info-list > li > time { order: 1; }
.home-post-section .info-list .wp-block-latest-posts__post-date { min-width: 88px; margin-right: 15px; font-size:16px; }
.home-post-section .info-list a { font-size:16px; text-decoration: none; }
.home-post-section .info-list a:hover { text-decoration: underline; }

.sidebar .info-list > li { display:flex; }
.sidebar li { margin-bottom: 8px; }
.sidebar .info-list > li > a { order: 2; }
.sidebar .info-list > li > time { order: 1; min-width: 81px;}
.sidebar .info-list .wp-block-latest-posts__post-date { margin-right: 12px; font-size:16px; }
.sidebar .info-list a { font-size:16px; text-decoration: none; }
.sidebar .info-list a:hover { text-decoration: underline; }

/* 担当医表 */
.doctor-list .orange { color: #fd6500; }
.doctor-list h3 { font-weight: normal; font-size: 1.5em; }
.doctor-list h3 > svg, .doctor-list h3 > i { margin-right: 10px; color: #ffb400; }
.doctor-list table {
    color: #161616;
    font-size: 16px;
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}
.doctor-list .wp-block-table {
    min-height: .01%;
    overflow-x: auto;
    display: block;
}

.doctor-list table tbody th { text-align: left; }
.doctor-list .wp-block-table thead {
    border-bottom: 1px solid;
}
.doctor-list tbody th{ width: 150px; }

body.home .doctor-list table {
  background: rgba(255, 255, 255, 0.65);
}
body.home .doctor-list .wp-block-table td, body.home .doctor-list .wp-block-table th {
    border: 1px solid #fff;
}
body:not(.home) .doctor-list .wp-block-table td,
body:not(.home) .doctor-list .wp-block-table th {
    border: 1px solid #cdcdcd;
}

/* 当院の特徴 */
.point-wrap { position: relative; border: 3px solid #103195; border-radius: 12px; overflow: hidden; }
.point-wrap figure { margin-bottom: 0; display: block; }
.point-wrap .box-content {
    position: absolute;
/*
    bottom: 15px;
    left: 10px;
    padding-right: 10px;
    text-shadow: 1px 0px 0px #888;
    color: #fd6500;
*/
    z-index: 10;
    bottom: 0;
    left: 0;
	padding: 10px;
	background: rgba(255,255,255,0.7);
    border-radius: 0 0 12px 12px;

}
.point-wrap .box-content .box-title { border: none; padding: 0;}
.point-wrap .box-content h3 { font-size: 1.3em; margin: 0 0 12px; 0; }
.point-wrap .box-content a { color: #f0ad4e; }
.point-wrap .box-content .box-description { font-size:0.9rem; font-weight: 500; margin: 0; }

/* loop slider */
.loop-slider {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
/*  height:240px; */
  overflow: hidden;
}
.loop-slider ul{
	display:flex;
	padding: 0;
	margin:0;
}
.loop-slider li{
	width:313px;
	list-style: none;
	margin-right: 7px;
}
.loop-slider li > img {
  width: 100%;
  height: auto;
}
.loop-slider ul:first-child {
  animation: slide1 300s -150s linear infinite;
}

.loop-slider ul:last-child {
  animation: slide2 300s linear infinite;
}
@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/* archive */
.wp-block-post-excerpt__more-link {
	display: inline-block;
	background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
    border-radius: 50px;
    border-color: currentColor;
    color: var(--wp--preset--color--white);
    font-weight: 500;
    padding-top: 12px;
    padding-right: 30px;
    padding-bottom: 12px;
    padding-left: 30px;
    text-decoration: none;
}
.wp-block-post-excerpt__more-link:hover {
	background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}

.pagination .page-numbers {
	display: inline-block;
	border: 1px solid #ffb400;
	padding: 4px 10px;
	border-radius: 4px;
}
.pagination a.page-numbers {
	color: #ffb400;
	text-decoration: none;
}
.pagination a.page-numbers:hover {
	color: #fd6500;
	border-color: #fd6500;
}

.pagination a.wp-block-query-pagination-previous,
.pagination a.wp-block-query-pagination-next {
	font-size: 30px;
}
.pagination.wp-block-query-pagination .wp-block-query-pagination-next-arrow { margin-left: 0; }
.pagination.wp-block-query-pagination .wp-block-query-pagination-previous-arrow { margin-right: 0; }

/* 404 */
body.error404 .wp-site-blocks > * { margin-block-start: 0 !important; }

/* tel */
.cfc-phone svg, .cfc-phone i { margin-right: 10px; font-size: 82%; }

/* side contatact info */
.side-contact-info {
  position: fixed;
/*  left: 0; */
  right: 0;
  top: 200px;
  color: #fff;
  z-index: 100;
  font-size: 1.1rem;
  width: 68px;
}
.side-contact-info a { color: #fff; text-decoration: none; }
.side-contact-info {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.side-contact-info.on {
  transform: translateY(0);
  opacity: 1.0;
}
.side-contact-info > div {
  padding: 12px;
/*  border-radius: 0 8px 8px 0; */
  border-radius: 8px 0 0 8px;
}
.side-contact-info .tel1,
.side-contact-info .tel2 {
  background: #5BC0DE;
}
.side-contact-info i { /* margin-right: 7px; */ }
.side-contact-info .recruit {
  background: #5CB85C
}
.grecaptcha-badge { visibility: hidden; }

/* 2026.03.12 add */
body.single-post .wp-block-post-date { color: #bbb; }
body.single-post .wp-block-post-date::after { content: " 公開"; color: #bbb; }
