@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
@import url(https://fonts.googleapis.com/css?family=Lato);
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

html{
	font-size:62.5%;
}

body{
	margin:0;
	padding:0;
	font-family: -apple-system, "Noto Sans Japanese",'Sawarabi Mincho', 'Lato', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*font-family: 'Noto Sans Japanese', serif,"游ゴシック", YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;*/
	/*font-family: メイリオ, Meiryo,游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/
	/*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
	position:relative;
	font-size:16px;
	font-size:1.6rem;
	line-height:28px;
	line-height:2.8rem;
	letter-spacing:1.2px;
	letter-spacing:0.12rem;
	color: #333;
}

html {
    overflow-y: scroll;
    scrollbar-width: none; /* Firefox用 */
}

body {
    margin: 0;
    overflow-x: hidden; /* 横スクロールを禁止する */
}

/* Chrome, Safari, Opera */
body::-webkit-scrollbar {
    display: none;
}

/* Firefox */
body {
    scrollbar-width: none;
}

.bx-wrapper {
    max-width: 100% !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    line-height: 0 !important;
    box-sizing: border-box;
}

.bx-viewport {
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

.bx-wrapper img,
.bx-viewport img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border: none !important;
    outline: none !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: bottom !important;
}

/*WP写真付き投稿用　*/
.info-container {
  overflow: hidden;
}

.info-image {
  float: left;
  width: 35%;
  height: auto; /* 縦横比を維持 */
  margin-right: 16px;
  margin-bottom: 16px;
}




.linespace{
    margin-top: 16px;
    margin-top: 1.6rem;
}

#top-head {
 	display: flex;
 	width:100%;
 	height:120px;
 	position:fixed;
	z-index:1000;
 	justify-content: space-between; /* 左右の要素を両端に配置 */
 	align-items: center; /* 垂直方向の位置を中央揃え */
 	background:rgba(255,255,255,0); /* 背景色を設定（必要に応じて） */
}

.leftlogo {
 	display: flex;
 	align-items: center; /* ロゴを垂直方向中央揃え */
}

.leftlogo img {
 	height: 80px; /* ロゴの高さを適宜調整 */
 	margin-top:18px;
	margin-left:18px;
}

/*予約枠 */
.reservebox{
	display: flex;
	margin-left: auto;
}

.registboxtop {
 	display: flex;  /* 子要素を横並びにする */
    align-items: center;  /* 垂直方向を中央揃え */
    justify-content: center; /* 水平方向を中央揃え（必要に応じて変更） */
}

.register-buttontop {
	display: flex; /* 画像とテキストを横並びにする */
    align-items: center; /* 垂直方向を中央揃え */
    justify-content: center; /* 水平方向を中央揃え */
    background-color: #ff9900; /* ボタンの背景色 */
    color: #FFFFFF; /* ボタンの文字色 */
    text-decoration: none; /* ボタンの下線を削除 */
    border-radius: 5px; /* ボタンの角を丸くする */
    text-align:left;
    font-size:24px;
    font-size:2.4rem;
    line-height:48px;
    line-height:4.8rem;
    letter-spacing:1.8px;
    letter-spacing:0.18rem;
    padding:0 36px 0 36px;
    margin-right: 18px;
    font-family: "Noto Serif JP", serif;
    font-weight:bold;
}

.register-buttontop img {
    margin-right: 8px;
    width:auto;
    height:36px;
}

.register-buttontop:hover {
 	background-color: #FFAD33; /* ボタンのホバー時の色 */
}

.telbox{
	display: flex; /* 画像とテキストを横並びにする */
    align-items: center; /* 垂直方向を中央揃え */
    justify-content: center; /* 水平方向を中央揃え */
    background-color: #002357; /* ボタンの背景色 */
    color: #FFFFFF; /* ボタンの文字色 */
    text-decoration: none; /* ボタンの下線を削除 */
    border-radius: 5px; /* ボタンの角を丸くする */
    text-align:left;
    padding:0 36px 0 36px;
    margin-right: 18px;
}

