@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400&display=swap');
:root { --color_text: #5d4742; --color_footer: #372c28; --font_english: Poppins, sans-serif; }
#ekkyo_design { 
  margin: 0; 
  color: var(--color_text); 
  background: #fff; 
  font-family: "dnp-shuei-gothic-kin-std", sans-serif;
  font-weight: 400;
  font-feature-settings: 'palt';
  letter-spacing: 1.2px;
}
#ekkyo_design img { display: block; max-width: 100%; height: auto; }
#ekkyo_design a { text-decoration: none; text-underline-offset: 4px; }
#ekkyo_design :focus-visible { outline: 2px solid #587ab7; outline-offset: 5px; }
#ekkyo_design .visually_hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#ekkyo_design .nav_list { display: flex; flex-wrap: wrap; gap: 24px; list-style: none; font-family: var(--font_english); font-weight: 300; }

#ekkyo_design .kaso__header--box {
  display: flex;
  justify-content: space-between;
  padding: 24px 6%;
}
#ekkyo_design .site_header__menu {
  position: fixed;
  z-index: 30;
  top: min(32px, 4%);
  right: 6%;
}
#ekkyo_design .site_header__toggle { display: none; }
#ekkyo_design .site_header__menu::details-content { content-visibility: visible; }
#ekkyo_design .site_header__menu > .site_header__nav { display: flex; }
#ekkyo_design .site_header__nav { align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 24px; font: 300 15px/20px var(--font_english); }
#ekkyo_design .site_header__nav .nav_list { justify-content: flex-end; row-gap: 12px; }
#ekkyo_design .site_header__contact { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid currentColor; border-radius: 40px; padding: 10px 25px; }
#ekkyo_design .site_header[data-variant='top'] { height: 768px; padding: 56px 3.75%; }
#ekkyo_design .site_header[data-variant='top'] .site_header__menu { 
    top: 56px;
    left: 3.75%;
    right: auto;
}
#ekkyo_design .site_header[data-variant='top'] .nav_list { 
  flex-direction: column;
  gap: 8px;
  font-size: clamp(0.813rem, 0.777rem + 0.18vw, 0.938rem);
  line-height: 1.5;
  letter-spacing: 0.4px;
}
#ekkyo_design .site_header[data-variant='top'] .nav_list a:hover {
  text-decoration: underline;
}
#ekkyo_design .site_header[data-variant='top'] .site_header__contact { display: none; }
#ekkyo_design .floating_contact { 
  position: absolute;
  top: 632px;
  left: 3.75%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  color: #fff;
  font: 300 15px/16px var(--font_english);
  background: linear-gradient(216.107deg, rgba(231,226,233,100%) 12.037%, #eecddd 29.153%, #a3b3d9 47.605%, #527bbd 64.453%, #1f286e 87.337%); 
  transition: all .3s;
}
#ekkyo_design .floating_contact:hover { 
  scale: 1.1;
}
#ekkyo_design .floating_contact--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
}
/* Empty body area is reserved for the page-specific implementation. */
#ekkyo_design[data-page='sub'] .common_preview { min-height: 238.5px; }
#ekkyo_design .site_footer { background: var(--color_footer); color: #fff; }
#ekkyo_design .site_footer__inner { max-width: 1920px; margin: auto; padding: 29px 2.777778% 32px 3.472222%; display: grid; grid-template-columns: minmax(0, 790fr) minmax(0, 536fr); column-gap: 24px; }
#ekkyo_design .site_footer__about { padding: 28px 3px 0; }
#ekkyo_design .site_footer__copy { width: 390.211px; height: auto; aspect-ratio: 390.211 / 177.597; }
#ekkyo_design .site_footer__address { margin: 29px 0 0 8px; font-style: normal; }
#ekkyo_design .site_footer__office { font-size: 19px; line-height: 35px; opacity: .8; }
#ekkyo_design .site_footer__location { margin-top: 4px; font-size: 12px; line-height: 18px; letter-spacing: .2px; opacity: .8; }
#ekkyo_design .site_footer__email { 
  display: inline-block;
  margin-top: 3px; 
  font: 300 13px/18px var(--font_english);
}
#ekkyo_design .site_footer__email:hover { 
  text-decoration: underline;
}
#ekkyo_design .contact_panel { min-height: 348px; border-radius: 8px; background: #231c14; text-align: center; padding: 38px 18px 29px; }
#ekkyo_design .contact_panel__heading { font: 300 36px/42px var(--font_english); }
#ekkyo_design .contact_panel__subtitle { margin-top: 4px; font-size: 13px; line-height: 21px; letter-spacing: .5px; }
#ekkyo_design .contact_panel__text { margin-top: 19px; font-size: 15px; line-height: 30px; letter-spacing: 1.2px; font-feature-settings: 'palt'; }
#ekkyo_design .contact_panel__button { display: flex; align-items: center; justify-content: center; gap: 16px; width: min(300px, 100%); min-height: 60px; margin: 24px auto 0; border: 2px solid #aaa; border-radius: 94px; background: #fff; color: var(--color_text); font-size: 19px; line-height: 35px; }
#ekkyo_design .contact_panel__policy { 
  display: inline-block;
  margin-top: 12px; 
  font: 300 12px/30px var(--font_english); 
  letter-spacing: .5px; 
}
#ekkyo_design .contact_panel__policy:hover { 
  text-decoration: underline; 
}
#ekkyo_design .site_footer__bottom { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; }
#ekkyo_design .site_footer__nav .nav_list { gap: 10px 16px; font-size: 12px; line-height: 30px; }
#ekkyo_design .site_footer__copyright { flex-shrink: 0; margin-right: 8px; font: 400 10px/10px var(--font_english); opacity: .8; }

