@charset "UTF-8";

#profile {
  background: #FFF;
}

/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px), print { 
#profile {
  max-width: 1920px;
  width: 100%;
  margin-inline: auto;
  padding: 0;
}
.page-ttl-frame {
  background-image: url(../images/profile/page-ttl-bg.jpg);
  color: #FFF;
  padding: 222px 120px 154px;
}
.page-ttl-frame .en-title {
  display: block;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 16px;
  text-transform: uppercase;
}
.page-ttl-frame .main-title {
  font-size: 42px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
.page-ttl-frame::after {
  background: none;
}
  

/* intro
-------------------------------------*/
.intro {
  padding-block: 88px 163px;
}
.intro__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: flex-end;
  gap: 80px;
  width: min(95%, 1200px);
  margin-inline: auto;
}
.intro__content {
  display: flex;
  flex-direction: column;
  gap: 55px;
  margin: 0 0 5px;
}
.intro__meta {
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: #212121;
}
.intro__role {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.intro__name-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.intro__name {
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
.intro__kana {
  font-size: 14px;
  line-height: 1;
  color: #212121;
  letter-spacing: 0;
}
.intro__kana-main {
  font-weight: 500;
}
.intro__kana-sub {
  font-weight: 400;
  line-height: 2.1428;
}
.intro__detail {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.intro__story {
  display: flex;
  flex-direction: column;
  gap: 31px;
}
.intro__rule {
  border-top: 1px solid #9eacb6;
  width: 100%;
}
.intro__bio {
  width: 100%;
}
.intro__bio .pc {
  display: flex !important;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.intro__bio p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  line-break: strict;
}
.intro__current {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 20px;
}
.intro__badge {
  padding: 7px 7px;
  background: #9eacb6;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
}
.intro__current-txt {
  color: #232323;
}
.intro__current-org {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5555;
  letter-spacing: 0;
  margin-bottom: 4px;
}
.intro__current-role {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.55556;
  letter-spacing: 0;
}
.intro__current-note {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  display: inline-block;
  margin-block: 14px 0;
}

.intro__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* result
-------------------------------------*/
.result {
  padding-bottom: 80px;
}
.result__inner {
  display: flex;
  flex-direction: column;
  gap: 37px;
  width: min(95%, 896px);
  margin-inline: auto;
}
.result__head {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.result__en {
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.result__catch {
  position: relative;
  display: flex;
  align-items: center;
  width: 651px;
  max-width: 100%;
  min-height: 70px;
  padding-left: 24px;
  box-sizing: border-box;
}
.result__catch-bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}
.result__catch-txt {
  position: relative;
  z-index: 1;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  white-space: nowrap;
}
.result__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-left: 24px;
}
.result__list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  max-width: 872px;
}
.result__item {
  display: grid;
  grid-template-columns: 33.94% 1fr;
  gap: 40px;
  align-items: center;
  padding-bottom: 15px;
  border-bottom: 1px solid #9eacb6;
}
.result__label {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 20px;
  align-items: center;
  margin-top: 7px;
}
.result__icon {
  margin: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 64px;
}
.result__icon img {
  display: block;
  width: auto;
  max-width: 60px;
  max-height: 64px;
  height: auto;
}
.result__cat-block {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.result__num {
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
}
.result__cat {
  margin: 0;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.result__txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0;
  color: #212121;
  line-break: strict;
  max-width: 485px;
}
.result__note {
  max-width: 618px;
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  color: #212121;
  line-break: strict;
}

/* career
-------------------------------------*/
.career {
  background: #f5f6f6;
  padding-block: 83px;
}
.career__inner {
  display: flex;
  flex-direction: column;
  gap: 46px;
  width: min(95%, 896px);
  margin-inline: auto;
}
.career__head {
  display: flex;
  flex-direction: column;
  gap: 29px;
}
.career__en {
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.12em;
}
.career__ttl {
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  color: #212121;
}
.career__list {
  padding-left: 24px;
  border-left: 1px solid #9eacb6;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 23px;
}
.career__item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.career__item--detail {
  gap: 2px;
}
.career__date {
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 2.8125;
  letter-spacing: 0;
  color: #052848;
}
.career__body {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.career__title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.875;
  letter-spacing: 0;
  color: #212121;
}
.career__desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0;
  color: #232323;
  line-break: strict;
}

/* qualifications
-------------------------------------*/
.qualifications {
  padding-block: 105px 100px;
  background: #fff;
}
.qualifications__inner {
  display: flex;
  flex-direction: column;
  gap: 44px;
  width: min(95%, 896px);
  margin-inline: auto;
}
.qualifications__head {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.qualifications__en {
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.12em;
  color: #232323;
}
.qualifications__ttl {
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #212121;
}
.qualifications__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}
.qualifications__item {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.qualifications__row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 12px;
}
.qualifications__bullet {
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  color: #212121;
}
.qualifications__txt {
  font-size: 18px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  color: #232323;
}
.qualifications__rule {
  margin: 0;
  border: none;
  border-top: 1px solid #9eacb6;
  width: 100%;
}

}

@media screen and (min-width: 768px) and (max-width: 1240px) {
.page-ttl-frame {
  padding: 17.9032vw 9.6774vw 12.4193vw;
}
.page-ttl-frame .en-title {
  font-size: 1.9354vw;
  margin-bottom: 1.2903vw;
}
.page-ttl-frame .main-title {
  font-size: 3.387vw;
}

.intro {
  padding-block: 7.0967vw 12.9032vw;
}
.intro__inner {
  gap: 6.4516vw;
  width: min(95%, 96.7741vw);
}
.intro__content {
  gap: 4.4354vw;
  margin: 0 0 0.4032vw;
}
.intro__meta {
  gap: 1.2903vw;
}
.intro__role {
  font-size: 1.6129vw;
}
.intro__name-block {
  gap: 0.6451vw;
}
.intro__name {
  font-size: 3.2258vw;
}
.intro__kana {
  font-size: clamp(0.625rem, 0.218rem + 0.85vw, 0.875rem);
}
.intro__detail {
  gap: 3.2258vw;
}
.intro__story {
  gap: 2.5vw;
}
.intro__bio .pc {
  gap: 1.2903vw;
}
.intro__bio p {
  font-size: clamp(0.75rem, 0.547rem + 0.42vw, 0.875rem);
}
.intro__current {
  gap: 1.6129vw;
}
.intro__badge {
  padding: 0.5645vw;
  font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
}
.intro__current-org {
  font-size: clamp(0.75rem, 0.14rem + 1.27vw, 1.125rem);
  margin-bottom: 0.3225vw;
}
.intro__current-role {
  font-size: clamp(0.75rem, 0.14rem + 1.27vw, 1.125rem);
}
.intro__current-note {
  font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
  margin-block: 1.129vw 0;
}

.result {
  padding-bottom: 6.4516vw;
}
.result__inner {
  gap: 3.2258vw;
  width: min(95%, 72.258vw);
}
.result__head {
  gap: 1.7741vw;
}
.result__en {
  font-size: 1.6129vw;
}
.result__catch {
  width: 52.5vw;
  min-height: 5.6451vw;
  padding-left: 1.9354vw;
}
.result__catch-txt {
  font-size: 2.258vw;
}
.result__body {
  gap: 1.2903vw;
  padding-left: 1.9354vw;
}
.result__list {
  gap: 1.6129vw;
  max-width: 70.3225vw;
}
.result__item {
  gap: 3.2258vw;
  padding-bottom: 1.2096vw;
}
.result__label {
  grid-template-columns: 4.8387vw 1fr;
  gap: 1.6129vw;
  margin-top: 0.4032vw;
}
.result__icon {
  height: 5.1612vw;
}
.result__icon img {
  max-width: 4.8387vw;
  max-height: 5.1612vw;
}
.result__cat-block {
  gap: 0.5645vw;
}
.result__num {
  font-size: 1.4516vw;
}
.result__cat {
  font-size: 1.7741vw;
}
.result__txt {
  font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
  max-width: 39.1129vw;
}
.result__note {
  font-size: clamp(0.625rem, 0.218rem + 0.85vw, 0.875rem);
}

.career {
  padding-block: 6.4516vw;
}
.career__inner {
  gap: 3.7096vw;
  width: min(95%, 72.258vw);
}
.career__head {
  gap: 2.3387vw;
}
.career__en {
  font-size: 1.6129vw;
}
.career__ttl {
  font-size: 2.258vw;
}
.career__list {
  padding-left: 1.9354vw;
  gap: 1.8548vw;
}
.career__item {
  gap: 0.1612vw;
}
.career__item--detail {
  gap: 0.1612vw;
}
.career__date {
  font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
}
.career__body {
  gap: 0.2419vw;
}
.career__title {
  font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
}
.career__desc {
  font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
}

.qualifications {
  padding-block: 8.0645vw;
}
.qualifications__inner {
  gap: 3.5483vw;
  width: min(95%, 72.258vw);
}
.qualifications__head {
  gap: 2.4193vw;
}
.qualifications__en {
  font-size: 1.6129vw;
}
.qualifications__ttl {
  font-size: 2.258vw;
}
.qualifications__list {
  gap: 1.6129vw;
}
.qualifications__item {
  gap: 1.6129vw;
}
.qualifications__row {
  gap: 0.8064vw;
  padding-left: 0.9677vw;
}
.qualifications__bullet {
  font-size: 1.129vw;
}
.qualifications__txt {
  font-size: clamp(0.875rem, 0.468rem + 0.85vw, 1.125rem);
}
}

/* ========================================
  @media screen and (max-width: 767px) 
======================================== */
@media screen and (max-width: 767px) {
#profile {
  width: 100%;
  margin-inline: auto;
  padding: 0;
  background: #FFF;
}
.page-ttl-frame {
  width: 100%;
  padding: 28.46vw 5.314vw 9.178vw;
  background-image: url(../images/profile/page-ttl-bg_sp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  margin: -15vw 0 0;
  position: relative;
  color: #FFF;
}
.page-ttl-frame::after {
  background: none;
}
.page-ttl-frame .en-title {
  display: block;
  font-size: 2.898vw;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 0.966vw;
  text-transform: uppercase;
}
.page-ttl-frame .main-title {
  font-size: 4.348vw;
  font-weight: 400;
  line-height: 1.4444;
  letter-spacing: 0.07em;
}

/* intro
-------------------------------------*/
.intro {
  padding-block: 7.323vw 24.55vw;
}
.intro__inner {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 4.83vw;
  width: 89.37vw;
  margin-inline: auto;
}
.intro__figure {
  order: -1;
  margin: 0;
}
.intro__figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.intro__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8.661vw;
  margin: 0;
}
.intro__meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.864vw;
  color: #212121;
  text-align: center;
}
.intro__role {
  font-size: 3.865vw;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0.05em;
}
.intro__name-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.166vw;
}
.intro__name {
  font-size: 6.28vw;
  font-weight: 400;
  line-height: 1.5384;
  letter-spacing: 0;
}
.intro__kana {
  font-size: 3.382vw;
  line-height: 1;
  color: #212121;
  letter-spacing: 0;
}
.intro__kana-main {
  font-weight: 500;
}
.intro__kana-sub {
  font-weight: 400;
  line-height: 1;
}
.intro__detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.83vw;
}
.intro__story {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.83vw;
  width: 72.463vw;
}
.intro__rule {
  border-top: 0.2vw solid #9eacb6;
  width: 88.888vw;
  margin-inline: -8.212vw;
}
.intro__bio {
  width: 100%;
}
.intro__bio .sp {
  display: flex !important;
  flex-direction: column;
  gap: 3.864vw;
  width: 100%;
}
.intro__bio p {
  font-size: 3.382vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  line-break: strict;
}
.intro__current {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-items: start;
  gap: 2.898vw;
  text-align: center;
}
.intro__badge {
  padding: 0.483vw 1.449vw;
  background: #9eacb6;
  font-size: 3.382vw;
  font-weight: 500;
  line-height: 2;
  color: #fff;
  white-space: nowrap;
}
.intro__current-txt {
  color: #212121;
}
.intro__current-org {
  font-size: 3.865vw;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0;
  margin-bottom: 0;
}
.intro__current-role {
  font-size: 3.865vw;
  font-weight: 500;
  line-height: 1.625;
  letter-spacing: 0;
}
.intro__current-note {
  font-size: 3.382vw;
  font-weight: 500;
  line-height: 2.2857;
  display: block;
  margin-block: 0;
}

