html {
    /* font-size: min(calc(10 / 1920 * 100vw), 10px); */
    font-size: calc(10 / 1920 * 100vw);
    color: var(--black);
}


/* ここから修正 */

.main_bottom_row {
  display: flex;
  align-items: flex-start; /* 上揃え */
  gap: 32px;
 margin-left: 15rem;    /* flexアイテムを左寄せ */
}

.left_content {
  text-align: left;           /* テキストを左揃え */
  display: flex;
  flex-direction: column;     /* 縦並び */
  align-items: flex-start;

}





section.company_logo_container{
    background-color: white;
}

.main_bottom_row {
  gap: 0; 
}

div.main_bottom_row{
    margin: 5rem;
}

div.ctas{
    margin-top: 5rem;
    margin-bottom: 2rem;
}

.main_img {
  flex: 1; /* 余った幅を全部使う */
}
img.check{
    width: 7%;
}
span.title_main{
    font-size: 3rem;
}

/* span{
    font-size: 3rem;
} */

li{
    margin: 1.5rem 0;
}
p.mainvisual_text_2{
    margin-bottom: 1rem;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .main_bottom_row {
    flex-direction: column;
    align-items: center;
  }
}



/* ===== 業務別カード（衝突を避けるために .ai-speed でスコープ） ===== */
.ai-speed{
  padding: 48px 16px;
  background: #D9F1FF;           /* あなたのLPトーンに合わせてます */
}
.ai-speed__title{
  text-align:center;
  font-weight:800;
  font-size: clamp(20px, 3.2vw, 32px);
  color:#0b2a44;
  margin:0 0 20px;
}
.ai-speed__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:16px;
  max-width:1100px;
  margin:0 auto;
}
@media(min-width:960px){
  .ai-speed__grid{ grid-template-columns: repeat(3,1fr); gap:20px; }
}

.ai-speed__card{
  background:#fff;
  border-radius:18px;
  padding:20px 20px 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.ai-speed__icon{
  width:44px;height:44px;
  border-radius:12px;
  background:#eaf0ff;
  display:flex;align-items:center;justify-content:center;
  font-size:24px;
  color:#3B82F6;
  margin-bottom:2px;
}
.ai-speed__icon img{ width:24px;height:24px; display:block; }

.ai-speed__hd{
  font-weight:800;
  font-size: clamp(16px, 2.2vw, 20px);
  color:#0b2a44;
  margin:0;
}
.ai-speed__desc{
  font-size: clamp(13px, 1.9vw, 15px);
  color:#4a5568;
  margin:0 0 10px;
}
.ai-speed__chips{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-top:auto;                 /* ボトムに寄せる */
}

/* バッジ（時間・効果） */
.chip{
  display:inline-block;
  border-radius:999px;
  padding:6px 10px;
  font-weight:700;
  font-size:13px;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}
.chip--time{
  background:#eef6ff;
  color:#1D4ED8;
  border:2px solid #d6e7ff;
}
.chip--gain{
  background:#fff7cc;
  color:#7a5b00;
  border:2px solid #ffe680;
}

.sp_only { display: none !important; }
.pc_only { display: block; }

@media (max-width: 768px){
  .sp_only { display: block !important; }
  .pc_only { display: none !important; }
}











/* レイアウト */
.ctas{
  display:flex;
  gap:1.25rem;
  align-items:flex-start;
  flex-wrap:wrap;
 /* justify-content: center;  */
}

/* ボタン本体 */
.cta{
  margin-bottom: 6rem;
  position:relative;
  display:inline-block;
  text-decoration:none;
  color:#fff;
  border-radius:14px;
  padding:1.1rem 1.6rem;     /* 本体の余白 */
  padding-top:1.6rem;        /* バッジ分ちょい余白 */
  transition:transform .15s ease, box-shadow .15s ease;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.cta:hover{ transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.16); }

/* 中身（アイコン＋テキスト） */
.cta-inner{
  padding: 1.5rem;
  display:flex;
  align-items:center;
  gap:.6rem;
  font:700 2rem/1 "Hiragino Sans",sans-serif;
  letter-spacing:.02em;
  white-space:nowrap;
}
.cta-ic{ width:1.4rem; height:1.4rem; }

/* バッジ */
.cta-badge{
  position:absolute;
  top:-.7rem;
  left:50%;
  transform:translateX(-50%);
  background:#fff;
  color:#6c6fdc;
  border:2px solid rgba(255,255,255,.9);
  border-radius:999px;
  padding:.25rem 1rem;
  font:700 1.5rem/1 "Hiragino Sans",sans-serif;
  white-space:nowrap;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}

/* カラーバリエーション */
.cta--blue{
  background: #3B82F6; /* フォールバック */
  background: linear-gradient(180deg, #3B82F6 0%, #1D4ED8 100%);
}

.cta--pink{
  background: #ebc700; /* フォールバック */
  background: linear-gradient(180deg, #f5d000 0%, #ebc700 100%);
  color: #fff; /* 白文字 */
}




/* レスポンシブ（狭幅で縦並び＆伸ばす） */
@media (max-width: 640px){
  .ctas{ flex-direction:column; }
  .cta{ width:100%; text-align:center; }
  .cta-inner{ justify-content:center; }
}








/* 横並びの基本 */
.mainvisual_row {
  display: flex;          /* 横並び */
  align-items: center;    /* 縦位置を中央で揃える */
  gap: 24px;              /* 要素間の余白 */
}

/* 画像サイズの安定化 */
.main_img img {
  height: auto;
  display: block;
  width: 100%;
  margin-right: 10px;   /* 親幅いっぱい */
}

/* テキスト側を広がるように */
.mainvisual_text_box {
  flex: 1;                /* 余白をこちらに割り当て */
}


.pc_only {
    display: block;
}

.sp_only {
    display: none !important;
}

/* フォントの指定 */
main {
    font-family: "Hiragino Sans", sans-serif;
    position: relative;
}

/* 追加のフッター部分 */

/* 右側 追従縦タブ（JSなし） */
.vtab-cta{
  position: fixed;
  right: 12px;                 /* 画面右端との余白 */
  top: 50vh;                   /* 画面中央付近に配置 */
  transform: translateY(-50%);
  z-index: 9999;

  background: #000543;/* ご指定の黄色系 */
  color: #fff;
  text-decoration: none;
  padding: 16px 10px;          /* 上下の余白をしっかり */
  border-radius: 12px 0 0 12px;/* 左側だけ角丸＝タブ感 */
  box-shadow: 0 10px 24px rgba(0,0,0,.18);

  transition: transform .15s ease, box-shadow .15s ease;
}
.vtab-cta:hover,
.vtab-cta:focus-visible{
  transform: translateY(-50%) translateX(-2px);
  box-shadow: 0 14px 28px rgba(0,0,0,.22);
  outline: none;
}

/* タブ内の縦書きテキスト */
.vtab-cta__text{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font: 700 3rem/1.25 "Hiragino Sans","Noto Sans JP",sans-serif;
  letter-spacing: .04em;
  display: block;
  padding: 1.5rem;
}

/* 「AI」を1マスで横向き表示＆サイズ揃える */
.tcu{
  text-combine-upright: all;
  -webkit-text-combine: horizontal; /* Safari等の互換 */
  font-size: 1em;  /* 他と同じ大きさに */
}

/* スムーススクロール（CSSだけ） */
html{ scroll-behavior: smooth; }

/* スマホでは非表示にする場合（必要なら外してOK） */
@media (max-width: 768px){
  .vtab-cta{ display: none; }
}








/* サイドバー */
.sidebar {
    position: fixed;
    top: 0rem;
    right: 2rem;
    z-index: 1000;
    padding: 2rem 1.5rem;
    border-radius: 0rem 0rem 3rem 3rem;
    color: white;
    font-family: "Hiragino Sans", sans-serif;
}

.sidebar-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

.sidebar-text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    margin: 0;
    text-align: center;
    padding: 0 2.5rem;
    color: #EBC700;
    margin-top: 1.5rem;
}

.sidebar-text::after {
    content: "";
    display: block;
    width: 40rem;
    height: 0.2rem;
    background-color: #707070;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.sidebar-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    padding: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.sidebar-button {
    background-color: #ffffff;
    color: #011738;
    padding: 1.5rem 5rem;
    text-align: center;
    text-decoration: none;
    border-radius: 3rem;
    border-color: #E35830;
    border-style: solid;
    border-width: 0.2rem;
    font: 1.8rem/2.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    flex: 1;
    white-space: nowrap;
    margin: 0.5rem 0;
}

.sidebar-button:hover {
    background-color: #011738;
    color: #ffffff;
    padding: 1.5rem 5rem;
    text-align: center;
    text-decoration: none;
    border-radius: 3rem;
    border-color: #E35830;
    border-style: solid;
    border-width: 0.2rem;
    font: 1.8rem/2.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    flex: 1;
    white-space: nowrap;
    margin: 0.5rem 0;
}

.sidebar-note {
    font: 2.4rem/3.2rem "Hiragino Sans", sans-serif;
    color: #ffffff;
    text-align: center;
    margin-top: 1rem;
}

/* メインビジュアルセクション */
.mainvisual_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.esp_logo {
    width: 32.6rem;
    height: 9.6rem;
    margin-left: 3rem;

}

.aica_logo {
    width: 30rem;
    height: 10rem;
}

.man_picture {
    width: 64.1rem;
    height: 128.8rem;
    position: absolute;
    bottom: 0rem;
    left: 0;
    z-index: 2;
}

.woman_picture {
    width: 79rem;
    height: 132rem;
    position: absolute;
    bottom: 0rem;
    right: 0;
    z-index: 2;

}

.backpaint {
    width: 100%;
    height: 80%;
    position: absolute;
    top: 15rem;
    left: 0;
    z-index: 1;
}

.mainvisual_text_box {
    text-align: center;
    margin: 0 auto;

    padding: 0rem 0 0 0;
}
/* 上記の余白も修正 */

.aica_logo {
    margin: 0 auto;
    display: block;
    margin-bottom: 15px;
}

.mainvisual_text_1 {
    /* 以下の文字サイズも修正 */
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
      white-space: nowrap;  
    color: #011738;
    background-color: #FFFFFF;
    border: 0.1rem solid #011738;
    display: inline-block;
    /* padding: 2rem 6rem; */
    margin: 0 0 2rem 0;
    /* 上記も修正 */
    padding: 1rem;
}

.mainvisual_text_2 {
    /* 以下の文字のサイズも変更 */
    font: 5.8rem/7.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #011738;
    margin: 0 0 4.5rem 0;
    display: inline-block; /* block → shrink */
  width: auto;
  margin: 0; padding: 0;
}

.circle_container {
    display: flex;
    justify-content: center;
    /* 以下も修正 */
    gap: 0rem;
    margin-top: 4rem;
    /* 以下の余白も修正 */
    padding-bottom: 1rem;
    position: relative;
    z-index: 3;
}


.circle_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 20rem;
}

.circle {
    /* 以下の丸のサイズも修正 */
    width: 20rem;
    height: 20rem;
    border-radius: 50%;
    background-color: #ffffff;
    border: 0.7rem solid #D9F1FF;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 3.6rem/7.5rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #011738;
    margin-bottom: 2rem;
}

.orange_text {
    /* 以下の文字サイズも小さく変更 */
    font: 3.2rem/5.5rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #E35830;
}

.circle3_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.circle3_row {
    display: flex;
    justify-content: center;
    gap: 5rem;
    width: 100%;
    position: relative;
}

.circle3 .circle_text2 {
    line-height: 1.3;
    text-align: center;
    margin-top: 3rem;
}

.circle_text2::after {
    content: "▼";
    position: absolute;
    top: 55%;
    left: 50%;
    color: #011738;
    margin-top: 0.5rem;
    font-size: 2rem;
    line-height: 1;
    transform: rotate(-90deg);
    transform-origin: center;
}

.strike {
    position: relative;
    display: inline-block;
}

.strike::after {
    content: "";
    position: absolute;
    top: 42%;
    left: 0;
    width: 100%;
    height: 0.2rem;
    background-color: #011738;
}

/* ページアンカーセクション */
.page_anker_container {
    padding: 5rem 7rem 7rem 7rem;
    background-color: #FAFAFA;
}

.page_anker_box {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.pageanker_text {
    font: 2.0rem/2.7rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    margin-bottom: 1.2rem;
    text-align: center;
    position: relative;
}

.pageanker_text2 {
    font: 1.4rem/1.9rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #7E7E7E;
    text-align: center;
}

.page_anker_item {
    width: 100%;
    text-align: center;
}

.pageanker_text::after {
    content: "";
    position: absolute;
    top: 10rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 10rem;
    height: 0.1rem;
    background-color: #7E7E7E;
    display: block;
}

.pageanker_text::before {
    content: "";
    position: absolute;
    top: 9.4rem;
    left: 8.7rem;
    right: 0;
    margin: 0 auto;
    width: 1.5rem;
    height: 0.1rem;
    background-color: #7E7E7E;
    display: block;
    transform: rotate(45deg);
    transform-origin: center;
}

/* 会社ロゴセクション */
.company_logo_box {
    padding: 10.5rem 11rem;
}

.company_logo_text {
    font: 3rem/4rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    text-align: center;
    margin-bottom: 2rem;
}

/* aboutセクション */
.about_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 21rem 0;
}

.about_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
}