.telbox img {
	margin-right: 8px;
	width:auto;
	height:36px;
}

.mailtext{
	text-align:left;
	font-weight:bold;
	color:#FFFFFF;
	font-size:24px;
	font-size:2.4rem;
	line-height:48px;
	line-height:4.8rem;
	letter-spacing:1.8px;
	letter-spacing:0.18rem;
    font-family: 'Lato';
}

.spreserve{
    display:none;
}

/*予約枠ここまで */

#wrapper {
	overflow: hidden;
	position: relative;
}

.bx-viewport {
  left: 0;
  box-shadow: none;
  border: none;
}

#stage {
    position: relative;
    overflow: hidden;
    width: 100vw;
    height: auto;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: #FFFFFF;
}

#photos {
    position: relative;
    top: 0;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
}

#photos img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: bottom 5px;
}

#photos li {
    height: 100vh;
    background: bottom / cover no-repeat; /* 下を起点にする */
    margin: 0;
    padding: 0;
}

#photos li picture,
#photos li img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: bottom 5px;
}

#ministage {
    display:none;
    width:100%;
    height:auto;
}

#miniphotos {
    width:100%;
    height:auto;
}

#maincontent{
	width:1000px;
	margin:0 auto;
}


/* ブログページ 全一覧 */
#mainblog{
    width:720px;
    margin:0 auto;
}

#mainblog li{
    list-style:none;
    padding-top:9px;
    padding-top:0.9rem;
    padding-bottom:9px;
    padding-bottom:0.9rem;
    border-bottom : solid 1px #002357;
}

#mainblog ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

#mainblog li a:hover{
    color:#f78da7;
    font-weight:normal;
}

.displayleft{
    text-align: center;
}

.leftexp{
    text-align:justify;
}

/* ブログページ ページナビゲーション */
/*wordpress ページナビカスタマイズ*/

.wp-pagenavi {
    margin-top:72px;
    margin-bottom:18px;
    clear: both;
    text-align:center;
 
}
.wp-pagenavi a, .wp-pagenavi span {
    color: #9E9E9E;
    background-color: #FFFFFF;
    border: solid 1px #9E9E9E;
    padding: 8px 15px;
    margin: 0 2px;
    white-space: nowrap;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    text-align: center;
    text-decoration:none;
}
.wp-pagenavi a:hover{
    color:#0D646B; 
    background-color:#f78da7; 
    border-color:#9E9E9E;
    }
.wp-pagenavi span.current{
    color: #FFF;
    background-color: #002357;
    border-color: #002357;
    font-weight: bold;
}

#singlecontent .alignright img { display: block; width:50%; margin: 0 0 0 auto; margin-top:18px; margin-bottom:18px;}/* 配置位置 右 */
#singlecontent .alignleft img { display: block; width:50%; margin: 0 auto 0 0; margin-top:18px; margin-bottom:18px;}/* 配置位置 左 */
#singlecontent .aligncenter img { display: block; width:50%; margin: 0 auto; margin-top:18px; margin-bottom:18px;}/* 配置位置 中央 */
#singlecontent .float-left img { width:50%; height:auto; margin-right:18px; float:left;margin-top:18px; margin-bottom:18px;}/* 回り込み 左 */
#singlecontent .float-right img { width:50%; height:auto; margin-left:18px; float:right; margin-top:18px; margin-bottom:18px;}/* 回り込み 左 */
#singlecontent .full-pict img { width:100%; height:auto; margin-top:18px; margin-bottom:18px;}/* 最大サイズで表示 */

/* ブログページ ページナビゲーション */
.pagenavi{
    width:720px;
    margin:0 auto;
    margin-top:72px;
    margin-top:7.2rem;
    font-size:18px;
    font-size:1.8rem;
    line-height:31.5px;
    line-height:3.15rem;
    border-top : solid 1px #9E9E9E;
    border-bottom : solid 1px #9E9E9E;
}

.pagenavi:after{
    content:"";
    display:block;
    clear:both;
}

