html{
    font-size: 62.5%;
}
*{
    box-sizing: border-box;
}
img{
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
}
body{
    font-family: "BIZ UDGothic", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.8;
    color: #111419;
    background-color: #F3F4F5;
    font-size: 1.4rem;
}

/* スクロールごとにフェードインCSS */
.inview {
  /* 30px下げる */
  transform: translateY(30px);
  /* 要素を透明にする */
  opacity: 0;
  /* 2秒かけて、変化させる */
  transition: transform 2s, opacity 2s;
}
.inview.show {
  transform: translateY(0);
  opacity: 1;
}


/* スマホ */
.inner{
    width: 88.372%;
    margin: 0 auto;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10000000;
  isolation: isolate;
}
header h1 {
    width: 38.421%;
    position: fixed;
    top: 25px;
    left: 15px;
    z-index: 100;
}

/* ハンバーガーメニュークリック前 */
/* クリックエリアと位置を指定 ---------------------- */
.btnHamburger {
  position: fixed;
  top: 25px;
  right: 15px;
  width: 54px; /* クリックエリアの横幅*/
  height: 54px; /* クリックエリアの高さ*/
  cursor: pointer;
  z-index: 9999999;
  border: 2px solid #00589B;
  border-radius: 50%;
  animation: fix 1s 3s both;
}

.btnHamburger .line {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 2px; /* 1本辺りの高さ */
  background: #00589B; /* 線の色 */

  /* 適用するプロパティ、変化する時間、変化する速度 */
  transition: 0.3s ease-out;
}
.btnHamburger .line_01 {
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 25px;
  }
.btnHamburger .line_02 {
  top: 29px;
  left: 50%;
  transform: translateX(-50%);
  width: 25px;
  }
/* #coverlayerクリック前 */
#coverlayer{
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background: rgba(0,88,155,0.9);
  opacity: 0;
  transition: .3s;
  z-index: 10;
  height:100%;
  border-left: 3px solid #F6F6F6;
  border-top: 3px solid #F6F6F6;
}
/* navクリック前 */
nav{
  position: fixed;
  top: 12.422%;
  right: -100%;
  opacity: 0;
  transition: 0.3s;
  z-index: 11;
  width: 50%;
  text-align: center;
}
nav ul li{
  margin-bottom: 40px;
}
nav ul li a{
  color: #fff;
  font-size: 1.6rem;
  font-weight: normal;
  margin-bottom: 72px;
  text-decoration: none;
}

/* ハンバーガーメニュークリック後 */
.btnHamburger.is-active {
  border: #fff 2px solid;
}
.btnHamburger.is-active .line_01 {
  top: 25px; /* 上から2番目の線の位置に変更 */
  left: 25%;
  transform: rotate(45deg);
  background: #fff;
}
.btnHamburger.is-active .line_02 {
  top: 25px; /* 上から2番目の線の位置に変更 */
  left: 25%;
  transform: rotate(135deg);
  background: #fff;
}
/* #coverlayerクリック後 */
#coverlayer.is-active{
  width: 91%;
  height:100%;
  opacity: 1;
  border-top-left-radius: 200px;
}
/* navクリック後 */
nav.is-active{
  right: 20%;
  opacity: 1;
}







#top_main .inner,header .inner{
    padding-bottom: 0;
}

#top_main{
    height: 100dvh;
    position: relative;
    overflow: hidden;
}
#top_main h2{
    font-size: 2.8rem;
    color: #00589B;
    font-weight: bold;
    margin-bottom: 16px;
    padding-top: 100px;
    line-height: 1.4;
}

#top_main h3{
    font-family: "Gantari", sans-serif;
    font-size: 2.2rem;
    color: #00589B;
    font-weight: 600;
    line-height: 1.38;
    margin-bottom: 40px;
}


@media (max-width: 400px) {
  #top_main h2{
      font-size: 2.6rem;
  }
}

@media (max-width: 375px) {
  #top_main h2{
      font-size: 2.5rem;      /* ちょい小さく */
      line-height: 1.35;      /* 行間を少しだけ詰める */
      padding-top: 85px;      /* 上の余白も少しだけ減らす */
      margin-bottom: 12px;    /* h2→h3の距離も少し縮める */
  }

  #top_main h3{
      line-height: 1.35;
      margin-bottom: 24px;    /* 英語の下の余白もスッキリめに */
  }
}