.title_decoration {
    display: flex;
    justify-content: center;
    position: absolute;
    top: 40rem;
    left: 50%;
    transform: translate(-50%, -50%);
    gap: 2rem;
}

.line_left {
    width: 100%;
    height: 100%;
}

.line_right {
    width: 100%;
    height: 100%;
}

.about_box {
    margin-bottom: 15rem;
}

.about_box2 {
    margin-bottom: 8rem;
}

.about_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
}

.about_text2 {
    font: 4.8rem/6.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
}
/* 
.blue_text {
    color: #015BB4;
    position: relative;
    display: inline-block;
} */
/* 
.text_overdot_1 {
    color: #015BB4;
    position: relative;
    display: inline-block;
    padding-top: 2rem;
} */

.text_overdot_1::before {
    content: "・・・・・・・・";
    position: absolute;
    top: -2rem;
    left: 20rem;
    transform: translateX(-50%);
    color: #015BB4;
    letter-spacing: 0.8rem;
    font-size: 4rem;
    line-height: 1;
}

.about_text3 {
    font: 2.4rem/3.2rem "Hiragino Sans", sans-serif;
    text-align: center;
}

.about_picture {
    width: 152rem;
    height: 80rem;
    margin: 0 auto;
}

.about_box4 {
    margin-bottom: 8rem;
}

.about_text4 {
    font: 3.5rem/9rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
}

.about_text5 {
    font: 5.6rem/9rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    text-align: center;
    color: #0F0F0F;
}

.orange_text_wave {
    color: #FB5A21;
    text-decoration: underline;
    text-decoration-style: wavy;
    text-decoration-color: #FB5A21;
    text-underline-offset: 1rem;
    text-decoration-thickness: 0.4rem;
}

.about_worries_box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
    margin: 0 23rem;
}

.about_worries_text {
    font: 3rem/4rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    text-align: center;
    color: #0F0F0F;
    background-color: #FFFFFF;
    border-radius: 1.5rem 1.5rem 1.5rem 0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70rem;
    height: 17rem;
    box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.2);
    position: relative;
}

.about_worries_text::before {
    content: "";
    position: absolute;
    top: -5.6rem;
    left: -1rem;
    width: 12rem;
    height: 20rem;
    background-image: url(../img/tumesousyoku.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.about_triangle_box {
    margin: 8rem auto 0;
    max-width: 80rem;
    text-align: center;
    position: relative;
    z-index: 2;
}

.about_triangle_text {
    font: 4rem/5.3rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    text-align: center;
    display: inline-block;
    position: relative;
    padding: 4rem 4rem 0rem 4rem;
    z-index: 3;
    margin-top: 2rem;
}

.about_triangle_text::before {
    content: "";
    position: absolute;
    top: 0%;
    left: -45%;
    width: 0;
    height: 0;
    border-left: 60rem solid transparent;
    border-right: 60rem solid transparent;
    border-top: 20rem solid #FFFFFF;
    z-index: -1;
}

/* caseintroductionセクション */
.caseintroduction_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 21rem 7rem;
}

.caseintroduction_sample_largebox {
    display: flex;
    justify-content: space-between;
    margin-bottom: 9rem;
}
.caseintroduction_sample_box{
    width:50%;
}
.caseintroduction_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
}

.caseintroduction_box {
    margin-bottom: 15rem;
}

.caseintroduction_box2 {
    margin-bottom: 8rem;
}

.caseintroduction_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
}

.caseintroduction_sample_box {
    display: flex;
    flex-direction: column;
    width:50%;
}

.caseintroduction_sample_title {
    font: 3.5rem/4.7rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    margin: 0 0 3rem 4rem;
}

.caseintroduction_img {
    margin: 0 auto 2.6rem;
    display: block;
    width: 78.2rem;
    height: 38.4rem;
    object-fit: cover;
}

.caseintroduction_btoa_box {
    display: flex;
    justify-content: space-between;
    padding: 0 2rem;
    position: relative;
}

.caseintroduction_before_box {
    width: 34.5rem;
    height: 29.5rem;
    padding: 2.3rem 0 3rem 5rem;
    background-color: #FFFFFFA7;
    border: #FFFFFF solid 0.3rem;
    border-radius: 1.4rem;
    margin-top: 2.6rem;
}

.caseintroduction_before_title {
    font: 3.5rem/4.7rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #808080;
}

.caseintroduction_before_text {
    font: 2rem/2.7rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #808080;
    margin-top: 3.3rem;
}

.caseintroduction_lecture {
    position: absolute;
    top: 10rem;
    left: 31rem;
    width: 16.4rem;
    height: 16.4rem;
    border-radius: 50%;
    background-color: #000543;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    border: #FFFFFF solid 0.3rem;
}

.caseintroduction_lecture_text {
    color: #FFFFFF;
    text-align: center;
    font: 2rem/2.7rem "Hiragino Sans", sans-serif;
    font-weight: 600;
}

