body {
  margin: 0 0;
  font-family: 'Noto Serif JP', serif;
}

p{
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 1.5px;
    margin: 3px 0;
    color: #2b2b2b;
}

/****** グラデライン ******/
.line {
  width: 100%; 
  height: 2px;
    background: linear-gradient(137.78deg,
    rgba(245, 226, 219) 0%,
    rgba(236, 212, 202) 7.54%,
    rgb(183 133 133) 35.1%,
    rgba(228, 199, 188) 41%, 
    rgba(245, 226, 219) 44.97%,
    rgb(255 255 255) 47.89%,
    rgba(207, 188, 182) 51.31%,
    rgb(151 127 119) 55.02%,
    rgba(193, 175, 169) 59.5%, 
    rgba(201, 166, 153) 65.7%,
    rgb(183 133 113) 70.98%, 
    rgba(219, 184, 170) 75.08%, 
    rgba(230, 203, 192) 79.81%, 
    rgba(239, 216, 207) 85.04%,
    rgba(243, 224, 216) 91.12%, 
    rgba(245, 226, 219) 100%);
    margin: 0 0;
}

footer {
  width: 100%;
  height: auto;
  background-color: #ffffff;
}

.footer-box {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    align-items: center;
    width: 100%;
    text-align: center;
}

.footer-box .l {
    width: 85%;
    margin: 30px auto;
}

.footer-box .l img {
    height: auto;
    width: 90%;
    margin-bottom: 6px;
}

.footer-ad-box {
    background: linear-gradient(120.83deg, rgba(243, 234, 226, 1) 0%, rgba(244, 235, 228, 1) 70.92%, rgba(249, 239, 235, 1) 100%);
    padding: 10px 13px;
    border-radius: 10px;
    width: 79%;
    margin: 0 auto;
}

.footer-ad-box p {
    margin: 0 0;
    color: #63553C;
    font-size: 16px;
    line-height: normal;
}

.l .f-banner {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    margin-top: 20px;
}

.footer-box .f-banner img{  
    width: 100%;
    height: auto;
    margin: 20px auto;
}

.footer-box .f-banner a{
    text-decoration: none;
}

.m-hours p{
    font-size: 21px;
    padding: 15px 0;
}
}

/*------------------------------
  診療時間表：全体設定
------------------------------*/
.time-table {
    width: 100%;
    margin-bottom: 10px;
    font-family: "Noto Sans JP", sans-serif;
    border-collapse: separate;
    border-spacing: 0;
    box-sizing: border-box;
    overflow: hidden;
}

/* テーブル基本セル設定 */
.time-table th, .time-table td {
  text-align: center;
  font-weight: normal;
  padding: 12px;
  border: none;
}

/*------------------------------
ヘッダー（診療時間・曜日）
------------------------------*/
.time-table thead {
  background: linear-gradient(90deg, rgba(180, 180, 178, 1) 0%, rgba(104, 104, 104, 1) 100%);
  color: 
  #ffffff;
  font-family: 'Noto Serif JP', serif;
  font-weight: normal;
  font-size: 23px;
}



/*------------------------------
左端：時間帯セル（午前・午後）
------------------------------*/
.time-table tbody th {
  color: #2b2b2b;
  font-weight: nomal;
  width: 140px;
  white-space: nowrap;
    font-size: 16px;
letter-spacing: 1px;
  border-bottom: 0.75px solid #a8a8a8;
}


/*------------------------------
通常セル（背景交互・記号など）
------------------------------*/.time-table tbody td
.time-table tbody td {
  background-color: #ffffff;
  color: #335899;
  font-family: "Noto Sans JP", "Helvetica Neue", "Segoe UI", Arial, sans-serif;
  border-bottom: none;
}

/*------------------------------
午前と午後の間に線を入れる（確実な方法）
------------------------------*/
/* 午前行の各曜日セルの下に青線 */
.time-table tbody td {
  border-bottom: 0.75px solid #a8a8a8;
}


/*------------------------------
記号のスタイル
------------------------------*/

