@charset "utf-8";
/* ==================================================
ヘッダー・フッター適用ページ用 調整
================================================== */
.sp { display: none !important; }
body, input, textarea, select {
  font-size: 100%;
  line-height: 1;
  letter-spacing: initial;
}
body {
  min-width: 1240px;
  font-family: メイリオ, Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
  color: #4d4d4d;
  padding-top: 150px;
}
a {
  text-decoration: none;
}


/* ==================================================
比率
================================================== */
.ratioBox {
  display: grid;
  gap: var(--gapY, 24px) var(--gapX, 24px);
  grid-template-columns: var(--gTCol, 1fr 1fr);
  margin-top: 32px;
}
.ratioBox:first-child { margin-top: 0; }
.ratioBox_item {}




header.header {
  color: var(--defaultColor);
  font-size: var(--defaultFontSize);
  font-family: var(--defaultFontFamily);
  line-height: 1.625;
  letter-spacing: var(--defaultLetterSpacing);
}
.header_loginCont_inner {
  box-sizing: border-box;
}
footer.footer {
  color: var(--defaultColor);
  font-size: var(--defaultFontSize);
  font-family: var(--defaultFontFamily);
  line-height: 1.625;
  font-weight: var(--defaultFontWeight);
  letter-spacing: var(--defaultLetterSpacing);
  text-align: left;
}
.footer_sitemap {
  max-width: initial;
  font-size: var(--defaultFontSize);
  line-height: var(--defaultLineHeight);
}
.footer_logo_img img {
  width: 100% !important;
  max-width: 100%;
}
.footer_sitemap_list {

}
footer .js-acd_btn {
  list-style: none;
}
footer .js-acd_btn::-webkit-details-marker {
  display: none;
}
.swiper-pause {
  font-family: Arial, Helvetica, sans-serif;
}

/* ==================================================
コンポーネント
================================================== */
/* ----- リンクアイコン ----- */
.linkIcon {
  --linkIcon: url(/common_v3/images/icon/icon_link.svg);
  --linkIconColor: var(--mainColor);
  --linkIconWidth: .9em;
  --linkIconHeight: .9em;
  width: var(--linkIconWidth);
  height: var(--linkIconHeight);
  flex-shrink: 0;
  display: inline-block;
  position: relative;
  top: .1em;
  margin: 0 8px;
}
.linkIcon::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: var(--linkIconColor);

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-image: var(--linkIcon);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-image: var(--linkIcon);
}
/* - オプション - */
/* 色 */
.linkIcon-orange { --linkIconColor: var(--subColor); }
.linkIcon-red { --linkIconColor: var(--colorRed); }
/* アイコン種類 */
.linkIcon-blank { --linkIcon: url(/common_v3/images/icon/icon_blank.svg); }
.linkIcon-down { --linkIcon: url(/common_v3/images/icon/icon_down.svg); }
.linkIcon-download { --linkIcon: url(/common_v3/images/icon/icon_download.svg); }
/* PDFはサイズ、仕様調整 */
.linkIcon-pdf {
  --linkIcon: url(/common_v3/images/icon/icon_pdf.svg);
  width: 37px;
  height: 18px;
}

/* ==================================================
テキストリンク
================================================== */
.textLink {
  /* color: var(--mainColor);
  text-decoration: underline;
  text-underline-offset: 2px; */
}
.textLink:hover {
  text-decoration: none;
}

/* ==================================================
カテゴリ毎リンク
================================================== */
.catLink_ttl {
  color: var(--mainColor);
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 1.33;
  border-bottom: 1px solid var(--mainColor);
  padding-bottom: 14px;
  margin-top: 32px;
}
.catLink_ttl:first-child { margin-top: 0; }
.catLink_ttl_link {
  width: 100%;
  display: flex;
  text-decoration: none;
  transition: var(--transOpac);
}
.catLink_ttl_link:hover { opacity: var(--hoverOpac); }
.catLink_ttl_link .linkIcon { margin: 0 0 0 auto; }
.catLink_list_ttl {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 16px;
}
.catLink_list_ttl:first-child { margin-top: 0; }
.catLink_list {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.4;
  margin-top: 16px;
}
.catLink_list:first-child { margin-top: 0; }
.catLink_list_itme {
  margin-top: 16px;
}
.catLink_list_itme:first-child { margin-top: 0; }
.catLink_list_txt {
  display: inline-flex;
  color: var(--defaultColor);
  text-decoration: none;
}
a.catLink_list_txt:hover {
  text-decoration: underline;
}
.catLink_list_txt .linkIcon {
  top: .2em;
  margin-right: 0;
}