.caseintroduction_after_box {
    width: 42rem;
    height: 32.3rem;
    padding: 2.3rem 0 3rem 5rem;
    background-color: #A9C9EB;
    border: #FFFFFF solid 0.3rem;
    border-radius: 1.4rem;
}

.caseintroduction_after_title {
    font: 3.5rem/4.7rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
}

.caseintroduction_after_text {
    font: 2rem/2.7rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    margin-top: 3.3rem;
}

.caseintroduction_result_text {
    font: 2rem/2.7rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: left;
    margin-top: 5rem;
    padding: 0 7rem;
}

.caseintroduction_other_text {
    position: relative;
    width: 125.5rem;
    height: 33.8rem;
    border-radius: 5rem;
    font: normal normal normal 3.8rem/6.3rem "Hiragino Sans", sans-serif;
    font-weight: 400;
    color: #0F0F0F;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.4);
    padding: 5rem 7rem;
    margin: 0 auto;
    display: block;
}

.caseintroduction_other_text::before {
    content: "";
    position: absolute;
    top: 5rem;
    left: 3.3rem;
    width: 95%;
    height: 95%;
    background-image: url('../img/caseintroduction_other_sousyoku.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.caseintroduction_other_text2 {
    font: normal normal normal 3.5rem/4.7rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    text-align: center;
    margin-top: 7.5rem;
    position: relative;
}

.caseintroduction_other_text2::before {
    content: "▼";
    position: absolute;
    top: 0rem;
    left: -55rem;
    color: #0F0F0F;
    width: 100%;
    height: 100%;
}

.caseintroduction_company_box {
    display: flex;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 1rem;
    padding: 4rem 0rem;
    margin: 18rem 3rem 0 3rem;
}

.caseintroduction_company_logo {
    display: flex;
    margin-top: 10rem;
    position: relative;
}

.caseintroduction_company_logo::before {
    content: "";
    position: absolute;
    top: 23rem;
    left: 0;
    width: 95%;
    height: 0.2rem;
    background-color: #041738;
}

.caseintroduction_company_fukidasi {
    position: absolute;
    font: 5rem/7rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #FFFFFF;
    text-decoration: underline rgba(255, 255, 19, 0.4);
    text-underline-offset: -1rem;
    text-decoration-thickness: 3rem;
    top: -22rem;
    right: 0rem;
    background-image: url('../img/caseintroduction_fukidasi.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    padding-top: 3rem;
}

.caseintroduction_company_img {
    width: 65rem;
    height: 61.3rem;
    margin-right: 5rem;
}

.caseintroduction_company_img2 {
    width: 23.1rem;
    height: 17rem;
    margin-right: 4rem;
}

.caseintroduction_company_img3 {
    width: 31.1rem;
    height: 7.5rem;
    margin-right: 4rem;
    margin-top: 4rem;
}

.caseintroduction_company_img4 {
    width: 34.7rem;
    height: 12.7rem;
    margin-right: 4rem;
    margin-top: 1rem;
}

.caseintroduction_company_text {
    font: 5.6rem/9rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    margin: 12rem 0 0 15rem;
    position: relative;
}

.caseintroduction_company_text::before {
    content: "▼";
    position: absolute;
    top: 0;
    left: -7rem;
    width: 100%;
    height: 100%;
}

.caseintroduction_company_text::after {
    content: "▼";
    position: absolute;
    top: 0;
    left: 62rem;
    width: 100%;
    height: 100%;
}

.caseintroduction_company_button {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 3rem;
}

.contact_button {
    width: 40rem;
    height: 12rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 6rem;
    font: 700 3.2rem/1.2 "Hiragino Sans", sans-serif;
    text-align: center;
    text-decoration: none;
    transition: opacity 0.3s;
    background-color: #ebc700;;
    color: #ffffff;
}
.contact_button:hover{
    background-color: #ebc700;;
    transform:scale(1.1);
    transition: .3s;
}

.text_overdot_1::before {
    content: "・・・・・・・・";
    position: absolute;
    top: -2rem;
    left: 20rem;
    transform: translateX(-50%);
    color: #015BB4;
    letter-spacing: 0.8rem;
    font-size: 4rem;
    line-height: 1;
}

.text_overdot_2::before {
    content: "・・・・";
    position: absolute;
    top: -2rem;
    left: 12rem;
    transform: translateX(-50%);
    color: #015BB4;
    letter-spacing: 1.5rem;
    font-size: 4rem;
    line-height: 1;
}

/* businessimprovementセクション */
.businessimprovement_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
}

.businessimprovement_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
}

.businessimprovement_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 15rem 7rem 15rem 7rem;
}

.businessimprovement_picture_box {
    margin-bottom: 10rem;
}

.businessimprovement_title_box {
    margin-bottom: 15rem;
}

.businessimprovement_text_1 {
    font: 4rem/6rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    text-align: center;
    position: relative;
}

.businessimprovement_text_big {
    font: 4.6rem/6.2rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    text-align: center;
    position: relative;
}

.businessimprovement_text_box {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5rem 0;
}

.gekkeizyudecoration_left,
.gekkeizyudecoration_right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30rem;
    height: 20rem;
}

.gekkeizyudecoration_left {
    left: 10rem;
}

.gekkeizyudecoration_right {
    right: 10rem;
}

.businessimprovement_text_1 {
    margin: 0 10rem;
}

.businessimprovement_text_box {
    margin-bottom: 22rem;
}

.businessimprovement_text_2 {
    font: 3rem/4rem "Hiragino Sans", sans-serif;
    font-weight: 400;
    color: #0F0F0F;
    text-align: center;
    position: relative;
    background-color: #ffffff;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
    padding: 6rem;
    border-radius: 1rem;
    max-width: 90%;
    margin: 0 auto;
}

.businessimprovement_text_box2 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 3rem 0;
}

.circle_box {
    width: 25rem;
    height: 25rem;
    background-color: #000543;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2rem;
    color: white;
    text-align: center;
    padding: 3rem 2rem 4rem 3rem;
    box-sizing: border-box;
    position: absolute;
    z-index: 3;
    top: -13rem;
    left: 30rem;
}

.circle_text {
    font: 2.4rem/5.2rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    margin: 0;
}

.circle_text .orange_text_wave {
    font: 3.6rem/0rem "Hiragino Sans", sans-serif;
}

/* pointセクション */
.point_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 15rem 0rem 15rem 0rem;
}

.point_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
}

.point_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
}

.point_title_box {
    margin-bottom: 20rem;
}

.point_large_box {
    display: flex;
    justify-content: center;
    margin: 0 16rem;
}

.point_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem 8rem;
    margin: 0 auto;
}

.point_box {
    background-color: #FFFFFF;
    padding: 6rem 5rem;
    position: relative;
    margin-top: 6rem;
    border-radius: 1rem;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
    width: 100%;
    height: 35rem;
    box-sizing: border-box;
}

.point_box:nth-child(2),
.point_box:nth-child(3),
.point_box:nth-child(6),
.point_box:nth-child(7) {
    background-color: #020543;
}

.point_box_title {
    font: 3.5rem/4.7rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #020543;
    text-align: center;
    position: relative;
    margin-bottom: 7.6rem
}

.point_box:nth-child(2) .point_box_title,
.point_box:nth-child(3) .point_box_title,
.point_box:nth-child(6) .point_box_title,
.point_box:nth-child(7) .point_box_title {
    color: #FFFFFF;
}

.point_box_title::after {
    content: "";
    position: absolute;
    top: 8rem;
    left: 50%;
    transform: translateX(-50%);
    color: #020543;
    width: 60rem;
    height: 0.1rem;
    background-color: #020543;
}

.point_box_last .point_box_title::after {
    width: 150rem;
}


.point_box:nth-child(2) .point_box_title::after,
.point_box:nth-child(3) .point_box_title::after,
.point_box:nth-child(6) .point_box_title::after,
.point_box:nth-child(7) .point_box_title::after {
    background-color: #FFFFFF;
}

.point_box_text {
    font: normal normal normal 2rem/2.7rem "Hiragino Sans", sans-serif;
    font-weight: 400;
    color: #020543;
    text-align: left;
    position: relative;
}

.point_box:nth-child(2) .point_box_text,
.point_box:nth-child(3) .point_box_text,
.point_box:nth-child(6) .point_box_text,
.point_box:nth-child(7) .point_box_text {
    color: #FFFFFF;
}

.point_box_ {
    color: #FFFFFF;
}

.point_number {
    position: absolute;
    top: -6rem;
    left: 0;
    transform: translateX(-50%);
    width: 12rem;
    height: 12rem;
    background-color: #000543;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font: 5rem/6.7rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
}

.point_box:nth-child(2) .point_number,
.point_box:nth-child(3) .point_number,
.point_box:nth-child(6) .point_number,
.point_box:nth-child(7) .point_number {
    background-color: #FFFFFF;
    color: #020543;
}

.point_box:nth-child(7) {
    grid-column: 1 / -1;
    width: 100%;
    height: 27.4rem
}

.point_box:nth-child(7) .point_box_title {
    text-align: left;
    margin-left: 6rem;
}

.point_box:nth-child(7) .point_box_text {
    text-align: left;
    margin-left: 6rem;
}

/* occupationsセクション */
.occupations_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 21rem 0;
}

