@import url("reset.css");
.wrapper {
  margin: 0 auto;
  width: 100%;
  padding-left: 10px;
  padding-right: 10px;
}

#contents {
  position: relative;
  padding-bottom: 90px;
}

#wrap {
  width: 100%;
  position: relative;
  min-height: 100%;
}

#footer {
  width: 100%;
  height: 90px;
  position: absolute;
  bottom: 0;
}

header h1 img {
  width: 25%;
  max-width: 150px;
  position: absolute;
  z-index: 1;
  top: 20px;
}

.main-Visual {
  width: 100%;
  background: url(../img/main_visual.png) no-repeat top right #0d0d0d;
  background-size: cover;
  position: relative;
  z-index: 0;
}
.main-Visual .wrapper {
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-flex;
  display: flex;
  justify-content: center;
  align-items: center;
    flex-direction: column;
    
}
.main-Visual p {
    color: #ffffff;
    margin-bottom: 10px;
    
}
/*
.main-Visual h2 {
  font-size: 2.0rem;
  color: #ffffff;
  text-align: center;
  width: 100%;
   text-shadow: #00226e 2px 0px 2px, #00226e -2px 0px 2px, #00226e 0px -2px 2px, #00226e -2px 0px 2px, #00226e 2px 2px 2px, #00226e -2px 2px 2px, #00226e 2px -2px 2px, #00226e -2px -2px 2px, #00226e 1px 2px 2px, #00226e -1px 2px 2px, #00226e 1px -2px 2px, #00226e -1px -2px 2px, #00226e 2px 1px 2px, #00226e -2px 1px 2px, #00226e 2px -1px 2px, #00226e -2px -1px 2px, #00226e 1px 1px 2px, #00226e -1px 1px 2px, #00226e 1px -1px 2px, #00226e -1px -1px 2px;
}*/

.main-Visual h2 {
  font-size: 2.0rem;
  text-align: center;
  width: 100%;
  color: #333333; /* 濃いグレー */

  /* ▼ 変更：フチ取りの幅を 2px から 1px に縮小 ▼ */
  text-shadow: 
    1px  1px 0px #ffffff,
   -1px  1px 0px #ffffff,
    1px -1px 0px #ffffff,
   -1px -1px 0px #ffffff,
    1px  0px 0px #ffffff,
   -1px  0px 0px #ffffff,
    0px  1px 0px #ffffff,
    0px -1px 0px #ffffff;
}

/*
.main-Visual h2 span {
  display: block;
  text-align: center;
  font-size: 2.6rem;
  line-height: 1.3;
  z-index: 1;
  background: #00226e;
  margin-bottom: 10px;
}
*/

.main-Visual h2 span {
  display: block;
  text-align: center;
  font-size: 2.6rem;
  line-height: 1.3;
  z-index: 1;
  margin-bottom: 10px;

  /* ▼ ロゴに合わせた美しいグラデーション背景 ▼ */
  background: linear-gradient(135deg, #1b539e 0%, #0d306b 100%);
  
  /* ▼ 装飾と余白の最適化 ▼ */
  color: #ffffff; 
  padding: 16px 0; /* 上下に心地よい余白を作り、座布団の太さを表現 */
  letter-spacing: 0.05em; 

  /* 画像のパキッとした文字影を再現（右下方向に少し強めの黒い影） */
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.6);
}

.txt-Box, .form-Box {
  padding: 20px 10px;
  margin-bottom: 30px;
}

.form-Box {
  background: #f7f7f7;
}

p {
  font-size: 1.6rem;
  margin-bottom: 20px;
    line-height: 1.8;
}

/* 中央寄せ専用のクラス */
p.text-center {
    text-align: center;
}

h3 {
  color: #00226e;
  font-size: 2.6rem;
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 10px;
  text-align: center;
}
h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background-image: linear-gradient(-45deg, #ffffff 25%, #0174b1 25%, #0174b1 50%, #ffffff 50%, #ffffff 75%, #0174b1 75%, #0174b1);
  background-size: 8px 8px;
}