.toppage{
    width:50%;
    float:left;
}

.toppage p{
    text-align:left;
    color:#000000;
    font-weight: 400;
    padding-top:9px;
    padding-top:0.9rem;
    padding-bottom:9px;
    padding-bottom:0.9rem;
}

.toppage p:hover,a:hover{
    color:#f78da7;
    font-weight: normal;
}

.rightpage{
    width:50%;
    float:right;
}

.rightpage p{
    text-align:right;
    color:#000000;
    font-weight: 400;
    padding-top:9px;
    padding-top:0.9rem;
    padding-bottom:9px;
    padding-bottom:0.9rem;
}

.rightpage a:hover{
    color:#f78da7;
    font-weight: normal;
}

/*wordpress 投稿ページ*/
#blogarea{
    margin-top:72px;
    margin-top:7.2rem;
    padding-bottom:72px;
    padding-bottom:7.2rem;
}

#singlecontent{
    width:720px;
    height: auto !important;
    margin:0 auto;
}

#singlecontent .post-item{
    width:100%;
}

#singlecontent .post-item h2{
    font-weight:600;
    color:#000000;
    font-size:28px;
    font-size:2.8rem;
    margin-bottom:28px;
    margin-bottom:2.8rem;
}

#singlecontent p{
    text-align:justify;
    font-size:18px;
    font-size:1.8rem;
    line-height:31.5px;
    line-height:3.15rem;
}

.space{
    margin-top:18px;
    margin-top:1.8rem;
}

.btmnavi{
    margin-top:54px;
    margin-top:5.4rem;
}

.btmnavi a{
    font-weight: bold;
    color: #f78da7;
}

/* ---------------------------------------------------------------------------------------------------------------------------- */

.copy{
    position:absolute;
    top:580px;
    right:80px;
    font-size:36px;
    line-height: 54px;
    color: #FFFFFF;
    font-weight:bold;
    text-shadow: 
    0 5px 5px rgba(0, 0, 0, .7),
    0 -5px 20px rgba(255, 255, 255, .7);
    z-index: 999;
}

/*診療時間 */
#schedulebox{
    position: relative;
    width:1000px;
    border: 1px solid #EEEEEE;
    opacity: 0; /* 初期状態では透明 */
    left: 50%; /* 画面の中央に配置（横方向） */
    transform: translate(-50%, -0%); /* 水平・垂直両方中央に */
    transition: margin 0.8s ease-out, opacity 0.8s ease-out; /* 両方のプロパティをアニメーション */
    z-index: 997; /* 画像の上に重なるように設定 */
    background:#FFFFFF;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

#schedulebox.visible {
    margin:-72px 0 auto;
    opacity: 1; /* 表示 */
}

.schedule-container {
    text-align: center;
    width: 90%;
    max-width: 900px;
    margin:0 auto;
    padding-top:48px;
    padding-top:4.8rem;
    padding-bottom:48px;
    padding-bottom:4.8rem;
}

.title {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.subtitle {
	position: relative;
    font-size: 16px;
    font-size: 1.6rem;
    color: #777;
    margin-bottom: 24px;
    margin-bottom: 2.4rem;
    padding-bottom: 24px;
    padding-bottom: 2.4rem;
    display: inline-block;
    font-family: 'Lato';
}

.subtitle::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px; /* 下線の太さ */
    background-color: #f78da7; /* 下線の色 */
    position: absolute;
    bottom: 3px; /* 文字のすぐ下ではなく、適切な位置に調整 */
    left: 0;
}

.schedule-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

th, td {
            border: 1px solid #ccc;
            padding: 10px;
            text-align: center;
            vertical-align: middle;
            font-family: 'Lato';
        }
        th {
            background-color: #002357;
        }
        td {
            background-color: #ffffff;
        }
        .closed {
            color: #ccc;
        }

th{
    color:#FFFFFF;
}

td{
    color:#333333;
}

.info {
            width: fit-content;
            margin: 0 auto;
            margin-top: 24px;
            text-align: left;
        }
