﻿@charset "UTF-8";
/* ============================================================
 * SEO記事群 + インタビュー記事群 統合CSS
 * 本番CSS(CMS_CSS)から実使用クラス/ID/文脈依存タグに一致する
 * ルールのみを抽出し、SEO(btoc/btob)とインタビュー(b2b/b2c)の
 * 抽出結果をさらに統合した最終版。
 *
 * 生成元: _claude/CMS_CSS/*.css (common/common4/contents_detail_new/
 *         header04/header_v2/headline/main/reset)
 * 対象記事:
 *   SEO      : btoc_seo / btob_seo 全記事 (20260826/参照元)
 *   インタビュー: BtoB.csv / BtoC.csv 全記事 (Downloads/整形前)
 * 抽出条件: 各記事HTML該当エリアで実際に使われているclass名・id名・
 *         タグ名と、CSSセレクタの末尾コンパウンドを突合。セレクタ内の
 *         祖先も含め、全コンパウンドが「実使用」または「旧CMS共通
 *         ラッパー」でなければ不採用(祖先に未使用の要素が1つでも
 *         あれば除外)。祖先を持たない完全グローバルなタグ単体セレクタ
 *         (例: a{...}, p,td,li{...})も対象外。
 * 祖先の読み替え: 旧CMSの共通ラッパー群
 *         (div.headline_wrap_ / #mainContents / .headline_detail_ /
 *          .headline_body_ / .headline_sec_ / .headline_width_ /
 *          .contents_ / .mainframe_ / .forcms_block /
 *          body, body.sub-page, body.sub-page.headline, body.page-b2b_index)
 *         は、SMZの記事本文ラッパー `:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_` に置き換え済み。
 *         記事(headline/b2b_index)と無関係な別ページ種別のbodyクラス、
 *         サイドバー(.rightmenuframe_)・パンくず(#topicPath)・ヘッダー
 *         (#header/#gnavi/#footer)を含むセレクタは除外。
 * 統合方法: btoc/btob/インタビュー(b2b/b2c) 4つの抽出結果を、同一
 *         (ファイル/メディア/宣言)単位でマージ。重複ルールは1つに統合し、
 *         セレクタは全ソース分を合算。
 * ============================================================ */

/* ---- from common.css ---- */
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ {
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  max-width: 1200px;
  color: #404040;
  font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  text-align: left;
  line-height: 1.6;
  background-color: #ffffff;
  overflow: visible;
}
.contents_detail__image {
  text-align: center;
}