/* ==================================================
リンクボタン
================================================== */
/* ----- 通常ボタン ----- */
/* - 変数用 - */
.header .nmlBtn,
.fixedCnv .nmlBtn {
  /* カラム・幅など */
  --col: 1;
  --gapY: 24px;
  --gapX: 24px;
  --marginTop: 40px;
  --nmlBtnMaxW: 420px;
  --nmlBtnMinH: 68px;
  --nmlBtnRadius: 34px;
  --nmlBtnPadding: 36px;
  --nmlBtnItemGap: 8px;
  --btnPos: center;
  /* 色 */
  --nmlBtnColor: var(--mainColor);
  --nmlBtnBoderColor: var(--mainColor);
  --nmlBtnColor_hover: #fff;
  /* アイコン */
  --svgIconColor: #fff;
  --nmlBtnLinkIcon: url(/common_v3/images/icon/icon_link.svg);
  --nmlBtnLinkIconWidth: 14px;
  --nmlBtnLinkIconHeight: 14px;
}
/* - メイン - */
.header .nmlBtn,
.fixedCnv .nmlBtn {
  max-width: 100%;
  display: flex;
  gap: var(--gapY) var(--gapX);
  flex-wrap: wrap;
  justify-content: var(--btnPos);
  text-align: center;
  margin-top: var(--marginTop);
}
.header .nmlBtn:first-child,
.fixedCnv .nmlBtn:first-child { margin-top: 0; }
.header .nmlBtn_item,
.fixedCnv .nmlBtn_item {
  /* ボタン色 */
  --nmlBtnIcoColor: var(--nmlBtnColor_hover);
  --nmlBtnTxtColor: var(--nmlBtnColor_hover);
  --nmlBtnBgColor: var(--nmlBtnColor);
  /* 幅 */
  --tNmlBtnGapX: calc(calc(var(--col) - 1) * var(--gapX));
  --tNmlBtnWrap: calc(100% - var(--tNmlBtnGapX));
  --tNmlBtnW: calc(var(--tNmlBtnWrap) / var(--col));
  flex: 0 0 auto;
  width: var(--tNmlBtnW);
  max-width: var(--nmlBtnMaxW);
  display: flex;
  gap: var(--nmlBtnItemGap);
  flex-direction: column;
}
.header .nmlBtn_item_inner,
.fixedCnv .nmlBtn_item_inner {
  width: 100%;
  height: 100%;
  min-height: var(--nmlBtnMinH);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: var(--nmlBtnTxtColor);
  background: var(--nmlBtnBgColor);
  border: 1px solid var(--nmlBtnBoderColor);
  border-radius: var(--nmlBtnRadius);
  padding: 8px var(--nmlBtnPadding) 8px 36px;
  text-decoration: none;
  cursor: pointer;
  transition:
    var(--transColor),
    var(--transBg);
}
.header .nmlBtn_item_inner:not(:has(.nmlBtn_linkIcon)),
.fixedCnv .nmlBtn_item_inner:not(:has(.nmlBtn_linkIcon)) {
  padding-left: calc(var(--nmlBtnPadding) * .5);
  padding-right: calc(var(--nmlBtnPadding) * .5);
}
.header .nmlBtn_text,
.fixedCnv .nmlBtn_text {
  display: flex;
  gap: 0;
  flex-direction: column;
}
.header .nmlBtn_text_main,
.fixedCnv .nmlBtn_text_main {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.45;
}
.header .nmlBtn_text_main:only-child,
.fixedCnv .nmlBtn_text_main:only-child {
  font-size: var(--defaultFontSize);
}
.header .nmlBtn_text_sub,
.fixedCnv .nmlBtn_text_sub {
  font-size: 14px;
  line-height: 1.2;
}
.header .nmlBtn_caption,
.fixedCnv .nmlBtn_caption {
  display: flex;
  justify-content: center;
  position: relative;
  color: var(--nmlBtnColor);
  font-size: var(--defaultFontSize);
  font-weight: 500;
  margin: auto auto 0;
  padding: 0 32px;
}
.header .nmlBtn_caption::before,
.header .nmlBtn_caption::after,
.fixedCnv .nmlBtn_caption::before,
.fixedCnv .nmlBtn_caption::after {
  content: "";
  position: absolute;
  width: 30px;
  height:2px;
  bottom: 12px;
  background-color: var(--nmlBtnColor);
}
.header .nmlBtn_caption::before,
.fixedCnv .nmlBtn_caption::before {
  left: 0;
  transform: rotate(45deg);
}
.header .nmlBtn_caption::after,
.fixedCnv .nmlBtn_caption::after {
  right: 0;
  transform: rotate(-45deg);
}
.header .nmlBtn_caption-simple,
.fixedCnv .nmlBtn_caption-simple {
  align-items: center;
  color: var(--defaultColor);
  line-height: 1.3;
  font-weight: bold;
  padding: 0;
}
.header .nmlBtn_caption-simple::before,
.header .nmlBtn_caption-simple::after,
.fixedCnv .nmlBtn_caption-simple::before,
.fixedCnv .nmlBtn_caption-simple::after { content: none; }
.header .nmlBtn_caption + .nmlBtn_item_inner,
.fixedCnv .nmlBtn_caption + .nmlBtn_item_inner {
  height: auto;
}
.header .nmlBtn_caption + .nmlBtn,
.fixedCnv .nmlBtn_caption + .nmlBtn {
  margin-top: var(--nmlBtnItemGap);
}
/* - 位置 - */
.header .nmlBtn-left { justify-content: flex-start; }
.header .nmlBtn-center { justify-content: center; }
.header .nmlBtn-right { justify-content: flex-end; }
/* - カラム - */
.header .nmlBtn.col1,
.fixedCnv .nmlBtn.col1 { flex-direction: column; align-items: var(--btnPos); }
.header .nmlBtn.col2,
.fixedCnv .nmlBtn.col2 { --gapX: 32px; }
.header .nmlBtn.col3-static,
.header .nmlBtn.pc_col3-static,
.fixedCnv .nmlBtn.col3-static,
.fixedCnv .nmlBtn.pc_col3-static { --nmlBtnMaxW: 344px; }
/* - 色 - */
.header .nmlBtn_item-orange,
.fixedCnv .nmlBtn_item-orange {
  --nmlBtnColor: var(--subColor);
  --nmlBtnBoderColor: var(--subColor);
}
.header .nmlBtn_icon,
.fixedCnv .nmlBtn_icon {
  width: 28px;
  height: 28px;
  position: absolute;
  top: 0;
  left: 20px;
  bottom: 0;
  margin: auto;
}
.header .nmlBtn_icon::after,
.fixedCnv .nmlBtn_icon::after {
  background-color: var(--nmlBtnIcoColor);
  transition: var(--transBg);
}
.header .nmlBtn_item_inner:has(.nmlBtn_icon),
.fixedCnv .nmlBtn_item_inner:has(.nmlBtn_icon) {
  padding-left: 52px;
}
/* - リンクアイコン - */
.header .nmlBtn_linkIcon,
.fixedCnv .nmlBtn_linkIcon {
  width: var(--nmlBtnLinkIconWidth);
  height: var(--nmlBtnLinkIconHeight);
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}
.header .nmlBtn_linkIcon::after,
.fixedCnv .nmlBtn_linkIcon::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background-color: var(--nmlBtnIcoColor);
  transition: var(--transBg);

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-image: var(--nmlBtnLinkIcon);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-image: var(--nmlBtnLinkIcon);
}
/* 文字で来るアイコン用（pdfなど共通部分） */
.header .nmlBtn_item_inner:has(.nmlBtn_linkIcon-pdf),
.fixedCnv .nmlBtn_item_inner:has(.nmlBtn_linkIcon-pdf) {
  --nmlBtnPadding: 56px;
}
/* アイコンの種類 */
.header .nmlBtn_linkIcon-down,
.fixedCnv .nmlBtn_linkIcon-down { --nmlBtnLinkIcon: url(/common_v3/images/icon/icon_anchor.svg); }
.header .nmlBtn_linkIcon-download,
.fixedCnv .nmlBtn_linkIcon-download { --nmlBtnLinkIcon: url(/common_v3/images/icon/icon_download.svg); }
.header .nmlBtn_linkIcon-blank,
.fixedCnv .nmlBtn_linkIcon-blank { --nmlBtnLinkIcon: url(/common_v3/images/icon/icon_blank.svg); }
.header .nmlBtn_linkIcon-pdf,
.fixedCnv .nmlBtn_linkIcon-pdf {
  --nmlBtnLinkIcon: url(/common_v3/images/icon/icon_pdf.svg);
  --nmlBtnLinkIconWidth: 37px;
  --nmlBtnLinkIconHeight: 18px;
}
/* - ホバー - */
.header a.nmlBtn_item_inner:hover,
.fixedCnv a.nmlBtn_item_inner:hover {
  --nmlBtnIcoColor: var(--nmlBtnColor);
  --nmlBtnTxtColor: var(--nmlBtnColor);
  --nmlBtnBgColor: var(--nmlBtnColor_hover);
  --svgIconColor: var(--nmlBtnColor);
}
/* - 色の反転（サブカラー） - */
.header .nmlBtn_item-reverseColor,
.fixedCnv .nmlBtn_item-reverseColor {
  --nmlBtnIcoColor: var(--nmlBtnColor);
  --nmlBtnTxtColor: var(--defaultColor);
  --nmlBtnBgColor: var(--nmlBtnColor_hover);
  --svgIconColor: var(--nmlBtnColor);
}
.header .nmlBtn_item-reverseColor a.nmlBtn_item_inner:hover,
.fixedCnv .nmlBtn_item-reverseColor a.nmlBtn_item_inner:hover {
  --nmlBtnIcoColor: var(--nmlBtnColor_hover);
  --nmlBtnTxtColor: var(--nmlBtnColor_hover);
  --nmlBtnBgColor: var(--nmlBtnColor);
  --svgIconColor: var(--nmlBtnColor_hover);
}
/* - 角丸調整 - */
.header .nmlBtn_item-roundSmall,
.fixedCnv .nmlBtn_item-roundSmall {
  --nmlBtnRadius: 8px;
}
/* - 非活性ボタン - */
.header .nmlBtn_item-disabled,
.fixedCnv .nmlBtn_item-disabled {
  --nmlBtnTxtColor: var(--defaultColor);
  --nmlBtnColor: var(--colorGray);
  --nmlBtnBgColor: var(--colorGray);
  --nmlBtnBoderColor: var(--colorGray);

  pointer-events: none;
  user-select: none;
}
.header .nmlBtn_item-disabled .nmlBtn-linkIcon,
.fixedCnv .nmlBtn_item-disabled .nmlBtn-linkIcon {
  display: none;
}
/* - 選択済み - */
.header .nmlBtn_item-selected,
.fixedCnv .nmlBtn_item-selected {
  --nmlBtnTxtColor: var(--nmlBtnColor_hover);
  --nmlBtnBgColor: var(--nmlBtnColor);
  pointer-events: none;
  user-select: none;
}
.header .nmlBtn_item-selected .nmlBtn-linkIcon,
.fixedCnv .nmlBtn_item-selected .nmlBtn-linkIcon {
  display: none;
}
/* - 見た目だけボタン - */
.header div.nmlBtn_item_inner:not([data-modalclass]),
.fixedCnv div.nmlBtn_item_inner:not([data-modalclass]) {
  user-select: none;
  pointer-events: none;
}
/* step内にあるボタン */
.header .nmlBtn-step,
.fixedCnv .nmlBtn-step {
  --nmlBtnMaxW: 480px;
  --nmlBtnMinH: 54px;
  font-size: 18px;
  margin-top: 16px;
}
/* ----- 強調ボタン（ヘッダーやトップなどで使用） ----- */
/* - 変数用 - */
.emphBtn {
  /* カラム・幅など */
  --col: 1;
  --gapY: 20px;
  --gapX: 28px;
  --btnMaxW: auto;
  --btnMinW: auto;
  --btnMinH: 64px;
  --btnRadius: 8px;
  --btnPaddingL: 44px;
  --btnPaddingR: 28px;
  --btnItemGap: 4px;
  --btnMarginTop: 40px;
  --btnFontSize: 16px;
  /* 色 */
  --btnColor: var(--mainColor);
  --btnShadow: #167157;
  /* アイコン */
  --svgIconColor: #fff;
  --btnLinkIcon: url(/common_v3/images/icon/icon_link.svg);
  --btnLinkIconWidth: 14px;
  --btnLinkIconHeight: 14px;
}
/* - メイン - */
.emphBtn {
  max-width: 100%;
  display: flex;
  gap: var(--gapY) var(--gapX);
  flex-wrap: wrap;
  text-align: center;
  margin-top: var(--btnMarginTop);
}
.emphBtn:first-child { margin-top: 0; }
.emphBtn_item {
  /* 幅 */
  --tmp1: calc(calc(var(--col) - 1) * var(--gapX));
  --tmp2: calc(100% - var(--tmp1));
  --btnW: calc(var(--tmp2) / var(--col));
  flex: 0 0 auto;
  width: var(--btnW);
  max-width: var(--btnMaxW);
  min-width: var(--btnMinW);
  display: flex;
  gap: var(--btnItemGap);
  flex-direction: column;
}
.emphBtn_item_inner {
  width: 100%;
  height: 100%;
  min-height: var(--btnMinH);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  top: 0;
  left: 0;
  color: #fff;
  background: var(--btnColor);
  box-shadow: 4px 4px var(--btnShadow);
  border-radius: var(--btnRadius);
  padding: 8px var(--btnPaddingR) 8px var(--btnPaddingL);
  text-decoration: none;
  cursor: pointer;
  transition:
    transform var(--defaultTrans),
    box-shadow var(--defaultTrans);
}
.emphBtn_text {
  display: flex;
  gap: 0;
  flex-direction: column;
}
.emphBtn_text_main {
  font-size: var(--btnFontSize);
  font-weight: bold;
  line-height: 1.45;
}
.emphBtn_text_sub {
  font-size: 14px;
  line-height: 1.2;
}
.emphBtn_caption {
  display: flex;
  justify-content: center;
  position: relative;
  font-weight: bold;
  margin: auto auto 0;
  padding: 0 32px;
}
.emphBtn_caption::before,
.emphBtn_caption::after {
  content: "";
  position: absolute;
  width: 2px;
  height:30px;
  bottom: 0;
  background-color: var(--btnColor);
}
.emphBtn_caption::before {
  left: 0;
  transform: rotate(-30deg);
}
.emphBtn_caption::after {
  right: 0;
  transform: rotate(30deg);
}
/* - アイコン - */
.emphBtn_icon {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 0;
  left: 16px;
  bottom: 0;
  margin: auto;
}
.emphBtn_icon::after {
  background-color: #fff;
}
/* - リンクアイコン - */
.emphBtn_linkIcon {
  width: var(--btnLinkIconWidth);
  height: var(--btnLinkIconHeight);
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}
.emphBtn_linkIcon::after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background-color: var(--svgIconColor);
  transition: var(--transBg);

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-image: var(--btnLinkIcon);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-image: var(--btnLinkIcon);
}
/* 文字で来るアイコン用（pdfなど共通部分） */
.emphBtn_item_inner:has(.nmlBtn_linkIcon-pdf) {
  --btnPaddingR: 56px;
}
.emphBtn_linkIcon-down { --btnLinkIcon: url(/common_v3/images/icon/icon_anchor.svg); }
.emphBtn_linkIcon-download { --btnLinkIcon: url(/common_v3/images/icon/icon_download.svg); }
.emphBtn_linkIcon-blank { --btnLinkIcon: url(/common_v3/images/icon/icon_blank.svg); }
.emphBtn_linkIcon-pdf {
  --btnLinkIcon: url(/common_v3/images/icon/icon_pdf.svg);
  --btnLinkIconWidth: 37px;
  --btnLinkIconHeight: 18px;
}
/* 背景パターン */
.emphBtn_item:has(.emphBtn_bgIcon) {
  --btnMinH: 84px;
}
.emphBtn_bgIcon {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: grid;
  place-content: center;
  margin: auto;
}
/* - 色 - */
.emphBtn_item-orange {
  --btnColor: #FF7E39;
  --btnShadow: #CE5C1C;
}
.emphBtn_item-blue {
  --btnColor: var(--colorBlue);
  --btnShadow: #0E4C79;
}
/* - ホバー - */
.emphBtn_item_inner:hover {
  box-shadow: 0 0;
  transform: translate(4px, 4px);
}