@media screen and (max-width: 599px) {
  #ekkyo_design .site_header__logo { flex-basis: 130px; }
  #ekkyo_design .site_header__logo img { width: 130px; height: auto; aspect-ratio: 180 / 97.5; }
  #ekkyo_design .site_header__menu { top: 24px; right: 24px; margin-left: auto; }
  #ekkyo_design .site_header__toggle {
    position: relative;
    z-index: 2;
    display: block;
    width: 56px;
    height: 55px;
    padding: 0;
    border: 0;
    cursor: pointer;
    list-style: none;
  }
  #ekkyo_design .site_header__toggle::-webkit-details-marker { display: none; }
  #ekkyo_design .site_header__toggle_icon {
    position: absolute;
    inset: 0;
    width: 56px;
    height: 55px;
    transition: opacity .3s ease, transform .3s ease;
  }
  #ekkyo_design .site_header__toggle_icon--open { opacity: 1; transform: rotate(0deg) scale(1); }
  #ekkyo_design .site_header__toggle_icon--close { opacity: 0; transform: rotate(-12deg) scale(.9); }
  #ekkyo_design .site_header__menu[open] .site_header__toggle_icon--open { opacity: 0; transform: rotate(12deg) scale(.9); }
  #ekkyo_design .site_header__menu[open] .site_header__toggle_icon--close { opacity: 1; transform: rotate(0deg) scale(1); }
  #ekkyo_design .site_header__menu:not([open]) > .site_header__nav {
    display: flex;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px);
  }
  #ekkyo_design .site_header__nav {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 30px;
    padding: 100px 30px 45px;
    color: #fff;
    background: linear-gradient(195deg, #aeb1cd 0%, #557ebc 48%, #1f286e 100%);
    overflow-y: auto;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .35s ease, transform .35s ease, visibility .35s allow-discrete;
  }
  #ekkyo_design .site_header__nav .nav_list { align-items: center; flex-direction: column; gap: 10px; font-size: 17px; line-height: 24px; }
  #ekkyo_design .site_header__nav .nav_list a { display: block; padding: 7px 0; }
  #ekkyo_design .site_header__contact,
  #ekkyo_design .site_header[data-variant='top'] .site_header__contact {
    display: inline-flex;
    min-width: 180px;
    min-height: 50px;
    border-color: currentColor;
  }
  #ekkyo_design .site_header__contact img { filter: brightness(0) invert(1); }
  #ekkyo_design .site_header[data-variant='top'] { height: 400px; padding: 24px; justify-content: flex-end; }
  #ekkyo_design .site_header[data-variant='top'] .site_header__menu { 
    top: 20.5px;
    right: 4%;
    left: auto;
  }
  #ekkyo_design .site_header[data-variant='top'] .site_header__nav { top: 0; }
  #ekkyo_design .site_header[data-variant='top'] .nav_list { font-size: 17px; }
  #ekkyo_design .floating_contact { left: 24px; top: 296px; width: 80px; height: 80px; font-size: 13px; }
  #ekkyo_design[data-page='sub'] { background-size: auto 300px; }
  #ekkyo_design[data-page='sub'] .common_preview { min-height: 181.6px; }
  #ekkyo_design .site_footer__inner { padding: 36px 24px 24px; grid-template-columns: minmax(0, 1fr); gap: 32px; }
  #ekkyo_design .site_footer__about { padding: 0; }
  #ekkyo_design .site_footer__copy { width: min(250px, 100%); }
  #ekkyo_design .site_footer__address { margin: 24px 0 0; }
  #ekkyo_design .site_footer__office { font-size: 16px; }
  #ekkyo_design .site_footer__location { font-size: 12px; }
  #ekkyo_design .contact_panel { padding: 32px 16px 24px; min-height: 0; }
  #ekkyo_design .contact_panel__heading { font-size: 30px; }
  #ekkyo_design .contact_panel__text { font-size: 13px; letter-spacing: 0; }
  #ekkyo_design .contact_panel__button { font-size: 17px; }
  #ekkyo_design .site_footer__bottom { align-items: flex-start; flex-direction: column; margin-top: 0; }
  #ekkyo_design .site_footer__nav .nav_list { gap: 4px 16px; }
}
html.has_mobile_menu { overflow: hidden; }

/* index.html */
#ekkyo_design[data-page='top'] { --color_blue: #587ab7; --color_pale: #f5f3f7; }
#ekkyo_design[data-page='top'] .sp_break { display: none; }
#ekkyo_design .top_main { overflow: clip; }

#ekkyo_design .top_main section[id] { scroll-margin-top: 28px; }
#ekkyo_design .top_main .body_text { 
  font-size: clamp(0.813rem, 0.759rem + 0.27vw, 1rem);
  line-height: 2;
  letter-spacing: 1.2px;
}
#ekkyo_design .section_heading { 
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px;
  font: 300 36px/42px var(--font_english);
  margin-bottom: min(40px, 3%);
}
#ekkyo_design .section_heading__ja { font-family: 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif; font-size: 15px; line-height: 23px; font-weight: 400; }
#ekkyo_design .site_header[data-variant='top'] { position: absolute; inset: 0 0 auto; width: 100%; height: auto; pointer-events: none; }
#ekkyo_design .site_header[data-variant='top'] > * { pointer-events: auto; }
#ekkyo_design .site_header[data-variant='top'] .floating_contact {
    position: fixed;
    bottom: 8%;
    top: auto;
    z-index: 2;
}
#ekkyo_design .main_visual { 
    width: 100%;
    background: #e6e1e9;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    display: flex;
    aspect-ratio: 16 / 9;
}
#ekkyo_design .main_visual__box { 
    display: block;
    width: 72%;
}

