/* Scss Document */
:root {
  --pc: 1000px;
  --sp: 999px;
  --fs48: 4.8rem;
  --fs40: 4rem;
  --fs36: 3.6rem;
  --fs28: 2.8rem;
  --fs22: 2.2rem;
  --fs20: 2.0rem;
  --fs18: 1.8rem;
  --fs16: 1.6rem;
  --fs14:1.4rem;
  --fs12:1.2rem; }

@media (max-width: 999px) {
  :root {
    --fs48: 2.6rem;
    --fs40: 2.2rem;
    --fs36: 2.4rem;
    --fs28: 2.2rem;
    --fs22: 2.0rem;
    --fs20: 1.8rem;
    --fs18: 1.4rem;
    --fs16: 1.4rem;
    --fs14: 1.2rem;
    --fs12: 1.0rem; } }
/*
---------------------------------------
strength01
---------------------------------------
*/
#strength01,
#strength03 {
  position: relative;
  overflow: hidden; }
  #strength01 .bgDeco,
  #strength03 .bgDeco {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 135rem;
    height: auto;
    z-index: -1; }
    @media (max-width: 999px) {
      #strength01 .bgDeco,
      #strength03 .bgDeco {
        top: -2%;
        bottom: inherit;
        width: 60rem;
        min-width: 60rem; } }
  #strength01 .boxs,
  #strength03 .boxs {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: calc(90 / 1400 * 100%);
    width: calc(100% - max(6vw, (100% - 140rem) / 2));
    margin: 0 0 12rem auto; }
    @media (max-width: 999px) {
      #strength01 .boxs,
      #strength03 .boxs {
        flex-direction: column;
        gap: 4rem;
        width: 100%;
        margin: 0 0 4rem; } }
  #strength01 .box,
  #strength03 .box {
    position: relative;
    flex: 0 0 clamp(calc(510 / 1400 * 100%), calc(22.83vw + 100px), 40%); }
    @media (max-width: 999px) {
      #strength01 .box,
      #strength03 .box {
        flex: auto;
        width: calc(100% - 4rem);
        margin: 0 auto; } }
  #strength01 .pic,
  #strength03 .pic {
    display: block;
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    height: auto;
    object-fit: cover;
    object-position: center; }
    @media (max-width: 999px) {
      #strength01 .pic,
      #strength03 .pic {
        flex: auto;
        width: 100%;
        height: auto; } }
  @media (max-width: 999px) {
    #strength01 .boxs > .pic,
    #strength03 .boxs > .pic {
      width: 95%;
      aspect-ratio: 1050 / 740;
      margin: 0 0 0 auto;
      object-fit: cover; } }
  #strength01 .sttl,
  #strength03 .sttl {
    font-size: min(2.8vw, 4.4rem); }
    @media (max-width: 999px) {
      #strength01 .sttl,
      #strength03 .sttl {
        margin-bottom: 2rem;
        font-size: 2.4rem;
        line-height: 1.6; } }
  #strength01 .strengthTtlBox,
  #strength03 .strengthTtlBox {
    display: flex;
    align-items: center;
    margin-bottom: 6rem; }
    @media (max-width: 999px) {
      #strength01 .strengthTtlBox,
      #strength03 .strengthTtlBox {
        gap: 1rem;
        margin-bottom: 4rem; } }
  #strength01 .numberBox,
  #strength03 .numberBox {
    flex-shrink: 0; }
  #strength01 .deco,
  #strength03 .deco {
    margin-bottom: 1rem;
    font-size: 2.4rem;
    line-height: 1; }
    @media (max-width: 999px) {
      #strength01 .deco,
      #strength03 .deco {
        margin-bottom: 0.8rem;
        font-size: 1.3rem; } }
  #strength01 .number,
  #strength03 .number {
    display: inline-block;
    padding: 0 1rem 2rem;
    border-bottom: 2px solid #EB3300;
    color: #EB3300;
    font-size: clamp(6rem, 5vw, 8rem);
    line-height: 1; }
    @media (max-width: 999px) {
      #strength01 .number,
      #strength03 .number {
        padding: 0 0.5rem 1.2rem;
        font-size: 4.8rem; } }
  #strength01 .ttl,
  #strength03 .ttl {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 28rem;
    min-height: 8rem;
    padding: 0 4rem;
    font-size: clamp(4rem, 3.5vw, 5.6rem);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap; }
    @media (max-width: 999px) {
      #strength01 .ttl,
      #strength03 .ttl {
        min-width: 0;
        min-height: 5.5rem;
        padding: 0 2rem;
        font-size: 3.2rem; } }
    #strength01 .ttl span,
    #strength03 .ttl span {
      position: relative;
      z-index: 1; }
  #strength01 .ttlDeco,
  #strength03 .ttlDeco {
    position: absolute;
    top: 60%;
    left: 53%;
    z-index: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    object-fit: fill;
    transform: translate(-50%, -50%) rotate(-15deg);
    transform-origin: center;
    pointer-events: none; }
    @media (max-width: 999px) {
      #strength01 .ttlDeco,
      #strength03 .ttlDeco {
        top: 58%;
        left: 52%;
        width: 110%; } }
  #strength01 .picBox,
  #strength03 .picBox {
    display: flex;
    gap: 3rem; }
    @media (max-width: 999px) {
      #strength01 .picBox,
      #strength03 .picBox {
        flex-direction: column;
        gap: 2rem;
        width: calc(100% - 4rem); } }
    @media (max-width: 999px) {
      #strength01 .picBox .pic,
      #strength03 .picBox .pic {
        width: 100%;
        aspect-ratio: 300 / 200;
        margin: 0;
        border-radius: 0;
        object-fit: cover; } }