.check-List li {
  font-size: 1.8rem;
  font-weight: bold;
  color: #00226e;
  margin-bottom: 10px;
  padding-left: 13px;
  position: relative;
}
.check-List li::before {
  position: absolute;
  content: "";
  font-weight: 900;
    top:7px;
  left: 0;
  background: #0174b1;
    border-radius: 50%;
    width: 7px;
    height: 7px;
}
.check-List li ul{
    margin-top: 10px;
}
.check-List li ul li{
  padding-left: 10px;
    font-weight: normal;
    font-size: 1.6rem;
    color: #242424;
    margin-bottom: 5px;
    
}
.check-List li ul li::before{
    position: absolute;
  content: "-";
  font-weight: 900;
  left: 0;
     width: 0;
    height: 0;
    top:0;
    
}

/* 全体のコンテナ（薄い青の背景と角丸） */
.description-card {
  margin: 0 auto 20px;
  background-color: #f0f6ff;
  border-radius: 12px;
  padding: 40px 50px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 650px;
}

/* ★追加：タイトルのスタイル */
.card-title {
  font-size: 18px;      /* タイトルの大きさ（好みに合わせて調整してください） */
  font-weight: bold;    /* 太字 */
  color: #333333;       /* 文字色 */
  margin: 0;            /* デフォルトの余白をリセット */
  padding-bottom: 4px;  /* タイトルと下のリストの間に少し隙間を作る */
}

/* 各行のレイアウト */
.card-item {
  display: flex;
  align-items: flex-start; /* ★上揃えに変更（2行になってもチェック位置を上に固定するため） */
  gap: 16px;
  color: #333333;
  font-size: 14px;
  user-select: none;
}

/* 装飾としてのチェックボックス（青い四角） */
.card-marker {
  width: 24px;
  height: 24px;
  background-color: #0077e6;
  border-radius: 4px;
  position: relative;
  flex-shrink: 0;
  margin-top: -2px; /* ★チェックと1行目の見出しの高さを微調整 */
}

/* 内側のチェックマーク（白線） */
.card-marker::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 3px;
  width: 6px;
  height: 12px;
  border: solid #ffffff;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

/* ★追加：テキスト全体を縦並びにするコンテナ */
.card-content {
  display: flex;
  flex-direction: column;
  gap: 4px; /* 見出しと詳細の間の隙間 */
}

/* ★追加：チェックボックスの後ろの太文字見出し */
.item-title {
  font-weight: bold;
  font-size: 16px; /* 見出しのサイズ */
  line-height: 1.4;
}

/* ★追加：改行後の詳細テキスト */
.item-detail {
  font-size: 14px; /* 詳細のサイズ */
  color: #666666;  /* 少し薄めの色にしてメリハリをつけています */
  line-height: 1.5;
}

.confirm .form-Box {
  width: 100%;
}
.confirm dd {
  padding: 10px;
  background: #ffffff;
}

.form-Box label{
    font-weight: bold;
    color: #00226e;
    display: block;
    margin-bottom: 5px;
    
    margin-top: 30px;
}
.form-Box div:first-of-type label{
   margin-top: 0;
}
.form-Box dl span, .form-Box dl .required {
  color: #ff3434;
}
.form-Box dl .required {
  margin-top: 10px;
}
.form-Box .privacy-box{
    margin-bottom: 20px;
}
.form-Box .privacy-box ul li{
    display: inline-block;
    margin-right: 20px;
    
}
.form-Box .txt{
    margin-top: 30px;
}
.form-Box dl dt {
  font-size: 1.6rem;
  margin-bottom: 10px;
}
.form-Box dl dd {
  margin-bottom: 20px;
  font-size: 1.6rem;
}
.form-Box input[type="text"], .form-Box input[type="email"], .form-Box input[type="tel"] {
  border: 1px solid #b1b1b1;
  width: 100%;
  padding: 10px;
  background: #ffffff;
}
.form-Box .formrun-has-error {
  background: #fde2e2 !important;
  border: 1px solid #ff3434#ff3434 !important;
}
.formrun-system-show{
    color: #ff3434;
    margin-top: 5px;
}
.form-Box input::placeholder {
  color: #b1b1b1;
}
.form-Box input:-ms-input-placeholder {
  color: #b1b1b1;
}
.form-Box input::-ms-input-placeholder {
  color: #b1b1b1;
}
.form-Box input.pop-out:active, .form-Box input.pop-out:focus {
  -webkit-animation: pop-out 0.45s ease-out;
  -moz-animation: pop-out 0.45s ease-out;
  animation: pop-out 0.45s ease-out;
  background: #e2fcf2;
}