#ekkyo_design .introduction { 
    max-width: 1440px;
    margin: auto;
    padding: min(9.3%, 135px) 0 min(5%, 75px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#ekkyo_design .introduction__copy { 
  max-width: 223px;
  width: 45%;
  margin-bottom: min(62px, 12%);
}
#ekkyo_design .introduction__text { 
    font-size: clamp(1rem, 0.911rem + 0.45vw, 1.313rem);
    line-height: 2.5;
    font-weight: 400;
    letter-spacing: 1.2px;
}
#ekkyo_design .introduction__text p + p { margin-top: 52px; }
#ekkyo_design .photo_loop { 
  overflow: hidden; 
  width: 100%; 
  margin-bottom: 95px; 
  margin-top: min(80px, 6%);
}
#ekkyo_design .photo_loop__track {
  display: flex;
  width: max-content;
  animation: photo_loop_scroll 50s linear infinite;
  will-change: transform;
  position: relative;
  z-index: 1;
}
#ekkyo_design .photo_loop__track img { flex: 0 0 auto; width: 3000px; max-width: none; height: 285px; }
@keyframes photo_loop_scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
#ekkyo_design .philosophy_vision {
  position: relative;
  isolation: isolate;
  padding: 153px 0 164px;
  color: #fff;
  background: linear-gradient(230deg, #f7cbdc 0%, #599ad4 52%, #1f286e 100%);
  background-size: 180% 180%;
  background-repeat: no-repeat;
  animation: philosophy_gradient 10s ease-in-out infinite;
}
@keyframes philosophy_gradient {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
#ekkyo_design .philosophy_vision::before { content: ''; position: absolute; z-index: -1; top: -436px; left: 50%; width: min(1394px, 150%); aspect-ratio: 1; transform: translateX(-50%); background: url('../img/philosophy_glow.svg') center / contain no-repeat; pointer-events: none; }
#ekkyo_design .philosophy_lead { margin: 0 auto 148px; width: 195px; transform: translateX(30px); }
#ekkyo_design .philosophy_lead img { width: 100%; }
#ekkyo_design .philosophy { max-width: 1100px; width: calc(100% - 120px); margin: auto; }
#ekkyo_design .philosophy__text { margin-top: 47px; }
#ekkyo_design .top_main .philosophy__text { 
  font-size: clamp(0.813rem, 0.741rem + 0.36vw, 1.063rem);
  line-height: 2;
  letter-spacing: 1.2px;
  font-weight: 400;

}
#ekkyo_design .philosophy__text p + p { margin-top: 35px; }
#ekkyo_design .philosophy__diagram { 
  display: block;
  max-width: 722px;;
  width: 66%; 
  margin: 59px auto 0; 
}
#ekkyo_design .element_diagram, #ekkyo_design .element_list { display: none; }
#ekkyo_design .vision { display: grid; grid-template-columns: 434fr 591fr; gap: 88px; width: calc(100% - 120px); max-width: 1118px; margin: 186px auto 0; }
#ekkyo_design .vision__content { grid-column: 2; grid-row: 1; }
#ekkyo_design .vision__diagram { grid-column: 1; grid-row: 1; width: 100%; border-radius: 3px; }
#ekkyo_design .vision__title { 
  font-size: clamp(1rem, 0.804rem + 0.98vw, 1.688rem);
  line-height: 1.6;
  margin-top: min(40px, 3%);
}
#ekkyo_design .vision__text { margin-top: 24px; }
#ekkyo_design .vision__text p + p { margin-top: 30px; }
#ekkyo_design .human_capital { width: calc(100% - 120px); max-width: 1110px; margin: 106px auto 0; padding: 64px 70px 60px; border: 1px solid #fff9; border-radius: 3px; text-align: center; }
#ekkyo_design .human_capital h2 { 
  font-size: clamp(1.313rem, 1.08rem + 1.16vw, 2.125rem);
  line-height: 46px;
  margin-bottom: 32px;
}
#ekkyo_design .human_capital p + p { margin-top: 30px; }
#ekkyo_design .landscape img { width: 100%; height: 500px; object-fit: cover; }
#ekkyo_design .approach { max-width: 1280px; width: calc(100% - 80px); margin: 88px auto 0; padding-bottom: 73px; }
#ekkyo_design .approach__heading { border-bottom: 1px solid #ccc; padding: 0 8px 19px; }
#ekkyo_design .approach_program { 
  padding: min(2%, 26px) 40px 0;
}
#ekkyo_design .approach_program__intro { display: grid; grid-template-columns: minmax(0, 1fr) 30.833333%; gap: 60px; min-height: 240px; }
#ekkyo_design .approach_program__intro > img { width: 100%; aspect-ratio: 37 / 24; object-fit: cover; border-radius: 3px; }
#ekkyo_design .approach_program__number { font: 300 15px/30px var(--font_english); }
#ekkyo_design .approach_program__summary h3 { font-size: 28px; line-height: 38px; margin: 24px 0 16px; }
#ekkyo_design .approach_program__body { margin-top: 40px; }
#ekkyo_design .approach_program__body h4 { font-size: clamp(1.063rem, 0.759rem + 1.52vw, 2.125rem); line-height: 46px; color: var(--color_blue); margin-bottom: 23px; font-feature-settings: 'palt'; }
#ekkyo_design .step_list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(278px,1fr); overflow-x: auto; gap: 2%; margin-top: 45px; }
#ekkyo_design .step_card { 
  display: flex;
  flex-direction: column;
  color: #fff;
  padding: 30px min(9%,34px) 32px;
  border-radius: 4px;
  background: linear-gradient(216deg,#efccde,#629bd1 48%,#20286f);
}
#ekkyo_design .step_card:nth-child(2) { 
  background: linear-gradient(-56deg,#efccde,#629bd1 48%,#20286f);
}
#ekkyo_design .step_card__number { font: 300 15px/30px var(--font_english); letter-spacing: .5px; }
#ekkyo_design .step_card h5 { font-size: 24px; line-height: 35px; margin-top: 4px; }
#ekkyo_design .step_card__lead { font-size: clamp(0.875rem, 0.821rem + 0.27vw, 1.063rem); line-height: 30px; margin: 16px 0 24px; min-height: 60px; font-feature-settings: 'palt'; }
#ekkyo_design .step_card ul { 
  border-top: 1px solid #fff8;
  padding-top: 20px;
  margin-top: auto;
  list-style: disc;
  list-style-position: outside;
  font-size: 14px;
  line-height: 1.6; 
}
#ekkyo_design .step_card li {
  margin-left: 1em;
  margin-bottom: 4px;
}
#ekkyo_design .approach_program__coaching { margin-top: 80px; border-top: 1px dotted #a89993; padding-top: 61px; }
#ekkyo_design .coaching_flow { margin: 36px -10px 0; overflow-x: auto; }
#ekkyo_design .coaching_flow img { width: 100%; }
#ekkyo_design .members { background: var(--color_pale); padding: 80px 0 100px; }
#ekkyo_design .members__inner { max-width: 1200px; width: calc(100% - 80px); margin: auto; }
#ekkyo_design .members__title {
  color: var(--color_blue);
  font-size: clamp(1rem, 0.804rem + 0.98vw, 1.688rem); 
  line-height: 1.6;
  font-weight: 400;
}
#ekkyo_design .member_list { 
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(min(100%, 280px),1fr));
  gap: 25px;
  margin-top: 28px;
}
#ekkyo_design .member_card__photo > img{
  border-radius: 4px;
}

#ekkyo_design .member_card__tagline { 
  font-size: clamp(0.75rem, 0.713rem + 0.19vw, 0.875rem);
  line-height: 1.5;
  margin-top: 16px;
  letter-spacing: .2px;
}
#ekkyo_design .member_card h4 { 
  font-size: clamp(1rem, 0.857rem + 0.71vw, 1.5rem); 
  line-height: 1.5; 
  margin-top: 4px; 
}
#ekkyo_design .member_card__role { 
  font-size: 13px; 
  line-height: 21px;
  margin-top: 12px;
  letter-spacing: .5px; 
}
#ekkyo_design .member_card__intro {
  font-size: 14px;
  line-height: 1.6;
  margin-top: 24px;
  padding-top: 24px;
  border-top: dashed 1px #ccc;
}
#ekkyo_design .member_card__trigger {
  display: block;
  width: 100%;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
#ekkyo_design .member_card__trigger .member_card__photo { overflow: hidden; border-radius: 4px; }
#ekkyo_design .member_card__trigger .member_card__photo img { transition: transform .35s ease; }
#ekkyo_design .member_card__trigger:hover .member_card__photo img { transform: scale(1.025); }
#ekkyo_design .member_popup {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 10vh 10vw;
  border: 0;
  color: var(--color_text);
  background: transparent;
  overflow: hidden;
}
#ekkyo_design .member_popup::backdrop { background: rgb(31 40 110 / 35%); }
#ekkyo_design .member_popup__surface {
  position: relative;
  display: grid;
  grid-template-columns: 34.097222% minmax(0, 1fr);
  height: 80vh;
  min-height: 0;
  border-radius: 4px;
  overflow: hidden;
  background: linear-gradient(135deg, #f7cbdc 0%, #599ad4 53%, #1f286e 100%);
}
#ekkyo_design .member_popup__profile {
    grid-column: 1;
    min-width: 0;
    padding: 0 14% 0 14%;
    background: #fff;
    overflow: hidden;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