.top_bg{
    aspect-ratio: 2 / 3;
    width: 100%;
    background-image: image-set(
    url("../image/top-1050.webp") 1x,
    url("../image/top-2000.webp") 2x,
    url("../image/top-3000.webp") 3x
    );
    background-size: cover;
    background-position: center;
    border-top-left-radius: 200px;
    padding-bottom: 20px;
    }
    .top_name{
    position: absolute;
    bottom: 0;
    width: 100%;
}


/* mainここから */
h4{
    font-size: 1.4rem;
    color: #00589B;
    padding-top: 96px;
    display: inline-flex;
    gap: .5rem;
}
h4 img{
    width: 20px;
    height: auto;
}
h5{
    font-family: "Gantari", sans-serif; 
    font-size: 4.8rem;
    color: #00589B;
    font-weight: bold;
    margin-bottom: 12px;
}
.inner{
    padding-bottom: 120px;
}

/* about */
p.vision{
    font-family: "Gantari", sans-serif;
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 24px;
    line-height: 1.4;
}
p.vision_jp{
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 36px;
}
p.scroll{
    height: 300px;
    overflow: scroll;
    scroll-behavior: auto;
}
#about .inner{
    background-image: url(../image/about.svg);
    background-repeat: no-repeat;
    background-position: 140% 90%;
}

#about .bold{
    font-weight: bold;
}

.ab{
    position: relative;
    min-height: 600px;
    margin-bottom: 64px;
}
.ab_bg1{
    aspect-ratio: 2 / 3;
    width: 41.86%;
    background-image: image-set(
    url("../image/ab-bg1.jpg")
);
    background-size: cover;
    background-position: 60%;
    border-radius: 36px;
    position: absolute;
    top: -10px;
    left: 30px;
    }
    .ab_bg2{
    aspect-ratio: 2 / 3;
    width: 41.86%;
    background-image: image-set(
    url("../image/ab-bg2.jpg")
);
    background-size: cover;
    background-position: 70% 0;
    border-radius: 36px;
    position: absolute;
    top: 120px;
    right: 15px;
    }
        .ab_bg3{
    aspect-ratio: 2 / 3;
    width: 41.86%;
    background-image: image-set(
    url("../image/ab-bg3.jpg")
);
    background-size: cover;
    background-position: center;
    border-radius: 36px;
    position: absolute;
    top: 285px;
    left: 13px;
    }


/* biz */
    #biz{
        background-color: #fff;
        border-top-right-radius: 200px;
        border-bottom-right-radius: 200px;
        position: relative;
    }
    h6{
        margin-bottom: 56px;
    }
    #biz p{
        margin-bottom: 20px;
    }

    .biz{
        display: flex;
        justify-content: space-between;
    }
    .biz a{
        color: #111419;
    }
    .biz_1,.biz_2,.biz_3,.biz_4,.biz_5,.biz_6{
    width: 47.368%;
    border-top: rgba(0,88,155,.5) 1px solid;
    }
   .biz_5{
    border-bottom: rgba(0,88,155,.5) 1px solid;
    }

    .biz_bg1{
    aspect-ratio: 1 / 1;
    width: 100%;
    background-image: image-set(
    url("../image/biz-2.jpg")
);
    background-size: 230%;
    background-position: 45% 100%;
    background-repeat: no-repeat;
    border-radius: 20px;
    margin: 20px 0;
    }
    .biz_bg2{
    aspect-ratio: 1 / 1;
    width: 100%;
    background-image: image-set(
    url("../image/biz-6.jpg")
);
    background-size: 200%;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 20px;
    margin: 20px 0;
    }
    .biz_bg3{
    aspect-ratio: 1 / 1;
    width: 100%;
    background-image: image-set(
    url("../image/top-2000.webp")
);
    background-size: 260%;
    background-position: center 90%;
        background-repeat: no-repeat;
    border-radius: 20px;
    margin: 20px 0;
    }
    .biz_bg4{
    aspect-ratio: 1 / 1;
    width: 100%;
    background-image: image-set(
    url("../image/top-2000.webp")
);
    background-size: cover;
    background-position: center;
    border-radius: 20px;
    margin: 20px 0;
    }
    .biz_bg5{
    aspect-ratio: 1 / 1;
    width: 100%;
    background-image: image-set(
    url("../image/biz-5.jpg")
);
    background-size: cover;
    background-position: center;
    border-radius: 20px;
    margin: 20px 0;
    }


