@charset "utf-8";
/* CSS Document */

/* 追加
------------------------------------------------------------*/
.fb_timeline{text-align:center;margin:0 auto 10px;}
.indent-1 {padding-left:1em;text-indent:-1em;}
.indent-2 {padding-left:2em;text-indent:-2em;}
.fade{display:none;}
.banner_img{clear:both;}
br.pcbr{display:block;}
br.spbr{display:none;}
.text_box{margin:0 auto 50px;text-align: justify;width:100%;}
.text_box p{margin-bottom:1.5em;}
.info_txt{font-size:16px;margin-top:20px;}
.marker{background: linear-gradient(transparent 70%, #ff4400 70%);padding:0 0 0 0.2em;margin-right:0.5em;}
.marker-space{letter-spacing:-0.5em;}
.pagetop {display: none;position: fixed;bottom: 50px;right:2%;width:64px;z-index:100;}
.pagetop a {display: block;}
.pagetop img{width:100%;}
.sp_btn{display:none;}
.spmenu_box{display:none;}
.sptxt{display:none;}

.title-gradient {display: flex;align-items: center;gap: 24px;width: 100%;max-width: 500px;color: #1a1a2e;font-size: 28px;font-weight: 700;letter-spacing: 0.08em;}
.title-gradient::before {content: '';flex: 1;height: 1px;background: linear-gradient(to left, #1a1a2e, transparent);}
.title-gradient::after {content: '';flex: 1;height: 1px;background: linear-gradient(to right, #1a1a2e, transparent);}
.title-gradient_w {display: flex;align-items: center;gap: 24px;width: 100%;max-width: 500px;color: #fff;font-size: 28px;font-weight: 700;letter-spacing: 0.08em;}
.title-gradient_w::before {content: '';flex: 1;height: 1px;background: linear-gradient(to left, #fff, transparent);}
.title-gradient_w::after {content: '';flex: 1;height: 1px;background: linear-gradient(to right, #fff, transparent);}

.news{position: relative; z-index: 1; background: #ffffff; border: 2px solid #C1C4B6; border-radius: 4px; padding: 48px 52px; line-height: 2; color: #3a3a38;letter-spacing: 0.03em;margin-bottom:80px;}
.infobox{display:table;width:100%;margin:0 auto;padding:15px 10px;border-bottom:1px solid #9A9A9A;transform: rotate(0.03deg);}
.info_date_non {width: 10%;display:table-cell;line-height:1;vertical-align:middle;}
.info_title_non {width: 90%;display:table-cell;vertical-align: middle;line-height:1;padding-left:10px;}
.info_title_non a:hover{color:#C1C4B6;}
.info_txt{margin-top:20px;}

.d_img{width:250px;margin:0 auto;}
.d_img img{width:100%;}

.line{text-align:center;}
.line img{width:150px;}


.pnavi{text-align:center;font-size:16px;margin-top:20px;}

.white_back{background:#fff;}
.stripe_back{background-image: url("/wp-content/uploads/2026/01/stripe.png");background-repeat: repeat;padding:50px 0;}

.link_btn {
  display: flex; justify-content: center; margin: 40px 0;
}

.link_btn a {
  display: inline-block; padding: 14px 48px; background: #ffffff; color: #3a3a38;font-weight: 400; letter-spacing: 0.2em; text-decoration: none; border: 2px solid #C1C4B6; border-radius: 3px; position: relative; overflow: hidden; transition: color 0.35s ease;
}

.link_btn a::before {
  content: ''; position: absolute; inset: 0; background: #C1C4B6; transform: translateX(-100%); transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); z-index: 0;
}

.link_btn a:hover::before {
  transform: translateX(0);
}

.link_btn a:hover {
  color: #ffffff !important;
}

.link_btn a span, .link_btn a {
  position: relative;
}

.title_page {
font-size: clamp(22px, 4vw, 30px);font-weight:300; color: #3a3a38; letter-spacing: 0.15em; text-align: center; padding-bottom: 16px; position: relative; display: inline-block; left: 50%; transform: translateX(-50%);
}

.title_page::before {
  content: 'TOPICS'; display: block; font-size:14px; letter-spacing: 0.3em; color: #333; margin-bottom: 0px; font-weight: 400;font-family: 'Cormorant Garamond', serif;
}

.title_page::after {
  content: ''; display: block; width: 48px; height: 3px; background: #C1C4B6; margin: 12px auto 0;
}

.title {
font-size: 1.6rem; font-weight:500; color: #3a3a38; letter-spacing: 0.1em; text-align: left; padding-bottom: 14px;position: relative; line-height: 1.7;
}

.title::after {
  content: ''; display: block; width: 100%; height: 1px; background: linear-gradient(to right, #C1C4B6, transparent); margin-top: 14px;
}

.price_scroll{display:none;}
@media screen and (max-width:1050px){
.price_scroll{display:block;text-align:center;font-size:14px;font-weight:700;margin-bottom:15px;}
}

.jiko{background: #f5f4f0; padding: 76px 20px; color: #3a3d35; line-height: 2;}
.jiko *{box-sizing: border-box;}
.jiko-inner{max-width: 1100px; margin: 0 auto;}

.jiko-lead{text-align: center; margin-bottom: 56px; animation: jikoFade .7s ease both;}
.jiko-lead__en{display: block; font-size: 13px; letter-spacing: .3em; color: #9b9e93; text-transform: uppercase; margin-bottom: 14px;}
.jiko-lead__title{font-size: 30px; font-weight: 500; letter-spacing: .08em; line-height: 1.5; margin: 0 0 26px;}
.jiko-lead__catch{display: inline-block; font-size: 19px; font-weight: 500; letter-spacing: .04em; padding-bottom: 8px; border-bottom: 2px solid #C1C4B6; margin: 0 0 36px;}
.jiko-lead__catch em{font-style: normal; color: #7c8169; font-size: 1.2em; padding: 0 .12em;}
.jiko-lead__body{text-align: left;}
.jiko-lead__body p{margin: 0 0 18px;}
.jiko-lead__body p:last-child{margin-bottom: 0;}

.jiko-policy{position: relative; background: #fff; border: 1px solid #e0e2da; border-radius: 4px; padding: 36px 40px; margin-bottom: 72px; overflow: hidden;}
.jiko-policy::before{content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: #C1C4B6;}
.jiko-policy p{margin: 0 0 18px;}
.jiko-policy p:last-child{margin-bottom: 0;}

.jiko-head{text-align: center; margin-bottom: 34px;}
.jiko-head__en{display: block; font-size: 12px; letter-spacing: .28em; color: #9b9e93; text-transform: uppercase; margin-bottom: 10px;}
.jiko-head__ja{display: inline-block; position: relative;font-size: 24px; font-weight: 500; letter-spacing: .08em; margin: 0; padding-bottom: 14px;}
.jiko-head__ja::after{content: ''; position: absolute; left: 50%; bottom: 0; width: 40px; height: 2.5px; background: #C1C4B6; border-radius: 2px; transform: translateX(-50%);}

.jiko-jibai{background: rgba(193,196,182,.2); border: 1px solid #d5d8cc; border-radius: 6px; padding: 38px 42px; margin-bottom: 72px;}
.jiko-jibai__point{display: flex; align-items: center; gap: 16px; background: #fff; border: 1px solid #C1C4B6; border-radius: 6px; padding: 18px 22px; margin: 0 0 24px;}
.jiko-jibai__point strong{flex-shrink: 0; font-size: 22px; font-weight: 700; letter-spacing: .04em; color: #7c8169; white-space: nowrap;}
.jiko-jibai__point span{font-size: 14px; line-height: 1.7;}
.jiko-jibai p{margin: 0 0 16px;}
.jiko-jibai p:last-child{margin-bottom: 0;}

.jiko-flow{position: relative;}
.jiko-step{position: relative; display: flex; gap: 24px; padding-bottom: 36px;}
.jiko-step:last-child{padding-bottom: 0;}
.jiko-step::before{content: ''; position: absolute; left: 27px; top: 64px; bottom: 0; width: 2px; background: #d5d8cc;}
.jiko-step:last-child::before{display: none;}
.jiko-step__num{flex-shrink: 0; width: 56px; height: 56px; border-radius: 50%; background: #C1C4B6; color: #fff; display: flex; align-items: center; justify-content: center;font-size: 20px; letter-spacing: .05em; position: relative; z-index: 1;}
.jiko-step__body{padding-top: 4px;}
.jiko-step__title{font-size: 18px; font-weight: 500; letter-spacing: .04em; margin: 0 0 8px;}
.jiko-step__text{font-size: 14.5px; line-height: 1.9; color: #50534a; margin: 0;}

.jiko-flow.is-reveal .jiko-step{opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease;}
.jiko-flow.is-reveal .jiko-step.is-shown{opacity: 1; transform: translateY(0);}

@keyframes jikoFade{from{opacity: 0; transform: translateY(16px);} to{opacity: 1; transform: translateY(0);}}

.posture{padding:90px 20px;background:#f5f4f0;color:#4f524b;margin-bottom:60px;}
.posture_inner{max-width:1000px;margin:0 auto;}
.posture_head{text-align:center;margin-bottom:50px;}
.posture_head h2{margin:0;color:#55584f;font-size:30px;font-weight:500;letter-spacing:.12em;}
.posture_head h2::before,.posture_head h2::after{content:"";display:inline-block;width:45px;height:1px;margin:0 18px 9px;background:#b2ad8d;}
.posture_head p{margin:14px 0 0;color:#77786f;font-size:16px;letter-spacing:.08em;}
.posture_text{padding:45px 50px;background:#fff;border-top:1px solid #d8d8cf;border-bottom:1px solid #d8d8cf;}
.posture_text p{margin:0 0 20px;color:#555;font-size:16px;letter-spacing:.02em;}
.posture_text p:last-child{margin-bottom:0;}
.posture_last{margin-top:35px!important;padding:25px 30px;text-align:center;background:#f1f1ec;color:#55584f!important;font-size:17px!important;font-weight:500;letter-spacing:.05em!important;}
@media only screen and (max-width:749px){
.posture{padding:60px 15px;}
.posture_head{margin-bottom:35px;}
.posture_head h2{font-size:23px;letter-spacing:.08em;}
.posture_head h2::before,.posture_head h2::after{width:25px;margin:0 10px 7px;}
.posture_head p{font-size:13px;line-height:1.7;}
.posture_text{padding:30px 20px;}
.posture_text p{margin-bottom:17px;font-size:14px;line-height:2;}
.posture_last{margin-top:28px!important;padding:22px 18px;font-size:15px!important;line-height:1.9!important;}
}



/* 767px
------------------------------------------------------------*/
@media only screen and (max-width: 767px){
.jiko{padding: 56px 16px;}
.jiko-lead__title{font-size: 24px;}
.jiko-lead__catch{font-size: 16px;}
.jiko-policy{padding: 28px 22px;}
.jiko-jibai{padding: 28px 22px;}
.jiko-jibai__point{flex-direction: column; align-items: flex-start; gap: 8px;}
.jiko-head__ja{font-size: 20px;}
.jiko-step{gap: 16px;}
.jiko-step__num{width: 46px; height: 46px; font-size: 17px;}
.jiko-step::before{left: 22px; top: 54px;}
}

.shisei{background: #f5f4f0; padding: 76px 20px; color: #3a3d35; line-height: 2;}
.shisei *{box-sizing: border-box;}
.shisei-inner{max-width: 860px; margin: 0 auto;}

.shisei-lead{text-align: center; margin-bottom: 56px;}
.shisei-lead__en{display: block; font-size: 13px; letter-spacing: .3em; color: #9b9e93; text-transform: uppercase; margin-bottom: 14px;}
.shisei-lead__title{font-size: 30px; font-weight: 500; letter-spacing: .08em; line-height: 1.5; margin: 0 0 26px;}
.shisei-lead__body{text-align: left; font-size: 15.5px; margin: 0 auto; max-width: 680px;}

.shisei-points{display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 56px;}
.shisei-point--wide{grid-column: 1 / -1;}
.shisei-point{display: flex; gap: 18px; align-items: flex-start; background: #fff; border: 1px solid #e0e2da; border-radius: 6px; padding: 24px 26px;}
.shisei-point__num{flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: #C1C4B6; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; letter-spacing: .03em;}
.shisei-point__title{font-size: 16.5px; font-weight: 700; letter-spacing: .03em; margin: 4px 0 8px;}
.shisei-point__text{font-size: 14px; line-height: 1.85; color: #50534a; margin: 0;}

.shisei-text{margin-bottom: 40px;}
.shisei-text p{margin: 0 0 18px;}
.shisei-text p:last-child{margin-bottom: 0;}

.shisei-cycle{background: rgba(193,196,182,.2); border: 1px solid #d5d8cc; border-radius: 6px; padding: 32px 30px; margin-bottom: 56px; text-align: center;}
.shisei-cycle__label{display: inline-block; font-size: 12px; letter-spacing: .2em; color: #7c8169; font-weight: 700; margin-bottom: 20px;}
.shisei-cycle__chain{display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px;}
.shisei-cycle__item{background: #fff; border: 1px solid #C1C4B6; border-radius: 999px; padding: 10px 18px; font-size: 13.5px; line-height: 1.5;}
.shisei-cycle__item--end{background: #C1C4B6; color: #fff; font-weight: 700;}
.shisei-cycle__arrow{color: #9b9e93; font-size: 15px;}

.shisei-message{position: relative; background: #fff; border: 1px solid #e0e2da; border-radius: 4px; padding: 38px 24px; text-align: center; overflow: hidden;}
.shisei-message::before{content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: #C1C4B6;}
.shisei-message__main{font-size: 17px; font-weight: 500; letter-spacing: .03em; margin: 0 0 14px;}
.shisei-message__main em{font-style: normal; color: #7c8169; padding: 0 .1em;}
.shisei-message__sub{font-size: 14.5px; color: #50534a; margin: 0;}


/* 767px
------------------------------------------------------------*/
@media only screen and (max-width: 767px){
.shisei{padding: 56px 16px;}
.shisei-lead__title{font-size: 24px;}
.shisei-points{grid-template-columns: 1fr;}
.shisei-cycle{padding: 26px 20px;}
.shisei-cycle__chain{gap: 8px;}
.shisei-cycle__item{font-size: 12.5px; padding: 8px 14px;}
.shisei-message{padding: 30px 24px;}
.shisei-message__main{font-size: 15.5px;}
}


/*取扱い
------------------------------------------------------------*/
.insurance-section {
padding: 0 24px;
font-family: 'Noto Sans JP', sans-serif;
}

.insurance-inner {
max-width: 100%;
margin: 0 auto;
}

/* ヘッダー */
.insurance-heading {
text-align: center;
margin-bottom: 52px;
}

.insurance-heading-en {
display: block;
font-family: 'Cormorant Garamond', serif;
font-size: 14px;
letter-spacing: 5px;
color: #333;
text-transform: uppercase;
}

.insurance-heading-ja {
font-size: clamp(22px, 4vw, 28px);
font-weight: 300;
color: #333;
letter-spacing: 4px;
margin: 0;
}

.insurance-heading-line {
display: block;
width: 40px;
height: 1px;
background-color: #333;
margin: 18px auto 0;
}

/* カードグリッド */
.insurance-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.insurance-card {
border-top: 2px solid #9a9b8b;
background-color: #f8f7f4;
padding: 32px 28px;
}

/* 1枚目は広め */
.insurance-card-wide {
grid-column: span 2;
}

.insurance-card-label {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 20px;
}

.insurance-card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: 50%;
background-color: #9a9b8b;
flex-shrink: 0;
}

.insurance-card-icon svg {
width: 14px;
height: 14px;
fill: none;
stroke: #ffffff;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.insurance-card-title {
font-size: 18px;
font-weight: 500;
color: #9a9b8b;
letter-spacing: 2px;
}

/* タグリスト */
.insurance-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
}

.insurance-tag {
display: inline-block;
font-size: 16px;
font-weight: 400;
color: #333333;
background-color: #ffffff;
border: 1px solid #ddddd5;
padding: 6px 14px;
letter-spacing: 0.5px;
line-height: 1.5;
}

/* 交通事故カードのタグは少し強調 */
.insurance-card-accent .insurance-tag {
border-color: #9a9b8b;
color: #333333;
}

/*時間
------------------------------------------------------------*/
.hours-section {
padding: 0px 24px 0;
font-family: 'Noto Sans JP', sans-serif;
}

.hours-inner {
max-width:100%;
margin: 0 auto;
}

/* ヘッダー */
.hours-heading {
text-align: center;
margin-bottom: 48px;
}

.hours-heading-en {
display: block;
font-family: 'Cormorant Garamond', serif;
font-size: 14px;
letter-spacing: 5px;
color: #333;
text-transform: uppercase;
}

.hours-heading-ja {
font-size: clamp(22px, 4vw, 28px);
font-weight: 300;
color: #333333;
letter-spacing: 4px;
margin: 0;
}

.hours-heading-line {
display: block;
width: 40px;
height: 1px;
background-color: #9a9b8b;
margin: 18px auto 0;
}

/* テーブルラッパー */
.hours-table-wrap {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}

/* テーブル */
.hours-table {
width: 100%;
border-collapse: collapse;
min-width: 560px;
}

/* ヘッダー行 */
.hours-table thead th {
background-color: #9a9b8b;
color: #ffffff;
font-size: 18px;
font-weight: 400;
letter-spacing: 2px;
padding: 14px 8px;
text-align: center;
border: 1px solid #888979;
}

/* 左上の「受付時間」セル */
.hours-table thead th.th-label {
font-size: 18px;
font-weight: 300;
letter-spacing: 1px;
color: rgba(255,255,255,0.8);
background-color: #7a7b6e;
min-width: 130px;
}

/* 土・日ヘッダー */
.hours-table thead th.th-weekend {
background-color: #b5b6a5;
}

/* 祝ヘッダー */
.hours-table thead th.th-holiday {
background-color: #c8c9b8;
color: rgba(255,255,255,0.9);
}

/* ボディ行 */
.hours-table tbody tr {
border-bottom: 1px solid #e8e7e2;
}

.hours-table tbody tr:last-child {
border-bottom: none;
}

/* 左側の時間セル */
.hours-table tbody td.td-time {
background-color: #f4f3ef;
font-size: 18px;
font-weight: 400;
color: #333333;
padding: 20px 16px;
text-align: center;
letter-spacing: 1px;
border-right: 2px solid #9a9b8b;
white-space: nowrap;
}

/* 丸・空白セル */
.hours-table thead th,
.hours-table tbody td {
width: 80px;
min-width: 80px;
}

.hours-table tbody td.td-cell {
text-align: center;
padding: 20px 8px;
border: 1px solid #e8e7e2;
background-color: #ffffff;
}

/* 丸印 */
.circle {
display: inline-block;
width: 22px;
height: 22px;
border-radius: 50%;
border: 2px solid #9a9b8b;
background-color: transparent;
}

/* 祝セル */
.td-holiday-cell {
background-color: #f8f8f6 !important;
}

.dash {
color: #cccccc;
font-size: 14px;
}

/* 注記 */
.hours-note {
margin-top: 20px;
font-size: 18px;
font-weight: 300;
color: #333;
letter-spacing: 0.5px;
line-height: 2;
text-align: center;
}



/*自費
------------------------------------------------------------*/
.jifee-section {
padding: 80px 24px 0;
font-family: 'Noto Sans JP', sans-serif;
}

.jifee-inner {
max-width: 100%;
margin: 0 auto;
}

/* ヘッダー */
.jifee-heading {
text-align: center;
margin-bottom: 16px;
}

.jifee-heading-en {
display: block;
font-family: 'Cormorant Garamond', serif;
font-size: 14px;
letter-spacing: 5px;

text-transform: uppercase;
}

.jifee-heading-ja {
font-size: clamp(22px, 4vw, 30px);
font-weight: 300;
color: #333;
letter-spacing: 6px;
margin: 0;
}

.jifee-heading-line {
display: block;
width: 40px;
height: 1px;
background-color: rgba(0,0,0,0.5);
margin: 18px auto 0;
}

/* 注記 */
.jifee-note-top {
text-align: center;
font-size: 18px;
font-weight: 300;
color: #333;
letter-spacing: 1px;
line-height: 1.9;
margin: 24px 0 52px;
}

/* メニューグリッド */
.jifee-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
}

/* 根本改善メニューは全幅 */
.jifee-card-full {
grid-column: span 2;
}

/* カード */
.jifee-card {
border-top: 2px solid #9a9b8b;
background-color: #f8f7f4;
padding: 32px 28px;
position: relative;
display:flex;
flex-direction:column;
}

.jifee-card > :last-child {
  margin-top: auto;
}

.jifee-card p{font-size: 15px;margin-bottom: 10px;}

.jifee-card-badge {
display: inline;
font-size: 9px;
font-weight: 400;
letter-spacing: 2px;
color: #ffffff;
background-color: #9a9b8b;
padding: 3px 10px;
margin-bottom: 14px;
text-transform: uppercase;
}

.jifee-card-badge-main {
display: inline-block;
font-size: 9px;
font-weight: 500;
letter-spacing: 2px;
color: #ffffff;
background-color: #6e6f62;
padding: 3px 10px;
margin-bottom: 14px;
text-transform: uppercase;
}

.jifee-card-title {
font-size:24px;
font-weight: 500;
color: #333333;
letter-spacing: 1.5px;
margin-bottom: 8px;
line-height: 1.5;
}

.jifee-card-catch {
font-size: 15px;
font-weight: 400;
color: #666;
line-height: 1.9;
letter-spacing: 0.3px;
margin-bottom: 20px;


}

/* 料金テーブル */
.jifee-price-row {
display: flex;
align-items: baseline;
gap: 16px;
flex-wrap: wrap;
padding-top: 20px;
border-top: 1px solid #e8e7e2;
}

.jifee-price-item {
display: flex;
align-items: baseline;
gap: 4px;
}

.jifee-price-min {
font-size: 14px;
font-weight: 300;
color: #6e6f62;
letter-spacing: 1px;
}

.jifee-price-num {
font-family: "bodoni-urw", serif;font-weight: 500;font-style: normal;
font-size: 30px;
font-weight: 400;
color: #333333;
line-height: 1;
}

.jifee-price-yen {
font-size: 12px;
font-weight: 300;
color: #7a7a72;
}

.jifee-price-sep {
font-size: 11px;
color: #cccccc;
}

/* 全幅カードの料金は横並び大きく */
.jifee-card-full .jifee-price-num {
font-size: 36px;
color: #333333;
}




/*保険
------------------------------------------------------------*/
.price-section {
padding: 0px 24px;
font-family: 'Noto Sans JP', sans-serif;
}

.price-inner {
max-width: 100%;
margin: 0 auto;
}

/* タイトル */
.price-heading {
text-align: center;
margin-bottom: 56px;
}

.price-heading-en {
display: block;
font-family: 'Cormorant Garamond', serif;
font-size: 14px;
letter-spacing: 5px;
color:#333;
text-transform: uppercase;

}

.price-heading-ja {
font-size: clamp(22px, 4vw, 30px);
font-weight: 300;
color: #333;
letter-spacing: 6px;
margin-bottom: 0;
}

.price-heading-line {
display: block;
width: 40px;
height: 1px;
background-color: rgba(0,0,0,0.5);
margin: 20px auto 0;
}

/* ブロックグループ */
.price-blocks {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
margin-bottom: 20px;
}

.price-block {
  background-color: #f9f7f2;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.015) 2px, rgba(0,0,0,0.015) 3px),
    repeating-linear-gradient(90deg, transparent, transparent 4px, rgba(0,0,0,0.01) 4px, rgba(0,0,0,0.01) 5px);
  box-shadow: inset 0 0 60px rgba(0,0,0,0.04), 2px 2px 8px rgba(0,0,0,0.08);
  border-radius: 2px;
  position: relative;
padding: 32px 28px;
}

.price-block::before {
  content: ''; position: absolute; inset: 0; border-radius: 2px;
  background: linear-gradient(135deg, rgba(255,255,255,0.6) 0%, transparent 50%, rgba(0,0,0,0.02) 100%);
  pointer-events: none;
}

.price-block-full {
background-color: rgba(255,255,255,0.1);
padding: 32px 28px;
margin-bottom: 20px;
}

.price-block-title {
font-size: 20px;
font-weight: 400;
color:#333;
letter-spacing: 3px;
margin-bottom: 20px;
padding-bottom: 12px;
border-bottom: 1px solid #333;
position:relative;
z-index:100;
}

/* テーブル */
.price-table {
width: 100%;
border-collapse: collapse;
position:relative;
z-index:100;
}

.price-table th {
font-size: 16px;
font-weight: 400;
color:#333;
letter-spacing: 2px;
text-align: right;
padding: 8px 12px;
border-bottom: 1px solid #333;
}

.price-table th:first-child {
text-align: left;
}

.price-table td {
padding: 14px 12px;
border-bottom: 1px solid #999;
}

.price-table tr:last-child td {
border-bottom: none;
}

.price-table .td-label {
font-size: 18px;
font-weight: 400;
color:#333;
letter-spacing: 1px;
}

.price-table .td-price {
font-family: "bodoni-urw", serif;font-weight: 500;font-style: normal;
font-size: 30px;
font-weight: 400;
color: #333;
text-align: right;
letter-spacing: 1px;
}

.price-table .td-price span {
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
font-weight: 300;
color: #333;
margin-left: 2px;
}

/* 0円の特別スタイル */
.price-table .td-price-free {
font-family: "bodoni-urw", serif;font-weight: 500;font-style: normal;
font-size: 26px;
font-weight: 400;
color: #333;
text-align: right;
letter-spacing: 1px;
}

.price-table .td-price-free span {
font-family: 'Noto Sans JP', sans-serif;
font-size: 18px;
font-weight: 300;
color: #333;
margin-left: 2px;
}

.price-tag-free {
display: inline-block;
font-size: 10px;
font-weight: 400;
color: #333;
border: 1px solid #333;
padding: 2px 8px;
letter-spacing: 1px;
margin-left: 8px;
vertical-align: middle;
}

/* 注意書き */
.price-note {
margin-top: 28px;
padding: 20px 24px;
background-color: rgba(0,0,0,0.12);
border-left: 2px solid rgba(255,255,255,0.35);
}

.price-note-text {
font-size: 16px;
font-weight: 400;
color: #333;
line-height: 2;
letter-spacing: 0.3px;
}

.price-note-text strong {
color: #333;
font-weight: 400;
}






/*あいさつ
------------------------------------------------------------*/
.card-wrapper {
  position: relative; width: 100%; animation: fadeUp 0.7s ease both;
}

.card-wrapper::before {
  content: ''; position: absolute; top: 10px; left: 10px; right: -10px; bottom: -10px; background: #C1C4B6; border-radius: 4px; z-index: 0;
}

.greet_box {
  position: relative; z-index: 1; background: #ffffff; border: 2px solid #C1C4B6; border-radius: 4px; padding: 48px 52px; line-height: 2; color: #3a3a38;letter-spacing: 0.03em;
}

.greet_box::before {
  content: ''; display: block; width: 48px; height: 3px; background: #C1C4B6; margin-bottom: 28px;
}

.greet_box p {
  font-weight: 300; margin-bottom:1.5em;
}

.highlight {
  background: linear-gradient(transparent 60%, rgba(193,196,182,0.35) 60%); font-weight: 500; padding: 0 2px;
}

.greet-footer {
  margin-top: 0px; padding-top: 20px; border-top: 1px solid #e0e2da; display: flex; align-items: center; gap: 16px;
}

.greet-footer-dot {
  width: 8px; height: 8px; background: #C1C4B6; border-radius: 50%; flex-shrink: 0;
}

.greet-footer-text {
 color: #9b9e93; letter-spacing: 0.1em;
}


.pattern_area{display:flex;flex;justify-content:space-between;flex-wrap:wrap;width:100%;margin:50px auto 0;}
.pattern_box{width:19%;text-align:center;padding:0;font-size:14px;}
.pattern_box img{width:100%;}
.pattern_box p{font-weight:400;}

/*つよみ
------------------------------------------------------------*/
 .section {
    max-width: 100%;
    margin: 0 auto;
  }

  .section-label {
    font-family: 'Cormorant Garamond', serif;
    font-size: 14px;
    letter-spacing: 4px;
    color:#333;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 0px;
  }

  .section-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
    font-size: clamp(22px, 4vw, 30px);
    text-align: center;
    color:#333;
    letter-spacing: 3px;
    margin-bottom: 50px;
    position: relative;
  }

  .section-title::after {
    content: '';
    display: block !important;
    width: 40px;
    height: 1px;
    background: #333 !important;
    margin: 20px auto 0;
  }

  .strengths-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .strength-card {
    background: white;
    padding: 44px 36px;
    position: relative;
    border-top: 5px solid #9a9b8b !important;
    box-shadow: 0 8px 32px rgba(154,155,139,0.15);
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 0.6s ease forwards;
  }

  .strength-card:nth-child(1) { animation-delay: 0.1s; }
  .strength-card:nth-child(2) { animation-delay: 0.25s; }
  .strength-card:nth-child(3) { animation-delay: 0.4s; }
  .strength-card:nth-child(4) { animation-delay: 0.55s; }
  .strength-card:nth-child(5) { animation-delay: 0.7s; }
  .strength-card:nth-child(6) { animation-delay: 0.85s; }

  @keyframes fadeUp {
    to { opacity: 1; transform: translateY(0); }
  }

  .card-number {
    font-family: "bodoni-urw", serif;font-weight: 500;font-style: normal;
    font-size: 52px;
    font-weight: 300;
    color:#9a9b8b;
    line-height: 1;
    margin-bottom: 20px;
    letter-spacing: -1px;
  }

  .card-accent {
    width: 32px;
  background: #9a9b8b !important;
  height: 2px !important;
    margin: 16px 0;
  }

  .card-text {
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    color:#333;
    letter-spacing: 0.5px;
  }


/*姿勢
------------------------------------------------------------*/


  .posture-inner {
    max-width: 860px;
    margin: 0 auto;
  }

  /* キャッチコピー上部 */
  .posture-catch {
    text-align: center;
    margin-bottom: 56px;
  }

  .posture-catch-sub {
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    color:#fff;
    letter-spacing: 2px;
    margin-bottom: 16px;
  }

  .posture-catch-main {
    font-size: clamp(20px, 4vw, 28px);
    font-weight: 500;
    color: #ffffff;
    letter-spacing: 3px;
    line-height: 1.7;
    margin-bottom: 20px;
  }

  .posture-catch-divider {
    width: 1px;
    height: 48px;
    background-color: rgba(255,255,255,0.4);
    margin: 0 auto 20px;
  }

  .posture-catch-lead {
    font-size: 18px;
    font-weight: 400;
    color:#fff;
    letter-spacing: 2px;
  }

  .posture-catch-bold {
    display: block;
    font-size: clamp(16px, 3vw, 20px);
    font-weight: 500;
    color: #ffffff;
    letter-spacing: 2px;
    margin-top: 10px;
  }

  /* リストタイトル */
  .posture-list-title {
    font-size: 18px;
    font-weight: 300;
    color:#fff;
    letter-spacing: 3px;
    text-align: center;
    margin-bottom: 32px;
  }

  /* リスクリスト */
  .posture-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .posture-list-item {
    background-color: rgba(154,155,139,0.8);
    border-left: 3px solid rgba(255,255,255,0.6);
    padding: 28px 32px;
    display: flex;
    align-items: flex-start;
    gap: 24px;
    transition: background-color 0.3s ease;
  }

  .posture-list-item:hover {
    background-color: rgba(255,255,255,0.18);
  }

  .posture-item-num {
    font-family: "bodoni-urw", serif;font-weight: 500;font-style: normal;
    font-size: 40px;
    font-weight: 300;
    color:#fff;
    line-height: 1;
    min-width: 48px;
    padding-top: 2px;
  }

  .posture-item-body {
    flex: 1;
  }

  .posture-item-title {
    font-size:22px;
    font-weight: 500;
    color: #ffffff;
    letter-spacing: 1px;
    margin-bottom: 8px;
    line-height: 1.6;
  }

  .posture-item-desc {
    font-size: 18px;
    font-weight: 400;
    color:#333;
    line-height: 1.9;
    letter-spacing: 0.5px;
  }


/*MELIT
------------------------------------------------------------*/
.merit-section {
font-family: 'Noto Sans JP', sans-serif;
}

.merit-inner {
max-width:100%;
margin: 0 auto;
}

/* セクションヘッダー */
.merit-header {
text-align: center;
margin-bottom: 56px;
}

.merit-label {
display: block;
font-family: 'Cormorant Garamond', serif;
font-size: 14px;
letter-spacing: 4px;
color: #9a9b8b;
text-transform: uppercase;
margin-bottom: 0px;
}

.merit-title {
font-size: clamp(20px, 3.5vw, 28px);
font-weight: 300;
color: #333;
letter-spacing: 3px;
line-height: 1.6;
margin-bottom: 0;
}

.merit-title-line {
display: block;
width: 40px;
height: 1px;
background-color: #9a9b8b;
margin: 20px auto 0;
}

/* メリットグリッド */
.merit-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 2px;
margin-bottom: 30px;
}

.merit-card {
padding: 36px 20px 32px;
border-top: 2px solid #9a9b8b;
background-color: #f8f7f4;
text-align: center;
position: relative;
}

.merit-card-num {
font-family: "bodoni-urw", serif;font-weight: 500;font-style: normal;
font-size: 40px;
font-weight: 300;
color: rgba(154,155,139,1);
line-height: 1;
margin-bottom: 16px;
}

.merit-card-text {
font-size: 20px;
font-weight: 400;
color: #2e2e2b;
line-height: 1.7;
letter-spacing: 0.5px;
}

.merit-card-sub {
display: block;
font-size: 16px;
font-weight: 400;
color: #9a9b8b;
margin-top: 6px;
line-height: 1.7;
}

/* 締めのメッセージ */
.merit-message {
border-left: 3px solid #9a9b8b;
padding: 32px 40px;
background-color: #f8f7f4;
}

.merit-message-main {
font-size:20px;
font-weight: 500;
color: #2e2e2b;
letter-spacing: 1.5px;
line-height: 1.9;
margin-bottom: 16px;
}

.merit-message-sub {
font-size: 18px;
font-weight: 400;
color: #9a9b8b;
letter-spacing: 1px;
line-height: 2;
}

.merit-message-accent {
display: block;
font-size: clamp(14px, 2vw, 16px);
font-weight: 500;
color: #9a9b8b;
margin-top: 12px;
letter-spacing: 2px;
}

/*demerit
------------------------------------------------------------*/

.demerit-inner {
max-width: 100%;
margin: 0 auto;
}

/* アイテム */
.demerit-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0;
}

.demerit-item {
display: grid;
grid-template-columns: 80px 1fr;
border-bottom: 1px solid #e0e0d8;
padding: 44px 0;
gap: 32px;
align-items: start;
opacity: 0;
transform: translateY(16px);
animation: fadeUp 0.5s ease forwards;
}

.demerit-item:first-child {
border-top: 1px solid #e0e0d8;
}

.demerit-item:nth-child(1) { animation-delay: 0.05s; }
.demerit-item:nth-child(2) { animation-delay: 0.15s; }
.demerit-item:nth-child(3) { animation-delay: 0.25s; }
.demerit-item:nth-child(4) { animation-delay: 0.35s; }
.demerit-item:nth-child(5) { animation-delay: 0.45s; }

@keyframes fadeUp {
to { opacity: 1; transform: translateY(0); }
}

/* 左：番号エリア */
.demerit-num-col {
display: flex;
flex-direction: column;
align-items: center;
padding-top: 4px;
}

.demerit-num {
font-family: "bodoni-urw", serif;font-weight: 500;font-style: normal;
font-size: 48px;
font-weight: 400;
color: #9a9b8b;
line-height: 1;
margin-bottom: 8px;
}

.demerit-num-bar {
width: 1px;
height: 32px;
background-color: #c8c9b8;
}

/* 右：テキストエリア */
.demerit-body {}

.demerit-tag {
display: inline-block;
font-size: 10px;
font-weight: 400;
letter-spacing: 2px;
color: #ffffff;
background-color: #7a7b6e;
padding: 3px 10px;
margin-bottom: 12px;
text-transform: uppercase;
}

.demerit-title {
font-size:24px;
font-weight: 500;
color: #333;
letter-spacing: 1px;
line-height: 1.5;
margin-bottom: 14px;
}

.demerit-lead {
font-size: 20px;
font-weight: 500;
color: #7a7b6e;
letter-spacing: 0.5px;
line-height: 1.8;
margin-bottom: 10px;
padding-left: 12px;
border-left: 2px solid #b5b6a5;
}

.demerit-desc {
font-size: 16px;
font-weight: 400;
color: #333;
line-height: 2;
letter-spacing: 0.3px;
}

/* 警告ボックス（最後のアイテム） */
.demerit-item:last-child .demerit-body {
position: relative;
}

.demerit-warning {
margin-top: 20px;
padding: 20px 24px;
background-color: #f0efea;
border-left: 3px solid #9a9b8b;
}

.demerit-warning-text {
font-size: 16px;
font-weight: 400;
color: #333;
line-height: 2;
letter-spacing: 0.3px;
}

.demerit-warning-text strong {
color: #2e2e2b;
font-weight: 500;
}






/*CLINIC
------------------------------------------------------------*/
.store_area{display:flex;flex;justify-content:center;gap:20px;flex-wrap:wrap;width:100%;margin:0px auto;}
.store_box{width:24%;margin:0 0.5%;}
.store_box img{width:100%;}


/* 1280px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 1279px){

}

/* 1100px
------------------------------------------------------------*/
@media only screen and (max-width: 1099px){
.banner_img img{width:100%;}






}

/* 800px
------------------------------------------------------------*/
@media only screen and (max-width: 799px){
br.spbr{display:block;}
.flow_cau {position: relative;background:linear-gradient(0deg, #080058, #004fa3);border-radius:8px;color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1.3;width:100%;margin:0 auto;text-align:center;}
.newcar_area{display:flex;flex;justify-content:center;flex-wrap:wrap;width:100%;margin:50px auto;}
}


/* 640px
------------------------------------------------------------*/
@media only screen and (max-width: 640px){
.pattern_box{width:48%;margin-bottom:10px;}
.pattern_box p{font-size:14px;}
.link_btn{font-size:16px;}

.greet_box,.news{padding:1em;font-size:90%;}
.infobox{display:block;width:100%;margin:0 auto;padding:15px 10px;border-bottom:1px solid #9A9A9A;transform: rotate(0.03deg);}
.info_date_non {width: 100%;display:block;line-height:1;vertical-align:middle;}
.info_title_non {width: 100%;display:block;vertical-align: middle;line-height:1;padding:10px 0 0;}
.info_txt{margin-top:20px;}
.title {font-size:18px;}
.d_img{width:60%;}

.strengths-grid {grid-template-columns: 1fr;}
.strength-card {padding: 36px 28px;}

.posture-section {padding: 60px 0px;}
.posture-list-item {padding: 22px 20px;gap: 16px;}
.posture-item-num {font-size: 32px;min-width: 36px;}
.posture-item-title {font-size: 15px;}

.price-blocks {grid-template-columns: 1fr;}
.price-block {padding: 28px 20px;}
.price-table .td-price {font-size: 26px;}

.jifee-note-top{font-size:16px;}
.jifee-card-title{font-size:20px;}
.jifee-grid {grid-template-columns: 1fr;}
.jifee-card-full {grid-column: span 1;}
.jifee-card {padding: 28px 20px;}

.merit-message{padding:32px 20px;}

.demerit-item {grid-template-columns: 56px 1fr;gap: 20px;padding: 36px 0;}
.demerit-title{font-size:20px;}
.demerit-lead{font-size:16px;}
.demerit-num {font-size: 36px;}

.merit-grid {grid-template-columns: 1fr;}
.merit-card:last-child {grid-column: span 1;}

.store_box{width:48%;margin:5px 1% 0;}


.text_box{margin:0 auto 50px;background:#fff;text-align: justify;padding:2em 0.5em;width:100%;transform: rotate(0.03deg);}
br.pcbr{display:none;}
picture img{width:80%;}
.pagetop {display: none;position: fixed;bottom: 90px;right:2%;width:50px;z-index:100;}
.spmenu_box{display:flex;justify-content:space-between;position:fixed;bottom:0;left:0;width:100%;}
.spmenu_t{width:100%;transform: rotate(0.03deg);font-size:15px;}
.spmenu_t a{color:#fff;}
.spmenu_t p{font-size:19px;font-weight:500;margin-top:0.2em;}
.spmenu_t{background:#858670;color:#fff;display:flex;justify-content:center;align-items:center;flex-direction:column;line-height:1.2;height:60px;text-align:center;}







.sptxt{display:block;margin:30px 0 0;text-align:left;}
.sptable{overflow-x: scroll;}
        
}