.form-Box h3{
    margin-top: 0 !important;
}
@-webkit-keyframes pop-out {
  0% {
    -webkit-transform: scale(1);
  }
  66% {
    -webkit-transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
  }
}
@-moz-keyframes pop-out {
  0% {
    -moz-transform: scale(1);
  }
  66% {
    -moz-transform: scale(1.1);
  }
  100% {
    -moz-transform: scale(1);
  }
}
@keyframes pop-out {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
  66% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
a[target="_blank"] {
  color: #009bc7;
  text-decoration: underline;
}
a[target="_blank"] i {
  margin-left: 5px;
  margin-right: 3px;
}
a[target="_blank"]:hover {
  text-decoration: none;
}

.btnx2 {
  margin-top: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
}
.btnx2 button {
  width: 47%;
}
.btnx2 button.reset {
  background: #929393;
  border: 2px solid #929393;
}
.btnx2 button.reset:hover {
  color: #929393;
}

button, .dl-Btn a {
  margin: 0 auto 20px;
  text-align: center;
  display: block;
  cursor: pointer;
  font-size: 1.8rem;
  color: #ffffff;
  background: #f36d00;
  z-index: 2;
  position: relative;
  border: 2px solid #f36d00;
  overflow: hidden;
  text-decoration: none;
  border-radius: 40px;
  /* ▼ 変更：横幅を70%から50%に縮小 ▼ */
  width: 50%; 
  max-width: 400px; /* PCで広がりすぎないように上限を設定 */

  /* ▼ 変更：上下のパディング（厚み）を 15px から 12px に少しスリム化 ▼ */
  padding-top: 12px;
  padding-bottom: 12px;
}
button i, .dl-Btn a i {
  transform: scale(-1, 1);
  margin-right: 5px;
}
button::before, button::after, .dl-Btn a::before, .dl-Btn a::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
button::after, .dl-Btn a::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
}
button:hover, .dl-Btn a:hover {
  color: #f36d00;
}
button:hover::after, .dl-Btn a:hover::after {
  background: #ffffff;
  -webkit-transform: scale(1);
  transform: scale(1);
}

#footer {
  background: #3b3b3b;
  color: #ffffff;
  padding-top: 20px;
}
#footer ul {
  margin-bottom: 10px;
}
#footer ul li {
  display: inline-block;
  margin-right: 20px;
}
#footer ul li a {
  color: #ffffff;
  text-decoration: none;
  position: relative;
  padding-left: 10px;
}
#footer ul li a::before {
  content: "";
  position: absolute;
  left: 0;
  margin: auto;
  top: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-bottom: 4px solid transparent;
  border-top: 4px solid transparent;
  border-left: 6px solid #ffffff;
}
#footer ul li a:hover {
  text-decoration: underline;
}

.download-Box {
  margin: 30px auto;
}
.download-Box h3 {
  margin-top: 0;
}
.download-Box h3 + p {
  font-size: 1.6rem;
}
.download-Box .dl-Btn {
  margin: 40px auto 60px;
}
.download-Box .dl-Btn a span {
  font-size: 70%;
}
.download-Box p:nth-of-type(4) {
  text-align: center;
  font-size: 1.7rem;
}
.download-Box p:nth-of-type(4) a {
  color: #f39800;
}
.download-Box p:nth-of-type(4) a i {
  margin-right: 5px;
}
.download-Box p:last-of-type {
  color: #032d43;
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
}
.download-Box p:last-of-type span:nth-of-type(2) {
  font-size: 40%;
  margin-top: 5px;
  display: block;
}
.download-Box p:last-of-type i {
  margin-right: 5px;
  transform: scale(-1, 1);
}