.circle {
    font-size: 18px;
    font-weight: bold;
    background: linear-gradient(56deg, #b4b4b2, #f9dfd5 65%);
    -webkit-background-clip: text;
    color: transparent;
}

.dash {
  font-size: 18px;
    background: linear-gradient(40deg, #b4b4b2, #f9dfd5 65%);
    -webkit-background-clip: text;
    color: transparent;
}

.r {
  position: relative;
  width: 100%;
  height: 500px; /* 高さを調整できます（例：500px） */
}

.r iframe {
  width: 100%;
  height: 100%;
  border: none; /* iframe の枠線を消す */
}


/*------------------------ 
フッターメニュー
-------------------------- */
.footer-menu {
    width: 91%;
    margin: 15px auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: start;
    align-items: center;
}

.footer-menu .nav-list {
    list-style: none;
    display: flex;
    margin: 0;
    gap: 8px;
    padding: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.footer-menu .nav-list li {
    position: relative;
    padding-left: 20px;
}

.footer-menu .nav-list li::before {
    content: "◆";
    position: absolute;
    left: 0;
    top: 5%;
    font-size: 10px;
    color: #bf9e55;
}

.footer-menu .nav-link {
  letter-spacing: 2px;
  font-weight: 500;
  font-size: 16px;
  font-family: 'Noto Serif JP', serif;
}

.footer-menu .nav-link a {
  text-decoration: none;
  color: #5d441c;
}

.footer-menu .nav-link:hover {
  text-decoration: underline;
  color: #5d441c;
}
/* ----------------------------
   フットバナー
---------------------------- */
.footer-banner {
    background: #fbf1ed;
    padding: 10px 0;
    margin: 0 0;
}

.footer-banner-list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 0;
    margin: 0 auto;
    gap: 20px;
    list-style: none;
    width: 83%;
    align-items: center;
    justify-items: center;
}

.footer-banner-list img {
    width: 100%;
}

/* ----------------------------
   コピーライト
---------------------------- */
.foot_c_txt {
    padding: 5px 3rem;
    margin: 0 0;
    font-size: 13px;
    background: #fbf1ed;
    text-align: center;
    color: #63553C;
}

.nav-overlay{
	margin:0 0;
}


/* ----------------------------
   上に戻るボタン
---------------------------- */
.to-top {
    height: 70px;
    width: 70px;
    position: fixed;
    right: 23px;
    bottom: 18px;
    background: #ffffff6e;
    border: solid 2.5px #E2967F;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    box-shadow: 0 0px 4px rgb(0 0 0 / 23%);
    backdrop-filter: blur(5px);
}
.to-top__arrow {
    height: 10px;
    width: 10px;
    border-top: 2px solid #2b2b2b;
    border-right: 2px solid #2b2b2b;
    transform: translateY(20%) rotate(-45deg);
}



/************************* tb用CSS ******************/
@media (max-width: 780px){
.footer-box {
    display: flex;
    width: 100%;
    align-items: center;
}

.footer-box .l {
    width: 85%;
    margin: 35px auto;
}

.footer-box .l img {
    height: 78px;
    width: auto;
    margin-bottom: 7px;
}

.footer-ad-box {
    width: 65%;
}

.footer-ad-box p {
    letter-spacing: 1px;
}

.l .f-banner {
    display: flex;
    gap: 13px;
    margin-top: 50px;
    flex-direction: row;
    align-items: center;
}

.footer-box .f-banner img {
    width: 100%;
    height: auto;
    margin: 0px auto;
}
.m-hours p {
    font-size: 21px;
    padding: 25px 0 15px;
}
.r {
    position: relative;
    width: 85%;
    height: 419px;
}
.footer-menu {
    width: 85%;
    margin: 15px auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: start;
    align-items: start;
    gap: 30px;
}
.footer-menu .nav-list {
    list-style: none;
    display: flex;
    margin: 0;
    gap: 12px;
    padding: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.footer-menu nav{
	width: 100%;
}

}

/************************* SP用CSS ******************/
@media (max-width: 480px){
	
.footer-box {
    display: flex;
    width: 100%;
    text-align: center;
    flex-direction: column;
    align-items: center;
}
.footer-box .l {
    width: 85%;
    margin: 30px auto 10px auto;
}
.footer-box .l img {
    height: auto;
    width: 90%;
    margin-bottom: 15px;
}

.footer-ad-box {
    width: 90%;
}

.l .f-banner {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin: 40px auto 0 auto;
    flex-direction: row;
    align-items: center;
    width: 100%;
}

.footer-box .l .f-banner img {
    margin: 0 0;
    height: auto;
    width: 100%;
}

.footer-box .l .f-banner a {
    display: inline-block;
    vertical-align: top;
    height: auto; /* 追加: aタグの高さを自動調整 */
}
	
.footer-box .r {
    margin: 10px auto;
    position: relative;
    width: 85%;
    height: 300px;
    padding-bottom: 20px;
}
	
.footer-menu {
    background: rgb(249 242 240);
    margin: 0 0;
    width: 100%;
    padding-top: 30px;
}
	
.footer-menu nav {
    width: 85%;
    margin: 0 auto;
}
.footer-menu	.nav-link {
    width: 95%;
    padding-bottom: 4px;
    letter-spacing: 2px;
    margin: 0 auto;
        border-bottom: none;
	}
	
.footer-menu .nav-list a {
    display: block;
    padding: 3px 4px;
}
	
.footer-menu .nav-list li {
    position: relative;
    padding: 0 0 0 13px;
}
	
.footer-menu .nav-list li::before {
    content: "◆";
    position: absolute;
    left: 0;
    top: 17%;
    font-size: 10px;
    color: #bf9e55;
}
	
	.footer-box .l p{
		font-size:12px;
	}

.footer-box .l	.m-hours p{
        font-size: 16px;
        padding: 3px 0;
        margin-top: 10px;
	}
	
.time-table tbody th {
    color: #2b2b2b;
    font-weight: nomal;
    width: 140px;
    white-space: nowrap;
    font-size: 14px;
    letter-spacing: 0px;
    border-bottom: 0.75px solid #a8a8a8;
    text-align: center;
}
		
.footer-banner-list {
    grid-template-columns: repeat(2, 1fr);
    margin: 20px auto 0 auto;
    gap: 10px;
    width: 83%;
}

/* ----------------------------
   コピーライト
---------------------------- */
.foot_c_txt {
    padding: 3px 0;
    margin: 0 0;
    font-size: 10px;
    background: #fff;
    text-align: center;
    color: #63553C;
    letter-spacing: normal;
}
	
/* ----------------------------
   上に戻るボタン
---------------------------- */
.to-top {
    height: 50px;
    width: 50px;
    right: 7px;
    bottom: 5px;
    border: solid 2px #ffffff;
    background: #ffffff82;
}
}