.occupations_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 15rem 0rem 1rem 0rem;
}

.occupations_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
}

.occupations_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
}

.occupations_title_box {
    margin-bottom: 20rem;
}

.occupations_text {
    margin-bottom: 20rem;
}


.occupations_text2 {
    font: 4rem/5.3rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0f0f0f;
    text-align: center;
    position: relative;
}

.occupations_thumb_box {
    padding: 0 15rem;
}

.thumb_text {
    font: 4rem/5.3rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0f0f0f;
    text-align: left;
    margin: 5rem 0;
}

.thumb_box_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    width: 100%;
    margin: 0 auto;
    padding: 2rem 0;
}

.thumb_box_grid_always {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    width: 100%;
    margin: 0 auto;
    padding: 2rem 0;
}

.thumb_box_item {
    aspect-ratio: 1;
    background-color: #d9f1ff;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    text-align: center;
}

.thumb_box_item img {
    max-width: 100%;
    height: auto;
    margin-bottom: 1rem;
}
/* アコーディオンの基本スタイル */
.occupations_more_text {
    cursor: pointer;
    position: relative;
    transition: all 0.4s ease;
    font: 2.8rem/3.7rem "Hiragino Sans", sans-serif;
    text-align: center;
    font-weight: 600;
    color: #F55A22;
    background-color: #020543;
    padding: 2rem 0;
    margin: 5rem 0 0;
    border-radius: 5rem;
}

/* グリッドの初期状態 */
.thumb_box_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: 
        max-height 0.8s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.6s ease,
        padding 0.8s ease,
        margin 0.8s ease;
    transform: translateY(-10px);
    margin: 0;
    padding: 0 2rem;
    visibility: hidden;
}

/* アコーディオンがアクティブな時のグリッド */
.thumb_box_grid.active {
    max-height: 3000px;
    opacity: 1;
    transform: translateY(0);
    padding: 2rem;
    margin-bottom: 5rem;
    visibility: visible;
}

/* 料金体系セクション */
.pricecontainer {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 15rem 0rem 10rem 0rem;
}

.price_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
    margin-top: 5rem;
}

.price_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
}

.price_head {
    font: 3.5rem/4.7rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
    text-decoration: underline wavy #F55A22;
    text-underline-offset: 1rem;
    text-decoration-thickness: 0.3rem;
    padding-bottom: 2rem;
}

.price_box .title_decoration {
    top: 45rem;
}

.price_cost {
    display: inline-block;
    justify-content: center;
    align-items: center;
    margin: 0 10rem;
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 500;
    text-align: center;
    color: #0F0F0F;
}

.price_cost img {
    margin-top: 8rem;
}

.price_cost_text {
    position: absolute;
    bottom: 7rem;
    right: 2rem;
}

/* implementationセクション */
.implementation_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 15rem 0rem 10rem 0rem;
}

.implementation_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
    margin-top: 5rem;
}

.implementation_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
}

.implementation_head {
    font: 4.0rem/5.3rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    text-align: center;
    position: relative;
    margin-top: 14rem;
}

.implementation_content_container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    margin: 0 10rem;
    position: relative;
    margin-top: 10rem;
}


.implementation_content_box1 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 53rem;
    height: 53rem;
    z-index: 2;
    position: relative;
}

.implementation_content_box1 img {
    width: 65%;
    height: 65%;
}

.implementation_content_box2 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 53rem;
    height: 53rem;
    z-index: 2;
    position: relative;
}

.implementation_content_box2 img {
    width: 65%;
    height: 65%;
}

.implementation_content_box3 {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 53rem;
    height: 53rem;
    z-index: 2;
    position: relative;
}

.implementation_content_box3 img {
    width: 65%;
    height: 65%;
}

.content_title {
    font: 3.5rem/4.7rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
}

.implementation_content_item {
    display: flex;
}

.implementation_text2 {
    font: 2.4rem/3.2rem "Hiragino Sans", sans-serif;
    text-align: left;
    margin-top: 2rem;
    color: #0F0F0F;
}

.ct_last {
    color: #ffffff;
}

.it_last {
    color: #ffffff;
}

.implementation_content_item {
    display: flex;
    gap: 2rem;
    margin-top: 2rem;
}

.implementation_contact_button,
.implementation_document_button {
    padding: 1.5rem 3rem;
    border-radius: 3rem;
    font: 2.4rem/3.2rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    text-align: center;
    background-color: #000543;
    color: #ffffff;
    width: 21.4rem;
}

.implementation_art {
    position: absolute;
    top: 61rem;
    left: 8rem;
    z-index: 0;
    margin-bottom: 30rem;
}

.implementation_box img {
    width: 95%;
    height: 60rem;
    object-fit: cover;
}

.implementation_contact_box {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 1rem;
    margin: 0 10rem;
    margin-top: 20rem;
}

.implementation_company_box {
    display: flex;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 1rem;
    padding: 4rem 0rem;
    margin: 18rem 10rem 0 10rem;
}

.implementation_company_box2 {
    margin: 0 2rem;
}

.implementation_company_logo {
    display: flex;
    margin-top: 10rem;
    position: relative;
}

.implementation_company_logo::before {
    content: "";
    position: absolute;
    top: 23rem;
    left: 3rem;
    width: 95%;
    height: 0.2rem;
    background-color: #041738;
}

.implementation_company_24 {
    font: 6.0rem/8.0rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    position: absolute;
    top: 5rem;
    right: 6rem;
}

.implementation_company_fukidasi {
    position: absolute;
    font: 4.4rem/6.5rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #F55A22;
    top: -22rem;
    right: 0rem;
    background-image: url('../img/caseintroduction_fukidasi.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 82rem;
    height: 14.5rem;
    display: flex;
    justify-content: center;
    padding-top: 2.5rem;
}

.implementation_company_img {
    width: 82rem;
    height: 62rem;
    margin-right: 5rem;
}

.implementation_company_img2 {
    width: 23.1rem;
    height: 17rem;
    margin-right: 4rem;
}

.implementation_company_img3 {
    width: 31.1rem;
    height: 7.5rem;
    margin-right: 4rem;
    margin-top: 4rem;
}

.implementation_company_img4 {
    width: 34.7rem;
    height: 12.7rem;
    margin-right: 4rem;
    margin-top: 1rem;
}

.implementation_company_text {
    font: 2.8rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 500;
    color: #0F0F0F;
    margin: 12rem 0 0 0;
    position: relative;
}

.implementation_company_button {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 33rem;
}

.implementation_company_button .contact_button {
    background-color: #ebc700;}

.implementation_company_button .contact_button:hover {
    transform:scale(1.1);
    transition: .3s;
}

.contact_button_long {
    background-color: #000543;
    color: #ffffff;
    font: 3.5rem/4.7rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    padding: 3.5rem 10rem;
    border-radius: 6rem;
}

/* メディア掲載セクション */
.media_container {
    background-color: #D9F1FF;
    position: relative;
    padding: 5rem 0rem 1rem 0rem;
}

.media_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
    margin-top: 5rem;
}


.media_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
    margin-bottom: 9.6rem;
}

.media_logo_box {
    margin: 9.2rem 10rem;
    border-radius: 3rem;
    background-color: #ffffff;
    padding: 3rem 10rem;
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.3);
}

.media_content {
    margin-bottom: 13rem;
}

/* スワイパーの設定 */
.swiper {
    margin: 0rem 0 10rem 0;
    width: 100%;
    height: auto;
}

.swiper-slide img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

/* 無限ループにしたい時 */
.swiper .swiper-wrapper {
    transition-timing-function: linear;
}

/* Q&Aセクション */
.qanda_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 15rem 0rem 10rem 0rem;
}

.qanda_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
    margin-top: 5rem;
}

.qanda_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
    margin-bottom: 9.6rem;
}

/* Q&A アコーディオン */
.qanda_accordion_box {
    margin: 0 17rem;
    margin-bottom: 8.4rem;

}

.accordion_item {
    border-radius: 2rem;
    margin-bottom: 2rem;
    overflow: hidden;
    border: 0.3rem solid #ffffff;
    background-color: #A9C9EB;
}

.accordion_btn {
    width: 100%;
    min-height: 13rem;
    padding: 2.5rem 6rem 2.5rem 3rem;
    text-align: left;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    background-color: transparent;
    border: none;
}

.accordion_content {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    background-color: #D9F1FF;
    transition: all 0.3s ease-out;
    padding: 0 2rem;
    box-sizing: border-box;
    margin: 0;
    min-height: 0;
    display: flex;
    align-items: center;
}

.accordion_content.active {
    min-height: 13rem;
    padding: 2.5rem 6rem 2.5rem 3rem;
}

.accordion_btn_text {
    font: 3rem/4rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    display: flex;
    align-items: center;
    gap: 3rem;
}

.accordion_content_text {
    font: 2.4rem/3.2rem "Hiragino Sans", sans-serif;
    font-weight: 400;
    color: #0F0F0F;
    display: flex;
    align-items: center;
    gap: 3rem;
}

.accordion_btn::before,
.accordion_btn::after {
    content: '';
    position: absolute;
    background-color: #0f0f0f;
    transition: all 0.3s ease;
}

.accordion_btn::before {
    width: 2rem;
    height: 0.2rem;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%);
}