.tel-container {
    font-size: 24px; /* pタグ自体のフォントサイズを調整 */
    line-height:normal;
}

.tel-label {
    color: #002357;
    font-weight: bold;
    font-size: 32px;
    font-size: 3.2rem;
    font-family: 'Lato';
}

.phone-number {
    font-size: 24px; /* 電話番号をやや大きく */
    font-weight: bold; /* 太字 */
    color: #002357;
    font-family: 'Lato';
}

.tel-container a{
    color: #002357;
}

/*説明欄 */
.expalainbox{
	margin-top: 144px;
}

#expalainbox.visible {
  margin:-72px 0 auto;
}

.titlebox {
    text-align: center;
}
/*お知らせ一覧 */
#newscontent {
    margin: 20px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.news-list {
    list-style: none;
    padding: 0;
    margin: 0;
    width:600px;
}

.news-list li {
    border-bottom: 1px solid #002357;
    padding: 10px 0;
}

/*
.news-list li:last-child {
    border-bottom: none;
}
*/

.news-list a {
    text-decoration: none;
    display: flex;
    justify-content: space-between;
}

.news-list a:hover {
    font-weight: bold;
}

.datewp {
    color: #333;
}

.titlewp {
    flex-grow: 1;
    text-align: left;
    margin-left: 32px;
    color: #333333;
}

.notification-button {
    text-align: center; /* ボタンを中央配置 */
    margin: 20px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    font-size: 16px;
    color: #f78da7;
    text-decoration: none;
    border: 2px solid #f78da7;
    border-radius: 25px; /* 丸みのある角にする */
    transition: all 0.3s ease; /* ホバー時のスムーズなアニメーション */
}

.button:hover {
    background-color: #fbd1db;
}

.iconbt {
    margin-left: 10px; /* テキストとアイコンの間に余白を追加 */
    font-size: 16px;
}

.iconsankaku {
    margin-left: 10px; /* テキストと画像の間に余白を追加 */
    width: 24px; /* アイコンの幅を調整 */
    height: 24px; /* アイコンの高さを調整 */
}


/*当院特徴・院長紹介 */
.expcontainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    justify-content: flex-start;
    align-items: flex-start; /* 上部で揃える */
    /*padding: 30px;*/
    background-color: #FFFFFF;
    /*border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);*/
}

.leftpic {
    align-self: flex-start; /* 左側の写真を上部で揃える */
}

.leftpic img {
    width: 100%;
    max-width: 450px;
    height: auto;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

.leftpiclong img {
    width: 100%;
    max-width: 450px;
    height: auto;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

.iconarea img{
    width: 100%;
    height: auto;
}

.rightexp {
    flex: 1;
    margin-left: -80px;
    margin-top: 20px;
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    padding:0 20px 0 20px;
    padding:20px;
}

.leftexp {
    flex: 1;
    order: 1;
    padding:0 20px 0 0px;
}

.rightpic {
  order: 2;
}

.rightpic img {
    width: 100%;
    max-width: 450px;
    height: auto;
    object-fit: cover;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

.displaycenter{
    text-align: center;
}

.centerexpshort{
    display: inline-block;
    text-align:justify;
}

.centerexp{
    text-align:justify;
}

h2 {
    color: #333;
    margin-bottom: 15px;
}

ul {
    padding-left: 20px;
}

ul li {
    margin-bottom: 5px;
    font-family: 'Lato';
}

p {
    line-height: 1.6;
    color: #555;
}

/*診療案内 */
.icon-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.icon-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc(100% / 6);
}

.icon-circle {
    width:75%;
    aspect-ratio: 1 / 1;
    background-color: #e0f7fa;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 8px;
    padding: 8px;
    white-space: normal;
    word-break: break-word;
    font-weight: bold;
    cursor: pointer;
    font-size: 16px;
}

.icon-circle img {
    width: 100%;
    height: auto;
}

.icon-text {
    font-size: 12px;
    font-weight:bold;
}

/*地図 */
#mapArea{
	margin-top: 144px;
	width:100%;
	height:500px;
}

.map_link{
	margin-top:16px;
	text-align: center;
}

.map_link a {
	color:#333333;
	text-decoration:underline;
}

.map_link a:hover {
	color:#ff9900;
	text-decoration:none;
}

.map_link a.ex_link {
	padding-right:16px;
	background: url('../img/ex_link.png') no-repeat right center;
	background-size:14px;
}

/*フッター */
#footerline{
    width:100%;
    background:#002357;
    margin-top: 128px;
}