/* テスト中 */
.biz-tabs { display:none; } 
/* テスト中 */

        .ao_btn{
        background-color: #00589B;
        width: 300px;
        border-radius: 36px;
        padding: 20px 40px;
        margin: 56px 0 24px;
    }
        .ao_btn a span{
        color: #fff;
        font-size: 16px;
    }
        .ao_btn a{
        display: inline-flex;
        gap: 8.5rem;
    }

    #biz::after {
    content: "";
    position: absolute;
    bottom: 0px;  /* 青が出る位置 */
    left: 0;
    width: 100%;
    height: 300px;   /* 青の高さ */
    background: #00589B;
    z-index: -1;
    }


/* info */
    #info{
        background-color: #00589B;
    }
    #info h4,#info h5{
        color: #fff;
    }
    .siro_btn{
        background-color: #fff;
        width: 300px;
        border-radius: 36px;
        padding: 20px 40px;
        margin: 0 0 56px;
    }
    .siro_btn a span{
        color: #00589B;
        font-size: 16px;
        padding-right: 86px;
    }
    .siro_btn a{
        display: inline-flex;
    }
    #info #newsList a,#info #newsList li{
        color: #fff;
        margin-bottom: 24px;
    }
    #info #newsList a{
        margin-left: 10px;
    }



/* award */
#award{
    background-color: #fff;
    border-radius: 0 200px 200px 0;
    position: relative;
}
    #award::after{
    content: "";
    position: absolute;
    top: 0px;  /* 青が出る位置 */
    left: 0;
    width: 100%;
    height: 710px;   /* 青の高さ */
    background: linear-gradient(180deg, #00589B 0%, #00589B 50%, #F3F4F5 50%, #F3F4F5 100%);
    z-index: -1;
    }
#award h6{
    white-space: pre-wrap;
}
#award .inner{
    height: 710px;
    padding-bottom: 96px;
    background-image: url(../image/award.svg);
    background-repeat: no-repeat;
    background-position: 100% 78%;
}


/* company */
.company p{
  font-size: 1.4rem;
  border-bottom: rgba(0,88,155,.5) 1px solid;
  display: flex;
  flex-wrap: wrap;
  padding: 24px 0 24px 16px;
}
.company p span{
  width: 85%;
  display: block;
  padding-left: 62px;
}
.company p span a{
  color: #000;
  padding-left: 10px;
}
.company p:first-child{
    padding-top: 0;
}
.company p:last-child{
    margin-bottom: 36px;
}
#company .inner{
    padding-bottom: 120px;
}

footer figure{
    width: 34.21%;
    margin: 0 auto;
}
footer .ao_btn{
    margin: 56px auto;
    }
footer .ao_btn a{
        gap: 8rem;
    }

footer li{
    margin-bottom: 24px;
}
footer li a{
    color: #111419;
    position: relative;
    padding-left: 20px;
}
footer li a::before{
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    position: absolute;
    display: block;
    top: 15%;
    left: 0;
    background: #00589B;
    }

footer ul li ul{
    margin: 20px 0 36px 20px;
}
footer ul li ul li a::before{
    content: "";
    width: 15px;
    height: 1px;
    border-radius: 0;
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    background: #00589B;
    }


footer small,footer small a{
    font-family:  "Gantari", sans-serif;
    color: #00589B;
    font-size: 12px;
    }

footer .inner{
    padding-bottom: 64px;
}
.small{
    border-top: #00589B 1px solid;
}
.small .inner{
    display: flex;
    justify-content: space-between;
    padding-top: 8px;
}




/* ーーーーここから下層ページーーーー */

