@charset "utf-8";

:root{
  --en-main:#817A6E;
  --en-text:#333333;
  --en-cream:#FCF9F4;
  --en-green:#D9E6D4;
  --en-line:#E4DFD8;
}

.en-body{ font-family:"Montserrat", "Helvetica Neue", Arial, sans-serif; }
.en-body p,
.en-body li{ letter-spacing:0.01em; }

.en-body .section-title h2{
  font-family:"Montserrat", sans-serif;
  letter-spacing:0.01em;
  line-height:1.35;
}

.en-lead{
  max-width:640px;
  margin-left:auto; margin-right:auto;
  font-size:16px; line-height:1.8; color:var(--en-text);
  letter-spacing:0.01em;
}

.en-h1{
  font-family:"Montserrat", sans-serif;
  letter-spacing:0.01em;
  line-height:1.25;
}
.en-hero-nav li a{ letter-spacing:0.02em; }
.en-sp-walkin a{
  display:flex; align-items:center; justify-content:center;
  height:100%; font-size:13px; letter-spacing:0.02em;
}

.en-visit{ background:var(--en-cream); }
.en-visit-title{ line-height:1.4; }
.en-visit-text{
  font-size:16px; line-height:1.8; color:var(--en-text);
  margin-top:29px;
}
.en-visit-text:first-of-type{ margin-top:16px; }   
.en-visit-note{
  padding-top:24px;
  border-top:1px solid var(--en-line);
}

.en-visit-list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:56px 48px;
  margin-top:96px;
}
.en-visit-item{ list-style:none; }
.en-visit-item-label{
  font-size:13px; letter-spacing:0.07em; text-transform:uppercase;
  color:var(--en-main); font-weight:500;
  margin:0;
}
.en-visit-item-title{
  margin:8px 0 0;
  font-size:21px; line-height:1.45; font-weight:700; color:#1A1A1A;
  letter-spacing:0.01em;
}
.en-visit-item-text{
  font-size:16px; line-height:1.8; color:var(--en-text);
  margin-top:16px;                 
}
.en-visit-item-text + .en-visit-item-text{ margin-top:29px; }  

.en-visit-btn{ margin-top:96px; }
.en-visit-btn a{ width:auto; min-width:340px; }

.en-about-text{ font-size:16px; line-height:1.8; color:var(--en-text); }
.en-about-text + .en-about-text{ margin-top:29px; }

.en-doctors{ padding:120px 0; }
.en-doctors-lead{ margin-top:24px; text-align:center; }
.en-doctor-row{
  display:grid; grid-template-columns:280px minmax(0,1fr);
  gap:48px; align-items:start;
  margin-top:72px;
}
.en-doctor-img img{
  width:100%; height:auto; display:block;
  aspect-ratio:3/4; object-fit:cover;
}
.en-doctor-name{
  margin:0; font-size:24px; line-height:1.4; font-weight:700; color:#1A1A1A;
  letter-spacing:0.01em;
}
.en-doctor-role{
  display:block; margin-top:8px;
  font-size:13px; letter-spacing:0.07em; text-transform:uppercase;
  color:var(--en-main); font-weight:500;
}
.en-doctor-text{
  margin-top:16px; max-width:560px;
  font-size:16px; line-height:1.8; color:var(--en-text);
}

.en-services .info-container{ padding-top:96px; }