/* result
-------------------------------------*/
.result {
  padding: 0 5.314vw 9.661vw;
}
.result__inner {
  display: flex;
  flex-direction: column;
  gap: 9.661vw;
  width: 100%;
  margin-inline: auto;
}
.result__head {
  display: flex;
  flex-direction: column;
  gap: 3.864vw;
}
.result__en {
  font-size: 2.898vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.result__catch {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-height: 28.26vw;
  padding: 2.391vw 9.903vw 6.28vw;
  box-sizing: border-box;
}
.result__catch-bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}
.result__catch-txt {
  position: relative;
  z-index: 1;
  font-size: 4.348vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  color: #fff;
  white-space: normal;
  text-align: center;
}
.result__body {
  display: flex;
  flex-direction: column;
  gap: 3.864vw;
  padding-left: 0;
  width: 79.71vw;
  margin-inline: auto;
}
.result__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 9.661vw;
  width: 100%;
  max-width: 100%;
}
.result__item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.215vw;
  align-items: start;
  padding-bottom: 2.015vw;
  border-bottom: 0.2vw solid #9eacb6;
}
.result__label {
  display: grid;
  grid-template-columns: 8.212vw 1fr;
  gap: 4.83vw;
  align-items: center;
  margin-top: 0;
}
.result__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.result__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.result__cat-block {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 3.14vw;
  padding-top: 1.2vw;
}
.result__num {
  font-size: 4.348vw;
  font-weight: 400;
  line-height: 1.2222;
  letter-spacing: 0;
}
.result__cat {
  font-size: 5.314vw;
  font-weight: 600;
  line-height: 1.3636;
  letter-spacing: 0;
  white-space: nowrap;
}
.result__txt {
  font-size: 3.382vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  line-break: strict;
}
.result__txt-keep {
  white-space: nowrap;
}
.result__note {
  max-width: none;
  font-size: 3.382vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  color: #212121;
  line-break: anywhere;
}