#child_main{
    background-color: #fff;
    border-top-right-radius: 200px;
    border-bottom-right-radius: 200px;
    margin-top: 80px;
    margin-bottom: 50px;
}
#child_main .inner {
    padding-bottom: 50px;
}
#child_main h4{
    padding-top: 48px;
    margin-bottom: 12px;
    display: inline-flex;
}
#child_main h5{
    margin-bottom: 64px;
    font-size: 3.6rem;
}
#child_main p{
    width: 90%;
    margin-bottom: 150px;
}
.breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 1rem; /* テキストと線の間 */
}

.breadcrumb li {
  list-style: none;
}
.breadcrumb li a{
  color: #979797;
}

/* 2つ目の li の前に「線」を出す */
.breadcrumb li + li::before {
  content: "";
  display: inline-block;
  width: 50px;            /* 線の長さ（調整OK） */
  height: 1px;             /* 線の太さ */
  background-color: #979797;  /* 線の色 */
  margin: 0 1rem .5rem;        /* 文字との余白 */
}

/* サービス概要ここから */
.sumimg img{
    margin: 36px auto 0;
}

/* サービス特徴ここから */
.features section{
    margin-bottom: 56px;
}
.features section:last-child{
    margin-bottom: 0px;
}
.features h5{
    margin-bottom: 0;
    font-size: 36px;
}
.features h4{
    display: block;
    padding-top: 0;
    margin-bottom: 32px;
}
.features .inner{
    padding-bottom: 24px;
}
.features .number{
    font-size: 1.6rem;
    color: #00589B;
    padding-bottom: 8px;
    border-bottom: 1px #00589B solid;
    margin-bottom: 36px;
}
.features figure img{
    border-radius: 36px;
}
.heading{
    text-align: center;
    font-size: 1.8rem;
    margin: 36px auto 24px;
}
.caption{
    line-height: 2;
}

/* サービス詳細ここから */
.service strong{
    font-weight: bold;
    color: #00589B;
}
.sumimg{
    margin-bottom: 56px;
}

.brand{
    margin-bottom: 80px;
}
.brand .inner{
    background-color: #fff;
    padding: 72px 0;
    border-radius: 36px;
}
.brand h5{
    font-size: 3rem;
    margin-bottom: 0;
    text-align: center;
}
.brand h4{
    padding-top: 0;
    text-align: center;
    display: block;
}

.brand_list{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    padding: 4.3rem 1.8rem 4rem;
    margin-top: 1.6rem;
    row-gap: 2.5rem;}
.brand_list li {
    width: 100%;
    align-items: center;
    align-content: center;
}
.brand_list li img{
    max-width: 10.3rem;
    max-height: 50px;
}

.sumdiv p{
    overflow: scroll;
    height: 300px;
}

/* 表彰実績ここから */
.child #award::after{
    display: none;
}
.child #award{
    margin-bottom: 120px;
}


#marketing #child_main h5 {
    font-size: 3.2rem;
}
#consulting #child_main h5 {
    font-size: 3.2rem;
}

.minaosi .inner{
    height: 450px;
    background-image: image-set(
    url("../image/minaosi.jpg")
);
    background-size: cover;
    background-position: 70% 20%;
    border-radius: 36px;
    margin-bottom: 160px;
}
.minaosi .flex{
    padding: 60px 30px;
}
.minaosi .minaosi_heading{
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 36px;
}
.minaosi .minaosi_caption{
    color: #fff;
}
.minaosi .siro_btn{
    margin: 0 30px;
}


/* ここからCSR */
#csr .service h4{
    padding-top: 0;
}
#csr .service img{
    margin: 5px 0;
}


/* AWARDページ */
.awardcard{
    width: 300px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(0,88,155,.3);
  padding-bottom: 16px;
}
.award-date {
  margin-top: 12px;
  text-align: center;
  color: #00589B;
}
.award-text {
text-align: center;
  margin-top: 4px;
}


