/*mv*/
.c-page-header {
  background: url(../../oltana-004/images/mv/sp/mv_about_sp.png) center center no-repeat;
  background-size: cover;
}
.ol-article__body {
  overflow: hidden;
}
@media screen and (min-width: 641px) {
  .c-page-header {
    background: url(../../oltana-004/images/mv/mv_about.png) center center no-repeat;
    background-size: cover;
  }
}
/* Philosophy */
.p-philosophy__box {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
.p-philosophy__head {
  color: #539B35;
  font-size: clamp(1.25rem, 1.146rem + 0.44vw, 1.5rem);
  margin-bottom: 2rem;
  font-weight: bold;
}
.p-philosophy__text {
  line-height: 2;
  text-align: left;
}
.p-philosophy__deco-1 {
    position: absolute;
    top: 5.2rem;
    left: -1rem;
    width: 56px;
    height:56px;
    background-color: #AFCF9B33;
    border-radius: 5px;
    transform: rotate(30deg);
}
.p-philosophy__deco-2 {
    position: absolute;
    top: 7rem;
    right: -1.8rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 28px solid transparent;
    border-left: 28px solid transparent;
    border-bottom: 49px solid #E8A15C33;
    border-top: 0;
    transform: rotate(12deg);
  }
@media screen and (min-width: 641px) {
  .p-philosophy__text {
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .p-philosophy__deco-1 {
    width: 118px;
    height:118px;
  }
  .p-philosophy__deco-2 {
    top: 4rem;
    right: -5rem;
    border-right: 70px solid transparent;
    border-left: 70px solid transparent;
    border-bottom: 122px solid #E8A15C33;
  }
}

/* 3 Powers */
.p-powers__item {
  margin-bottom: 60px;
}
.p-powers__img {
  margin-bottom: 20px;
  z-index: 1;
}
.p-powers__img img {
  border-radius: 10px;
  width: 100%;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.p-powers__head {
  font-size: clamp(1.25rem, 1.146rem + 0.44vw, 1.5rem);
  font-weight: bold;
  margin-bottom: 15px;
  display: flex;
  gap: 10px;
}
.p-powers__head span {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
}
.p-powers__deco-1 {
    position: absolute;
    top: 10rem;
    left: -1rem;
    width: 46px;
    height: 46px;
    background-color: #AFCF9B33;
    border-radius: 5px;
    transform: rotate(-17deg);
}
.p-powers__deco-2 {
    position: absolute;
    top: 8.2rem;
    left: 2rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
    border-bottom: 28px solid #E8A15C33;
    border-top: 0;
    transform: rotate(-20deg);
  }
  .p-powers__deco-3 {
    position: absolute;
    bottom: 4rem;
    right: -5rem;
    width: 122px;
    height: 122px;
    background-color: #AFCF9B33;
    border-radius: 5px;
    transform: rotate(27deg);
}
.p-powers__deco-4 {
    position: absolute;
    bottom: 3rem;
    right: 4rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    border-bottom: 35px solid #E8A15C33;
    border-top: 0;
    transform: rotate(5deg);
  }

@media screen and (min-width: 769px) {
  .p-powers__item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
  }
  .p-powers__item--reverse {
    flex-direction: row-reverse;
  }
  .p-powers__img {
    width: 38%;
    max-width: 360px;
    margin-bottom: 0;
  }
  .p-powers__content {
    width: 58%;
  }
  .p-powers__deco-1 {
    top: 10.6rem;
    left: -3rem;
    width: 80px;
    height: 80px;
  }
  .p-powers__deco-2 {
    top: 6rem;
    left: 2rem;
    border-right: 34px solid transparent;
    border-left: 34px solid transparent;
    border-bottom: 59px solid #E8A15C33;
    border-top: 0;
    transform: rotate(-20deg);
  }
  .p-powers__deco-3 {
    bottom: 12rem;
    right: -9rem;
    width: 264px;
    height: 264px;
  }
  .p-powers__deco-4 {
    bottom: 10rem;
    right: 6rem;
    border-right: 41px solid transparent;
    border-left: 41px solid transparent;
    border-bottom: 71px solid #E8A15C33;
  }
}

/* Message */
.p-message__img {
  margin: 0 auto 30px;
  max-width: 350px;
  text-align: center;
  z-index: 1;
}
.p-message__img img {
  border-radius: 10px;
}

.p-message__head {
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.6;
  padding-bottom: 15px;
}
.p-message__text {
    padding-top: clamp(1.25rem, 0.939rem + 1.33vw, 2rem);
}
.p-message__name {
    padding-top: clamp(1rem, 0.534rem + 1.99vw, 2.125rem);
}
.p-message__deco-1 {
    position: absolute;
    top: 6.6rem;
    left: -0.6rem;
    width: 60px;
    height:60px;
    background-color: #AFCF9B33;
    border-radius: 5px;
    transform: rotate(21deg);
}
.p-message__deco-2 {
    position: absolute;
    bottom: 5.6rem;
    right: -2rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 24px solid transparent;
    border-left: 24px solid transparent;
    border-bottom: 42px solid #E8A15C33;
    border-top: 0;
    transform: rotate(35deg);
  }
@media screen and (min-width: 641px) {
  .p-message__img {
    margin: 0 auto 42px;
    width: 56%;
    max-width: 556px;
    border-radius: 10px;
  }
  .p-message__head {
    font-size: 1.25rem;
    margin-top: 0;
  }
  .p-message__body {
  text-align: center;
  }
  .p-message__name {
    padding-top: clamp(1rem, 0.534rem + 1.99vw, 2.125rem);
    display: flex;
    justify-content: flex-end;
  }
  .p-message__deco-1 {
    top: 5.2rem;
    left: -1rem;
    width: 182px;
    height:182px;
  }
  .p-message__deco-2 {
    bottom: 6rem;
    right: -4rem;
    border-right: 41px solid transparent;
    border-left: 41px solid transparent;
    border-bottom: 71px solid #E8A15C33;
  }
}
@media screen and (min-width: 1200px){
  .p-message__deco-2 {
    right: -7rem;
  }
}

/* YouTube */
.p-movie {
  margin-top: 40px;
  padding-top: clamp(1.5rem, 1.086rem + 1.77vw, 2.5rem);
  padding-bottom: clamp(1.5rem, 1.086rem + 1.77vw, 2.5rem);
  background: #fff;
}
.p-movie__inner {
  position: relative;
  width: 100%;
  /* アスペクト比 16:9 を維持 */
  padding-bottom: 56.25%; 
  height: 0;
  overflow: hidden;
  max-width: 800px; /* 動画の最大幅（任意） */
  margin: 0 auto;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.p-movie__inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-movie__box {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.p-movie__info {
  width: 100%;
}

.p-movie__head {
  display: flex;
  align-items: center;
  font-size: clamp(1.25rem, 1.146rem + 0.44vw, 1.5rem);
  font-weight: bold;
  margin-bottom: 20px;
}

.p-movie__deco {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #4CAF50; /* 明るめの緑（デザインに合わせて調整） */
  margin-right: 15px;
}

.p-movie__text {
    line-height: 1.8;
}

.p-movie__video {
  width: 100%;
}

.p-movie__video-inner {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  height: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.p-movie__video-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* --- PC Layout --- */
@media screen and (min-width: 769px) {
  .p-movie {
    margin-top: 40px;
    padding-top: clamp(1.5rem, 1.086rem + 1.77vw, 2.5rem);
    padding-bottom: clamp(1.5rem, 1.086rem + 1.77vw, 2.5rem);
    padding-right: clamp(1rem, 0.223rem + 3.31vw, 2.875rem);
    padding-left: clamp(1rem, 0.223rem + 3.31vw, 2.875rem);
    background: #fff;
  }

  .p-movie__box {
    flex-direction: row;
    align-items: center; /* 上下中央揃え */
    gap: 50px;
    background-color: #fff; /* 必要であれば背景色を追加 */
    padding: 40px;          /* 必要であれば余白を追加 */
    border-radius: 10px;    /* 必要であれば角丸 */
  }

  .p-movie__info {
    width: 40%; /* テキスト側の幅 */
  }
  
  .p-movie__head {
    margin-bottom: 25px;
  }

  .p-movie__video {
    width: 60%; /* 動画側の幅 */
  }
}

/* Company Profile */
.p-company__list {
  /* 背景色を白に変更 */
  background-color: #fff;
  /* 背景色が入るため内側に余白を追加 */
  padding: 20px 0 40px; 
  border-radius: 4px; /* 角を少し丸める */
}

.p-company__row {
  display: flex;
  flex-direction: column;
  /* 下部ボーダーを緑のドット線に変更 */
  border-bottom: 1px dotted #539B35;
  border-width: 2px;
  padding: 15px 0;
}

.p-company__row dt {
  font-weight: bold;
  margin-bottom: 5px;
}
.p-company__row dd {
  line-height: 1.6;
}

@media screen and (min-width: 641px) {
  .p-company__list {
    padding: 60px 50px 80px;
  }
  .p-company__row {
    flex-direction: row;
    align-items: baseline;
    padding: 20px 0;
  }
  .p-company__row dt {
    width: 20%;
    margin-bottom: 0;
  }
  .p-company__row dd {
    width: 80%;
  }
}