@charset "UTF-8";

/* --------------------------------------------------

  サイト全体で共通のスタイル

-------------------------------------------------- */

/* サイト全体で使用する変数 */
/* --------------------------------------------------

  サイト全体で共通の設定

-------------------------------------------------- */

:root {
  /* カラースキーム */
  --color-main: #000000;
  --color-main-rgb: 0, 0, 0;
  --color-sub: #F66036;
  --color-point: #26AABB;
  --color-point-rgb: 38, 170, 187;
  --color-plane: #333333;
  --color-plane-rgb: 51, 51, 51;
  --color-pale: #BBBBBB;
  --color-bg: #F0F9F8;
  --color-underline: #F8DC75;
  /* カラースキーム：不透明度設定ありのペールカラー */
  --color-pale-light: rgba(187, 187, 187, .6);
  /* カラースキーム：フィルムカラー */
  --color-film: rgba(15, 15, 15, .45);
  --color-film-hover: rgba(15, 15, 15, .6);

  /* フォント：基本 */
  --font-default: '游ゴシック', "Meiryo", "Osaka", sans-serif;
  /* フォント：英字 */
  --font-en: 'Roboto', sans-serif;
  /* フォント：ボタン */
  --font-button: var(--font-default);

  /* 文字サイズ：基本 */
  --fz-root-desktop: 1.4rem;
  --fz-root-palmtop: 1.4rem;
  /* 文字サイズ：見出し(desktop) */
  --fz-h2-desktop: 2.8rem;
  --fz-h2-decoration-desktop: 1.8rem;
  --fz-h3-desktop: 2rem;
  --fz-h4-desktop: 1.8rem;
  --fz-h5-desktop: 1.8rem;
  /* 文字サイズ：見出し(palmtop) */
  --fz-h2-palmtop: 1.6rem;
  --fz-h2-decoration-palmtop: 1.2rem;
  --fz-h3-palmtop: 1.6rem;
  --fz-h4-palmtop: 1.6rem;
  --fz-h5-palmtop: 1.5rem;

  /* 文字ウェイト：日本語テキスト */
  --fw-normal-jp: 400;
  --fw-bold-jp: 700;
  /* 文字ウェイト：英語テキスト */
  --fw-normal-en: 500;
  --fw-bold-en: 700;

  /* 文字間 */
  --ls-root: 0;
  --ls-root-en: 0;

  /* 行間：見出し */
  --lh-heading: 1.7;
  /* 行間：段落(p) */
  --lh-paragraph: 1.42;
  /* 行間：通常テキスト */
  --lh-normal-text: 1.4;
  /* 行間：ボタン */
  --lh-button: 1.5;
  /* 行間：ブログテンプレート */
  --lh-blog: 1.4;

  /* メインコンテンツ幅 */
  --main-content-width: 1050px;

  /* .containerの左右のpadding */
  --container-padding-hr-desktop: 15px;
  --container-padding-hr-laptop: 15px;
  --container-padding-hr-palmtop: 15px;

  /*
    line-height分の余白を相殺する
    使用例 : margin-top: calc(30px + var(--leading-trim));
  */
  --leading-trim: calc((1em - 1lh) / 2);

  /* transitionの設定 */
  --transition-ptn01: .6s cubic-bezier(0.03, 0.98, 0.52, 0.99);
  --transition-ptn02: .3s ease-in-out
}

/* サイト全体で共通のウェブフォント */
/* Noto Sans JP - Light */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/styles/vendors/fonts/NotoSansJP/NotoSansJP-Light.ttf') format('truetype');
}

/* Noto Sans JP - Regular */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/styles/vendors/fonts/NotoSansJP/NotoSansJP-Regular.ttf') format('truetype');
}

/* Noto Sans JP - Medium */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/styles/vendors/fonts/NotoSansJP/NotoSansJP-Medium.ttf') format('truetype');
}

/* Noto Sans JP - SemiBold */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/styles/vendors/fonts/NotoSansJP/NotoSansJP-SemiBold.ttf') format('truetype');
}

/* Noto Sans JP - Bold */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/styles/vendors/fonts/NotoSansJP/NotoSansJP-Bold.ttf') format('truetype');
}

/* Roboto - Light */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/styles/vendors/fonts/Roboto/Roboto-Light.ttf') format('truetype');
}

/* Roboto - Regular */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/styles/vendors/fonts/Roboto/Roboto-Regular.ttf') format('truetype');
}

/* Roboto - Medium */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/styles/vendors/fonts/Roboto/Roboto-Medium.ttf') format('truetype');
}

/* Roboto - Bold */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/styles/vendors/fonts/Roboto/Roboto-Bold.ttf') format('truetype');
}

/* icon (icomoon) */
@font-face {
  font-family: 'icomoon';
  src: url('?evfvw0');
  src:
    url('https://45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/service.rodina.co.jp/assets/styles/vendors/fonts/icomoon/icomoon.eot?evfvw0#iefix') format('embedded-opentype'),
    url('https://45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/service.rodina.co.jp/assets/styles/vendors/fonts/icomoon/icomoon.ttf"?evfvw0') format('truetype'),
    url('https://45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/service.rodina.co.jp/assets/styles/vendors/fonts/icomoon/icomoon.woff?evfvw0') format('woff'),
    url('https://45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/service.rodina.co.jp/assets/styles/vendors/fonts/icomoon/icomoon.svg?evfvw0#icomoon') format('svg');
  font-weight: 400;
  font-style: normal
}

/* サイト全体で共通のアニメーション */
/* サイト全体で共通のアニメーション */



/* tableのswipeアイコンの動き */

@keyframes table-swipe {
  0% {
    opacity: 0;
    transform: translate(-20px, 5px) rotate(0);
  }
  75% {
    opacity: 1;
    transform: translate(20px, -5px) rotate(15deg);
  }
  100% {
    opacity: 1;
    transform: translate(20px, -5px) rotate(15deg);
  }
}

/* リンクフェードイン */
@keyframes link-underline {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* フェードイン */
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* scroll */
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  75% {
    -webkit-transform: translateY(25px);
    transform: translateY(25px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(25px);
    transform: translateY(25px);
    opacity: 0;
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  75% {
    -webkit-transform: translateY(25px);
    transform: translateY(25px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(25px);
    transform: translateY(25px);
    opacity: 0;
  }
}

/* サイト全体で共通のHTML要素、汎用的なスタイル */
/* サイト全体で共通の要素のスタイル */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  line-break: strict;
  overflow-wrap: break-word;
  word-break: break-word;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

html {
  background-color: #ffffff;
  color: var(--color-plane);
  font-family: var(--font-default);
  font-size: 62.5%;
  font-weight: 400;
  letter-spacing: var(--ls-root);
  line-height: 1.78em;
  scroll-behavior: smooth;
}
/* 多言語対応 */
html:lang(ja) {
  font-family: var(--font-default);
}

html.is-hamburger-nav-open {
  overflow: hidden;
}

body {
  font-size: 1.4rem;
  letter-spacing: var(--ls-root);
  line-height: 1;
}

a {
  color: inherit;
  text-decoration: none;
}

a:is(:hover, :focus){
  text-decoration: none;
}

button {
  color: var(--color-main);
  font-size: 1.4rem;
  font-family: var(--font-default);
  letter-spacing: var(--ls-root);
  line-height: 1;
}

img {
  max-width: 100%;
  vertical-align: top;
}

p {
  line-height: 1.42857143;
}

/* 縮小画像のにじみ対策 (for Chrome) */
body.is-browsing-with-chrome img {
  image-rendering: -webkit-optimize-contrast;
}

a img {
  transition: opacity .35s;
}
/* hover & focus */
a:focus-visible img {
  opacity: .75;
}
@media screen and (min-width: 1050px) {
  a:hover img {
    opacity: .75;
  }
}


sub {
  font-size: 1.1rem;
  vertical-align: sub;
}

sup {
  font-size: 1.1rem;
  vertical-align: super;
}

blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ol, ul {
  list-style: none;
}

iframe {
  vertical-align: top;
}

strong {
  font-weight: 700;
}

/* === アクセシビリティ対応 */

/* キーボード操作時のみ[outline]を表示 */
:focus:not(:focus-visible) {
  outline: 0;
}

/* アクセシビリティ対応 === */
/* ==========================================================================

  utility

========================================================================== */

.block {
  display: block;
  text-decoration: none;
}

.block, .block:active, .block:visited {
  color: inherit;
}

.inline-block {
  display: inline-block;
}

.break {
  word-wrap: break-word;
}

.full {
  box-sizing: border-box;
  width: 100%;
}

.stick {
  margin: 0 !important;
}

.stick-bottom {
  margin-bottom: 0 !important;
}

.stick-left {
  margin-left: 0 !important;
}

.stick-right {
  margin-right: 0 !important;
}

.stick-top {
  margin-top: 0 !important;
}

.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-lower {
  text-transform: lowercase;
}

.text-upper {
  text-transform: uppercase;
}

.word {
  display: inline-block;
}

.pc-only {
  display: block;
}
@media print, screen and (max-width: 760px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media print, screen and (max-width: 760px) {
  .sp-only {
    display: block;
  }
}

.hs_cos_wrapper_type_icon {
  display: none;
}

.hs_error_rollup {
  color: red;
  margin-top: 50px;
  text-align: center;
}

/* === アクセシビリティ対応用 */

/*
  視覚的に非表示にしつつ、スクリーンリーダーで読み上げ可能にする。
  UIコンポーネントであってもキーボードフォーカスは不可だが、スクリーンリーダーではフォーカス可能。
*/
.visually-hidden-element {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(0 0 99.9% 99.9%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

/* アクセシビリティ対応用 === */

/* リッチテキスト用スタイル */


.natural {
  display: block;
  margin-top: 20px;
  margin-bottom: 20px;
}
.natural:first-child {
  margin-top: 0;
}
.natural:last-child {
  margin-bottom: 0;
}

.natural--bg {
  box-sizing: border-box;
  padding: 30px;
  background-color: var(--color-bg);
}
@media screen and (max-width:767px) {
  .natural--bg {
    padding: 20px;
  }
}
/* 背景色ありのスタイル */
.dnd-section-color--bg .natural--bg {
  background-color: #ffffff;
}

.natural pre, .natural h1, .natural h2, .natural h3, .natural h4, .natural h5, .natural h6, .natural .solid, .natural hr, .natural blockquote {
  display: block;
}

/* elements settings */
.natural pre+pre,.natural h1+pre,.natural h2+pre,.natural h3+pre,.natural h4+pre,.natural h5+pre,.natural h6+pre,
.natural .solid+pre,.natural hr+pre,.natural blockquote+pre,.natural table+pre,
.natural pre+h1,.natural h1+h1,.natural h2+h1,.natural h3+h1,.natural h4+h1,.natural h5+h1,.natural h6+h1,
.natural .solid+h1,.natural hr+h1,.natural blockquote+h1,.natural table+h1,
.natural pre+h2,.natural h1+h2,.natural h2+h2,.natural h3+h2,.natural h4+h2,.natural h5+h2,.natural h6+h2,
.natural .solid+h2,.natural hr+h2,.natural blockquote+h2,.natural table+h2,
.natural pre+h3,.natural h1+h3,.natural h2+h3,.natural h3+h3,.natural h4+h3,.natural h5+h3,.natural h6+h3,
.natural .solid+h3,.natural hr+h3,.natural blockquote+h3,.natural table+h3,
.natural pre+h4,.natural h1+h4,.natural h2+h4,.natural h3+h4,.natural h4+h4,.natural h5+h4,.natural h6+h4,
.natural .solid+h4,.natural hr+h4,.natural blockquote+h4,.natural table+h4,
.natural pre+h5,.natural h1+h5,.natural h2+h5,.natural h3+h5,.natural h4+h5,.natural h5+h5,.natural h6+h5,
.natural .solid+h5,.natural hr+h5,.natural blockquote+h5,.natural table+h5,
.natural pre+h6,.natural h1+h6,.natural h2+h6,.natural h3+h6,.natural h4+h6,.natural h5+h6,.natural h6+h6,
.natural .solid+h6,.natural hr+h6,.natural blockquote+h6,.natural table+h6,
.natural pre+.solid,.natural h1+.solid,.natural h2+.solid,.natural h3+.solid,.natural h4+.solid,.natural h5+.solid,.natural h6+.solid,
.natural .solid+.solid,.natural hr+.solid,.natural blockquote+.solid,.natural table+.solid,
.natural pre+hr,.natural h1+hr,.natural h2+hr,.natural h3+hr,.natural h4+hr,.natural h5+hr,.natural h6+hr,
.natural .solid+hr,.natural hr+hr,.natural blockquote+hr,.natural table+hr,
.natural pre+blockquote,.natural h1+blockquote,.natural h2+blockquote,.natural h3+blockquote,.natural h4+blockquote,.natural h5+blockquote,.natural h6+blockquote,
.natural .solid+blockquote,.natural hr+blockquote,.natural blockquote+blockquote,.natural table+blockquote,
.natural pre+table,.natural h1+table,.natural h2+table,.natural h3+table,.natural h4+table,.natural h5+table,.natural h6+table,
.natural .solid+table,.natural hr+table,.natural blockquote+table,.natural table+table {
  margin-top: 35px;
}

.natural ol:not(:first-child),
.natural ul:not(:first-child),
.natural dl:not(:first-child),
.natural figure:not(:first-child) {
  display: block;
}
.natural p:not(:last-child),
.natural ol:not(:last-child),
.natural ul:not(:last-child),
.natural dl:not(:last-child),
.natural figure:not(:last-child) {
  display: block;
}


/* heading */
.natural h2 {
  margin-top: 60px;
  margin-bottom: 25px;
  font-size: var(--fz-h2-palmtop);
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-heading);
}
@media screen and (min-width: 768px) {
  .natural h2 {
    margin-top: 80px;
    margin-bottom: 45px;
    font-size: var(--fz-h2-desktop);
  }
}
.natural h2:first-child {
  margin-top: 0;
}
.natural h2:last-child {
  margin-bottom: 0;
}

.natural h3 {
  margin-top: 25px;
  margin-bottom: 20px;
  font-size: var(--fz-h3-palmtop);
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-heading);
}
@media screen and (min-width: 768px) {
  .natural h3 {
    margin-top: 55px;
    margin-bottom: 30px;
    font-size: var(--fz-h3-desktop);
  }
}
.natural h3:first-child {
  margin-top: 0;
}
.natural h3:last-child {
  margin-bottom: 0;
}

.natural h4 {
  margin-top: 30px;
  margin-bottom: 20px;
  color: var(--color-plane);
  font-size: var(--fz-h4-palmtop);
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-heading);
}
@media screen and (min-width: 768px) {
  .natural h4 {
    margin-top: 45px;
    margin-bottom: 25px;
    font-size: var(--fz-h4-desktop);
  }
}
.natural h4:first-child {
  margin-top: 0;
}
.natural h4:last-child {
  margin-bottom: 0;
}

.natural h5 {
  margin-top: 30px;
  margin-bottom: 20px;
  color: var(--color-plane);
  font-size: var(--fz-h5-palmtop);
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-heading);
}
@media screen and (min-width: 768px) {
  .natural h5 {
    font-size: var(--fz-h5-desktop);
  }
}
.natural h5:first-child {
  margin-top: 0;
}
.natural h5:last-child {
  margin-bottom: 0;
}

/* paragraph */
.natural p {
  margin-top: 20px;
  margin-bottom: 20px;
  color: var(--color-plane);
  font-size: var(--fz-root-palmtop);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-paragraph);
}
@media screen and (min-width: 768px) {
  .natural p {
    font-size: var(--fz-root-desktop);
  }
}
.natural p:first-child {
  margin-top: 0;
}
.natural p:last-child {
  margin-bottom: 0;
}

.natural--white p {
  color: #ffffff;
}

/* text decoration tags */
.natural strong {
  font-weight: 700;
}

.natural em {
  font-style: italic;
}

.natural span[style*="underline"] {
  background: linear-gradient(to bottom, #ffffff00 0%, #ffffff00 79%, var(--color-underline) 80%, var(--color-underline) 100%);
  text-decoration: none !important;
}

/* figure / caption / image */
.natural figure figcaption,
.natural caption {
  margin-top: 20px;
  font-size: 1.5rem;
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
}
@media screen and (max-width:767px) {
  .natural figure figcaption,
  .natural caption {
    font-size: 1.2rem;
    line-height: 1.9;
  }
}
.natural figure figcaption:first-child,
.natural caption:first-child {
  margin-top: 0
}

.natural figure {
  max-width: 750px;
  margin: 20px auto;
}
@media screen and (min-width:768px) {
  .natural figure {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
.natural figure:first-child {
  margin-top: 0;
}
.natural figure:last-child {
  margin-bottom: 0;
}

.natural img {
  max-width: 100%;
  min-height: 1px;
  vertical-align: top;
}
@media screen and (min-width:768px) {
  .natural img {
    max-width: 650px;
  }
}

/* link */
.natural a:not(.cta_button):not(.js-no-icon):not(.blog-contents__button) {
  display: inline;
  position: relative;
  color: var(--color-plane);
  text-decoration: underline;
  word-break: break-all;
  transition: .3s;
}
/* target="_blank" */
.natural a[target="_blank"] {
  padding-right: 25px;
}
.natural a[target="_blank"]::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 2px;
  bottom: 3px;
  width: 14px;
  height: 12px;
  background: url("https://45462627.hs-sites.com/hubfs/45462627/service.rodina.co.jp/assets/images/common/icon_blank_black.png") no-repeat;
  background-size: 14px 12px;
}

/* list */
.natural ul,
.natural ol {
  margin-top: 10px;
  margin-left: 1.3em;
}

.natural > ul,
.natural > ol,
.natural > .hs_cos_wrapper_type_rich_text > ul,
.natural > .hs_cos_wrapper_type_rich_text > ol {
  margin-top: 30px;
  margin-bottom: 30px;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .natural > ul,
  .natural > ol,
  .natural > .hs_cos_wrapper_type_rich_text > ul,
  .natural > .hs_cos_wrapper_type_rich_text > ol {
    margin-top: 35px;
    margin-bottom: 35px;
  }
}
.natural > ul:first-child,
.natural > ol:first-child,
.natural > .hs_cos_wrapper_type_rich_text > ul:first-child,
.natural > .hs_cos_wrapper_type_rich_text > ol:first-child {
  margin-top: 0;
}
.natural > ul:last-child,
.natural > ol:last-child,
.natural > .hs_cos_wrapper_type_rich_text > ul:last-child,
.natural > .hs_cos_wrapper_type_rich_text > ol:last-child {
  margin-bottom: 0;
}

.natural > ul li,
.natural > .hs_cos_wrapper_type_rich_text > ul li {
  position: relative;
  margin-top: calc(10px + var(--leading-trim));
  margin-bottom: calc(10px + var(--leading-trim));
  font-size: 1.4rem;
  font-weight: var(--fw-normal-jp);
  letter-spacing: var(--ls-root);
  line-height: 2;
}
.natural > ul li:first-child,
.natural > .hs_cos_wrapper_type_rich_text > ul li:first-child {
  margin-top: 0;
}
.natural > ul li:last-child,
.natural > .hs_cos_wrapper_type_rich_text > ul li:last-child {
  margin-bottom: 0;
}

/* normal list style */
.natural > ul:not([style*="list-style-type"]),
.natural > .hs_cos_wrapper_type_rich_text > ul:not([style*="list-style-type"]) {
  padding-left: 28px;
}
.natural > ul:not([style*="list-style-type"]) li::before,
.natural > .hs_cos_wrapper_type_rich_text > ul:not([style*="list-style-type"]) li::before {
  content: "";
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  top: 8px;
  left: -20px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color-point);
}

/* 番号付きリスト */
.natural ol {
  list-style-type: decimal;
}

.natural ol li {
  display: list-item;
  margin-top: 0;
  font-size: 1.5rem;
  font-weight: var(--fw-normal-jp);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-paragraph);
  list-style: inherit;
  color: var(--color-plane);
}
@media screen and (min-width: 768px) {
  .natural ol li {
    font-size: var(--fz-root-desktop);
  }
}

/* pre */
.natural pre {
  display: inline-block;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 20px 20px 18px;
  border: 1px solid #000;
  font-size: 1.4rem;
  font-weight: var(--fw-normal-jp);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-paragraph);
  white-space: normal;
  color: var(--color-plane);
}
@media screen and (min-width: 768px) {
  .natural pre {
    margin-top: 35px;
    margin-bottom: 35px;
    padding: 26px 35px 28px;
    font-size: var(--fz-root-desktop);
  }
}
.natural pre:first-child {
  margin-top: 0;
}
.natural pre:last-child {
  margin-bottom: 0;
}

