.concept { position: relative; padding-top: 50px; letter-spacing: 0; }
.concept-block-info { position: relative; padding: 46px 18px calc(43px + 16.4102564102vw); background-color: #F2F3EE; z-index: 1; }
.concept-block-copy { position: relative; margin-bottom: 30px; text-align: center; font-size: 1.5rem; font-weight: 500; line-height: 2; z-index: 1; }
.concept-block-copy > span { display: inline-block; position: relative; vertical-align: top; }
.concept-block-copy > span::after { content: ''; position: absolute; bottom: 2px; left: 0; width: 100%; height: 8px; background-color: rgba(209,176,144,0.3); z-index: -1; }
.concept-block-text { font-size: 1.4rem; line-height: 2.1428571428; }
.concept-block-photo { position: relative; aspect-ratio: 1 / 1; margin-top: -16.4102564102vw; width: 82.0512820512%; overflow: hidden; z-index: 2; }
.concept-block-photo picture { height: 100%; }

@media screen and (max-width: 768px) {
  .concept-block-info { margin: 0 17px; }
}

@media screen and (min-width: 769px) {
  .concept { padding-top: 74px; }
  .concept-block > .l-wrap { display: grid; grid-template-columns: repeat(2,50%); }
  .concept-block-info { display: flex; flex-flow: column; justify-content: center; aspect-ratio: 1 / 1; padding: 20px 65px; }
  .concept-block-copy { margin-bottom: 30px; font-size: 1.5rem; line-height: 2; }
  .concept-block-text { font-size: 1.4rem; line-height: 2.1428571428; }
  .concept-block-photo { margin-top: 0; width: 100%; }
}

/* above */
.concept-above { margin-bottom: 27px; }
.concept-above .c-title-1 { margin-bottom: 0; }

@media screen and (min-width: 769px) {
  .concept-above { margin-bottom: 37px; }
}

/* visual */
.concept-visual { position: relative; }
.concept-visual-copy { position: absolute; top: 50%; left: 16px; transform: translateY(-50%); font-size: 2.4rem; line-height: 1.5; z-index: 2; }
.concept-visual-copy > span { display: inline-block; padding: 8px 13px; background-color: rgba(209,176,144,0.4); vertical-align: top; white-space: nowrap; color: #fff; }
.concept-visual-copy > span:not(:first-child) { margin-top: 21px; }
.concept-visual-photo { position: relative; width: 100%; overflow: hidden; z-index: 1; }
.concept-visual-photo picture { height: 100%; }
.concept-visual-photo img { width: 100%; height: 100%; object-fit: cover; }

@media screen and (max-width: 768px) {
  .concept-visual-photo { aspect-ratio: 1 / 1.0256410256; }
}

@media screen and (min-width: 769px) {
  .concept-visual-copy { left: calc((100vw - 1100px) / 2); font-size: 3.2rem; line-height: 1.46875; }
  .concept-visual-copy > span { padding: 5px 16px 7px; }
  .concept-visual-photo { height: 460px; }
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
  .concept-visual-copy { left: 100px; }
}

/* introduction */
.concept-introduction { position: relative; padding: 70px 0 35px; }

@media screen and (max-width: 768px) {
  .concept-introduction .concept-block-photo { margin-left: auto; }
}

@media screen and (min-width: 769px) {
  .concept-introduction { padding: 100px 0 50px; }
  .concept-introduction .concept-block-info { margin-top: 80px; }
}

/* thoughts */
.concept-thoughts { position: relative; padding: 35px 0; }

@media screen and (min-width: 769px) {
  .concept-thoughts { padding: 50px 0 60px; }
  .concept-thoughts .concept-block-info { grid-row: 1; grid-column: 2; }
  .concept-thoughts .concept-block-photo { grid-row: 1; grid-column: 1; margin-top: 80px; }
}

/* commitment */
.concept-commitment { position: relative; padding: 32px 0 35px; }
.concept-commitment-above { margin-bottom: 39px; }
.concept-commitment-above .c-title-2 { margin-bottom: 0; }
.concept-commitment-content { position: relative; }
.concept-commitment-info { padding: calc(44px + 68.9743589743vw) 15px 42px; }
.concept-commitment-copy { position: relative; margin-bottom: 39px; font-size: 1.8rem; font-weight: 400; line-height: 1.6666666666; z-index: 1; }
.concept-commitment-copy > span { display: inline-block; position: relative; vertical-align: top; }
.concept-commitment-copy > span::after { content: ''; position: absolute; bottom: 4px; left: 0; width: 100%; height: 8px; background-color: rgba(209,176,144,0.3); z-index: -1; }
.concept-commitment-lists__item:not(:first-child) { margin-top: 24px; }
.concept-commitment-lists__num { position: relative; margin-bottom: 3px; padding-left: 10px; font-family: 'Lato', sans-serif; font-size: 2rem; font-weight: 400; line-height: 1.5; color: #D1B090; }
.concept-commitment-lists__num::before { content: ''; position: absolute; bottom: 7px; left: 0; width: 7px; height: 2px; background-color: #D1B090; }
.concept-commitment-box__title { margin-bottom: 9px; font-size: 1.6rem; font-weight: 500; line-height: 1.875; }
.concept-commitment-box__text { font-size: 1.4rem; line-height: 2.1428571428; }
.concept-commitment-photo { position: relative; aspect-ratio: 1 / 1; width: 100%; overflow: hidden; }
.concept-commitment-photo picture { height: 100%; }

@media screen and (max-width: 768px) {
  .concept-commitment-content { padding-top: 12.8205128205vw; }
  .concept-commitment-info { background-color: #F2F3EE; }
  .concept-commitment-photo { position: absolute; top: -12.8205128205vw; right: 0; width: 82.0512820512%; }
}

@media screen and (min-width: 769px) {
  .concept-commitment { padding: 60px 0 80px; }
  .concept-commitment-above { margin-bottom: -32px; }
  .concept-commitment-above .c-title-2 { display: inline-block; vertical-align: top; }
  .concept-commitment-content { padding-top: 77px; overflow: hidden; }
  .concept-commitment-content::after { content: ''; position: absolute; top: 77px; left: 0; width: 100%; height: calc(100% - 77px); background-color: #F2F3EE; z-index: -1; }
  .concept-commitment-content > .l-wrap { display: grid; gap: 40px; grid-template-columns: 54.1666666666% calc(100% - (40px + 54.1666666666%)); }
  .concept-commitment-info { padding: 60px 0; }
  .concept-commitment-copy { margin-bottom: 53px; font-size: 2rem; line-height: 1.5; }
  .concept-commitment-copy > span::after { bottom: 1px; }
  .concept-commitment-lists__item:not(:first-child) { margin-top: 40px; }
  .concept-commitment-lists__num { margin-bottom: 3px; padding-left: 10px; font-size: 2rem; }
  .concept-commitment-box__title { margin-bottom: 4px; font-size: 1.6rem; }
  .concept-commitment-box__text { font-size: 1.4rem; }
  .concept-commitment-photo { margin-top: -77px; width: calc(100% * 1.1764705882); }
}

/* story */
.concept-story { position: relative; padding: 35px 0 32px; }
.concept-story-info { position: relative; padding: 46px 15px 40px 24px; background-color: #F2F3EE; z-index: 2; }
.concept-story-text { font-size: 1.4rem; line-height: 2.1428571428; }
.concept-story-photo { position: absolute; top: 0; left: 0; width: 100%; overflow: hidden; z-index: 1; }
.concept-story-photo picture { height: 100%; }

@media screen and (max-width: 768px) {
  .concept-story > .l-wrap { padding-top: 36.1538461538vw; }
  .concept-story-info { margin-left: 16px; }
  .concept-story-photo { aspect-ratio: 1 / 0.4615384615; }
}

@media screen and (min-width: 769px) {
  .concept-story { padding: 80px 0 50px; overflow: hidden; }
  .concept-story > .l-wrap { padding-top: 240px; }
  .concept-story-info { display: grid; align-items: center; grid-template-columns: 318px calc(100% - 318px); margin: 0 -80px 0 auto; padding: 43px 48px 43px 0; width: 73.3333333333%; }
  .concept-story-info .c-title-2 { margin-bottom: 0; }
  .concept-story-info .c-title-2__en,
  .concept-story-info .c-title-2__ja { white-space: nowrap; }
  .concept-story-text { font-size: 1.4rem; }
  .concept-story-photo { left: 20px; width: calc(100% - 40px); height: 360px; }
}

@media screen and (min-width: 769px) and (max-width: 1300px) {
  .concept-story-info { margin-right: -20px; }
}

/* therapist */
.concept-therapist { position: relative; padding: 32px 0 35px; }
.concept-therapist-content { display: grid; align-items: center; row-gap: 10px; column-gap: 24px; grid-template-columns: 37.8548895899% calc(100% - (24px + 37.8548895899%)); padding: 20px; border: 1px solid #D1B090; }
.concept-therapist-photo { position: relative; aspect-ratio: 1 / 1.3333333333; width: 100%; overflow: hidden; }
.concept-therapist-copy { font-size: 1.8rem; font-weight: 400; line-height: 1.4444444444; color: #D1B090; }
.concept-therapist-box { grid-row: 2; grid-column: 1 / 3; padding: 12px 16px; background-color: #FAFAFA; }
.concept-therapist-box__title { font-size: 1.4rem; font-weight: 500; line-height: 2.1428571428; }
.concept-therapist-box__text { font-size: 1.4rem; line-height: 2.1428571428; }

@media screen and (max-width: 768px) {
  .concept-therapist > .l-wrap { margin: 0 16px; }
}

@media screen and (min-width: 769px) {
  .concept-therapist { padding: 50px 0; }
  .concept-therapist-content { row-gap: 26px; column-gap: 30px; grid-template-columns: 180px calc(100% - (24px + 180px)); padding: 30px 120px; }
  .concept-therapist-photo { grid-row: 1 / 3; grid-column: 1; }
  .concept-therapist-copy { grid-row: 1; grid-column: 2; padding-top: 17px; font-size: 2rem; line-height: 1.8; }
  .concept-therapist-box { grid-row: 2; grid-column: 2; padding: 12px 30px; }
  .concept-therapist-box__title { font-size: 1.4rem; }
  .concept-therapist-box__text { font-size: 1.4rem; }
}

/* voice */
.concept-voice { position: relative; padding: 35px 0; }
.concept-voice-content { padding: 47px 10px 50px; background-color: #F1F1F1; }
.concept-voice-content .c-title-2 { margin-bottom: 40px; }
.concept-voice-lists__item { padding: 23px 20px 28px; background-color: #fff; }
.concept-voice-lists__item:not(:first-child) { margin-top: 11px; }
.concept-voice-lists__name { font-size: 1.4rem; line-height: 2.1428571428; }
.concept-voice-lists__text { font-size: 1.4rem; line-height: 2.1428571428; }

@media screen and (max-width: 768px) {
  .concept-voice > .l-wrap { margin: 0 16px; }
  .concept-voice-lists__name { margin-bottom: 4px; }
}

@media screen and (min-width: 769px) {
  .concept-voice { padding: 50px 0; }
  .concept-voice-content { padding: 57px 120px 90px; }
  .concept-voice-content .c-title-2 { margin-bottom: 50px; }
  .concept-voice-lists__item { display: grid; gap: 10px; grid-template-columns: 140px calc(100% - 140px); padding: 33px 50px 32px; }
  .concept-voice-lists__item:not(:first-child) { margin-top: 10px; }
  .concept-voice-lists__name { font-size: 1.4rem; }
  .concept-voice-lists__text { font-size: 1.4rem; }
}

/* future */
.concept-future { position: relative; margin-top: 35px; padding-bottom: 14px; }
.concept-future > .l-wrap { padding-top: 35.8974358974vw; }
.concept-future-info { position: relative; padding-top: 46px; background-color: #fff; z-index: 2; }
.concept-future-text { font-size: 1.4rem; line-height: 2.1428571428; }
.concept-future-photo { position: absolute; top: 0; left: 0; width: 100%; overflow: hidden; z-index: 1; }
.concept-future-photo picture { height: 100%; }

@media screen and (max-width: 768px) {
  .concept-future-info { margin: 0 16px; }
  .concept-future-photo { aspect-ratio: 1 / 0.4615384615; }
}

@media screen and (min-width: 769px) {
  .concept-future { margin-top: 50px; padding-bottom: 120px; }
  .concept-future > .l-wrap { padding-top: 240px; }
  .concept-future-info { margin: 0 auto; padding: 42px 20px 0; max-width: 880px; }
  .concept-future-info .c-title-2 { margin-bottom: 48px; }
  .concept-future-text { text-align: center; font-size: 1.4rem; }
  .concept-future-photo { height: 357px; }
}