#footer {
    width:1000px;
    margin:0 auto;
    height:auto;
    padding-top: 64px;
}

.footercontainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    justify-content: space-between;
    align-items: flex-start; /* 上部で揃える */
    color: #FFFFFF;
    /*padding: 30px;*/
    /*border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);*/
}

.footerpic {
    align-self: flex-start; /* 左側の写真を上部で揃える */
}

.footerpic img {
    width: 100%;
    max-width: 400px;
    height: auto;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

.rightfooter {
    font-size: 20px;
    font-size: 2.0rem;
    line-height: 35px;
    line-height: 3.5rem;
    font-weight: normal;
    color: #FFFFFF;
}

.rightfooter p{
    color: #FFFFFF;
}

.rightfooter a{
    color: #FFFFFF;
}


.copytext{
    margin-top:96px;
    margin-top:9.6rem;
    width:auto;
    text-align:center;
    font-weight:normal;
    font-size:18px;
    font-size:1.8rem;
    letter-spacing:1.8px;
    letter-spacing:0.18rem;
    line-height:36px;
    line-height:3.6rem;
    color: #FFFFFF;
}

/*診療内容ページ */
#topimg {
    display:block;
    width:100%;
    height:auto;
}

#topphoto {
    width:100%;
    height:auto;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}

#topphoto img {
    width: 100%;
    height: auto;
}

.toptitle{
    width:100%;
    position:absolute;
    top:580px;
    text-align:center;
}

.toptitle p{
    font-size:36px;
    line-height: 54px;
    color: #FFFFFF;
    font-weight:bold;
    text-shadow: 
    0 5px 5px rgba(0, 0, 0, .7),
    0 -5px 20px rgba(255, 255, 255, .7);
}

.wptoptitle{
    width:100%;
    position:absolute;
    top:580px;
    text-align:center;
}

.wptoptitle p{
    font-size:36px;
    line-height: 54px;
    letter-spacing: 12px;
    color: #f78da7;
    font-weight:bold;
    text-shadow: 
    0 5px 5px rgba(0, 0, 0, .7),
    0 -5px 20px rgba(255, 255, 255, .7);
}

.whiteback{
    text-align:center;
    margin-top:144px;
    margin-top:14.0rem;
}

.explainbox{
    margin:0 auto;
    width:100%;
    max-width:1200px;
    display:inline-block;
}

.leftlinkbox{
    float: left;
    width: 50%;
    text-align: left;
}

.leftlinkbox img{
    width: 95%;
    height: auto;
}

.rightlinkbox{
    float: right;
    width: 50%;
    text-align: right;
    margin-top:0px;
    margin-top:0rem;
}

.rightlinkbox img{
    width: 95%;
    height: auto;
}

@media (max-width: 1100px) {

#top-head {
    height:100px;
}

.leftlogo img {
    height: 60px; /* ロゴの高さを適宜調整 */
    margin-top:18px;
    margin-left:18px;
}

/*予約枠 */
.register-buttontop {
    font-size:18px;
    font-size:1.8rem;
    line-height:36px;
    line-height:3.6rem;
    letter-spacing:1.8px;
    letter-spacing:0.18rem;
    padding:0 36px 0 36px;
    margin-right: 18px;
}

.register-buttontop img {
    margin-right: 8px;
    width:auto;
    height:32px;
}

.telbox{
    padding:0 36px 0 36px;
    margin-right: 18px;
}

.telbox img {
    margin-right: 8px;
    width:auto;
    height:32px;
}