/* table */
.natural .js-table-scroll {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
.natural .js-table-scroll:first-child {
  margin-top: 0;
}
.natural .js-table-scroll:last-child {
  margin-bottom: 0;
}

.natural table {
  width: 100%;
  height: auto !important;
  border: 1px solid #ddd !important;
}
@media screen and (min-width: 768px) {
  .natural table {
    max-width: 100%;
  }
}
.natural .js-table-scroll table {
  min-width: 610px;
}

.natural table tr {
  height: auto !important;
}
.natural table tr:not(:last-child) {
  border-bottom: 1px solid #ddd;
}
.natural table tr:first-of-type td {
  background-color: var(--color-bg);
}

.natural table td {
  height: auto !important;
  padding: 8px !important;
  border: 1px solid #ddd;
  font-size: var(--fz-root-palmtop);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-normal-text);
  text-align: center;
  vertical-align: middle;
}
.natural table tr:nth-of-type(odd):not(:first-of-type) td {
  background-color: #f2f2f2;
}

/* blockquote */
.natural blockquote {
  position: relative;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 20px 45px;
  border-top: 1px solid var(--color-pale);
  border-bottom: 1px solid var(--color-pale);
}
@media screen and (min-width: 768px) {
  .natural blockquote {
    margin-top: 40px;
    margin-bottom: 40px;
    padding: 25px 60px;
  }
}
.natural blockquote:first-child {
  margin-top: 0;
}
.natural blockquote:last-child {
  margin-bottom: 0;
}

.natural blockquote::before,
.natural blockquote::after {
  content: "";
  position: absolute;
  width: 18.65px;
  height: 13.09px;
  background: url("//45462627.fs1.hubspotusercontent-na1.net/hubfs/45462627/raw_assets/public/service_rodina_co_jp/01_JP/assets/images/common/ico_blockquote.svg") no-repeat;
  background-size: contain;
}
.natural blockquote::before {
  top: 16px;
  left: 16px;
}
.natural blockquote::after {
  top: 16px;
  right: 16px;
  transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
  .natural blockquote::before,
  .natural blockquote::after {
    position: absolute;
    width: 25.87px;
    height: 18.16px;
  }
  .natural blockquote::before {
    left: 20px;
  }
  .natural blockquote::after {
    right: 20px;
    transform: rotate(180deg);
  }
}