.accordion_btn::after {
    width: 0.2rem;
    height: 2rem;
    right: 3.9rem;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
}

.accordion_btn.active::after {
    opacity: 0;
}

.qanda_q {
    font: 3rem/4rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #0F0F0F;
    background-color: #ffffff;
    padding: 1rem 2rem;
    width: 6.6rem;
    height: 6.6rem;
    border-radius: 50%;
}

.qanda_a {
    font: 3rem/4rem "Hiragino Sans", sans-serif;
    font-weight: 600;
    color: #FFFFFF;
    background-color: #A9C9EB;
    padding: 1rem 2.3rem;
    width: 6.6rem;
    height: 6.6rem;
    border-radius: 50%;
}

/* contactセクション */
.contact_container {
    background-color: #D9F1FF;
    position: relative;
    background-image: url(../img/backpaint.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding: 15rem 0rem 10rem 0rem;
}

.contact_title {
    font: 7rem/9.4rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #0F0F0F;
    text-align: center;
    position: relative;
    margin-top: 5rem;
}

.contact_text {
    font: 3.2rem/4.3rem "Hiragino Sans", sans-serif;
    font-weight: 700;
    color: #F55A22;
    text-align: center;
    position: relative;
    margin-bottom: 9.6rem;
}

/* コンタクトフォーム */
.contact_form_wrapper {
    width: 100%;
    background: transparent;
    padding: 0 2rem 3rem 2rem;
}

/* フォーム全体のスタイル */
.form_grid {
    max-width: 160rem;
    margin: 0 auto;
    padding: 0 2rem;
}

/* フォームグループのスタイル */
.form_group {
    display: flex;
    align-items: center;
    margin-bottom: 3rem;
    position: relative;
    flex-wrap: nowrap;
    /* 横並びを維持 */
}

/* ラベルのスタイル */
.form_label {
    flex: 0 0 45rem;
    /* 固定幅 */
    font: normal normal normal 2.4rem/3.2rem "Hiragino Sans", sans-serif;
    color: #333;
    margin: 0;
    padding-right: 2rem;
    position: relative;
}

/* 必須マークのスタイル */
.form_label.required:after {
    content: '必須';
    display: inline-block;
    background: #FF0000;
    color: white;
    font-size: 1.4rem;
    padding: 0.2rem 0.8rem;
    border-radius: 0.2rem;
    margin-left: 1rem;
    vertical-align: middle;
    line-height: 1.4;
}

.form_label.optional:after {
    content: '任意';
    display: inline-block;
    background: #f5f5f5;
    color: black;
    font-size: 1.4rem;
    padding: 0.2rem 0.8rem;
    border-radius: 0.2rem;
    margin-left: 1rem;
    vertical-align: middle;
    line-height: 1.4;
}




/* 入力フィールドの基本スタイル */
.form_input,
.form_select,
.form_textarea {
    flex: 1;
    padding: 1.5rem;
    border: 0.1rem solid #ddd;
    border-radius: 0.4rem;
    font-size: 2rem;
    background-color: #ffffff;
    height: 6rem;
    width: 100%;

}

/* テキストエリアのスタイル */
.form_textarea {
    min-height: 30rem;
    resize: none;
    padding: 1.5rem;
}

/* ラジオボタングループのスタイル */
.radio_group {
    display: flex;
    align-items: center;
    width: 100%;
}

.radio_options {
    display: flex;
    gap: 4rem;
    margin-left: 2rem;
}

.select_wrapper::after {
    content: "▼";
    position: absolute;
    top: 30%;
    left: 37.5%;
    color: #0F0F0F;
    margin-top: 0.5rem;
    font-size: 2rem;
    line-height: 1;
    transform-origin: center;
}

.select_wrapper_industry::after {
    content: "▼";
    position: absolute;
    top: 29%;
    left: 63%;
    color: #0F0F0F;
    margin-top: 0.5rem;
    font-size: 2rem;
    line-height: 1;
    transform-origin: center;
}

.radio_label {
    display: flex;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
    font: normal normal normal 2.4rem/3.2rem "Hiragino Sans", sans-serif;
}

.radio_custom {
    width: 2.4rem;
    height: 2.4rem;
    border: 0.1rem solid #999;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
    background-color: #ffffff;
}

.radio_label input[type="radio"] {
    position: absolute;
    opacity: 0;
}

.radio_label input:checked+.radio_custom {
    background: #2196F3;
    border-color: #2196F3;
}

.radio_label input:checked+.radio_custom:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1.2rem;
    height: 1.2rem;
    background: white;
    border-radius: 50%;
}

/* ここも追加 */
.text_overdot_1::before,
.text_overdot_2::before{
  content: none !important;
}


/* レスポンシブ対応 */
@media (max-width: 768px) {
    .form_group {
        flex-direction: column;
        align-items: flex-start;
    }

    .form_label {
        flex: none;
        width: 100%;
        margin-bottom: 1rem;
    }

    .radio_group {
        flex-direction: column;
        align-items: flex-start;
    }

    .radio_options {
        flex-direction: column;
        gap: 1.5rem;
        margin: 1rem 0 0 0;
    }
}







/* ここに記載 */


/* 行の競合だけ消す */


/* 子2つを50/50に（HTMLはそのまま） */
.main_bottom_row > .left_content,
.main_bottom_row > .main_img{
  flex:0 0 50%;
  max-width:50%;
  min-width:0;
}

/* 右カラムの画像が枠内に収まるように */
.main_bottom_row .main_img img{
  display:block;
  width:100%;
  height:auto;
}

div.left_content{
    margin-left: 5rem;
}
div.left_wight{
    margin-left: 15rem;
}



/* 追加のモバイル版 */
/* ====== SP（~768px） ====== */
@media (max-width: 768px){

  /* 余白＆並び */
  .main_bottom_row{
    flex-direction: column;      /* 縦積み */
    gap: 24px;
    padding: 0 16px;
  }
  .left_content{
    margin-left: 0;              /* 左マージン解除 */
    align-items: stretch;
  }
  .main_img{
    order: -1;                   /* 画像を先頭に（PC同様の印象なら外してOK） */
  }
  .esp_main{
    max-width: 100%;
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
  }

  /* 見出し */
  .mainvisual_text_1{
      font-size: 1.4rem !important;       /* サブ帯 */
    line-height: 1.4;
    margin-bottom: 8px;
  }
  .mainvisual_text_2{
    font-size: 3.2rem;           /* メイン見出し */
    line-height: 1.35;
    margin: 8px 0 12px;
  }

  /* チェックリスト */
  .checklist{
    padding: 0;
    margin: 8px 0 16px;
    list-style: none;
  }
  .checklist li{
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0;
  }
  .checklist img.check{
    width: 20px;                 /* 7% → 固定値に */
    height: 20px;
    object-fit: contain;
  }
  .checklist li span{
    font-size: 1.6rem;
  }

  /* CTAを縦並び・全幅に */
  .ctas{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 16px;
  }
  .ctas .cta{
    width: 100%;
    margin-bottom: 0;
    border-radius: 12px;
    padding-top: 1.2rem; /* バッジ分の余白を少しだけ */
  }
  .ctas .cta-inner{
    justify-content: center;
    font-size: 1.7rem;
    padding: 1.2rem 1.4rem;
    white-space: normal;         /* 折返し許可 */
    text-align: center;
  }
  .ctas .cta-badge{
    top: -.6rem;
    font-size: 1.2rem;
    padding: .2rem .8rem;
  }

  /* サイド縦タブ（欲しければ表示/非表示を選択） */
  .vtab-cta{ display: none; }    /* モバイルで隠す（表示したいならこの行を削除） */
}



.submit_btn {
    background: #0D0D0D;
    color: white;
    border: none;
    padding: 1.2rem 4rem;
    font-size: 1.6rem;
    cursor: pointer;
    transition: background 0.3s;
    display: block;
    margin: 0 auto;
    font: 2.4rem/3.2rem "Hiragino Sans", sans-serif;
    width: 30rem;
    height: 6.5rem;
    margin-top: 10rem;
}

.submit_btn:hover {
    background: #e04a12;
}

/* エラーメッセージのスタイル */
.error-message {
    color: #ff0000;
    font-size: 1.2rem;
    margin-top: 0.5rem;
    display: none;
    width: 100%;
    order: 2;
}

.form_group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 5rem;
    position: relative;
}

.form_label {
    width: 100%;
    margin-bottom: 0.5rem;
}

.form_input,
.form_select,
.form_textarea {
    order: 1;
    width: 120%;
}

/* エラー状態のスタイル */
.form_input.error,
.form_select.error,
.form_textarea.error {
    border-color: #ff0000;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .form_group {
        flex-direction: column;
        align-items: flex-start;
    }

    .form_label {
        margin-bottom: 0.8rem;
    }

    .radio_options {
        flex-direction: column;
        gap: 1.2rem;
    }

    .form_input,
    .form_select,
    .form_textarea,
    .select_wrapper {
        width: 100%;
    }
}

.logo_box_copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.copy_logo {
    width: 32rem;
    height: 9.6rem;
}

.copyright {
    font: 2.0rem/3.0rem "Hiragino Kaku Gothic ProN", sans-serif;
    color: #0F0F0F;
    font-weight: 300;
}