.mailtext{
    font-size:18px;
    font-size:1.8rem;
    line-height:36px;
    line-height:3.6rem;
    letter-spacing:1.8px;
    letter-spacing:0.18rem;
}

.spreserve{
    display:none;
}

/*予約枠ここまで */

#stage {
    display:none;
    position: relative;
    overflow: hidden;
    width: 100vw;
    height: auto;
    margin: 0;
    padding: 0;
    text-align: center;
    background-color: #FFFFFF;
}


#photos li picture,
#photos li img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
    object-position: bottom 0px;
}



#ministage {
    display:block;
    overflow: hidden;
    width:100%;
    height:auto;
}

#miniphotos {
    width:100%;
    height:auto;
    padding: 0;
    margin: 0;
    list-style: none;
}


#miniphotos img {
    width: 100%;
    height: auto;
}

.copy{
    position:absolute;
    top:400px;
    right:20px;
}

#maincontent{
    width:90%;
    max-width:1000px;
}

/* ブログページ 全一覧 */
#mainblog{
    width:90%;
    max-width:720px;
}

/* ブログページ ページナビゲーション */
.pagenavi{
    width:90%;
    max-width:720px;
    font-size:16px;
    font-size:1.6rem;
    line-height:28px;
    line-height:2.8rem;
}

#blogarea{
    margin-top:52px;
    margin-top:5.2rem;
    padding-bottom:52px;
    padding-bottom:5.2rem;
}

#singlecontent{
    width:90%;
    max-width:720px;
    height: auto !important;
    margin:0 auto;
}

#singlecontent .post-item h2{
    font-size:20px;
    font-size:2.0rem;
    margin-bottom:20px;
    margin-bottom:2.0rem;
}

#singlecontent p{
    text-align:justify;
    font-size:16px;
    font-size:1.6rem;
    line-height:28px;
    line-height:2.8rem;
}

/*診療時間 */
#schedulebox{
    position: relative;
    width:100%;
    max-width:1000px;
    border: none;
    opacity: 1; /* 初期状態では透明 */
    left: 50%; /* 画面の中央に配置（横方向） */
    transform: translate(-50%, -0%); /* 水平・垂直両方中央に */
    transition: margin 0.8s ease-out, opacity 0.8s ease-out; /* 両方のプロパティをアニメーション */
    background:#FFFFFF;
    box-shadow: none;
}

#schedulebox.visible {
  margin:0px 0 auto;
}

.schedule-container {
    text-align: center;
    width: 100%;
    max-width: 1000px;
    margin:0 auto;
    margin-top:72px;
    margin-top:7.2rem;
    padding-top:0px;
    padding-top:0rem;
    padding-bottom:0px;
    padding-bottom:0rem;
}

#mapArea{
    height:400px;
}

/*診療案内 */
.icon-circle {
    font-size: 14px;
}

/*フッター */
#footerline{
    margin-top: 128px;
}

#footer {
    width:100%;
    box-sizing: border-box;
    padding:64px 64px 0 64px;
}

.footercontainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-items: flex-start; /* 上部で揃える */
    /*padding: 30px;*/
    /*border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);*/
}

.footerpic {
    align-self: flex-start; /* 左側の写真を上部で揃える */
}

.footerpic img {
    width: 100%;
    max-width: 200px;
    height: auto;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

.rightfooter {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 31.5px;
    line-height: 3.15rem;
    font-weight: normal;
}

.copytext{
    margin-top:96px;
    margin-top:9.6rem;
    font-size:16px;
    font-size:1.6rem;
    letter-spacing:1.6px;
    letter-spacing:0.16rem;
    line-height:32px;
    line-height:3.2rem;
}

}

@media (max-width: 920px) {

#top-head {
    height:80px;
}

.leftlogo img {
    height: 50px; /* ロゴの高さを適宜調整 */
    margin-top:16px;
    margin-left:16px;
}

/*予約枠 */
.register-buttontop {
    font-size:16px;
    font-size:1.6rem;
    line-height:32px;
    line-height:3.2rem;
    letter-spacing:1.6px;
    letter-spacing:0.16rem;
    padding:0 28px 0 28px;
    margin-right: 16px;
}