.num-List{
     counter-reset: my-counter;
  list-style: none;
  padding: 0;
}
.num-List li{
      margin-bottom: 24px;
  padding-left: 36px;
  position: relative;
    font-weight: bold;
    font-size: 120%;
}
.num-List li p{
    font-size: 85%;
    font-weight: normal;
    line-height:1.5;
    margin-bottom: 10px;
    margin-top: 5px;
}
.num-List li:before{
    font-size: 90%;
      content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #00226e;
  color: #ffffff;
  display: block;
  float: left;
  line-height: 22px;
  margin-left: -30px;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
  margin-left: -36px;
}


/***************** SP ******************/
@media only screen and (max-width: 767px) {
  .sp-Dpnone {
    display: none;
  }
  /* ★追加：スマホ表示の時、h3の上に30pxの余白を入れる */
  h3 {
    margin-top: 30px; /* 空白の大きさはお好みに合わせて調整してください */
  }

.main-Visual {
    padding-top: 20%;
  background-size: contain;
    height: 230px;
    margin-bottom: 20px;
}
    .main-Visual p{
        
        
    }
    .main-Visual .wrapper{
        padding: 0;
        
    }
  .main-Visual h2 {
      font-size:110%;
      background: #e3f9ff;
  padding-bottom: 30px;
      
  }
   .main-Visual h2 span{
        font-size: 120%;
        line-height: 1.4;
        padding-top: 10px;
        padding-bottom: 10px;
        margin-bottom: 10px;
        
    }

  .main-Visual h2 span {
    font-size: 1.8rem;    /* スマホ画面に合わせて文字サイズを少し小さく調整 */
    line-height: 1.5;     /* スマホで改行したときに行間が詰まらないように調整 */
    padding: 12px 20px;   /* スマホの画面幅に合わせて左右の余白を少し縮める */
    margin-bottom: 10px;
  }
}
/***************** PC ******************/
@media print, screen and (min-width: 768px) {
  body {
    min-width: 960px;
  }

  .wrapper {
    margin: 0 auto;
    width: 960px;
  }

  #contents {
    padding-bottom: 80px;
  }

  #footer {
      padding-top: 30px;
  }
  #footer .wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
  }
  #footer .wrapper p {
    margin-left: auto;
  }

  .pc-Dpnone {
    display: none;
  }

  .main-Visual {
    height: 400px;
  }
   .main-Visual p {
    font-size: 130%;
    margin-inline: auto; /* 左右の余白を自動調整して中央へ */
    text-align: center;  /* テキストを中央揃え */
    padding-left: 0;     /* 左側のズレをリセット */
  }
  .main-Visual h2 {
    width: 100%;         /* 横幅いっぱいに広げて中央に配置できるようにする */
    margin-inline: auto; /* 左右の余白を自動調整して中央へ */
    padding-left: 0;     /* 左側のズレをリセット */
  }
  .main-Visual h2 span {
    font-size: 3.1rem;
    padding: 10px;
  }

  .main-Contentbg {
    height: 100%;
    min-height: 100%;
  }

  .flex-Box {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: -moz-flex;
    display: flex;
    flex-direction: column; 
  }

  .txt-Box, .form-Box {
    margin-top: 30px;
    padding: 30px;
    width: 100%; /* 50% から 100% に変更 */
    box-sizing: border-box; /* パディングによる幅の広がりを防ぐ */
  }

  .form-Box.confirm {
    margin: 30px auto 0;
  }

  p {
    margin-bottom: 30px;
  }

  h3 {
    margin-top: 50px;
    margin-bottom: 40px;
  }

  .check-List li {
    margin-bottom: 20px;
  }

  .form-Box dl dt {
    margin-bottom: 15px;
  }

  .confirm h3 {
    margin-top: 0;
  }

  .download-Box {
    width: 70%;
  }
  .download-Box .dl-Btn {
    width: 60%;
  }
}

/* ==========================================================================
   追加：テキスト内の強調用（中央寄せ）の span スタイル
   ========================================================================= */