.en-menu-wrap .menu-item p{ line-height:1.4; }
.en-services-desc{
  list-style:none; margin:72px auto 0; padding:0; max-width:720px;
}
.en-services-desc li{
  list-style:none;
  font-size:16px; line-height:1.8; color:var(--en-text);
  padding:20px 0; border-bottom:1px solid var(--en-line);
}
.en-services-desc li:first-child{ border-top:1px solid var(--en-line); }
.en-services-desc b{ font-weight:700; color:#1A1A1A; }

.en-access-list{ list-style:none; margin:32px 0 0; padding:0; max-width:520px; }
.en-access-list li{
  list-style:none;
  font-size:15px; line-height:1.8; color:var(--en-text);
  margin-top:12px;
}
.en-access-list b{ font-weight:700; color:#1A1A1A; }
.en-schedule table th,
.en-schedule table td{ letter-spacing:0.01em; }
.en-schedule-note{ font-size:14px; line-height:1.8; color:var(--en-text); margin-top:16px; }
.en-btn-wrap .footer-btn-left{ width:100%; }
.en-jp-link a{ font-weight:700; }

@media screen and (max-width:1000px){
  .en-visit-list{ gap:48px 40px; }
  .en-doctor-row{ grid-template-columns:220px minmax(0,1fr); gap:32px; }}

@media screen and (max-width:767px){
  .en-body p, .en-body li{ font-size:14px; }
  .en-lead{ font-size:14px; }
  .en-visit-list{
    grid-template-columns:minmax(0,1fr);
    gap:48px; margin-top:64px;
  }
  .en-visit-item-title{ font-size:19px; }
  .en-visit-text,
  .en-visit-item-text,
  .en-about-text,
  .en-doctor-text,
  .en-services-desc li{ font-size:14px; line-height:1.8; }
  .en-visit-btn{ margin-top:64px; }
  .en-visit-btn a{ min-width:0; width:100%; }
  .en-doctors{ padding:70px 0; }
  .en-doctor-row{
    grid-template-columns:minmax(0,1fr);
    gap:20px; margin-top:48px;
  }
  .en-doctor-img{ max-width:260px; }
  .en-doctor-name{ font-size:20px; }
  .en-services-desc{ margin-top:48px; }}

.en-top-lead{
  font-size:18px; line-height:1.7; color:#1A1A1A; font-weight:700;
  letter-spacing:0.01em; margin:0 0 32px;
}

.en-btn-links .btn-link{ height:auto; min-height:78px; }
.en-btn-links .btn-link a{ line-height:1.4; display:flex; align-items:center; padding-top:0; padding-bottom:0; min-height:78px; }  
.en-btn-links .btn-link a img{ margin-bottom:0; }
.en-btn-links-note{
  margin:12px 0 0;
  font-size:12px; line-height:1.7; color:var(--en-main); letter-spacing:0.02em;
}
@media screen and (max-width:767px){
  .en-top-lead{ font-size:15px; margin-bottom:24px; }
  .en-btn-links .btn-link{ min-height:60px; }
  .en-btn-links .btn-link a{ min-height:60px; }
  .en-services .info-container{ padding-top:64px; }}

.en-hero-shade{
  position:absolute; left:0; right:0; bottom:0; height:260px; z-index:2;
  background:linear-gradient(to top,
      rgba(0,0,0,.78)  0%,
      rgba(0,0,0,.74) 22%,   
      rgba(0,0,0,.46) 46%,
      rgba(0,0,0,0)  100%);
  pointer-events:none;
}
.en-hero-nav{ z-index:5; }
@media screen and (max-width:1000px){
  .en-hero-shade{ display:none; }}

@media screen and (max-width:767px){
  .hero-message-wrap .en-h1{ font-size:15px; padding:4px 7px; }}

@media screen and (max-width:767px){
  .en-access-list{ text-align:left; margin-left:auto; margin-right:auto; max-width:330px; }
  .en-access-list li{ margin-top:16px; }}

.en-body .footer-nav-item a{
  display:inline-flex; align-items:center; min-height:44px;
}
.en-body .drawer-nav li a{
  display:block; padding-top:4px; padding-bottom:4px; min-height:44px;
}

.en-services-lead{ margin-top:24px; text-align:center; }

.en-menu-wrap.en-menu-2{ justify-content:center; gap:24px; }
.en-menu-wrap.en-menu-2 .menu-item{ width:208px; }
.en-services-sub{
  margin:72px auto 0; max-width:720px;
  font-size:15px; line-height:1.8; color:var(--en-text); letter-spacing:0.01em;
}
.en-services-desc{ margin-top:24px; }
.en-tag-en, .en-tag-ja{
  display:inline-block; margin-left:6px; padding:2px 8px;
  font-style:normal; font-size:11px; letter-spacing:0.06em; line-height:1.6;
  white-space:nowrap; vertical-align:2px;
}
.en-tag-en{ background:#D9E6D4; color:#3E5C3F; }   
.en-tag-ja{ background:#EFEAE3; color:#6B6259; }

@media screen and (max-width:767px){
  .en-menu-wrap.en-menu-2{ gap:16px; }
  .en-menu-wrap.en-menu-2 .menu-item{ width:calc(50% - 8px); }
  .en-services-sub{ margin-top:48px; font-size:14px; }
  .en-tag-en, .en-tag-ja{ margin-left:0; margin-top:4px; }}

.en-page .header{ position:relative; }

.en-breadcrumb{ padding:24px 0 0; }
.en-breadcrumb .inner{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.en-breadcrumb a,
.en-breadcrumb em{
  font-size:13px; letter-spacing:0.03em; font-style:normal; line-height:1.6;
}
.en-breadcrumb a{ color:var(--en-main); text-decoration:underline; text-underline-offset:3px; }
.en-breadcrumb span{ color:#B9B2A8; font-size:12px; }
.en-breadcrumb em{ color:var(--en-text); }

.en-page-head h1{
  font-family:"Montserrat", sans-serif;
  letter-spacing:0.01em; line-height:1.35;
}
.en-page-head p{
  font-size:16px; line-height:1.8; color:var(--en-text); letter-spacing:0.01em;
}
.en-page-head p + p{ margin-top:29px; }

.en-showcard{ background:var(--en-cream); padding:120px 0; }
.en-card-list{
  list-style:none; margin:64px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;
}
.en-card{
  list-style:none; background:#fff; padding:28px 28px 26px;
  border-left:3px solid var(--en-main);
}
.en-card-en{
  margin:0; font-size:16px; line-height:1.7; color:#1A1A1A; font-weight:700;
  letter-spacing:0.01em;
}
.en-card-jp{
  margin:14px 0 0; font-size:19px; line-height:1.7;
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color:#1A1A1A; letter-spacing:0.02em;
}
.en-note{
  margin:40px 0 0; font-size:14px; line-height:1.8; color:var(--en-main);
  letter-spacing:0.01em; text-align:center;
}

.en-when{ padding:120px 0 0; }
.en-when .en-lead{ margin-top:32px; }
.en-when-note{ margin-top:29px; }

.en-flow{ padding-top:120px; }
.en-flow .out-flow-content h3{ line-height:1.45; letter-spacing:0.01em; }
.en-flow .out-flow-content p{
  font-size:16px; line-height:1.8; color:var(--en-text); letter-spacing:0.01em;
}
.en-flow .out-flow-content p + p{ margin-top:29px; }

.en-bring{ padding:120px 0; }
.en-good{ padding:0 0 120px; }
.en-bring-list, .en-good-list{
  list-style:none; margin:64px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:56px 48px;
}
.en-bring-list li, .en-good-list li{ list-style:none; }
.en-bring-t, .en-good-t{
  margin:0; font-size:19px; line-height:1.45; font-weight:700; color:#1A1A1A;
  letter-spacing:0.01em;
}
.en-bring-d, .en-good-d{
  margin:16px 0 0; font-size:16px; line-height:1.8; color:var(--en-text);
  letter-spacing:0.01em;
}
.en-good-d a{
  color:var(--en-main); text-decoration:underline; text-underline-offset:3px;
  white-space:nowrap;
}

.en-pay{ background:var(--en-green); padding:120px 0; }
.en-pay-grid{
  margin-top:64px;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px;
}
.en-pay-col h3{
  margin:0; font-size:19px; line-height:1.45; font-weight:700; color:#1A1A1A;
  letter-spacing:0.01em;
}
.en-pay-col p{
  margin:16px 0 0; font-size:16px; line-height:1.8; color:var(--en-text);
  letter-spacing:0.01em;
}
.en-pay-col p + p{ margin-top:29px; }

.en-online{ padding:120px 0; }
.en-online .en-lead{ margin-top:32px; }
.en-online-list{
  list-style:none; margin:56px auto 0; padding:0; max-width:720px;
}
.en-online-list li{
  list-style:none; display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px;
  padding:20px 0; border-bottom:1px solid var(--en-line);
  font-size:16px; line-height:1.8; color:var(--en-text);
}
.en-online-list li:first-child{ border-top:1px solid var(--en-line); }
.en-online-list b{ font-weight:700; color:#1A1A1A; }
.en-warn{
  margin:40px auto 0; max-width:720px; padding:24px 28px;
  background:#FBF1EF; border-left:3px solid #C0392B;
  font-size:15px; line-height:1.8; color:var(--en-text); letter-spacing:0.01em;
}

.en-cta{ padding:0 0 120px; text-align:center; }
.en-cta-text{
  margin:0 0 40px; font-size:16px; line-height:1.8; color:var(--en-text);
  letter-spacing:0.01em;
}
.en-cta-btn a{ width:auto; min-width:300px; }

@media screen and (max-width:1000px){
  .en-card-list{ gap:20px; }
  .en-bring-list, .en-good-list{ gap:48px 40px; }}

@media screen and (max-width:767px){
  .en-breadcrumb{ padding-top:16px; }
  .en-breadcrumb a, .en-breadcrumb em{ font-size:12px; }
  .en-page-head p{ font-size:14px; }
  .en-showcard{ padding:70px 0; }
  .en-card-list{ grid-template-columns:minmax(0,1fr); gap:16px; margin-top:48px; }
  .en-card{ padding:20px 20px 18px; }
  .en-card-en{ font-size:14px; }
  .en-card-jp{ font-size:17px; margin-top:10px; }
  .en-note{ margin-top:32px; font-size:13px; text-align:left; }
  .en-when{ padding-top:70px; }
  .en-flow{ padding-top:70px; }
  .en-flow .out-flow-content p{ font-size:14px; }
  .en-bring, .en-pay, .en-online{ padding:70px 0; }
  .en-good{ padding-bottom:70px; }
  .en-bring-list, .en-good-list, .en-pay-grid{
    grid-template-columns:minmax(0,1fr); gap:40px; margin-top:48px;
  }
  .en-bring-t, .en-good-t, .en-pay-col h3{ font-size:17px; }
  .en-bring-d, .en-good-d, .en-pay-col p, .en-online-list li{ font-size:14px; }
  .en-online-list li{ grid-template-columns:minmax(0,1fr); gap:6px; }
  .en-warn{ padding:20px; font-size:14px; }
  .en-cta{ padding-bottom:70px; }
  .en-cta-btn a{ min-width:0; width:100%; }}

.en-page .page-h2-wrap h1{
  font-family:"Montserrat", sans-serif;
  font-size:32px; line-height:1.35; font-weight:700; color:#1A1A1A;
  letter-spacing:0.01em; margin:0;
}
@media (min-width: 768px) and (max-width:1000px){
  .en-page .page-h2-wrap h1{ font-size:28px; }}
@media screen and (max-width:767px){
  .en-page .page-h2-wrap h1{ font-size:23px; }}

.en-flow .out-flow-content h3{ margin-bottom:16px; }

.en-more{
  display:inline-block; margin-left:8px;
  font-size:13px; letter-spacing:0.03em; white-space:nowrap;
  color:var(--en-main); text-decoration:underline; text-underline-offset:3px;
}
.en-more::after{ content:" →"; }
.en-about-btn{ margin-top:40px; }
@media screen and (max-width:767px){
  .en-more{ display:block; margin-left:0; margin-top:8px; }
  .en-about-btn{ margin-top:32px; }
  .en-about-btn a{ width:100%; }}

.en-body .brown-btn a{
  height:auto; min-height:74px;
  display:flex; align-items:center; padding-top:0; padding-bottom:0;
}
@media screen and (max-width:767px){
  .en-body .brown-btn a{ min-height:50px; }}

.en-body .btn a{ justify-content:center; }

.en-body .footer-access-btn{
  width:auto; max-width:330px;
  margin-left:0; margin-right:0;
}
.en-body .en-btn-wrap{ justify-content:center; }
.en-body .en-btn-wrap .footer-btn-left{
  padding-right:0; text-align:center; width:100%;
}
.en-body .en-btn-wrap .footer-btn-left::after{ display:none; }  
@media (min-width: 768px) and (max-width:1000px){
  .en-body .footer-access-btn{ margin-left:auto; margin-right:auto; }}
@media screen and (max-width:767px){
  .en-body .footer-access-btn{ max-width:none; }}

.en-body .btn a{ flex-direction:column; align-items:center; }
.en-body .en-btn-wrap .footer-btn-left{ display:block; }
.en-body .header-sp-web a{ flex-direction:column; align-items:center; justify-content:center; }

@media screen and (max-width:767px){
  .en-body .header-sp-web a{ padding-top:0; padding-bottom:0; height:100%; }}

.en-body .footer-logo{ font-size:27px; line-height:1.5; }
@media screen and (max-width:767px){
  .en-body .footer-logo{ font-size:19px; }}