.register-buttontop img {
    margin-right: 6px;
    width:auto;
    height:28px;
}

.telbox{
    padding:0 28px 0 28px;
    margin-right: 16px;
}

.telbox img {
    margin-right: 6px;
    width:auto;
    height:28px;
}

.mailtext{
    font-size:16px;
    font-size:1.6rem;
    line-height:32px;
    line-height:3.2rem;
    letter-spacing:1.6px;
    letter-spacing:0.16rem;
}

.spreserve{
    display:none;
}

/*予約枠ここまで */

/*当院特徴・院長紹介 */
.expcontainer {
    display: flex; /* 追加 */
        flex-direction: column; /* 縦並びにする */
        align-items: center; /* 中央揃え */
    }

    .leftpic {
        align-self: center; /* 画像を中央に */
        margin-bottom: 20px; /* 画像とテキストの間に余白を作る */
    }

.leftpic img {
    width: 100%;
    max-width: 600px;
    height: auto;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

.rightexp {
    all: unset;
    flex: 1;
    padding: 0;
}

.leftexp {
    all: unset;
    flex: 1;
    padding-top: 20px;
}

.rightpic {
  all: unset;
}

.rightpic img {
    width: 100%;
    max-width: 600px;
    height: auto;
    object-fit: cover;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

/*診療案内 */
.icon-circle {
    font-size: 12px;
}

/*診療内容ページ */
.toptitle p{
    font-size:24px;
    line-height: 27px;
}

.wptoptitle p{
    font-size:24px;
    line-height: 27px;
    letter-spacing: 8px;
}

/* ブログページ ページナビゲーション */
.pagenavi{
    font-size:12px;
    font-size:1.2rem;
    line-height:21px;
    line-height:2.1rem;
    border-top : solid 1px #9E9E9E;
    border-bottom : solid 1px #9E9E9E;
}

#blogarea{
    margin-top:18px;
    margin-top:1.8rem;
    padding-bottom:18px;
    padding-bottom:1.8rem;
}

#singlecontent .post-item h2{
    font-size:16px;
    font-size:1.6rem;
    margin-bottom:16px;
    margin-bottom:1.6rem;
}

#singlecontent p{
    font-size:12px;
    font-size:1.2rem;
    line-height:21px;
    line-height:2.1rem;
}

/* ---------------------------------------------------------------------------------------------------------------------------- */

}

@media (max-width: 720px) {

body{
    font-size:14px;
    font-size:1.4rem;
    line-height:24.5px;
    line-height:2.45rem;
    letter-spacing:1.05px;
    letter-spacing:0.105rem;
}

/*予約枠 */
.reservebox{
    display:none;
}

.spreserve {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 77px;
    z-index: 998;
}

.btn {
    flex: 1;
    display: flex;
    flex-direction: column; /* 縦並び */
    align-items: center; /* 横方向の中央揃え */
    justify-content: center; /* 縦方向の中央揃え */
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    color: white;
    text-decoration: none;
}

.btn img {
    width: 28px; /* アイコンの幅を調整 */
    height: 28px; /* アイコンの高さを調整 */
    margin-bottom: 7px; /* テキストとの間隔 */
}

.phone {
    background-color: #002357; /* 青 */
}

.web {
    background-color: #ff9900; /* 黄 */
}



/*予約枠ここまで */

.linespace{
    margin-top: 14px;
    margin-top: 1..4rem;
}

.copy{
    position:absolute;
    top:200px;
    right:10px;
    font-size:18px;
    line-height: 27px;
}

#maincontent{
    width:94%;
    margin:0 auto;
}

/* ブログページ 全一覧 */
#mainblog{
    width:94%;
    margin:0 auto;
}

/* ブログページ ページナビゲーション */
.pagenavi{
    width:94%;
    margin:0 auto;
}

#singlecontent{
    width:94%;
}

/*診療時間 */
#schedulebox{
    width:100%;
}

