@charset "UTF-8";

/*
Theme Name:中山クリニック 再生医療専用テーマ
Description: 再生医療クリニック専用オリジナルテーマ
Version: 1.0.0
*/

/*******************************
初期化
********************************/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {margin: 0; padding: 0; border: 0; outline: 0; vertical-align: baseline; background: transparent;}
*, *::before, *::after {-webkit-box-sizing: border-box; box-sizing: border-box;}
html {font-size: 62.5%; width: 100%; scroll-behavior: smooth;}
body {
  font-family: "Inter", "Noto Sans JP", sans-serif;
  color: #333;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  background-color: #fff;
  overflow-x: hidden;
}
/*body p {margin-bottom: 1.5em;}*/
img {max-width: 100%; height: auto; vertical-align: top;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
ul, ol {list-style: none;}
table {border-collapse: collapse; border-spacing: 0;}
input {border: 1px solid #888; padding: 2px;}
button {appearance: none; -moz-appearance: none; -webkit-appearance: none; border: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none;}
a {vertical-align: baseline; text-decoration: none; color: #1967d2;}
a:link, a:visited, a:active {color: #093b80; text-decoration: none;}
a:hover {text-decoration: none;}
ins {background-color: #ff9; color: #000; text-decoration: none;}
h1, h2, h3, h4, h5 {margin: 0; padding: 0;}
.pc,
.pc600{display: block;}
.sp,
.sp600,
.br-tab,
.br-sp{display: none;}

.alignright{float: right; margin: 0 0 1em 1em;}
.aligncenter{display: block; margin: 1em auto;}

/*******************************
変数
********************************/
:root{
	--contents-wide: 1080px;
	--font-serif: "Lora", "Noto Serif JP", serif;
	--color-yellow: #e0a02b;
	--color-brown: #5d4037;
	--color-brown-light: #ded9d2;
}

/*******************************
全ページ共通
********************************/
/*********** フォント ************/
.font-small{font-size: 0.8em;}
.font-large{font-size: 1.2em;}
.font-bold{font-weight: bold;}
.font-red{color: #ff0000;}
.font-yellow{color: var(--color-yellow);}
.font-green{color: #15955f;}
.font-brown{color: var(--color-brown);}
.font-att{font-size: 0.8em; color: #a9a9a9;}

/*********** 背景 ************/
.bg-brown-light{background-color: var(--color-brown-light); padding: 2%;}
.bg-brown-light p:last-child{margin-bottom: 0;}
.bg-brown-light + p{margin-top: 1.5em;}
.bg-red-light{background-color: #ffeded; padding: 2%;}
.bg-red-light p:last-child{margin-bottom: 0;}
.bg-blue{background-color: #5c8d9e !important; color: #fff !important;}

/*********** ボタン ************/
a.btn{display: inline-flex; justify-content: center; align-items: center; flex-direction: column; width: auto; min-width: 263px; height: 55px; background-color: #696969; padding: 0 3em; box-shadow: 0 2px 4px 0 rgba(0,0,0,0.5); text-align: center; color: #fff !important; font-weight: bold; line-height: 1.3; position: relative; transition: filter 0.3s;}
a.btn::after{content: ""; width: 6px; height: 6px; border-top: 1px solid #fff; border-right: 1px solid #fff; position: absolute; top: 50%; right: 7%; transform: translateY(-50%) rotate(45deg);}
a.btn:hover{text-decoration: none; filter: brightness(1.2);}

a.btn.green{background-color: #00C156;}
a.btn.blue{background-color: #006DEB;}
a.btn.red{background-color: transparent; background-image: linear-gradient(0deg, #e25b5d, #fe9986);}

/*********** 画像 ************/
figure{margin: 3em 0;}
figcaption{margin-bottom: 1em; caption-side: top; text-align: left; color: var(--color-brown); font-weight: bold; font-size: 1.2em;}

/*********** コンテンツ幅 ************/
.contents-container,
.page__contents-container,
.inner{width: 100%; max-width: var(--contents-wide); margin: 0 auto;}
.page__contents-container{padding-bottom: 130px;}

/*********** QA ************/
.qa-box{width: 83%; margin: 0 auto 5px;}
.qa-box summary{background-color: var(--color-brown-light); display: block; padding: 1em 4em; font-family: var(--font-serif); font-weight: 500; position: relative; cursor: pointer;}
.qa-box summary::marker{content: "";}
.qa-box summary::-webkit-details-marker{display: none;}
.qa-box summary::before,
.qa-box summary::after{content: ""; width: 1em; height: 1px; background-color: #333; position: absolute; top: 1.75em; right: 2.625em;}
.qa-box summary::after{transform: rotate(90deg); transition: transform 0.3s;}
.qa-box summary::before{transition: opacity 0.3s;}
.qa-box summary h4{border: none; padding: 0; margin: 0; font-size: 1em; font-weight: 500; line-height: 1.7; letter-spacing: 0;}
.qa-box[open] summary::before{opacity: 0;}
.qa-box[open] summary::after{transform: rotate(0);}
.qa-box .title{position: relative;}
.qa-box .title::before{content: "Q."; color: #3388ff; line-height: 1.2; position: absolute; top: 0; left: -1.25em;}
.qa-box .inner{width: 100%; padding: 1.75em 2.8em 2em; font-size: 15px;}
.qa-box .answer{padding-left: 1.5em; margin-bottom: 1.75em; font-family: var(--font-serif); font-weight: 500; position: relative;}
.qa-box .answer::before{content: "A."; color: #ff0000; line-height: 1.2; position: absolute; top: 0.25em; left: 0.25em;}
.qa-box .inner .headline-border-bottom{padding: 0 0 3px; margin-bottom: 1em; border-bottom: 1px solid currentcolor; font-weight: bold;}
.qa-box .inner .headline-border-bottom p{margin-bottom: 0;}

/*********** テーブル ************/
.table01{width: 100%; margin: 3em 0; font-size: 0.9em;}
.table01 thead th{background-color: #ffc800; padding: 0.45em; text-align: center; font-weight: 400; position: relative;}
.table01 thead th.blank{background-color: transparent;}
.table01 tbody th{background-color: var(--color-brown-light); padding: 1.51875em 1em; color: var(--color-brown); font-weight: bold; text-align: left; vertical-align: middle;}
.table01 tbody tr{border-top: 1px solid #333; border-bottom: 1px solid #333;}
.table01 tbody td{background-color: #f4f4f4; padding: 1.51875em 1em; vertical-align: middle; position: relative;}
.table01 thead tr th:not(:first-of-type)::before,
.table01 tbody tr td::before{content: ""; background-color: #fff; width: 4px; height: 100%; position: absolute; top: 0; left: -2px;}
.table01 tbody tr td:first-child::before{display: none;}
.table01 tbody td .font-small{display: inline-block; font-size: 0.9em;}
.table01 caption{margin-bottom: 1em; caption-side: top; text-align: left; color: var(--color-brown); font-weight: bold; font-size: 1.2em;}

.table-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch;}
.table-scroll .table01,
.table-scroll .table02{min-width:800px; width:100%; border-collapse:collapse;}

.table02{width: 100%; margin: 3em 0; font-size: 0.9em;}
.table02 thead th{background-color: #d8d8d8; padding: 0.45em; text-align: center; font-weight: 400; vertical-align: middle; position: relative;}
.table02 thead th.blank{background-color: transparent;}
.table02 thead th.on{background-color: #ffc800;}
.table02 tbody th{background-color: var(--color-brown-light); padding: 1.51875em 1em; color: var(--color-brown); font-weight: bold; text-align: left; vertical-align: middle;}
.table02 tbody tr{border-top: 1px solid #333; border-bottom: 1px solid #333;}
.table02 tbody td{background-color: #f4f4f4; padding: 1.51875em 1em; vertical-align: middle; position: relative;}
.table02 tbody td.on{background-color: #f4e8bc;}
.table02 thead tr th:not(:first-of-type)::before,
.table02 tbody tr td::before{content: ""; background-color: #fff; width: 4px; height: 100%; position: absolute; top: 0; left: -2px;}
.table02 tbody tr td:first-child::before{display: none;}
.table02 tbody td .font-small{display: inline-block; font-size: 0.9em;}
.table02 caption{margin-bottom: 1em; caption-side: top; text-align: left; color: var(--color-brown); font-weight: bold; font-size: 1.2em;}


/*********** Splide（カルーセル） ************/
.splide{width: 80%; margin: 0 auto; position: relative;}
.splide__slide img{width: 100%;}
.splide__arrow{background: transparent; width: 50px; height: 50px; opacity: 1; display: flex; align-items: center; justify-content: center;}
.splide__arrow::before{content: ""; width: 44px; height: 44px; border-top: 2px solid #333; border-right: 2px solid #333;}
.splide__arrow--prev{left: -60px;}
.splide__arrow--prev::before{transform: rotate(-135deg);}
.splide__arrow--next{right: -60px;}
.splide__arrow--next::before{transform: rotate(45deg);}
.splide__pagination{bottom: -0.25em;}
.splide__pagination__page{width: 1em; height: 1em;}
.splide__pagination__page.is-active{background-color: currentColor;}


/*********** 吹き出し ************/
.balloon-box{width: 100%; display: flex; gap: 50px;}
.balloon-box .img{width: 150px; height: 150px; border: 3px solid var(--color-brown); border-radius: 50%;}
.balloon-box .img img{width: 100%; object-fit: cover; aspect-ratio: 1 ; border-radius: 50%;}
.balloon-box .text{width: calc(100% - 190px); background-color: var(--color-brown-light); border-radius: 5px; padding: 1em; position: relative;}
.balloon-box .text::before{content: ""; width: 0; height: 0; border-style: solid; border-top: 20px solid transparent; border-bottom: 20px solid transparent; border-right: 30px solid var(--color-brown-light); border-left: 0; position: absolute; top: 30px; left: -30px;}
.balloon-box .text p{margin-bottom: 0;}


/*******************************
ヘッダー
********************************/
.header__top{display: flex; justify-content: space-between; align-items: center; padding: 28px 0;}
.header__btns ul{display: flex; justify-content: flex-end; align-content: center; gap: 15px;}
.header__menu__container{background-color: #4D4D4D; border: 1px solid #000; padding: 0;}
.header__menu{width: 100%;max-width: var(--contents-wide);display: flex;justify-content: space-between;margin: 0 auto;}
.header__menu li{flex: 1; text-align: center; position: relative;}
.header__menu li::after,
.header__menu li:first-child::before{content: ""; width: 1px; height: 60%; background-color: #fff; position: absolute; top: 50%;  transform: translateY(-50%);}
.header__menu li::after{right: 0;}
.header__menu li:first-child::before{left: 0;}
.header__menu a{display: inline-block; width: 100%; padding: 1.7em 0 1.5em; color: #fff; font-size: 15px; text-align: center; line-height: 1.3;}
.header__menu a:hover{background-color: #4D4D4D; filter: brightness(1.2);}

/*********** ハンバーガーメニュー ************/
.hamburger{display: none;}

/*******************************
トップページ
********************************/
.home .contents-container h2,
.home .inner h2{margin-bottom: 40px; font-family: var(--font-serif); font-size: 32px; text-align: center; letter-spacing: 0.05em; font-weight: 400;}
.home .contents-container h3,
.home .inner h3{letter-spacing: 0.05em; font-weight: 400;}

.fv{position: relative;}
.fv > img{width: 100%;}
.fv__text{color: #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 1;}
.fv__text .main{font-family: var(--font-serif); font-size: 32px; letter-spacing: 0.1em;}
.fv__text .sub{margin: 1em 0 2em; font-family: var(--font-serif); font-size: 18px; letter-spacing: 0.1em;}
.fv__text .promote-text{max-width: 526px;}
.fv__text .promote-text ul{display: flex; border-left: 1px solid #fff;}
.fv__text .promote-text ul li{width: calc(100% / 3); display: flex; justify-content: center; align-items: center; flex-direction: column; border-right: 1px solid #fff; padding: 0.5em; text-align: center; color: var(--color-yellow); font-weight: 900; font-size: 1.4em; letter-spacing: 0.05em; text-shadow: 2px 2px 5px #333;}
.fv__text .promote-text ul li .add{font-size: 0.6em; line-height: 1; font-weight: 300;}
.fv__text .promote-text ul li .text{font-size: 1.4em; line-height: 1.2}
.fv__text .promote-text ul li .text .font-small{font-size: 0.5em;}
.fv__text .promote-text p{line-height: 1;}
.fv__text .promote-text .att{font-size: 0.6em; color: var(--color-yellow);}
.fv__text .cv{display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 9px; margin-top: 37px; padding-left: 134px;}
.fv__text .cv .font-small{font-family: var(--font-serif);}

.fv-menu-sp{display: none;}

.top-menu{padding: 60px 0 114px;}
.top-menu ul{display: flex; justify-content: space-between; gap: 1.5em 2%; flex-wrap: wrap;}
.top-menu ul li{width: 31%;}
.top-menu ul a.btn{width: 100%; height: auto; padding: 1em 0 0.7em; font-size: 21px; font-family: var(--font-serif); font-weight: 400;}
.top-menu ul a.btn img{margin-bottom: 11px;}
.top-menu .problem-list{margin-bottom: 100px;}
.top-menu .problem-list a.btn{background-color: #D9D9D9; color: #696969 !important;}
.top-menu .problem-list a.btn::after{border-color: #696969;}
.top-menu .menu-list a.btn{background-color: #DED9D2; color: var(--color-brown) !important;}
.top-menu .menu-list a.btn::after{border-color: #5D4037;}
.top-menu .btns{width: 58%; display: flex; justify-content: center; flex-wrap: wrap; gap: 32px 40px; margin: 50px auto 0;}

.top-reason{background-color: #D9D9D9; padding: 92px 0 138px;}
.top-reason .box{width: 87%; background-color: #fff; display: flex; align-items: center; padding: 4% 3%; margin: 0 auto 30px;}
.top-reason .box-left{width: 30%; padding-right: 5%; text-align: center;}
.top-reason .box-left h3{font-size: 21px; font-family: var(--font-serif); line-height: 1.5;}
.top-reason .box-left h3 .point{width: 147px;display: block;background-color: var(--color-yellow);margin: 0 auto 7px;padding: 3px;border-radius: 50px;line-height: 1;color: #fff;font-size: 16px;}
.top-reason .box-right{width: 70%;}

.top-flow{padding: 90px 0;}
.top-flow h2{margin-bottom: 24px;}
.top-flow > p{margin-bottom: 68px; text-align: center;}
.top-flow .box{width: 87%; background-color: var(--color-brown-light); display: flex; align-items: center; margin: 0 auto 72px; position: relative;}
.top-flow .box::after{content: ""; width: 0; height: 0; border-style: solid; border-right: 23px solid transparent; border-left: 23px solid transparent; border-top: 24px solid #8c8279; border-bottom: 0; position: absolute; bottom: -48px; left: 50%; transform: translateX(-50%); z-index: 1;}
.top-flow .box-left{width: 68%; padding: 0 5.5%;}
.top-flow .box-left h3{display: block; background-color: #696969; width: 147px; margin-bottom: 12px; font-size: 21px; font-family: var(--font-serif); line-height: 1.5; color: #fff; text-align: center;}
.top-flow .box-right{width: 32%;}
.top-flow .box.no-arrow{margin-bottom: 0;}
.top-flow .box.no-arrow::after{display: none;}
.top-flow .att{width: 87%; margin: 9px auto 45px; font-size: 11px; color: #747474; text-align: right;}
.top-flow .cv{display: flex; flex-direction: column; align-items: center; gap: 1em; text-align: center;}
.top-flow .cv .font-small{font-family: var(--font-serif);}
.top-flow .cv a.btn{width: 332px;}

.top-news{background-color: #f0f0f0; padding: 65px 0 111px; border: 1px solid #000;}
.news__list{width: 73%; display: flex; justify-content: space-between; gap: 2%; margin: 0 auto;}
.news__list .box{width: 31%; display: flex; flex-direction: column;}
.news__list .box a{transition: opacity 0.3s;}
.news__list .box a:hover{opacity: 0.7;}
.news__list .box .thumbnail{width: 100%; margin-bottom: 11px;}
.news__list .box .thumbnail img{width: 100%; object-fit: cover; aspect-ratio: 25 / 17;}
.news__list .box time{display: block; font-size: 13px; color: #747474;}
.news__list .box .title{color: #333;}
.top-news .cv{margin-top: 60px; text-align: center;}

.top-qa{padding: 88px 0 68px;}
.top-qa h2{margin-bottom: 24px;}
.top-qa > p{margin-bottom: 44px; text-align: center;}
.top-qa .cv{margin-top: 60px; text-align: center;}


/*******************************
フッター
********************************/
.footer-cta{position: relative;}
.footer-cta > img{width: 100%;}
.footer-cta__text{width: 50%; color: #fff; text-align: center; position: absolute; top: 50%; left: 10%; transform: translate(-10%,-50%); z-index: 1;}
.footer-cta__text .main{font-family: var(--font-serif); font-size: 30px; letter-spacing: 0.1em; font-weight: 400;}
.footer-cta__text .sub{margin: 1em 0 2em; font-size: 14px; letter-spacing: 0.1em;}
.footer-cta__text .promote-text{max-width: 460px; margin: 0 auto;}
.footer-cta__text .promote-text ul{display: flex; border-left: 1px solid #fff;}
.footer-cta__text .promote-text ul li{width: calc(100% / 3); display: flex; justify-content: center; align-items: center; border-right: 1px solid #fff; padding: 0.1em; text-align: center; color: var(--color-yellow); font-weight: 900; font-size: 1.1em; letter-spacing: 0.05em; text-shadow: 1px 1px 3px #333;}
.footer-cta__text .promote-text ul li .add{margin-right: 3px; font-size: 0.6em; line-height: 1; font-weight: 300;}
.footer-cta__text .promote-text ul li .text{font-size: 1.4em; line-height: 1.2}
.footer-cta__text .promote-text ul li .text .font-small{font-size: 0.5em;}
.footer-cta__text .promote-text p{line-height: 1; text-align: left;}
.footer-cta__text .promote-text .att{font-size: 0.6em; color: var(--color-yellow);}
.footer-cta__text .btns{margin-top: 38px;}
.footer-cta__text .btns ul{display: flex; justify-content: center; gap: 15px; }
.footer-cta__text .btns a.btn{min-width: 200px; padding: 0 1.25em;}

footer{background-color: #4d4d4d; color: #fff; font-size: 14px;}
.footer__inner{width: 100%; max-width: 1080px; margin: 0 auto; padding: 55px 0 100px; display: flex;}
.footer__logo{width: 31%;}
.footer__menu{width: 23%; padding-right: 1%;}
.footer__menu .title{margin-bottom: 0.5em; font-weight: bold;}
.footer__menu ul li{margin-bottom: 0.5em;}
.footer__menu ul a{padding-left: 1em; color: #fff; position: relative; transition: opacity 0.3s;}
.footer__menu ul a::before{content: ""; width: 0.5em; height: 1px; background-color: #fff; position: absolute; top: 50%; left: 0.25em; transform: translateY(-50%);}
.footer__menu ul a:hover{opacity: 0.7;}
.footer__cp{padding-bottom: 25px; text-align: center; font-family: var(--font-serif);}


/*******************************
スマホフローティングバナー
********************************/
.sp-float{display: none;}


/*******************************
目次
********************************/
.toc{width: 100%; border: 1px solid #333; padding: 20px 36px; margin-bottom: 50px;}
.toc__title{margin-bottom: 5px;}
.toc__title p{margin-bottom: 0 !important;}
.toc ul{margin: 0 !important; font-family: var(--font-serif); letter-spacing: 0.1em; list-style: none !important;}
.toc ul li{padding-left: 1.25em; position: relative;}
.toc ul li::before{content: "";display: inline-block;width: 0.4em;height: 0.4em;border: 0.1em solid var(--color-brown);border-left: 0;border-bottom: 0;vertical-align: middle;line-height: 1;position: absolute;top: 0.6em;left: 0.25em;transform: translateY(-25%) rotate(135deg);}
.toc ul li a{color: #333;}
.toc ul > li{font-weight: bold;}
.toc ul > li li{font-weight: 400;}

/*******************************
固定ページ
********************************/
/*********** ファーストビュー ************/
.page__fv{width: 100%; position: relative;}
.page__fv img{width: 100%; height: 340px; object-fit: cover;}
.page__fv .title{width: 864px; background-color: rgba(255, 255, 255, 0.7); padding: 3.25em 2em; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.page__fv .title h1{text-align: center; font-size: 42px; font-family: var(--font-serif); line-height: 2; letter-spacing: 0.1em; font-weight: 400;}

/*********** パンくずリスト ************/
.page__breadcrumbs{display: flex; gap: 7px; padding: 14px 0 45px; font-size: 14px; color: #747474;}
.page__breadcrumbs a{color: #747474 !important; transition: opacity 0.3s;}
.page__breadcrumbs a:hover{opacity: 0.7;}

/*********** 文章 / リンク / 見出し ************/
.page__contents-container p{margin-bottom: 1.5em; letter-spacing: 0.05em;}
.page__contents-container > ol + p{margin-top: 1.5em;}
.page__contents-container a{color: #0066c0; transition: opacity 0.3s;}
.page__contents-container a:hover{opacity: 0.7;}
.page__contents-container .link-quotation{text-align: right; color: #909090; font-size: 0.8em;}
.page__contents-container .link-quotation a{color: #909090;}
.page__contents-container h2{background-color: #333; padding: 12px 35px; margin: 2.5em 0 1em; color: #fff; font-size: 2em; font-family: var(--font-serif); letter-spacing: 0.1em; line-height: 1.5; font-weight: 400;}
.page__contents-container h3{padding-bottom: 9px; margin: 2.85em 0 0.7em; border-bottom: 1px solid currentcolor; font-size: 1.75em; font-family: var(--font-serif); letter-spacing: 0.1em; line-height: 1.5; font-weight: 400;}
.page__contents-container h4{padding-left: 0.57em; margin: 2.5em 0 1em; border-left: 1px solid currentcolor; font-size: 1.3125em; font-family: var(--font-serif); letter-spacing: 0.1em; line-height: 1.5; font-weight: 400;}
.page__contents-container h2 + h3{margin-top: 0;}
.page__contents-container .underline{background: linear-gradient(transparent 50%, #ffc800 50%);}
.page__contents-container h2 .underline,
.page__contents-container h3 .underline{background: linear-gradient(transparent 70%, #ffc800 70%);}
.page__contents-container ul{margin-left: 1.5em; list-style: disc;}
.page__contents-container ul.check{list-style: none;}
.page__contents-container ul.check li{position: relative;}
.page__contents-container ul.check li::before{content: ""; position: absolute; left: -1.35em; top: 0.4em; width: 1em; height: 0.5em; border-left: 3px solid var(--color-yellow); border-bottom: 3px solid var(--color-yellow); transform: rotate(-45deg);}
.page__contents-container ul + p{margin-top: 1.5em;}
.page__contents-container ol{margin-left: 1.5em; list-style: decimal;}
.page__contents-container ol + p{margin-top: 1.5em;}

/*********** ボタン ************/
.page__btns{margin: 1.5em 0;}
.page__btns ul{display: flex; gap: 2%; text-align: center; list-style: none;}
.page__btns li .micro-copy{display: block; margin-bottom: 5px; font-size: 0.8em; font-weight: bold;}

/*********** ボックス ************/
.page__contents-container .box-bg-gray{background-color: #f5f5f5; padding: 1.7%;}
.page__contents-container .box-bg-gray p{margin-bottom: 0;}

.page__contents-container .box-border{padding: 2em;border: 1px solid #ccc;}

/*********** 画像 ************/
.page__contents-container .img-right{float: right; margin: 0 0 1.5em 1.5em;}
.page__contents-container .img-left{float: left; margin: 0 1.5em 1.5em 0;}
.page__contents-container .w250{max-width: 250px;}
.page__contents-container .w384{max-width: 384px;}
.page__contents-container .w400{max-width: 400px;}
.page__contents-container .img-banner{max-width: 321px; margin: 3em auto 5em; text-align: center;}

/*********** フレックス関連 ************/
.flex__container{display: flex; flex-wrap: wrap; justify-content: center; gap: 33px 4%;}
.flex__box{width: 48%; display: flex; gap: 4%;}
.flex__box .img{width: 180px;}
.flex__box .text{width: calc(96% - 180px);}
.flex__box .text h3{margin: 0 0 7px; padding: 0; color: var(--color-brown); border: none; font-size: 21px;}
.flex__box .text p{margin-bottom: 0;}

.flex__container02{display: flex; flex-wrap: wrap;}
.flex__container02.row2 .box{width: 48%; margin-bottom: 20px;}
.flex__container02.row2 .box:nth-child(2n-1){margin-right: 4%;}
.flex__container02.row3 .box{width: 32%; margin-bottom: 20px;}
.flex__container02.row3 .box:not(:nth-child(3n)){margin-right: 2%;}


/*********** フロー関連 ************/
.flow__container{margin-top: 65px; counter-reset: num 0;}
.flow__container .flow__box{display: flex; flex-wrap: wrap;}
.flow__container .flow__box:not(:last-of-type){border-bottom: 1px dashed #A8A8A8; padding-bottom: 92px; margin-bottom: 40px; position: relative;}
.flow__container .flow__box:not(:last-of-type)::after{content: ""; width: 0; height: 0; border-style: solid; border-right: 16px solid transparent; border-left: 16px solid transparent; border-top: 18px solid #8c8279; border-bottom: 0; position: absolute; bottom: 46px; left: 35%; transform: translateX(-35%); z-index: 1;}
.flow__container .flow__box h3{width: 100%; padding: 0; border-bottom: none; margin: 0 0 1em; counter-increment: num 1; order: 1;}
.flow__container .flow__box h3::before{content: counter(num, decimal); margin-right: 0.5em;}
.flow__container .flow__box > .text{width: calc(100% - 250px); padding-right: 24px; order: 2;}
.flow__container .flow__box > .img{width: 250px; order: 3;}

.flow__container .flow__box .cta{background-color: var(--color-brown-light); padding: 25px;}
.flow__container .flow__box .cta__box{display: flex; align-items: center; gap: 8%;}
.flow__container .flow__box .cta .cta__box:not(:last-of-type){border-bottom: 1px dashed #A8A8A8; padding-bottom: 25px; margin-bottom: 25px;}
.flow__container .flow__box .cta__box .text{width: 66%; position: relative;}
.flow__container .flow__box .cta__box .text::after{content: ""; width: 0; height: 0; border-style: solid; border-top: 7px solid transparent; border-bottom: 7px solid transparent;  border-right: 0; position: absolute; top: 50%; right: -6.5%; transform: translateY(-50%); z-index: 1;}
.flow__container .flow__box .cta__box.green .text::after{border-left: 10px solid #00c156;}
.flow__container .flow__box .cta__box.blue .text::after{border-left: 10px solid #006deb;}
.flow__container .flow__box .cta__box .text p{margin-bottom: 0;}
.flow__container .flow__box .cta__box .link{width: 26%;}
.flow__container .flow__box .cta__box .link a.btn{width: 200px; min-width: 0; padding: 0.25em;}


.flow__container02{}
.flow__container02 .flow__box{border-left: 3px solid #ccc; padding: 25px  0 25px 2em; position: relative; counter-increment: num 1; order: 1;}
.flow__container02 .flow__box::before{content: ""; background-color: var(--color-brown); width: 2em; height: 2em; border-radius: 50px; position: absolute; top: 28px; left: -1em; z-index: 1;}
.flow__container02 .flow__box::after{content: counter(num, decimal); color: #fff; font-family: var(--font-serif); line-height: 1; position: absolute; top: 36px; left: -0.25em; z-index: 2;}
.flow__container02 .flow__box p{margin-bottom: 0;}
.flow__container02 .flow__box .title{margin-bottom: 0.25em; font-family: var(--font-serif); color: var(--color-brown); font-size: 1.4em;}
.flow__container02 .flow__box .text{}

/*********** プロフィール関連 ************/
.profile__container{width: 100%; background-color: #e8dcc8; display: flex; padding: 17px 1.9% 0; margin-bottom: 45px;}
.profile__container .img{width: 250px; padding-right: 5%; margin-right: 5%; position: relative;}
.profile__container .img::after{content: ""; width: 1px; height: 90%; background-color: var(--color-brown); position: absolute; top: 25%; right: 0; transform: translateY(-25%);}
.profile__container .text{width: calc(90% - 250px); padding-top: 9px;}
.profile__container .text p{margin-bottom: 0;}
.profile__container .text .name{margin-bottom: 9px; font-family: var(--font-serif);}
.profile__container .text .name .supervisor{display: block; font-size: 10px; color: var(--color-brown); font-family: initial;}
.profile__container .text .career{margin-bottom: 19px; font-size: 14px; font-family: var(--font-serif);}
.profile__container .text .link a{color: #0000ff; text-decoration: underline; font-size: 13px;}
.profile__container .text .link a:hover{text-decoration: none;}

.profile__container02{width: 100%;}
.profile__container02 .top{width: 100%; background-color: #e8e8e8; display: flex; align-items: center; padding: 1% 5% 0; margin-bottom: 1.5em}
.profile__container02 .top .img{width: 50%;max-width: 150px;}
.profile__container02 .top .text{width: 50%;padding-left: 5%;}
.profile__container02 .top .text h3{margin: 0; padding: 0; border: none; font-size: 1.4em;}
.profile__container02 .bottom{width: 100%; display: flex;}
.profile__container02 .bottom .text{width: 32%;}
.profile__container02 .bottom .text:not(:last-of-type){margin-right: 2%;}
.profile__container02 .bottom .text h3{margin: 0 0 0.5em; padding: 0 0 0.25em; font-size: 1.3em;}
.profile__container02 .bottom .text .link{margin-top: 1.5em; text-align: right;}

/*********** 記事一覧関連 ************/
.post__list{display: flex; flex-wrap: wrap;}
.post__list .box{width: 19.5%; margin: 0 0.5% 3% 0;}
.post__list .box:nth-child(5n){margin-right: 0;}
.post__list .box .thumbnail{width: 100%; margin-bottom: 0.25em;}
.post__list .box .thumbnail img{width: 100%; object-fit: cover; aspect-ratio: 208 / 140;}
.post__list .box .title{color: #333;}

/*********** 参考関連 ************/
.reference-container{background-color: #f4f4f4; padding: 2% 4%; margin: 150px 0;}
.reference-container p{margin-bottom: 0;}
.reference-container .title{border-bottom: 1px solid currentcolor; padding-bottom: 0.5em; margin-bottom: 0.5em; font-size: 1.2em;}
.reference-container ul{margin-left: 0; list-style: none;}

/*******************************
固定ページ__ひざの再生医療
********************************/
.re-medicine__fv{width: 100%; position: relative;}
.re-medicine__fv h1{background-color: #c9cace; text-align: center;}
.re-medicine__fv h1 img{width: 100%; max-width: 1440px; height: 753px; object-fit: cover;}
.re-medicine__fv ul.merit-list{width: 100%; max-width: 1080px; display: flex; justify-content: center; gap: 2.5%; position: absolute; top: 57%; left: 50%; transform: translate(-50%, -57%);}
.re-medicine__fv ul.merit-list li{max-width: 176px; width: 16.3%;}
.re-medicine__fv .cta{background-color: rgba(255, 255, 255, 0.9); width: 100%; max-width: 1080px; display: flex; align-items: center; gap: 4%; padding: 14px 56px 26px; position: absolute; bottom: 4%; left: 50%; transform: translate(-50%, -4%);}
.re-medicine__fv .cta__text{width: 50%; text-align: center; font-size: 14px;}
.re-medicine__fv .cta__text .title{font-size: 30px; font-family: var(--font-serif); line-height: 2; letter-spacing: 0.1em; font-weight: 400;}
.re-medicine__fv .cta__text p{margin-bottom: 0;}
.re-medicine__fv .cta__text .promote{width: 100%; margin-top: 1em;}
.re-medicine__fv .promote-text{max-width: 484px; margin: 15px auto 0; color: var(--color-brown);}
.re-medicine__fv .promote-text ul{display: flex; border-left: 1px solid var(--color-brown);}
.re-medicine__fv .promote-text ul li{width: calc(100% / 3); display: flex; justify-content: center; align-items: center; border-right: 1px solid var(--color-brown); padding: 0 0.1em; text-align: center; font-weight: bold; font-size: 1.35em;}
.re-medicine__fv .promote-text ul li .add{margin-right: 3px; font-size: 0.6em; line-height: 1; font-weight: 400;}
.re-medicine__fv .promote-text ul li .text{font-size: 1.4em; line-height: 1.2}
.re-medicine__fv .promote-text ul li .text .font-small{font-size: 0.5em;}
.re-medicine__fv .promote-text p{line-height: 1; text-align: left;}
.re-medicine__fv .promote-text .att{font-size: 0.6em;}
.re-medicine__fv .cta__link{width: 21%;}
.re-medicine__fv .cta__link ul li:not(:last-of-type){margin-bottom: 0.8em;}
.re-medicine__fv .cta__link a.btn{min-width: 0; width: 100%; padding: 0 1.25em;}
.re-medicine__fv .cta__img{width: 21%; position: relative;}
.re-medicine__fv .cta__img::before{content: ""; background: url(./img/regenerative-medicine/img06.webp) center no-repeat; background-size: contain; width: 372px; height: 302px; position: absolute; right: -135px; bottom: -146px;}

.page__contents-container h2.headeline-border{background-color: transparent; margin-bottom: 1.5em; color: #333; position: relative;}
.page__contents-container h2.headeline-border::before{content: ""; width: 100%; height: 1px; background-color: #333; position: absolute; top: 50%; left: 0; transform: translateY(-50%); z-index: 1;}
.page__contents-container h2.headeline-border .text{display: inline-block; background-color: #fff; width: 60%; padding: 0 1em; text-align: center; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2;}

.re-medicine .flex__box{width: calc(92% / 3); flex-direction: column; gap: 0;}
.re-medicine .flex__box h3{background-color: var(--color-brown); margin: 0; padding: 0.1em 0 0; text-align: center; color: #fff; line-height: 1.7;}
.re-medicine .flex__box .img{width: 61%; max-width: 200px; margin: 1.5em auto; text-align: center;}
.re-medicine .flex__box ul.problem-list{list-style: none;}
.re-medicine .flex__box ul.problem-list li{background-color: var(--color-brown-light); border-radius: 50px; text-align: center; font-weight: bold;}
.re-medicine .flex__box ul.problem-list li:not(:last-of-type){margin-bottom: 0.6em;}

.re-medicine__triangle{margin: 30px 0 0; padding-top: 40px; font-size: 28px; color: var(--color-brown); text-align: center; font-weight: bold; position: relative;}
.re-medicine__triangle::before{content: ""; width: 0; height: 0; border-style: solid; border-right: 16px solid transparent; border-left: 16px solid transparent; border-top: 18px solid #8c8279; border-bottom: 0; position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 1;}

.feature__box{width: 88%; max-width: 940px; background-color: var(--color-brown-light); display: flex; margin: 0 auto 24px;}
.feature__box .text{width: 68%; padding: 4%;}
.feature__box .text h3{padding: 0; margin: 0 0 12px; border: none; font-size: 21px; color: var(--color-brown);}
.feature__box .text h3 .num{background-color: var(--color-yellow); display: inline-block; width: 30px; height: 30px; margin-right: 0.25em; text-align: center; color: #fff;}
.feature__box .text p{margin-bottom: 0;}
.feature__box .img{width: 32%;}
.feature__box .img img{width: 100%; object-fit: cover; aspect-ratio: 30 / 23;}

.re-medicine__cta{width: 100vw; margin: 92px calc(50% - 50vw); position: relative;}
.re-medicine__cta > img{width: 100%; height: 680px; object-fit: cover;}
.re-medicine__cta .text{width: 100%; max-width: 1080px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.re-medicine__cta .text::before{content: ""; background: url(./img/regenerative-medicine/img16.webp) center no-repeat; background-size: contain; width: 247px; height: 247px; position: absolute; left: 50%; bottom: -67px;}
.re-medicine__cta .text .add{display: inline-block; width: auto; background-color: #ffc800; padding: 0.15em 1em 0; border-radius: 50px; text-align: center; font-weight: bold;}
.re-medicine__cta .text .add p{margin-bottom: 0;}
.re-medicine__cta .text h2{background-color: transparent; max-width: 488px; margin: 2px 0 16px; padding: 0; border-bottom: 1px solid currentColor; color: var(--color-brown); font-family: initial; font-weight: bold; letter-spacing: 0;}
.re-medicine__cta .text .cta{background-color: #fff; width: 60%;}
.re-medicine__cta .text .cta p{margin-bottom: 0;}
.re-medicine__cta .text .cta__micro-copy{background-color: var(--color-brown); padding: 0.25em 1em ; color: #fff; font-weight: bold; font-size: 18px; text-align: center;}
.re-medicine__cta .cta__link{padding: 6% 4%; text-align: center;}
.re-medicine__cta .cta__link a.btn{padding-right: 3em; padding-left: 4em; position: relative;}
.re-medicine__cta .cta__link a.btn.blue .appointment{background-color: #fff; width: 41px; height: 41px; display: flex; justify-content: center; align-items: center; border-radius: 50%; color: #006deb; font-size: 11px; font-weight: 400; line-height: 1; position: absolute; left: 1em;}

.options-box{display: flex; gap: 2%; margin-bottom: 33px;}
.options-box .img{width: 24%; max-width: 250px;}
.options-box .text{width: 74%;}
.options-box .text h4{padding-left: 0; border-left: 0; margin: 0 0 0.32em; font-size: 1.75em; color: var(--color-brown); letter-spacing: 0.05em;}
.link-right{text-align: right;}

/*******************************
固定ページ__ひざの痛みについて
********************************/
.symptom__box{display: flex; flex-direction: row-reverse; gap: 2%;}
.symptom__box .img{width: 38%; max-width: 400%;}
.symptom__box .text{width: 60%;}
.symptom__box + h3{margin-top: 1.5em;}

/*******************************
固定ページ__半月板損傷
********************************/
.options-link{background-color: var(--color-brown-light); width: 80%; display: flex; align-items: center; margin: 0 auto 50px; border-radius: 5px; position: relative; transition: opacity 0.3s;}
.options-link .img{width: 24%; max-width: 200px; border-radius: 5px 0 0 5px;}
.options-link .img img{width: 100%;height: 100%;object-fit: cover;aspect-ratio: 1; border-radius: 5px 0 0 5px;}
.options-link .text{width: 76%; padding: 2% 5%;}
.options-link .text h4{margin: 0 0 10px; padding: 0; border: none;}
.options-link .text p{margin-bottom: 10px;}
.options-link a{position: absolute; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1;}
.options-link:hover{opacity: 0.7;}


/*******************************
固定ページ__診療内容
********************************/
.contents__fv{width: 100%; position: relative;}
.contents__fv h1 img{width: 100%; height: 52.29vw; object-fit: cover;}
.contents__fv ul.merit-list{width: 100%; max-width: 1080px; display: flex; justify-content: center; gap: 2.5%; position: absolute; top: 40%; left: 50%; transform: translate(-50%, -57%);}
.contents__fv ul.merit-list li{max-width: 176px; width: 16.3%;}
.contents__fv .cta{background-color: rgba(255, 255, 255, 0.9); width: 100%; max-width: 1080px; display: flex; align-items: center; gap: 4%; padding: 2% 4% 3%; position: absolute; bottom: 4%; left: 50%; transform: translate(-50%, -4%);}
.contents__fv .cta__text{width: 81%; font-size: 14px;}
.contents__fv .cta__text .title{margin-bottom: 1em; font-size: 24px; font-family: var(--font-serif); line-height: 2; letter-spacing: 0.1em; font-weight: 400;}
.contents__fv .cta__text p{margin-bottom: 0;}

.contents__fv .cta__box{display: flex; align-items: center; gap: 4%;}
.contents__fv .cta .cta__box:not(:last-of-type){border-bottom: 1px dashed #A8A8A8; padding-bottom: 12px; margin-bottom: 12px;}
.contents__fv .cta__box .text{width: 66%; position: relative;}
.contents__fv .cta__box .text::after{content: ""; width: 0; height: 0; border-style: solid; border-top: 7px solid transparent; border-bottom: 7px solid transparent;  border-right: 0; position: absolute; top: 50%; right: -3.5%; transform: translateY(-50%); z-index: 1;}
.contents__fv .cta__box.green .text::after{border-left: 10px solid #00c156;}
.contents__fv .cta__box.blue .text::after{border-left: 10px solid #006deb;}
.contents__fv .cta__box .text p{margin-bottom: 0;}
.contents__fv .cta__box .link{width: 26%;}
.contents__fv .cta__box .link a.btn{width: 200px; min-width: 0; padding: 0.25em;}

.contents__fv .cta__img{width: 19%; position: relative;}
.contents__fv .cta__img::before{content: ""; background: url(./img/regenerative-medicine/img06.webp) center no-repeat; background-size: contain; width: 372px; height: 302px; position: absolute; right: -135px; bottom: -164px;}

.page__contents-container h2.headeline-border.contents{margin-bottom: 2.5em;}

.feature__box.contents h3 .num{width: auto; padding: 0 0.25em;}


/*******************************
固定ページ__PRP
********************************/
.feature__box .text h3 .num.point{display: inline-flex; flex-direction: column; width: auto; height:auto; padding: 0.5em; margin-top: -0.25em; line-height: 1; vertical-align: middle;}
.feature__box .text h3 .num.point .point-text{margin-bottom: 2px; font-size: 0.4em; position: relative;}

.flow__box.has-box{display: block;}
.flow__box.has-box .flow__box{border: none; padding: 0; margin: 30px 0 0;}
.flow__box.has-box .flow__box::after{display: none;}
.flow__box.has-box .flow__box h4{width: 100%; padding: 0; margin: 0 0 12px; border: none; font-size: 21px; color: var(--color-brown);}


/*******************************
固定ページ__APS
********************************/
.cta-block{width: 100%; background-color: #fff9f4; border: 2px solid var(--color-yellow); margin: 50px 0; display: flex;}
.cta-block .text{width: 70%; padding: 30px;}
.cta-block .text .title{font-size: 1.4em; font-family: var(--font-serif); font-weight: 500;}
.cta-block .text .link{text-align: center;}
.cta-block .text .link + p{margin-top: 2em;}
.cta-block .img{width: 30%; position: relative;}
.cta-block .img img{width: 100%; position: absolute; right: -4px; bottom: 0;}


/*******************************
固定ページ__MRI
********************************/
.case-block{margin-bottom: 50px;}
.case-block__inner{display: flex;}
.case-block__inner .img{width: 38%;}
.case-block__inner .text{width: 62%; padding-left: 1%;}
.case-block__inner .text dl{display: flex; flex-wrap: wrap;}
.case-block__inner .text dl dt{width: 30%; min-width: 130px; background-color: #ffedd8; padding: 0.5em; margin: 0.15em 0; font-weight: bold; color: var(--color-brown);}
.case-block__inner .text dl dd{width: 70%; padding: 0.5em 0 0.5em 0.5em; margin: 0.15em 0;}


/*******************************
固定ページ__無料カウンセリング
********************************/
.symptom__box.free-counseling{background-color: #a77f48; margin-bottom: 50px;}
.symptom__box.free-counseling .text{padding: 2em; color: #fff;}
.symptom__box.free-counseling .text .main{font-size: 1.6em;font-weight: 500;font-family: var(--font-serif);}

.page__contents-container .box-border.free-counseling ul li{font-size: 1.1em;}
.page__contents-container .box-border.free-counseling ul li:not(:last-of-type){margin-bottom: 1em;}

.free-counseling__flex{display: flex; justify-content: center; background-color: #f1e7dd; padding: 4% 2%;}
.free-counseling__flex .box{width: 25%; padding: 0 2%; text-align: center; color: var(--color-brown);}
.free-counseling__flex .box:not(:last-of-type){border-right: 1px solid var(--color-brown);}
.free-counseling__flex .box p{margin-bottom: 0;}
.free-counseling__flex .box img{width: 50%; filter: brightness(0) saturate(100%) invert(25%) sepia(41%) saturate(370%) hue-rotate(329deg) brightness(96%) contrast(95%);}
.free-counseling__flex .box .text{display: block; width: 100%; margin-top: 0.5em; line-height: 1.3; font-size: 0.8em;}


/*******************************
固定ページ__クリニック紹介
********************************/
.clinic__link{display: flex; flex-wrap: wrap; gap: 2%;}
.clinic__link .box{background-color: #fff; width: 49%; display: flex; border: 1px solid #ccc; margin-bottom: 30px; position: relative; transition: opacity 0.3s; cursor: pointer;}
.clinic__link .box .img{width: 40%;}
.clinic__link .box .img img{width: 100%; height: 100%; object-fit: cover;}
.clinic__link .box .text{width: 60%;}
.clinic__link .box .text p{margin-bottom: 0;}
.clinic__link .box .info{background-color: #333;display: flex;align-items: center;padding: 0.25em 0.75em;color: #fff;text-align: center;font-weight: bold;}
.clinic__link .box .info .prefecture{width: 30%; border-right: 1px solid #fff; font-size: 0.8em; color: #ececec;}
.clinic__link .box .info .hospital{width: 70%;}
.clinic__link .box .logo{padding: 1em 1em 0.75em; text-align: left;}
.clinic__link .box .logo img{width: 90%;}
.clinic__link .box .logo .name{margin-right: 0.5em;font-size: 1.4em; font-family: var(--font-serif);}
.clinic__link .box .logo .en{display: block; color: var(--color-brown); font-size: 0.9em;}
.clinic__link .box .logo .address{display: block; margin-top: 0.5em; font-size: 0.9em; color: #5d5d5d;}
.clinic__link .box .text ul{margin-left: 1em; font-size: 0.9em; color: #5d5d5d; list-style: none; position: relative;}
.clinic__link .box .text ul li{padding-left: 1.25em; position: relative;}
.clinic__link .box .text ul li::before{content: ""; width: 0.8em; height: 0.8em; background-color: var(--color-yellow); border-radius: 50px; position: absolute; top: 0.35em; left: 0;}
.page__contents-container .clinic__link .box .text ul + p{margin-top: 0;}
.clinic__link .box .link{padding: 0 1em 1em; text-align: right; font-size: 0.9em;}
.clinic__link .box:hover{opacity: 0.7;}
.clinic__link .box .a{content: ""; width: 100%; height: 100%; margin-bottom: 0; position: absolute; top: 0; left: 0;}
.clinic__link .box .a a{display: block; width: 100%; height: 100%;}

.clinic__promote{margin: 50px 0;}
.clinic__promote ul{display: flex; justify-content: center; gap: 2%; margin-left: 0; list-style: none;}
.clinic__promote ul li{width: 32%; background-color: var(--color-yellow); padding: 0.25em 1em; color: #fff; text-align: center; font-weight: bold; font-size: 1.3em;}

.clinic__btn{text-align: center;}

.clinic__doctor{display: flex; flex-wrap: wrap; gap: 2%;}
.clinic__doctor .box{background-color: #ededed; width: 49%; padding: 2%; display: flex; position: relative; transition: opacity 0.3s; cursor: pointer;}
.clinic__doctor .box .img{width: 25%;}
.clinic__doctor .box .text{width: 75%; padding-left: 2%;}
.clinic__doctor .box:not(:has(.img)) .text{width: 100%;}
.clinic__doctor .box .text p{margin-bottom: 0;}
.clinic__doctor .box .text .name{margin-right: 1em; font-size: 1.4em;}
.clinic__doctor .box .text .en{display: block; color: var(--color-brown); font-size: 0.9em;}
.clinic__doctor .box .text .link{margin-top: 0.5em; text-align: right;}
.clinic__doctor .box .a{content: ""; width: 100%; height: 100%; margin-bottom: 0; position: absolute; top: 0; left: 0;}
.clinic__doctor .box .a a{display: block; width: 100%; height: 100%;}
.clinic__doctor .box:hover{opacity: 0.7;}
.clinic__doctor .box:nth-child(n + 3){margin-top: 30px;}

.clinic__info{display: flex;}
.clinic__info .map{width: 60%;}
.clinic__info .map iframe{width: 100%; height: auto; object-fit: cover; aspect-ratio: 1 / 0.7;}
.clinic__info .access{width: 40%; padding-left: 2%;}
.clinic__info .access dt{padding-left: 1.25em; color: var(--color-brown); font-weight: bold; font-size: 1.2em; position: relative;}
.clinic__info .access dt:before{content: ""; width: 1em; height: 1em; background-color: var(--color-brown); border-radius: 100px; position: absolute; top: 0.25em; left: 0;}
.clinic__info .access dt:after{content: "：";}
.clinic__info .access dd{margin-bottom: 2em;}


/*******************************
固定ページ__ドクター紹介
********************************/
.doctor__profile{display: flex; flex-direction: row-reverse; margin-bottom: 50px;}
.doctor__profile .img{width: 50%; padding-left: 2%;}
.doctor__profile .text{width: 50%; padding-right: 2%;}
.doctor__profile .text  .info{background-color: #f2f2f2; display: flex; align-items: center; padding: 0.25em 0.75em; margin-bottom: 0; text-align: center; color: #343030; font-size: 0.8em; font-family: var(--font-serif);}
.doctor__profile .text  .info .prefecture{width: 25%; border-right: 1px solid #b4b4b4;}
.doctor__profile .text  .info .hospital{width: 75%;}
.doctor__profile .text  .logo{padding: 1.5em 1em 0em; text-align: left;}
.doctor__profile .text  .logo .name{margin-right: 0.5em; font-size: 1.8em; font-family: var(--font-serif);}
.doctor__profile .text  .logo .en{display: block; color: var(--color-brown); font-size: 0.9em;}
.doctor__profile .text .message{font-size: 0.9em;}
.doctor__profile .text .list-box{background-color: #f2f2f2; padding: 1em; margin-top: 2.25em;}
.doctor__profile .text ul{margin-left: 1em; color: #5d5d5d; list-style: none; position: relative;}
.doctor__profile .text ul li{padding-left: 1.25em; position: relative;}
.doctor__profile .text ul li::before{content: ""; width: 0.8em; height: 0.8em; background-color: var(--color-yellow); border-radius: 50px; position: absolute; top: 0.35em; left: 0;}

.doctor__career{width: 100%; background-color: var(--color-brown-light); display: flex; margin-top: 50px; padding: 2em; font-size: 0.9em;}
.doctor__career .text{width: 32%;}
.doctor__career .text:not(:last-of-type){margin-right: 2%;}
.doctor__career .text h3{margin: 0 0 1em; padding: 0 0 0.25em; font-size: 1.3em;}
.doctor__career .text .link{margin-top: 1.5em; text-align: right;}

/*******************************
固定ページ__治療費・料金
********************************/
.price__box{background-color: var(--color-brown-light); display: flex; align-items: center; padding: 2%; margin-bottom: 25px;}
.price__box p{margin-bottom: 0;}
.price__box .item{width: 25%; font-size: 1.4em; text-align: center;}
.price__box .item .name{font-family: var(--font-serif); position: relative;}
.price__box .item .name::before,
.price__box .item .name::after{content: ""; width: 20px; height: 1px; background-color: currentcolor; position: absolute; top: 50%; transform: translateY(-50%);}
.price__box .item .name::before{left: -30px;}
.price__box .item .name::after{right: -30px;}
.price__box .text{width: 45%; text-align: center;}
.price__box .text p{display: inline-block; text-align: left;}
.price__box .text p:not(:last-child){margin-bottom: 1.5em;}
.price__box .text .num{margin-right: 0.1em; font-size: 2em; line-height: 1.3; font-weight: bold; position: relative; bottom: -1px;}
.price__box .text .name{display: inline-block; background-color: var(--color-brown); padding: 0.05em 0.5em; margin-bottom: 2px; color: #fff; font-family: var(--font-serif); font-size: 0.8em;}
.price__box .link{width: 25%;}
.price__box.csct .text .num{font-size: 1.5em;}

.price__mri-main{font-size: 1.6em; font-family: var(--font-serif); color: var(--color-brown);}
.price__mri-main p{margin-bottom: 0.5em;}
.price__mri-box{display: flex;}
.price__mri-box .text{width: 60%; padding-right: 1%}
.price__mri-box .text ul{display: flex; flex-wrap: wrap; margin-left: 0; list-style: none;}
.price__mri-box .text ul li{width: 49%; background-color: var(--color-yellow); padding: 0.25em; border-radius: 50px; margin-bottom: 0.5em; text-align: center; color: #fff; font-weight: bold;}
.price__mri-box .text ul li:nth-child(2n-1){margin-right: 2%;}
.price__mri-box .text .link{text-align: center;}
.price__mri-box .text .mri-price{background-color: #f2f2f2; display: flex; align-items: center; padding: 2%; margin-top: 50px;}
.price__mri-box .text .mri-price p{margin-bottom: 0;}
.price__mri-box .text .mri-price .item{width: 40%;  text-align: center;}
.price__mri-box .text .mri-price .item .name{font-family: var(--font-serif); position: relative;}
.price__mri-box .text .mri-price .item .name::before,
.price__mri-box .text .mri-price .item .name::after{content: ""; width: 20px; height: 1px; background-color: currentcolor; position: absolute; top: 50%; transform: translateY(-50%);}
.price__mri-box .text .mri-price .item .name::before{left: -30px;}
.price__mri-box .text .mri-price .item .name::after{right: -30px;}
.price__mri-box .text .mri-price .text{width: 60%; text-align: center;}
.price__mri-box .text .mri-price .text p{display: inline-block; text-align: left;}
.price__mri-box .text .mri-price .text p:not(:last-child){margin-bottom: 1.5em;}
.price__mri-box .text .mri-price .text .num{margin-right: 0.1em; font-size: 1.4em; line-height: 1.3; font-weight: bold; position: relative; bottom: -1px;}
.price__mri-box .text .mri-price .text .name{display: inline-block; background-color: var(--color-brown); padding: 0.05em 0.5em; margin-bottom: 2px; color: #fff; font-family: var(--font-serif); font-size: 0.8em;}
.price__mri-box .img{width: 40%;}


/*******************************
個別投稿
********************************/
.single__columns{display: flex; gap: 5%;}
.single__columns .main-contents{width: 70%;}
.single__columns .side-contents{width: 25%;}

.single__fv .title{display: flex; flex-wrap: wrap;}
.single__fv .title .post-category{width: 75%;}
.single__fv .title .post-category a{background-color: var(--color-brown); padding: 0.25em 1em; color: #fff; font-size: 0.9em; white-space: nowrap; transition: 0.3s;}
.single__fv .title .post-category a:hover{background-color: var(--color-brown-light); color: currentcolor;}
.single__fv .title .post-date{width: 25%; text-align: right;}
.single__fv .title h1{width: 100%;}
.single__fv .thum{width: 80%; margin: 5px auto 15px;}

.single .page__contents-container h3{margin-top: 2em;}
.page__contents-container h2.post-headline{padding: 0.5em 0.75em 0.45em; font-family: inherit; font-weight: bold; letter-spacing: 0;}
.page__contents-container h3.post-headline{padding: 0 0 0.25em; margin-top: 1.45em; border-bottom: 3px solid #ddd;  font-family: inherit; font-weight: bold; letter-spacing: 0; position: relative;}
.page__contents-container h3.post-headline::before{content: ""; display: block; width: 30%; height: 3px; background-color: currentColor; position: absolute; bottom: -3px; left: 0;}
.page__contents-container h4.post-headline{padding: 0.15em 0.5em 0.05em; border-left: solid 5px currentcolor; font-family: inherit; font-weight: bold; letter-spacing: 0;}

.column-point{width: 100%;background-color: #fff6eb;margin: 3em 0;padding-bottom: 0.5em;}
.column-point .title{width: 100%; background-color: var(--color-brown); padding: 0.25em 1em 0.25em 2.5em; margin-bottom: 0.25em; color: #fff; font-family: var(--font-serif); font-size: 1.2em; position: relative;}
.column-point .title::before{content: ''; display: block; position: absolute; top: 0.75em; left: 1.4em; width: 0.8em; height: 0.4em; border-left: 2px solid var(--color-yellow); border-bottom: 2px solid var(--color-yellow); transform: rotate(-45deg);}
.column-point .title p{margin-bottom: 0;}
.column-point ol{padding: 1em 1em 1em 0; list-style: none; counter-reset: number;}
.column-point ol li{padding-left: 1.2em; position: relative;}
.column-point ol li::before{background-color: var(--color-yellow); counter-increment: number; content: counter(number); position: absolute; top: 6px; left: 0; width: 1.2em; height: 1.2em; border-radius: 50%; color: #fff; font-size: 0.8em; text-align: center; line-height: 1.2;}

.single .reference-container{margin: 2em 0;}

.post-cta{width: 100%; margin: 50px 0; text-align: center;}
.post-cta p{margin-bottom: 0;}
.post-cta .title{background-color: #333; padding: 0.5em; color: #fff; font-weight: bold; text-align: center; font-size: 1.4em;}
.post-cta .text{background-color: var(--color-brown-light); padding: 1.5em 2em 2em;}
.post-cta .text ul{display: flex; justify-content: center; gap: 4%; margin: 1em 0 0 0; list-style: none;}
.post-cta .text ul li{width: 48%; font-weight: bold;}
.post-cta .text ul li a.btn{width: 100%; min-width: 0;}


/*******************************
個別投稿__サイドバー
********************************/
.sidebar-widget h2{margin: 0 0 1em; padding: 0.75em 1em; font-size: 1.1em;}
.side-contents .sidebar-widget:not(:first-child) h2{margin-top: 2em;}

.sidebar-widget .wp-block-search__input{padding: 0.5em 1em; font-size: 0.9em; line-height: 1.5;}
.sidebar-widget .wp-block-search__button{padding: 0.5em 1em;}

.sidebar-widget .wp-block-categories-list,
.sidebar-widget .wp-block-categories-list ul.children{margin-left: 0; list-style: none;}
.sidebar-widget .wp-block-categories-list li a{background-color: #fff; display: block; padding: 0.75em 1em 0.75em 2.5em; border: 1px solid #d9d9d9; color: currentcolor; font-size: 0.9em; position: relative; transition: 0.3s;}
.sidebar-widget .wp-block-categories-list li:nth-child(n+2) a{border-top: 0;}
.sidebar-widget .wp-block-categories-list li a::before{content: "";width: 0.4em;height: 0.4em;border-top: 1px solid currentColor;border-right: 1px solid currentColor;position: absolute;top: 50%;left: 1em;transform: translateY(-50%) rotate(45deg);}
.sidebar-widget .wp-block-categories-list li a:hover{background-color: var(--color-brown); color: #fff; opacity: 1;}
.sidebar-widget .wp-block-categories-list ul.children li a{padding-left: 3.5em;}
.sidebar-widget .wp-block-categories-list ul.children li a::before{left: 2em;}

.sidebar-widget .wpp-list{margin: 0; list-style: none; counter-reset: number;}
.sidebar-widget .wpp-list li{display: flex;}
.sidebar-widget .wpp-list li:nth-child(n+2){margin-top: 1em; padding-top: 1em; border-top: 1px solid #d9d9d9;}
.sidebar-widget .wpp-list li a{width: 100px;}
.sidebar-widget .wpp-list li a img{width: 100%;}
.sidebar-widget .wpp-list li a:first-child{counter-increment: number; position: relative;}
.sidebar-widget .wpp-list li a:first-child::after{content: counter(number); display: inline-block; width: 2em; height: 2em; background-color: var(--color-yellow); color: #fff; font-size: 0.8em; line-height: 2.1em; text-align: center; position: absolute; top: 0; left: 0;}
.sidebar-widget .wpp-list li a.wpp-post-title{width: calc(100% - 100px); padding-left: 10px; line-height: 1.5; color: currentColor;}


/*******************************
アーカイブページ
********************************/
.archive__title{margin-bottom: 1em;}
.archive__box{width: 100%; padding-bottom: 2em; margin-bottom: 2em; border-bottom: 1px solid #d9d9d9;}
.archive__list .archive__box:last-of-type{margin-bottom: 0; border-bottom: none;}
.archive__box a{display: flex; color: currentColor;}
.archive__box .post-thumb{width: 25%;}
.archive__box .post-thumb img{width: 100%; object-fit: cover; aspect-ratio: 1;}
.archive__box .post-content{width: 75%; padding: 0 0 0 1em;}
.archive__box .post-date{display: block; text-align: right; font-size: 0.9em; color: #6a6a6a;}
.archive__box h2{background-color: transparent; padding: 0; margin: 0; color: currentColor; font-size: 1.6em;}
.archive__box p{margin-bottom: 0;}

.archive__pagination{margin-top: 60px;}
.archive__pagination .nav-links{display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap;}
.archive__pagination .page-numbers{display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; border: 1px solid #dcdcdc; background: #fff; color: #333; font-size: 16px; font-weight: 500; text-decoration: none; transition: .3s;}
.archive__pagination a.page-numbers:hover{background: #333; border-color: #333; color: #fff; opacity: 1;}
.archive__pagination .current{background: #333; border-color: #333; color: #fff; pointer-events: none;}
.archive__pagination .dots{border: none; background: transparent; width: auto; height: auto; padding: 0 6px;}


/*******************************
レスポンシブ
********************************/
@media screen and (max-width: 1240px) {
	.contents-container,
	.page__contents-container,
	.inner,
	.header__menu,
	.footer__inner{width: 90%;}

	.header__menu a{padding-right: 5px; padding-left: 5px;}
	
	.fv > img{height: 600px; object-fit: cover;}
	.top-menu .btns{width: 70%; gap: 32px 5%;}
	.top-menu .btns a.btn{width: 45%;}
	
	.footer-cta > img{height: 400px; object-fit: cover;}
	.footer-cta__text{width: 60%;}
	
	.flow__container .flow__box .cta__box .link a.btn{width: 100%; font-size: 0.9em;}
	
	.re-medicine__fv h1 img{height: 60.726vw;}
	.re-medicine__fv ul.merit-list{width: 90%;}
	.re-medicine__fv .cta{width: 90%; padding: 1.129vw 4.516vw 2.097vw;}
	.re-medicine__fv .cta__text{font-size: 1.129vw;}
	.re-medicine__fv .cta__text .title{font-size: 2.419vw;}
	.re-medicine__fv .cta__link ul li:not(:last-of-type){margin-bottom: 1.032vw;}
	.re-medicine__fv .cta__link a.btn{font-size: 1.29vw;}
	.re-medicine__fv .cta__img::before{width: 30vw; height: 24.355vw; right: -10.887vw; bottom: -11.774vw;}
	
	.re-medicine__cta .text{width: 90%;}
	
	.contents__fv{overflow: hidden;}
	.contents__fv h1 img{height: 69.3359375vw;}
	.contents__fv .cta{width: 90%;}
	.contents__fv .cta__text{width: 90%; font-size: 1.3671875vw;}
	.contents__fv .cta__text .title{font-size: 2.34375vw;}
	.contents__fv .cta__box .link a.btn{width: 19.53125vw; height: auto; padding: 0.75em 1em;}
	.contents__fv .cta__img{width: 6%;}
	.contents__fv .cta__img::before{width: 26.5625vw; height: 19.7265625vw; right: -14.16015625vw; bottom: -15.234375vw;}
}

@media screen and (max-width: 1024px) {
	.header__btns ul{font-size: 0.9em;}
	.header__menu a{font-size: 0.8em;}

	.top-menu ul a.btn{min-width: 0; font-size: 18px;}
	
	.flow__container .flow__box .cta__box{flex-direction: column; gap: 2.5em 0;}
	.flow__container .flow__box .cta__box .text{width: 100%;}
	.flow__container .flow__box .cta__box .text::after{top: auto; right: auto; bottom: -1.5em; left: 50%; transform: translate(-50%, 0) rotate(90deg);}
	.flow__container .flow__box .cta__box .link{width: 100%; max-width: 200px;}
	
	.re-medicine .flex__box ul.problem-list li{padding: 0.25em 1em; line-height: 1.3;}
	
	.price__box{gap: 2%;}
	.price__box .item{width: 250px;}
	.price__box .text{width: calc(76% - 250px);}
	.price__box .link{width: 20%;}
	.price__box .link a.btn{width: 100%; min-width: 0; height: auto; padding: 1em 1.2em;}
	.price__mri-box .text ul li{padding: 0.25em 1em;}
}
@media screen and (max-width: 896px), screen and (min-width: 1024px) and (pointer: coarse){
	.pc{display: none;}
	.sp{display: block;}
	
	.header{width: 100%; height: 85px; background-color: #fff; position: fixed; top: 0; left: 0; z-index: 999;}
	.header__top {padding: 15px 0;}

	.header__menu{width: 100%;}
	.header__menu__container{background-color: transparent; border: none;}
	.hamburger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 6px;
		width: 40px;
		height: 40px;
		padding: 0;
		background: none;
		border: none;
		cursor: pointer;
		position: fixed;
		top: 25px;
		right: 2.5vw;
		z-index: 1002;
	}

	.hamburger span {
		display: block;
		width: 28px;
		height: 2px;
		background: #333;
		transition: 0.3s;
	}

	.hamburger.is-active span:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	.hamburger.is-active span:nth-child(2) {
		opacity: 0;
	}

	.hamburger.is-active span:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
	}

	.header__drawer {
		position: fixed;
		top: 0;
		right: 0;
		width: 80%;
		max-width: 100%;
		height: 100vh;
		padding: 120px 24px 24px;
		background: #fff;
		transform: translateX(100%);
		transition: transform 0.3s ease;
		z-index: 1001;
		overflow-y: auto;
	}

	.header__drawer.is-active {
		transform: translateX(0);
	}
	
	.header__drawer__logo{position: absolute; top: 25px; left: 24px;}

	.header__menu {flex-direction: column; font-weight: 500;}
	.header__menu li::after,
	.header__menu li:first-child::before{display: none;}
	.header__menu a{padding: 1.5em 1em 1.5em 3em; border-bottom: 1px solid #bbb; color: currentColor; font-size: 1em; text-align: left;}
	.header__menu a::before{content: ""; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; position: absolute; top: 50%; left: 1.5em; transform: translateY(-50%) rotate(45deg);}
	.header__menu li:first-child a{border-top: 1px solid #bbb;}

	.header__btns{width: 100%; margin-top: 32px;}
	.header__btns ul{display: flex; gap: 4%; text-align: center; font-size: 1em;}
	.header__btns ul li{width: 48%; margin: 0 auto 30px;}
	.header__btns ul li a.btn{width: 100%; padding: 2.25em 1em;}
	
	body.is-menu-open{position: relative;}
	body.is-menu-open::before{content: ""; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); position: absolute; top: 0; left: 0; z-index: 1000;}
	
	.contents-wrapper{padding-top: 85px;}
}
@media screen and (max-width: 896px) {	
	.br-tab{display: inline;}
	
	.top-menu .btns{width: 100%;}
	.top-menu .btns a.btn{width: 47.5%; min-width: 0;}
	.top-reason .box-left h3 br{display: none;}
	.top-flow .box-left{padding: 5% 2% 5% 5%;}
	.top-flow .box-right{padding-right: 5%;}
	.news__list{width: 100%;}
	.qa-box{width: 100%;}
	
	.footer-cta__text{width: 70%;}
	.footer__inner{flex-wrap: wrap; gap: 35px 4%; padding: 50px 0;}
	.footer__logo{width: 48%;}
	.footer__menu{width: 48%;}
	
	.page__fv .title{width: 90%;}
	
	.flex__box{flex-direction: column; align-items: center;}
	.flex__box .text{width: 100%;}
	
	.page__btns{width: 100%;}
	.page__btns ul{margin-left: 0; justify-content: center;}
	.page__btns ul li{width: 49%;}
	.page__btns ul li a.btn{width: 100%; min-width: 0;}
	
	.options-link{width: 100%; margin-bottom: 25px;}
	
	.feature__box{width: 100%;}
	.feature__box .img img{height: 100%;}
	
	.re-medicine__fv h1 img{height: 680px;}
	.re-medicine__fv ul.merit-list{width: 90%; max-width: 100%; top: 53%;}
	.re-medicine__fv ul.merit-list li{width: calc(100% / 3); max-width: 130px;}
	.re-medicine__fv .cta{flex-wrap: wrap; bottom: 2%;}
	.re-medicine__fv .cta__text{width: 100%; font-size: 1em;}
	.re-medicine__fv .cta__text .title{font-size: 1.4em;}
	.re-medicine__fv .cta__link{width: 100%; margin-top: 10px;}
	.re-medicine__fv .cta__link ul{display: flex; gap: 2%;}
	.re-medicine__fv .cta__link ul li{width: 49%;}
	.re-medicine__fv .cta__link a.btn{height: auto; padding: 0.5em 1em; font-size: 1em;}
	.re-medicine__fv .cta__img{width: 100%;}
	.re-medicine__fv .cta__img::before{width: 20%; bottom: -11vw;}
	
	.page__contents-container h2.headeline-border .text{width: 80%;}
	.re-medicine .flex__box h3{width: 100%; font-size: 1.3em;}
	.re-medicine .flex__box .img{margin: 1em auto;}
	.re-medicine .flex__box ul.problem-list{margin-left: 0;}

	.re-medicine__cta .text::before{width: 50%; height: 45%;}
	
	.price__box{flex-wrap: wrap; gap: 0; justify-content: center; padding: 5%;}
	.price__box .text{width: 100%; margin: 15px 0 25px;}
	.price__box .link{width: 100%; text-align: center;}
	.price__box .link a.btn{display: inline-block; max-width: 400px;}
	.price__mri-box{flex-direction: column-reverse;}
	.price__mri-box .text{width: 100%; padding-right: 0;}
	.price__mri-box .img{width: 100%; margin-bottom: 15px;}
	
	.contents__fv h1 img{height: 680px;}
	.contents__fv ul.merit-list{top: 37%;}
	.contents__fv .cta{flex-wrap: wrap; gap: 0;}
	.contents__fv .cta__text{width: 100%; font-size: 14px;}
	.contents__fv .cta__text .title{font-size: 1.4em;}
	.contents__fv .cta__box .link{width: 30%;}
	.contents__fv .cta__box .link a.btn{width: 100%;}
	.contents__fv .cta__img{width: 100%;}
	.contents__fv .cta__img::before{width: 150px; height: 150px; bottom: -80px; right: -80px;}
	
	.case-block__inner .text dl dt{width: 100%;}
	.case-block__inner .text dl dd{width: 100%;}
	
	.single__columns{flex-direction: column;}
	.single__columns .main-contents{width: 100%;}
	.single__columns .side-contents{width: 100%; margin-top: 60px;}
	.wp-block-search__label{width: 90%;}
}
@media screen and (max-width: 600px) {
	.pc600{display: none;}
	.sp600{display: block;}
	
	.page__contents-container .box-bg-gray,
	.bg-brown-light,
	.bg-red-light{padding: 5%;}
	
	.footer-cta{position: relative;}
	.footer-cta::after{content: ""; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5); position: absolute; top: 0; left: 0;}
	.footer-cta > img{height: 350px; object-position: 70% 50%;}
	.footer-cta__text{width: 86%; left: 50%; transform: translate(-50%, -50%);}
	.footer-cta__text .main{font-size: 21px; line-height: 1.5;}
	.footer-cta__text .sub{margin: 0.5em 0 1em; font-size: 13px;}
	.footer-cta__text .promote-text ul li{flex-direction: column; padding: 0 10px; font-size: 1em;}
	.footer-cta__text .promote-text ul li .add{width: 100%; margin-right: 0; text-align: left;}
	.footer-cta__text .promote-text ul li .add br{display: none;}
	.footer-cta__text .btns{margin-top: 15px;}
	.footer-cta__text .btns ul{gap: 2%;}
	.footer-cta__text .btns ul li{width: 49%;}
	.footer-cta__text .btns a.btn{width: 100%; min-width: 0; height: auto; padding: 1em 1.5em 1em 1em; font-size: 0.9em;}
	
	.page__contents-container{padding-bottom: 70px;}
	
	.page__breadcrumbs{padding: 1em 0 ; margin-bottom: 2em; overflow-x: scroll; white-space: nowrap;}
	
	.page__fv img{height: 280px;}
	.page__fv .title{padding: 2em;}
	.page__fv .title h1{font-size: 32px;}

	.page__contents-container .w250,
	.page__contents-container .w384{width: 40%;}
	.page__contents-container .w400{width: 100%; max-width: 100%;}
	
	.flow__container .flow__box h3{margin-bottom: 15px;}
	.flow__container .flow__box > .text{width: 100%; padding-right: 0; order: 3;}
	.flow__container .flow__box > .img{width: 100%; margin: 0 0 20px; order: 2;}
	.flow__container .flow__box > .img img{width: 100%; object-fit: cover; aspect-ratio: 1 / 0.5}
	.flow__container .flow__box .cta__box .link{max-width: 250px;}
	.flow__container .flow__box .cta__box .link a.btn{width: 100%; height: auto; padding: 1em; font-size: 1em;}
	.flow__container .flow__box:not(:last-of-type)::after{left: 50%; transform: translateX(-50%);}
	
	.profile__container{align-items: end;}
	.profile__container .img{width: 43%; margin-right: 2%; padding-right: 0;}
	.profile__container .img::after{display: none;}
	.profile__container .text{width: 65%; padding: 0 0 1.5%;}
	.profile__container .text .name{line-height: 1.3;}
	.profile__container .text .career{margin-bottom: 12px; font-size: 12px;}
	
	.symptom__box{flex-direction: column;}
	.symptom__box .img{width: 100%; max-width: 100%; margin-bottom: 10px;}
	.symptom__box .text{width: 100%;}
	
	.profile__container02 .bottom{flex-wrap: wrap;}
	.profile__container02 .bottom .text{width: 100%;}
	.profile__container02 .bottom .text:not(:last-of-type){margin: 0 0 20px;}
	
	.flex__container02{flex-direction: column;}
	.flex__container02.row3 .box{width: 100%; padding: 1.5em 1.5em 2em; margin-bottom: 15px;}
	.flex__container02.row3 .box:not(:nth-child(3n)){margin-right: 0;}
	.flex__container02.row3 .box p{margin-bottom: 10px;}
	
	.post__list .box{width: 49%; margin-right: 2%;}
	.post__list .box:nth-child(5n){margin-right: 2%;}
	.post__list .box:nth-child(2n){margin-right: 0;}
	
	.reference-container{margin: 50px 0;}
	
	.options-link{align-items: stretch;}
	.options-link .img{width: 40%; max-width: 100%;}
	.options-link .img img{aspect-ratio: auto;}
	.options-link .text{width: 60%; padding: 5%; font-size: 0.9em;}
	
	.feature__box{flex-direction: column-reverse;}
	.feature__box .img{width: 100%;}
	.feature__box .img img{aspect-ratio: 1 / 0.5;}
	.feature__box .text{width: 100%;}
	
	.re-medicine__fv{overflow: hidden;}
	.re-medicine__fv h1 img{height: auto;}
	.re-medicine__fv ul.merit-list{width: 96%; justify-content: center; top: 35%;}
	.re-medicine__fv ul.merit-list li{width: calc(100% / 3 - 2.5%); max-width: 100%;}
	.re-medicine__fv .cta{flex-wrap: wrap; padding: 5% 3%;}
	.re-medicine__fv .cta__text{width: 100%; font-size: 3.7333vw;}
	.re-medicine__fv .cta__text .title{font-size: 1.4em;}
	.re-medicine__fv .promote-text{max-width: 100%;}
	.re-medicine__fv .promote-text ul li{flex-direction: column; font-size: 1em;}
	.re-medicine__fv .promote-text ul li .add br{display: none;}
	.re-medicine__fv .cta__link{width: 100%; margin-top: 2.667vw;}
	.re-medicine__fv .cta__link ul{flex-direction: column;}
	.re-medicine__fv .cta__link ul li{width: 100%;}
	.re-medicine__fv .cta__link ul li:not(:last-of-type){margin-bottom: 2.667vw;}
	.re-medicine__fv .cta__link a.btn{height: auto; padding: 0.5em 3em; font-size: 4vw;}
	.re-medicine__fv .cta__img{width: 100%;}
	.re-medicine__fv .cta__img::before{width: 30.67vw; height: 26.4vw; right: -14%; bottom: -13vw;}
	
	.cta-block{flex-direction: column;}
	.cta-block .text{width: 100%;}
	.cta-block .img{width: 100%;}
	.cta-block .img img{width: 20%;}
	
	.contents__fv h1 img{height: auto;}
	.contents__fv ul.merit-list{width: 90%; top: 25%;}
	.contents__fv ul.merit-list li{width: 32%; max-width: 100%;}
	.contents__fv .cta{padding: 5%; bottom: 6%;}
	.contents__fv .cta__box{flex-direction: column;}
	.contents__fv .cta__box .text{width: 100%; margin-bottom: 30px;}
	.contents__fv .cta__box .text::after{top: auto; right: auto; bottom: -15px; left: 50%; transform: translate(-50%, 0) rotate(90deg);}
	.contents__fv .cta__box .link{width: 100%;}
	.page__contents-container h2.headeline-border.contents{margin: 4em 0 3em; font-size: 1.4em;}
	.page__contents-container h2.headeline-border.contents .text{padding: 0;}
	
	.clinic__link .box{width: 100%;}
	.clinic__link .box .img{width: 30%;}
	.clinic__link .box .text{width: 70%; font-size: 0.9em;}
	
	.splide__arrow--next{right: -40px;}
	.splide__arrow--prev{left: -40px;}
	.splide__arrow::before{width: 22px; height: 22px;}
	.splide__pagination__page{width: 0.8em; height: 0.8em;}
	.clinic__promote{margin: 3em 0 0;}
	.clinic__promote ul li{font-size: 0.9em;}

	.clinic__doctor .box{width: 100%; margin-bottom: 15px;}
	.clinic__doctor .box:nth-child(n + 3){margin-top: 0;}
	.clinic__doctor .box .text{font-size: 0.8em;}
	.clinic__info{flex-direction: column;}
	.clinic__info .map{width: 100%;}
	.clinic__info .access{width: 100%; padding-left: 0; margin-top: 15px;}
	.clinic__info .access dd{margin-bottom: 15px;}
	
	.doctor__profile{flex-direction: column;}
	.doctor__profile .img{width: 100%; padding-left: 0; margin-bottom: 25px;}
	.doctor__profile .text{width: 100%; padding-right: 0;}
	.doctor__career{flex-direction: column;}
	.doctor__career .text{width: 100%;}
	.doctor__career .text:not(:last-of-type){margin: 0 0 25px;}
	
	.case-block__inner{flex-direction: column;}
	.case-block__inner .img{width: 100%; margin-bottom: 15px;}
	.case-block__inner .text{width: 100%; padding-left: 0;}
	.case-block__inner .text dl dd{padding: 0.5em 0;}
	
	.archive__box a{flex-direction: column;}
	.archive__box .post-thumb{width: 100%; margin-bottom: 15px;}
	.archive__box .post-thumb img{aspect-ratio: 16 / 9;}
	.archive__box .post-content{width: 100%; padding-left: 0;}
	
	.single__fv .title .post-category{width: 100%;}
	.single__fv .title .post-date{width: 100%; margin-bottom: 10px; text-align: left; font-size: 0.9em; color: #4a4a4a;}
	.single__fv .title h1{margin-bottom: 20px; line-height: 1.4;}
	.single__fv .thum{width: 100%; margin: 0 0 25px;}
	
	.post-cta .title{font-size: 1.2em;}
	.post-cta .text ul{flex-direction: column; gap: 1.5em;}
	.post-cta .text ul li{width: 100%;}
}
@media screen and (max-width: 480px) {
	body{font-size: 15px;}
	.br-sp{display: inline;}
	
	a.btn{width: 80%; min-width: 0; padding: 1em 2em;}
	
	.header{height: 60px; box-sizing: border-box;}
	.header__top{padding: 10px 0;}
	.header__logo{height: 40px;}
	.header__logo img{width: auto; height: 100%;}
	.hamburger{top: 10px;}
	.header__drawer{width: 90%; padding-top: 100px;}
	.header__drawer__logo{width: 65%;}
	.header__btns ul{flex-direction: column; gap: 0 0;}
	.header__btns ul li{width: 100%; margin: 0 0 15px;}
	.header__btns ul li a.btn{min-width: 0;}

	.contents-wrapper{padding-top: 60px;}

	.fv > img{height: 400px;}
	.fv__text{width: 100%; height: 100%; padding-top: 10%;}
	.fv__text .main{padding: 0 5%; font-size: 6.933vw; text-shadow: 0 0 5px #000;}
	.fv__text .sub{padding: 0 5%; font-size: 3.733vw;}
	.fv__text .promote-text{width: 100%; background-color: var(--color-brown); padding: 4% 5% 2%; position: absolute; bottom: 0; left: 0;}
	.fv__text .promote-text ul li{padding: 0.25em; font-size: 15px;}
	.fv__text .promote-text p{line-height: 0;}
	.fv__text .promote-text .att{font-size: 0.5em; line-height: 1;}
	.fv__text .cv{display: none;}
	
	.fv-menu-sp{display: block; padding: 0.75em 5%;}
	.fv-menu-sp ul.menu-list {display: flex; justify-content: space-between; gap: 0.75em 2%;  flex-wrap: wrap;}
	.fv-menu-sp ul.menu-list  li{width: 31%;}
	.fv-menu-sp ul.menu-list  a.btn{width: 100%; height: 100%; min-width: 0; background-color: #DED9D2; padding: 0.7em; font-size: 13px; font-family: var(--font-serif); font-weight: 400; color: var(--color-brown) !important;}
	.fv-menu-sp ul.menu-list  a.btn img{width: 70%; margin-bottom: 5px;}
	.fv-menu-sp ul.menu-list  a.btn::after{border-color: var(--color-brown);}
	.fv-menu-sp .btns{margin-top: 0.75em;}
	.fv-menu-sp .btns ul{display: flex; gap: 2%;}
	.fv-menu-sp .btns ul li{width: 49%;}
	.fv-menu-sp .btns ul a.btn{width: 100%; min-width: 0; padding: 0.5em; font-size: 14px;}
	
	.home .contents-container h2, .home .inner h2{margin-bottom: 20px; font-size: 21px;}

	.top-menu{padding: 40px 0 0;}
	.top-menu .problem-list{margin-bottom: 50px;}
	.top-menu ul.menu-list,
	.top-menu ul.problem-list{gap: 0.75em 2%;}
	.top-menu ul.menu-list  a.btn,
	.top-menu ul.problem-list  a.btn{width: 100%; height: 100%; min-width: 0; padding: 0.7em; font-size: 13px;}
	.top-menu ul.menu-list  a.btn img,
	.top-menu ul.problem-list  a.btn img{width: 70%; margin-bottom: 11px;}
	.top-menu ul.menu-list  a.btn::after,
	.top-menu ul.problem-list  a.btn::after{border-color: var(--color-brown);}
	.top-menu .btns{margin-bottom: 50px; gap: 20px;}
	.top-menu .btns a.btn{width: 86%;}

	.top-reason{padding: 50px 0;}
	.top-reason .box{width: 100%; flex-direction: column; padding: 8% 9%; margin-bottom: 15px;}
	.top-reason .box-left{width: 100%; padding: 0; margin-bottom: 10px;}
	.top-reason .box-right{width: 100%;}

	.top-flow{padding: 50px 0;}
	.top-flow > p{margin-bottom: 30px;}
	.top-flow .box{width: 100%; flex-direction: column; padding: 8% 9%; margin-bottom: 65px;}
	.top-flow .box-left{width: 100%; padding: 0;}
	.top-flow .box-left h3{margin-right: auto; margin-left: auto; font-size: 18px;}
	.top-flow .box-right{width: 100%; padding: 0; margin-top: 10px;}
	.top-flow .att{width: 100%; text-align: left;}
	.top-flow .cv a.btn{width: 86%;}

	.top-news{padding: 50px 0;}
	.news__list{flex-direction: column; gap: 15px 0;}
	.news__list .box{width: 100%; margin-bottom: 0;}
	.news__list .box a{display: grid; grid-template-columns: 35% 65%; grid-template-rows: auto auto; align-content: center; column-gap: 10px;}
	.news__list .box .thumbnail{grid-column: 1 / 2; grid-row: 1 / 3; margin-bottom: 0;}
	.news__list .box .thumbnail img{display: block; width: 100%; height: auto;}
	.news__list .box time{grid-column: 2 / 3; grid-row: 1 / 2; align-self: end;}
	.news__list .box .title{grid-column: 2 / 3; grid-row: 2 / 3; align-self: start; font-size: 15px;}
	.top-news .cv{margin-top: 25px;}
	
	.top-qa{padding: 50px 0;}
	.top-qa > p{margin-bottom: 20px;}
	.qa-box summary{padding: 1em 2.5em;}
	.qa-box summary::before,
	.qa-box summary::after{width: 0.8em; top: 50%; right: 1.25em;}
	.qa-box .inner{padding: 1.25em;}
	.qa-box .answer{margin-bottom: 10px;}
	.top-qa .cv{margin-top: 25px;}
	
	.footer__inner{padding: 50px 0 30px; gap: 15px 2%;}
	.footer__logo{width: 100%; margin-bottom: 25px;}
	.footer__menu{width: 49%; font-size: 0.85em;}
	.footer__menu .title,
	.footer__menu ul li{margin-bottom: 1em;}
	.footer__cp{padding-bottom: 100px; font-size: 0.8em;}
	
	.sp-float{display: block; width: 100%; position: fixed; bottom: 10px; left: 0; z-index: 1;}
	.sp-float a{display: block; width: 94%; background-color: #00C156; box-shadow: 0 0 5px #515151; margin: 0 auto; padding: 1em; text-align: center; color: #fff; font-weight: bold;}
	.sp-float a img{width: 17px; margin-right: 5px;}
	
	.page__fv img{height: 250px;}
	.page__fv .title h1{font-size: 24px; line-height: 1.5;}

	.page__breadcrumbs{font-size: 12px;}
	
	.toc{padding: 1.1em 1.5em 1.5em; margin-bottom: 2em; font-size: 0.9em;}

	.page__contents-container h2{padding: 0.5em 0.75em; font-size: 1.5em;}
	.page__contents-container h3{font-size: 1.3em;}
	
	.page__contents-container .img-banner{width: 80%; margin: 1em auto 2em;}
	
	.page__contents-container .img-right{margin: 0 0 0.5em 0.5em;}
	.page__contents-container .img-left{margin: 0 0.5em 0.5em 0;}
	
	.flex__box{width: 100%; flex-direction: row; gap: 2%;}
	.flex__box .img{width: 32%;}
	.flex__box .text{width: 66%;}
	.flex__box .text h3{font-size: 1.3em; letter-spacing: 0.03em;}
	
	.flow__container{margin-top: 2em;}
	.flow__container .flow__box a.btn{display: flex; height: auto; margin: 0 auto;}
	.flow__container .flow__box:not(:last-of-type){padding-bottom: 40px;}
	.flow__container .flow__box:not(:last-of-type)::after{bottom: 24px; border-right-width: 12px; border-left-width: 12px; border-top-width: 14px;}
	
	.profile__container .img{width: 33%; margin-right: 4%;}
	.profile__container .img img{object-fit: cover; aspect-ratio: 1 / 1.2;}
	.profile__container .text{width: 63%;}
	
	.profile__container02 .top .img{width: 33%; margin-right: 2%;}
	.profile__container02 .top .text{width: 65%;}
	.profile__container02 .top .text h3{font-size: 1.2em;}
	
	.flex__container.re-medicine{flex-direction: column; gap: 25px 0;}
	.re-medicine .flex__box{width: 100%;}
	.re-medicine__triangle{font-size: 24px;}
	.re-medicine__cta .text{font-size: 0.9em;}
	.re-medicine__cta .text .cta{width: 100%;}
	.re-medicine__cta .text .cta__micro-copy{padding: 0.75em 1em; font-size: 1em; text-align: left; line-height: 1.3;}
	.re-medicine__cta .cta__link a.btn{width: 100%;}
	.re-medicine__cta .text::before{display: none;}
	
	.options-box{flex-direction: column;}
	.options-box .img{width: 100%; max-width: 100%; margin: 0 auto 15px;}
	.options-box .img img{aspect-ratio: 1 / 0.5; object-fit: cover;}
	.options-box .text{width: 100%;}
	.options-box .text h4{font-size: 1.2em;}
	
	.price__mri-box .text ul li{width: 100%;}
	.price__mri-box .text ul li:nth-child(2n-1){margin-right: 0;}
	.price__mri-box .text .mri-price{flex-direction: column; padding: 5%;}
	.price__mri-box .text .mri-price .item{width: 100%; font-size: 1.4em;}
	
	.contents__fv h1 img{height: 66.67vw; object-position: 0 0;}
	.contents__fv ul.merit-list{top: 15%; transform: translate(-50%,-15%);}
	.contents__fv .cta{position: relative; bottom: auto; transform: translate(-50%, -8%);}
	.contents__fv .cta__text{font-size: 13px;}
	.contents__fv .cta__img::before{right: -70px;}
	.feature__box.contents h3 .num{display: block; width: 100px; height: auto; margin: 10px auto; font-size: 0.7em;}
	.feature__box.contents a.btn{display: block; height: auto; margin: 0 auto;}
	
	.archive__box h2{padding: 0; margin-bottom: 10px;}
	.archive__pagination .page-numbers{width: 34px; height: 34px; font-size: 14px;}
	
	.balloon-box{gap: 25px;}
	.balloon-box .img{width: 75px; height: 75px;}
	.balloon-box .text{width: calc(100% - 100px);}
	.balloon-box .text::before{border-top-width: 10px; border-bottom-width: 10px; border-right-width: 15px; left: -15px;}
}