/* CONTACTページ */
#contactpage main .inner{
  border: #ccc 1px solid;
  margin-bottom: 72px;
  background-color:#fff;
}
#contactpage main section{
  width: 88.888%;
  margin: 0 auto;
}
#contactpage section ul{
  padding: 32px 0;
  display: flex;
  justify-content: space-between;
}
#contactpage section ul li {
  font-size: 1.6rem;
  font-weight: 700;
  color: #ccc;
  padding: 4px 0;
  border: #ccc 1px solid;
  width: 30%;
  text-align: center;
}
#contactpage section ul li.focus{
	background: #00589B;
	color: #fff;
  border: #00589B 1px solid;
}
#contactpage section input,textarea,select{
  width: 100%;
  border: #ccc 1px solid;
  height: 40px;
}
#contactpage section textarea{
  height: 260px;
}
#contactpage section dt{
  padding: 24px 0 8px;
}
#contactpage section dt span{
  color:#EB5F1B;
}
#contactpage section dt:first-child{
  padding-top: 0;
}
#contactpage section dd:last-child{
  padding-bottom: 48px;
}
#contactpage section input[type=submit]{
  color: #FFF;
  background-color: #111419;
  width: 200px;
  border: #111419 1px solid;
  font-weight: 700;
  text-align: center;
  display: block;
  margin: 0 auto 12px;
  font-size: 1.6rem;
}
#contactpage section p{
  font-size: 1.6rem;
  white-space: pre-line;
  text-align: center;
}
#contactpage section form{
  margin-bottom: 64px;
}


/* Confirmページ */
#contactpage.confirm section .btn-flex{
  display: flex;
}
#contactpage.confirm section input[type=button]{
  color: #FFF;
  background-color: #111419;
  width: 200px;
  border: #111419 1px solid;
  font-weight: 700;
  text-align: center;
  margin: 0 8px 12px 0;
  font-size: 1.6rem;
}
#contactpage.confirm section input[type=submit]{
  color: #FFF;
  background-color: #111419;
  width: 200px;
  border: #111419 1px solid;
  font-weight: 700;
  text-align: center;
  margin: 0 0 12px;
}




/* Completeページ */
#contactpage.complete section p{
  margin-bottom: 8px;
  font-size: 1.6rem;
}
#contactpage.complete section p:first-child{
  font-size: 2rem;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  color: #00589B;
}
#contactpage.complete .viewmore-btn{
  text-align: center;
  margin-bottom: 64px;
  padding-top: 24px;
}
#contactpage.complete .viewmore-btn a{
  color: #1F4360;
  text-decoration: none;
  font-family: "Poppins", sans-serif;
}
#contactpage.complete .viewmore-btn a img{
  margin-left: 8px;
}

#contactpage.confirm main .inner,#contactpage.complete main .inner{
    padding-bottom: 0;
}


.privacy { max-width: 880px; margin: 0 auto; padding: 48px 16px; }
.privacy__lead { margin: 16px 0 32px; line-height: 1.9; }
.privacy__section { margin: 32px 0; }
.privacy h3 { font-size: 28px; margin: 0 0 12px; }
.privacy h2 { font-size: 20px; margin: 0 0 12px; }
.privacy p, .privacy li { line-height: 1.9; 
list-style: number;}
.privacy ol { padding-left: 1.25em; }
.privacy__end { margin-top: 40px; }


/* TB */
@media (min-width: 700px) {
.inner{
    width: 81%;
    padding-bottom: 120px;
}
p{
    font-size: 1.6rem;
}
header h1{
    width: 22.479%;
}
#top_main{
    display: flex;
}
#top_main .inner{
    margin: auto 0px auto 50px;
}
.top_bg{
    width: 50%;
}
#top_main h2{
    font-size: 2.5rem;
    padding-top: 0;
}

h4 {
    padding-top: 120px;
}
h5{
    font-size: 7.2rem;
    margin-top: -16px;
    margin-bottom: 30px;
}
p.vision{
    font-size: 4rem;
}
p.vision_jp{
    font-size: 3.2rem;
    margin-bottom: 48px;
}
#about .inner {
    background-position: 100% 95%;
    padding-bottom: 120px;
}

.ab {
    position: static;
    min-height: 170px;
    display: flex;
    justify-content: space-between;
    margin-bottom: 120px;
}
.ab_bg1{
    aspect-ratio: 3 / 2;
    width: 30.86%;
    background-position: 60%;
    border-radius: 36px;
    position: static;
}
.ab_bg2{
    aspect-ratio: 3 / 2;
    width: 30.86%;
    background-position: 60%;
    border-radius: 36px;
    position: static;
}
.ab_bg3{
    aspect-ratio: 3 / 2;
    width: 30.86%;
    background-position: 60%;
    border-radius: 36px;
    position: static;
}