.form_text {
  width: 100%;
  max-width: 100%;
  height: 64px;
  background: #fff;
  border: 1px solid var(--colorGray);
  border-radius: 8px;
  line-height: 1;
  letter-spacing: 0;
  padding: 12px 20px;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0 12px;
}
.form_text:first-child { margin-left: 0; }
.form_text:last-child { margin-right: 0; }
.form_text.entered {
  background: #fff;
}

/* ==================================================
ユーティリティ（PC用）
================================================== */
/* ----- device ----- */
.sp { display: none !important; }
.aiS { align-items: flex-start !important; }
.aiC { align-items: center !important; }
.jcS { justify-content: flex-start !important; }
.jcC { justify-content: center !important; }
.pc_aiS { align-items: flex-start !important; }
.pc_aiC { align-items: center !important; }
.pc_jcS { justify-content: flex-start !important; }
.pc_jsC { justify-content: center !important; }
.mt00,
.pc_mt00 { margin-top: 0 !important; }
/* ----- col（css変数） ----- */
.col1 { --col: 1 !important; }
.col2 { --col: 2 !important; }
.col3 { --col: 3 !important; }
.col4 { --col: 4 !important; }
.col5 { --col: 5 !important; }
.pc_col1 { --col: 1 !important; }
.pc_col2 { --col: 2 !important; }
.pc_col3 { --col: 3 !important; }
.pc_col4 { --col: 4 !important; }
.pc_col5 { --col: 5 !important; }
.pc_gTC-1_1 { --gTCol: 1fr 1fr; }
.pc_gTC-1_2 { --gTCol: 1fr 2fr; }
.pc_gTC-1_3 { --gTCol: 1fr 3fr; }
.pc_gTC-1_4 { --gTCol: 1fr 4fr; }
.pc_gTC-1_5 { --gTCol: 1fr 5fr; }
.pc_gTC-2_1 { --gTCol: 2fr 1fr; }
.pc_gTC-2_2 { --gTCol: 2fr 2fr; }
.pc_gTC-2_3 { --gTCol: 2fr 3fr; }
.pc_gTC-2_4 { --gTCol: 2fr 4fr; }
.pc_gTC-2_5 { --gTCol: 2fr 5fr; }
.pc_gTC-3_1 { --gTCol: 3fr 1fr; }
.pc_gTC-3_2 { --gTCol: 3fr 2fr; }
.pc_gTC-3_3 { --gTCol: 3fr 3fr; }
.pc_gTC-3_4 { --gTCol: 3fr 4fr; }
.pc_gTC-3_5 { --gTCol: 3fr 5fr; }
.pc_gTC-4_1 { --gTCol: 4fr 1fr; }
.pc_gTC-4_2 { --gTCol: 4fr 2fr; }
.pc_gTC-4_3 { --gTCol: 4fr 3fr; }
.pc_gTC-4_4 { --gTCol: 4fr 4fr; }
.pc_gTC-4_5 { --gTCol: 4fr 5fr; }
.pc_gTC-5_1 { --gTCol: 5fr 1fr; }
.pc_gTC-5_2 { --gTCol: 5fr 2fr; }
.pc_gTC-5_3 { --gTCol: 5fr 3fr; }
.pc_gTC-5_4 { --gTCol: 5fr 4fr; }
.pc_gTC-5_5 { --gTCol: 5fr 5fr; }