/* career
-------------------------------------*/
.career {
  background: #f5f6f6;
  padding-block: 9.961vw 9.661vw;
}
.career__inner {
  display: flex;
  flex-direction: column;
  gap: 11.044vw;
  width: 89.37vw;
  margin-inline: auto;
}
.career__head {
  display: flex;
  flex-direction: column;
  gap: 5.04vw;
}
.career__en {
  font-size: 2.898vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.career__ttl {
  font-size: 4.348vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #212121;
}
.career__list {
  padding-left: 3.864vw;
  border-left: 0.2vw solid #9eacb6;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4.83vw;
  width: 74.879vw;
  margin-inline: auto;
}
.career__item {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.career__item--detail {
  gap: 0.483vw;
}
.career__date {
  display: block;
  font-size: 3.382vw;
  font-weight: 400;
  line-height: 3.2142;
  letter-spacing: 0;
  color: #052848;
}
.career__body {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.career__title {
  font-size: 3.865vw;
  font-weight: 600;
  line-height: 1.875;
  letter-spacing: 0;
  color: #212121;
}
.career__desc {
  font-size: 3.382vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
  color: #232323;
  line-break: strict;
}
.career__desc br {
  display: none;
}
.career__item:nth-of-type(4) .career__desc br:nth-of-type(2) {
  display: block;
}

/* qualifications
-------------------------------------*/
.qualifications {
  padding-block: 9.661vw 12.061vw;
  background: #fff;
  width: 89.37vw;
  margin-inline: auto;
}
.qualifications__inner {
  display: flex;
  flex-direction: column;
  gap: 11.246vw;
  width: 100%;
  margin-inline: auto;
}
.qualifications__head {
  display: flex;
  flex-direction: column;
  gap: 4.864vw;
}
.qualifications__en {
  font-size: 2.898vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.qualifications__ttl {
  font-size: 4.348vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: #212121;
}
.qualifications__list {
  display: flex;
  flex-direction: column;
  gap: 1.932vw;
  width: 88.65vw;
  margin-inline: auto;
}
.qualifications__item {
  display: flex;
  flex-direction: column;
  gap: 1.932vw;
  padding-inline: 2.95vw 0;
}
.qualifications__row {
  display: flex;
  align-items: center;
  gap: 0;
  padding-left: 0;
}
.qualifications__bullet {
  font-size: 2.898vw;
  font-weight: 400;
  line-height: 2.3333;
  color: #212121;
  width: 3.864vw;
}
.qualifications__txt {
  font-size: 3.382vw;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0;
  color: #232323;
}
.qualifications__rule {
  margin: 0;
  border: none;
  border-top: 1px solid #9eacb6;
  width: 100%;
}
.qualifications__item:last-child .qualifications__rule {
  display: none;
}
}