/*
---------------------------------------
strength02
---------------------------------------
*/
#strength02 {
  padding: 16rem 0;
  background: #f7f7f5 url("../img/strength/02_bg.jpg") center center/cover no-repeat; }
  @media (max-width: 999px) {
    #strength02 {
      padding: 7rem 0; } }
  #strength02 .boxs {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: calc(90 / 1400 * 100%);
    width: calc(100% - max(6vw, (100% - 140rem) / 2));
    margin: 0 auto 12rem 0; }
    @media (max-width: 999px) {
      #strength02 .boxs {
        flex-direction: column;
        gap: 4rem;
        width: 100%;
        margin: 0 0 7rem; } }
  #strength02 .box {
    position: relative;
    flex: 0 0 clamp(calc(510 / 1400 * 100%), calc(22.83vw + 100px), 40%); }
    @media (max-width: 999px) {
      #strength02 .box {
        order: 1;
        flex: auto;
        width: calc(100% - 4rem);
        margin: 0 auto; } }
  #strength02 .pic {
    display: block;
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    height: auto;
    object-fit: cover;
    object-position: center; }
    @media (max-width: 999px) {
      #strength02 .pic {
        order: 2;
        flex: auto;
        width: 95%;
        height: auto;
        margin: 0 auto 0 0; } }
  #strength02 .strengthTtlBox {
    display: flex;
    align-items: center;
    margin-bottom: 6rem; }
    @media (max-width: 999px) {
      #strength02 .strengthTtlBox {
        gap: 1rem;
        margin-bottom: 4rem; } }
  #strength02 .numberBox {
    flex-shrink: 0; }
  #strength02 .deco {
    margin-bottom: 1rem;
    font-size: 2.4rem;
    line-height: 1; }
    @media (max-width: 999px) {
      #strength02 .deco {
        font-size: 1.3rem; } }
  #strength02 .number {
    display: inline-block;
    padding: 0 1rem 2rem;
    border-bottom: 0.2rem solid #EB3300;
    color: #EB3300;
    font-size: clamp(6rem, 5vw, 8rem);
    line-height: 1; }
    @media (max-width: 999px) {
      #strength02 .number {
        padding: 0 0.5rem 1.5rem;
        font-size: 5rem; } }
  #strength02 .ttl {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 28rem;
    min-height: 8rem;
    padding: 0 4rem;
    font-size: clamp(4rem, 3.5vw, 5.6rem);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap; }
    @media (max-width: 999px) {
      #strength02 .ttl {
        min-width: 19rem;
        min-height: 6rem;
        padding: 0 2rem;
        font-size: 3.2rem; } }
    #strength02 .ttl span {
      position: relative;
      z-index: 1; }
  #strength02 .ttlDeco {
    position: absolute;
    top: 60%;
    left: 53%;
    z-index: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    object-fit: fill;
    transform: translate(-50%, -50%) rotate(-15deg);
    transform-origin: center;
    pointer-events: none; }
    @media (max-width: 999px) {
      #strength02 .ttlDeco {
        top: 58%;
        left: 52%;
        width: 110%; } }
  #strength02 .sttl {
    font-size: min(2.8vw, 4.4rem); }
    @media (max-width: 999px) {
      #strength02 .sttl {
        font-size: 2.4rem; } }
  @media (max-width: 999px) {
    #strength02 .voiceBox {
      width: calc(100% - 4rem); } }
  #strength02 .voiceTtl {
    margin-bottom: 5rem;
    text-align: center;
    font-size: 3.6rem;
    font-weight: 700; }
    @media (max-width: 999px) {
      #strength02 .voiceTtl {
        margin-bottom: 3rem;
        font-size: 2.4rem; } }
  #strength02 .voiceList {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem; }
    @media (max-width: 999px) {
      #strength02 .voiceList {
        grid-template-columns: 1fr;
        gap: 3rem; } }
  #strength02 .voiceItem {
    position: relative;
    padding: 6rem 4rem 4rem;
    background: #fff;
    box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.08); }
    @media (max-width: 999px) {
      #strength02 .voiceItem {
        padding: 4rem 2rem 3rem; } }
    #strength02 .voiceItem::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      width: 20rem;
      height: 0.4rem;
      background: #08613d;
      transform: translateX(-50%); }
      @media (max-width: 999px) {
        #strength02 .voiceItem::before {
          width: 12rem;
          height: 0.3rem; } }
  #strength02 .logoBox {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 9rem;
    margin-bottom: 4rem; }
    @media (max-width: 999px) {
      #strength02 .logoBox {
        min-height: auto;
        margin-bottom: 3rem;
        width: 80%;
        margin: 0 auto 2rem; } }
    #strength02 .logoBox img {
      display: block;
      width: auto;
      max-width: 100%;
      max-height: 6rem;
      height: auto; }
      @media (max-width: 999px) {
        #strength02 .logoBox img {
          max-height: 5rem; } }
  #strength02 .voiceSttl {
    margin-bottom: 2.5rem;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.7; }
    @media (max-width: 999px) {
      #strength02 .voiceSttl {
        margin-bottom: 2rem;
        font-size: 1.8rem; } }
  #strength02 .voiceTxt {
    line-height: 2; }
  #strength02 .voiceName {
    margin-top: 3rem;
    text-align: right; }
    @media (max-width: 999px) {
      #strength02 .voiceName {
        margin-top: 2rem; } }

/*
---------------------------------------
strength03
---------------------------------------
*/
#strength03 {
  padding-bottom: 16rem; }
  @media (max-width: 999px) {
    #strength03 {
      padding-bottom: 9rem; } }
  #strength03 .bgDeco2 {
    right: 0;
    left: inherit;
    width: 151rem;
    height: auto;
    z-index: 1; }
    @media (max-width: 999px) {
      #strength03 .bgDeco2 {
        z-index: -1; } }
  #strength03 .picBox {
    position: relative;
    z-index: 1; }
    @media (max-width: 999px) {
      #strength03 .picBox {
        z-index: -1; } }