/* ==================================================
現行ママページ用
================================================== */
/* ----- タブ ----- */
.tabBox .tabBtn li a {
  height: 48px !important;
  line-height: 48px !important;
  cursor: pointer !important;
  color: #179f50 !important;
  background: #b7f1b5 !important;
  border-bottom: 2px solid #fff !important;
}
.tabBox .tabBtn li a span {
  background: url(/cmn/img/arrow_green_down.png) no-repeat left center !important;
}
.tabBox .tabBtn li.is-active a,
.tabBox .tabBtn li a:hover {
  height: 58px !important;
  line-height: 58px !important;
  color: #fff !important;
  background: #179f50 !important;
  border-bottom: 2px solid #179f50 !important;
}
.tabBox .tabBtn li.is-active a span,
.tabBox .tabBtn li a:hover span {
  background: url(/cmn/img/arrow_white_down.png) no-repeat left center !important;
}
.tabBox .tabBtn li.is-active {
  padding-top: 0 !important;
}
.tabBox .tabBtn li.is-active a {
  cursor: default !important;
}
.tabBox .dispBox > li {
  display: none !important;
}
.tabBox .dispBox > li.is-active {
  display: block !important;
}

.column_slider .swiper-button-prev,
.column_slider .swiper-button-next {
  width: 64px;
  height: 64px;
}
.column_slider .swiper-button-prev {
  left: 40px;
  transform: scale(-1, 1);
}
.column_slider .swiper-button-next {
  right: 40px;
}
.column_slider .swiper-slide {
  height: auto;
}