h6{
    font-size: 1.6rem;
}

#info p {
    margin-bottom: 40px;
}
#info #newsList a,#info #newsList li{
    font-size: 1.6rem;
    margin-bottom: 24px;
    }


#award h6 {
    white-space: normal;
}
#award .inner {
    background-position: 100% 75%;
}

#company .inner{
    padding-bottom: 160px;
}

footer .inner{
    display: flex;
    justify-content: space-between;
}
footer figure{
    width: 45%;
    margin: 0 0 70px 0;
}
footer li a{
    font-size: 1.6rem;
}


/* ーーーーここから下層ページーーーー */
#child_main h5 {
    margin-bottom: 36px;
    font-size: 4.8rem;
}
.features .inner{
    position: relative;
}
.textbox {
        position: sticky;
        top: 120px;
        display: flex;
  flex-direction: column;   /* 上下に並べる */
  align-items: center;      /* 中央揃え */
  justify-content: center;  /* 上下の中心に配置 */
  height: 100%;  
  gap: 1.8rem;
  margin-left: -35px;
}

#child_main{
    margin-bottom: 80px;
}
.features h4{
    writing-mode: vertical-rl;
    text-orientation: upright;
    display: inline-block;
}
.features h5{
    writing-mode: vertical-rl;
;}

.features .inner{
    display: flex;
    justify-content: space-between;
}
.features .number{
    margin-bottom: 32px;
    font-weight: bold;
}
.features section {
    width: 600px;
    margin-bottom: 64px;
}
.features section .flex{
    display: flex;
    justify-content: space-between;
}
.features section figure{
    width: 280px;
}
.features section .flex_2{
    width: 290px;
}
.features .inner {
    padding-bottom: 0px;
}
.heading{
    text-align: left;
    margin-top: 0;
}

  .brand_list{
    column-gap: 1.6rem;      /* お好みで */
    justify-content: center; /* 横方向の寄せ */
  }
  .brand_list li{
    width: 30%;          /* ←ここだけで3列 */
    height: 5.6rem;          /* 余白・高さは調整 */
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .brand_list li img{
    max-width: 16rem;        /* 収まりが悪ければ調整 */
    max-height: 60px;
  }
  .brand h5{
    font-size: 3.6rem;
  }

  .sumdiv p{
    overflow: auto;
    height: auto;
}

  .minaosi .inner {
    height: 400px;
}

.awardlist {
  display: grid;
  gap: 40px;              /* カード同士の余白 */
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}


}

    /* PC */
@media (min-width: 1120px) {
a:hover{
    opacity: .5;
}
.inner{
    width: 1120px;
    padding-bottom: 160px;
}
header h1{
    width: 253px;
}
#top_main .inner{
    margin: 150px 0px auto 123px;
}
#top_main h2{
    font-size: 4rem;
    padding-top: 50px;
}
#top_main h3{
    font-size: 3.6rem;
}
h4{
    padding-top: 160px;
}
.top_bg {
    aspect-ratio: 766 / 743; /* PC用の比率に合わせる */
    background-image: image-set(
    url("../image/top-1050.webp") 1x,
    url("../image/top-2000.webp") 2x,
    url("../image/top-3000.webp") 3x
    );
    background-position: center; /* 必要なら left / right でフォーカルポイント調整 */

}

#about .inner{
    display: flex;
    justify-content: space-between;
    padding-bottom: 160px;
}
#about .flex_2{
    width: 720px;
    padding-top: 200px;
}
.ab{
    margin-bottom: 160px;
}

#info .flex_oya{
    display: flex;
    justify-content: space-between;
}
.siro_btn{
    height: 72px;
    margin-top: 180px;
    padding: 23px 40px;
}

#award .inner{
    display: flex;
    justify-content: space-between;
    height: auto;
    background-position: 100% 90%;
}
#award .ao_btn{
    height: 72px;
    margin-top: 180px;
    padding: 23px 40px;
}

#company .flex_oya{
    display: flex;
    justify-content: space-between;
    margin-bottom: 80px;
}
#company .flex_2{
    width: 620px;
    margin-top: 205px;
}
#company .flex_2 p,#company .flex_2 p span{
    font-size: 1.6rem;
    margin: 0 auto;
}
#company .inner {
    padding-bottom: 200px;
}
#company picture img{
    width: 1000px;
    display: block;
    margin: 0 auto;
}