/* hr */
.natural hr {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .natural hr {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

/* サイト全体で共通のレイアウトスタイル */


/* エレベーター */

.elevator {
  margin-block: 20px;
}

.is-no-breadcrumb .elevator__nav {
  justify-content: flex-end;
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu {
  width: fit-content;
  font-size: 1.2rem;
  line-height: 1.5;
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu__item,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item {
  display: inline;
  float: none;
  padding: 0;
  color: #aaa;
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu__item:not(:first-child),
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item:not(:first-child) {
  position: relative;
  margin-left: 10px;
  padding-left: 10px;
}
@media (min-width: 1050px) {
  .elevator__nav__breadcrumb .hs-breadcrumb-menu__item:not(:first-child),
  .elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item:not(:first-child) {
    position: relative;
    margin-left: 10px;
    padding-left: 10px;
  }
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu__item:not(:first-child)::before,
.elevator__nav__breadcrumb .hs-breadcrumb-menu__item:not(:first-child)::after,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item:not(:first-child)::before,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item:not(:first-child)::after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  left: 0;
  width: 1px;
  height: 5px;
  background-color: #888;
  transform: skewX(45deg);
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu__item:not(:first-child)::before,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item:not(:first-child)::before {
  top: 3px;
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu__item:not(:first-child)::after,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item:not(:first-child)::after {
  top: 8px;
  transform: scale(1, -1) skewX(45deg);
}

/* HOME */
.elevator__nav__breadcrumb .hs-breadcrumb-menu__item:first-child .hs-breadcrumb-label,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item:first-child .hs-breadcrumb-label {
  display: inline-block;
  width: 15px;
  height: 14px;
  background: url("https://45462627.hs-sites.com/hubfs/45462627/service.rodina.co.jp/assets/images/common/icon_breadcrumb_home.png") no-repeat;
  background-size: contain;
  text-indent: -9999px;
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu__item__anchor,
.elevator__nav__breadcrumb .hs-breadcrumb-menu__item a.hs-breadcrumb-label,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item__anchor,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item a.hs-breadcrumb-label {
  color: #888;
  transition: opacity .3s;
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu__item__anchor__icon,
.elevator__nav__breadcrumb .hs-breadcrumb-menu__item a.hs-breadcrumb-label__icon,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item__anchor__icon,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item a.hs-breadcrumb-label__icon {
  display: block;
  position: absolute;
  top: calc(50% - 4px);
  left: 0;
  width: 6px;
  height: 8px;
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu__item__anchor:is(:hover, :focus),
.elevator__nav__breadcrumb .hs-breadcrumb-menu__item a.hs-breadcrumb-label:is(:hover, :focus),
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item__anchor:is(:hover, :focus),
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item a.hs-breadcrumb-label:is(:hover, :focus) {
  opacity: .6;
}

.elevator__nav__breadcrumb .hs-breadcrumb-menu__item .hs-breadcrumb-menu-divider,
.elevator__nav__breadcrumb .hs-breadcrumb-menu .hs-breadcrumb-menu-item .hs-breadcrumb-menu-divider {
  display: none;
}
/* === footer */
@media screen and (min-width: 1050px) {
  .footer {
    background-color: #f2f2f2;
  }
}

@media screen and (min-width: 1050px) {
  .footer__container {
    max-width: 1050px;
    margin-inline: auto;
    padding: 40px 15px 60px;
  }
}

/* === return to page-top */
.page-top__anchor {
  opacity: 0;
  display: none;
  position: fixed;
  right: 0;
  bottom: 45px;
  z-index: 5;
  width: 45px;
  height: 45px;
  background-color: var(--color-point);
  transition: opacity .15s ease-in-out;
}
@media screen and (min-width: 768px) {
  .page-top__anchor {
    bottom: 120px;
    width: 50px;
    height: 50px;
  }
}
.page-top__anchor::before {
  content: '';
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  right: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin-inline: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(-45deg);
}

.page-top__anchor__inner {
  display: none;
}

/* === copyright */
.footer__copyright {
  padding-block: 16px;
  background-color: #7bc8c3;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
@media screen and (min-width: 1050px) {
  .footer__copyright {
    padding-block: 21px;
    font-size: 1.4rem;
  }
}

/* テンプレート独自のスタイル */


/* blog */

/* === article / 記事詳細 */
.section.section--blog-post {
  margin-top: 0;
}

/* heading */
.blog-article__head__heading {
  margin-bottom: 15px;
  color: var(--color-point);
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: var(--ls-root);
  line-height: var(--lh-normal-text);
}
@media screen and (min-width: 768px) {
  .blog-article__head__heading {
    font-size: 2.8rem;
  }
}

@media screen and (min-width: 1050px) {
  .blog-article__head__body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
  }
}

/* taglist */
.blog-article__head__category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 5px;
}
@media screen and (min-width: 1050px) {
  .blog-article__head__category-list {
    gap: 10px;
    margin-bottom: 0;
  }
}
.blog-article__head__category-list__item__anchor {
  display: block;
  padding: 4px 10px;
  border: 1px solid var(--color-point);
  border-radius: 4px;
  background-color: var(--color-point);
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  transition: background-color .25s ease-in-out, color .25s ease-in-out;
}
/* hover & focus */
.blog-article__head__category-list__item__anchor:focus {
  background-color: #fff;
  color: var(--color-point);
}
@media screen and (min-width: 1050px) {
  .blog-article__head__category-list__item__anchor:hover {
    background-color: #fff;
    color: var(--color-point);
  }
}

/* post date */
.blog-article__head__date {
  margin-right: 5px;
  margin-bottom: 20px;
  font-size: 1.2rem;
  line-height: var(--lh-normal-text);
  text-align: right;
}
@media screen and (min-width: 1050px) {
  .blog-article__head__date {
    margin-bottom: 0;
  }
}

/* blog contents parts */
/* heading 2 */
.blog-article__body__content h2,
.blog-article__body__summary__body h2 {
  margin-top: calc(45px + var(--leading-trim));
  margin-bottom: calc(20px + var(--leading-trim));
  padding-bottom: 4px;
  border-bottom: 2px solid var(--color-point);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .blog-article__body__content h2,
  .blog-article__body__summary__body h2 {
    margin-top: calc(60px + var(--leading-trim));
    padding-bottom: 8px;
    font-size: 2.4rem;
  }
}
.blog-article__body__content h2:first-child,
.blog-article__body__summary__body h2:first-child {
  margin-top: 0;
}
.blog-article__body__content h2:last-child,
.blog-article__body__summary__body h2:last-child {
  margin-bottom: 0;
}

/* heading 3 */
.blog-article__body__content h3,
.blog-article__body__summary__body h3 {
  display: inline-block;
  position: relative;
  margin-top: calc(35px + var(--leading-trim));
  margin-bottom: calc(18px + var(--leading-trim));
  padding: 3px 12px;
  border-top: 2px solid var(--color-point);
  border-bottom: 2px solid var(--color-point);
  color: var(--color-plane);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: var(--lh-normal-text);
}
@media screen and (min-width: 768px) {
  .blog-article__body__content h3,
  .blog-article__body__summary__body h3 {
    margin-top: calc(45px + var(--leading-trim));
    padding: 5px 15px;
    font-size: 1.8rem;
  }
}
.blog-article__body__content h3:first-child,
.blog-article__body__summary__body h3:first-child {
  margin-top: 0;
}
.blog-article__body__content h3:last-child,
.blog-article__body__summary__body h3:last-child {
  margin-bottom: 0;
}

/* heading 4 */
.blog-article__body__content h4,
.blog-article__body__summary__body h4 {
  display: inline-block;
  margin-top: calc(35px + var(--leading-trim));
  margin-bottom: calc(15px + var(--leading-trim));
  padding: 5px 17px 3px;
  border: 2px solid var(--color-point);
  border-radius: 6px;
  color: var(--color-plane);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: var(--lh-normal-text);
}
@media screen and (min-width: 768px) {
  .blog-article__body__content h4,
  .blog-article__body__summary__body h4 {
    margin-top: calc(40px + var(--leading-trim));
    font-size: 1.6rem;
  }
}
.blog-article__body__content h4:first-child,
.blog-article__body__summary__body h4:first-child {
  margin-top: 0;
}
.blog-article__body__content h4:last-child,
.blog-article__body__summary__body h4:last-child {
  margin-bottom: 0;
}

/* heading 5 */
.blog-article__body__content h5,
.blog-article__body__summary__body h5 {
  margin-top: calc(35px + var(--leading-trim));
  margin-bottom: calc(12px + var(--leading-trim));
  color: var(--color-point);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: var(--lh-normal-text);
}
@media screen and (min-width: 768px) {
  .blog-article__body__content h5,
  .blog-article__body__summary__body h5 {
    margin-top: calc(40px + var(--leading-trim));
    font-size: 1.6rem;
  }
}
.blog-article__body__content h5:first-child,
.blog-article__body__summary__body h5:first-child {
  margin-top: 0;
}
.blog-article__body__content h5:last-child,
.blog-article__body__summary__body h5:last-child {
  margin-bottom: 0;
}

/* paragraph */
.blog-article__body__content p,
.blog-article__body__summary__body p {
  margin-top: 0;
  margin-bottom: 10px;
  line-height: var(--lh-normal-text);
}
.blog-article__body__content p:last-child,
.blog-article__body__summary__body p:last-child {
  margin-bottom: 0;
}
/* strong */
.blog-article__body__content strong,
.blog-article__body__summary__body strong {
  font-weight: 700;
}
/* em */
.blog-article__body__content em,
.blog-article__body__summary__body em {
  font-style: italic;
}

/* image */
.blog-article__body__content img,
.blog-article__body__summary__body img {
  display: inline-block;
  margin-right: 20px !important;
}
@media screen and (max-width: 1049px) {
  .blog-article__body__content img,
  .blog-article__body__summary__body img {
    display: block;
    float: none !important;
    width: 100%;
    max-width: 300px;
    margin: 0 auto 14px !important;
  }
  .blog-article__body__content img:last-child,
  .blog-article__body__summary__body img:last-child {
    margin-bottom: 0;
  }
}

/* cta button for blog */
.blog-contents__button {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 80%;
  max-width: 340px;
  margin: 20px auto;
  padding: 11px 40px 11px 30px;
  border-radius: 6px;
  background-color: #f4c51c;
  color: #000;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: var(--lh-normal-text);
  text-decoration: none;
  transition: opacity .25s ease-in-out;
}
/* hover & focus */
.blog-contents__button:focus {
  opacity: .7;
}
@media screen and (min-width: 1050px) {
  .blog-contents__button:hover {
    opacity: .7;
  }
}
.blog-contents__button:first-child {
  margin-top: 0;
}
.blog-contents__button:last-child {
  margin-bottom: 0;
}
/* icon */
.blog-contents__button::after {
  content: "";
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  top: 17px;
  right: 20px;
  width: 10px;
  height: 10px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  rotate: 45deg;
}

/* article / 記事詳細 === */


/* === article / 記事一覧 */

/* heading */
.blog-listing__page-title {
  margin-bottom: 15px;
  color: var(--color-point);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: var(--lh-normal-text);
  text-align: center;
}
@media screen and (min-width: 1050px) {
  .blog-listing__page-title {
    margin-top: 15px;
    margin-bottom: 25px;
    font-size: 2.8rem;
  }
}

/* lead */
.blog-listing__lead {
  margin-bottom: 20px;
}
.blog-listing__lead p {
  margin-bottom: 10px;
  line-height: var(--lh-normal-text);
}
.blog-listing__lead a {
  text-decoration: underline;
}

/* list item */
.blog-content__main__article-list__item + li {
  margin-top: 20px;
}

/* list item anchor */
.blog-content__main__article-list__item__anchor {
  display: grid;
  gap: 12px 20px;
  grid-template-columns: 3.3fr 2fr;
  padding: 16px 16px 11px;
  background-color: var(--color-bg);
}
@media screen and (min-width: 1050px) {
  .blog-content__main__article-list__item__anchor {
    gap: 12px 30px;
    grid-template-columns: 3.3fr 1fr;
    padding: 30px 30px 20px;
  }
}

/* list item head row */
.blog-content__main__article-list__item__row.is-head-row {
  grid-column: 1/2;
}

.blog-content__main__article-list__item__date {
  display: block;
  margin-top: 8px;
  color: #666;
  font-family: var(--font-default);
  font-size: 1.2rem;
  font-weight: var(--fw-normal-en);
}
@media screen and (min-width: 1050px) {
  .blog-content__main__article-list__item__date {
    margin-top: 10px;
    font-size: 1.4rem;
  }
}

.blog-content__main__article-list__item__title {
  font-size: 1.6rem;
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
  line-height: 1.1;
}
@media screen and (min-width: 1050px) {
  .blog-content__main__article-list__item__title {
    font-size: 2.2rem;
  }
}

/* list item body row */
.blog-content__main__article-list__item__row.is-body-row {
  grid-column: 1/3;
  grid-row: 2/3;
}
@media screen and (min-width: 768px) {
  .blog-content__main__article-list__item__row.is-body-row {
    grid-column: auto;
    margin-right: 20px;
  }
}

/* blog list lead */
.blog-content__main__article-list__item__lead {
  line-height: var(--lh-normal-text);
}
.blog-content__main__article-list__item__lead .more-text {
  text-decoration: underline;
}

/* blog list taglist */
.blog-content__main__article-list__item__category-list {
  margin-top: 10px;
}
.blog-content__main__article-list__item__category-list__item {
  display: inline-block;
  margin: 0 2px 5px 0;
}
.blog-content__main__article-list__item__category-list__item__anchor {
  display: block;
  padding: 3px 12px;
  border-radius: 4px;
  background-color: var(--color-point);
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: .05em;
  line-height: var(--lh-normal-text);
  text-align: center;
}
@media screen and (min-width: 1050px) {
  .blog-content__main__article-list__item__category-list__item {
    margin: 0 4px 10px 0;
  }
  .blog-content__main__article-list__item__category-list__item__anchor {
    padding: 5px 13px 3px;
    font-size: 1.4rem;
  }
}

/* list item thmbnail row */
.blog-content__main__article-list__item__row.is-thumb-row {
  grid-column: 2/3;
  grid-row: 1/2;
}
@media screen and (min-width: 768px) {
  .blog-content__main__article-list__item__row.is-thumb-row {
    grid-row: 1/3;
  }
}

.blog-content__main__article-list__item__image {
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.blog-content__main__article-list__item__image::before {
  content: "";
  display: block;
  padding-bottom: 56.25%;
}


/* === blog pagination */
.blog-content__main__pager {
  display: flex;
  align-items: center;
  gap: 5px;
  justify-content: center;
  margin-block: 20px;
}

.blog-content__main__pager__item.is-prev {
  margin-right: 5px;
}
.blog-content__main__pager__item.is-next {
  margin-left: 5px;
}

.blog-content__main__pager__item__anchor {
  display: block;
  padding: 13px 17px;
  border-radius: 3px;
  background-color: var(--color-pale);
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: .1em;
  transition: background-color .7s;
}
/* hover & focus */
@media screen and (min-width: 1050px) {
  .blog-content__main__pager__item__anchor:hover {
    background-color: var(--color-plane);
  }
}
/* is-current */
.blog-content__main__pager__item.is-current .blog-content__main__pager__item__anchor {
  background-color: var(--color-plane);
}


/* == blog aside */
.blog-content__aside__keyword {
  margin-top: 40px;
  padding: 12px 16px 16px;
  background-color: var(--color-bg);
}
.blog-content__aside__keyword__heading {
  margin-bottom: 4px;
  margin-left: 10px;
  color: var(--color-point);
  font-weight: 700;
}
@media screen and (min-width: 1050px) {
  .blog-content__aside__keyword__heading {
    font-size: 1.8rem;
  }
}
.blog-content__aside__keyword__heading__inner {
  display: inline-block;
  min-height: 14px;
  padding: 3px 25px 3px 0;
  background: url("https://45462627.hs-sites.com/hubfs/45462627/service.rodina.co.jp/assets/images/common/key.png") no-repeat 100% 50%;
  background-size: 19px 19px;
}

.blog-content__aside__keyword__list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 10px;
  background-color: #fff;
}
@media screen and (min-width: 1050px) {
  .blog-content__aside__keyword__list {
    gap: 10px;
    padding: 16px;
  }
}

.blog-content__aside__keyword__list__item__anchor {
  box-sizing: border-box;
  display: block;
  padding: 4px 14px;
  border: 1px solid var(--color-point);
  border-radius: 4px;
  background-color: var(--color-point);
  color: #fff;
  font-size: 1.2rem;
  line-height: var(--lh-normal-text);
  text-align: center;
  transition: background-color .25s ease-in-out, color .25s ease-in-out;
}
/* hover & focus */
.blog-content__aside__keyword__list__item__anchor:focus {
  background-color: #fff;
  color: var(--color-point);
}
@media screen and (min-width: 1050px) {
  .blog-content__aside__keyword__list__item__anchor {
    font-size: 1.4rem;
  }
  .blog-content__aside__keyword__list__item__anchor:hover {
    background-color: #fff;
    color: var(--color-point);
  }
}

/* article / 記事一覧 === */
/* lp */

/* === header no navigation */
.header--no-nav {
  display: flex;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 8px 0;
  background-color: #fff;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
@media screen and (min-width: 1050px) {
  .header--no-nav {
    position: absolute;
    padding: 18px 0 0;
    box-shadow: none;
  }
  /* fixed header */
  .header--no-nav.is-fixed {
    position: fixed;
  }
}

.header--no-nav .header__logo a {
  display: block;
  padding: 6.5px 0;
}
.header--no-nav .header__logo img {
  width: 114px !important;
}
@media screen and (min-width: 1050px) {
  .header--no-nav .header__logo img {
    width: 153px !important;
  }
}

/* container */
.content--lp .container {
  padding-inline: 20px;
}
@media screen and (min-width: 768px) {
  .content--lp .container {
    padding-inline: 50px;
  }
}
@media screen and (min-width: 1050px) {
  .content--lp .container {
    padding-inline: 100px;
  }
}

/* === Offset HubSpot default style */

/* 複数カラム時（MAX:3カラム） */
.lp-form form :is(.form-columns-2, .form-columns-3) .hs-form-field {
  float: none;
  width: 100%;
}

/* .input */
.lp-form form .hs-form-field > .input {
  margin-right: 0;
}
.lp-form form .hs-form-field > .input .hs-input:not(input[type="checkbox"], input[type="radio"]) {
  float: none;
  width: 100% !important;
}
.lp-form form .hs-form-field.hs-fieldtype-booleancheckbox .input input[type="checkbox"] {
  float: none;
}
.lp-form form .legal-consent-container .hs-form-booleancheckbox-display input {
  float: none;
}
/* 電話番号＋国別コード時のSP表示 */
@media (max-device-width: 480px) and (min-device-width: 320px), (max-width: 400px) {
  .lp-form form > .hs-phone > .input > .hs-fieldtype-intl-phone.hs-input > select.hs-input {
    width: 100% !important;
  }
  .lp-form form > .hs-phone > .input > .hs-fieldtype-intl-phone.hs-input > input.hs-input {
    width: 100% !important;
  }
}

/* Offset HubSpot default style === */


/* === Original form style */

main.content--lp {
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  main.content--lp {
    padding-bottom: 120px;
  }
}

/* === variables */
.lp-form {
  --select-max-width: 350px; /* select要素の最大幅 */
  --line-margin-top: 40px; /* 行のmargin-top */
  --line-margin-top-sp: 30px; /* 行のmargin-top(SP) */
  --input-error-color: #CB0303; /* エラーテキストの文字色 */
}

/* === wrapper */
.content--lp .dnd-section-color {
  margin-bottom: 60px;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .content--lp .dnd-section-color {
    margin-bottom: 80px;
    padding-bottom: 0;
  }
}

.lp-form {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .lp-form {
    margin-top: 50px;
  }
}

/* === form parts */
/* form fieldset (フォームの行) */
.lp-form form fieldset {
  max-width: none;
}
.lp-form form fieldset:not(:first-child) {
  margin-top: var(--line-margin-top-sp);
}
@media screen and (min-width: 768px) {
  .lp-form form fieldset:not(:first-child) {
    margin-top: var(--line-margin-top);
  }
}

/* form column */
.lp-form form .hs-form-field:not(:first-child),
.lp-form form .hs-dependent-field {
  margin-top: var(--line-margin-top-sp);
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field:not(:first-child),
  .lp-form form .hs-dependent-field {
    margin-top: var(--line-margin-top);
  }
  /* 「1つのチェックボックス」フィールド以外 */
  .lp-form form .hs-form-field:not(.hs-fieldtype-booleancheckbox) {
    display: grid;
    grid-template-columns: 205px 1fr;
    column-gap: 40px;
  }
}

/* form field label */
/* 「1つのチェックボックス」フィールド以外 */
.lp-form form label {
  cursor: pointer;
}

.lp-form form .hs-form-field:not(.hs-fieldtype-booleancheckbox) > label {
  box-sizing: border-box;
  display: block;
  grid-row-start: 1;
  grid-row-end: 10;
  height: fit-content;
  padding-left: 12px;
  border-left: 3px solid var(--color-pale);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field:not(.hs-fieldtype-booleancheckbox) > label {
    font-size: 1.6rem;
  }
}

/* contact property : require */
.lp-form form .hs-form-field label .hs-form-required {
  color: var(--input-error-color);
}

/* help text */
.lp-form form .hs-form-field .hs-field-desc {
  width: auto;
  margin-top: 5px;
  color: var(--color-plane);
  font-size: 1.3rem;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field .hs-field-desc {
    position: relative;
    margin-top: -4px;
    margin-bottom: 5px;
    font-size: 1.6rem;
  }
}


/* === from input  */

/* form input : parent div element */
/* 「1つのチェックボックス」フィールド以外 */
.lp-form form .hs-form-field:not(.hs-fieldtype-booleancheckbox) > .input {
  display: block;
  margin-top: 15px;
}
/* ヘルプテキストの入力がある場合 */
.lp-form form .hs-form-field .hs-field-desc[style="display: block;"] + .input {
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field:not(.hs-fieldtype-booleancheckbox) > .input {
    margin-top: 0;
  }
}

/* form input : parts [basic] */
.lp-form form .hs-form-field .input :is(input[type="text"], input[type="tel"], input[type="email"], input[type="number"], textarea) {
  box-sizing: border-box;
  width: 100% !important;
  padding: 12px 14px 11px;
  border: 1px solid var(--color-pale);
  border-radius: 5px;
  background: none transparent;
  color: var(--color-plane);;
  font-size: 1.3rem;
  letter-spacing: .1em;
  vertical-align: middle;
  appearance: none;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field .input :is(input[type="text"], input[type="tel"], input[type="email"], input[type="number"], textarea) {
    padding: 15px 14px 14px;
    font-size: 1.6rem;
  }
}
/* checkbox, radio button */
@media screen and (max-width: 767px) {
  .lp-form form .hs-form-field .input :is(input[type="checkbox"], input[type="radio"]) {
    position: relative;
    top: 2px;
  }
}
/* placeholder */
.lp-form form .hs-form-field .input :is(input[type="text"], input[type="tel"], input[type="email"], input[type="number"], textarea)::placeholder {
  color: var(--color-plane);
  opacity: .6;
}

/* contact property : parts [basic] on error */
.lp-form form .hs-form-field .input :is(input[type="text"], input[type="tel"], input[type="email"], input[type="number"], textarea).error {
  border-color: var(--input-error-color);
}

/* form input : form parts [number] */
.lp-form form .hs-form-field .input[type="number"] {
  max-width: var(--select-max-width);
}

/* form input : form parts [file] */
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field:not(.hs-fieldtype-booleancheckbox) > .input:has(input[type="file"]) {
    margin-top: 5px;
  }
}

/* form input : parts [radio button] */
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field.hs-fieldtype-radio .input .inputs-list {
    display: flex;
    flex-wrap: wrap;
  }
  .lp-form form .hs-form-field.hs-fieldtype-radio .input .inputs-list .hs-form-radio {
    display: inline-block;
  }
  .lp-form form .hs-form-field.hs-fieldtype-radio .input .inputs-list .hs-form-radio:not(:last-child) {
    margin-right: 30px;
  }
}

.lp-form form .hs-form-field.hs-fieldtype-radio .input .inputs-list .hs-form-radio label span {
  padding-left: 7px;
  color: var(--color-plane);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .lp-form form .hs-form-field.hs-fieldtype-radio .input .inputs-list .hs-form-radio label span {
    font-size: 1.3rem;
  }
}

/* form input : parts [checkbox] */
.lp-form form .hs-form-field.hs-fieldtype-checkbox .input .inputs-list {
  display: flex;
  flex-wrap: wrap;
}
.lp-form form .hs-form-field.hs-fieldtype-checkbox .input .inputs-list .hs-form-checkbox {
  display: inline-block;
}
.lp-form form .hs-form-field.hs-fieldtype-checkbox .input .inputs-list .hs-form-checkbox:not(:last-child) {
  margin-right: 16px;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field.hs-fieldtype-checkbox .input .inputs-list .hs-form-checkbox:not(:last-child) {
    margin-right: 30px;
  }
}

.lp-form form .hs-form-field .input .hs-form-checkbox span {
  padding-left: 5px;
  color: var(--color-plane);
  font-size: 1.3rem;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field .input .hs-form-checkbox span {
    font-size: 1.6rem;
  }
}

/* form input : boolean checkbox (1つのチェックボックス、個人情報チェックボックス) */
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field.hs-fieldtype-booleancheckbox {
    text-align: center;
  }
}
/* SPのみ左揃えのため、改行した際に行頭が揃うようにする */
@media screen and (max-width: 767px) {
  .lp-form form .hs-form-field.hs-fieldtype-booleancheckbox .hs-form-booleancheckbox  > label {
    display: flex;
    align-items: flex-start;
  }
}

.lp-form form .hs-form-field.hs-fieldtype-booleancheckbox .input label > span {
  display: inline;
  margin-left: 0;
  padding-left: 5px;
  color: var(--color-plane);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: var(--lh-normal-text);
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field.hs-fieldtype-booleancheckbox .input label > span {
    font-size: 1.6rem;
    padding-left: 8px;
  }
}
/* 出現条件不明だが一応残す */
.lp-form form .hs-form-field.hs-fieldtype-booleancheckbox .input label > span .aInput {
  text-decoration: underline;
}

/* contact property : form parts (textarea) */
.lp-form form .hs-form-field .input textarea {
  min-height: 120px;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field .input textarea {
    min-height: 200px;
  }
}

/* form input : form parts [select] */
.lp-form form .hs-form-field.hs-fieldtype-select .input {
  position: relative;
  max-width: var(--select-max-width);
}

.lp-form form .hs-form-field.hs-fieldtype-select > .input::before {
  content: '';
  position: absolute;
  top: 18px;
  right: 15px;
  width: 10px;
  height: 6px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCA2Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzBmMGYwZjt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IuODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIj48ZyBpZD0i44Os44Kk44Ok44O8XzEtMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSI+PHBhdGggaWQ9IuWQiOS9k18xNCIgZGF0YS1uYW1lPSLlkIjkvZMgMTQiIGNsYXNzPSJjbHMtMSIgZD0iTTUsNGw1LTRWMkw1LDZaTTAsMlYwTDUsNFY2WiIvPjwvZz48L2c+PC9zdmc+");
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field.hs-fieldtype-select > .input::before {
    top: 23px;
    right: 20px;
  }
}

.lp-form form .hs-form-field.hs-fieldtype-select > .input select {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-height: 40px;
  padding: 11px 30px 11px 14px;
  border: 1px solid var(--color-pale);
  border-radius: 5px;
  color: var(--color-plane);
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.5;
  appearance: none;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field.hs-fieldtype-select > .input select {
    max-height: 50px;
    padding: 12px 40px 14px 14px;
    font-size: 1.6rem;
    font-weight: 400;
  }
}

/* form input : form parts [select] (電話番号の国別コードドロップダウン) */
.lp-form form .hs-form-field .hs-fieldtype-intl-phone {
  position: relative;
  max-width: 515px;
}
@media screen and (min-width: 1050px) {
  .lp-form form .hs-form-field .hs-fieldtype-intl-phone {
    max-width: none;
  }
}

.lp-form form .hs-form-field .hs-fieldtype-intl-phone::before {
  content: '';
  position: absolute;
  top: 18px;
  left: calc(100% - 30px);
  z-index: 1;
  width: 10px;
  height: 6px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMCA2Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzBmMGYwZjt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IuODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIj48ZyBpZD0i44Os44Kk44Ok44O8XzEtMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMSI+PHBhdGggaWQ9IuWQiOS9k18xNCIgZGF0YS1uYW1lPSLlkIjkvZMgMTQiIGNsYXNzPSJjbHMtMSIgZD0iTTUsNGw1LTRWMkw1LDZaTTAsMlYwTDUsNFY2WiIvPjwvZz48L2c+PC9zdmc+");
  background-repeat: no-repeat;
}
@media screen and (min-width: 1050px) {
  .lp-form form .hs-form-field .hs-fieldtype-intl-phone::before {
    left: calc(515px - 30px);
  }
}

.lp-form form .hs-form-field .hs-fieldtype-intl-phone select {
  display: block;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  max-width: 515px;
  max-height: 40px;
  margin-bottom: 13px;
  padding: 8px 30px 11px 14px;
  border: 1px solid var(--color-pale);
  border-radius: 5px;
  color: var(--color-plane);
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.5;
  appearance: none;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-form-field .hs-fieldtype-intl-phone select {
    max-height: 40px;
    margin-bottom: 15px;
    padding: 9px 40px 5px 15px;
    font-size: 1.5rem;
  }
}

/* from input (parent div) === */


/* error message */
.lp-form form .hs-error-msgs {
  width: 100%;
  margin-top: 5px;
  color: var(--input-error-color);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .lp-form form .hs-error-msgs {
    font-size: 1.3rem;
  }
}

/* === date picker (カレンダー) */

/* 本体 */
.lp-form form .hs-form-field.hs-fieldtype-date .input .hs-dateinput .fn-date-picker.pika-single {
  border: 1px solid var(--color-pale);
}
/* 月/年 部分 */
.lp-form form .fn-date-picker .pika-label {
  color: var(--color-plane);
  font-size: 1.5rem;
  font-weight: 400;
}
/* 前月/翌月ボタン */
.lp-form form .fn-date-picker .pika-next,
.lp-form form .fn-date-picker .pika-prev {
  position: absolute;
  background-size: inherit;
  opacity: 1;
  transition: .3s;
}
/* 前月 */
.lp-form form .fn-date-picker .pika-prev {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgNiAxMiI+CiAgPHBhdGggaWQ9IuWkmuinkuW9ol82MyIgZGF0YS1uYW1lPSLlpJrop5LlvaIgNjMiIGQ9Ik02LDBsNiw2SDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDEyKSByb3RhdGUoLTkwKSIgZmlsbD0iI2JhMDAxNiIvPgo8L3N2Zz4=');
  left: 0;
  top: 0;
}
/* 翌月 */
.lp-form form .fn-date-picker .pika-next {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2IiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgNiAxMiI+CiAgPHBhdGggaWQ9IuWkmuinkuW9ol82MiIgZGF0YS1uYW1lPSLlpJrop5LlvaIgNjIiIGQ9Ik02LDBsNiw2SDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2KSByb3RhdGUoOTApIiBmaWxsPSIjYmEwMDE2Ii8+Cjwvc3ZnPg==');
  right: 0;
  top: 0;
}
/* 曜日 */
.lp-form form .fn-date-picker .pika-table th {
  color: var(--color-plane);
  font-size: 1.2rem;
  font-weight: 500;
}
.lp-form form .fn-date-picker .pika-table th abbr {
  text-decoration: none;
  cursor: inherit;
}
/* 日ボタン */
.lp-form form .fn-date-picker .pika-button {
  border-radius: 2px;
  background-color: var(--color-bg);
  color: var(--color-plane);
  font-size: 1.3rem;
  font-weight: 500;
}
@media screen and (min-width: 1050px) {
  .lp-form form .fn-date-picker .pika-button:is(:hover, :focus) {
    background: #909090 !important;
  }
}
/* 今日の日付 */
.lp-form form .fn-date-picker .is-today .pika-button {
  color: var(--color-sub);
}
/* 選択した日付 */
.lp-form form .fn-date-picker .is-selected .pika-button {
  background: var(--color-sub);
  box-shadow: none;
  color: #fff;
}

/* date picker (カレンダー) === */


/* === データのプライバシーと同意 */
.lp-form form .legal-consent-container {
  margin-top: var(--line-margin-top-sp);
}
@media screen and (min-width: 768px) {
  .lp-form form .legal-consent-container {
    margin-top: var(--line-margin-top);
  }
}

/* コミュニケーション同意/プライバシー/処理同意 テキスト */
.lp-form form .legal-consent-container .hs-richtext {
  color: var(--color-plane);
  font-size: 1.3rem;
  letter-spacing: .1em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .lp-form form .legal-consent-container .hs-richtext {
    font-size: 1.4rem;
  }
}
.lp-form form .legal-consent-container .hs-richtext:not(:first-child) {
  margin-top: calc(20px + var(--leading-trim));
}
.lp-form form .legal-consent-container .hs-richtext:not(:last-child) {
  margin-bottom: calc(20px + var(--leading-trim));
}
/* プライバシー/処理同意 テキストが存在する場合の余白 */
.lp-form form .legal-consent-container div:has(.hs-dependent-field) + .hs-richtext {
  margin-top: calc(30px + var(--leading-trim));
}
@media screen and (min-width: 768px) {
  .lp-form form .legal-consent-container div:has(.hs-dependent-field) + .hs-richtext {
    margin-top: calc(40px + var(--leading-trim));
  }
}

/* strong */
.lp-form form .legal-consent-container .hs-richtext strong {
  font-weight: 700;
}

/* link */
.lp-form form .legal-consent-container .hs-richtext a {
  display: inline;
  position: relative;
  border-bottom: 1px solid #E8D815;
  text-decoration: none;
  transition: color .3s;
}
@media screen and (min-width: 1050px) {
  .lp-form form .legal-consent-container .hs-richtext a:is(:hover, :focus) {
    color: var(--color-point);
  }
}
/* 外部リンク */
.lp-form form .legal-consent-container .hs-richtext a[target="_blank"] {
  padding-left: 15px;
}
@media screen and (min-width: 768px) {
  .lp-form form .legal-consent-container .hs-richtext a[target="_blank"] {
    padding-left: 20px;
  }
}
/* 外部リンクアイコン */
.lp-form form .legal-consent-container .hs-richtext a[target="_blank"]::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMS45NjkiIGhlaWdodD0iMTEuOTY5IiB2aWV3Qm94PSIwIDAgMTEuOTY5IDExLjk2OSI+CiAgPHBhdGggaWQ9IuODkeOCuV82NDIxIiBkYXRhLW5hbWU9IuODkeOCuSA2NDIxIiBkPSJNLTc4OC41MjksMGgtNi4zNDJhLjUyOC41MjgsMCwwLDAtLjUyOC41MjlWMi4xNjdoLTMuODdhLjcuNywwLDAsMC0uNy43djguNGEuNy43LDAsMCwwLC43LjdoOC40YS43LjcsMCwwLDAsLjctLjdWNy40aDEuNjM4QS41MjguNTI4LDAsMCwwLTc4OCw2Ljg3MVYuNTI5QS41MjkuNTI5LDAsMCwwLTc4OC41MjksMFptLTIuNjM4LDEwLjk2OWgtNy44di03LjhoMy41N3YzLjdhLjUyNy41MjcsMCwwLDAsLjUyOC41MjhoMy43Wk0tNzg5LDYuNGgtNS40VjFoNS40WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzk5Ljk2OSkiIGZpbGw9IiM0MTQxNDEiLz4KPC9zdmc+Cg==") no-repeat center;
  background-size: cover;
}

/* 個人情報の取扱について同意する チェックボックス部分 */
.lp-form form .legal-consent-container .field.hs-form-field {
  margin-bottom: 0;
}

/* error massage */
.lp-form .legal-consent-container .hs-error-msgs label {
  color: var(--input-error-color);
}

/* データのプライバシーと同意 === */


/* === submit button */

.lp-form form .hs-submit {
  position: relative;
  margin-top: 30px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-submit {
    margin-top: 40px;
  }
}

/* arrow icon */
.lp-form form .hs-submit .actions {
  display: inline-block;
  position: relative;
}
.lp-form form .hs-submit .actions::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 1;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-submit .actions::after {
    width: 8px;
    height: 8px;
  }
}

.lp-form form .hs-submit .actions input {
  appearance: none;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  z-index: 1;
  min-width: 175px;
  padding: 8px 35px;
  border: none;
  border-radius: 6px;
  background-color: var(--color-point);
  color: #fff;
  font-family: var(--font-button);
  font-size: 1.4rem;
  font-weight: var(--fw-normal-jp);
  letter-spacing: .15em;
  line-height: var(--lh-button);
  text-align: center;
  word-break: break-all;
  cursor: pointer;
  transition: opacity .3s ease;
}
@media screen and (min-width: 768px) {
  .lp-form form .hs-submit .actions input {
    min-width: 200px;
    padding: 10px 35px;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1050px) {
  .lp-form form .hs-submit .actions input:is(:hover, :focus) {
    opacity: .7;
  }
}

/* arrow icon */
.lp-form form .hs-submit .actions .hs-button__icon {
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.lp-form form .hs-submit .actions .original-link-icon__svg__path {
  fill: var(--color-point);
}
/* :focus & :hover */
@media screen and (min-width: 1050px) {
  .lp-form form .hs-submit .actions input:is(:hover, :focus) + .original-link-icon .original-link-icon__svg {
    right: 0;
  }
  .lp-form form .hs-submit .actions input:is(:hover, :focus) + .original-link-icon .original-link-icon__svg__path {
    fill: #fff;
  }
}
/* submit button === */

/* Original form style === */


/*  */
.lp-form form .checkbox-title {
  display: inline-block;
  float: left;
  width: 100%;
  padding-top: 9px;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2em;
  border-top: 1px solid var(--color-main);
}
@media screen and (min-width: 768px) {
  .lp-form form .checkbox-title {
    font-size: 1.6rem;
    width: 200px;
  }
}

.hs_error_rollup {
  margin-top: 30px;
  color: var(--input-error-color);
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .hs_error_rollup {
    font-size: 1.5rem;
  }
}

/* ステップ方式 */

/* 見出し2 */
.content--lp .heading-2 {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .content--lp .heading-2 {
    font-size: 2.8rem;
  }
}


/* contener */
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Step {
  justify-content: center;
  font-family: var(--font-default);
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Step .hsfc-Step__Content {
  padding: 0;
  max-width: 600px;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Step .hsfc-Step__Content>:not(:last-child):has(>:not(div[style*="display: none"])):has(>:not(input[type=hidden])) {
  margin-top: 0;
  margin-bottom: 30px;
}

/* 個人情報取扱い下線 */
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-RichText a {
  border-bottom: solid 1px var(--color-plane);
}
/************/

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-TextField>*:not(:last-child) {
  margin-bottom: 22px;
  font-size: 2rem;
  letter-spacing: 0;
  font-weight: 700;
  color: #505050;
  font-family: var(--font-default);
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-EmailField>*:not(:last-child) {
  font-size: 2rem;
  margin-bottom: 22px;
  font-family: var(--font-default);
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-EmailField .hsfc-FieldLabel {
  font-weight: 700;
  color: #505050;
  font-family: var(--font-default);
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Step__Content .hsfc-Row .hsfc-FieldDescription {
  color: var(--color-plane);
  font-size: 1.4rem;
  line-height: 1.4;
  font-weight: 400;
  margin-bottom: 10px;
  font-family: var(--font-default);
}

/* 入力フィールド */
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-TextInput {
  background-color: #ffffff;
  border-color: #cccccc;
  color: #757575;
  padding: 14px 10px;
  font-size: 1.6rem;
  font-family: var(--font-default);
  font-weight: 400;
  border-radius: 6px;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  [data-hsfc-id=Renderer].hsfc-Renderer .hsfc-TextInput {
    padding: 18px 10px;
  }
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-TextInput::placeholder {
  opacity: 1;
  color: #757575;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Step .hsfc-TextInput {
  margin-bottom: 10px;
  color: #757575;
  font-family: var(--font-default);
  font-size: 1.6rem;
  font-weight: 400;
}

/* バーの部分 */
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-ProgressBar__Text {
  color: var(--color-plane);
  font-family: var(--font-default);
  font-size: 1.6rem;
  margin-bottom: 8px;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-ProgressBar__Progress>div {
  background-color: #7bc8c3;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-ProgressBar__Progress {
  background-color: rgba(187, 187, 187, 0.4);
}

/* ボタンの部分 */
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Button {
  background-color: var(--color-sub);
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Step:nth-child(n+2) .hsfc-Button:first-child {
  background-color: #7BC8C3;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Button::before {
  content: "";
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 10px;
  height: 17px;
  right: 40px;
  background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4LjgyOCIgaGVpZ2h0PSIxNC44MjgiIHZpZXdCb3g9IjAgMCA4LjgyOCAxNC44MjgiPgogIDxnIGlkPSLjgrDjg6vjg7zjg5dfNDEwNDgiIGRhdGEtbmFtZT0i44Kw44Or44O844OXIDQxMDQ4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDM3LjU4NSAtMTk3OC41ODUpIj4KICAgIDxwYXRoIGlkPSLjg5HjgrlfMTExNTMiIGRhdGEtbmFtZT0i44OR44K5IDExMTUzIiBkPSJNLTE1NTc0LjU1My04MzYzLjE2Mmw2LDYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MDEzLjU1MiAxMDM0My4xNjEpIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS13aWR0aD0iMiIvPgogICAgPHBhdGggaWQ9IuODkeOCuV8xMTE1NCIgZGF0YS1uYW1lPSLjg5HjgrkgMTExNTQiIGQ9Ik0tMTU1NzQuNTUzLTgzNTcuMTYybDYtNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTYwMTMuNTUyIDEwMzQ5LjE2MSkiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgPC9nPgo8L3N2Zz4K');
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-NavigationRow__Buttons>* {
  position: relative;
  max-width: 250px;
  min-width: 250px;
  padding: 18.5px 45px;
  font-weight: 400;
  font-size: 1.8rem;
  font-family: var(--font-default);
  border-radius: 6px;
  transition: opacity .2s;
}
@media screen and (min-width: 768px) {
  [data-hsfc-id=Renderer].hsfc-Renderer .hsfc-NavigationRow__Buttons>* {
    max-width: inherit;
    min-width: 250px;
  }
}
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Step:not(:first-child) .hsfc-Button:first-child::before {
  transform: rotate(180deg);
  right: inherit;
  left: 40px;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Step button[type="submit"]::before {
  content: none;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-NavigationRow__Buttons {
  flex-direction: column-reverse;[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-RadioFieldGroup__Options label
}
@media screen and (min-width: 768px) {
  [data-hsfc-id=Renderer].hsfc-Renderer .hsfc-NavigationRow__Buttons {
    flex-direction: inherit;
    justify-content: center;
    gap: 60px;
  }
}

.content--lp .link-button__anchor {
  background-color: var(--color-sub);
  max-width: 250px;
  min-width: 250px;
  padding: 18.5px 30px;
  display: flex;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 400;
}

.content--lp .link-button__anchor .link-button__anchor__icon {
  display: none;
}

.content--lp .section-button__list.rich-button-center {
  text-align: center;
  justify-content: center;
  display: flex;
}
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Button:not([disabled]):hover {
  transform: translateY(0);
  filter: brightness(100%);
  opacity: .6;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-NavigationRow__Buttons:has(>*:only-child) {
  justify-content: center;
}

/* ドロップダウン */

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-DropdownField>*:not(:last-child) {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 22px;
  font-family: var(--font-default);
  color: #505050;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-Step__Content .hsfc-DropdownInput {
  margin-bottom: 0px;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-DropdownOptions {
  border-radius: 6px;
  background-color: #ffffff;
  border-color: #cccccc;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-DropdownOptions__List__ListItem {
  background-color: #ffffff;
  font-size: 1.5rem;
  font-family: var(--font-default);
  transition: background-color .1s ease;
  padding: 10px 34px;
  color: #505050;
  font-weight: 400;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-DropdownOptions__List__ListItem:hover {
  background-color: #F0F9F8;
  filter: inherit;
}


[data-hsfc-id=Renderer] .hsfc-Step .hsfc-Step__Content>*:not(:last-child):has(>*:not(div[style*="display: none"])):has(>*:not(input[type=hidden])) {
  margin-top: 50px;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-DropdownOptions__List__ListItem--selected {
  filter: inherit;
  background-color: #F0F9F8;
}

/* ドロップダウンアイコン */
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-DropdownInput__Caret>span {
  position: relative;
  border: none;
}

[data-hsfc-id=Renderer] .hsfc-DropdownInput__Caret>span::before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
  position: absolute;
  width: 12.5px;
  height: 7px;
  right: 0px;
  top: -8px;
  background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMi45NDQiIGhlaWdodD0iNy44ODYiIHZpZXdCb3g9IjAgMCAxMi45NDQgNy44ODYiPgogIDxwYXRoIGlkPSLjg5HjgrlfMTExNzkiIGRhdGEtbmFtZT0i44OR44K5IDExMTc5IiBkPSJNLTEwMTI0LjUzNS0xMTMyNy4xbDUuNzY1LDUuNzY1LDUuNzY2LTUuNzY1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMDEyNS4yNDIgMTEzMjcuODEyKSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNTA1MDUwIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+Cg==');
}

/* テキストフィールド複数行 */
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-TextareaField>*:not(:last-child) {
  font-size: 2rem;
  margin-bottom: 30px;
  font-family: var(--font-default);
  color: #505050;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-TextareaInput {
  border-color: #cccccc;
  background-color: #ffffff;
  min-height: 150px;
  border-radius: 6px;
}

/* ラジオボタン */
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-RadioInput:checked:after {
  mask-size: 110%;
  background-color: #007AFF;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-RadioInput {
  padding: 5.5px;
  border-color: #767676;
  background-color: #ffffff;
  border-width: 1px;
}
@media screen and (min-width: 768px) {
  [data-hsfc-id=Renderer].hsfc-Renderer .hsfc-RadioInput {
    transform: translateY(-2px);
  }
}
[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-RadioFieldGroup__Options label {
  font-weight: 700;
  font-size: 1.8rem;
  font-family: var(--font-default);
  color: #505050;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-RadioFieldGroup__Options>*:not(:last-child) {
  margin-bottom: 25px;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-RichText {
  line-height: 1.4;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-FieldLabel {
  font-size: 2rem;
  font-weight: 700;
  font-family: var(--font-default);
  color: #505050;
}

[data-hsfc-id=Renderer].hsfc-Renderer .hsfc-RichText {
  color: var(--color-plane);
}

.hsfc-RadioFieldGroup__Options {
  margin-top: 35px;
  margin-bottom: 20px;
}

[data-hsfc-id=Renderer] .hsfc-RadioInput:hover,
[data-hsfc-id=Renderer] .hsfc-RadioInput:focus {
  border-color: #007AFF;
}
/* news */

/* === article / 記事詳細 */
@media screen and (min-width: 768px) {
  .section--news-post__wrapper {
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
  }
  .section--news-post__wrapper .news-article {
    box-sizing: border-box;
    width: 66.666%;
    padding: 0 15px;
  }
  .section--news-post__wrapper .news-article-aside {
    box-sizing: border-box;
    width: 30.833%;
    margin-left: 2.5%;
    padding: 0 15px;
  }
}

.news-article__head__heading {
  margin: 12px 0 15px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: var(--lh-normal-text);
}
@media screen and (min-width: 768px) {
  .news-article__head__heading {
    font-size: 3.2rem;
  }
}

.news-article__head__category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  margin-bottom: 20px;
}

.news-article__head__category-list__item__anchor {
  box-sizing: border-box;
  display: block;
  padding: 5px 14px;
  border: 1px solid var(--color-point);
  border-radius: 4px;
  background-color: var(--color-point);
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  transition: background-color .25s ease-in-out,  color .25s ease-in-out;
}

/* SNSボタン */
.news-article__head__sns {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 15px;
}
.news-article__head__sns__item.is-facebook a {
  box-sizing: border-box;
  display: inline-block;
  padding: 1px 5px 0;
  min-width: 27px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
  border-radius: 2px;
  background-color: #35629a;
  color: #fff;
  font-size: 1.2rem;
  line-height: 25px;
  text-align: center;
}
.news-article__head__sns__item.is-facebook a i {
  position: relative;
  top: 3px;
  color: #fff;
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-size: 1.3em;
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-transform: none;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, .1);
}
.news-article__head__sns__item.is-facebook a i::before {
  content: "\e902";
  box-sizing: border-box;
}

.news-article__body {
  margin-top: 20px;
}

.news-article__body__content.natural :is(h2, h3),
.news-article__body__summary__body :is(h2, h3) {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.4;
}
.news-article__body__content.natural :is(h4, h5),
.news-article__body__summary__body :is(h4, h5) {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}

.news-article__body__content.natural p,
.news-article__body__summary__body p {
  margin-bottom: 10px;
  color: var(--color-plane);
  font-size: 1.4rem;
  line-height: 2;
}

.news-article__body__content.natural img,
.news-article__body__summary__body img {
  display: block;
  max-width: 100%;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .news-article__body__content img, .news-article__body__summary__body img {
    max-width: 500px;
  }
}

.news-article__body__content img:not(:first-child),
.news-article__body__summary__body img:not(:first-child) {
  margin-top: 35px;
}

@media screen and (min-width: 768px) {
  .news-article__body__content img:not(:first-child),
  .news-article__body__summary__body img:not(:first-child) {
    margin-top: 40px;
  }
}
.news-article__body__content img:not(:last-child),
.news-article__body__summary__body img:not(:last-child) {
  margin-bottom: 35px;
}
@media screen and (min-width: 768px) {
  .news-article__body__content img:not(:last-child),
  .news-article__body__summary__body img:not(:last-child) {
    margin-bottom: 40px;
  }
}

a:focus .news-article__foot__nav__list__item__block__heading {
  color: var(--color-main);
}
@media screen and (min-width: 1050px) {
  a:hover .news-article__foot__nav__list__item__block__heading {
    color: var(--color-main);
  }
}

/* table */
.news-article__body__content.natural .js-table-scroll table {
  min-width: auto;
}

.news-article__body__content.natural table tr:first-of-type td,
.news-article__body__content.natural table tr:nth-of-type(odd):not(:first-of-type) td,
.news-article__body__content.natural table td {
  box-sizing: border-box;
  padding: 10px 15px 7px;
  border: 1px solid #000;
  background-color: #fff;
  line-height: 2.2;
  text-align: left;
}

/* === original style */

/* 3カラムエリア */
.news-blog-contents__speaker {
  display: grid;
  gap: 20px;
  margin-block: 20px;
}
@media screen and (min-width: 768px) {
  .news-blog-contents__speaker {
    grid-template-columns: repeat(3, 1fr);
  }
}
.news-blog-contents__speaker__item {
  box-sizing: border-box;
  text-align: center;
}
.news-blog-contents__speaker__item__body {
  margin-top: 5px;
}
.natural .news-blog-contents__speaker__item__body p {
  margin: 0;
  color: #7A7A7A;
  font-family: var(--font-en);
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 2;
}
.natural .news-blog-contents__speaker__item__body .news-blog-contents__speaker__item__body__head {
  color: #6EC1E4;
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.4;
}

/* 上下ボーダーエリア */
.news-blog-contents__border-image {
  margin-block: 10px;
}

/* 背景色エリア */
.news-blog-contents__bg-area {
  background-color: #EDF7FF;
  line-height: 1.8;
}

/* 横並びボタンエリア */
.news-blog-contents__button-side-by-side {
  margin-block: 20px;
}
@media screen and (min-width: 768px) {
  .news-blog-contents__button-side-by-side {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
  }
  .news-blog-contents__button-side-by-side > p {
    width: calc(50% - 15px);
    margin: 0;
  }
}


/* === サイドメニュー */
@media (max-width: 767px) {
  .news-article-aside {
    display: none;
  }
}
.news-article-aside__heading {
  margin-bottom: 25px;
  padding: 16px;
  background-color: #f3f3f3;
  font-size: 1.6rem;
  font-weight: 700;
}
.news-article-aside__list__item {
  margin-bottom: 15px;
  line-height: var(--lh-normal-text);
}

/* article / 記事詳細 === */


/* === archive / 記事一覧 */
.news-archive {
  margin-top: 50px;
}

.news-archive__content {
  padding-bottom: 8%;
}

@media screen and (min-width: 768px) {
  .news-archive__content__list {
    display: grid;
    gap: 40px 30px;
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .news-archive__content__list__item + li {
    margin-top: 20px;
  }
}

.news-archive__content__list__item__anchor {
  display: grid;
  gap: 20px;
  grid-template-columns: 1.2fr 2fr;
}
@media screen and (min-width: 768px) {
  .news-archive__content__list__item__anchor {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .news-archive__content__list__item__content__body {
    padding: 5%;
    background-color: #e2e2e2;
  }
}

.news-archive__content__list__item__content__category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
.news-archive__content__list__item__content__category-list__item {
  box-sizing: border-box;
  padding: 4px 14px;
  border: 1px solid var(--color-point);
  border-radius: 4px;
  background-color: var(--color-point);
  color: #fff;
  font-size: 1.2rem;
  line-height: var(--lh-normal-text);
}

.news-archive__content__list__item__content__body__heading {
  margin-top: 10px;
  font-weight: 700;
  line-height: var(--lh-normal-text);
}
@media screen and (min-width: 1050px) {
  .news-archive__content__list__item__content__body__heading {
    font-size: 1.8rem;
  }
}

.news-archive__content__list__item__content__post-body {
  display: none;
}
@media screen and (min-width: 768px) {
  .news-archive__content__list__item__content__post-body {
    display: block;
    margin-top: 10px;
    line-height: var(--lh-normal-text);
  }
}


/* === news pagination */
.news-content__main__pager {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: center;
  margin-block: 40px 20px;
}

.news-content__main__pager__item__anchor {
  display: block;
  padding: 12px 13px;
  border-radius: 3px;
  background-color: var(--color-pale);
  color: #000;
  font-size: 1.2rem;
  letter-spacing: .1em;
  transition: background-color .7s;
}
/* hover & focus */
@media screen and (min-width: 1050px) {
  .news-content__main__pager__item__anchor:hover {
    background-color: var(--color-plane);
  }
}
/* is-current */
.news-content__main__pager__item.is-current .news-content__main__pager__item__anchor {
  background-color: var(--color-plane);
  color: #fff;
}

/* archive / 記事一覧 === */

/* サイト全体で共通のエレメント */
/* カラム */

/* variables */
.columns {
  --column-margin-horizon: 25px; /* 各カラムの余白：左右 */
  --column-margin-horizon-narrow: 15px; /* 各カラムの余白(狭)：左右 */
  --column-margin-top: 55px; /* 各カラムの余白：上 */
  --column-margin-top-narrow: 20px; /* 各カラムの余白(狭)：上 */
}

/* [.columns] wrapper element */
@media screen and (min-width: 768px) {
  .columns:not(.columns--one) {
    display: flex;
    flex-wrap: wrap;
    margin-right: calc(var(--column-margin-horizon) * -1);
    margin-left: calc(var(--column-margin-horizon) * -1);
  }
}

/* [.columns] item element */
@media screen and (max-width: 767px) {
  .columns__column:not(:first-child) {
    margin-top: var(--column-margin-top-narrow);
  }
}
@media screen and (min-width: 768px) {
  .columns:not(.columns--one) .columns__column {
    box-sizing: border-box;
    padding-right: var(--column-margin-horizon);
    padding-left: var(--column-margin-horizon);
  }
}

/* 1カラム */
@media screen and (min-width: 768px) {
  .columns--one > .columns__column:nth-child(n+2) {
    margin-top: var(--column-margin-top);
  }
}

/* 2カラム */
@media screen and (min-width:768px) {
  .columns--two > .columns__column {
    width: 50%
  }
  .columns--two > .columns__column:nth-child(n+3){
    margin-top: var(--column-margin-top);
  }
}

/* 3カラム */
@media screen and (min-width:768px) {
  .columns--three > .columns__column {
    width: 50%;
  }
  .columns--three > .columns__column:nth-child(n+3) {
    margin-top: var(--column-margin-top);
  }
}
@media screen and (min-width:1050px) {
  .columns.columns--three {
    margin-right: calc(var(--column-margin-horizon)* -1);
    margin-left: calc(var(--column-margin-horizon)* -1);
  }
  .columns.columns--three:has(.columns__column__inner--bg) {
    margin-right: calc(var(--column-margin-horizon-narrow)* -1);
    margin-left: calc(var(--column-margin-horizon-narrow)* -1);
  }
  .columns.columns--three > .columns__column {
    width: calc(100% / 3);
    padding-right: var(--column-margin-horizon);
    padding-left: var(--column-margin-horizon);
  }
  .columns.columns--three > .columns__column:has(.columns__column__inner--bg) {
    padding-right: var(--column-margin-horizon-narrow);
    padding-left: var(--column-margin-horizon-narrow);
  }
  .columns--three > .columns__column:nth-child(3) {
    margin-top: 0;
  }
}

/* 4カラム */
@media screen and (min-width:768px) {
  .columns.columns--four {
    margin-right: calc(var(--column-margin-horizon) * -1);
    margin-left: calc(var(--column-margin-horizon) * -1);
  }
  .columns--four > .columns__column {
    width: 50%;
    padding-right: var(--column-margin-horizon);
    padding-left: var(--column-margin-horizon);
  }
  .columns--four > .columns__column:nth-child(n+3) {
    margin-top: var(--column-margin-top);
  }
}
@media screen and (min-width:1050px) {
  .columns.columns--four {
    margin-right: calc(var(--column-margin-horizon-narrow) * -1);
    margin-left: calc(var(--column-margin-horizon-narrow) * -1);
  }
  .columns.columns--four > .columns__column {
    width: calc(100% / 4);
    padding-right: var(--column-margin-horizon-narrow);
    padding-left: var(--column-margin-horizon-narrow);
  }
  .columns--four > .columns__column:is(:nth-child(3), :nth-child(4)) {
    margin-top: 0;
  }
}

/* 1:2カラム */
@media screen and (min-width:768px) {
  .columns--one-two {
    margin-right: calc(var(--column-margin-horizon-narrow) * -1);
    margin-left: calc(var(--column-margin-horizon-narrow) * -1);
  }
}
@media screen and (min-width:1050px) {
  .columns--one-two {
    margin-right: calc(var(--column-margin-horizon) * -1);
    margin-left: calc(var(--column-margin-horizon) * -1);
  }
}

@media screen and (max-width:767px) {
  .columns--one-two > .columns__column:nth-child(2) {
    margin-top: 25px;
  }
}
@media screen and (min-width:768px) {
  .columns--one-two > .columns__column {
    padding-left: var(--column-margin-horizon-narrow);
    padding-right: var(--column-margin-horizon-narrow);
  }
  .columns--one-two > .columns__column:nth-child(odd) {
    flex: 1;
  }
  .columns--one-two > .columns__column:nth-child(even) {
    flex: 2;
  }
}
@media screen and (min-width:1050px) {
  .columns--one-two > .columns__column {
    padding-left: var(--column-margin-horizon);
    padding-right: var(--column-margin-horizon);
  }
}

/* カラム左右反転 */
@media screen and (min-width:768px) {
  .columns--reverse > .columns__column:nth-child(1) {
    order: 2;
  }
  .columns--reverse > .columns__column:nth-child(2) {
    order: 1;
  }
}
/* コンテナ */

.container {
  max-width: var(--main-content-width);
  margin-inline: auto;
  padding-inline: var(--container-padding-hr-palmtop);
}
@media screen and (min-width: 768px) {
  .container {
    max-width: var(--main-content-width);
    padding-inline: var(--container-padding-hr-laptop);
  }
}
@media screen and (min-width: 1050px) {
  .container {
    max-width: var(--main-content-width);
    padding-inline: var(--container-padding-hr-desktop);
  }
}

.container--full {
  max-width: none;
}
/* ==========================================================================

  entry-button

========================================================================== */

.entry-button.rich-button-center {
  text-align: center;
}
.entry-button a {
  display: block;
  box-sizing: border-box;
  position: relative;
  min-width: inherit;
  max-width: 450px;
  margin: 0 auto;
  padding: 15px 59px 11px 24px;
  background-color: var(--color-point);
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: var(--ls-root);
  line-height: 2;
  text-align: left;
  transition: .5s;
}
@media screen and (min-width: 768px) {
  .entry-button a {
    display: inline-block;
    min-width: 450px;
    padding: 15px 95px 9px 25px;
    font-size: 2.1rem;
  }
}
@media screen and (min-width: 1050px) {
  .entry-button a:is(:hover, :focus) {
    background-color: var(--color-sub);
  }
}

.entry-button.is-active a {
  pointer-events: inherit;
}

.entry-button__decoration-text {
  content: attr(data-entry);
  display: block;
  width: 100%;
  font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .25em;
  line-height: 1;
  text-transform: uppercase;
  transition: .5s;
  opacity: .7;
}

/* link icon */
.entry-button .entry-button__icon {
  position: absolute;
  top: 50%;
  right: 24px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .entry-button .entry-button__icon {
    right: 20px;
    width: 28px;
    height: 28px;
  }
}
.entry-button .entry-button__icon__circle {
  fill: #ffffff;
}
.entry-button .entry-button__icon__path {
  fill: var(--color-point);
}
/* link icon : external link */
.entry-button .entry-button__icon.is-exlink {
  width: 20px;
  height: 20px;
}
@media screen and (min-width: 768px) {
  .entry-button .entry-button__icon.is-exlink {
    width: 22px;
    height: 22px;
  }
}
.entry-button .entry-button__icon.is-exlink .entry-button__icon__path {
  fill: #ffffff;
}
/* ==========================================================================

    figure

========================================================================== */

.section-image-caption {
  margin-bottom: 40px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .section-image-caption {
    margin-bottom: 25px;
    margin-top: 25px;
  }
}

.figure:not(:first-child) {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .figure:not(:first-child) {
    margin-top: 30px;
  }
}

.figure {
  text-align: center;
  margin: 0 auto;
}

.figure img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .figure img {
    max-width: 100% !important;
  }
}

.figcaption {
  margin-top: 15px;
  font-size: 1.4rem;
  letter-spacing: var(--ls-root);
  line-height: 1.4;
  text-align: left;
  color: #403434;
}
@media screen and (max-width: 767px) {
  .figcaption {
    font-size: 1.2rem;
  }
}
.figure.figure--smallbottom:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .figure.figure--smallbottom:not(:last-child) {
    margin-bottom: 25px;
  }
}
/* 見出し */

.heading-1 {
  font-size: 38px;
  font-weight: bold;
  letter-spacing: 0.3em;
  line-height: 1.4;
}
/* h2 */

.section-heading2 {
  margin-top: calc(60px + var(--leading-trim));
  margin-bottom: calc(25px + var(--leading-trim));
}
@media screen and (min-width: 768px) {
  .section-heading2 {
    margin-top: calc(80px + var(--leading-trim));
    margin-bottom: calc(45px + var(--leading-trim));
  }
}

.heading-2 {
  margin-top: calc(60px + var(--leading-trim));
  margin-bottom: calc(25px + var(--leading-trim));
  font-size: var(--fz-h2-palmtop);
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-heading);
}
@media screen and (min-width: 768px) {
  .heading-2 {
    margin-top: calc(80px + var(--leading-trim));
    margin-bottom: calc(45px + var(--leading-trim));
    font-size: var(--fz-h2-desktop);
  }
}
.heading-2:first-child {
  margin-top: 0;
}
.heading-2:last-child {
  margin-bottom: 0;
}

/*
  === child elements in modules
  モジュール内に配置する際のエレメントスタイルとは異なる場合のスタイル
*/
.heading-2.heading--child {
  margin-top: 25px;
  margin-bottom: 25px;
}
@media screen and (min-width: 768px) {
  .heading-2.heading--child {
    margin-top: 35px;
    margin-bottom: 30px;
  }
}
.heading-2.heading--child:first-child {
  margin-top: 0;
}
.heading-2.heading--child:last-child {
  margin-bottom: 0;
}
.heading-2.heading--child + * {
  margin-top: 0;
}
/* child elements in modules === */

.heading-2__deco {
  display: block;
  color: var(--color-point);
  font-size: var(--fz-h2-decoration-palmtop);
  font-weight: 400;
  letter-spacing: var(--ls-root-en);
  line-height: 1.1;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .heading-2__deco {
    margin-top: 10px;
    font-size: var(--fz-h2-decoration-desktop);
  }
}
@media screen and (min-width: 1050px) {
  .heading-2__deco {
    margin-top: 0;
  }
}

.heading-2--reverse {
  color: #ffffff;
}
.heading-2--reverse .heading-2__deco {
  color: #ffffff;
}
/* h3 */

.section-heading3 {
  margin-top: calc(40px + var(--leading-trim));
  margin-bottom: calc(20px + var(--leading-trim));
}
@media screen and (min-width: 768px) {
  .section-heading3 {
    margin-top: calc(55px + var(--leading-trim));
    margin-bottom: calc(30px + var(--leading-trim));
  }
}

.heading-3 {
  margin-top: calc(40px + var(--leading-trim));
  margin-bottom: calc(20px + var(--leading-trim));
  color: var(--color-point);
  font-size: var(--fz-h3-palmtop);
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .heading-3 {
    margin-top: calc(55px + var(--leading-trim));
    margin-bottom: calc(30px + var(--leading-trim));
    font-size: var(--fz-h3-desktop);
  }
}
.heading-3:first-child {
  margin-top: 0;
}
.heading-3:last-child {
  margin-bottom: 0;
}

/*
  === child elements in modules
  モジュール内に配置する際のエレメントスタイルとは異なる場合のスタイル
*/
.heading-3.heading--child {
  margin-top: 25px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .heading-3.heading--child {
    margin-top: 30px;
    margin-bottom: 25px;
  }
}
.heading-3.heading--child:first-child {
  margin-top: 0;
}
.heading-3.heading--child:last-child {
  margin-bottom: 0;
}
.heading-3.heading--child + * {
  margin-top: 0;
}
/* child elements in modules === */
/* h4 */

.section-heading4 {
  margin-top: calc(30px + var(--leading-trim));
  margin-bottom: calc(20px + var(--leading-trim));
}
@media screen and (min-width: 768px) {
  .section-heading4 {
    margin-top: calc(45px + var(--leading-trim));
    margin-bottom: calc(25px + var(--leading-trim));
  }
}

.heading-4 {
  margin-top: calc(30px + var(--leading-trim));
  margin-bottom: calc(20px + var(--leading-trim));
  color: var(--color-point);
  font-size: var(--fz-h4-palmtop);
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  .heading-4 {
    margin-top: calc(45px + var(--leading-trim));
    margin-bottom: calc(25px + var(--leading-trim));
    font-size: var(--fz-h4-desktop);
  }
}
.heading-4:first-child {
  margin-top: 0;
}
.heading-4:last-child {
  margin-bottom: 0;
}


/*
  === child elements in modules
  モジュール内に配置する際のエレメントスタイルとは異なる場合のスタイル
*/
.heading-4.heading--child {
  margin-top: 25px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .heading-4.heading--child {
    margin-top: 30px;
    margin-bottom: 25px;
  }
}
.heading-4.heading--child:first-child {
  margin-top: 0;
}
.heading-4.heading--child:last-child {
  margin-bottom: 0;
}
.heading-4.heading--child + * {
  margin-top: 0;
}
/* child elements in modules === */
/* h5 */

.section-heading5 {
  margin-top: calc(30px + var(--leading-trim));
  margin-bottom: calc(20px + var(--leading-trim));
}

.heading-5 {
  margin-top: calc(30px + var(--leading-trim));
  margin-bottom: calc(20px + var(--leading-trim));
  color: var(--color-plane);
  font-size: var(--fz-h5-palmtop);
  font-weight: var(--fw-bold-jp);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-heading);
}
@media screen and (min-width: 768px) {
  .heading-5 {
    font-size: var(--fz-h5-desktop);
  }
}
.heading-5:first-child {
  margin-top: 0;
}
.heading-5:last-child {
  margin-bottom: 0;
}


/*
  === child elements in modules
  モジュール内に配置する際のエレメントスタイルとは異なる場合のスタイル
*/
.heading-5.heading--child {
  margin-top: 25px;
  margin-bottom: 20px;
}
.heading-5.heading--child:first-child {
  margin-top: 20px;
}
.heading-5.heading--child:last-child {
  margin-bottom: 20px;
}
.heading-5.heading--child + * {
  margin-top: 0;
}
/* child elements in modules === */
/* ==========================================================================

  heading link

========================================================================== */

.section-heading-link {
  margin-top: 20px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .section-heading-link {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.heading-link {
  position: relative;
}
.heading-link:not(:first-child) {
  margin-top: 20px;
}
.heading-link:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .heading-link:not(:first-child) {
    margin-top: 30px;
  }
  .heading-link:not(:last-child) {
    margin-bottom: 30px;
  }
}
/* 見出しレベル別　アイコン位置調整 */
.heading-2.heading-link,
.heading-3.heading-link {
  padding-left: 16px;
}
.heading-4.heading-link,
.heading-5.heading-link {
  padding-left: 14px;
}
@media screen and (min-width: 768px) {
  .heading-2.heading-link {
    padding-left: 22px;
  }
  .heading-3.heading-link {
    padding-left: 18px;
  }
  .heading-4.heading-link,
  .heading-5.heading-link {
    padding-left: 14px;
  }
}

.heading-link__anchor {
  display: inline-block;
  color: var(--color-plane);
  text-decoration: none;
  transition: color .5s;
}
@media screen and (min-width: 1050px) {
  .bl-hover .heading-link__anchor,
  .heading-link__anchor:is(:hover, :focus) {
    color: var(--color-point);
  }
}

.heading-link .link-icon.is-default {
  display: inline-block;
  position: absolute;
  left: -4px;
}
/* 見出しレベル別　アイコン位置調整 */
.heading-2.heading-link .link-icon.is-default {
  top: 8px;
  width: 10px;
  height: 10px;
}
.heading-3.heading-link .link-icon.is-default {
  top: 7px;
  width: 10px;
  height: 10px;
}
.heading-4.heading-link .link-icon.is-default {
  top: 4px;
  left: -4px;
  width: 8px;
  height: 8px;
}
.heading-5.heading-link .link-icon.is-default {
  top: 8px;
  left: -4px;
  width: 8px;
  height: 8px;
}
@media screen and (min-width: 768px) {
  .heading-2.heading-link .link-icon.is-default {
    top: 18px;
    width: 12px;
    height: 12px;
  }
  .heading-3.heading-link .link-icon.is-default {
    top: 9px;
    width: 10px;
    height: 10px;
  }
  .heading-4.heading-link .link-icon.is-default {
    top: 6px;
  }
  .heading-5.heading-link .link-icon.is-default {
    top: 11px;
  }
}

/* link heading : PDF, external link */
.heading-2.heading-link:is(.is-pdf, .is-exlink) {
  padding-left: 27px;
}
:is(.heading-3, .heading-4, .heading-5).heading-link:is(.is-pdf, .is-exlink) {
  padding-left: 24px;
}
@media screen and (min-width: 768px) {
  .heading-2.heading-link:is(.is-pdf, .is-exlink) {
    padding-left: 32px;
  }
  .heading-3.heading-link:is(.is-pdf, .is-exlink) {
    padding-left: 27px;
  }
}

/* link icon : PDF */
.heading-2.heading-link.is-pdf .link-icon {
  top: 5px;
  width: 17px;
  height: 17.44px;
}
.heading-3 .heading-link.is-pdf .link-icon {
  top: 5px;
  width: 16px;
  height: 16.41px;
}
.heading-4.heading-link.is-pdf .link-icon {
  top: 0;
  width: 16px;
  height: 16.41px;
}
.heading-5.heading-link.is-pdf .link-icon {
  top: 0;
  width: 16px;
  height: 16.41px;
}
@media screen and (min-width: 768px) {
  .heading-2.heading-link.is-pdf .link-icon {
    top: 15px;
    width: 20px;
    height: 20.52px;
  }
  .heading-3.heading-link.is-pdf .link-icon {
    top: 5px;
    width: 17px;
    height: 17.44px;
  }
  .heading-4.heading-link.is-pdf .link-icon {
    top: 2px;
  }
  .heading-5.heading-link.is-pdf .link-icon {
    top: 2px;
  }
}

/* link icon : external link */
.heading-2.heading-link.is-exlink .link-icon {
  top: 5px;
  width: 16px;
  height: 16px;
}
.heading-3.heading-link.is-exlink .link-icon {
  top: 4px;
  width: 14px;
  height: 14px;
}
:is(.heading-4, .heading-5).heading-link.is-exlink .link-icon {
  top: 1px;
  width: 14px;
  height: 14px;
}
@media screen and (min-width: 768px) {
  .heading-2.heading-link.is-exlink .link-icon {
    top: 14px;
    width: 18px;
    height: 18px;
  }
  .heading-3.heading-link.is-exlink .link-icon {
    top: 5px;
    width: 16px;
    height: 16px;
  }
  .heading-4.heading-link.is-exlink .link-icon {
    top: 4px;
  }
  .heading-5.heading-link.is-exlink .link-icon {
    top: 4px;
  }
}
/* リード文 */

.section-lead {
  margin-top: 75px;
  margin-bottom: 55px;
}
@media screen and (min-width: 768px) {
  .section-lead {
    margin-top: 55px;
  }
}

.lead {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: var(--ls-root);
  line-height: var(--lh-paragraph);
}
@media screen and (min-width: 768px) {
  .lead {
    font-size: 1.7rem;
  }
}

.lead:not(:first-child) {
  margin-top: 75px;
}
@media screen and (min-width: 768px) {
  .lead:not(:first-child) {
    margin-top: 55px;
  }
}
.lead:not(:last-child) {
  margin-bottom: 55px;
}

.lead.text-center {
  margin-right: auto;
  margin-left: auto;
}
.lead.text-right {
  margin-left: auto;
}
/* ==========================================================================

    link

========================================================================== */

/* 文中リンク */
.link {
  display: inline-block;
  position: relative;
  color: var(--color-plane);
  text-decoration: none;
  word-break: break-all;
  transition: .5s;
}
.link:is(:hover, :focus) {
  color: var(--color-point);
  text-decoration: none;
}
.link::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-point);
  transition: .5s;
}
.link:is(:hover, :focus)::after {
  background-color: var(--color-point);
}

/* 外部リンクアイコン付き文中リンク */
.link--window {
  padding-left: 20px;
}
.link--window::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMS45NjkiIGhlaWdodD0iMTEuOTY5IiB2aWV3Qm94PSIwIDAgMTEuOTY5IDExLjk2OSI+CiAgPHBhdGggaWQ9IuODkeOCuV82NDIxIiBkYXRhLW5hbWU9IuODkeOCuSA2NDIxIiBkPSJNLTc4OC41MjksMGgtNi4zNDJhLjUyOC41MjgsMCwwLDAtLjUyOC41MjlWMi4xNjdoLTMuODdhLjcuNywwLDAsMC0uNy43djguNGEuNy43LDAsMCwwLC43LjdoOC40YS43LjcsMCwwLDAsLjctLjdWNy40aDEuNjM4QS41MjguNTI4LDAsMCwwLTc4OCw2Ljg3MVYuNTI5QS41MjkuNTI5LDAsMCwwLTc4OC41MjksMFptLTIuNjM4LDEwLjk2OWgtNy44di03LjhoMy41N3YzLjdhLjUyNy41MjcsMCwwLDAsLjUyOC41MjhoMy43Wk0tNzg5LDYuNGgtNS40VjFoNS40WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzk5Ljk2OSkiIGZpbGw9IiM0MTQxNDEiLz4KPC9zdmc+Cg==") no-repeat center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
/* ==========================================================================

  リンクボタン

========================================================================== */

.section-button {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .section-button {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

.link-button:not(:first-child) {
  margin-top: 30px;
}
.link-button:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .link-button:not(:first-child) {
    margin-top: 40px;
  }
  .link-button:not(:last-child) {
    margin-bottom: 40px;
  }
}

.link-button__anchor {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  min-width: 160px;
  padding: 9px 45px 9px 20px;
  border-radius: 6px;
  background-color: var(--color-point);
  color: #fff;
  font-family: var(--font-button);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: var(--ls-root);
  line-height: 1.31;
  text-align: left;
  word-break: break-all;
  transition: opacity .3s;
}
@media screen and (min-width: 768px) {
  .link-button__anchor {
    min-width: 170px;
    padding: 13px 40px 12px 30px;
    font-size: 1.6rem;
  }
}
/* hover & focus */
.link-button__anchor:focus,
a:focus .link-button__anchor {
  opacity: .6;
}
@media screen and (min-width: 1050px) {
  .link-button__anchor:hover,
  :is(a:hover, .bl-hover) .link-button__anchor {
    opacity: .6;
  }
}

.link-button__anchor__inner {
  position: relative;
  z-index: 1;
}

/* link icon */
.link-button__anchor__icon {
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
  translate: 0 -50%;
}
@media screen and (min-width: 768px) {
  .link-button__anchor__icon {
    width: 10px;
    height: 10px;
  }
}

/* link icon : PDF */
.link-button__anchor.is-pdf .link-button__anchor__icon {
  right: 15px;
  width: 16px;
  height: 16.47px;
  border: none;
  rotate: none;
}
.link-button__anchor.is-pdf .link-button__anchor__icon svg {
  width: 16px;
  height: 16.47px;
}
.link-button__anchor.is-pdf .link-button__anchor__icon__path {
  fill: #fff;
}
.link-button__anchor.is-pdf .link-button__anchor__icon__path--reverse {
  fill: var(--color-point);
}
@media screen and (min-width: 768px) {
  .link-button__anchor.is-pdf .link-button__anchor__icon {
    right: 11px;
  }
}
/* link icon : external link */
.link-button__anchor.is-exlink .link-button__anchor__icon {
  right: 14px;
  width: 16px;
  height: 16px;
  border: none;
  rotate: none;
}
.link-button__anchor.is-exlink .link-button__anchor__icon svg {
  width: 16px;
  height: 16px;
}
.link-button__anchor.is-exlink .link-button__anchor__icon__path {
  fill: #fff;
}
@media screen and (min-width: 768px) {
  .link-button__anchor.is-exlink .link-button__anchor__icon {
    right: 10px;
  }
}

/* align center */
.link-button.rich-button-center {
  text-align: center;
}

/* === MAX 3column list */
.section-button__list {
  margin-top: 30px;
  margin-bottom: 30px;
}
.section-button__list .link-button {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .section-button__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .section-button__list .link-button {
    max-width: 280px;
  }
  .section-button__list .link-button:not(:last-child) {
    margin-right: 40px;
  }
}
@media screen and (min-width: 1050px) {
  .section-button__list .link-button:not(:last-child) {
    margin-bottom: 0;
  }
}

/* center */
.section-button__list.rich-button-center {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .section-button__list.rich-button-center {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .section-button__list.rich-button-center .link-button {
    margin-right: 20px;
    margin-left: 20px;
  }
}

/* MAX 3column list === */
/* ==========================================================================

  link icon

========================================================================== */

/* link icon : default (arrow) */
.link-icon.is-default {
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  top: .4em;
  left: 0;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--color-point);
  border-right: 2px solid var(--color-point);
  rotate: 45deg;
}
@media screen and (min-width: 768px) {
  .link-icon.is-default {
    width: 12px;
    height: 12px;
  }
}
.link-icon.is-default .link-icon__arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 6px;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .link-icon.is-default .link-icon__arrow {
    width: 6px;
    height: 8px;
  }
}

/* link icon : PDF */
.link-icon.is-pdf {
  display: inline-block;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 16px;
  height: 16.4px;
}
.link-icon.is-pdf .link-icon__path {
  fill: var(--color-point);
}
.link-icon.is-pdf .link-icon__path--reverse {
  fill: #ffffff;
}

/* link icon : external link */
.link-icon.is-exlink {
  display: inline-block;
  position: absolute;
  top: .2em;
  left: 0;
  width: 14px;
  height: 14px;
}
.link-icon.is-exlink .link-icon__path {
  fill: var(--color-point);
}

/* link style : reverse */
.link-icon.link-icon--reverse::before {
  background-color: var(--color-point);
}
.link-icon.link-icon--reverse .link-icon__arrow__path {
  fill: #ffffff;
}

/* link icon : white color */
.link-icon.link-icon--white::before {
  border-color: #ffffff;
}
.link-icon.link-icon--white .link-icon__arrow__path {
  fill: #ffffff;
}
/* ==========================================================================

  テキストボタン

========================================================================== */

.section-text-button {
  margin-top: 12px;
  margin-bottom: 12px;
}
@media screen and (min-width: 768px) {
  .section-text-button {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.link-text {
  font-family: var(--font-button);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: var(--ls-root-en);
  line-height: 1.4;
}
.link-text:not(:first-child) {
  margin-top: 12px;
}
.link-text:not(:last-child) {
  margin-bottom: 12px;
}
@media screen and (min-width: 768px) {
  .link-text {
    font-size: 1.6rem;
  }
  .link-text:not(:first-child) {
    margin-top: 20px;
  }
  .link-text:not(:last-child) {
    margin-bottom: 20px;
  }
}

.link-text__anchor {
  display: inline-block;
  position: relative;
  padding-left: 16px;
  transition: opacity .3s ease-in-out;
}
/* hover & focus */
.link-text__anchor:focus,
a:focus .link-text__anchor {
  opacity: .6;
}
@media screen and (min-width: 1050px) {
  .link-text__anchor:hover,
  :is(a:hover, .bl-hover) .link-text__anchor {
    opacity: .6;
  }
}

/* link icon */
.link-text__anchor__icon {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.link-text__anchor__icon__path {
  fill: var(--color-point);
}
.link-text__anchor__icon__path--reverse {
  fill: #ffffff;
}

/* link icon : default */
.link-text__anchor__icon.is-default {
  left: -3px;
  width: 5px;
  height: 5px;
  border-top: 2px solid var(--color-point);
  border-right: 2px solid var(--color-point);
  rotate: 45deg;
}

/* link icon : PDF */
.link-text__anchor.is-pdf {
  padding-left: 26px;
}
.link-text__anchor.is-pdf .link-text__anchor__icon {
  width: 16px;
  height: 16.4px;
}
/* link icon : external link */
.link-text__anchor.is-exlink {
  padding-left: 26px;
}
.link-text__anchor.is-exlink .link-text__anchor__icon {
  left: 2px;
  width: 14px;
  height: 14px;
}

/* reverse style */
.link-text.link-text--reverse .link-text__anchor {
  color: #ffffff;
}
.link-text.link-text--reverse .link-text__anchor__icon__path {
  fill: #ffffff;
}

/* align center */
.link-text.link-text--center {
  text-align: center;
}
/* 段落 */

/* variables */
.section-paragraph,
.paragraph {
  --p-margin: 20px;
}

.section-paragraph {
  margin-top: calc(var(--p-margin) + var(--leading-trim));
  margin-bottom: calc(var(--p-margin) + var(--leading-trim));
}

.paragraph {
  color: var(--color-plane);
  font-size: var(--fz-root-palmtop);
  letter-spacing: var(--ls-root);
  line-height: var(--lh-paragraph);
}
@media screen and (min-width: 768px) {
  .paragraph {
    font-size: var(--fz-root-desktop);
  }
}
.paragraph:not(:first-child) {
  margin-top: calc(var(--p-margin) + var(--leading-trim));
}
.paragraph:not(:last-child) {
  margin-bottom: calc(var(--p-margin) + var(--leading-trim));
}

/* adjust margin-top when "heading + paragraph" */
.heading-2 + .paragraph::before,
.heading-3 + .paragraph::before,
.heading-4 + .paragraph::before,
.heading-5 + .paragraph::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin-top: calc(((1 - var(--lh-paragraph)) * .5em) * 2);
}

.paragraph--reverse {
  color: #ffffff;
}

.paragraph.text-center {
  margin-right: auto;
  margin-left: auto;
}
.paragraph.text-right {
  margin-left: auto;
}
/* セクション */

.section {
  margin-top: 40px;
}
.section:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .section {
    margin-top: 60px;
  }
  .section:not(:last-child) {
    margin-bottom: 60px;
  }
}

.dnd-section-color {
  padding-top: 60px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .dnd-section-color {
    padding-bottom: 120px;
    padding-top: 80px;
  }
}
/* 最初のモジュール */
.dnd-section-color .hs_cos_wrapper_type_module--first>div {
  margin-top: 0;
}
/* 最後のモジュール */
.dnd-section-color .hs_cos_wrapper_type_module--last>div {
  margin-bottom: 0;
}

.dnd-section-color--bg {
  background-color: var(--color-bg);
}
/* ==========================================================================

  アクセシビリティ対策：本文へのスキップリンク

========================================================================== */

.skip-link-to-main {
  position: absolute;
}
.skip-link-to-main:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(1px, 1px, 1px,1px);
  overflow: hidden;
}
.skip-link-to-main:focus {
  display: block;
  top: 6px;
  left: 10px;
  z-index: 9999;
  margin: 0;
  padding: 13px 20px;
  border-right: 1px solid var(--color-pale);
  border-bottom: 1px solid var(--color-pale);
  border-left: 1px solid var(--color-pale);
  border-radius: 0 0 3px 3px;
  background-color: var(--color-bg);
  text-decoration: underline;
}
/* ==========================================================================

    view

========================================================================== */

.view--is-desktop {
	display: block;
}
@media screen and (max-width:1049px) {
	.view--is-desktop {
		display: none !important;
	}
}
.view--is-desktop-lower {
		display: block;
}
@media screen and (max-width:767px) {
	.view--is-desktop-lower {
		display: none !important;
	}
}

.view--is-laptop {
	display: none;
}
@media screen and (min-width:768px) and (max-width:1049px) {
	.view--is-laptop {
		display: block;
	}
}

.view--is-laptop-lower {
	display: none;
}
@media screen and (max-width:1049px) {
	.view--is-laptop-lower {
		display: block;
	}
}

.view--is-palmtop {
	display: none !important;
}
@media screen and (max-width:767px) {
	.view--is-palmtop {
		display: block !important;
	}
}