/* ==================================================
追従コンバージョン
================================================== */
.fixedCnv {
  width: 100%;
  position: sticky;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 995;
  background-color: rgba(253, 251, 235, .9);
  padding: 16px 0;
}
.fixedCnv_inner {
  width: calc(var(--contentWidth) + var(--contentPaddingXDouble));
  margin: auto;
  padding: 0 var(--contentPaddingX);
}
.fixedCnv .nmlBtn {
  --gapX: 48px;
  --nmlBtnMinH: 54px;
  --nmlBtnItemGap: 4px;
}
.fixedCnv .nmlBtn_item {
  min-height: 72px;
}

#mainContents .lifeplanBox li p {
  display: table-cell;
  width: 92px;
  height: 115px;
  padding-top: 64px;
  font-size: 12px; font-size: 1.2rem;
  text-align: center;
  line-height: 1.25;
  color: #333;
  text-decoration: none;
  vertical-align: middle;
  border: 3px solid #f3f3f3;
  background-repeat: no-repeat;
  background-position: center -8px;
}
#mainContents .lifeplanBox li:after {
  content: none;
}
#mainContents .lifeplanBox li.link01 p { background-image: url(/personal/insurance/img/index/icon_lifeplan_01.png); }
#mainContents .lifeplanBox li.link02 p { background-image: url(/personal/insurance/img/index/icon_lifeplan_02.png); }
#mainContents .lifeplanBox li.link03 p { background-image: url(/personal/insurance/img/index/icon_lifeplan_03.png); }
#mainContents .lifeplanBox li.link04 p { background-image: url(/personal/insurance/img/index/icon_lifeplan_04.png); }
#mainContents .lifeplanBox li.link05 p { background-image: url(/personal/insurance/img/index/icon_lifeplan_05.png); }
#mainContents .lifeplanBox li.link06 p { background-image: url(/personal/insurance/img/index/icon_lifeplan_06.png); }
#mainContents .lifeplanBox li.link07 p { background-image: url(/personal/insurance/img/index/icon_lifeplan_07.png); }