#ekkyo_design .member_popup__photo {
  width: 100%;
  height: auto;
  aspect-ratio: 270 / 187;
  border-radius: 3px;
  object-fit: cover;
}
#ekkyo_design .member_popup__identity { margin-top: 24px; }
#ekkyo_design .member_popup__tagline,
#ekkyo_design .member_popup__role,
#ekkyo_design .member_popup__qualification { 
  font-size: clamp(0.75rem, 0.731rem + 0.09vw, 0.813rem);
  line-height: 21px;
  letter-spacing: .5px;

}
#ekkyo_design .member_popup__identity h2 { margin-top: 3px; font-size: 24px; line-height: 35px; font-weight: 400; }
#ekkyo_design .member_popup__role { margin-top: 16px; }
#ekkyo_design .member_popup__qualification { 
  margin-top: 24px;
  border-bottom: solid 1px #ccc;
  padding-bottom: 16px;
}
#ekkyo_design .member_popup__qualification h3 {
    padding-bottom: 5px;
    font-weight: 400;
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    gap: 10px;
}
#ekkyo_design .member_popup__qualification h3::before {
  background-color: #ccc; /* 横線の色 */
  content: "";
  flex-grow: 1; /* 横幅いっぱい */
  height: 1px; /* 横線の高さ */
}
#ekkyo_design .member_popup__qualification p {
  margin-top: 4px;
  white-space: nowrap;
}
#ekkyo_design .member_popup__qualification p::before { 
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 100vw;
    background: #587AB7;
    margin-right: 6px;
}
#ekkyo_design .member_popup__website {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 114px;
  min-height: 39px;
  margin-top: 23px;
  border: 1px solid currentColor;
  border-radius: 30px;
  font-size: 13px;
  line-height: 21px;
  letter-spacing: .5px;
  transition: all .3s;
}
#ekkyo_design .member_popup__website:hover {
  background-color: var(--color_text);
  color: #fff;
}
#ekkyo_design .member_popup__biography {
  grid-column: 2;
  grid-row: 1;
  min-height: 0;
  padding: min(80px, 11.2%) 14.22% 60px 11.38%;
  color: #fff;
  font-size: 15px;
  line-height: 30px;
  letter-spacing: 1.2px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
#ekkyo_design .member_popup__biography p:nth-child(3),
#ekkyo_design .member_popup__biography p:nth-child(4) { margin-top: 30px; }
#ekkyo_design .member_popup__close { position: absolute; z-index: 2; cursor: pointer; }
#ekkyo_design .member_popup__close--top { 
  top: 5%;
  right: 3.4%;
  width: 7%;
  max-width: 70px;
}
#ekkyo_design .member_popup__close--top img { width: 100%; height: 100%; }
#ekkyo_design .member_popup__close--bottom { display: none; }
html.has_member_popup { overflow: hidden; }
#ekkyo_design .advisory { 
  margin-top: min(62px, 8%);
  border-top: 1px solid #a99994;
  padding-top: 29px; 
}
#ekkyo_design .advisory h3 { font: 300 21px/23px var(--font_english); }
#ekkyo_design .advisory .member_list { margin-top: 27px; }
#ekkyo_design .advisory .member_card {
  background-color: #fff;
  padding: 24px 8%;
  border-radius: 4px;
}
#ekkyo_design .advisory .member_card__role { margin-top: 16px; }
#ekkyo_design .member_card__placeholder { background: #696969; }
#ekkyo_design .partners { margin-top: 51px; padding-top: 18px; border-top: 1px solid #a99994; }
#ekkyo_design .partners h3 { font-size: 19px; line-height: 35px; }
#ekkyo_design .partners__list { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%, 220px),1fr)); gap: 25px; margin-top: 27px; }
#ekkyo_design .partners__list li { height: 100px; display: grid; place-items: center; padding: 20px; background: #fff; }
#ekkyo_design .partners__list span { display: grid; place-items: center; width: 100%; height: 55px; background: #ff2222; color: #fff; font-size: 19px; }
#ekkyo_design .partners__list .partners__extra { display: none; }
#ekkyo_design .members__contact { text-align: center; margin: 44px auto 0; }
#ekkyo_design .pill_button { 
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  border: 2px solid #ffffff99;
  border-radius: 94px;
  min-height: 60px;
  padding: 22px 24px;
  background: #fff;
  color: var(--color_blue);
  font-size: 19px;
  line-height: 30px;
  text-align: center;
}
#ekkyo_design .pill_button img { flex-shrink: 0; }
#ekkyo_design .pill_button__dark { 
  color: #fff;
  background: #372c28;
  width: 300px;
  margin-top: 29px;
  transition: all .3s;
}
#ekkyo_design .pill_button__dark:hover {
  background: var(--color_blue);
}
#ekkyo_design .pill_button__blue { 
  background: var(--color_blue); color: #fff;
  transition: all .3s;
}
#ekkyo_design .pill_button__blue:hover { 
  opacity: 0.4;
}
#ekkyo_design .pill_button__blue img { filter: brightness(0) invert(1); }
#ekkyo_design .pilot_program { max-width: 1110px; width: calc(100% - 120px); margin: 100px auto 0; }
#ekkyo_design .pilot_program__intro { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 41.26%; gap: 0 70px; }
#ekkyo_design .pilot_program__intro .section_heading { grid-column: 1; }
#ekkyo_design .pilot_program__text {
    font-size: clamp(0.75rem, 0.714rem + 0.18vw, 0.875rem);
    line-height: 2;
    letter-spacing: 1.2px;
}