span.center-emp {
    display: block;       /* インラインからブロックに変更して中央寄せを有効にする */
    text-align: center;   /* テキストを中央寄せにする */
    font-weight: bold;    /* 文字を太字（強調）にする */
    margin: 15px auto;    /* 上下の文章と少し隙間をあける */
    
    /* 以下はお好みに合わせて調整・削除してください */
    font-size: 1.1em;     /* 周りの文字よりほんの少し大きく（不要なら削除可） */
    /* color: #ff5a5f; */ /* もし文字に色をつけたい場合はここを有効にしてください */
}

/* ==========================================================================
   追加：セクションごとの全幅背景色切り替え
   ========================================================================= */

/* すべてのセクションを画面幅100%にし、上下にプロっぽい余白をつける */
.content-section {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 60px 0 !important;
}

/* 奇数番目（1, 3, 5つ目...）の見出しセクションを【白】にする */
.content-section:nth-of-type(odd) {
  background-color: #ffffff !important;
}

/* 偶数番目（2, 4つ目...）の見出しセクションを【薄いグレー】にする */
.content-section:nth-of-type(even) {
  background-color: #f7f9fc !important; /* 上品で高級感のある薄グレー */
}

/* 既存のフォーム単体の背景色設定や不要な余白をリセット */
.form-Box {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 auto !important;
}
.txt-Box {
  padding: 0 !important;
  margin: 0 !important;
}

/* PC表示（768px以上）の時の追加調整 */
@media print, screen and (min-width: 768px) {
  .content-section {
    padding: 80px 0 !important; /* PCはさらに上下の余白をゆったり広げる */
  }
}

/* ==========================================================================
   スマホ表示（767px以下）のメインビジュアル微調整
   ========================================================================= */