/* ==================================================
追従コンバージョン
================================================== */
.fixedCnv {
  --gapX: 48px;
  width: 100%;
  position: sticky;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 995;
  background-color: rgba(253, 251, 235, .9);
  padding: 16px 0;
}
.fixedCnv_inner {
  width: calc(var(--contentWidth) + var(--contentPaddingXDouble));
  margin: auto;
  padding: 0 var(--contentPaddingX);
}
.fixedCnv_flex {
  display: flex;
  gap: var(--gapX);
}
.fixedCnv_flex_item {
  flex: 1 1 auto;
}
.fixedCnv_flex_item-small {
  flex-grow: 0;
}
.fixedCnv .nmlBtn {
  --gapX: 48px;
  --nmlBtnMinH: 54px;
  --nmlBtnItemGap: 4px;
  min-width: 308px;
}
.fixedCnv .nmlBtn_item {
  min-height: 72px;
}
/* ----- 先行公開用 ----- */
.fixedCnv-beta {

}
.fixedCnv-beta .nmlBtn {
  --gapX: 24px;
  --nmlBtnMaxW: 350px;
  --nmlBtnItemGap: 8px;
}
.fixedCnv-beta .nmlBtn_item {
  min-height: initial;
}
.fixedCnv-beta .nmlBtn_text_main {
  line-height: 1.1;
}
.fixedCnv_flex_item-small .nmlBtn {
  --nmlBtnMaxW: 308px;
}
