@charset "utf-8";



.contents h3{
    text-align: center;
    margin: -10% auto 0;
    position: relative;
    display: block;
    max-width: 800px;
    width: 50%;
}
.concept_box.con1{
    margin-top: -6%;
}
.concept_box:not(:last-child){
    margin-bottom: 30px;
}
.concept_box{
    padding: 8% 5%;
}
.concept_box_flex{
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: auto;
    gap: 3%;
}
.con2 .concept_box_flex{
    flex-direction: row-reverse;
}
.concept_box_flex .txt_ara{
    flex-basis: 47%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.concept_box_flex .txt_ara .concept_box_ttl{
    display: flex;
    gap: 16px;
    align-items: center;
    padding-bottom: 16px;
    position: relative;
}
.concept_box_flex .txt_ara .concept_box_ttl::before{
    content: '';
    display: block;
    width: 40%;
    height: 1px;
    background: var(--dark);
    position: absolute;
    left: 0; bottom: 0;
}
.concept_box_flex .txt_ara .concept_box_ttl .num{
    display: block;
    font-size: 100px;
    font-weight: 600;
    letter-spacing: 4px;
    color: var(--light);
    -webkit-text-stroke: 5px var(--dark);
    paint-order: stroke; 
    line-height: 1;

}
.concept_box_flex .txt_ara .concept_box_ttl .ttl{
    font-size: 42px;
    font-weight: 600;
    line-height: 1;
    color: var(--dark);
}
.concept_box_flex .txt_ara dl{
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.concept_box_flex .txt_ara dt{
    font-size: 32px;
    font-weight: 600;
}
.concept_box_flex .txt_ara dd{
    font-size: 16px;
    font-weight: 600;
}
.concept_box_flex .txt_ara .con_btn{
    width: 100%;
    max-width: 360px;
    margin: 24px 0 0;
}
.concept_box_flex .txt_ara{}

.concept_box_flex .img_ara{
    flex-basis: 50%;
}

.con2 .concept_box_flex .img_ara{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.con2 .concept_box_flex .img_ara .flex{
    display: flex;
    gap: 8px;
    align-items: stretch;
}
.con2 .concept_box_flex .img_ara .flex picture{
    flex: 1 1 auto;
    height: 150px; 
}
.con2 .concept_box_flex .img_ara .flex picture img{
    object-fit: cover; 
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 768px) {

.mv .cap{
        bottom: 59px;
}

.contents h3{
    margin: -25% auto 0;
    width: 100%;
}
.concept_box.con1{
    margin-top: -10%;
}
.concept_box:not(:last-child){
    margin-bottom: 20px;
}
.concept_box{
    padding: 8% 5%;
}
.concept_box_flex{
    flex-direction: column;
    max-width: 100%;
    gap: 24px;
}
.con2 .concept_box_flex{
    flex-direction: column;
}
.concept_box_flex .txt_ara{
    flex-basis: 100%;
    gap: 16px;
}
.concept_box_flex .txt_ara .concept_box_ttl{
    gap: 24px;
    padding-bottom: 12px;
    width: 100%;
    justify-content: center;
}
.concept_box_flex .txt_ara .concept_box_ttl::before{
    width: 10%;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.concept_box_flex .txt_ara .concept_box_ttl .num{
    font-size: 50px;
    -webkit-text-stroke: 3px var(--dark);

}
.concept_box_flex .txt_ara .concept_box_ttl .ttl{
    font-size: 24px;
}
.concept_box_flex .txt_ara dl{
    gap: 16px;
}
.concept_box_flex .txt_ara dt{
    font-size: 24px;
    line-height: 1.4;
    text-align: center;
}
.concept_box_flex .txt_ara dd{
    font-size: 13px;
    text-align: center;
}
.concept_box_flex .txt_ara .con_btn{
    width: 100%;
    max-width: 280px;
    margin: 8px auto 0;
}

.concept_box_flex .img_ara{
    flex-basis: 100%;
}

.concept_box_flex {
    display: flex;
    flex-direction: column;
  }
.concept_box_flex .txt_ara {
    display: contents; 
  }

  /* ③ display: contentsによって、すべての要素が同じ階層として並び替え可能に */
  .concept_box_ttl {
    order: 1; /* タイトルが1番上 */
  }

  dl {
    order: 2; /* 説明文が2番目 */
  }

  .img_ara {
    order: 3; /* 画像が3番目（ボタンの上） */
  }

  .con_btn {
    order: 4; /* ボタンが4番目（一番下！） */
  }
  .con2 .concept_box_flex .img_ara .flex picture{
    height: 90px; 
}
}