#ekkyo_design .pilot_program__lead { grid-column: 1; margin-top: 45px; font-size: 24px; line-height: 35px; font-feature-settings: 'palt'; }
#ekkyo_design .pilot_program__lead h3 { margin-bottom: 20px; }
#ekkyo_design .pilot_program__photo { grid-column: 2; grid-row: 1/4; width: 100%; border-radius: 3px; }
#ekkyo_design .pilot_program__formula { 
  display: block;
  max-width: 827px;
  width: 74.5%;
  grid-column: 1/3;
  grid-row: 3;
  z-index: 1;
  margin-top: 72px; 
}
#ekkyo_design .pilot_program__formula img { width: 100%; }
#ekkyo_design .pilot_formula { display: none; }
#ekkyo_design .shirahama { position: relative; display: grid; grid-template-columns: 264px minmax(0,1fr); gap: 14px 59px; margin-top: 74px; padding: 53px 24px 0 26px; border-top: 1px solid #a99994; }
#ekkyo_design .shirahama::before { content: '“'; position: absolute; top: -30px; left: 0; font: 58px/1 Georgia,serif; background: #fff; padding-right: 15px; }
#ekkyo_design .shirahama h3 { grid-column: 2; font-size: 24px; line-height: 35px; }
#ekkyo_design .shirahama > img { grid-column: 1; grid-row: 1/3; width: 100%; border-radius: 3px; }
#ekkyo_design .shirahama > p { grid-column: 2; }
#ekkyo_design .recruitment { max-width: 1280px; width: calc(100% - 80px); margin: 76px auto 0; padding: 80px 8% 57px; background: var(--color_pale); border-radius: 16px; text-align: center; }
#ekkyo_design .recruitment > h2 { font-size: 34px; line-height: 46px; font-feature-settings: 'palt'; }
#ekkyo_design .recruitment__subtitle { font-size: 24px; line-height: 35px; margin-top: 4px; }
#ekkyo_design .recruitment__message { margin-top: 32px; }
#ekkyo_design .recruitment__schedule { font-size: 34px; line-height: 46px; margin-top: 34px; color: var(--color_blue); }
#ekkyo_design .recruitment__guidelines { 
  display: inline-flex;
  gap: 8px; 
  align-items: center; 
  border-bottom: 1px solid #a99994; 
  padding: 0 12px 8px; 
  margin-top: 40px; 
  font-size: clamp(0.875rem, 0.786rem + 0.45vw, 1.188rem); 
  line-height: 35px; 
  font-weight: 500;
}
#ekkyo_design .recruitment__guidelines:hover {
    border-bottom: 1px solid var(--color_text)
}
#ekkyo_design .entry_cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%, 420px),1fr)); gap: 24px; margin-top: 60px; text-align: left; }
#ekkyo_design .entry_card { min-height: 530px; padding: 39px 40px 53px; background: #fff; border: 2px solid var(--color_blue); border-radius: 5px; display: flex; flex-direction: column; }
#ekkyo_design .entry_card h3 { font-size: 24px; line-height: 35px; }
#ekkyo_design .entry_card__english { font: 300 15px/30px var(--font_english); margin-top: 4px; }
#ekkyo_design .entry_card h4 { display: inline-block; width: fit-content; padding: 2px 11px; color: #fff; background: var(--color_blue); border-radius: 30px; font-size: 15px; line-height: 30px; white-space: nowrap; }
#ekkyo_design .entry_card__details { 
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 16px 20px;
  align-items: start;
  margin-top: 25px; 
}
#ekkyo_design .entry_card__dates { font-size: 19px; line-height: 27px; white-space: nowrap; font-feature-settings: 'palt'; }
#ekkyo_design .entry_card__dates li { border-bottom: 1px dotted #ccc; padding-bottom: 8px; margin-bottom: 8px; }
#ekkyo_design .entry_card__zoom { font-size: 19px; line-height: 30px; }
#ekkyo_design .entry_card__note { 
  font-size: 13px; 
  line-height: 18px;
}
#ekkyo_design .entry_card__note > li {
  display: flex;
  margin-top: 4px;
}
#ekkyo_design .entry_card__note > li::before { 
  content: "※";
  display: inline-block;
  padding-left: 12px;
  text-indent: -12px;
}
#ekkyo_design .entry_card .pill_button { width: 100%; min-height: 75px; margin-top: auto; transition: all .3s; }
#ekkyo_design .entry_card .pill_button:hover {
  opacity: .7;
}
#ekkyo_design .entry_card__blue { background: var(--color_blue); color: #fff; }
#ekkyo_design .entry_card__blue h4 { margin-top: 25px; border: 1px solid #fff; }
#ekkyo_design .entry_card__deadline { font-size: 34px; line-height: 46px; margin: 15px 0 16px; }
#ekkyo_design .program_details { max-width: 1280px; width: calc(100% - 80px); margin: 70px auto 0; }
#ekkyo_design .program_details__list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%, 540px),1fr)); gap: 24px; margin-top: 32px; }
#ekkyo_design .program_card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding: 40px 30px 40px 50px; min-height: 195px; border-radius: 8px; color: #fff; background: linear-gradient(216deg,#efccde,#609bd1 50%,#20286f); }
#ekkyo_design .program_card h3 { font-size: 24px; line-height: 35px; }
#ekkyo_design .program_card p { font-size: 15px; line-height: 30px; margin-top: 4px; font-feature-settings: 'palt'; }
#ekkyo_design .program_card .pill_button { flex-shrink: 0; width: 219px; min-height: 55px; padding: 8px 12px; font-size: 15px; line-height: 25px; gap: 8px; transition: all .3s;}
#ekkyo_design .program_card .pill_button:hover {
  opacity: .7;
}
#ekkyo_design .photo_loop__bottom { margin-top: 110px; margin-bottom: 95px; }
#ekkyo_design .photo_loop__bottom .photo_loop__track { animation-delay: -8s; }
@media screen and (max-width: 599px) {
  #ekkyo_design[data-page='top'] .pc_break { display: none; }
  #ekkyo_design[data-page='top'] .sp_break { display: initial; }
  #ekkyo_design .top_main .body_text {line-height: 22px; letter-spacing: 1.2px; }
  #ekkyo_design .section_heading { gap: 4px; font-size: 21px; line-height: 25px; letter-spacing: .5px; }
  #ekkyo_design .section_heading__ja { font-size: 12px; line-height: 18px; letter-spacing: .2px; }
  #ekkyo_design .site_header[data-variant='top'] { padding: 16px 4%; height: auto; }
  #ekkyo_design .site_header[data-variant='top'] .site_header__toggle { width: 56px; height: 55px; padding: 0; border: 0; }
  #ekkyo_design .site_header[data-variant='top'] .floating_contact { display: none; }
  #ekkyo_design .main_visual { 
    padding: calc(80px + 2%) 0 10% 0;
  }
  #ekkyo_design .main_visual__box { 
    width: 100%;
}
  #ekkyo_design .introduction { padding: 68px 30px 54px; }
  #ekkyo_design .introduction__copy { display: block; width: 155px; height: auto; margin-bottom: 33px; }
  #ekkyo_design .introduction__text { margin: 0; padding: 0; font-size: 15px; line-height: 29px; }
  #ekkyo_design .introduction__text p + p { margin-top: 29px; }
  #ekkyo_design .photo_loop { height: 142.5px; margin-bottom: 76px; }
  #ekkyo_design .photo_loop__track img { width: 1500px; height: 142.5px; }
  #ekkyo_design .philosophy_vision {
    padding: 54px 0 60px;
    background-color: #527fb6;
    background-image: linear-gradient(253deg, #f7cbdc 0%, #599ad4 52%, #1f286e 100%);
    background-position: 0% 50%;
    background-size: 180% 180%;
    background-repeat: no-repeat;
    animation-name: philosophy_gradient;
  }
  #ekkyo_design .philosophy_vision::before { top: -211px; width: 658px; max-width: none; background-image: url('../img/philosophy_glow_sp.svg'); }
  #ekkyo_design .philosophy_lead { width: 113px; height: 215px; margin-bottom: 74px; transform: translateX(13px); }
  #ekkyo_design .philosophy_lead img { width: 100%; height: 100%; object-fit: contain; }
  #ekkyo_design .philosophy { width: auto; margin: 0 5%; }
  #ekkyo_design .philosophy__text { margin-top: 24px; }
  #ekkyo_design .top_main .philosophy__text {line-height: 22px; letter-spacing: 1.2px; }
  #ekkyo_design .philosophy__text p + p { margin-top: 22px; }
  #ekkyo_design .philosophy__diagram { 
    width: 100%;
    margin: 8% auto;
  }



  #ekkyo_design .element_diagram { position: relative; display: block; width: 300px; max-width: 100%; aspect-ratio: 300/290; margin: 57px auto 50px; }
  #ekkyo_design .element_diagram__center { position: absolute; inset: 8% 11.67% 12%; border: 1px solid #fffa; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-direction: column; background: radial-gradient(ellipse, #fff 0%, #fff9 30%, #fff0 72%); box-shadow: 0 0 45px #fff9; color: #5d4742; font-size: 21px; line-height: 25px; }
  #ekkyo_design .element_diagram__center img { margin-bottom: 3px; filter: brightness(0) saturate(100%) invert(47%) sepia(26%) saturate(965%) hue-rotate(177deg); }
  #ekkyo_design .element_diagram__center small { color: var(--color_blue); }
  #ekkyo_design .element_diagram small { font: 400 11px/15px var(--font_english); letter-spacing: .5px; }
  #ekkyo_design .element_diagram__circle { position: absolute; width: 35.26%; aspect-ratio: 1; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-direction: column; font-size: 16px; line-height: 20px; }
  #ekkyo_design .element_diagram__circle img { margin-bottom: 4px; }
  #ekkyo_design .element_diagram .element_nature { top: 0; left: 0; }
  #ekkyo_design .element_diagram .element_art { top: 0; right: 0; }
  #ekkyo_design .element_diagram .element_dialog { bottom: 0; left: 0; }
  #ekkyo_design .element_diagram .element_exchange { bottom: 0; right: 0; }
  #ekkyo_design .element_nature { background: linear-gradient(130deg,#079943,#b7d950); }
  #ekkyo_design .element_art { background: linear-gradient(145deg,#ff5603,#ffb841); }
  #ekkyo_design .element_dialog { background: linear-gradient(155deg,#0295bf,#104878); }
  #ekkyo_design .element_exchange { background: linear-gradient(155deg,#2e8fc9,#baafe1); }
  #ekkyo_design .element_list { display: grid; gap: 10px; }
  #ekkyo_design .element_list__item { display: grid; grid-template-columns: 50px minmax(0,1fr); gap: 12px; align-items: center; min-height: 130px; padding: 22px 25px 22px 32px; border-radius: 80px; }
  #ekkyo_design .element_ekkyo { border: 1px solid #fff; }
  #ekkyo_design .element_list__label { display: flex; align-items: center; flex-direction: column; font-size: 15px; line-height: 19px; }
  #ekkyo_design .element_list__label img { margin-bottom: 4px; }
  #ekkyo_design .element_list__label small { font: 400 10px/12px var(--font_english); }
  #ekkyo_design .element_list__item p { 
    font-size: clamp(0.813rem, 0.741rem + 0.36vw, 0.875rem);
    line-height: 19px;
    letter-spacing: .5px; 
  }
  #ekkyo_design .vision { display: flex; flex-direction: column; gap: 40px; width: auto; margin: 53px 30px 0; }
  #ekkyo_design .vision__title { line-height: 24px; margin-top: 24px; }
  #ekkyo_design .vision__text { margin-top: 16px; }
  #ekkyo_design .vision__text p + p { margin-top: 22px; }
  #ekkyo_design .vision__diagram { width: 100%; }
  #ekkyo_design .human_capital { width: auto; margin: 50px 20px 0; padding: 38px 29px 76px; text-align: left; }
  #ekkyo_design .human_capital h2 { font-size: 21px; line-height: 30px; margin-bottom: 21px; }
  #ekkyo_design .human_capital p + p { margin-top: 22px; }
  #ekkyo_design .landscape img { height: 240px; object-position: 48% center; }
  #ekkyo_design .approach { width: auto; margin: 42px 20px 0; padding-bottom: 80px; }
  #ekkyo_design .approach__heading { padding: 0 0 14px; }
  #ekkyo_design .approach_program { padding: 24px 0 0; }
  #ekkyo_design .approach_program__intro { display: flex; flex-direction: column; gap: 30px; min-height: 0; }
  #ekkyo_design .approach_program__summary { padding: 0 10px; }
  #ekkyo_design .approach_program__number { font-size: 12px; line-height: 15px; letter-spacing: .5px; }
  #ekkyo_design .approach_program__summary h3 { font-size: 16px; line-height: 24px; margin: 8px 0 16px; }
  #ekkyo_design .approach_program__intro > img { width: 100%; }
  #ekkyo_design .approach_program__body { margin: 40px 10px 0; }
  #ekkyo_design .approach_program__body h4 {line-height: 24px; letter-spacing: .5px; margin-bottom: 16px; }
  #ekkyo_design .step_list { display: flex; gap: 18px; overflow-x: auto; margin: 34px -20px 0; padding: 0 30px 4px; scroll-snap-type: x mandatory; scroll-padding-left: 30px; }
  #ekkyo_design .step_card { flex: 0 0 278px; min-height: 300px; padding: 25px 26px 24px; scroll-snap-align: start; }
  #ekkyo_design .step_card__number { font-size: 12px; line-height: 15px; }
  #ekkyo_design .step_card h5 { font-size: 21px; line-height: 27px; margin-top: 8px; }
  #ekkyo_design .step_card__lead {line-height: 22px; margin: 12px 0 20px; min-height: 44px; }
  #ekkyo_design .step_card ul { 
    font-size: 13px; line-height: 19px; padding-top: 19px; }
  #ekkyo_design .step_card li { margin-bottom: 4px; }
  #ekkyo_design .approach_program__coaching { margin-top: 40px; padding-top: 39px; }
  #ekkyo_design .coaching_flow { margin: 18px -20px 0; padding: 0 30px 0; }
  #ekkyo_design .members { padding: 0 0 66px; }
  #ekkyo_design .members__inner { width: auto; margin: 0 5%; padding-top: 12%; }
  #ekkyo_design .members__title { line-height: 24px; margin-top: 26px; }
  #ekkyo_design .members__intro { margin-top: 3px; }
  #ekkyo_design .member_list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 16px; margin-top: 24px; }
  #ekkyo_design .member_card__tagline { font-size: 10px; line-height: 15px; margin-top: 8px; letter-spacing: .2px; }
  #ekkyo_design .member_card h4 { font-size: 16px; line-height: 24px; margin-top: 2px; }
  #ekkyo_design .member_card__role { font-size: 10px; line-height: 15px; margin-top: 8px; letter-spacing: .2px; }
  #ekkyo_design .member_card__trigger:hover .member_card__photo img { transform: none; }
  #ekkyo_design .member_popup__surface {
    display: block;
    height: 80vh;
    min-height: 0;
    padding: 10px 10px 38px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: linear-gradient(195.254deg, #f7cbdc .38%, #599ad4 52.047%, #1f286e 99.74%);
  }
  #ekkyo_design .member_popup__profile {
    min-height: 490px;
    padding: 38px 35px 20px;
    border-radius: 4px;
    overflow: visible;
  }
  #ekkyo_design .member_popup__photo {
    width: 270px;
    max-width: 100%;
    aspect-ratio: 270 / 187;
  }
  #ekkyo_design .member_popup__identity { margin-top: 14px; }
  #ekkyo_design .member_popup__tagline,
  #ekkyo_design .member_popup__role { font-size: 12px; line-height: 19px; letter-spacing: .5px; }
  #ekkyo_design .member_popup__identity h2 { margin-top: 0; font-size: 16px; line-height: 24px; }
  #ekkyo_design .member_popup__role { margin-top: 11px; }
  #ekkyo_design .member_popup__qualification {
    margin-top: 18px;
    padding-bottom: 21px;
    border-bottom: 1px solid currentColor;
    font-size: 13px;
    line-height: 22px;
  }
  #ekkyo_design .member_popup__qualification h3 { padding-bottom: 0; }
  #ekkyo_design .member_popup__qualification p { margin-top: 1px; font-size: 12px; line-height: 18px; }
  #ekkyo_design .member_popup__website {
    width: 100%;
    min-height: 50px;
    margin-top: 19px;
    border-color: #111;
    border-radius: 30px;
    color: #111;
    font-size: 15px;
    line-height: 22px;
  }
  #ekkyo_design .member_popup__biography {
    min-height: auto;
    padding: 68px 20px 0;
    font-size: 13px;
    line-height: 22px;
    letter-spacing: 1.2px;
    overflow: visible;
  }
  #ekkyo_design .member_popup__biography p:nth-child(3),
  #ekkyo_design .member_popup__biography p:nth-child(4) { margin-top: 22px; }
  #ekkyo_design .member_popup__close--top { top: 20px; right: 20px; width: 47px; height: 39px; }
  #ekkyo_design .member_popup__close--bottom {
    position: relative;
    display: block;
    width: 47px;
    height: 39px;
    margin: 25px auto 0;
  }
  #ekkyo_design .advisory { margin-top: 48px; padding-top: 10px; }
  #ekkyo_design .advisory h3 { font-size: 13px; line-height: 15px; }
  #ekkyo_design .advisory .member_list { margin-top: 25px; }
  #ekkyo_design .advisory .member_card__role { margin-top: 8px; }
  #ekkyo_design .partners { margin-top: 49px; padding-top: 12px; }
  #ekkyo_design .partners h3 { font-size: 13px; line-height: 19px; }
  #ekkyo_design .partners__list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 16px; margin-top: 21px; }
  #ekkyo_design .partners__list li { height: 79px; padding: 15px; }
  #ekkyo_design .partners__list span { background: #fff; color: #5d4742; font-size: 12px; height: auto; }
  #ekkyo_design .partners__list .partners__extra { display: grid; }
  #ekkyo_design .members__contact { margin: 30px 10px 0; text-align: left; }
  #ekkyo_design .members__contact .pill_button { margin-top: 20px; width: 100%; font-size: 15px; font-weight: 600; }
  #ekkyo_design .pilot_program { width: auto; margin: 45px 20px 0; }
  #ekkyo_design .pilot_program__intro { display: flex; flex-direction: column; gap: 0; }
  #ekkyo_design .pilot_program__intro .section_heading { order: 0; }
  #ekkyo_design .pilot_program__photo { order: 1; margin-top: 24px; }
  #ekkyo_design .pilot_program__lead { order: 2; margin: 26px 10px 0; font-size: 16px; line-height: 24px; }
  #ekkyo_design .pilot_program__lead h3 { margin-bottom: 8px; }
  #ekkyo_design .pilot_program__formula { display: none; }
  #ekkyo_design .pilot_formula { display: grid; grid-template-columns: 88fr 43fr 124fr; align-items: start; gap: 18px; order: 3; margin: 27px 10px 0; text-align: center; }
  #ekkyo_design .pilot_formula h3 { font-size: 19px; line-height: 23px; white-space: nowrap; font-feature-settings: 'palt'; }
  #ekkyo_design .pilot_formula p { font-size: 13px; line-height: 18px; margin-top: 7px; white-space: nowrap; }
  #ekkyo_design .pilot_formula img { width: 43px; height: 43px; margin-top: 4px; }
  #ekkyo_design .shirahama { grid-template-columns: minmax(0,1fr) 151px; gap: 20px 12px; padding: 22px 10px 0; margin-top: 36px; }
  #ekkyo_design .shirahama::before { font-size: 34px; top: -17px; padding-right: 8px; }
  #ekkyo_design .shirahama h3 { grid-column: 1; grid-row: 1; align-self: center; font-size: 16px; line-height: 24px; }
  #ekkyo_design .shirahama > img { grid-column: 2; grid-row: 1; }
  #ekkyo_design .shirahama > p { grid-column: 1/3; }
  #ekkyo_design .recruitment { 
    width: auto; 
    margin-top: 78px; 
    padding: 48px 20px 60px; 
    border-radius:  16px 16px 0 0; 
  }
  #ekkyo_design .recruitment > h2 { font-size: 21px; line-height: 30px; }
  #ekkyo_design .recruitment__subtitle { font-size: 16px; line-height: 24px; margin-top: 8px; }
  #ekkyo_design .recruitment__message { margin: 22px 10px 0; text-align: left; }
  #ekkyo_design .recruitment__schedule { font-size: 18px; line-height: 27px; margin: 32px -5px 0; white-space: nowrap; }
  #ekkyo_design .recruitment__guidelines { line-height: 20px; padding: 0 0 4px; margin-top: 20px; gap: 4px; }
  #ekkyo_design .entry_cards { grid-template-columns: minmax(0,1fr); gap: 32px; margin-top: 32px; }
  #ekkyo_design .entry_card { padding: 28px 28px 32px; min-height: 485px; }
  #ekkyo_design .entry_card h3 { font-size: 16px; line-height: 24px; }
  #ekkyo_design .entry_card__english { font-size: 12px; line-height: 15px; margin-top: 4px; }
  #ekkyo_design .entry_card h4 { width: 100%; text-align: center; border-radius: 30px; font-size: 13px; line-height: 19px; padding: 2px 8px; }
  #ekkyo_design .entry_card__details { display: flex; flex-direction: column; gap: 14px; margin-top: 24px; }
  #ekkyo_design .entry_card__details > * { width: 100%; }
  #ekkyo_design .entry_card__dates { font-size: 16px; line-height: 24px; }
  #ekkyo_design .entry_card__dates li { padding-bottom: 8px; margin-bottom: 11px; }
  #ekkyo_design .entry_card__dates li:last-child { margin-bottom: 0; }
  #ekkyo_design .entry_card__zoom { font-size: 16px; line-height: 24px; }
  #ekkyo_design .entry_card__note { font-size: 11px; line-height: 15px; }
  #ekkyo_design .entry_card__details .entry_card__note { margin-top: 5px; }
  #ekkyo_design .entry_card .pill_button { min-height: 54px; font-size: 15px; line-height: 22px; margin-top: 22px; padding: 12px; }
  #ekkyo_design .entry_card__blue { min-height: 361px; }
  #ekkyo_design .entry_card__blue h4 { margin-top: 21px; }
  #ekkyo_design .entry_card__deadline { font-size: 24px; line-height: 28px; text-align: center; margin: 16px 0; }
  #ekkyo_design .program_details { width: auto; margin: 55px 20px 0; }
  #ekkyo_design .program_details__list { grid-template-columns: minmax(0,1fr); gap: 20px; margin-top: 24px; }
  #ekkyo_design .program_card { display: block; padding: 24px 25px 28px; min-height: 178px; }
  #ekkyo_design .program_card h3 { font-size: 19px; line-height: 28px; }
  #ekkyo_design .program_card p { font-size: 13px; line-height: 22px; margin-top: 4px; }
  #ekkyo_design .program_card .pill_button { width: 100%; min-height: 54px; margin-top: 18px; font-size: 15px; gap: 16px; }
  #ekkyo_design .photo_loop__bottom { margin-top: 64px; margin-bottom: 64px; }
  #ekkyo_design[data-page='top'] .site_footer__inner { padding: 28px 20px 52px; gap: 0; }
  #ekkyo_design[data-page='top'] .contact_panel { grid-row: 1; padding: 29px 20px 30px; min-height: 302px; }
  #ekkyo_design[data-page='top'] .contact_panel__heading { font-size: 24px; line-height: 25px; letter-spacing: .5px; }
  #ekkyo_design[data-page='top'] .contact_panel__subtitle { font-size: 13px; line-height: 22px; letter-spacing: 1.2px; }
  #ekkyo_design[data-page='top'] .contact_panel__text { font-size: 13px; line-height: 22px; margin-top: 13px; letter-spacing: 1.2px; }
  #ekkyo_design[data-page='top'] .contact_panel__button { margin-top: 22px; font-size: 15px; line-height: 22px; font-weight: 600; min-height: 60px; }
  #ekkyo_design[data-page='top'] .contact_panel__policy { margin-top: 13px; font-size: 12px; line-height: 16px; }
  #ekkyo_design[data-page='top'] .site_footer__about { grid-row: 2; margin: 45px 10px 0; }
  #ekkyo_design[data-page='top'] .site_footer__copy { width: 250px; }
  #ekkyo_design[data-page='top'] .site_footer__address { margin-top: 26px; }
  #ekkyo_design[data-page='top'] .site_footer__office { font-size: 17px; line-height: 23px; font-feature-settings: 'palt'; white-space: nowrap; }
  #ekkyo_design[data-page='top'] .site_footer__location { font-size: 11px; letter-spacing: 0; }
  #ekkyo_design[data-page='top'] .site_footer__bottom { grid-row: 3; margin: 38px 10px 0; gap: 39px; }
  #ekkyo_design[data-page='top'] .site_footer__nav { width: 100%; }
  #ekkyo_design[data-page='top'] .site_footer__nav .nav_list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; font-size: 15px; line-height: 20px; letter-spacing: .5px; }
}
/* coaching.html */
#ekkyo_design[data-page='sub'] .coaching_main { overflow: hidden; }
#ekkyo_design .kaso__header { 
  background: url('../img/kaso_header_bg.jpg') center top / 100% 400px no-repeat;
}
#ekkyo_design .coaching_intro {
  width: calc(100% - 120px);
  max-width: 1220px;
  margin: 0 auto;
}
#ekkyo_design .kaso_hero__inner { 
  margin: 0 auto;
  padding: 35px 6% 80px;
}
#ekkyo_design .kaso_hero h1 {
  font-size: clamp(1.438rem, 1.08rem + 1.79vw, 2.688rem);
  line-height: 55px;
  font-weight: 300;
  letter-spacing: 0;
  margin-bottom: 16px;
}
#ekkyo_design .kaso_hero p {
  font-size: clamp(0.813rem, 0.705rem + 0.54vw, 1.188rem);
}