@media only screen and (max-width: 767px) {
  
  .main-Visual h2 span {
    /* ▼ スマホに合わせて文字サイズを少し小さく調整 ▼ */
    font-size: 1.8rem !important; 
    
    /* ▼ 上下の座布団の厚みをスリムにして圧迫感を軽減 ▼ */
    padding: 10px 8px !important; 
    
    /* 文字の行間をスマホ向けに最適化 */
    line-height: 1.4 !important;
    
    /* 左右に少しだけ余裕を持たせる（文字が画面端にピタッとつくのを防ぐ） */
    width: 92% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

}

/* ==========================================================================
   メインビジュアル：座布団内の2層構造（主コピー＋補助コピー）
   ========================================================================= */

.main-Visual h2 span {
  display: flex !important;       /* block から flex に変更して中身をコントロール */
  flex-direction: column;         /* 中のテキストを上から下へ縦並びにする */
  align-items: center;            /* 左右中央揃え */
  justify-content: center;        /* 上下中央揃え */
  gap: 8px;                       /* 主コピーと補助コピーの間の隙間 */
  
  text-align: center;
  z-index: 1;
  margin-bottom: 10px;

  /* ロゴに合わせたグラデーション背景 */
  background: linear-gradient(135deg, #1b539e 0%, #0d306b 100%);
  
  color: #ffffff; 
  padding: 20px 0;                /* 2層になって縦幅が出るので、上下パディングを少し広げる */
  letter-spacing: 0.05em; 
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.6);
  position: relative; 
}

/* ―― 補助コピー（帯リボン風の文字）のスタイリング ―― */
.main-Visual h2 span .sub-txt {
  font-size: 1.6rem;              /* 主コピーより小さくしてメリハリをつける */
  font-weight: bold;
  color: #ffe400;                 /* ★黄色などにしてリボン風のアクセント・引きを作る */
  letter-spacing: 0.1em;
}

/* ―― 主コピー（大きなメイン文字）のスタイリング ―― */
.main-Visual h2 span .main-txt {
  font-size: 3.1rem;              /* 既存のPCサイズ（3.1rem）をここに適用 */
  font-weight: bold;
  line-height: 1.2;
}

/* ==========================================================================
   スマホ表示（767px以下）の2層構造調整
   ========================================================================= */
@media only screen and (max-width: 767px) {
  .main-Visual h2 span {
    padding: 14px 8px !important; /* スマホでは座布団を少しスリムに */
    gap: 4px;                     /* スマホでは文字間の隙間を狭く */
    width: 94% !important;
    margin: 0 auto;
  }
  
  /* スマホの補助コピーサイズ */
  .main-Visual h2 span .sub-txt {
    font-size: 1.1rem !important; 
  }
  
  /* スマホの主コピーサイズ */
  .main-Visual h2 span .main-txt {
    font-size: 1.8rem !important; /* スマホで綺麗に収まるサイズ */
  }
}

/* ==========================================================================
   座布団＆スマホ制御（PC表示を壊さない決定版）
   ========================================================================= */

/* 1. 全体の一括リセット（!importantによる不要な拡大を防ぐ） */
.main-Visual h2 span {
  display: block !important;
  background: linear-gradient(135deg, #1b539e 0%, #0d306b 100%) !important;
  color: #ffffff !important;
  padding: 14px 10px !important;
  width: auto !important;
  margin: 0 auto 10px !important;
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.6) !important;
}

/* 2. PC表示での補助コピー（small）のサイズを元に戻す */
.main-Visual h2 span .sub-txt {
  display: block !important; /* 主コピーの上に独立させる */
  font-size: 1.6rem !important; /* ★ここで元の小さいサイズに固定 */
  color: #ffe400 !important;   /* アクセントの黄色 */
  font-weight: bold !important;
  line-height: 1.3 !important;
  margin-bottom: 4px !important;
}

/* 3. PC表示での主コピー（b）のサイズ */
.main-Visual h2 span .main-txt {
  display: block !important;
  font-size: 3.1rem !important; /* ★主コピーだけを大きくする */
  font-weight: bold !important;
  line-height: 1.2 !important;
}

/* 4. 初期状態ではスマホ用改行を隠す */
.sp-br {
  display: none !important;
}

/* 5. スマホ表示（767px以下）の時の完全切り替え */
@media only screen and (max-width: 767px) {
  /* スマホの座布団サイズ微調整 */
  .main-Visual h2 span {
    font-size: 1.8rem !important;
    padding: 12px 15px !important;
    width: 92% !important;
  }
  
  /* スマホで「＼プロ視点で解説！」を【完全に非表示・消去】 */
  .main-Visual h2 span .sp-hide,
  .main-Visual h2 .sub-txt .sp-hide,
  .sp-hide {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    font-size: 0 !important;
    position: absolute !important;
  }
  
  /* スマホの補助コピー（残ったテキスト）のサイズ */
  .main-Visual h2 span .sub-txt {
    font-size: 1.2rem !important;
  }
  
  /* スマホの主コピーのサイズ */
  .main-Visual h2 span .main-txt {
    font-size: 1.8rem !important;
    margin-top: 2px !important;
  }
  
  /* スマホでのみ「メルマガ登録で」の後ろで改行 */
  .sp-br {
    display: block !important;
  }
}

/* ==========================================================================
   追加：ダウンロードボタン横並び ＆ ボタンの外（上）に文字表示 ＆ PDFマーク左寄せ
   ========================================================================= */

/* ① 全体を横並びにするコンテナ */
.dl-Btn-container {
  margin: 40px auto 20px;
  display: flex;
  justify-content: center; /* 中央寄せ */
  gap: 24px;              /* ボタン同士の左右の間隔 */
  width: 100%;
}

/* 各ボタンのブロック（外側のテキスト＋ボタン本体）の幅を調整 */
.dl-Btn-container .dl-Btn-item {
  width: 46% !important;  /* 2つ並べるため約半分の幅に */
  max-width: 260px;       /* 横に広がりすぎない上限 */
  text-align: center;     /* 中身を中央寄せ */
}

/* ★追加：ボタンの外（上）に配置するテキストのスタイル（既存の干渉を完全リセット） */
.dl-Btn-container .dl-Btn-label {
  display: block !important;     /* 独立した1行にする */
  font-size: 1.4rem !important;  /* 文字の大きさ */
  font-weight: bold !important;  /* 太字 */
  color: #00226e !important;     /* 文字色（紺色） */
  margin: 0 auto 8px !important; /* 下にあるボタンとの間にだけ隙間をあける */
  padding: 0 !important;
  text-align: center !important;
}

/* 既存の .dl-Btn の不要なマージンをリセットし、幅を100%に */
.dl-Btn-container .dl-Btn {
  margin: 0 auto !important;
  width: 100% !important;
  max-width: none !important;
}

/* 既存のボタン内リンクの幅を100%に広げる */
.dl-Btn-container .dl-Btn a {
  width: 100% !important;
}

/* ② PDFマークとタイトルのリンクエリア（全体をクリック可能に） */
.pdf-info-link {
  display: flex;          /* 横並びにする */
  align-items: center;    /* アイコンと文字の縦位置を中央揃え */
  text-align: left;       /* 左寄せ */
  text-decoration: none;  /* 文字の下線を消す */
  margin: 30px auto 40px; /* 前後の要素との隙間 */
  width: 100%;
  max-width: 540px;       /* ボタンの幅に合わせる */
  cursor: pointer;
}

/* マウスを乗せたときに少し不透明にして「押せる感」を出す演出（お好みで） */
.pdf-info-link:hover {
  opacity: 0.8;
}

/* アドビのガイドラインを考慮したPDFアイコンの余白設定 */
.pdf-icon {
  flex-shrink: 0;
  margin-right: 24px;     /* アイコンの高さ（24px）と同じ分の余白を右側に確保 */
}

/* 資料タイトルのテキスト */
.pdf-title {
  font-size: 1.4rem;
  color: #333333;
  line-height: 1.4;
  font-weight: bold;
}

/* スマホ表示（767px以下）の時の調整 */
@media only screen and (max-width: 767px) {
  /* （前回のボタン用レスポンシブ記述がある場合はそのままでOKです） */
  .pdf-info-link {
    width: 80%;
    margin-top: 20px;
  }
}

/* ==========================================================================
   追加：ダウンロードボックス内のテキストを確実に中央寄せにする
   ========================================================================= */
.download-Box p {
  text-align: center !important;  /* 強制的に真ん中寄せにする */
  margin-inline: auto !important; /* 左右の余白を自動調整 */
  width: 100% !important;         /* 横幅いっぱいに広げて中央揃えを効かせる */
}

/* ついでに、万が一効いていない場合に備えてボタンの上の文字も中央寄せを保証 */
.dl-Btn-container .dl-Btn-label {
  text-align: center !important;
}

/* ==========================================================================
   追加：h4（dl-sub-title）のスタイル（確実な中央寄せとデザイン）
   ========================================================================= */
.download-Box h4.dl-sub-title {
  display: block !important;
  text-align: center !important;   /* 確実に真ん中寄せにする */
  margin: 50px auto 15px !important;/* 上下に綺麗な隙間をあける（上30px、下15px） */
  font-size: 1.6rem !important;    /* 既存のh3（2.0rem）とp（1.4rem）の間の丁度いいサイズ */
  font-weight: bold !important;    /* 太字 */
  color: #333333 !important;       /* 文字色 */
  line-height: 1.4 !important;
  width: 100% !important;
}

/* ==========================================================================
   ダウンロードボックス内：メールアドレスの文字サイズ調整
   ========================================================================= */
.download-Box p a[href^="mailto:"] {
  font-size: 1.4rem !important;  /* 文字サイズを他の注記と同じ1.4remに固定 */
  color: #009bc7 !important;     /* リンクの色を鮮やかな青に強制固定 */
  text-decoration: underline !important; /* リンクの下線を表示 */
  font-weight: normal !important; /* 太字化を解除してすっきりと */
}

/* メールアドレスの左側にあるメールアイコンのサイズ・位置調整 */
.download-Box p a[href^="mailto:"] i {
  font-size: 1.4rem !important;
  margin-right: 6px !important;  /* アイコンと文字の間の隙間 */
  color: #009bc7 !important;
}