/* ---- from common4.css ---- */
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .forcms_block, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ {
    width: auto !important;
    min-width: 0 !important;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h2 {
    width: auto !important;
    line-height: 1.4;
    margin-top: 15px;
    font-size:18px;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h2 span {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ table {
    width: 100%;
    margin-bottom: 30px;
    margin-left: 0;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ img {
    height: auto !important;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p {
    font-size: 14px;
    line-height: 2;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn190115 {
    width: 100%;
    margin: 30px auto;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn190115 a {
    font-size: 14px !important;
    padding: 15px 0;
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn190115 a span {
    font-size: 14px !important;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ {
    font: 10px "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    color: #111;
    overflow-x: hidden;
    position: relative;
    background: #fff;
    text-align: left;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ {
    overflow: hidden !important;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ {
    width: calc(100% - 30px);
    margin: 0 auto;
    padding: 15px 15px 30px 15px;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h2 {
    padding: 0;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h2, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ span {
    font-size: 15px !important;
    line-height: 1.8 !important;
    text-align: left;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ span br {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ {
    width: 100%;
    padding: 0;
    margin: 0;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ {
    padding: 15px;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ {
    width: 100% !important;
    padding: 0 !important;
  }
}

/* ---- from contents_detail_new.css ---- */
.mb20 {
  margin-bottom:20px;
}
.opa a:hover {
  opacity:0.8;
}
.contents_new_f .menu01 {
  border: 2px solid #d8d9db;
  padding: 2% 3%;
  margin: 30px auto;
  width: 94%;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: bold;
  background: #f9f8f8;
  border-radius: 7px;
}
.contents_new_f .menu01 ul {
  margin-left: 15px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f a {
  color: #00b09f;
  font-weight: bold;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .menu01 a {
  color: #0068b7;
  font-weight: bold;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .menu01 a:after {
  content: "";
  border-top: solid 0px #00b09f;
  border-right: solid 0px #00b09f;
  width: 0px;
  height: 0px;
  transform: rotate(45deg);
  display: none;
  position: initial;
  left: 0px;
  bottom: 0px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen {
  background: #f8f8f8;
  border-radius:0px;
  padding: 30px 50px;
  display: flex;
  justify-content: space-between;
  white-space: nowrap;
  align-items: center;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .img {
  display: block;
  white-space: initial;
  width:35%;
  margin-right:5%;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .img img {
  border-radius: 5px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .text {
  display: block;
  white-space: initial;
  width:60%;
  font-size:14px;
  font-weight:bold;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .text span {
  font-size: 14px;
  color: #00b09f;
  line-height: 1.5em;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .text a {
  text-align: center;
  background: #24c662;
  color: #fff !important;
  padding: 10px 0;
  font-size: 16px;
  font-weight: bold;
  width:60%;
  display: block;
  text-decoration: none;
  transition: all 0.4s ease-out;
  border-radius: 5px;
  box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.08);
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .text a:hover {
  background: #ccc;
  color: #000!important;
  text-decoration: none!important;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .text a:after {
  content:"";
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
  display: inline-block;
  position: relative;
  left:15px;
  bottom: 2px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .text a:hover:after,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p.link_btn_area.btob a:hover:after,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_ai_link_btn_area.btob a:hover:after {
  content:"";
  border-top: solid 2px #000;
  border-right: solid 2px #000;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p.link_btn_area,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_ai_link_btn_area {
  font-size:16px;
  font-weight:bold;
  color:#000;
  text-align:center;
  margin:20px 0!important;
  background: #f8f8f8;
  padding: 10px 0 20px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p.link_btn_area a,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_ai_link_btn_area a {
  text-align: center;
  background: #DCED22;
  color: #000;
  padding: 5px 0;
  font-size: 16px;
  font-weight: bold;
  width: 40%;
  display: block;
  text-decoration: none;
  transition: all 0.4s ease-out;
  border-radius: 5px;
  margin:0 auto;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p.link_btn_area.btob,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_ai_link_btn_area.btob {
  font-size: 16px;
  font-weight: bold;
  color: #000;
  text-align: center;
  margin: 20px 0!important;
  background: #f6f6fe;
  padding: 10px 0 20px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p.link_btn_area.btob a,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_ai_link_btn_area.btob a {
  text-align: center;
  color: #fff;
  padding: 5px 0;
  font-size: 15px;
  font-weight: bold;
  width: 40%;
  display: block;
  text-decoration: none;
  transition: all 0.4s ease-out;
  margin: 0 auto;
  border-radius: 5px;
  background: #2424f4;
  box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.08);
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p.link_btn_area.btob a:hover,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_ai_link_btn_area.btob a:hover {
  background: #ccc;
  color: #000;
  text-decoration: none!important;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p.link_btn_area.btob a:after,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_ai_link_btn_area.btob a:after {
  content:"";
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
  display: inline-block;
  position: relative;
  left:15px;
  bottom: 2px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f h3 {
  padding: 3px 0px 3px 10px;
  margin: 30px 0 15px;
  color: #262626;
  border-left: 2px solid #262626;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f h2 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5em;
  border: 0;
  text-indent: 0;
  margin: 30px 0 15px;
  padding: 0 0 0px;
  border-bottom: 0px solid #5eb600;
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen {
    padding:5%;
    display: block;
    text-align:center;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .img {
    width:100%;
    margin-right:0%;
    margin-bottom:20px;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .text, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .text a {
    width:100%;
    font-size: 13px;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f .dl_dousen .text span {
    font-size: 13px;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p.link_btn_area,
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_ai_link_btn_area {
    font-weight: bold;
    color: #000;
    text-align: center;
    margin: 20px 0!important;
    background: #eee;
    padding: 10px 0 20px;
    font-size: 11px;
    text-align: center;
  }
}
@media screen and (max-width: 640px) {
  .link_btn_area a,
  .detail_ai_link_btn_area a {
    width: 70%;
    font-size: 13px;
    text-align: center;
    background: #DCED22;
    color: #000!important;
    padding: 5px 0;
    font-weight: bold;
    display: block;
    text-decoration: none;
    transition: all 0.4s ease-out;
    border-radius: 5px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 640px) {
  .dl_dousen {
    background: #F8F8F8;
    border-radius: 10px;
    padding: 5%;
    display: block;
    text-align: center;
    justify-content: space-between;
    white-space: nowrap;
    align-items: center;
  }
}
@media screen and (max-width: 640px) {
  .dl_dousen .img {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 640px) {
  .dl_dousen .text {
    width: 100%;
    font-size: 13px;
    display: block;
    white-space: initial;
    font-weight: bold;
    line-height: 1.7em;
  }
}
@media screen and (max-width: 640px) {
  .dl_dousen .text a {
    width: 100%;
    font-size: 13px;
    text-align: center;
    background: #DCED22;
    color: #000!important;
    padding: 10px 0;
    font-weight: bold;
    display: block;
    text-decoration: none;
    transition: all 0.4s ease-out;
    border-radius: 5px;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h2 {
    text-align: left;
    font-weight: bold;
    font-size:17px;
    border-bottom: 0px solid #5fb700;
    margin: 30px 0 15px;
    padding-bottom: 0px;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p {
    margin-top: 10px;
    font-size: 15px;
    text-align: left;
    line-height: 1.9em;
  }
}
@media screen and (max-width: 640px) {
  .pc_only {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h2 {
    font-size:18px;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h3 {
    font-size: 15px;
  }
}
.contents_detail_prof {
  border: 1px solid #ddd;
  border-left: 4px solid #0e5ccc;
  border-radius: 5px;
  padding: 20px 20px;
  margin: 30px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width:100%;
}
.contents_detail_prof .obi1 {
  width:145px;
  text-align: center;
  line-height: 1.6em;
  margin-bottom: 15px;
  font-size:13px;
  font-weight: bold;
  color: #000;
  padding: 3px 0;
  background: #eee;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contents_detail_prof .obi1_text {
  width:auto;
  flex: 1 1 calc(100% - 165px);
  text-align: left;
  line-height: 1.6em;
  margin-bottom: 15px;
  font-size:15px;
  color: #000;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ span {
  background: none;
}
.under2,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .under2 {
  background: linear-gradient(transparent 50%, yellow 50%);
  font-weight: bold;
}
.contents_detail_prof .obi1:last-child, .contents_detail_prof .obi1_text:last-child {
  margin-bottom: 0px;
}
@media screen and (max-width: 640px) {
  .contents_detail_prof {
    padding: 4%;
    margin-bottom: 20px;
    display: block;
    width:92%;
    text-align: left;
  }
}
@media screen and (max-width: 640px) {
  .contents_detail_prof .obi1 {
    width:100%;
    font-size:13px;
    margin-bottom: 0px;
    display: inline;
    padding: 3px 14px;
  }
}
@media screen and (max-width: 640px) {
  .contents_detail_prof .obi1_text {
    width:100%;
    margin-bottom: 15px;
    font-size:14px;
  }
}
.contents_detail_prof {
  box-sizing: border-box;
  max-width: 100%;
}
.contents_detail_prof .obi1 {
  box-sizing: border-box;
  margin-right: 0.5rem;
}
@media screen and (max-width: 640px) {
  .obi1, .obi1_text {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .cta-section {
    background-color:#fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0);
    border: 1px solid #bec8c8;
    border-radius: clamp(3.2426666666666666px, 0.26666666666666666vw, 4px);
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .cta-section a.cta-button {
    display: inline-block;
    position: relative;
    overflow: hidden;
    border: 1px solid #bec8c8;
    border-radius: clamp(64.85333333333332px, 5.333333333333334vw, 80px);
    color: #247273 !important;
    font-weight: bold;
    letter-spacing: 0.05em;
    background: #e5f5f2;
    box-sizing: border-box;
    z-index: 0;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf,
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf {
    border-color: #247273;
    border-width: 3px;
    padding: 0 2.67vw 6.67vw;
    border-style: solid;
    margin: 56px 0;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-itemttl,
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-itemttl {
    padding: 0 3.2vw;
    font-size: 3.2vw !important;
    letter-spacing: .05em;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    color: #fff;
    font-weight: 600;
    background-color: #247273;
    border-radius: 8px 0 8px 0;
    line-height: 1.8;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf a,
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    line-height: 1.5;
    padding: 2.13vw;
    padding-right: 8vw;
    font-size: 3.73vw !important;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    border-radius: 30px;
    letter-spacing: .05em;
    background-color: #247273;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf a::after,
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf a::after {
    right: 5vw;
    border-style: solid;
    border-top: 1.5vw solid transparent;
    border-bottom: 1.5vw solid transparent;
    border-left: 2vw solid #247273;
    border-right: 2vw solid transparent;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-ttl span,
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-ttl span {
    display: inline-block;
    color: #247273 !important;
    padding: 0 16px;
    background: #fff !important;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ span.mini {
    font-size: 11px !important;
    line-height: 1.8em !important;
    text-align: center;
  }
}

/* ---- from header04.css ---- */
@media screen and (max-width: 640px) {
  .con220106flex.sp_only {
    display: flex;
    flex-wrap: wrap;
    margin: 30px 0 20px;
  }
}
@media screen and (max-width: 900px) {
  .con220106flex.sp_only {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  .con220106flex.sp_only {
    display: flex;
  }
}

/* ---- from headline.css ---- */
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ img {
  width: auto;
  max-width: 100%;
  vertical-align: bottom;
  max-height: fit-content;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h4 {
  background: none;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  padding: 10px 0;
  margin: 18px 0 0 0;
  width: auto;
  color: #000;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .img_ {
  text-align: center;
  margin: 10px auto 30px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p {
  font-size: 16px;
  line-height: 1.9em;
  margin: 0 0 15px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ li {
  font-size: 16px;
  line-height: 2.25;
  margin: 0;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ a {
  color: #0068b7;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ a:hover {
  text-decoration: underline;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn_visumo a, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn_sechstant a {
  display: block;
  margin: 31px 0 17px 12px;
  padding: 0 20px;
  width: 53%;
  border: 1px solid #d6d5d5;
  border-radius: 6px;
  background: #fff;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  font-size: 12px;
  line-height: 45px;
  color: #3e3e3e;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn_visumo .visumoimg img, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn_sechstant .sechstantimg img {
  width: 21%;
  padding: 0 0 17px 18px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn_visumo a:hover, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn_sechstant a:hover {
  background:#d6d5d5;
  transition: 1s;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn_revico a {
  display: block;
  margin: 0 0 10px 12px;
  padding: 0 20px;
  width: 53%;
  border: 1px solid #d6d5d5;
  border-radius: 6px;
  background: #fff;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  font-size: 12px;
  line-height: 45px;
  color: #3e3e3e;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn_revico .revicoimg img {
  width: 21%;
  padding: 0 0 12px 18px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .btn_revico a:hover {
  background:#d6d5d5;
  transition: 1s;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .company_info {
  margin: 17px 0;
  width:100%;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .company_info th {
  background: #f0f0f0;
  border-right: solid 1px #fff;
  border-top: solid 1px #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 12px 20px;
  text-align: left;
  width: 20%;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .company_info td {
  background: #f9f9f9;
  border-top: solid 1px #fff;
  font-size: 14px;
  padding: 12px 20px;
}
#no1, #no1_1, #no1_2, #no1_3, #no1_4, #no1_5, #no1_6, #no2, #no2_1, #no2_1_1, #no2_1_2, #no2_2, #no2_2_1, #no2_2_2, #no2_3, #no2_3_1, #no2_4, #no2_5, #no2_6, #no2_7, #no3, #no3_1, #no3_2, #no3_3, #no3_4, #no3_5, #no4, #no4_1, #no4_2, #no4_3, #no4_4, #no4_5, #no4_6, #no5, #no5_1, #no5_2, #no5_3, #no5_4, #no5_5, #no6, #no6_1, #no6_2, #no6_3, #no7, #no8, #no7_1, #no7_2, #no7_3, #no7_3_1, #no7_3_2, #no7_3_3, #no7_3_4, #no7_3_5, #no7_3_6 {
  margin-top: -80px;
  padding-top: 80px;
}
/* 260929_追記（要点：#no1等のmt-80pxを、目次と接している時だけ先頭ブロックのマージンを無効化） */
.contents_detail:has(#js-int-index) + * #no1:first-child,
.contents_detail:has(#js-int-index) + * #no1_1:first-child,
.contents_detail:has(#js-int-index) + * #no1_2:first-child,
.contents_detail:has(#js-int-index) + * #no1_3:first-child,
.contents_detail:has(#js-int-index) + * #no1_4:first-child,
.contents_detail:has(#js-int-index) + * #no1_5:first-child,
.contents_detail:has(#js-int-index) + * #no1_6:first-child,
.contents_detail:has(#js-int-index) + * #no2:first-child,
.contents_detail:has(#js-int-index) + * #no2_1:first-child,
.contents_detail:has(#js-int-index) + * #no2_1_1:first-child,
.contents_detail:has(#js-int-index) + * #no2_1_2:first-child,
.contents_detail:has(#js-int-index) + * #no2_2:first-child,
.contents_detail:has(#js-int-index) + * #no2_2_1:first-child,
.contents_detail:has(#js-int-index) + * #no2_2_2:first-child,
.contents_detail:has(#js-int-index) + * #no2_3:first-child,
.contents_detail:has(#js-int-index) + * #no2_3_1:first-child,
.contents_detail:has(#js-int-index) + * #no2_4:first-child,
.contents_detail:has(#js-int-index) + * #no2_5:first-child,
.contents_detail:has(#js-int-index) + * #no2_6:first-child,
.contents_detail:has(#js-int-index) + * #no2_7:first-child,
.contents_detail:has(#js-int-index) + * #no3:first-child,
.contents_detail:has(#js-int-index) + * #no3_1:first-child,
.contents_detail:has(#js-int-index) + * #no3_2:first-child,
.contents_detail:has(#js-int-index) + * #no3_3:first-child,
.contents_detail:has(#js-int-index) + * #no3_4:first-child,
.contents_detail:has(#js-int-index) + * #no3_5:first-child,
.contents_detail:has(#js-int-index) + * #no4:first-child,
.contents_detail:has(#js-int-index) + * #no4_1:first-child,
.contents_detail:has(#js-int-index) + * #no4_2:first-child,
.contents_detail:has(#js-int-index) + * #no4_3:first-child,
.contents_detail:has(#js-int-index) + * #no4_4:first-child,
.contents_detail:has(#js-int-index) + * #no4_5:first-child,
.contents_detail:has(#js-int-index) + * #no4_6:first-child,
.contents_detail:has(#js-int-index) + * #no5:first-child,
.contents_detail:has(#js-int-index) + * #no5_1:first-child,
.contents_detail:has(#js-int-index) + * #no5_2:first-child,
.contents_detail:has(#js-int-index) + * #no5_3:first-child,
.contents_detail:has(#js-int-index) + * #no5_4:first-child,
.contents_detail:has(#js-int-index) + * #no5_5:first-child,
.contents_detail:has(#js-int-index) + * #no6:first-child,
.contents_detail:has(#js-int-index) + * #no6_1:first-child,
.contents_detail:has(#js-int-index) + * #no6_2:first-child,
.contents_detail:has(#js-int-index) + * #no6_3:first-child,
.contents_detail:has(#js-int-index) + * #no7:first-child,
.contents_detail:has(#js-int-index) + * #no8:first-child,
.contents_detail:has(#js-int-index) + * #no7_1:first-child,
.contents_detail:has(#js-int-index) + * #no7_2:first-child,
.contents_detail:has(#js-int-index) + * #no7_3:first-child,
.contents_detail:has(#js-int-index) + * #no7_3_1:first-child,
.contents_detail:has(#js-int-index) + * #no7_3_2:first-child,
.contents_detail:has(#js-int-index) + * #no7_3_3:first-child,
.contents_detail:has(#js-int-index) + * #no7_3_4:first-child,
.contents_detail:has(#js-int-index) + * #no7_3_5:first-child,
.contents_detail:has(#js-int-index) + * #no7_3_6:first-child {
  margin-top: 0;
}
/* 260929_end */
.contents_new_f .menu01 a:hover {
  opacity:0.8;
  text-decoration:underline;
}
.mb20 {
  margin-bottom:20px !important;
}
.mb30 {
  margin-bottom:30px !important;
}
.mb50 {
  margin-bottom:50px !important;
}
.contents_new_f .menu01 {
  border: 2px solid #ccc;
  padding: 15px;
  margin: 30px auto;
  width: 706px;
  background: #FFF;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: bold;
}
.contents_new_f .menu01 li {
  line-height: 1.5em !important;
}
.contents_new_f .menu01 li a {
  font-weight: bold;
  font-size:14px;
}
.contents_new_f ul.list01 {
  border: 3px solid #ccc;
  padding: 15px;
  width: 710px;
  background: #FFF;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 2em;
  font-weight: bold;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f h2 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  border: 0;
  text-indent: 0;
  margin: 40px 0 15px;
  padding: 0;
  border-bottom: 0 solid #5eb600;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f h3 {
  background: none;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  padding: 8px 0px;
  margin: 30px 0 9px;
  width: auto;
  border-left: 2px solid;
  padding-left: 10px;
  color: #000;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .contents_new_f h4 {
  background: none;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  padding: 8px 0px;
  margin: 20px 0 9px;
  width: auto;
  color: #000;
}
.contents_new_f table.table01, .contents_new_f table.table001, .contents_new_f table.table003 {
  border-bottom:1px solid #ccc;
  border-right:1px solid #ccc;
  width:740px;
  font-size:15px;
}
.contents_new_f table.table01 tr td {
  border-top:1px solid #ccc;
  border-left:1px solid #ccc;
  padding:10px 5px;
  color:#000;
  text-align:left;
  font-weight:600;
  font-size: 12px;
}
.contents_new_f table.table01 tr.ttl02 td {
  background:#d5664a;
  font-weight:bold;
  text-align:center;
  color:#fff;
  font-size: 12px;
}
.contents_new_f table.table001 tr td {
  border-top:1px solid #ccc;
  border-left:1px solid #ccc;
  padding:10px 5px;
  color:#000;
  text-align:left;
  font-weight:600;
  font-size: 13px;
}
.contents_new_f table.table001 tr td.sub01 {
  color:#000;
  text-align:center;
  font-weight:600;
  font-size: 17px;
  width: 10%;
  line-height: 1.5em;
}
.contents_new_f table.table001 tr td span {
  text-align:center;
  font-size:23px;
  font-weight:bold;
  display:block;
}
.contents_new_f table.table001 tr.ttl02 td {
  background:#5EB600;
  font-weight:bold;
  text-align:center;
  color:#fff;
  font-size: 14px;
}
.contents_new_f table.table001 tr td.bk_no {
  background:#fff;
}
.contents_new_f .list01 li:before {
  content:"✔";
  margin-right: 10px;
}
.contents_new_f span {
  color:#eb2142;
  font-weight:bold;
}
.contents_new_f span.mini {
  color: #000;
  font-size: 12px;
  font-weight: bold;
}
.contents_new_f table.table003 tr td {
  border-top:1px solid #ccc;
  border-left:1px solid #ccc;
  padding:10px 5px;
  color:#000;
  text-align:left;
  font-weight:100;
  font-size: 13px;
}
.contents_new_f table.table003 tr td.green {
  background:#5EB600;
  text-align:left;
  color:#fff;
  font-size: 14px;
  width:50%;
}
.contents_text_cf {
  color:red;
  font-weight:bold;
}
@media screen and (max-width: 640px) {
  .contents_new_f ul.list01 {
    width: 90%;
  }
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ a.cta-button:hover, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf a:hover,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ a.cta-button:hover, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf a:hover {
  text-decoration: none;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ a.cta-button {
  display: inline-block;
  position: relative;
  overflow: hidden;
  border: 1px solid #bec8c8;
  border-radius: clamp(64.85333333333332px, 5.333333333333334vw, 80px);
  color: #247273 !important;
  font-weight: bold;
  letter-spacing: 0.05em;
  background: #e5f5f2;
  box-sizing: border-box;
  z-index: 0;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ a.cta-button:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: linear-gradient(#fff 0%, #eff5f4 100%);
  z-index: -1;
  transition: 0.3s;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ a.cta-button:hover:before {
  opacity: 0;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf {
  position: relative;
  border-width: 4px;
  border-style: solid;
  border-color: #247273;
  padding: 0 20px 25px;
  margin: 56px 0;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-ttl,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-ttl {
  line-height: 1.5;
  margin-bottom: -.25em;
  color: #25aa83 !important;
  font-size: 20px !important;
  font-weight: bold;
  letter-spacing: .05em;
  transform: translateY(-50%);
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-ttl span,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-ttl span {
  display: inline-block;
  color: #247273 !important;
  padding: 0 16px;
  background: #fff !important;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-bold,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-bold {
  font-size: 26px !important;
  font-weight: bold;
  line-height: 1.5;
  margin: 0;
  letter-spacing: .05em;
  color:#247273;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-txt,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-txt {
  display: grid;
  grid-template-columns: auto 256px;
  grid-template-rows: auto auto auto;
  grid-column-gap: 20px;
  margin-top: 1em;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-heading,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-heading {
  grid-area: 1 / 1 / 2 / 2;
  line-height: 1.6;
  letter-spacing: .05em;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-table,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-table {
  grid-area: 2 / 1 / 3 / 2;
  position: relative;
  background-color: #EDEEF0;
  border-radius: 8px;
  padding: 40px 17px 10px;
  margin-top: 20px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-itemttl,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-itemttl {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  color: #fff;
  font-weight: 600;
  background-color: #247273;
  border-radius: 8px 0 8px 0;
  padding: 0 20px;
  line-height: 1.8;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-item,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-item {
  position: relative;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.7;
  margin: 0;
  letter-spacing: .05em;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf img,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf img {
  grid-area: 1 / 2 / 4 / 3;
  width: 256px;
  height: auto;
  margin-top: 0;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-link,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-link {
  max-width: 560px;
  margin: 25px auto 0;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf a,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: bold;
  text-decoration: none;
  background-color: #247273;
  border-radius: 30px;
  padding: 8px;
  padding-right: 40px;
  letter-spacing: .05em;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf a:hover,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf a:hover {
  opacity: .7;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf a::before,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf a::before {
  position: absolute;
  right: 24px;
  content: "";
  width: 24px;
  background-color: #fff;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf a::after,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf a::after {
  position: absolute;
  right: 30px;
  content: "";
  width: 1px;
  height: 1px;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid #247273;
  border-right: 8px;
  display: block;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .cta-section {
  border: 1px solid #bec8c8;
  border-radius: clamp(3.2426666666666666px, 0.26666666666666666vw, 4px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0);
  background-color: #fff;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .cta-content {
  padding: 16px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-txt,
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-txt {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .article-cta-wf-table,
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .detail_seo_article-cta-wf-table {
    margin-bottom: 20px;
  }
}
/* ---- from main.css ---- */
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h2 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  border: 0;
  text-indent: 0;
  margin: 40px 0 15px;
  padding: 0;
  border-bottom: 0 solid #5eb600;
  border-left: 0px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h3 {
  background: none;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5em;
  padding: 3px 5px;
  margin: 30px 2px 15px;
  width: auto;
  border-left: 2px solid;
  color: #000;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h3 span {
  margin-left:10px;
  font-size:12px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ h3.catch.red {
  color:#cc0000;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ p strong {
  color:#cc0000;
  font-weight:bold;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .list {
  margin-bottom:20px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .list ol {
  padding-left:26px;
  list-style-position:outside;
  list-style-type: decimal;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .list ol li {
  margin-bottom:10px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .list ul {
  margin-left:5px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .list ul li {
  margin-bottom:5px;
  padding-left:15px;
  background:url(/cms/images/common/dot.gif) no-repeat 0 3px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ table.list {
  width:760px;
  margin-top:10px;
  margin-bottom:30px;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ table.list th, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ table.list td {
  padding:5px 10px;
  border:1px solid #dcdcd0;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ table.list th {
  background-color:#ededdf;
  font-weight:bold;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ table.list th.center, :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ table.list td.center {
  text-align:center;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ table.list td span {
  font-size:10px;
  letter-spacing:0;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ #boxOnayami.red ul li {
  background-image:url(/cms/images/common/i_check_red.png);
  background-repeat:no-repeat;
}
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ #boxOnayami.green ul li {
  background-image:url(/cms/images/common/i_check.png);
  background-repeat:no-repeat;
}
/* ---- from reset.css ---- */

.cta-section {
  display: flex;
  align-items: center;
  /* 全体のアラインメントを上に揃える */
  background-color: #f9f9f9;
  /* 背景色を設定 */
  padding: 20px;
  border-radius: 8px;
  /* 角を丸くする */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  /* 影を追加 */
  margin: 20px auto;
  /* 上下の余白を追加 */
  max-width: 1200px;
  /* 最大幅を設定して大きすぎないようにする */
}

div.cta-section img {
  max-width: 300px !important;
  /* 画像の最大幅を設定 */
  width: 100%;
  /* 画像の幅を100%に設定 */
  height: auto;
  /* アスペクト比を保つ */
  margin-right: 20px;
  /* 画像とテキストの間に余白を追加 */
  border-radius: 8px;
  /* 画像の角を丸くする */
}

.cta-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0;
  text-align: left;
  /* コンテンツを上下に配置 */
  height: 100%;
  /* 高さを100%に設定 */
  /* margin-top: 60px; */
}

div.cta-content p {
  margin: 0 0 20px;
  /* テキストの下に余白を追加 */
  font-size: 16px;
  /* フォントサイズを設定 */
  color: #535353 !important;
  /* テキストの色を設定 */
}

.cta-button {
  display: inline-block;
  background-color: #007BFF;
  /* ボタンの背景色を設定 */
  color: #fff !important;
  /* ボタンのテキスト色を設定 */
  padding: 10px 20px;
  /* ボタンの内側の余白を設定 */
  text-decoration: none;
  /* テキストの下線を削除 */
  border-radius: 5px;
  /* ボタンの角を丸くする */
  transition: background-color 0.3s ease;
  /* ホバー時のアニメーションを設定 */
  align-self: flex-start;
  /* ボタンをテキストの下に揃える */
  font-weight: bold;
  /* ボタンのテキストを太字にする */
  margin-top: 20px;
}

.cta-button:hover {
  background-color: #0056b3;
  /* ホバー時の背景色を変更 */
  color: white;
  /* ホバー時のテキスト色を白色にする */
}


/* スマホ時のスタイル */
@media (max-width: 768px) {
  .cta-section {
    flex-direction: column;
    /* 縦方向にレイアウトを変更 */
    align-items: center;
    /* 中央揃えにする */
  }

  div.cta-section img {
    margin-right: 0;
    /* 余白をリセット */
    margin-bottom: 20px;
    /* 画像の下に余白を追加 */
  }

  .cta-content {
    align-items: center;
    /* 中央揃えにする */
    margin-top: 0px;
  }

  .cta-button {
    align-self: center;
    /* ボタンを中央揃えにする */
  }

  .cta-button {
    margin-block: auto;
  }
}

#js-int-index p:not(:first-child),
.js-toc-layout p:not(:first-child),
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .js-toc-layout p:not(:first-child) {
  margin-bottom: 0;
}

.dl_dousen,
.detail_seo_dl_dousen {
  background: #F8F8F8;
  border-radius: 10px;
  padding: 30px 50px;
  display: flex;
  justify-content: space-between;
  white-space: nowrap;
  align-items: center;
}
.dl_dousen .img,
.detail_seo_dl_dousen_img {
  display: block;
  white-space: initial;
  width: 35%;
  margin-right: 5%;
}
.dl_dousen .text,
.detail_seo_dl_dousen_text {
  display: block;
  white-space: initial;
  width: 60%;
  font-size: 20px;
  font-weight: bold;
}
.dl_dousen img {
  max-width: 100%;
  vertical-align: bottom;
  max-height: fit-content;
}
.dl_dousen .text a,
.detail_seo_dl_dousen_text a {
  text-align: center;
  background: #DCED22;
  color: #000 !important;
  padding: 10px 0;
  font-size: 16px;
  font-weight: bold;
  width: 60%;
  display: block;
  text-decoration: none;
  transition: all 0.4s ease-out;
  border-radius: 5px;
}
.dl_dousen .text a:hover,
.detail_seo_dl_dousen_text a:hover {
  background: #fff;
  color: #000;
  text-decoration: none !important;
}

span.dd-c {
  text-align: center;
  font-size: 23px;
  color: #009393;
  font-weight: bold;
}

.btn190115 {
  width: 100% !important;
}

.btn190115 {
  width: 400px;
  margin: 20px auto;
}

.DD-container {
  display: flex;
  width: 100%;
}

.DD-container img {
  width: 95% !important;
}

.image-container {
  display: flex;
  gap: 20px;
}
.image-container a {
  text-decoration: none;
  position: relative;
  top: 0;
}
.image-container img {
  width: 240px;
  height: auto;
}
.dd p,
:is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .dd p {
  text-align: center;
  font-weight: bold;
  color: #4CC570;
  font-size: 20px;
  line-height: 1.9;
}

.recommend-section {
  background: #edf8f7;
  /* 薄いグリーン系背景 */
  border: 2px solid #1D6974;
  border-radius: 12px;
  padding: 30px 20px;
  margin: 40px 0;
  text-align: center;
}

.recommend-section p {
  text-align: center;
  color: #1D6974;
  font-weight: bold;
  font-size: 20px;
}

.recommend-section .image-container {
  display: flex;
  justify-content: center;
  gap: 20px;
  /* 画像の間隔 */
  margin-top: 20px;
}

.recommend-section .image-container a img {
  width: 180px;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(76, 197, 112, 0.08);
  transition: transform 0.2s;
}

.recommend-section .image-container a:hover img {
  transform: scale(1.05);
  box-shadow: 0 4px 16px rgba(76, 197, 112, 0.18);
}

@media screen and (max-width: 640px) {
  .dl_dousen,
  .detail_seo_dl_dousen {
    background: #F8F8F8;
    border-radius: 10px;
    padding: 5%;
    display: block;
    text-align: center;
    justify-content: space-between;
    white-space: nowrap;
    align-items: center;
  }
  .dl_dousen .img,
  .detail_seo_dl_dousen_img {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 20px;
  }
  .dl_dousen .text,
  .detail_seo_dl_dousen_text {
    width: 100%;
    font-size: 13px;
    display: block;
    white-space: initial;
    font-weight: bold;
    line-height: 1.7em;
  }
  .dl_dousen .text a:hover,
  .detail_seo_dl_dousen_text a {
    width: 100%;
    font-size: 13px;
    text-align: center;
    background: #DCED22;
    color: #000 !important;
    padding: 10px 0;
    font-weight: bold;
    display: block;
    text-decoration: none;
    transition: all 0.4s ease-out;
    border-radius: 5px;
  }

  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ span.dd-c {
    font-size: 23px !important;
  }

  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .dd p,
  .dd p {
    margin-bottom: 0;
    font-size: 16px;
  }

  .recommend-section p,
  :is(.contents_detail, .common_layout_h2_photo_line) .common_inner_ .recommend-section p {
    font-size: 15px;
  }
}
@media screen and (max-width: 800px) {
  .dl_dousen,
  .detail_seo_dl_dousen {
    padding: 5%;
    display: block;
    text-align: center;
  }

  .dl_dousen .img,
  .detail_seo_dl_dousen_img {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 20px;
  }

  .dl_dousen .text,
  .detail_seo_dl_dousen_text {
    width: 100%;
    font-size: 13px;
  }

  .dl_dousen .text a:hover,
  .detail_seo_dl_dousen_text a {
    width: 100%;
    font-size: 14px;
  }
}