#ekkyo_design .coaching_hero p {
  margin-top: 19px;
  font-size: 19px;
  line-height: 23px;
  letter-spacing: 1.2px;
}
#ekkyo_design .coaching_intro {
  padding-top: 80px;
}
#ekkyo_design .coaching_intro h2 {
  color: #587ab7;
  font-size: clamp(1.063rem, 0.759rem + 1.52vw, 2.125rem);
  line-height: 46px;
  font-weight: 300;
  letter-spacing: 1.2px;
}
#ekkyo_design .coaching_intro__text {
  margin-top: 24px;
  font-size: clamp(0.813rem, 0.777rem + 0.18vw, 0.938rem);
  line-height: 30px;
  letter-spacing: 1.2px;
  text-align: justify;
}
#ekkyo_design .coaching_main .coaching_flow {
  width: 85%;
  max-width: 1220px;
  margin: min(40px, 4%) auto 0;
}

@media screen and (max-width: 599px) {
  #ekkyo_design .kaso_hero__inner {
    padding-bottom: 8% ;
  }
  #ekkyo_design[data-page='sub'] .site_header {
    background-image: url(../img/kaso_header_bg-sp.png);
  }

  #ekkyo_design[data-page='sub'] .site_header__logo { display: none; }
  #ekkyo_design[data-page='sub'] .site_header__menu { top: 20.5px; right: 4%; }
  #ekkyo_design .coaching_hero {
    top: 0;
    bottom: auto;
    height: 250px;
  }

  #ekkyo_design .coaching_hero__inner,
  #ekkyo_design .coaching_intro {
    width: auto;
    margin: 0 30px;
  }
  #ekkyo_design .coaching_hero__inner { padding-top: 141px; }

  #ekkyo_design .kaso_hero h1 {
    line-height: 1.4;
  }


  #ekkyo_design .coaching_intro {
    padding-top: 40px;
  }
  #ekkyo_design .coaching_intro h2 {
    line-height: 24px;
  }
  #ekkyo_design .coaching_intro__text {
    margin-top: 16px;
    line-height: 22px;
    text-align: left;
  }
  #ekkyo_design .coaching_main .coaching_flow {
    width: calc(100% - 30px);
    max-width: none;
    margin: 0 0 0 30px;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    margin-top: 40px;
  }
  #ekkyo_design .coaching_main .coaching_flow::-webkit-scrollbar { display: none; }
  #ekkyo_design .coaching_main .coaching_flow img {
    width: 800px;
    max-width: none;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