@media screen and (max-width: 768px) {
    html {
        font-size: calc(10 / 375 * 100vw);
    }

    .pc_only {
        display: none;
    }

    .sp_only {
        display: block !important;
    }

    main {
        max-width: 37.5rem;
        margin: 0 auto;
    }

    /* サイドバー */
    .sidebar {
        position: fixed;
        top: -1.2rem;
        right: 0rem;
        z-index: 1000;
        padding: 2rem 1.5rem;
        border-radius: 0rem 0rem 3rem 3rem;
        color: white;
        font-family: "Hiragino Sans", sans-serif;
    }

    .sidebar-button:hover {
        font-size: 0.8rem;
        padding: 0.1rem 1rem;
        font-weight: 700;
        flex: 1;
        white-space: nowrap;
        margin: 0.5rem 0;
    }

    .sidebar-button {
        font-size: 0.8rem;
        padding: 0.1rem 1rem;
    }

    .sidebar-buttons {
        flex-wrap: nowrap;
    }

    /* メインビジュアルセクション */
    .esp_logo {
        width: 11rem;
        height: 3.2rem;
        margin-left: 1rem;
        margin-top: 1.2rem;
    }

    .mainvisual_container {
        overflow: hidden;
        position: relative;
    }

    .mainvisual_text_box {
        padding: 4rem 0 0 0;
    }

    .mainvisual_text_1 {
        font-size: 1.1rem;
        padding: 0rem 4rem;
        margin: 0 0 3rem 0;
    }

    .man_picture {
        width: 15rem;
        height: 32rem;
        left: -2rem;
    }

    .woman_picture {
        width: 15rem;
        height: 39rem;
        bottom: 0rem;
        right: 0rem;
    }

    .mainvisual_text_2 {
        /* font: 1.6rem/2.1rem "Hiragino Sans", sans-serif; */
        margin: 0 0 6rem 0;
    }
    ul.checklist{
        margin-bottom: 0px;
    }
    a.cta.cta--blue{
        margin-top: -30px;
    }
    img.esp_main{
        margin-top: -30px;
    }

    .aica_logo {
        width: 17.5rem;
        height: 5rem;
    }

    .circle_container {
        gap: 0rem;
        padding-bottom: 1rem;
    }

    .circle_item {
        width: 12rem;
    }

    .circle {
        width: 11rem;
        height: 11rem;
        border: 0.3rem solid #D9F1FF;
        margin-bottom: 3rem;
    }

    .circle_text {
        font: 1.1rem/2rem "Hiragino Sans", sans-serif;
    }

    .orange_text {
        font: 1.6rem/2.2rem "Hiragino Sans", sans-serif;
    }

    .circle3_row {
        gap: 1.5rem;
    }

    .circle3 .circle_text2 {
        margin-top: 1rem;
    }

    .circle_text2::after {
        top: 35%;
        left: 48%;
        margin-top: 0.5rem;
        font-size: 0.9rem;
    }

    .strike::after {
        height: 0.1rem;
    }

    /* ページアンカーセクション */
    .pageanker_text {
        font: 1rem/1.4rem "Hiragino Sans", sans-serif;
        margin-bottom: 0rem;
    }

    .pageanker_text2 {
        font: 0.6rem/0.8rem "Hiragino Sans", sans-serif;
    }

    .page_anker_container {
        padding: 2rem 0rem 0rem 0rem;
    }

    .page_anker_box {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: auto auto;
        gap: 0rem;
        width: 100%;
        padding: 1rem 0;
    }

    .page_anker_item {
        margin-bottom: 3rem;
    }

    .pageanker_text::before {
        top: 3rem;
        left: 4rem;
        width: 0.5rem;
        transform: rotate(25deg);
    }

    .pageanker_text::after {
        top: 3.1rem;
        left: 0;
        width: 4.3rem;

    }

    .company_logo_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
    }

    .company_logo_box {
        padding: 3.5rem 3.5rem;
    }

    /* アバウトセクション */
    .about_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
        margin-bottom: 0.5rem;
    }

    .about_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
    }

    .about_text2 {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
    }

    .about_text3 {
        font: 0.9rem/1.2rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
    }

    .about_text4 {
        font: 0.9rem/2rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
    }

    .about_text5 {
        font: 1.2rem/2rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
    }

    .about_box {
        margin-bottom: 3rem;
    }

    .about_box2 {
        margin-bottom: 2rem;
    }

    .about_box4 {
        margin-bottom: 2rem;
    }

    .about_container {
        padding: 4rem 2rem;
    }

    .title_decoration {
        top: 11rem;
        left: 50%;
        width: 13rem;
    }

    .text_overdot_1::before {
        top: 1.2rem;
        left: 5rem;
        letter-spacing: 0.2rem;
        font-size: 1rem;
    }

    .about_picture {
        width: 35rem;
        height: 20rem;
    }

    .about_img {
        width: 100%;
        object-fit: contain;
        height: 100%;
    }

    .orange_text_wave {
        text-decoration: none;
    }

    .about_worries_box {
        margin: 0 1.5rem;
        grid-template-columns: repeat(1, 6fr);
    }

    .about_worries_text {
        width: 31rem;
        height: 7.5rem;
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
    }

    .about_worries_text::before {
        top: -3rem;
        left: 0rem;
        width: 7rem;
        height: 10rem;
    }

    .about_triangle_box {
        margin: 3rem auto 0;
        max-width: 37.5rem;
    }

    .about_triangle_text::before {
        top: 0%;
        left: -10%;
        width: 0;
        height: 0;
        border-left: 17rem solid transparent;
        border-right: 17rem solid transparent;
        border-top: 10rem solid #FFFFFF;
    }

    .about_triangle_text {
        font: 1.4rem/1.9rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
        padding: 2rem 4rem 0rem 4rem;
    }

    /* caseintroductionセクション */
    .caseintroduction_container {
        padding: 4rem 2rem;
    }

    .caseintroduction_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
    }

    .caseintroduction_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
    }

    .caseintroduction_sample_largebox {
        flex-direction: column;
        margin-bottom: 0;
    }

    .caseintroduction_img {
        margin: 0 auto;
        text-align: center;
        width: 33rem;
        height: 17rem;
    }

    .caseintroduction_btoa_box {
        padding: 0rem 2rem;
    }

    .caseintroduction_box {
        margin-bottom: 5rem;
    }

    .caseintroduction_sample_title {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
    }

    .caseintroduction_before_title,
    .caseintroduction_after_title {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        margin-top: 1rem;
    }

    .caseintroduction_before_text,
    .caseintroduction_after_text {
        font: 0.7rem/1.0rem "Hiragino Sans", sans-serif;
        margin-top: 1rem;
    }

    .caseintroduction_before_box {
        width: 13rem;
        height: 11.1rem;
        padding: 0 0 0 1rem;
    }

    .caseintroduction_after_box {
        width: 15.8rem;
        height: 12.2rem;
        margin-top: 2.2rem;
        padding: 0 0 0 3rem;
    }

    .caseintroduction_lecture {
        width: 6rem;
        height: 6rem;
        top: 5rem;
        left: 12rem;
    }

    .caseintroduction_result_text {
        font: 0.9rem/1.3rem "Hiragino Sans", sans-serif;
        margin-top: 1rem;
        margin-bottom: 2rem;
        padding: 0 3rem;
    }

    .caseintroduction_lecture_text {
        font: 0.7rem/1.0rem "Hiragino Sans", sans-serif;
    }

    .caseintroduction_other_text {
        width: 34.6rem;
        height: 12.1rem;
        font: 1.1rem/2rem "Hiragino Sans", sans-serif;
        padding: 2rem 0 0 0;
        border-radius: 2rem;
    }

    .caseintroduction_other_text::before {
        top: 3rem;
        left: 1rem;
        width: 95%;
        height: 90%;
    }

    .caseintroduction_other_text2 {
        font: 1.1rem/1.6rem "Hiragino Sans", sans-serif;
        margin-top: 2rem;
    }

    .caseintroduction_other_text2::before {
        left: -17rem;
    }

    .caseintroduction_company_spbox {
        background-color: #000543;
        width: 34.6rem;
        height: 7.4rem;
        padding: 1rem 2rem;
        margin-top: 2rem;
        border-radius: 1rem;
    }

    .caseintroduction_company_sp_text {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        color: #F55A22;
        text-align: center;
    }

    .caseintroduction_company_sp_button {
        display: flex;
        justify-content: space-between;
        margin-top: 1rem;
    }

    .caseintroduction_company_sp_button_text {
        width: 14.2rem;
        height: 2.1rem;
        font: 0.7rem/1rem "Hiragino Sans", sans-serif;
        color: #010643;
        background-color: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        border-radius: 0.3rem;
    }

    .caseintroduction_sample_title {
        margin: 0 0 1rem 1rem;
    }

    /* businessimprovementセクション */
    .businessimprovement_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
        margin-bottom: 0.5rem;
    }

    .businessimprovement_text {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
        margin-bottom: 0.5rem;
    }

    .businessimprovement_container {
        padding: 4rem 2rem;
    }

    .businessimprovement_picture_box {
        margin-bottom: 0rem;
    }

    .businessimprovement_title_box {
        margin-bottom: 4rem;
    }

    .businessimprovement_picture_box img {
        width: 100%;
    }

    .businessimprovement_text_1 {
        margin: 0rem;
        font: 0.9rem/1.6rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
    }

    .businessimprovement_text_big {
        margin: 0rem;
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
    }

    .gekkeizyudecoration_left {
        top: 2rem;
        left: 0rem;
        width: 6rem;
        height: 4rem;
    }

    .gekkeizyudecoration_right {
        top: 2rem;
        right: 0rem;
        width: 6rem;
        height: 4rem;
    }

    .businessimprovement_text_box {
        margin-bottom: 0rem;
        margin: 0rem;
    }

    .circle_box {
        width: 5.4rem;
        height: 5.4rem;
        padding: 0rem;
        margin: 0rem;
        top: -2.5rem;
        left: 2rem;
    }

    .circle_text {
        font: 0.6rem/1.3rem "Hiragino Sans", sans-serif;
    }

    .circle_text .orange_text_wave {
        font: 0.9rem/0.8rem "Hiragino Sans", sans-serif;
    }

    .businessimprovement_text_2 {
        max-width: 100%;
        padding: 1rem 3.3rem;
        font: 0.9rem/1.2rem "Hiragino Sans", sans-serif;
        letter-spacing: 0;
    }

    /* pointセクション */
    .point_container {
        padding: 4rem 2rem;
    }

    .point_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
        margin-bottom: 0.5rem;
    }

    .point_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
        margin-bottom: 0.5rem;
    }

    .point_grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 0rem
    }

    .point_box {
        margin-bottom: 2rem;
    }

    .point_title_box {
        margin-bottom: 0rem;
    }

    .point_box {
        width: 28.6rem;
        height: 14.7rem;
        padding: 0 2rem;
    }

    .point_box_title {
        font: 1.4rem/1.9rem "Hiragino Sans", sans-serif;
        margin-bottom: 0rem;
        margin-top: 2.7rem;
    }

    .point_box_text {
        font: 0.9rem/1.2rem "Hiragino Sans", sans-serif;
        margin-top: 3rem;
    }

    .point_box_title::after {
        width: 23rem;
        top: 3.1rem;
    }

    .point_number {
        width: 5rem;
        height: 5rem;
        font: 2.1rem/2.8rem "Hiragino Sans", sans-serif;
        top: -2rem;
        left: 0rem;
    }

    .point_box:nth-child(1),
    .point_box:nth-child(3),
    .point_box:nth-child(5),
    .point_box:nth-child(7) {
        background-color: #FFFFFF;
    }

    .point_box:nth-child(2),
    .point_box:nth-child(4),
    .point_box:nth-child(6) {
        background-color: #020543;
    }

    .point_box:nth-child(1) .point_box_title,
    .point_box:nth-child(3) .point_box_title,
    .point_box:nth-child(5) .point_box_title,
    .point_box:nth-child(7) .point_box_title {
        color: #020543;
        text-align: center;
        margin-left: 0rem;
    }

    .point_box:nth-child(1) .point_box_text,
    .point_box:nth-child(3) .point_box_text,
    .point_box:nth-child(5) .point_box_text,
    .point_box:nth-child(7) .point_box_text {
        color: #020543;
        text-align: left;
        margin-left: 0rem;
    }

    .point_box:nth-child(1) .point_box_title::after,
    .point_box:nth-child(3) .point_box_title::after,
    .point_box:nth-child(5) .point_box_title::after,
    .point_box:nth-child(7) .point_box_title::after {
        background-color: #020543;
    }

    .point_box:nth-child(2) .point_box_title,
    .point_box:nth-child(4) .point_box_title,
    .point_box:nth-child(6) .point_box_title {
        color: #FFFFFF;
    }

    .point_box:nth-child(2) .point_box_text,
    .point_box:nth-child(4) .point_box_text,
    .point_box:nth-child(6) .point_box_text {
        color: #FFFFFF;
    }

    .point_box:nth-child(2) .point_box_title::after,
    .point_box:nth-child(4) .point_box_title::after,
    .point_box:nth-child(6) .point_box_title::after {
        background-color: #FFFFFF;
    }

    .point_number {
        background-color: #020543;
        color: #FFFFFF;
    }

    .point_box:nth-child(2) .point_number,
    .point_box:nth-child(4) .point_number,
    .point_box:nth-child(6) .point_number {
        background-color: #FFFFFF;
        color: #020543;
    }

    .point_box:nth-child(7) {
        width: 28.7rem;
        height: 14.6rem;
    }

    .point_box_last .point_box_title::after {
        width: 23rem;
    }

    .point_box:nth-child(1) .point_number,
    .point_box:nth-child(3) .point_number,
    .point_box:nth-child(5) .point_number,
    .point_box:nth-child(7) .point_number {
        background-color: #020543;
        color: #FFFFFF;
    }

    .point_box:nth-child(2) .point_number,
    .point_box:nth-child(4) .point_number,
    .point_box:nth-child(6) .point_number {
        background-color: #FFFFFF;
        color: #020543;
    }

    /* occupationsセクション */
    .occupations_container {
        padding: 4rem 2rem;
    }

    .occupations_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
    }

    .occupations_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
        margin-bottom: 6rem;
    }

    .occupations_text2 {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
    }

    .occupations_thumb_box {
        padding: 0 0rem;
    }

    .thumb_text {
        font: 0.9rem/1.2rem "Hiragino Sans", sans-serif;
        margin-top: 2rem;
        margin-bottom: 2rem;
    }

    .thumb_box_grid {
        gap: 0.5rem;
        padding: 0rem;
    }

    .thumb_box_item {
        padding: 0;
    }

    .occupations_more_text {
        padding: 0.5rem 0rem;
        margin-top: 3rem;
        margin-bottom: 3rem;
        font: 0.9rem/1.2rem "Hiragino Sans", sans-serif;
    }

    .occupations_more_text::after {
        top: 3rem;
        right: 5%;
    }

    /* priceセクション */
    .pricecontainer {
        padding: 4rem 2rem;
    }

    .price_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
        font-weight: 700;
        color: #0F0F0F;
        text-align: center;
        position: relative;
        margin-top: 1rem;
    }

    .price_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
        font-weight: 600;
        color: #F55A22;
        text-align: center;
        position: relative;
    }

    .price_head {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
        font-weight: 700;
        color: #F55A22;
        text-align: center;
        position: relative;
        text-decoration: underline wavy #F55A22;
        text-underline-offset: 1rem;
        text-decoration-thickness: 0.3rem;
        padding-bottom: 2rem;
    }

    .price_cost {
        margin: 0rem;
    }

    .price_cost img {
        margin-top: 2rem;
    }

    .price_cost_text {
        font: 0.8rem/1.2rem "Hiragino Kaku Gothic ProN";
        bottom: -1rem;
        right: 1rem;
    }

    .price_paper_sp {
        margin-top: 2rem;
    }

    .price_box .title_decoration {
        top: 14rem;
    }

    /* implementationセクション */
    .implementation_container {
        padding: 4rem 2rem;
        position: relative;
    }

    .implementation_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
        font-weight: 700;
        color: #0F0F0F;
        text-align: center;
        position: relative;
        margin-top: 1rem;
    }

    .implementation_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
        font-weight: 600;
        color: #F55A22;
        text-align: center;
        position: relative;
    }

    .implementation_head {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        font-weight: 600;
        color: #0F0F0F;
        text-align: center;
        position: relative;
        margin-top: 6rem;
    }

    .content_title {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        margin-top: -0.6rem;
    }

    .implementation_contact_button {
        font: 1rem/1.8rem "Hiragino Sans", sans-serif;
        width: 10rem;
        height: 3.3rem;
        padding: 0.8rem 1rem 0rem 1rem;
    }

    .implementation_document_button {
        font: 1rem/1.8rem "Hiragino Sans", sans-serif;
        width: 10rem;
        height: 3.3rem;
        padding: 0.8rem 1rem 0rem 1rem;

    }

    .implementation_content_container {
        margin: 0rem;
        margin-top: 0rem;
        position: relative;
        z-index: 1;
    }

    .implementation_art_sp {
        width: 35rem;
        height: auto;
        position: relative;
        left: 0rem;
        z-index: 1;
    }

    .implementation_content_large_box {
        position: absolute;
        top: 3.2rem;
        left: 1.5rem;
        z-index: 2;
    }

    .implementation_content_box1 {
        width: 30rem;
        height: 13rem;
        justify-content: unset;
        align-items: unset;
    }

    .implementation_text2 {
        font: 0.9rem/1.5rem "Hiragino Sans", sans-serif;
        margin-top: 0rem;
    }

    .implementation_button_box {
        position: absolute;
        bottom: 3rem;
        right: 0.9rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
    }

    .implementation_contact_button,
    .implementation_document_button {
        padding-bottom: 0rem;
    }

    .implementation_content_box2 {
        width: 30rem;
        height: 13rem;
        justify-content: unset;
        align-items: unset;
    }

    .implementation_button_box2 {
        position: absolute;
        bottom: 4.8rem;
        right: 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        width: 15rem;
        height: auto;
    }

    .implementation_content_box3 {
        width: 30rem;
        height: 13rem;
        justify-content: unset;
        align-items: unset;
    }

    .implementation_content_box3 {
        width: 30rem;
        height: 13rem;
        justify-content: unset;
        align-items: unset;
    }

    .implementation_button_box3 {
        position: absolute;
        bottom: 7.5rem;
        right: 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.5rem;
        width: 15.2rem;
        height: auto;
    }

    .implementation_company_box {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 2rem 1.5rem;
        position: relative;
        margin: 0rem;
        margin-top: 3rem;

    }

    .implementation_company_fukidasi {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        width: 26rem;
        height: 6.4rem;
        padding-top: 1.8rem;
        position: absolute;
        left: 2.2rem;
        top: -5rem;
        z-index: 2;
    }

    .implementation_company_24 {
        text-align: center;
        font: 2.2rem/3.6rem "Hiragino Sans", sans-serif;
        left: 0rem;
        top: 3rem;
        right: 0;
    }

    .implementation_company_button {
        gap: 1rem;
        margin-top: 8rem;
    }

    .implementation_company_button .contact_button {
        font: 1.4rem/1.8rem "Hiragino Sans", sans-serif;
        width: 14rem;
        height: 4.5rem;
        padding: 0rem;
        padding-top: 0rem;
    }

    .implementation_company_img {
        width: 20rem;
        height: 12rem;
        margin-right: 0;
    }

    .implementation_company_logo {
        margin-top: 0;
    }

    .implementation_company_text {
        font: 1rem/1.5rem "Hiragino Sans", sans-serif;
        margin: 8rem 0 0 0rem;
        text-align: center;
    }

    .implementation_company_logo::before {
        top: 17rem;
        left: 0;
        height: 0.1rem;
    }

    .contact_button_long {
        font: 1.4rem/1.8rem "Hiragino Sans", sans-serif;
        width: 26rem;
        height: 4.5rem;
        padding: 1.2rem 1rem 0 1rem;
        margin-top: -3rem;
    }

    /* メディア掲載セクション */
    .media_container {
        padding: 0rem 0rem 2rem 0;
    }

    .swiper {
        margin: 0rem 0 2rem 0;
        width: 100%;
        overflow: hidden;
    }

    .swiper-slide img {}

    .media_logo_box {
        margin: 4rem 2rem;
        padding: 5rem 1rem;
        border-radius: 1rem;
    }

    .media_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
        margin-top: 0rem;
        font-weight: 700;
    }

    .media_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
        font-weight: 600;
        margin-bottom: 2rem;
    }

    .media_content {
        margin-bottom: 0rem;
    }

    /* Q＆Aセクション */
    .qanda_container {
        padding: 4rem 0rem;
    }

    .qanda_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
        margin-top: 0rem;
        font-weight: 700;
    }

    .qanda_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
        font-weight: 600;
        margin-bottom: 2rem;
    }

    .qanda_accordion_box {
        margin: 0 2rem;
    }

    .accordion_btn_text {
        font: 1rem/1.2rem "Hiragino Sans", sans-serif;
        color: #0F0F0F;
        width: 100%;
    }

    .accordion_content_text {
        font: 1rem/1.2rem "Hiragino Sans", sans-serif;
        color: #0F0F0F;
    }

    .accordion_btn {
        padding: 1rem 5rem 1rem 1rem;
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        min-height: 6rem;
        width: 32rem;
    }

    .accordion_btn::before {
        right: 1.5rem;
        width: 1rem;
        height: 0.2rem;
        right: 1.52rem;
    }

    .accordion_btn::after {
        right: 1.9rem;
        height: 1rem;
    }

    .qanda_q {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        width: 2rem;
        height: 2rem;
        padding: 0 0;
        background-color: #A9C9EB;

        .qanda_q {
            float: left;
            margin-right: 0.5rem;
        }
    }

    .qanda_a {
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        width: 2rem;
        height: 2rem;
        padding: 0 0;
        background-color: #d9f1ff;
        color: #0F0F0F;
    }

    .accordion_content.active {
        padding: 0.5rem 5rem 0.5rem 1rem;
        min-height: 8rem;
    }

    .accordion_item {
        border-radius: 1rem;
        border: 0.2rem solid #ffffff;
    }

    /* コンタクトセクション */
    .contact_container {
        padding: 0rem 2rem;
    }

    .contact_title {
        font: 1.6rem/2.1rem "Hiragino Sans", sans-serif;
        margin-top: 0rem;
        font-weight: 700;
    }

    .contact_text {
        font: 1.1rem/1.5rem "Hiragino Sans", sans-serif;
        font-weight: 600;
        margin-bottom: 2rem;
    }

    .form_group {
        margin-bottom: 1rem;
    }

    .form_label {
        font: 0.9rem/1rem "Hiragino Sans", sans-serif;
    }

    .form_label.required:after {
        font-size: 0.9rem;
    }

    .form_input {
        font: 1rem/1.2rem "Hiragino Sans", sans-serif;
        padding: 0.5rem;
    }

    .form_input::placeholder {
        font: 1rem/1.2rem "Hiragino Sans", sans-serif;
    }

    .form_grid {
        padding: 0 0;
    }

    /* 入力フィールドの基本スタイル */
    .form_input,
    .form_select,
    .form_textarea {
        flex: 1;
        border: 0.1rem solid #ddd;
        border-radius: 0.4rem;
        background-color: #ffffff;
        height: 3rem;
        width: 30rem;
        padding: 0.5rem;
    }

    .form_select {
        font: 1rem/1.2rem "Hiragino Sans", sans-serif;
    }

    /* テキストエリアのスタイル */
    .form_textarea {
        min-height: 30rem;
        resize: none;
        padding: 1.5rem;
        font: 1rem/1.2rem "Hiragino Sans", sans-serif;
    }

    /* ラジオボタングループのスタイル */
    .radio_group {
        display: flex;
        align-items: center;
        width: 100%;
    }

    .radio_options {
        display: flex;
        gap: 2rem;
        margin-left: 0em;
        flex-direction: row;
    }

    .select_wrapper::after {
        content: "▼";
        position: absolute;
        top: 54%;
        left: 93%;
        color: #0F0F0F;
        margin-top: 0.5rem;
        font-size: 1rem;
        line-height: 1;
        transform-origin: center;
    }

    .select_wrapper_industry::after {
        content: "▼";
        position: absolute;
        top: 54%;
        left: 93%;
        color: #0F0F0F;
        margin-top: 0.5rem;
        font-size: 1rem;
        line-height: 1;
        transform-origin: center;
    }

    .radio_label {
        display: flex;
        align-items: center;
        gap: 1rem;
        cursor: pointer;
        font: 1rem/1.2rem "Hiragino Sans", sans-serif;
    }

    .radio_custom {
        width: 1rem;
        height: 1rem;
        border: 0.1rem solid #999;
        border-radius: 50%;
        position: relative;
        flex-shrink: 0;
        background-color: #ffffff;
    }

    .radio_options {
        margin: 1rem 0 0 0;
    }

    .radio_label input[type="radio"] {
        position: absolute;
        opacity: 0;
    }

    .radio_label input:checked+.radio_custom {
        background: #2106f3;
        border-color: #2106f3;
    }

    .radio_label input:checked+.radio_custom:after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 0.6rem;
        height: 0.6rem;
        background: white;
        border-radius: 50%;
    }

    .submit_btn {
        margin-top: 3rem;
        font: 1.2rem/1.6rem "Hiragino Sans", sans-serif;
        width: 16rem;
        height: 4rem;
        padding: 0rem 0rem 0rem 0rem;
    }

    .copy_logo {
        width: 21rem;
        height: 5.5rem;
    }

    .copyright {
        font: 0.8rem/1rem "Hiragino Sans", sans-serif;
        color: #0F0F0F;
        margin-top: 2rem;
    }


}