footer figure{
    width: 170px;
}
footer ul{
    width: 300px;
}

/* ここからテスト中 */
.biz,.biz_sp{
    display: none;
}

.biz-hover-tabs { display:block; }

  .biz-tabs{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 96px;
    align-items: end;
  }
  .biz-preview{
    aspect-ratio: 4/5;
    border-radius: 24px;
    overflow: hidden;
    background:#f3f4f5;
  }
  .biz-preview img{
    width:100%;
    height:100%;
    object-fit: cover;
    display:block;
  }
  .biz-list{
    list-style:none;
    margin:0;
    padding:0 0 8px;
  }
  .biz-list li + li { margin-top: 24px; }
  .biz-list a{
    font-size: 1.8rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 24px;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(0,88,155,.3);
    text-decoration:none;
    color:#111419;
    transition: background .2s ease, color .2s ease;
  }
  .biz-list a:hover,
  .biz-list a:focus-visible{
    background: rgba(0,88,155,.2);
  }
  /* .biz-list a[aria-selected="true"]{
    background: rgba(0,88,155,.08);
  } */
  .biz-list .num{
    font-family: "Gantari", sans-serif;
    color:#00589B;
    font-weight:700;
    margin-right:auto;
  }
  #biz h5{
    margin-bottom: 0;
  }
  #biz h6{
    margin-bottom: 36px;
  }
/* ここまでテスト中 */





/* ーーーーここから下層ページーーーー */
#child_main h4{
    padding-top: 72px;
}
#marketing #child_main h5 {
    font-size: 6rem;
}
#consulting #child_main h5 {
    font-size: 6rem;
}
#child_main h5 {
    margin-bottom: 120px;
    font-size: 6rem;
    }
#child_main p{
    margin-bottom: 0;
    width: auto;
}
#child_main .inner{
    display: flex;
    justify-content: space-between;
}
#child_main ol{
    margin-top: 270px;
    margin-right: 64px;
}

.features h5{
    font-size: 48px;
}
.features section {
    width: 1020px;
    margin-bottom: 100px;
    }
.features section .flex {
    justify-content: space-around;
}
.features .number {
    margin-bottom: 40px;
}
.features section figure {
    width: 400px;
    }
.features section .flex_2 {
    width: 500px;
    }
.heading {
    font-size: 2.8rem;
    }


.brand{
    margin-bottom: 120px;
}
#award h4 {
padding-top: 120px;
    }

  .minaosi .inner {
    display: flex;
    justify-content: space-between;
    height: 290px;
    align-items: baseline;
    background-position: 50% 50%;
}
.minaosi .flex {
    padding: 60px 80px;
}
.minaosi .siro_btn {
    margin: 0 40px;
    padding-top: 20px;
}
.minaosi .minaosi_heading{
    font-size: 2.8rem;
}

.sumdiv{
display: flex;
justify-content: space-between;
}
.sumdiv p{
    width: 50%;
}
  .sumimg{
    width: 45%;
    margin-bottom: 0;
}
.sumimg img {
    margin-top: 0;
}
.sumbottom{
    margin-bottom: 64px;
}


/* CSRページ */
#csr .service p{
    width: 1000px;
    margin: 0 auto;
}
#csr .service p img{
    width: 90%;
    margin: 12px auto 24px;
}


/* AWARDページ */
#awardlist .awardlist {
  display: grid;
  gap: 40px;              /* カード同士の余白 */
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.awardcard {
  text-align: left;
}
.awardcard img {
  width: 100%;
  height: auto;
  display: block;
}

#awardlist .breadcrumb{
    width: 40%;
}
#awardlist #child_main h5,#contactpage #child_main h5{
    font-size: 70px;
    margin-bottom: 64px;
}
#awardlist #child_main p{
    width: 60%;
    margin-bottom: 16px;
}
#awardlist #child_main ol{
   margin-top: 360px;
}

/* CONTACTページ */
#contactpage #child_main ol{
    margin-top: 285px;
    margin-right: 80px;
}
#contactpage main .inner{
  width: 60%;
}
}