.schedule-table {
    table-layout: auto;
}

.schedule-container {
    margin-top:48px;
    margin-top:4.8rem;
}

.title {
    font-size: 16px;
    font-size: 1.6rem;
}

.subtitle {
    position: relative;
    font-size: 12px;
    font-size: 1.2rem;
    color: #777;
    margin-bottom: 18px;
    margin-bottom: 1.8rem;
    padding-bottom: 18px;
    padding-bottom: 1.8rem;
}

th, td {
    padding: 4px;
            
}

th{
    font-size: 14px;
}

td{
    font-size: 14px;
}

.tel-container {
    font-size: 24px; /* pタグ自体のフォントサイズを調整 */
}

.tel-label {
    font-size: 28px;
    font-size: 2.8rem;
}

.phone-number {
    font-size: 24px; /* 電話番号をやや大きく */
}

.whiteback{
    text-align:center;
    margin-top:72px;
    margin-top:7.2rem;
}

.expalainbox{
    margin-top: 72px;
}

.expcontainer {
    flex-direction: column; /* 縦並びにする */
    align-items: center; /* 中央揃え */
}

.leftpic {
    align-self: center; /* 画像を中央に */
    margin-bottom: 20px; /* 画像とテキストの間に余白を作る */
}

.rightexp {
    padding-left: 0; /* 左側の余白をリセット */
}

.leftpic img {
    width: 100%;
    max-width: none;
    height: auto;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

/*診療案内 */
.icon-item {
    width: calc(100% / 3);
}

.icon-circle {
    font-size: 16px;
}

#mapArea{
    height:300px;
}

/*フッター */
#footerline{
    margin-top: 96px;
}

#footer {
    width:100%;
    box-sizing: border-box;
    padding:64px 64px 0 64px;
    /*margin-bottom: 77px;*/
}

.footercontainer {
    display: flex;
    flex-direction: column; /* 縦並びにする */
    align-items: center; /* 中央揃え */
}

.footerpic {
    align-self: center;
}

.footerpic img {
    width: 100%;
    max-width: 360px;
    height: auto;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

.rightfooter {
    all: unset;
    margin-top:64px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 31.5px;
    line-height: 3.15rem;
    font-weight: normal;
}

.copytext{
    margin-top:96px;
    margin-top:9.6rem;
    font-size:16px;
    font-size:1.6rem;
    letter-spacing:1.6px;
    letter-spacing:0.16rem;
    line-height:32px;
    line-height:3.2rem;
    padding-bottom:16px;
}

/*診療内容ページ */
.toptitle p{
    font-size:16px;
    line-height: 27px;
}

.wptoptitle p{
    font-size:16px;
    line-height: 27px;
    letter-spacing: 6px;
}

}

@media (max-width: 520px) {

#top-head {
    height:60px;
}

.leftlogo img {
    height: 40px; /* ロゴの高さを適宜調整 */
    margin-top:10px;
    margin-left:10px;
}

/*診療案内 */
.icon-circle {
    font-size: 14px;
}

/*フッター */
.footerpic img {
    width: 100%;
    max-width: 320px;
    height: auto;
    /*border-radius: 50%;
    border: 5px solid #ddd;*/
}

.rightfooter {
    all: unset;
    margin-top:64px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 28px;
    line-height: 2.8rem;
    font-weight: normal;
}

.copytext{
    margin-top:64px;
    margin-top:6.4rem;
    font-size:14px;
    font-size:1.4rem;
    letter-spacing:1.4px;
    letter-spacing:0.14rem;
    line-height:32px;
    line-height:3.2rem;
}

/*トップページからのリンク画像*/
.leftlinkbox{
    clear: both;
    width: 100%;
    text-align: center;
}

.leftlinkbox img{
    width: 100%;
    height: auto;
}

.rightlinkbox{
    clear: both;
    width: 100%;
    text-align: center;
    margin-top:56px;
    margin-top:5.6rem;
}

.rightlinkbox img{
    width: 100%;
    height: auto;
}

}