/* ここから記載 */


/* SPだけ上書き */
/* --- SPだけ戻す（最小パッチ） --- */
/* --- SPだけ戻す（最小パッチ） --- */
@media (max-width: 768px){
  /* 1) 行の余白をリセット */
  .main_bottom_row{
    flex-direction: column;
    padding-left: 0 !important;
    margin: 0 !important;
    gap: 12px;
  }

  /* 2) 左コンテンツを100%幅に（余白ゼロ） */
  .left_content{
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 16px;              /* 画面端にくっつきすぎ防止。不要なら0に */
  }

  /* 3) 右側も100%幅にして下へ回す（クラス揺れを全部カバー） */
  .left_wight,
  .right_content,
  .main_img{
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 4) 見出しが異常に縦割れする対策（幅・書式を固定） */
  .left_content h1,
  .left_content .mainvisual_title{
    width: 100% !important;
    max-width: none !important;
    font-size: 28px !important;    /* ここはお好みで 26–32px */
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    writing-mode: horizontal-tb !important; /* 万一縦書き化していた場合の保険 */
  }
  img.esp_main{
    margin-top: 2rem;
  }
  section.ai-speed.sp_only{
    padding-top: 0px;
  }
}

@media (max-width: 768px){
  .left_wight{ margin-left: 0 !important; }
  /* 念のため */
  .left_content{ margin-left: 0 !important; }
}