@media (prefers-reduced-motion: reduce) {
  #ekkyo_design .photo_loop__track { animation-play-state: paused; }
  #ekkyo_design .philosophy_vision { animation-play-state: paused; }
  #ekkyo_design .site_header__toggle_icon,
  #ekkyo_design .site_header__nav { transition: none; }
}

/* ===========================

  policy

=========================== */
#ekkyo_design .kaso__inner {
    width: calc(100% - 120px);
    max-width: 1220px;
    margin-inline: auto;
    margin-top: min(85px, 5%);
}
#ekkyo_design .policy_content {
  font-size: clamp(0.813rem, 0.777rem + 0.18vw, 0.938rem);
  line-height: 2;
  margin-top: min(48px, 4%);
}
#ekkyo_design .policy_content__item {
  margin-bottom: min(32px, 3%);
  padding-bottom: min(32px, 3%);
  border-bottom: solid 1px #ccc;
}
#ekkyo_design .policy_content__item:last-of-type {
    border-bottom: none;
}
#ekkyo_design .policy_content dt {
  font-size: clamp(0.938rem, 0.866rem + 0.36vw, 1.188rem);
  margin-bottom: 4px;
}
#ekkyo_design .policy_content dd { 
  margin-bottom: 8px;
}
#ekkyo_design .policy_content ol {
  padding-left: 1.5em;
  list-style: decimal;
}
#ekkyo_design .policy_content ul {
  padding-left: 1.5em;
  list-style: disc;
}
#ekkyo_design .policy__info--item {
  display: flex;
  gap: 4px;
}
#ekkyo_design .policy_fin {
  text-align: right;
}

@media screen and (max-width: 599px) {
  #ekkyo_design .kaso__inner {
    width: 90%;
  }
  #ekkyo_design .policy__info--item {
    flex-direction: column;
    margin-bottom: 12px;
    line-height: 1.5;
  }
}