@charset "UTF-8";
/* --------------------------------------------------------------------------------
   ブレークポイント
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   リセットCSS
   --------------------------------------------------------------------------------
     - マージン、パディング、ボーダーはすべて0
     - フォントサイズは 16px（1.4rem） に揃える
     - 見出し、em、strong、b、th は太字にする
     - テーブルはボーダーあり
     - など
   --------------------------------------------------------------------------------
   ＜補足＞
     - Meyresweb CSS Reset に一部 Normalize.css を足した感じ
     - Meyersweb CSS Reset : https://meyerweb.com/eric/tools/css/reset/
     - Normalize.css: https://necolas.github.io/normalize.css/
----------------------------------------------------------------------------------- */
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;
}

html {
  font-size: 62.5%; /* rootフォントサイズを10pxにする（16px * 62.55 = 10px） */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*,
::before,
::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Verdana, sans-serif;
  font-size: 1.6em; /* 16px（body で rem ではなく em を使うのはChromeのバグ対策） */
  line-height: 2;
  word-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  -webkit-text-size-adjust: 100%; /* スマホを横向きにしたとき等に文字サイズを自動調整しない（CSSの指定どおり） */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: top;
  image-rendering: -webkit-optimize-contrast; /* Chromeで画像がぼやける現象を回避 */
}

ol,
ul {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1.6rem;
  font-weight: bold;
}

b,
em,
strong {
  font-style: normal;
  font-weight: bold;
}

small {
  font-size: 80%;
}

/* sub, sup が行間に影響を及ぼすのを防ぐ */
sub,
sup {
  position: relative;
  margin-left: 0.15em;
  margin-right: 0.15em;
  font-size: 77%;
  line-height: 0;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  border-top: 1px solid #ccc;
}

pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
}

/* アンカー */
a {
  color: #03c;
  text-decoration: underline;
}

a:visited {
  color: #60a;
  text-decoration: underline;
}

a:hover {
  color: #f00;
  text-decoration: none;
}

a:focus {
  outline: none;
}

a:hover,
a:active {
  outline: none;
}

/* テーブル */
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td {
  padding: 0.5em 0.8em;
  border: 1px solid #ddd;
}

th {
  font-weight: bold;
  text-align: left;
}

thead th {
  text-align: center;
  background-color: #DEE2E6;
}

tbody th {
  background-color: #f9f9f9;
}

/* フォーム */
[disabled] {
  cursor: default;
}

label {
  cursor: pointer;
}

button,
input,
select,
optgroup,
textarea {
  font-family: inherit;
  font-size: 100%;
}

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  /* Firefox で button 要素に CSS で消せない padding と border がつくのを消す (normalize.css) */
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  /* 上で消したボーダーを outline として表示 */
  outline: 1px dotted ButtonText;
}

input[type=text],
input[type=email],
textarea {
  width: 100%;
  padding: 0.5rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  border-radius: 0.3rem;
  border: 1px solid #ddd;
}
input[type=text]:focus,
input[type=email]:focus,
textarea:focus {
  outline: #0072BC auto 2px;
}

textarea {
  display: block;
  overflow: auto;
  vertical-align: top;
}

input:invalid,
textarea:invalid {
  background-color: #f0dddd;
}

select {
  /* Style select like a standard input */
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

progress {
  /* Chrome, Firefox, Opera における調整 */
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  /* Correct the cursor style of increment and decrement buttons in Chrome */
  height: auto;
}

[type=search] {
  /* Correct the odd appearance in Chrome and Safari */
  -webkit-appearance: textfield;
  /* Correct the outline style in Safari */
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  /* Remove the inner padding in Chrome and Safari on macOS */
  -webkit-appearance: none;
}

/* 画像リンクのホバー効果 */
a:hover img {
  opacity: 0.9;
}

/* アクセシビリティ */
[aria-busy=true] {
  /* Specify the progress cursor of updating elements */
  cursor: progress;
}

[aria-controls] {
  /* Specify the pointer cursor of trigger elements */
  cursor: pointer;
}

[aria-disabled=true] {
  /* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
  cursor: default;
}

/* 印刷用 */
@media print {
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  h1,
  h2,
  h3 {
    page-break-after: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 1.2cm;
  }
}
/* --------------------------------------------------------------------------------
   フォント
   --------------------------------------------------------------------------------
    - -apple-system: Mac と iOS 用フォント SanFrancisco。ヒラギノに近いが欧文はヒラギノより良い
    - BlinkMacSystemFont: Chrome で SanFranciso を使いたいときの指定
----------------------------------------------------------------------------------- */
body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, Helvetica, Arial, sans-serif;
  font-size: 1.6em; /* 14px（body で rem ではなく em を使うのはChromeのバグ対策） */
  letter-spacing: 0.05em;
  line-height: 2;
  color: #222222;
}

html {
  font-size: 62.55%; /* rootフォントサイズを9pxにする（16px * 62.55 = 10px） */
}
@media screen and (max-width: 1279px) {
  html {
    font-size: 60%;
  }
}
@media screen and (max-width: 1199px) {
  html {
    font-size: 56%;
  }
}
@media screen and (max-width: 1119px) {
  html {
    font-size: 50%;
  }
}
@media print, screen and (max-width: 959px) {
  html {
    font-size: 56%;
  }
}
/* --------------------------------------------------------------------------------
   リンクスタイル
----------------------------------------------------------------------------------- */
a:link {
  color: #0072BC;
}

a:visited {
  color: #00427E;
}

a:hover {
  text-decoration: none;
}

em {
  color: #000000;
}

strong {
  color: #C73D3D;
}

/* --------------------------------------------------------------------------------
   ベースのスタイル
   --------------------------------------------------------------------------------
    - 要素セレクタの初期値を定義
    - リセットCSSを上書きするイメージ
----------------------------------------------------------------------------------- */
/* コンテンツ量が少ないときも、フッタをウィンドウ下部に固定するための設定 */
html {
  height: 100%;
}
@media all and (-ms-high-contrast: none) {
  html {
    min-width: 1024px;
  }
}

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
body > * {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
body.is-fixed {
  position: fixed;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
/* 本文エリアにおけるいい感じのマージン設定 */
/*
  補足：
  以下のルールを適用したいのは .l-section 内のみだが .l-section を付加して定義すると
  上書きが無駄に大変になる（!important が必要になるなど）ので付加しない
*/
h1 + p,
h1 + ul,
h1 + ol,
h1 + dl,
h1 + div,
h1 + table,
h2 + p,
h2 + ul,
h2 + ol,
h2 + dl,
h2 + div,
h2 + table,
h3 + p,
h3 + ul,
h3 + ol,
h3 + dl,
h3 + div,
h3 + table,
h4 + p,
h4 + ul,
h4 + ol,
h4 + dl,
h4 + div,
h4 + table,
h5 + p,
h5 + ul,
h5 + ol,
h5 + dl,
h5 + div,
h5 + table,
h6 + p,
h6 + ul,
h6 + ol,
h6 + dl,
h6 + div,
h6 + table {
  margin-top: 0;
}

/* --------------------------------------------------------------------------------
   .l-contact : フッタのお問合せエリア
----------------------------------------------------------------------------------- */
.l-contact {
  padding: 7.5rem 0;
  text-align: center;
  background: url(/images/bg/bg-blue@2x.png) no-repeat 60rem 3rem, -webkit-gradient(linear, left bottom, right top, color-stop(0, #005790), to(#0072BC));
  background: url(/images/bg/bg-blue@2x.png) no-repeat 60rem 3rem, linear-gradient(to right top, #005790 0, #0072BC 100%);
  background-size: 110%, auto;
}
.l-contact .c-section-title span {
  color: #9AC3DE;
}
.l-contact .c-section-title em {
  color: #FFFFFF;
}
.l-contact a,
.l-contact a:visited {
  color: #FFFFFF;
}
.l-contact__link {
  font-size: 1.8rem;
  font-weight: bold;
}
@media print, screen and (max-width: 767px) {
  .l-contact {
    padding: 7.5rem 2rem;
    background-position: 0 0;
    background-size: 300%;
  }
  .l-contact .p-bottom-btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* --------------------------------------------------------------------------------
   .l-footer : フッタ
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .l-footer-bottom : フッタの最下部
----------------------------------------------------------------------------------- */
.l-footer-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  height: 18rem;
  font-size: 1.4rem;
}
.l-footer-bottom p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
  color: #565E66;
}
.l-footer-bottom a {
  color: #565E66;
}
@media print, screen and (max-width: 959px) {
  .l-footer-bottom {
    height: 24rem;
  }
  .l-footer-bottom p {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
}
@media print, screen and (max-width: 767px) {
  .l-footer-bottom {
    height: auto;
    padding: 5rem 0 8rem;
  }
}

/* --------------------------------------------------------------------------------
   .l-footer-nav : フッタナビ
----------------------------------------------------------------------------------- */
.l-footer-nav {
  padding: 7.5rem 0;
  color: #FFFFFF;
  background-color: #00427E;
}
.l-footer-nav__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10rem;
  max-width: 120rem;
  margin: auto;
}
.l-footer-nav a,
.l-footer-nav a:visited {
  text-decoration: none;
  color: #FFFFFF;
}
.l-footer-nav__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10rem;
}
.l-footer-nav__links a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  padding: 0.5em 0;
  line-height: 1.3;
}
.l-footer-nav__links a:hover {
  text-decoration: underline;
}
.l-footer-nav__links a::before {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 0.1rem;
  background-color: #9AC3DE;
}
.l-footer-nav__section {
  margin-top: 5rem;
}
.l-footer-nav__section:first-child {
  margin-top: 0;
}
.l-footer-nav__section > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10rem;
}
@media print, screen and (max-width: 959px) {
  .l-footer-nav {
    padding: 7.5rem 2rem;
  }
  .l-footer-nav__inner {
    gap: 5rem;
  }
  .l-footer-nav__links {
    gap: 3rem;
  }
  .l-footer-nav__links__right a {
    white-space: nowrap;
  }
  .l-footer-nav__section > div {
    gap: 3rem;
  }
}
@media print, screen and (max-width: 767px) {
  .l-footer-nav__logo {
    text-align: center;
    width: 100%;
  }
  .l-footer-nav__logo img {
    width: 12rem;
  }
  .l-footer-nav__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
  .l-footer-nav__links__right {
    display: none;
  }
  .l-footer-nav__section {
    margin-top: 2rem;
  }
  .l-footer-nav__section > div {
    display: block;
  }
}

/* --------------------------------------------------------------------------------
   .l-gnav : グロナビ
----------------------------------------------------------------------------------- */
.l-gnav {
  position: absolute;
  right: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  background-color: rgba(255, 255, 255, .9);
  /* 固定 */
  /* トップのみ少しレイアウトが違う */
}
.l-gnav__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-gnav__left a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 6.5rem;
  padding: 1.8rem;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
  color: #0072BC;
}
.l-gnav__left a i.fas {
  margin-left: 0.4rem;
}
.l-gnav .has-child:hover > a {
  background-color: #EFF9FF;
}
.l-gnav .has-child:hover .l-mega-menu {
  display: block;
  opacity: 1;
}
.l-header.is-fixed .l-gnav {
  z-index: 10;
  position: fixed;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  -webkit-box-shadow: 0 0.1rem 0.2rem rgba(0, 66, 126, .25);
          box-shadow: 0 0.1rem 0.2rem rgba(0, 66, 126, .25);
  backdrop-filter: blur(0.4rem);
}
.l-header.has-bg .l-gnav {
  background-color: rgba(255, 255, 255, .9);
  backdrop-filter: blur(0.4rem);
  -webkit-box-shadow: 0 0.1rem 0.2rem rgba(0, 66, 126, .25);
          box-shadow: 0 0.1rem 0.2rem rgba(0, 66, 126, .25);
}
.l-gnav.is-sp {
  display: none;
}
body.page-index .l-gnav {
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
body.page-index .l-gnav__left a {
  height: 8rem;
}
@media print, screen and (max-width: 959px) {
  .l-gnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.1rem;
  }
  .l-gnav.is-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-gnav:not(.is-sp) {
    padding-right: 9.1rem;
  }
  .l-gnav__left > li:nth-child(1) a:not(.l-mega-menu__item) {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .l-gnav__left > li:nth-child(2),
  .l-gnav__left > li:nth-child(3),
  .l-gnav__left > li:nth-child(4),
  .l-gnav__left > li:nth-child(5) {
    display: none;
  }
}
@media print, screen and (max-width: 767px) {
  .l-gnav:not(.is-sp) {
    padding-right: 7.1rem;
  }
  .l-gnav__left > li:nth-child(1) {
    display: none;
  }
}

/* --------------------------------------------------------------------------------
   .l-gnav-right : グロナビ右のお問合せボタン等
----------------------------------------------------------------------------------- */
.l-gnav-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* トップのみ少しレイアウトが違う */
}
.l-gnav-right a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 9rem;
  height: 6.5rem;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  letter-spacing: 0;
  text-decoration: none;
}
.l-gnav-right > li:nth-child(1) a {
  background-color: #DBECFF;
}
.l-gnav-right > li:nth-child(2) a {
  border-bottom: 0.1rem solid #DBECFF;
  background-color: #FFFFFF;
}
.l-gnav-right > li:nth-child(3) a {
  color: #fff;
  background-color: #31955E;
}
body.page-index .l-gnav-right a {
  height: 8rem;
}
@media print, screen and (max-width: 767px) {
  .l-gnav-right {
    display: none;
  }
}

/* --------------------------------------------------------------------------------
   .l-header : ヘッダ
----------------------------------------------------------------------------------- */
.l-header {
  position: relative;
  height: 12rem;
  /* 固定 */
  /* トップのみ少しレイアウトが違う */
}
.l-header__logo {
  z-index: 20;
  position: relative;
  width: 13rem;
  height: 12rem;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.l-header__company-logo {
  position: absolute;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 5.5rem;
  padding: 0 2rem;
}
.l-header.is-fixed .l-header__logo {
  position: fixed;
  width: 7.0417rem;
  height: 6.5rem;
  margin: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
body.page-index .l-header {
  height: 14rem;
  /* 固定 */
}
body.page-index .l-header__logo {
  margin-top: 2rem;
  margin-left: 2rem;
  -webkit-box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, .15);
          box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, .15);
}
body.page-index .l-header__company-logo {
  height: 6rem;
}
body.page-index .l-header.is-fixed .l-header__logo {
  width: 8.667rem;
  height: 8rem;
}
@media print, screen and (max-width: 959px) {
  .l-header {
    /* 固定 */
  }
  .l-header__logo {
    width: 11rem;
    height: 10.15rem;
    margin-top: 1rem;
    margin-left: 1rem;
  }
  .l-header.is-fixed .l-gnav__left {
    right: 29rem;
    top: 0;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .l-header.is-fixed .l-sp-menu-btn {
    position: fixed;
  }
}
@media print, screen and (max-width: 767px) {
  .l-header {
    height: 8rem;
    /* 固定 */
  }
  .l-header__company-logo {
    bottom: 0rem;
  }
  .l-header__company-logo img {
    width: 15rem;
  }
  body:not(.page-index) .l-header__logo {
    margin: 0;
    height: 8rem;
  }
  body:not(.page-index) .l-header__logo img {
    height: 8rem;
  }
  body:not(.page-index) .l-header__company-logo {
    display: none;
  }
  .l-header.is-fixed {
    z-index: 10;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, .9);
    -webkit-box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, .15);
            box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, .15);
  }
  .l-header.is-fixed .l-header__company-logo {
    display: none;
  }
  body.page-index .l-header.is-fixed {
    height: 8rem;
  }
}

/* --------------------------------------------------------------------------------
   .l-main : メインコンテンツエリア
----------------------------------------------------------------------------------- */
.l-main {
  background: url(/images/bg/bg-right-bottom.svg) no-repeat right bottom;
}
/* --------------------------------------------------------------------------------
   .l-mega-menu : メガメニュー
----------------------------------------------------------------------------------- */
.l-mega-menu {
  display: none;
  z-index: 1;
  position: fixed;
  left: 0;
  top: 6.5rem;
  width: 100%;
  overflow: auto;
  padding: 3rem 0;
  background: #EFF9FF;
  background-size: 110%;
  -webkit-box-shadow: 0 1rem 1rem rgba(0, 66, 126, .25);
          box-shadow: 0 1rem 1rem rgba(0, 66, 126, .25);
  opacity: 0;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  /* トップのみ少しレイアウトが違う */
}
.l-mega-menu__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  max-width: 120rem;
  margin: 1rem auto 0;
}
.l-mega-menu__category:first-child {
  margin-top: 0;
}
.l-mega-menu__category > h2 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20rem;
  padding-right: 1.5rem;
  line-height: 1.5;
  border-right: 0.1rem solid #9AC3DE;
}
.l-mega-menu__category > h2 em {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  color: #00427E;
}
.l-mega-menu__category > h2 span {
  display: block;
  font-size: 1.2rem;
  font-weight: normal;
  color: #00427E;
}
.l-mega-menu ul {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}
.l-mega-menu ul > li {
  width: calc(33.33333% - 0.33333rem);
}
.l-mega-menu__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  min-height: 8rem;
  padding: 2rem 2rem 2rem 1.5rem;
  line-height: 1.5;
  text-decoration: none;
  border-radius: 0.5rem;
  background-color: #FFFFFF;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.l-mega-menu__item__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.4rem;
  height: 6.4rem;
  overflow: hidden;
  border-radius: 0.5rem;
}
.l-mega-menu__item__img img {
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.l-mega-menu__item h3 {
  font-size: 1.4rem;
  font-weight: bold;
}
.l-mega-menu__item p {
  font-size: 1.3rem;
  font-weight: normal;
  color: #222222;
}
.l-mega-menu__item:hover {
  -webkit-box-shadow: 0 0.2rem 0.3rem rgba(0, 66, 126, .25);
          box-shadow: 0 0.2rem 0.3rem rgba(0, 66, 126, .25);
}
.l-mega-menu__item:hover .l-mega-menu__item__img img {
  -webkit-transform: scale(1.35);
          transform: scale(1.35);
}
.l-mega-menu__item:hover {
  background-color: #FFFFFF;
}
.l-mega-menu__category.is-solution > ul > li {
  width: 66.667%;
}
.l-mega-menu__category.is-solution .p-products-top__item {
  gap: 5rem;
  padding: 2rem 5rem;
  background-color: #F4FFF9;
}
.l-mega-menu__category.is-solution .p-products-top__item__img {
  width: 28rem;
}
.l-mega-menu__category.is-solution .p-products-top__item h3 {
  color: #31955E;
}
.l-mega-menu__category.is-solution .p-products-top__item h4 {
  color: #222222;
  line-height: 1.7;
}
.l-mega-menu__category.is-solution .p-products-top__item p {
  font-size: 1.6rem;
  line-height: 1.7;
}
.l-mega-menu__category.is-solution .p-products-top__item:hover {
  background-color: #FFFFFF;
}
body.page-index .l-mega-menu {
  top: 8rem;
}
@media print, screen and (max-width: 959px) {
  .l-mega-menu {
    width: 100%;
    padding: 5rem 2rem 2rem 2rem;
  }
  .l-mega-menu__category {
    display: block;
    margin-top: 2rem;
  }
  .l-mega-menu__category > h2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    margin-bottom: 1rem;
    padding-right: 2rem;
    border: 0;
  }
  .l-mega-menu__category > h2 br {
    display: none;
  }
  .l-mega-menu ul > li {
    width: calc(33.33333% - 0.33333rem);
  }
  .l-mega-menu__item {
    gap: 1rem;
    min-height: 10rem;
    padding: 1rem 1rem 1rem 0.5rem;
  }
  .l-mega-menu__item__img {
    width: 5.6rem;
    height: 5.6rem;
  }
  .l-mega-menu__item p {
    font-size: 1.2rem;
  }
  .l-mega-menu__category.is-solution > ul > li {
    width: 100%;
  }
}
@media print, screen and (max-width: 767px) {
  .l-mega-menu {
    height: calc(100% - 8rem);
    overflow: auto;
  }
  .l-mega-menu__category > h2 {
    gap: 2rem;
  }
  .l-mega-menu__category > h2 em {
    white-space: nowrap;
  }
  .l-mega-menu ul > li {
    width: 100%;
  }
  .l-mega-menu__item {
    height: auto !important;
    min-height: 0;
    padding: 1rem !important;
  }
  .l-mega-menu__item__img {
    width: 4.8rem;
    height: 4.8rem;
  }
}

/* --------------------------------------------------------------------------------
   .l-pagetop : ページトップボタン
----------------------------------------------------------------------------------- */
.l-pagetop {
  position: fixed;
  right: 3rem;
  bottom: -10rem;
  width: 6.4rem;
  height: 6.4rem;
  padding: 0;
  font-size: 6.4rem;
  line-height: 1;
  color: #AEB7BF;
  outline: none;
  border: 0;
  background: none;
  opacity: 0.8;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.l-pagetop:hover {
  color: #0072BC;
  opacity: 1;
}
.l-pagetop.is-active {
  bottom: 3rem;
}
@media print, screen and (max-width: 767px) {
  .l-pagetop {
    right: 1rem;
    width: 4.8rem;
    height: 4.8rem;
    font-size: 4.8rem;
  }
  .l-pagetop.is-active {
    bottom: 1rem;
  }
}

/* --------------------------------------------------------------------------------
   .l-sp-menu-btn : スマホメニューボタン
----------------------------------------------------------------------------------- */
.l-sp-menu-btn {
  display: none;
}
@media print, screen and (max-width: 959px) {
  .l-sp-menu-btn {
    z-index: 30;
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 9rem;
    height: 6.5rem;
    padding: 0;
    outline: 0;
    border: 0;
    border-radius: 0;
    background-color: #0072BC;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }
  body.page-index .l-sp-menu-btn {
    height: 8rem;
  }
  .l-sp-menu-btn span {
    position: absolute;
    left: 30%;
    width: 40%;
    height: 2px;
    background-color: #FFFFFF;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }
  .l-sp-menu-btn span:nth-of-type(1) {
    top: 32%;
  }
  .l-sp-menu-btn span:nth-of-type(2), .l-sp-menu-btn span:nth-of-type(3) {
    top: 50%;
  }
  .l-sp-menu-btn span:nth-of-type(4) {
    top: 68%;
  }
  .l-sp-menu-btn.is-active {
    height: 8rem;
    background-color: #0072BC;
  }
  .l-sp-menu-btn.is-active span {
    position: absolute;
    width: 40%;
    background-color: #FFFFFF;
  }
  .l-sp-menu-btn.is-active span:nth-of-type(1), .l-sp-menu-btn.is-active span:nth-of-type(4) {
    opacity: 0;
  }
  .l-sp-menu-btn.is-active span:nth-of-type(2) {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .l-sp-menu-btn.is-active span:nth-of-type(3) {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media print, screen and (max-width: 767px) {
  .l-sp-menu-btn {
    width: 7rem;
    height: 8rem;
  }
}

/* --------------------------------------------------------------------------------
   .l-sp-menu : SPメニュー
----------------------------------------------------------------------------------- */
.l-sp-menu {
  display: none;
}
@media print, screen and (max-width: 959px) {
  .l-sp-menu {
    z-index: 25;
    position: fixed;
    right: -32rem;
    top: 0;
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    max-width: 32rem;
    background-color: #FFFFFF;
    -webkit-box-shadow: 0 1rem 1rem rgba(0, 66, 126, .25);
            box-shadow: 0 1rem 1rem rgba(0, 66, 126, .25);
  }
  .l-sp-menu .l-gnav.is-sp {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-right: 0;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav__left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav__left > li {
    display: block;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav__left > li a:not(.l-mega-menu__item) {
    height: 6rem;
    padding: 2rem;
    font-size: 1.6rem;
    font-weight: bold;
    border: 0;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav__left > li a:not(.l-mega-menu__item) i.fas {
    display: none;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav__left > li a:not(.l-mega-menu__item):hover {
    background-color: #EFF9FF;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav__left .has-child:hover .l-mega-menu {
    display: none;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav-right {
    display: block;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav-right a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 6rem;
    padding: 2rem;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: left;
    color: #0072BC;
    border: 0;
    background-color: transparent;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav-right a:hover {
    background-color: #EFF9FF;
  }
  .l-sp-menu .l-gnav.is-sp .l-gnav-right a br {
    display: none;
  }
  .l-sp-menu .l-sp-menu__close {
    width: 240px;
    height: 40px;
    margin-top: 20px;
    font-size: 14px;
    font-weight: bold;
    color: #0072BC;
    outline: 0;
    border: 0;
    border-radius: 40px;
    background-color: rgba(255, 255, 255, .7);
  }
  body.page_first_login_form .l-sp-menu ._point, body.page_first_login_flow .l-sp-menu ._point {
    display: none;
  }
}

/* --------------------------------------------------------------------------------
   .l-bread : パンくず
----------------------------------------------------------------------------------- */
.l-bread {
  position: absolute;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 0.4rem 2rem;
  font-size: 1.4rem;
  color: #FFFFFF;
}
.l-bread a {
  color: #FFFFFF;
}
.l-bread li:not(:last-child)::after {
  content: "\f105";
  margin: 0 1.2rem;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  line-height: 1;
  opacity: 0.5;
}
@media print, screen and (max-width: 767px) {
  .l-bread {
    width: 100%;
    overflow: auto;
    white-space: nowrap;
  }
}

/* --------------------------------------------------------------------------------
   .l-page-title : ページタイトル
----------------------------------------------------------------------------------- */
.l-page-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.2rem;
  height: 30rem;
  background: url(/images/common/page-title-bg.png) no-repeat center;
  background-size: cover;
  text-align: center;
  color: #FFFFFF;
}
.l-page-title h1 {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.3;
}
.l-page-title.is-bunseki {
  background-image: url(/images/common/page-title-bg-green.png);
}
.l-page-title.is-casestudy h1 {
  text-align: center;
}
.l-page-title.is-casestudy h1 span {
  display: block;
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: bold;
  color: #FFFFFF;
}
.l-page-title.is-casestudy h1 em {
  display: block;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.5;
  color: #FFFFFF;
}
@media print, screen and (max-width: 767px) {
  .l-page-title {
    padding: 7.5rem 1.6rem 5rem;
  }
  .l-page-title.is-casestudy {
    height: auto;
    padding: 10rem 1.6rem 5rem;
  }
  .l-page-title.is-casestudy h1 span {
    font-size: 1.6rem;
  }
  .l-page-title.is-casestudy h1 em {
    font-size: 2.4rem;
  }
}

/* --------------------------------------------------------------------------------
   .c-btn : 汎用のボタン
   --------------------------------------------------------------------------------
    - ボタンは a か button 要素で利用可能です
    - 以下のバリエーションを用意しています
          1. デフォルト: a.c-btn または button.c-btn
          2. サイズ: is-xl, is-lg, （未指定）, is-sm, is-xs
          3. レベル: （未指定）, is-primary, is-primary-alt, .is-outline
          4. 状態: disabled 属性
          5. ローディング: .is-loading 付加でボタン文言をローディングアイコンに変更
             ※注： .is-loading の付加だけではボタンとしての機能は活きている状態なので
                    disalbed 属性も JavaScript 等で付加すること
----------------------------------------------------------------------------------- */
.c-btn,
a.c-btn {
  /* 基本スタイル */
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 12rem;
  height: 4.8rem;
  padding: 0 2rem;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  color: #0072BC;
  outline: 0;
  border-radius: 0.5rem;
  border: 0.1rem solid #0072BC;
  background-color: #FFFFFF;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear;
  /* サイズ */
  /* 緑ボタン（ベタ塗り） */
  /* 青ボタン（ベタ塗り） */
  /* 緑ボタン（アウトライン） */
  /* disabled */
  /* ローディング */
  /* アイコン付きボタン - 共通スタイル */
  /* アイコン付きボタン - 左矢印 */
  /* アイコン付きボタン - 右矢印 */
  /* アイコン付きボタン - プラス */
  /* アイコン付きボタン - 提出、送る */
  /* アイコン付きボタン - ファイル */
  /* アイコンのみの場合はアイコン左右のマージンなし */
  /* アイコン付きボタン - 再生 */
}
.c-btn:visited,
a.c-btn:visited {
  text-decoration: none;
  color: #0072BC;
}
.c-btn:hover, .c-btn:active, .c-btn.is-active,
a.c-btn:hover,
a.c-btn:active,
a.c-btn.is-active {
  color: #FFFFFF;
  border-color: #FFFFFF;
  background-color: #0072BC;
}
.c-btn.is-xl,
a.c-btn.is-xl {
  min-width: 20rem;
  height: 8rem;
  padding: 0 3rem;
  font-size: 2rem;
}
.c-btn.is-lg,
a.c-btn.is-lg {
  min-width: 16rem;
  height: 6rem;
  padding: 0 3rem;
  font-size: 1.8rem;
}
.c-btn.is-sm,
a.c-btn.is-sm {
  min-width: 8rem;
  height: 3.6rem;
  padding: 0 2rem;
  font-size: 1.6rem;
}
.c-btn.is-xs,
a.c-btn.is-xs {
  min-width: 4rem;
  height: 2.4rem;
  padding: 0 1rem;
  font-size: 1.3rem;
}
.c-btn.is-green,
a.c-btn.is-green {
  color: #FFFFFF;
  border-color: #31955E;
  background-color: #31955E;
}
.c-btn.is-green:hover, .c-btn.is-green:active, .c-btn.is-green.is-active,
a.c-btn.is-green:hover,
a.c-btn.is-green:active,
a.c-btn.is-green.is-active {
  color: #31955E;
  border-color: #31955E;
  background-color: #FFFFFF;
}
.c-btn.is-blue,
a.c-btn.is-blue {
  color: #FFFFFF;
  border-color: #0072BC;
  background-color: #0072BC;
}
.c-btn.is-blue:hover, .c-btn.is-blue:active, .c-btn.is-blue.is-active,
a.c-btn.is-blue:hover,
a.c-btn.is-blue:active,
a.c-btn.is-blue.is-active {
  color: #0072BC;
  border-color: #0072BC;
  background-color: #FFFFFF;
}
.c-btn.is-green-outline,
a.c-btn.is-green-outline {
  color: #31955E;
  border-color: #31955E;
  background-color: #FFFFFF;
}
.c-btn.is-green-outline:hover, .c-btn.is-green-outline:active, .c-btn.is-green-outline.is-active,
a.c-btn.is-green-outline:hover,
a.c-btn.is-green-outline:active,
a.c-btn.is-green-outline.is-active {
  color: #FFFFFF;
  border-color: #31955E;
  background-color: #31955E;
}
.c-btn:disabled, .c-btn:disabled:hover, .c-btn:disabled:active,
a.c-btn:disabled,
a.c-btn:disabled:hover,
a.c-btn:disabled:active {
  font-weight: normal;
  color: #AEB7BF;
  cursor: default;
  border-color: #E9ECEF;
  background-color: #E9ECEF;
}
.c-btn:disabled i.fas, .c-btn:disabled:hover i.fas, .c-btn:disabled:active i.fas,
a.c-btn:disabled i.fas,
a.c-btn:disabled:hover i.fas,
a.c-btn:disabled:active i.fas {
  color: #AEB7BF;
}
.c-btn.is-loading,
a.c-btn.is-loading {
  font-weight: normal;
  color: #DAE0E6;
  cursor: default;
  border-color: #DAE0E6;
  background-color: #DAE0E6;
}
.c-btn.is-loading i.fas,
a.c-btn.is-loading i.fas {
  color: #DAE0E6;
}
.c-btn.is-loading::after,
a.c-btn.is-loading::after {
  content: "\f110";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #31955E;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  color: #AEB7BF;
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.c-btn.is-loading:hover, .c-btn.is-loading:active,
a.c-btn.is-loading:hover,
a.c-btn.is-loading:active {
  -webkit-transform: none;
          transform: none;
}
.c-btn.is-left::before, .c-btn.is-left::after, .c-btn.is-right::before, .c-btn.is-right::after, .c-btn.is-plus::before, .c-btn.is-plus::after, .c-btn.is-send::before, .c-btn.is-send::after, .c-btn.is-file::before, .c-btn.is-file::after, .c-btn.is-play::before, .c-btn.is-play::after,
a.c-btn.is-left::before,
a.c-btn.is-left::after,
a.c-btn.is-right::before,
a.c-btn.is-right::after,
a.c-btn.is-plus::before,
a.c-btn.is-plus::after,
a.c-btn.is-send::before,
a.c-btn.is-send::after,
a.c-btn.is-file::before,
a.c-btn.is-file::after,
a.c-btn.is-play::before,
a.c-btn.is-play::after {
  margin-right: 1rem;
  font-family: "Font Awesome 5 Free";
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  color: #00427E;
}
.c-btn.is-left.is-primary::before, .c-btn.is-left.is-primary::after, .c-btn.is-right.is-primary::before, .c-btn.is-right.is-primary::after, .c-btn.is-plus.is-primary::before, .c-btn.is-plus.is-primary::after, .c-btn.is-send.is-primary::before, .c-btn.is-send.is-primary::after, .c-btn.is-file.is-primary::before, .c-btn.is-file.is-primary::after, .c-btn.is-play.is-primary::before, .c-btn.is-play.is-primary::after,
a.c-btn.is-left.is-primary::before,
a.c-btn.is-left.is-primary::after,
a.c-btn.is-right.is-primary::before,
a.c-btn.is-right.is-primary::after,
a.c-btn.is-plus.is-primary::before,
a.c-btn.is-plus.is-primary::after,
a.c-btn.is-send.is-primary::before,
a.c-btn.is-send.is-primary::after,
a.c-btn.is-file.is-primary::before,
a.c-btn.is-file.is-primary::after,
a.c-btn.is-play.is-primary::before,
a.c-btn.is-play.is-primary::after {
  color: #FFFFFF;
}
.c-btn.is-left.is-primary-alt::before, .c-btn.is-left.is-primary-alt::after, .c-btn.is-right.is-primary-alt::before, .c-btn.is-right.is-primary-alt::after, .c-btn.is-plus.is-primary-alt::before, .c-btn.is-plus.is-primary-alt::after, .c-btn.is-send.is-primary-alt::before, .c-btn.is-send.is-primary-alt::after, .c-btn.is-file.is-primary-alt::before, .c-btn.is-file.is-primary-alt::after, .c-btn.is-play.is-primary-alt::before, .c-btn.is-play.is-primary-alt::after,
a.c-btn.is-left.is-primary-alt::before,
a.c-btn.is-left.is-primary-alt::after,
a.c-btn.is-right.is-primary-alt::before,
a.c-btn.is-right.is-primary-alt::after,
a.c-btn.is-plus.is-primary-alt::before,
a.c-btn.is-plus.is-primary-alt::after,
a.c-btn.is-send.is-primary-alt::before,
a.c-btn.is-send.is-primary-alt::after,
a.c-btn.is-file.is-primary-alt::before,
a.c-btn.is-file.is-primary-alt::after,
a.c-btn.is-play.is-primary-alt::before,
a.c-btn.is-play.is-primary-alt::after {
  color: #000000;
}
.c-btn.is-left.is-sm::before, .c-btn.is-left.is-sm::after, .c-btn.is-right.is-sm::before, .c-btn.is-right.is-sm::after, .c-btn.is-plus.is-sm::before, .c-btn.is-plus.is-sm::after, .c-btn.is-send.is-sm::before, .c-btn.is-send.is-sm::after, .c-btn.is-file.is-sm::before, .c-btn.is-file.is-sm::after, .c-btn.is-play.is-sm::before, .c-btn.is-play.is-sm::after,
a.c-btn.is-left.is-sm::before,
a.c-btn.is-left.is-sm::after,
a.c-btn.is-right.is-sm::before,
a.c-btn.is-right.is-sm::after,
a.c-btn.is-plus.is-sm::before,
a.c-btn.is-plus.is-sm::after,
a.c-btn.is-send.is-sm::before,
a.c-btn.is-send.is-sm::after,
a.c-btn.is-file.is-sm::before,
a.c-btn.is-file.is-sm::after,
a.c-btn.is-play.is-sm::before,
a.c-btn.is-play.is-sm::after {
  font-size: 1.5rem;
}
.c-btn.is-left.is-xs::before, .c-btn.is-left.is-xs::after, .c-btn.is-right.is-xs::before, .c-btn.is-right.is-xs::after, .c-btn.is-plus.is-xs::before, .c-btn.is-plus.is-xs::after, .c-btn.is-send.is-xs::before, .c-btn.is-send.is-xs::after, .c-btn.is-file.is-xs::before, .c-btn.is-file.is-xs::after, .c-btn.is-play.is-xs::before, .c-btn.is-play.is-xs::after,
a.c-btn.is-left.is-xs::before,
a.c-btn.is-left.is-xs::after,
a.c-btn.is-right.is-xs::before,
a.c-btn.is-right.is-xs::after,
a.c-btn.is-plus.is-xs::before,
a.c-btn.is-plus.is-xs::after,
a.c-btn.is-send.is-xs::before,
a.c-btn.is-send.is-xs::after,
a.c-btn.is-file.is-xs::before,
a.c-btn.is-file.is-xs::after,
a.c-btn.is-play.is-xs::before,
a.c-btn.is-play.is-xs::after {
  font-size: 1.2rem;
}
.c-btn.is-left::before,
a.c-btn.is-left::before {
  content: "\f104";
}
.c-btn.is-right::after,
a.c-btn.is-right::after {
  content: "\f105";
  margin-left: 1rem;
  margin-right: 0;
}
.c-btn.is-plus::before,
a.c-btn.is-plus::before {
  content: "+";
  margin-bottom: 0.3rem;
}
.c-btn.is-send::before,
a.c-btn.is-send::before {
  content: "\f1d8";
}
.c-btn.is-file::before,
a.c-btn.is-file::before {
  content: "\f0c6";
  font-size: 1.6rem;
}
.c-btn:empty.is-left::before, .c-btn:empty.is-left::after, .c-btn:empty.is-right::before, .c-btn:empty.is-right::after, .c-btn:empty.is-plus::before, .c-btn:empty.is-plus::after, .c-btn:empty.is-send::before, .c-btn:empty.is-send::after, .c-btn:empty.is-file::before, .c-btn:empty.is-file::after,
a.c-btn:empty.is-left::before,
a.c-btn:empty.is-left::after,
a.c-btn:empty.is-right::before,
a.c-btn:empty.is-right::after,
a.c-btn:empty.is-plus::before,
a.c-btn:empty.is-plus::after,
a.c-btn:empty.is-send::before,
a.c-btn:empty.is-send::after,
a.c-btn:empty.is-file::before,
a.c-btn:empty.is-file::after {
  margin: 0;
}
.c-btn.is-play::before,
a.c-btn.is-play::before {
  content: "\f144";
}
@media print, screen and (max-width: 767px) {
  .c-btn,
  a.c-btn {
    width: 100% !important;
    /* サイズ（スマホでは sm と xs でも通常サイズとする） */
  }
  .c-btn.is-sm, .c-btn.is-xs,
  a.c-btn.is-sm,
  a.c-btn.is-xs {
    font-size: 1.4rem;
  }
}

/* --------------------------------------------------------------------------------
   .c-section-title : セクションタイトル
----------------------------------------------------------------------------------- */
.c-section-title {
  margin-bottom: 5rem;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  color: #0072BC;
}
.c-section-title span {
  display: block;
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  color: #222222;
}
.c-section-title em {
  color: #0072BC;
}
@media print, screen and (max-width: 959px) {
  .c-section-title {
    margin-bottom: 3rem;
    font-size: 2.2rem;
  }
  .c-section-title span {
    margin-bottom: 1rem;
    font-size: 1.4rem;
  }
}
@media print, screen and (max-width: 767px) {
  .c-section-title {
    font-size: 2rem;
  }
}

/* --------------------------------------------------------------------------------
   .c-flex : 汎用フレックスボックス
----------------------------------------------------------------------------------- */
.c-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
}
.c-flex.is-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.c-flex > .is-grow {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.c-flex.is-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-flex.is-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-flex.is-justify-strech {
  -webkit-box-pack: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
}
.c-flex.is-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-flex.is-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-flex.is-col.is-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-flex.is-col.is-middle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-flex.is-gap-0 {
  gap: 0;
}
.c-flex.is-gap-10 {
  gap: 1rem;
}
.c-flex.is-gap-20 {
  gap: 2rem;
}
.c-flex.is-gap-30 {
  gap: 3rem;
}
.c-flex.is-gap-40 {
  gap: 4rem;
}
.c-flex.is-gap-50 {
  gap: 5rem;
}
.c-flex.is-gap-60 {
  gap: 6rem;
}
.c-flex.is-gap-70 {
  gap: 7rem;
}
.c-flex.is-gap-80 {
  gap: 8rem;
}
.c-flex.is-gap-90 {
  gap: 9rem;
}
.c-flex.is-gap-100 {
  gap: 10rem;
}
@media print, screen and (max-width: 767px) {
  .c-flex.is-sp-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-flex.is-sp-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .c-flex.is-sp-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-flex.is-sp-middle {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-flex.is-sp-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-flex.is-sp-col.is-sp-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-flex.is-sp-col.is-sp-middle {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .c-flex.is-sp-gap-0 {
    gap: 0;
  }
  .c-flex.is-sp-gap-10 {
    gap: 1rem;
  }
  .c-flex.is-sp-gap-20 {
    gap: 2rem;
  }
  .c-flex.is-sp-gap-30 {
    gap: 3rem;
  }
  .c-flex.is-sp-gap-40 {
    gap: 4rem;
  }
  .c-flex.is-sp-gap-50 {
    gap: 5rem;
  }
  .c-flex.is-sp-gap-60 {
    gap: 6rem;
  }
  .c-flex.is-sp-gap-70 {
    gap: 7rem;
  }
  .c-flex.is-sp-gap-80 {
    gap: 8rem;
  }
  .c-flex.is-sp-gap-90 {
    gap: 9rem;
  }
  .c-flex.is-sp-gap-100 {
    gap: 10rem;
  }
}

/* --------------------------------------------------------------------------------
   .c-heading : 見出し
----------------------------------------------------------------------------------- */
.c-heading {
  font-weight: bold;
  line-height: 1.5;
}
.c-heading.is-center {
  text-align: center;
}
.c-heading.is-lv-2 {
  margin-bottom: 5rem;
  font-size: 2.8rem;
  color: #0072BC;
}
.page-products.is-bunseki .c-heading.is-lv-2 {
  color: #21854E;
}
.c-heading.is-lv-3 {
  margin-top: 5rem;
  margin-bottom: 1rem;
  font-size: 1.8rem;
  color: #000000;
}
.c-heading.is-lv-3:first-child {
  margin-top: 0;
}
.c-heading + .c-heading, h1 + .c-heading, h2 + .c-heading, h3 + .c-heading, h4 + .c-heading, h5 + .c-heading, h6 + .c-heading {
  margin-top: 0 !important;
}
@media print, screen and (max-width: 767px) {
  .c-heading.is-lv-2 {
    font-size: 2.4rem;
  }
}

/* --------------------------------------------------------------------------------
   .c-main-catch : メインキャッチ
----------------------------------------------------------------------------------- */
.c-main-catch {
  padding: 7.5rem 0;
  font-size: 2.8rem;
  line-height: 1.5;
  text-align: center;
  color: #0072BC;
}
.page-products.is-bunseki .c-main-catch {
  color: #21854E;
}
@media print, screen and (max-width: 767px) {
  .c-main-catch {
    padding: 5rem 2.4rem;
    font-size: 2.4rem;
  }
}

/* --------------------------------------------------------------------------------
   .c-table : 汎用テーブル
----------------------------------------------------------------------------------- */
.c-table th,
.c-table td {
  padding: 1.8rem 1.5rem;
  line-height: 1.5;
  border: 0;
  border-top: 0.1rem solid #DAE0E6;
  border-bottom: 0.1rem solid #DAE0E6;
}
.c-table th {
  color: #0072BC;
}
.c-table thead th {
  background-color: #F4FAFF;
}
.c-table.is-denshi-grade thead th {
  border: 0;
  background-color: transparent;
}
.c-table.is-denshi-grade thead span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 20rem;
  height: 3.6rem;
  color: #FFFFFF;
  border-radius: 0.5rem;
}
.c-table.is-denshi-grade thead span.is-basic {
  background-color: #0072BC;
}
.c-table.is-denshi-grade thead span.is-standard {
  background-color: #31955E;
}
.c-table.is-denshi-grade tbody th {
  background-color: transparent;
}
.c-table.is-denshi-grade tbody tr:nth-child(2n) {
  background-color: #F4FAFF;
}
.c-table.is-denshi-grade tbody tr:not(:first-child) {
  font-weight: bold;
}
.c-table.is-denshi-grade tbody i.fas {
  margin-right: 1rem;
  font-size: 3.2rem;
  vertical-align: middle;
  color: #0072BC;
}
.c-table.is-denshi-grade tbody i.fas.is-no {
  color: #CAD1D9;
}
.c-table.is-denshi-grade tbody i.fas.is-partial {
  color: #9AC3DE;
}
.c-table.is-denshi-scale {
  font-weight: bold;
  text-align: center;
}
.c-table.is-koukuu-spec th,
.c-table.is-koukuu-spec td {
  height: 7.2rem;
  padding: 0 1.5rem;
  vertical-align: middle;
}
.c-table.is-koukuu-spec thead th {
  text-align: left;
  color: #FFFFFF;
  background-color: #065B91;
}
.c-table.is-koukuu-spec tbody th {
  background-color: transparent;
}
.c-table.is-koukuu-spec tbody tr:nth-child(2n) {
  background-color: #F4FAFF;
}
.c-table.is-chiban-api-area th,
.c-table.is-chiban-api-area td {
  text-align: center;
  vertical-align: middle;
}
.c-table.is-chiban-api-area thead th {
  color: #FFFFFF;
  background-color: #065B91;
}
.c-table.is-chiban-api-area tbody th {
  background-color: #F1F9FE;
}
.c-table.is-chiban-api-feature thead th {
  text-align: left;
  color: #FFFFFF;
  background-color: #065B91;
}
.c-table.is-chiban-api-feature tbody th {
  background-color: #F1F9FE;
}
@media print, screen and (max-width: 767px) {
  .c-table th,
  .c-table td {
    padding: 1rem 0.8rem;
  }
  .c-table.is-denshi-grade tbody th,
  .c-table.is-denshi-grade tbody td {
    vertical-align: top;
  }
  .c-table.is-denshi-grade tbody tr > :not(:first-child) {
    text-align: center;
  }
  .c-table.is-denshi-grade tbody i.fas {
    display: block;
    margin: 0 auto;
  }
}

/* --------------------------------------------------------------------------------
   .c-inner : コンテンツ幅を制限するラッパー
----------------------------------------------------------------------------------- */
.c-inner {
  width: 120rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (max-width: 959px) {
  .c-inner {
    width: 100%;
    padding: 0 2.4rem;
  }
}
/* --------------------------------------------------------------------------------
   .c-section : セクション
----------------------------------------------------------------------------------- */
.c-section {
  margin-top: 7.5rem;
  margin-bottom: 7.5rem;
  padding: 7.5rem 0;
  border-top: 0.1rem solid #C7DFEF;
}
.c-section:first-child {
  margin-top: 0;
}
.c-section:last-child {
  margin-bottom: 0;
}
.c-section.no-border {
  border-top: 0;
}
/* --------------------------------------------------------------------------------
   .c-chart : 図
----------------------------------------------------------------------------------- */
.c-chart {
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.c-chart:first-child {
  margin-top: 0;
}
.c-chart:last-child {
  margin-bottom: 0;
}
@media print, screen and (max-width: 767px) {
  .c-chart {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}

/* --------------------------------------------------------------------------------
   .c-form-checkbox : チェックボックス
   --------------------------------------------------------------------------------
    - 次のように記述することを想定（span 必須。ラベルテキストがない場合は空の span）
        <label class="c-form-checkbox">
          <input type="checkbox">
          <span>ラベル</span>
        </label>

    - 以下のバリエーションを用意しています
        1. エラー時（当該要素、または先祖要素に .is-error を付加）
        2. disabled 属性
----------------------------------------------------------------------------------- */
.c-form-checkbox {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.6rem 0;
  /* エラー時のスタイル */
  /* サイズ */
  /* ラベルテキストがないとき */
}
.c-form-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.c-form-checkbox input[type=checkbox] + span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 1em;
  padding-right: 1rem;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #00427E;
  cursor: pointer;
}
.c-form-checkbox input[type=checkbox] + span::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  margin-right: 0.6rem;
  line-height: 0;
  border: 0.1rem solid #9AC3DE;
  border-radius: 0.4rem;
  background-color: #FFFFFF;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.c-form-checkbox input[type=checkbox] + span:hover::before {
  border: 0.1rem solid #0072BC;
  background-color: rgb(188, 229, 255);
}
.c-form-checkbox input[type=checkbox]:checked + span::before {
  background-color: #0072BC;
  -webkit-box-shadow: inset 0 0 0 0.4rem #FFFFFF;
          box-shadow: inset 0 0 0 0.4rem #FFFFFF;
}
.c-form-checkbox input[type=checkbox]:disabled + span {
  cursor: default;
  color: #949DA6;
}
.c-form-checkbox input[type=checkbox]:disabled + span::before {
  border-color: #CAD1D9;
  background: #F4FAFF;
}
.c-form-checkbox input[type=checkbox]:disabled:checked + span::before {
  background-color: #CAD1D9;
  -webkit-box-shadow: inset 0 0 0 0.4rem #FFFFFF;
          box-shadow: inset 0 0 0 0.4rem #FFFFFF;
}
.c-form-checkbox.is-error input[type=checkbox] + span, .is-error .c-form-checkbox input[type=checkbox] + span {
  color: #FF4400;
}
.c-form-checkbox.is-error input[type=checkbox] + span::before, .is-error .c-form-checkbox input[type=checkbox] + span::before {
  border-color: #FF4400;
  background-color: #C96161;
}
.c-form-checkbox.is-error input[type=checkbox]:checked + span::before, .is-error .c-form-checkbox input[type=checkbox]:checked + span::before {
  border-color: #9AC3DE;
  background-color: #0072BC;
}
.c-form-checkbox.is-error input[type=checkbox]:disabled + span, .is-error .c-form-checkbox input[type=checkbox]:disabled + span {
  cursor: default;
  color: #FF4400;
}
.c-form-checkbox.is-error input[type=checkbox]:disabled + span::before, .is-error .c-form-checkbox input[type=checkbox]:disabled + span::before {
  border-color: #FF4400;
  background: #FF4400;
}
.c-form-checkbox.is-error input[type=checkbox] + span:empty, .is-error .c-form-checkbox input[type=checkbox] + span:empty {
  padding-right: 0;
}
.c-form-checkbox.is-error input[type=checkbox] + span:empty::before, .is-error .c-form-checkbox input[type=checkbox] + span:empty::before {
  margin-right: 0;
}
.c-form-checkbox.is-lg {
  padding: 0.8rem 0;
}
.c-form-checkbox.is-lg input[type=checkbox] + span {
  margin-right: 1em;
}
.c-form-checkbox.is-lg input[type=checkbox] + span::before {
  width: 3.2rem;
  height: 3.2rem;
  margin-right: 0.8rem;
  border-radius: 0.6rem;
}
.c-form-checkbox.is-sm {
  padding: 0.2rem 0;
}
.c-form-checkbox.is-sm input[type=checkbox] + span {
  margin-right: 0;
  font-size: 1.4rem;
}
.c-form-checkbox.is-sm input[type=checkbox] + span::before {
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
  border-radius: 0.2rem;
}
.c-form-checkbox.is-sm input[type=checkbox]:checked + span::before {
  -webkit-box-shadow: inset 0 0 0 0.2rem #FFFFFF;
          box-shadow: inset 0 0 0 0.2rem #FFFFFF;
}
.c-form-checkbox input[type=checkbox] + span:empty {
  margin-right: 0;
  padding-right: 0;
}
.c-form-checkbox input[type=checkbox] + span:empty::before {
  margin-right: 0;
}
@media print, screen and (max-width: 767px) {
  .c-form-checkbox {
    /* スマホで hover 状態が残っても大丈夫なように hover に通常スタイルを当てる */
  }
  .c-form-checkbox input[type=checkbox] {
    /* :checked のときはちゃんとチェックがつくようにする */
    /* :disabled のときはちゃんと disabled のままになるようにする */
  }
  .c-form-checkbox input[type=checkbox] + span:hover::before {
    border-color: #9AC3DE;
    background-color: #FFFFFF;
  }
  .c-form-checkbox input[type=checkbox]:checked + span::before, .c-form-checkbox input[type=checkbox]:checked + span:hover::before {
    background-color: #0072BC;
    -webkit-box-shadow: inset 0 0 0 0.4rem #FFFFFF;
            box-shadow: inset 0 0 0 0.4rem #FFFFFF;
  }
  .c-form-checkbox input[type=checkbox]:disabled + span::before, .c-form-checkbox input[type=checkbox]:disabled + span:hover::before {
    border-color: #CAD1D9;
    background: #C7DFEF;
  }
}

/* --------------------------------------------------------------------------------
   .c-form-radio : ラジオボタン
   --------------------------------------------------------------------------------
    - 次のように記述することを想定（span 必須。ラベルテキストがない場合は空の span）
        <label class="c-form-radio">
          <input type="radio">
          <span>ラベル</span>
        </label>

    - 以下のバリエーションを用意しています
        1. エラー時（当該要素、または先祖要素に .is-error を付加）
        2. disabled 属性
----------------------------------------------------------------------------------- */
.c-form-radio {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.6rem 0;
  /* エラー時のスタイル */
  /* サイズ */
  /* ラベルテキストがないとき */
}
.c-form-radio input[type=radio] {
  position: absolute;
  opacity: 0;
}
.c-form-radio input[type=radio] + span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 1em;
  padding-right: 0.1rem;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #00427E;
  cursor: pointer;
}
.c-form-radio input[type=radio] + span::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  margin-right: 0.6rem;
  line-height: 0;
  border: 0.1rem solid #9AC3DE;
  border-radius: 100%;
  background-color: #FFFFFF;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.c-form-radio input[type=radio] + span:hover::before {
  border: 0.1rem solid #0072BC;
  background-color: rgb(188, 229, 255);
}
.c-form-radio input[type=radio]:checked + span::before {
  background-color: #0072BC;
  -webkit-box-shadow: inset 0 0 0 0.4rem #FFFFFF;
          box-shadow: inset 0 0 0 0.4rem #FFFFFF;
}
.c-form-radio input[type=radio]:disabled + span {
  cursor: default;
  color: #949DA6;
}
.c-form-radio input[type=radio]:disabled + span::before {
  border-color: #CAD1D9;
  background: #F4FAFF;
}
.c-form-radio input[type=radio]:disabled:checked + span::before {
  background-color: #CAD1D9;
  -webkit-box-shadow: inset 0 0 0 0.4rem #FFFFFF;
          box-shadow: inset 0 0 0 0.4rem #FFFFFF;
}
.c-form-radio.is-error input[type=radio] + span, .is-error .c-form-radio input[type=radio] + span {
  color: #FF4400;
}
.c-form-radio.is-error input[type=radio] + span::before, .is-error .c-form-radio input[type=radio] + span::before {
  border-color: #FF4400;
  background-color: #C96161;
}
.c-form-radio.is-error input[type=radio]:checked + span::before, .is-error .c-form-radio input[type=radio]:checked + span::before {
  border-color: #9AC3DE;
  background-color: #0072BC;
}
.c-form-radio.is-error input[type=radio]:disabled + span, .is-error .c-form-radio input[type=radio]:disabled + span {
  cursor: default;
  color: #FF4400;
}
.c-form-radio.is-error input[type=radio]:disabled + span::before, .is-error .c-form-radio input[type=radio]:disabled + span::before {
  border-color: #FF4400;
  background: #FF4400;
}
.c-form-radio.is-error input[type=radio] + span:empty, .is-error .c-form-radio input[type=radio] + span:empty {
  padding-right: 0;
}
.c-form-radio.is-error input[type=radio] + span:empty::before, .is-error .c-form-radio input[type=radio] + span:empty::before {
  margin-right: 0;
}
.c-form-radio.is-lg {
  padding: 0.8rem 0;
}
.c-form-radio.is-lg input[type=radio] + span {
  margin-right: 1em;
}
.c-form-radio.is-lg input[type=radio] + span::before {
  width: 3.2rem;
  height: 3.2rem;
  margin-right: 0.8rem;
}
.c-form-radio.is-sm {
  padding: 0.2rem 0;
}
.c-form-radio.is-sm input[type=radio] + span {
  margin-right: 0;
  font-size: 1.4rem;
}
.c-form-radio.is-sm input[type=radio] + span::before {
  width: 1.6rem;
  height: 1.6rem;
  margin-right: 0.4rem;
}
.c-form-radio.is-sm input[type=radio]:checked + span::before {
  -webkit-box-shadow: inset 0 0 0 0.2rem #FFFFFF;
          box-shadow: inset 0 0 0 0.2rem #FFFFFF;
}
.c-form-radio input[type=radio] + span:empty {
  margin-right: 0;
  padding-right: 0;
}
.c-form-radio input[type=radio] + span:empty::before {
  margin-right: 0;
}
@media print, screen and (max-width: 767px) {
  .c-form-radio {
    /* スマホで hover 状態が残っても大丈夫なように hover に通常スタイルを当てる */
  }
  .c-form-radio input[type=checkbox] {
    /* :checked のときはちゃんとチェックがつくようにする */
    /* :disabled のときはちゃんと disabled のままになるようにする */
  }
  .c-form-radio input[type=checkbox] + span:hover::before {
    border-color: #9AC3DE;
    background-color: #FFFFFF;
  }
  .c-form-radio input[type=checkbox]:checked + span::before, .c-form-radio input[type=checkbox]:checked + span:hover::before {
    background-color: #0072BC;
    -webkit-box-shadow: inset 0 0 0 0.4rem #FFFFFF;
            box-shadow: inset 0 0 0 0.4rem #FFFFFF;
  }
  .c-form-radio input[type=checkbox]:disabled + span::before, .c-form-radio input[type=checkbox]:disabled + span:hover::before {
    border-color: #CAD1D9;
    background: #C7DFEF;
  }
}

/* --------------------------------------------------------------------------------
   .c-form-text : テキストフィールド
   --------------------------------------------------------------------------------
    - 以下のバリエーションを用意しています
        1. エラー時（当該要素、または先祖要素に .is-error を付加）
        2. disabled 属性
----------------------------------------------------------------------------------- */
input[type=text].c-form-text,
input[type=email].c-form-text,
input[type=password].c-form-text {
  max-width: 100%;
  height: 3.6rem;
  padding: 0 1rem;
  font-size: 1.6rem;
  line-height: 1;
  border: 1px solid #CAD1D9;
  border-radius: 0.5rem;
  /* エラー時のスタイル */
  /* disabled */
  /* readonly */
  /* サイズ */
}
input[type=text].c-form-text::-webkit-input-placeholder,
input[type=email].c-form-text::-webkit-input-placeholder,
input[type=password].c-form-text::-webkit-input-placeholder {
  color: #949DA6;
}
input[type=text].c-form-text::-moz-placeholder,
input[type=email].c-form-text::-moz-placeholder,
input[type=password].c-form-text::-moz-placeholder {
  color: #949DA6;
}
input[type=text].c-form-text::-ms-input-placeholder,
input[type=email].c-form-text::-ms-input-placeholder,
input[type=password].c-form-text::-ms-input-placeholder {
  color: #949DA6;
}
input[type=text].c-form-text::-webkit-input-placeholder, input[type=email].c-form-text::-webkit-input-placeholder, input[type=password].c-form-text::-webkit-input-placeholder {
  color: #949DA6;
}
input[type=text].c-form-text::-moz-placeholder, input[type=email].c-form-text::-moz-placeholder, input[type=password].c-form-text::-moz-placeholder {
  color: #949DA6;
}
input[type=text].c-form-text:-ms-input-placeholder, input[type=email].c-form-text:-ms-input-placeholder, input[type=password].c-form-text:-ms-input-placeholder {
  color: #949DA6;
}
input[type=text].c-form-text::-ms-input-placeholder, input[type=email].c-form-text::-ms-input-placeholder, input[type=password].c-form-text::-ms-input-placeholder {
  color: #949DA6;
}
input[type=text].c-form-text::placeholder,
input[type=email].c-form-text::placeholder,
input[type=password].c-form-text::placeholder {
  color: #949DA6;
}
input[type=text].c-form-text:hover,
input[type=email].c-form-text:hover,
input[type=password].c-form-text:hover {
  outline: #0072BC auto 0.1rem;
}
input[type=text].c-form-text:focus,
input[type=email].c-form-text:focus,
input[type=password].c-form-text:focus {
  outline: #0072BC auto 2px;
}
input[type=text].c-form-text.is-error, input[type=text].c-form-text.is-error:focus, .is-error input[type=text].c-form-text, .is-error input[type=text].c-form-text:focus,
input[type=email].c-form-text.is-error,
input[type=email].c-form-text.is-error:focus,
.is-error input[type=email].c-form-text,
.is-error input[type=email].c-form-text:focus,
input[type=password].c-form-text.is-error,
input[type=password].c-form-text.is-error:focus,
.is-error input[type=password].c-form-text,
.is-error input[type=password].c-form-text:focus {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  color: #FF4400;
  -webkit-box-shadow: 0 0 0 0.2rem #FF4400;
          box-shadow: 0 0 0 0.2rem #FF4400;
}
input[type=text].c-form-text.is-error:disabled, input[type=text].c-form-text.is-error:focus:disabled, .is-error input[type=text].c-form-text:disabled, .is-error input[type=text].c-form-text:focus:disabled,
input[type=email].c-form-text.is-error:disabled,
input[type=email].c-form-text.is-error:focus:disabled,
.is-error input[type=email].c-form-text:disabled,
.is-error input[type=email].c-form-text:focus:disabled,
input[type=password].c-form-text.is-error:disabled,
input[type=password].c-form-text.is-error:focus:disabled,
.is-error input[type=password].c-form-text:disabled,
.is-error input[type=password].c-form-text:focus:disabled {
  color: #C7DFEF;
  outline: 0;
}
input[type=text].c-form-text:disabled,
input[type=email].c-form-text:disabled,
input[type=password].c-form-text:disabled {
  color: #949DA6;
  border-color: #C7DFEF;
  background-color: #C7DFEF;
  outline: 0;
}
input[type=text].c-form-text[readonly],
input[type=email].c-form-text[readonly],
input[type=password].c-form-text[readonly] {
  cursor: default;
  border-color: #C7DFEF;
  background-color: #C7DFEF;
  outline: 0;
}
input[type=text].c-form-text.is-lg,
input[type=email].c-form-text.is-lg,
input[type=password].c-form-text.is-lg {
  height: 4.8rem;
}
input[type=text].c-form-text.is-sm,
input[type=email].c-form-text.is-sm,
input[type=password].c-form-text.is-sm {
  height: 3.2rem;
}
/* --------------------------------------------------------------------------------
   .p-bottom-btn : セクション最下部等にある「くわしく見る」などのボタンエリア
----------------------------------------------------------------------------------- */
.p-bottom-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2rem;
  margin: 5rem 0;
}
.p-bottom-btn:first-child {
  margin-top: 0;
}
.p-bottom-btn:last-child {
  margin-bottom: 0;
}
/* --------------------------------------------------------------------------------
   .p-casestudy : 導入事例エリア
----------------------------------------------------------------------------------- */
.p-casestudy {
  padding: 7.5rem 0;
}
.p-casestudy__logo-list__wrapper {
  position: relative;
  overflow: hidden;
  border-top: 0.1rem solid #DAE0E6;
  border-bottom: 0.1rem solid #DAE0E6;
}
.p-casestudy__logo-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5rem;
  width: 540rem;
  min-width: 100%;
  margin-bottom: 0;
  padding: 5rem 0;
  -webkit-animation: 25s linear infinite sliderAnimation;
          animation: 25s linear infinite sliderAnimation;
}
.p-casestudy__logo-list li {
  position: relative;
}
@-webkit-keyframes sliderAnimation {
  100% {
    -webkit-transform: translateX(-270rem);
            transform: translateX(-270rem);
  }
}
@keyframes sliderAnimation {
  100% {
    -webkit-transform: translateX(-270rem);
            transform: translateX(-270rem);
  }
}
@media print, screen and (max-width: 959px) {
  .p-casestudy {
    padding: 7.5rem 2rem;
  }
  .p-casestudy__logo-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 3rem;
    padding: 3rem 0;
    border: 0;
  }
}
@media print, screen and (max-width: 767px) {
  .p-casestudy__logo-list {
    gap: 2rem;
  }
  .p-casestudy__logo-list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-casestudy__logo-list img {
    max-width: 12rem;
    max-height: 4rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-casestudy-list : 導入事例リスト
----------------------------------------------------------------------------------- */
.p-casestudy-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 120rem;
  gap: 3rem;
  margin: auto;
}
.p-casestudy-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(33.33333% - 2rem);
}
.p-casestudy-list__item > a {
  display: block;
  margin-bottom: auto;
  text-decoration: none;
  color: #222222;
}
.p-casestudy-list__item__img {
  position: relative;
}
.p-casestudy-list__item__img > div {
  overflow: hidden;
}
.p-casestudy-list__item__img > div img {
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.p-casestudy-list__item__img > img {
  position: absolute;
  right: -0.8rem;
  bottom: -2.5rem;
  width: 16rem;
}
.p-casestudy-list__item h3 {
  margin: 2rem 0 1rem;
  line-height: 1.5;
}
.p-casestudy-list__item h3 span {
  display: block;
  margin-bottom: 1rem;
}
.p-casestudy-list__item h3 em {
  display: block;
  font-size: 1.8rem;
  color: #0072BC;
}
.p-casestudy-list__item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  line-height: 1.5;
}
.p-casestudy-list__item dl dt {
  width: 8rem;
  color: #565E66;
}
.p-casestudy-list__item:hover .p-casestudy-list__item__img > div img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media print, screen and (max-width: 1279px) {
  .p-casestudy-list {
    width: 100%;
    padding: 0 2.4rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-casestudy-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-casestudy-list__item {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------------
   .p-faq : よくあるご質問エリア
----------------------------------------------------------------------------------- */
.p-faq {
  padding: 7.5rem 0;
}
@media print, screen and (max-width: 959px) {
  .p-faq {
    padding: 7.5rem 2rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-faq {
    background-size: 20rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-faq-list : よくあるご質問のリスト
----------------------------------------------------------------------------------- */
.p-faq-list {
  max-width: 120rem;
  margin: auto;
}
.p-faq-list > li {
  margin-bottom: 2rem;
  padding: 2rem 2rem 2rem 10rem;
  border: 0.1rem solid #9AC3DE;
  border-radius: 0.5rem;
  background: url(/images/faq/faq-icon.svg) no-repeat 3.5rem center;
}
.p-faq-list > li:last-child {
  margin-bottom: 0;
}
.p-faq-list > li h3 {
  font-size: 1.8rem;
  color: #0072BC;
}
.page-products.is-bunseki .p-faq-list > li {
  background-image: url(/images/faq/faq-icon-green.svg);
}
.page-products.is-bunseki .p-faq-list h3 {
  color: #31955E;
}
.page-products.is-bunseki .p-faq-list a {
  color: #21854E;
}
@media print, screen and (max-width: 767px) {
  .p-faq-list > li {
    padding-left: 6rem;
    background-position: 1.8rem center;
    background-size: 2.4rem;
  }
  .p-faq-list > li h3 {
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .p-faq-list > li p {
    line-height: 1.7;
  }
}

/* --------------------------------------------------------------------------------
   .p-news : お知らせエリア
----------------------------------------------------------------------------------- */
.p-news {
  padding: 7.5rem 0;
  background-color: #F4FAFF;
}
.p-news__list {
  max-width: 120rem;
  margin: auto;
}
.p-news__item > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  padding: 2rem 0;
  text-decoration: none;
  border-bottom: 0.1rem solid #9AC3DE;
}
.p-news__item__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 13rem;
  font-weight: bold;
  color: #222222;
  white-space: nowrap;
}
.p-news__item__category {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 12rem;
  height: 2.6rem;
  font-size: 1.4rem;
  color: #FFFFFF;
  white-space: nowrap;
  border-radius: 0.3rem;
  background-color: #949DA6;
}
.p-news__item__category.is-product {
  background-color: #0072BC;
}
.p-news__item__category.is-release {
  background-color: #31955E;
}
.p-news__item__category.is-company {
  background-color: #949DA6;
}
.p-news__item__category.is-maintenance {
  background-color: #C6B10F;
}
.p-news__item__category.is-trouble {
  background-color: #FF4400;
}
.p-news__item__title {
  line-height: 1.5;
}
.p-news__item:hover .p-news__item__title {
  text-decoration: underline;
}
@media print, screen and (max-width: 959px) {
  .p-news__item > a {
    padding: 2rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-news__item {
    position: relative;
  }
  .p-news__item > a {
    position: relative;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.5rem;
    padding: 2rem;
  }
  .p-news__item__category {
    position: absolute;
    left: 16rem;
    top: 2.2rem;
  }
}

section.article {
  position: relative;
}
section.article .p-news__item__category {
  position: static;
}

/* --------------------------------------------------------------------------------
   .p-news-tab : お知らせエリアの上部タブ
----------------------------------------------------------------------------------- */
.p-news-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 120rem;
  margin: auto;
  border-bottom: 0.1rem solid #9AC3DE;
}
.p-news-tab button {
  width: 30rem;
  height: 7rem;
  margin-bottom: -0.1rem;
  font-weight: bold;
  color: #222222;
  outline: none;
  border: 0;
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: transparent;
}
.p-news-tab button.is-active {
  color: #0072BC;
  border: 0.1rem solid #9AC3DE;
  border-bottom-color: #EFF9FF;
}
@media print, screen and (max-width: 767px) {
  .p-news-tab li {
    width: 45%;
  }
  .p-news-tab button {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------------
   .p-products-top : トップページの製品・サービス一覧
----------------------------------------------------------------------------------- */
.p-products-top {
  max-width: 120rem;
  margin: auto;
  padding: 6rem;
  border-radius: 0.5rem;
  background: rgba(0, 114, 188, .1);
  backdrop-filter: blur(0.4rem);
}
.p-products-top .c-section-title {
  color: #00427E;
}
.p-products-top .c-section-title em {
  color: #00427E;
}
.p-products-top__category-wrapper {
  margin-top: 4rem;
}
.p-products-top__category-wrapper > h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.8rem;
  margin-bottom: 1.5rem;
  line-height: 1.3;
}
.p-products-top__category-wrapper > h2 em {
  font-size: 2rem;
  font-weight: bold;
  color: #00427E;
}
.p-products-top__category-wrapper > h2 span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.8rem;
  font-size: 1.6rem;
  font-weight: normal;
  color: #00427E;
}
.p-products-top__category-wrapper > h2 span::before {
  content: "";
  display: inline-block;
  width: 4rem;
  height: 0.1rem;
  background-color: #0072BC;
}
.p-products-top__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
}
.p-products-top__list > li {
  width: calc(33.33333% - 0.33333rem);
}
.p-products-top__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  height: 100%;
  min-height: 18rem;
  padding: 2rem 2rem 2rem 1.5rem;
  line-height: 1.5;
  text-decoration: none;
  border-radius: 0.5rem;
  background-color: #F4FAFF;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.p-products-top__item__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 11rem;
  height: 11rem;
  overflow: hidden;
  border-radius: 100%;
}
.p-products-top__item__img img {
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.p-products-top__item h3 {
  margin-bottom: 1rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3;
}
.p-products-top__item p {
  font-size: 1.4rem;
  color: #222222;
}
.p-products-top__item:hover {
  background-color: #FFFFFF;
  -webkit-box-shadow: 0 0.2rem 0.3rem rgba(0, 66, 126, .25);
          box-shadow: 0 0.2rem 0.3rem rgba(0, 66, 126, .25);
}
.p-products-top__item:hover .p-products-top__item__img img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.p-products-top__category-wrapper.is-bunseki .p-products-top__list > li {
  width: 100%;
}
.p-products-top__category-wrapper.is-bunseki .p-products-top__item {
  gap: 5rem;
  padding: 2rem 5rem;
  background-color: #F4FFF9;
}
.p-products-top__category-wrapper.is-bunseki .p-products-top__item__img {
  width: 28rem;
  height: auto;
  border-radius: 0;
}
.p-products-top__category-wrapper.is-bunseki .p-products-top__item__img img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-products-top__category-wrapper.is-bunseki .p-products-top__item h3 {
  color: #31955E;
}
.p-products-top__category-wrapper.is-bunseki .p-products-top__item h4 {
  color: #222222;
  line-height: 1.7;
}
.p-products-top__category-wrapper.is-bunseki .p-products-top__item p {
  font-size: 1.6rem;
  line-height: 1.7;
}
.p-products-top__category-wrapper.is-bunseki .p-products-top__item:hover {
  background-color: #FFFFFF;
}
.p-products-top__category-wrapper.is-bunseki .p-products-top__item:hover .p-products-top__item__img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media print, screen and (max-width: 959px) {
  .p-products-top {
    padding: 7.5rem 2rem;
    border-radius: 0;
  }
  .p-products-top__category-wrapper > h2 span {
    font-size: 1.3rem;
  }
  .p-products-top__list > li {
    width: calc(50% - 0.5rem);
  }
  .p-products-top__category-wrapper.is-bunseki .p-products-top__item__img {
    width: 20rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-products-top__category-wrapper > h2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1rem;
  }
  .p-products-top__category-wrapper > h2 span::before {
    display: none;
  }
  .p-products-top__list > li {
    width: 100%;
  }
  .p-products-top__category-wrapper.is-bunseki .p-products-top__item {
    gap: 1.5rem;
    width: 100%;
    padding: 2rem 2rem 2rem 1.5rem;
  }
  .p-products-top__category-wrapper.is-bunseki .p-products-top__item__img {
    width: 11rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-reason : 選ばれる理由エリア
----------------------------------------------------------------------------------- */
.p-reason {
  padding: 7.5rem 0;
  background-color: #EFF9FF;
}
.p-reason__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
  max-width: 120rem;
  margin: auto;
}
.p-reason__item {
  width: calc(25% - 1.5rem);
  padding: 2rem;
  border: 0.5rem;
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  overflow: hidden;
}
.p-reason__item > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% + 4rem);
  height: 15rem;
  margin: 0 -2rem 0;
}
.p-reason__item > div img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-reason__item h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 4.5rem;
  margin: 1.5rem 0 1rem;
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: center;
  color: #0072BC;
}
.p-reason__item p {
  font-size: 1.4rem;
  line-height: 1.5;
}
.p-reason__item:nth-child(4) > div img {
  height: 85%;
}
.p-reason__item:nth-child(5), .p-reason__item:nth-child(6), .p-reason__item:nth-child(7) {
  width: calc(33.33333% - 1.33333rem);
}
.p-reason__item:nth-child(5) > div, .p-reason__item:nth-child(6) > div, .p-reason__item:nth-child(7) > div {
  height: 12rem;
  margin-top: -2rem;
}
.p-reason__item:nth-child(5) > div img, .p-reason__item:nth-child(6) > div img, .p-reason__item:nth-child(7) > div img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media print, screen and (max-width: 959px) {
  .p-reason {
    padding: 7.5rem 2rem;
  }
  .p-reason__list {
    gap: 1rem;
  }
  .p-reason__item {
    width: calc(25% - 0.75rem);
  }
  .p-reason__item h3 br {
    display: none;
  }
}
@media print, screen and (max-width: 767px) {
  .p-reason__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-reason__item {
    width: 100%;
  }
  .p-reason__item > div {
    height: 6rem;
  }
  .p-reason__item > div img {
    height: 8rem;
  }
  .p-reason__item:nth-child(4) > div img {
    height: 8rem;
  }
  .p-reason__item:nth-child(5), .p-reason__item:nth-child(6), .p-reason__item:nth-child(7) {
    width: 100%;
  }
  .p-reason__item:nth-child(5) > div, .p-reason__item:nth-child(6) > div, .p-reason__item:nth-child(7) > div {
    height: 10rem;
  }
  .p-reason__item:nth-child(5) > div img, .p-reason__item:nth-child(6) > div img, .p-reason__item:nth-child(7) > div img {
    width: 100%;
    height: 100%;
  }
}

/* --------------------------------------------------------------------------------
   .p-search : 製品検索エリア
----------------------------------------------------------------------------------- */
.p-search {
  margin-top: 7.5rem;
  padding: 7.5rem 0;
  background: #EFF9FF url(/images/bg/bg-white@2x.png) no-repeat 60rem 0;
  background-size: 110%;
}
.p-search .c-section-title {
  color: #222222;
}
.p-search__section {
  max-width: 120rem;
  margin: 3rem auto 0;
}
.p-search__section h3 {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  font-weight: normal;
}
.p-search__section h3 em {
  font-weight: bold;
  color: #0072BC;
}
@media print, screen and (max-width: 959px) {
  .p-search {
    margin-top: 0;
    padding: 5rem 2rem;
    border-top: 0.1rem solid #9AC3DE;
  }
  .p-search__section h3 {
    font-size: 1.8rem;
  }
}
/* --------------------------------------------------------------------------------
   .p-search-btn : 製品検索エリアのボタンリスト
----------------------------------------------------------------------------------- */
.p-search-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  width: 100%;
  height: 13rem;
  outline: 0;
  border: 0;
  border-radius: 0.5rem;
  background: #00427E;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.p-search-btn img {
  width: 4.8rem;
  height: 4.8rem;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear;
}
.p-search-btn span {
  font-size: 1.6rem;
  line-height: 1.3;
  color: #FFFFFF;
}
.p-search-btn:hover {
  background: rgb(0, 93, 177);
}
.p-search-btn:hover img {
  width: 6.4rem;
  height: 6.4rem;
}
.p-search-btn.is-selected {
  background-color: #31955E;
}
@media print, screen and (max-width: 959px) {
  .p-search-btn {
    gap: 1rem;
    height: 10rem;
  }
  .p-search-btn img {
    width: 3.2rem;
    height: 3.2rem;
  }
  .p-search-btn span {
    font-size: 1.3rem;
  }
  .p-search-btn:hover img {
    width: 4.8rem;
    height: 4.8rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-search-btn {
    padding: 0;
  }
  .p-search-btn img {
    width: 2.8rem;
    height: 2.8rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-search-btns : 製品検索エリアのボタン
----------------------------------------------------------------------------------- */
.p-search-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.8rem;
}
.p-search-btns > li {
  width: 14.3rem;
}
@media print, screen and (max-width: 959px) {
  .p-search-btns > li {
    width: calc(16.66667% - 0.66667rem);
  }
}
@media print, screen and (max-width: 767px) {
  .p-search-btns {
    gap: 0.4rem;
  }
  .p-search-btns > li {
    width: calc(25% - 0.3rem);
  }
}

/* --------------------------------------------------------------------------------
   .p-search-youto-list : 製品検索エリアの用途ボタンリスト
----------------------------------------------------------------------------------- */
.p-search-youto-list {
  position: relative;
  display: none;
  margin-top: 0.8rem;
  padding: 5rem 0.8rem 0.8rem;
  border-radius: 0.5rem;
  background-color: rgba(154, 195, 222, .7);
}
.p-search-youto-list::before {
  content: "用途をお選びください";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 5rem;
  font-weight: bold;
  line-height: 5rem;
  text-align: center;
  color: #00427E;
}
.p-search-youto-list > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.8rem;
}
.p-search-youto-list > ul li {
  width: calc(20% - 0.64rem);
}
.p-search-youto-list > ul button {
  width: 100%;
  height: 6rem;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3;
  color: #DBECFF;
  outline: 0;
  border: 0;
  border-radius: 0.5rem;
  background-color: #00427E;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.p-search-youto-list > ul button:hover {
  background: #0072BC;
}
.p-search-youto-list > ul button.is-selected {
  color: #FFFFFF;
  background: #31955E;
}
.p-search-youto-list > li {
  width: 14.3rem;
}
@media print, screen and (max-width: 959px) {
  .p-search-youto-list > ul button {
    font-size: 1.3rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-search-youto-list > ul {
    gap: 0.4rem;
  }
  .p-search-youto-list > ul li {
    width: calc(33.33333% - 0.26667rem);
  }
  .p-search-youto-list > ul button {
    height: 8rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-search-result : 製品検索エリアの結果表示エリア
----------------------------------------------------------------------------------- */
.p-search-result {
  position: relative;
  display: none;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 0.8rem;
  padding: 5rem 3rem 3rem;
  border-radius: 0.5rem;
  background-color: rgba(154, 195, 222, .7);
}
.p-search-result::before {
  content: "御社にマッチする製品・サービスが見つかりました";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 5rem;
  font-weight: bold;
  line-height: 5rem;
  text-align: center;
  color: #00427E;
}
.p-search-result > li {
  width: calc(33.33333% - 0.53333rem);
}
.p-search-result__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  height: 100%;
  min-height: 8rem;
  padding: 2rem 2rem 2rem 1.5rem;
  line-height: 1.5;
  text-decoration: none;
  border-radius: 0.5rem;
  background-color: #FFFFFF;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.p-search-result__item__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.4rem;
  height: 6.4rem;
  overflow: hidden;
  border-radius: 0.5rem;
}
.p-search-result__item__img img {
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.p-search-result__item h3 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3;
}
.p-search-result__item p {
  font-size: 1.3rem;
  font-weight: normal;
  color: #222222;
}
.p-search-result__item:not(.is-no-link):hover {
  background-color: #FFFFFF;
  -webkit-box-shadow: 0 0.2rem 0.3rem rgba(0, 66, 126, .25);
          box-shadow: 0 0.2rem 0.3rem rgba(0, 66, 126, .25);
}
.p-search-result__item:not(.is-no-link):hover .p-search-result__item__img img {
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
}
.p-search-result__item.is-no-link {
  cursor: default;
  color: #7A838C;
}
@media print, screen and (max-width: 959px) {
  .p-search-result {
    padding: 5rem 0.8rem 0.8rem;
  }
  .p-search-result__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-search-result > li {
    width: 100%;
  }
  .p-search-result__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

/* --------------------------------------------------------------------------------
   .p-trial : 無料体験エリア
----------------------------------------------------------------------------------- */
.p-trial {
  padding: 7.5rem 0;
}
.page-products:not(.is-index) .p-trial {
  background-color: #F1F9FE;
  border-bottom: 0.1rem solid #9AC3DE;
}
@media print, screen and (max-width: 959px) {
  .p-trial {
    padding: 7.5rem 2rem;
  }
}
/* --------------------------------------------------------------------------------
   .p-trial-banner : 無料体験バナー
----------------------------------------------------------------------------------- */
.p-trial-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6rem;
  max-width: 120rem;
  margin: 0 auto;
  padding: 3rem;
  border-radius: 0.5rem;
  border: 0.1rem solid #9AC3DE;
  background-color: #fff;
}
.p-trial-banner__left {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
}
.p-trial-banner__left h3 span {
  display: block;
  font-size: 2rem;
  line-height: 1.3;
  color: #0072BC;
}
.p-trial-banner__left h3 em {
  display: block;
  font-size: 3.6rem;
  line-height: 1.3;
  color: #0072BC;
}
.p-trial-banner h4 {
  font-size: 2rem;
  color: #0072BC;
}
.p-trial-banner p {
  margin-bottom: 1rem;
}
@media print, screen and (max-width: 959px) {
  .p-trial-banner {
    gap: 3rem;
    line-height: 1.7;
  }
  .p-trial-banner__left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .p-trial-banner__left h3 {
    text-align: center;
  }
  .p-trial-banner__left h3 em {
    font-size: 2.6rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-trial-banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-trial-banner__left img {
    height: 8rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-kyodaku : 著作権許諾エリア
----------------------------------------------------------------------------------- */
.p-kyodaku {
  padding: 7.5rem 0;
  border-bottom: 0.1rem solid #9AC3DE;
}
.p-kyodaku > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  width: 120rem;
  margin: 0 auto;
}
.p-kyodaku > div > img {
  margin-right: 3rem;
}
.p-kyodaku > div > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-kyodaku > div > div:nth-child(2), .p-kyodaku > div > div:nth-child(4) {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 36rem;
}
.p-kyodaku > div > div:nth-child(3) {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 31rem;
  font-weight: bold;
  text-align: center;
  color: #0072BC;
  background: url(/images/common/kyodaku-bg.svg) no-repeat center;
}
.p-kyodaku h3 {
  font-size: 1.8rem;
}
@media print, screen and (max-width: 1279px) {
  .p-kyodaku > div {
    width: 100%;
    padding: 0 2.4rem;
  }
  .p-kyodaku > div > img {
    width: 10rem;
  }
  .p-kyodaku > div > div:nth-child(2), .p-kyodaku > div > div:nth-child(4) {
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
  .p-kyodaku > div > div:nth-child(3) {
    -ms-flex-negative: 1;
        flex-shrink: 1;
    background-size: contain;
  }
}
@media print, screen and (max-width: 959px) {
  .p-kyodaku {
    padding: 7.5rem 2rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-kyodaku {
    padding: 5rem 1.6rem;
  }
  .p-kyodaku > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    width: 100%;
  }
  .p-kyodaku > div > img {
    margin-right: 0;
    width: 28rem;
  }
  .p-kyodaku > div h3 {
    margin: 2rem 0 0;
    text-align: center;
  }
  .p-kyodaku > div > div:nth-child(2), .p-kyodaku > div > div:nth-child(4) {
    width: 100%;
  }
  .p-kyodaku > div > div:nth-child(3) {
    width: auto;
    height: 25rem;
    background: url(/images/common/kyodaku-bg-sp.svg) no-repeat center;
  }
}

/* --------------------------------------------------------------------------------
   .p-visual : トップページのビジュアル
----------------------------------------------------------------------------------- */
.p-visual {
  height: 48rem;
}
.p-visual .bx-wrapper {
  max-width: 120rem;
  height: 42rem;
  border: 0;
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.p-visual .bx-wrapper .bx-viewport {
  height: 100%;
}
.p-visual .bx-wrapper .bx-pager.bx-default-pager a {
  margin: 0 0.8rem;
  background: #949DA6;
}
.p-visual .bx-wrapper .bx-pager.bx-default-pager a.active,
.p-visual .bx-wrapper .bx-pager.bx-default-pager a:focus,
.p-visual .bx-wrapper .bx-pager.bx-default-pager a:hover {
  background: #D8BF00;
}
.p-visual__concept {
  overflow: hidden;
}
.p-visual__concept a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 42rem;
}
.p-visual__cds-plus, .p-visual__chiban-map, .p-visual__bunseki {
  position: relative;
  height: 42rem;
  overflow: hidden;
}
.p-visual__cds-plus .is-copy, .p-visual__chiban-map .is-copy, .p-visual__bunseki .is-copy {
  position: absolute;
  top: 6rem;
  left: calc(50% + 5rem);
  width: 42.9rem;
}
.p-visual__cds-plus .is-video, .p-visual__chiban-map .is-video, .p-visual__bunseki .is-video {
  position: absolute;
  top: 2rem;
  left: calc(50% - 48rem);
  width: 48rem;
  height: 28rem;
  -webkit-box-shadow: 0 1.5rem 1.5rem rgba(0, 66, 126, .35);
          box-shadow: 0 1.5rem 1.5rem rgba(0, 66, 126, .35);
}
.p-visual__cds-plus .is-btn, .p-visual__chiban-map .is-btn, .p-visual__bunseki .is-btn {
  position: absolute;
  bottom: 2rem;
  left: calc(50% - 15rem);
  width: 30rem;
}
.p-visual__chiban-map .is-copy {
  top: 8rem;
}
.p-visual__bunseki .is-copy {
  top: 5.5rem;
}
@media print, screen and (max-width: 959px) {
  .p-visual__concept img.u-sp-hide {
    display: block !important;
  }
  .p-visual .is-copy {
    top: 8rem;
    left: calc(50% + 3rem);
    width: 34rem;
  }
  .p-visual .is-video {
    top: 4rem;
    left: calc(50% - 40rem);
    width: 40rem;
    height: 23rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-visual {
    height: 68rem;
  }
  .p-visual .bx-wrapper {
    max-width: 100%;
    height: 62rem;
  }
  .p-visual__concept a {
    height: 62rem;
  }
  .p-visual__concept a img {
    display: block !important;
    width: 90%;
    max-height: 40rem;
  }
  .p-visual__concept a img.u-sp-hide {
    display: none !important;
  }
  .p-visual__cds-plus, .p-visual__chiban-map, .p-visual__bunseki {
    height: 62rem;
    overflow: hidden;
  }
  .p-visual__cds-plus .is-copy, .p-visual__chiban-map .is-copy, .p-visual__bunseki .is-copy {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, calc(-100% - 8rem));
            transform: translate(-50%, calc(-100% - 8rem));
    width: 80%;
    max-width: 42rem;
  }
  .p-visual__cds-plus .is-video, .p-visual__chiban-map .is-video, .p-visual__bunseki .is-video {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -5rem);
            transform: translate(-50%, -5rem);
    width: 80%;
    max-width: 42rem;
    height: auto;
  }
}

/* --------------------------------------------------------------------------------
   .p-lineup-chart : 製品ラインナップエリア
----------------------------------------------------------------------------------- */
.p-lineup-chart {
  padding: 7.5rem 0;
}
.p-lineup-chart__img {
  max-width: 140rem;
  margin: 0 auto;
}
.p-lineup-chart__img img {
  width: 145rem;
}
/* --------------------------------------------------------------------------------
   .p-product-detail : 製品詳細
----------------------------------------------------------------------------------- */
.p-product-detail {
  padding: 7.5rem 0;
  border-bottom: 0.1rem solid #9AC3DE;
}
.p-product-detail.is-no-border {
  border-bottom: 0;
}
.p-product-detail.is-border-top {
  border-top: 0.1rem solid #9AC3DE;
}
/* --------------------------------------------------------------------------------
   .p-product-feature : 製品の特長
----------------------------------------------------------------------------------- */
.p-product-feature {
  padding: 7.5rem 0;
  border-bottom: 0.1rem solid #9AC3DE;
}
.page-products.is-bunseki .p-product-feature {
  border-color: #abc6b7;
}
@media print, screen and (max-width: 767px) {
  .p-product-feature > h2 {
    padding: 0 2.4rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-product-feature-list : 製品の特徴リスト
----------------------------------------------------------------------------------- */
.p-product-feature-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4rem;
  width: 120rem;
  margin: auto;
}
.p-product-feature-list li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(25% - 3rem);
}
.p-product-feature-list img {
  width: 100%;
  height: 16rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-product-feature-list h3 {
  margin-top: 2rem;
  margin-bottom: 2rem;
  font-size: 1.8rem;
  line-height: 1.5;
  color: #0072BC;
}
.p-product-feature-list p {
  line-height: 1.5;
}
.page-products.is-bunseki .p-product-feature-list h3 {
  color: #21854E;
}
@media print, screen and (max-width: 1279px) {
  .p-product-feature-list {
    width: 100%;
    padding: 0 2.4rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-product-feature-list {
    width: 100%;
    padding: 0 2.4rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-product-feature-list li {
    width: 100%;
  }
  .p-product-feature-list img {
    height: auto;
  }
  .p-product-feature-list h3 {
    margin-bottom: 0.5rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-product-nayami : お悩み
----------------------------------------------------------------------------------- */
.p-product-nayami {
  padding: 7.5rem 0;
  border-bottom: 0.1rem solid #9AC3DE;
  background-color: #F4FAFF;
}
.page-products.is-bunseki .p-product-nayami {
  border-color: #abc6b7;
  background-color: #F4FFF9;
}
@media print, screen and (max-width: 767px) {
  .p-product-nayami > h2 {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-product-nayami-list : お悩みリスト
----------------------------------------------------------------------------------- */
.p-product-nayami-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  width: 120rem;
  margin: auto;
}
.p-product-nayami-list li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(25% - 3rem);
}
.p-product-nayami-list img {
  width: 100%;
  height: 13rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-product-nayami-list p {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 14rem;
  margin-top: 3rem;
  padding: 1.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: #0072BC;
  border-radius: 2rem;
  background-color: #C7DFEF;
}
.p-product-nayami-list p::before {
  content: "";
  position: absolute;
  left: calc(50% - 1rem);
  bottom: 100%;
  width: 2rem;
  height: 2rem;
  border: 1rem solid transparent;
  border-top: 0;
  border-bottom: 2rem solid #C7DFEF;
  border-bottom-color: #C7DFEF;
}
.page-products.is-bunseki .p-product-nayami-list p {
  color: #21854E;
  background-color: #DCEFE5;
}
.page-products.is-bunseki .p-product-nayami-list p::before {
  border-bottom-color: #DCEFE5;
}
@media print, screen and (max-width: 1279px) {
  .p-product-nayami-list {
    width: 100%;
    padding: 0 2.4rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-product-nayami-list {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 2.4rem;
    gap: 2rem;
  }
  .p-product-nayami-list li {
    width: calc(50% - 1rem);
  }
}

/* --------------------------------------------------------------------------------
   .p-product-overview : 製品概要
----------------------------------------------------------------------------------- */
.p-product-overview {
  padding: 0 0 7.5rem;
  border-bottom: 0.1rem solid #9AC3DE;
}
.p-product-overview .c-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 6rem;
  width: 120rem;
  margin: auto;
}
.p-product-overview__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 47.5%;
  height: 30rem;
}
.p-product-overview h3 {
  margin-bottom: 1.2rem;
  font-size: 2.4rem;
  line-height: 1.5;
}
@media print, screen and (max-width: 1279px) {
  .p-product-overview .c-inner {
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-product-overview .c-inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p-product-overview__img {
    width: 100%;
    height: auto;
  }
}

/* --------------------------------------------------------------------------------
   .p-product-list : 製品リスト
----------------------------------------------------------------------------------- */
.p-product-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4rem;
  margin: auto;
}
.p-product-list a {
  display: block;
  text-decoration: none;
}
.p-product-list li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(33.33333% - 4rem);
}
.p-product-list__item {
  text-decoration: none;
}
.p-product-list__img {
  border: 0.1rem solid #C7DFEF;
}
.p-product-list__img img {
  width: 100%;
  height: 20rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-product-list h3 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}
.p-product-list h3 span {
  display: block;
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.3;
  color: #0072BC;
}
.p-product-list h3 em {
  display: block;
  font-size: 2.4rem;
  line-height: 1.3;
  color: #0072BC;
}
.p-product-list p {
  line-height: 2;
  color: #222222;
}
@media print, screen and (max-width: 767px) {
  .p-product-list li {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------------
   .p-usecase-list : 事例・活用例リスト
----------------------------------------------------------------------------------- */
.p-usecase-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4rem;
  width: 120rem;
  margin: auto;
}
.p-usecase-list li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(33.33333% - 4rem);
}
.p-usecase-list__item {
  text-decoration: none;
}
.p-usecase-list__img {
  border: 0.1rem solid #C7DFEF;
}
.p-usecase-list__img img {
  width: 100%;
  height: 20rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-usecase-list h3 {
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}
.p-usecase-list h3 span {
  display: block;
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.3;
  color: #0072BC;
}
.p-usecase-list h3 em {
  display: block;
  font-size: 2.4rem;
  line-height: 1.3;
  color: #0072BC;
}
.p-usecase-list p {
  line-height: 2;
  color: #222222;
}
@media print, screen and (max-width: 1279px) {
  .p-usecase-list {
    width: 100%;
    padding: 0 2.4rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-usecase-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    padding: 0 2.4rem;
  }
  .p-usecase-list li {
    width: 100%;
  }
  .p-usecase-list__img {
    border: 0.1rem solid #C7DFEF;
  }
  .p-usecase-list__img img {
    width: 100%;
    height: 12rem;
  }
}

/* --------------------------------------------------------------------------------
   .p-usecase-wrapper : 事例・活用例リストのラッパー
----------------------------------------------------------------------------------- */
.p-usecase-wrapper {
  padding: 7.5rem 0;
  border-bottom: 0.1rem solid #9AC3DE;
}
@media print, screen and (max-width: 767px) {
  .p-usecase-wrapper {
    padding: 5rem 2.4rem;
  }
}

.p-usecase-casestudy-wrapper {
  padding: 7.5rem 0;
  border-bottom: 0.1rem solid #9AC3DE;
}
.p-usecase-casestudy-wrapper .page-casestudy__list {
  width: 120rem;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0;
}
.p-usecase-casestudy-wrapper h2 + .page-casestudy__list {
  padding-top: 0;
}
@media print, screen and (max-width: 1279px) {
  .p-usecase-casestudy-wrapper .page-casestudy__list {
    width: 100%;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
}
@media print, screen and (max-width: 767px) {
  .p-usecase-casestudy-wrapper > h2 {
    padding-left: 2.4rem;
    padding-right: 2.4rem;
  }
  .p-usecase-casestudy-wrapper .page-casestudy__list {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------------
   .p-usecase-box : 活用例ボックス
----------------------------------------------------------------------------------- */
.p-usecase-box {
  position: relative;
  margin: 5rem 0;
  padding: 7rem 5rem 5rem;
  border: 0.1rem solid #D8E4EB;
}
.p-usecase-box:first-child {
  margin-top: 0;
}
.p-usecase-box:last-child {
  margin-bottom: 0;
}
.p-usecase-box__shoulder {
  position: absolute;
  left: 0;
  top: 0;
  padding: 0 1.2em;
  font-weight: bold;
  line-height: 3.6rem;
  color: #FFFFFF;
  background-color: #0072BC;
}
.p-usecase-box h3 {
  margin-bottom: 2.5rem;
  font-size: 2.4rem;
  line-height: 1.2;
  color: #0072BC;
}
.p-usecase-box h4 {
  margin-bottom: 1rem;
  font-size: 2rem;
  line-height: 1.3;
}
.p-usecase-box > ul dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.p-usecase-box > ul dl dt {
  width: 19rem;
  font-weight: bold;
  color: #0072BC;
}
@media print, screen and (max-width: 767px) {
  .p-usecase-box {
    padding: 6rem 2rem 2rem;
  }
  .p-usecase-box > ul > li {
    margin-bottom: 1rem;
  }
  .p-usecase-box > ul dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .p-usecase-box > ul dl dt {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------------
   .p-jmc-banner : 日本地図センターバナー
----------------------------------------------------------------------------------- */
.p-jmc-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding: 2rem 2rem 2rem 0;
  border-radius: 0.5rem;
  border: 0.3rem solid #31955E;
}
.p-jmc-banner img {
  width: 36rem;
  height: 7.2rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-jmc-banner h3 {
  font-size: 1.8rem;
  line-height: 1.5;
  color: #31955E;
}
.p-jmc-banner h3 em {
  color: #FF4400;
}
.p-jmc-banner p {
  margin: 1rem 0 1.5rem;
  line-height: 1.5;
}
@media print, screen and (max-width: 767px) {
  .p-jmc-banner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem;
  }
  .p-jmc-banner img {
    margin-bottom: 2rem;
  }
}

.u-cl-main {
  color: #0072BC !important;
}

.u-cl-main-text {
  color: #0072BC !important;
}

.u-cl-main-dark {
  color: #00427E !important;
}

.u-cl-main-bg {
  color: #EFF9FF !important;
}

.u-cl-main-light {
  color: #9AC3DE !important;
}

.u-cl-accent {
  color: #31955E !important;
}

.u-cl-accent-text {
  color: #31955E !important;
}

.u-cl-accent-bg {
  color: #F4FFF9 !important;
}

.u-cl-accent-light {
  color: #F4FFF9 !important;
}

.u-cl-red {
  color: #FF4400 !important;
}

.u-cl-red-text {
  color: #C73D3D !important;
}

.u-cl-red-bg {
  color: #FAF2F2 !important;
}

.u-cl-red-light {
  color: #C96161 !important;
}

.u-cl-yellow {
  color: #D8BF00 !important;
}

.u-cl-yellow-text {
  color: #C6B10F !important;
}

.u-cl-yellow-bg {
  color: #F4FCF2 !important;
}

.u-cl-yellow-light {
  color: #7AB170 !important;
}

.u-cl-purple {
  color: #866EC8 !important;
}

.u-cl-white {
  color: #FFFFFF !important;
}

.u-cl-gray-1 {
  color: #F4FAFF !important;
}

.u-cl-gray-2 {
  color: #E9ECEF !important;
}

.u-cl-gray-3 {
  color: #DAE0E6 !important;
}

.u-cl-gray-4 {
  color: #CAD1D9 !important;
}

.u-cl-gray-5 {
  color: #AEB7BF !important;
}

.u-cl-gray-6 {
  color: #949DA6 !important;
}

.u-cl-gray-7 {
  color: #7A838C !important;
}

.u-cl-gray-8 {
  color: #565E66 !important;
}

.u-cl-gray-9 {
  color: #222222 !important;
}

.u-cl-black {
  color: #000000 !important;
}

/* --------------------------------------------------------------------------------
   ユーティリティクラス - 幅
   --------------------------------------------------------------------------------
     - 単位 px → u-w-5,   u-w-10  ... u-w-100, u-w-110, u-w-120, ..., u-w-1000
     - 100pxまでは5px刻み、以降は10px刻み
       ※実際の指定では px ではなく rem が使われている（10px = 1rem）
     - 単位 em → u-w-1em, u-w-2em ... u-w-10em
     - 単位 %  → u-w-1p,  u-w-2p  ... u-w-100p
     - 単位 vw → u-w-5v,  u-w-10v ... u-w-100v
     - u- の後ろに sp- を付加するとスマホ用のクラスになる
----------------------------------------------------------------------------------- */
/* 単位：em */
.u-w-1em {
  width: 1em !important;
}

.u-w-2em {
  width: 2em !important;
}

.u-w-3em {
  width: 3em !important;
}

.u-w-4em {
  width: 4em !important;
}

.u-w-5em {
  width: 5em !important;
}

.u-w-6em {
  width: 6em !important;
}

.u-w-7em {
  width: 7em !important;
}

.u-w-8em {
  width: 8em !important;
}

.u-w-9em {
  width: 9em !important;
}

.u-w-10em {
  width: 10em !important;
}

/* 単位：px（rem） */
.u-w-5 {
  width: 0.5rem !important;
}

.u-w-10 {
  width: 1rem !important;
}

.u-w-15 {
  width: 1.5rem !important;
}

.u-w-20 {
  width: 2rem !important;
}

.u-w-25 {
  width: 2.5rem !important;
}

.u-w-30 {
  width: 3rem !important;
}

.u-w-35 {
  width: 3.5rem !important;
}

.u-w-40 {
  width: 4rem !important;
}

.u-w-45 {
  width: 4.5rem !important;
}

.u-w-50 {
  width: 5rem !important;
}

.u-w-55 {
  width: 5.5rem !important;
}

.u-w-60 {
  width: 6rem !important;
}

.u-w-65 {
  width: 6.5rem !important;
}

.u-w-70 {
  width: 7rem !important;
}

.u-w-75 {
  width: 7.5rem !important;
}

.u-w-80 {
  width: 8rem !important;
}

.u-w-85 {
  width: 8.5rem !important;
}

.u-w-90 {
  width: 9rem !important;
}

.u-w-95 {
  width: 9.5rem !important;
}

/* 単位：100px以上は10px刻み */
.u-w-100 {
  width: 10rem !important;
}

.u-w-110 {
  width: 11rem !important;
}

.u-w-120 {
  width: 12rem !important;
}

.u-w-130 {
  width: 13rem !important;
}

.u-w-140 {
  width: 14rem !important;
}

.u-w-150 {
  width: 15rem !important;
}

.u-w-160 {
  width: 16rem !important;
}

.u-w-170 {
  width: 17rem !important;
}

.u-w-180 {
  width: 18rem !important;
}

.u-w-190 {
  width: 19rem !important;
}

.u-w-200 {
  width: 20rem !important;
}

.u-w-210 {
  width: 21rem !important;
}

.u-w-220 {
  width: 22rem !important;
}

.u-w-230 {
  width: 23rem !important;
}

.u-w-240 {
  width: 24rem !important;
}

.u-w-250 {
  width: 25rem !important;
}

.u-w-260 {
  width: 26rem !important;
}

.u-w-270 {
  width: 27rem !important;
}

.u-w-280 {
  width: 28rem !important;
}

.u-w-290 {
  width: 29rem !important;
}

.u-w-300 {
  width: 30rem !important;
}

.u-w-310 {
  width: 31rem !important;
}

.u-w-320 {
  width: 32rem !important;
}

.u-w-330 {
  width: 33rem !important;
}

.u-w-340 {
  width: 34rem !important;
}

.u-w-350 {
  width: 35rem !important;
}

.u-w-360 {
  width: 36rem !important;
}

.u-w-370 {
  width: 37rem !important;
}

.u-w-380 {
  width: 38rem !important;
}

.u-w-390 {
  width: 39rem !important;
}

.u-w-400 {
  width: 40rem !important;
}

.u-w-410 {
  width: 41rem !important;
}

.u-w-420 {
  width: 42rem !important;
}

.u-w-430 {
  width: 43rem !important;
}

.u-w-440 {
  width: 44rem !important;
}

.u-w-450 {
  width: 45rem !important;
}

.u-w-460 {
  width: 46rem !important;
}

.u-w-470 {
  width: 47rem !important;
}

.u-w-480 {
  width: 48rem !important;
}

.u-w-490 {
  width: 49rem !important;
}

.u-w-500 {
  width: 50rem !important;
}

.u-w-510 {
  width: 51rem !important;
}

.u-w-520 {
  width: 52rem !important;
}

.u-w-530 {
  width: 53rem !important;
}

.u-w-540 {
  width: 54rem !important;
}

.u-w-550 {
  width: 55rem !important;
}

.u-w-560 {
  width: 56rem !important;
}

.u-w-570 {
  width: 57rem !important;
}

.u-w-580 {
  width: 58rem !important;
}

.u-w-590 {
  width: 59rem !important;
}

.u-w-600 {
  width: 60rem !important;
}

.u-w-610 {
  width: 61rem !important;
}

.u-w-620 {
  width: 62rem !important;
}

.u-w-630 {
  width: 63rem !important;
}

.u-w-640 {
  width: 64rem !important;
}

.u-w-650 {
  width: 65rem !important;
}

.u-w-660 {
  width: 66rem !important;
}

.u-w-670 {
  width: 67rem !important;
}

.u-w-680 {
  width: 68rem !important;
}

.u-w-690 {
  width: 69rem !important;
}

.u-w-700 {
  width: 70rem !important;
}

.u-w-710 {
  width: 71rem !important;
}

.u-w-720 {
  width: 72rem !important;
}

.u-w-730 {
  width: 73rem !important;
}

.u-w-740 {
  width: 74rem !important;
}

.u-w-750 {
  width: 75rem !important;
}

.u-w-760 {
  width: 76rem !important;
}

.u-w-770 {
  width: 77rem !important;
}

.u-w-780 {
  width: 78rem !important;
}

.u-w-790 {
  width: 79rem !important;
}

.u-w-800 {
  width: 80rem !important;
}

.u-w-810 {
  width: 81rem !important;
}

.u-w-820 {
  width: 82rem !important;
}

.u-w-830 {
  width: 83rem !important;
}

.u-w-840 {
  width: 84rem !important;
}

.u-w-850 {
  width: 85rem !important;
}

.u-w-860 {
  width: 86rem !important;
}

.u-w-870 {
  width: 87rem !important;
}

.u-w-880 {
  width: 88rem !important;
}

.u-w-890 {
  width: 89rem !important;
}

.u-w-900 {
  width: 90rem !important;
}

.u-w-910 {
  width: 91rem !important;
}

.u-w-920 {
  width: 92rem !important;
}

.u-w-930 {
  width: 93rem !important;
}

.u-w-940 {
  width: 94rem !important;
}

.u-w-950 {
  width: 95rem !important;
}

.u-w-960 {
  width: 96rem !important;
}

.u-w-970 {
  width: 97rem !important;
}

.u-w-980 {
  width: 98rem !important;
}

.u-w-990 {
  width: 99rem !important;
}

.u-w-1000 {
  width: 100rem !important;
}

/* 単位：パーセント、vw */
.u-w-1p {
  width: 1% !important;
}

.u-w-1v {
  width: 1vw !important;
}

.u-w-2p {
  width: 2% !important;
}

.u-w-2v {
  width: 2vw !important;
}

.u-w-3p {
  width: 3% !important;
}

.u-w-3v {
  width: 3vw !important;
}

.u-w-4p {
  width: 4% !important;
}

.u-w-4v {
  width: 4vw !important;
}

.u-w-5p {
  width: 5% !important;
}

.u-w-5v {
  width: 5vw !important;
}

.u-w-6p {
  width: 6% !important;
}

.u-w-6v {
  width: 6vw !important;
}

.u-w-7p {
  width: 7% !important;
}

.u-w-7v {
  width: 7vw !important;
}

.u-w-8p {
  width: 8% !important;
}

.u-w-8v {
  width: 8vw !important;
}

.u-w-9p {
  width: 9% !important;
}

.u-w-9v {
  width: 9vw !important;
}

.u-w-10p {
  width: 10% !important;
}

.u-w-10v {
  width: 10vw !important;
}

.u-w-11p {
  width: 11% !important;
}

.u-w-11v {
  width: 11vw !important;
}

.u-w-12p {
  width: 12% !important;
}

.u-w-12v {
  width: 12vw !important;
}

.u-w-13p {
  width: 13% !important;
}

.u-w-13v {
  width: 13vw !important;
}

.u-w-14p {
  width: 14% !important;
}

.u-w-14v {
  width: 14vw !important;
}

.u-w-15p {
  width: 15% !important;
}

.u-w-15v {
  width: 15vw !important;
}

.u-w-16p {
  width: 16% !important;
}

.u-w-16v {
  width: 16vw !important;
}

.u-w-17p {
  width: 17% !important;
}

.u-w-17v {
  width: 17vw !important;
}

.u-w-18p {
  width: 18% !important;
}

.u-w-18v {
  width: 18vw !important;
}

.u-w-19p {
  width: 19% !important;
}

.u-w-19v {
  width: 19vw !important;
}

.u-w-20p {
  width: 20% !important;
}

.u-w-20v {
  width: 20vw !important;
}

.u-w-21p {
  width: 21% !important;
}

.u-w-21v {
  width: 21vw !important;
}

.u-w-22p {
  width: 22% !important;
}

.u-w-22v {
  width: 22vw !important;
}

.u-w-23p {
  width: 23% !important;
}

.u-w-23v {
  width: 23vw !important;
}

.u-w-24p {
  width: 24% !important;
}

.u-w-24v {
  width: 24vw !important;
}

.u-w-25p {
  width: 25% !important;
}

.u-w-25v {
  width: 25vw !important;
}

.u-w-26p {
  width: 26% !important;
}

.u-w-26v {
  width: 26vw !important;
}

.u-w-27p {
  width: 27% !important;
}

.u-w-27v {
  width: 27vw !important;
}

.u-w-28p {
  width: 28% !important;
}

.u-w-28v {
  width: 28vw !important;
}

.u-w-29p {
  width: 29% !important;
}

.u-w-29v {
  width: 29vw !important;
}

.u-w-30p {
  width: 30% !important;
}

.u-w-30v {
  width: 30vw !important;
}

.u-w-31p {
  width: 31% !important;
}

.u-w-31v {
  width: 31vw !important;
}

.u-w-32p {
  width: 32% !important;
}

.u-w-32v {
  width: 32vw !important;
}

.u-w-33p {
  width: 33% !important;
}

.u-w-33v {
  width: 33vw !important;
}

.u-w-34p {
  width: 34% !important;
}

.u-w-34v {
  width: 34vw !important;
}

.u-w-35p {
  width: 35% !important;
}

.u-w-35v {
  width: 35vw !important;
}

.u-w-36p {
  width: 36% !important;
}

.u-w-36v {
  width: 36vw !important;
}

.u-w-37p {
  width: 37% !important;
}

.u-w-37v {
  width: 37vw !important;
}

.u-w-38p {
  width: 38% !important;
}

.u-w-38v {
  width: 38vw !important;
}

.u-w-39p {
  width: 39% !important;
}

.u-w-39v {
  width: 39vw !important;
}

.u-w-40p {
  width: 40% !important;
}

.u-w-40v {
  width: 40vw !important;
}

.u-w-41p {
  width: 41% !important;
}

.u-w-41v {
  width: 41vw !important;
}

.u-w-42p {
  width: 42% !important;
}

.u-w-42v {
  width: 42vw !important;
}

.u-w-43p {
  width: 43% !important;
}

.u-w-43v {
  width: 43vw !important;
}

.u-w-44p {
  width: 44% !important;
}

.u-w-44v {
  width: 44vw !important;
}

.u-w-45p {
  width: 45% !important;
}

.u-w-45v {
  width: 45vw !important;
}

.u-w-46p {
  width: 46% !important;
}

.u-w-46v {
  width: 46vw !important;
}

.u-w-47p {
  width: 47% !important;
}

.u-w-47v {
  width: 47vw !important;
}

.u-w-48p {
  width: 48% !important;
}

.u-w-48v {
  width: 48vw !important;
}

.u-w-49p {
  width: 49% !important;
}

.u-w-49v {
  width: 49vw !important;
}

.u-w-50p {
  width: 50% !important;
}

.u-w-50v {
  width: 50vw !important;
}

.u-w-51p {
  width: 51% !important;
}

.u-w-51v {
  width: 51vw !important;
}

.u-w-52p {
  width: 52% !important;
}

.u-w-52v {
  width: 52vw !important;
}

.u-w-53p {
  width: 53% !important;
}

.u-w-53v {
  width: 53vw !important;
}

.u-w-54p {
  width: 54% !important;
}

.u-w-54v {
  width: 54vw !important;
}

.u-w-55p {
  width: 55% !important;
}

.u-w-55v {
  width: 55vw !important;
}

.u-w-56p {
  width: 56% !important;
}

.u-w-56v {
  width: 56vw !important;
}

.u-w-57p {
  width: 57% !important;
}

.u-w-57v {
  width: 57vw !important;
}

.u-w-58p {
  width: 58% !important;
}

.u-w-58v {
  width: 58vw !important;
}

.u-w-59p {
  width: 59% !important;
}

.u-w-59v {
  width: 59vw !important;
}

.u-w-60p {
  width: 60% !important;
}

.u-w-60v {
  width: 60vw !important;
}

.u-w-61p {
  width: 61% !important;
}

.u-w-61v {
  width: 61vw !important;
}

.u-w-62p {
  width: 62% !important;
}

.u-w-62v {
  width: 62vw !important;
}

.u-w-63p {
  width: 63% !important;
}

.u-w-63v {
  width: 63vw !important;
}

.u-w-64p {
  width: 64% !important;
}

.u-w-64v {
  width: 64vw !important;
}

.u-w-65p {
  width: 65% !important;
}

.u-w-65v {
  width: 65vw !important;
}

.u-w-66p {
  width: 66% !important;
}

.u-w-66v {
  width: 66vw !important;
}

.u-w-67p {
  width: 67% !important;
}

.u-w-67v {
  width: 67vw !important;
}

.u-w-68p {
  width: 68% !important;
}

.u-w-68v {
  width: 68vw !important;
}

.u-w-69p {
  width: 69% !important;
}

.u-w-69v {
  width: 69vw !important;
}

.u-w-70p {
  width: 70% !important;
}

.u-w-70v {
  width: 70vw !important;
}

.u-w-71p {
  width: 71% !important;
}

.u-w-71v {
  width: 71vw !important;
}

.u-w-72p {
  width: 72% !important;
}

.u-w-72v {
  width: 72vw !important;
}

.u-w-73p {
  width: 73% !important;
}

.u-w-73v {
  width: 73vw !important;
}

.u-w-74p {
  width: 74% !important;
}

.u-w-74v {
  width: 74vw !important;
}

.u-w-75p {
  width: 75% !important;
}

.u-w-75v {
  width: 75vw !important;
}

.u-w-76p {
  width: 76% !important;
}

.u-w-76v {
  width: 76vw !important;
}

.u-w-77p {
  width: 77% !important;
}

.u-w-77v {
  width: 77vw !important;
}

.u-w-78p {
  width: 78% !important;
}

.u-w-78v {
  width: 78vw !important;
}

.u-w-79p {
  width: 79% !important;
}

.u-w-79v {
  width: 79vw !important;
}

.u-w-80p {
  width: 80% !important;
}

.u-w-80v {
  width: 80vw !important;
}

.u-w-81p {
  width: 81% !important;
}

.u-w-81v {
  width: 81vw !important;
}

.u-w-82p {
  width: 82% !important;
}

.u-w-82v {
  width: 82vw !important;
}

.u-w-83p {
  width: 83% !important;
}

.u-w-83v {
  width: 83vw !important;
}

.u-w-84p {
  width: 84% !important;
}

.u-w-84v {
  width: 84vw !important;
}

.u-w-85p {
  width: 85% !important;
}

.u-w-85v {
  width: 85vw !important;
}

.u-w-86p {
  width: 86% !important;
}

.u-w-86v {
  width: 86vw !important;
}

.u-w-87p {
  width: 87% !important;
}

.u-w-87v {
  width: 87vw !important;
}

.u-w-88p {
  width: 88% !important;
}

.u-w-88v {
  width: 88vw !important;
}

.u-w-89p {
  width: 89% !important;
}

.u-w-89v {
  width: 89vw !important;
}

.u-w-90p {
  width: 90% !important;
}

.u-w-90v {
  width: 90vw !important;
}

.u-w-91p {
  width: 91% !important;
}

.u-w-91v {
  width: 91vw !important;
}

.u-w-92p {
  width: 92% !important;
}

.u-w-92v {
  width: 92vw !important;
}

.u-w-93p {
  width: 93% !important;
}

.u-w-93v {
  width: 93vw !important;
}

.u-w-94p {
  width: 94% !important;
}

.u-w-94v {
  width: 94vw !important;
}

.u-w-95p {
  width: 95% !important;
}

.u-w-95v {
  width: 95vw !important;
}

.u-w-96p {
  width: 96% !important;
}

.u-w-96v {
  width: 96vw !important;
}

.u-w-97p {
  width: 97% !important;
}

.u-w-97v {
  width: 97vw !important;
}

.u-w-98p {
  width: 98% !important;
}

.u-w-98v {
  width: 98vw !important;
}

.u-w-99p {
  width: 99% !important;
}

.u-w-99v {
  width: 99vw !important;
}

.u-w-100p {
  width: 100% !important;
}

.u-w-100v {
  width: 100vw !important;
}

/* SP版：プリフィクス sp- を付加 */
@media print, screen and (max-width: 767px) {
  /* 単位：em */
  .u-sp-w-1em {
    width: 1em !important;
  }
  .u-sp-w-2em {
    width: 2em !important;
  }
  .u-sp-w-3em {
    width: 3em !important;
  }
  .u-sp-w-4em {
    width: 4em !important;
  }
  .u-sp-w-5em {
    width: 5em !important;
  }
  .u-sp-w-6em {
    width: 6em !important;
  }
  .u-sp-w-7em {
    width: 7em !important;
  }
  .u-sp-w-8em {
    width: 8em !important;
  }
  .u-sp-w-9em {
    width: 9em !important;
  }
  .u-sp-w-10em {
    width: 10em !important;
  }
  /* 単位：px（rem） */
  .u-sp-w-5 {
    width: 0.5rem !important;
  }
  .u-sp-w-10 {
    width: 1rem !important;
  }
  .u-sp-w-15 {
    width: 1.5rem !important;
  }
  .u-sp-w-20 {
    width: 2rem !important;
  }
  .u-sp-w-25 {
    width: 2.5rem !important;
  }
  .u-sp-w-30 {
    width: 3rem !important;
  }
  .u-sp-w-35 {
    width: 3.5rem !important;
  }
  .u-sp-w-40 {
    width: 4rem !important;
  }
  .u-sp-w-45 {
    width: 4.5rem !important;
  }
  .u-sp-w-50 {
    width: 5rem !important;
  }
  .u-sp-w-55 {
    width: 5.5rem !important;
  }
  .u-sp-w-60 {
    width: 6rem !important;
  }
  .u-sp-w-65 {
    width: 6.5rem !important;
  }
  .u-sp-w-70 {
    width: 7rem !important;
  }
  .u-sp-w-75 {
    width: 7.5rem !important;
  }
  .u-sp-w-80 {
    width: 8rem !important;
  }
  .u-sp-w-85 {
    width: 8.5rem !important;
  }
  .u-sp-w-90 {
    width: 9rem !important;
  }
  .u-sp-w-95 {
    width: 9.5rem !important;
  }
  /* 単位：100px以上は10px刻み */
  .u-sp-w-100 {
    width: 10rem !important;
  }
  .u-sp-w-110 {
    width: 11rem !important;
  }
  .u-sp-w-120 {
    width: 12rem !important;
  }
  .u-sp-w-130 {
    width: 13rem !important;
  }
  .u-sp-w-140 {
    width: 14rem !important;
  }
  .u-sp-w-150 {
    width: 15rem !important;
  }
  .u-sp-w-160 {
    width: 16rem !important;
  }
  .u-sp-w-170 {
    width: 17rem !important;
  }
  .u-sp-w-180 {
    width: 18rem !important;
  }
  .u-sp-w-190 {
    width: 19rem !important;
  }
  .u-sp-w-200 {
    width: 20rem !important;
  }
  .u-sp-w-210 {
    width: 21rem !important;
  }
  .u-sp-w-220 {
    width: 22rem !important;
  }
  .u-sp-w-230 {
    width: 23rem !important;
  }
  .u-sp-w-240 {
    width: 24rem !important;
  }
  .u-sp-w-250 {
    width: 25rem !important;
  }
  .u-sp-w-260 {
    width: 26rem !important;
  }
  .u-sp-w-270 {
    width: 27rem !important;
  }
  .u-sp-w-280 {
    width: 28rem !important;
  }
  .u-sp-w-290 {
    width: 29rem !important;
  }
  .u-sp-w-300 {
    width: 30rem !important;
  }
  .u-sp-w-310 {
    width: 31rem !important;
  }
  .u-sp-w-320 {
    width: 32rem !important;
  }
  .u-sp-w-330 {
    width: 33rem !important;
  }
  .u-sp-w-340 {
    width: 34rem !important;
  }
  .u-sp-w-350 {
    width: 35rem !important;
  }
  .u-sp-w-360 {
    width: 36rem !important;
  }
  .u-sp-w-370 {
    width: 37rem !important;
  }
  .u-sp-w-380 {
    width: 38rem !important;
  }
  .u-sp-w-390 {
    width: 39rem !important;
  }
  .u-sp-w-400 {
    width: 40rem !important;
  }
  .u-sp-w-410 {
    width: 41rem !important;
  }
  .u-sp-w-420 {
    width: 42rem !important;
  }
  .u-sp-w-430 {
    width: 43rem !important;
  }
  .u-sp-w-440 {
    width: 44rem !important;
  }
  .u-sp-w-450 {
    width: 45rem !important;
  }
  .u-sp-w-460 {
    width: 46rem !important;
  }
  .u-sp-w-470 {
    width: 47rem !important;
  }
  .u-sp-w-480 {
    width: 48rem !important;
  }
  .u-sp-w-490 {
    width: 49rem !important;
  }
  .u-sp-w-500 {
    width: 50rem !important;
  }
  .u-sp-w-510 {
    width: 51rem !important;
  }
  .u-sp-w-520 {
    width: 52rem !important;
  }
  .u-sp-w-530 {
    width: 53rem !important;
  }
  .u-sp-w-540 {
    width: 54rem !important;
  }
  .u-sp-w-550 {
    width: 55rem !important;
  }
  .u-sp-w-560 {
    width: 56rem !important;
  }
  .u-sp-w-570 {
    width: 57rem !important;
  }
  .u-sp-w-580 {
    width: 58rem !important;
  }
  .u-sp-w-590 {
    width: 59rem !important;
  }
  .u-sp-w-600 {
    width: 60rem !important;
  }
  .u-sp-w-610 {
    width: 61rem !important;
  }
  .u-sp-w-620 {
    width: 62rem !important;
  }
  .u-sp-w-630 {
    width: 63rem !important;
  }
  .u-sp-w-640 {
    width: 64rem !important;
  }
  .u-sp-w-650 {
    width: 65rem !important;
  }
  .u-sp-w-660 {
    width: 66rem !important;
  }
  .u-sp-w-670 {
    width: 67rem !important;
  }
  .u-sp-w-680 {
    width: 68rem !important;
  }
  .u-sp-w-690 {
    width: 69rem !important;
  }
  .u-sp-w-700 {
    width: 70rem !important;
  }
  .u-sp-w-710 {
    width: 71rem !important;
  }
  .u-sp-w-720 {
    width: 72rem !important;
  }
  .u-sp-w-730 {
    width: 73rem !important;
  }
  .u-sp-w-740 {
    width: 74rem !important;
  }
  .u-sp-w-750 {
    width: 75rem !important;
  }
  .u-sp-w-760 {
    width: 76rem !important;
  }
  .u-sp-w-770 {
    width: 77rem !important;
  }
  .u-sp-w-780 {
    width: 78rem !important;
  }
  .u-sp-w-790 {
    width: 79rem !important;
  }
  .u-sp-w-800 {
    width: 80rem !important;
  }
  .u-sp-w-810 {
    width: 81rem !important;
  }
  .u-sp-w-820 {
    width: 82rem !important;
  }
  .u-sp-w-830 {
    width: 83rem !important;
  }
  .u-sp-w-840 {
    width: 84rem !important;
  }
  .u-sp-w-850 {
    width: 85rem !important;
  }
  .u-sp-w-860 {
    width: 86rem !important;
  }
  .u-sp-w-870 {
    width: 87rem !important;
  }
  .u-sp-w-880 {
    width: 88rem !important;
  }
  .u-sp-w-890 {
    width: 89rem !important;
  }
  .u-sp-w-900 {
    width: 90rem !important;
  }
  .u-sp-w-910 {
    width: 91rem !important;
  }
  .u-sp-w-920 {
    width: 92rem !important;
  }
  .u-sp-w-930 {
    width: 93rem !important;
  }
  .u-sp-w-940 {
    width: 94rem !important;
  }
  .u-sp-w-950 {
    width: 95rem !important;
  }
  .u-sp-w-960 {
    width: 96rem !important;
  }
  .u-sp-w-970 {
    width: 97rem !important;
  }
  .u-sp-w-980 {
    width: 98rem !important;
  }
  .u-sp-w-990 {
    width: 99rem !important;
  }
  .u-sp-w-1000 {
    width: 100rem !important;
  }
  /* 単位：パーセント、vw */
  .u-sp-w-1p {
    width: 1% !important;
  }
  .u-sp-w-1v {
    width: 1vw !important;
  }
  .u-sp-w-2p {
    width: 2% !important;
  }
  .u-sp-w-2v {
    width: 2vw !important;
  }
  .u-sp-w-3p {
    width: 3% !important;
  }
  .u-sp-w-3v {
    width: 3vw !important;
  }
  .u-sp-w-4p {
    width: 4% !important;
  }
  .u-sp-w-4v {
    width: 4vw !important;
  }
  .u-sp-w-5p {
    width: 5% !important;
  }
  .u-sp-w-5v {
    width: 5vw !important;
  }
  .u-sp-w-6p {
    width: 6% !important;
  }
  .u-sp-w-6v {
    width: 6vw !important;
  }
  .u-sp-w-7p {
    width: 7% !important;
  }
  .u-sp-w-7v {
    width: 7vw !important;
  }
  .u-sp-w-8p {
    width: 8% !important;
  }
  .u-sp-w-8v {
    width: 8vw !important;
  }
  .u-sp-w-9p {
    width: 9% !important;
  }
  .u-sp-w-9v {
    width: 9vw !important;
  }
  .u-sp-w-10p {
    width: 10% !important;
  }
  .u-sp-w-10v {
    width: 10vw !important;
  }
  .u-sp-w-11p {
    width: 11% !important;
  }
  .u-sp-w-11v {
    width: 11vw !important;
  }
  .u-sp-w-12p {
    width: 12% !important;
  }
  .u-sp-w-12v {
    width: 12vw !important;
  }
  .u-sp-w-13p {
    width: 13% !important;
  }
  .u-sp-w-13v {
    width: 13vw !important;
  }
  .u-sp-w-14p {
    width: 14% !important;
  }
  .u-sp-w-14v {
    width: 14vw !important;
  }
  .u-sp-w-15p {
    width: 15% !important;
  }
  .u-sp-w-15v {
    width: 15vw !important;
  }
  .u-sp-w-16p {
    width: 16% !important;
  }
  .u-sp-w-16v {
    width: 16vw !important;
  }
  .u-sp-w-17p {
    width: 17% !important;
  }
  .u-sp-w-17v {
    width: 17vw !important;
  }
  .u-sp-w-18p {
    width: 18% !important;
  }
  .u-sp-w-18v {
    width: 18vw !important;
  }
  .u-sp-w-19p {
    width: 19% !important;
  }
  .u-sp-w-19v {
    width: 19vw !important;
  }
  .u-sp-w-20p {
    width: 20% !important;
  }
  .u-sp-w-20v {
    width: 20vw !important;
  }
  .u-sp-w-21p {
    width: 21% !important;
  }
  .u-sp-w-21v {
    width: 21vw !important;
  }
  .u-sp-w-22p {
    width: 22% !important;
  }
  .u-sp-w-22v {
    width: 22vw !important;
  }
  .u-sp-w-23p {
    width: 23% !important;
  }
  .u-sp-w-23v {
    width: 23vw !important;
  }
  .u-sp-w-24p {
    width: 24% !important;
  }
  .u-sp-w-24v {
    width: 24vw !important;
  }
  .u-sp-w-25p {
    width: 25% !important;
  }
  .u-sp-w-25v {
    width: 25vw !important;
  }
  .u-sp-w-26p {
    width: 26% !important;
  }
  .u-sp-w-26v {
    width: 26vw !important;
  }
  .u-sp-w-27p {
    width: 27% !important;
  }
  .u-sp-w-27v {
    width: 27vw !important;
  }
  .u-sp-w-28p {
    width: 28% !important;
  }
  .u-sp-w-28v {
    width: 28vw !important;
  }
  .u-sp-w-29p {
    width: 29% !important;
  }
  .u-sp-w-29v {
    width: 29vw !important;
  }
  .u-sp-w-30p {
    width: 30% !important;
  }
  .u-sp-w-30v {
    width: 30vw !important;
  }
  .u-sp-w-31p {
    width: 31% !important;
  }
  .u-sp-w-31v {
    width: 31vw !important;
  }
  .u-sp-w-32p {
    width: 32% !important;
  }
  .u-sp-w-32v {
    width: 32vw !important;
  }
  .u-sp-w-33p {
    width: 33% !important;
  }
  .u-sp-w-33v {
    width: 33vw !important;
  }
  .u-sp-w-34p {
    width: 34% !important;
  }
  .u-sp-w-34v {
    width: 34vw !important;
  }
  .u-sp-w-35p {
    width: 35% !important;
  }
  .u-sp-w-35v {
    width: 35vw !important;
  }
  .u-sp-w-36p {
    width: 36% !important;
  }
  .u-sp-w-36v {
    width: 36vw !important;
  }
  .u-sp-w-37p {
    width: 37% !important;
  }
  .u-sp-w-37v {
    width: 37vw !important;
  }
  .u-sp-w-38p {
    width: 38% !important;
  }
  .u-sp-w-38v {
    width: 38vw !important;
  }
  .u-sp-w-39p {
    width: 39% !important;
  }
  .u-sp-w-39v {
    width: 39vw !important;
  }
  .u-sp-w-40p {
    width: 40% !important;
  }
  .u-sp-w-40v {
    width: 40vw !important;
  }
  .u-sp-w-41p {
    width: 41% !important;
  }
  .u-sp-w-41v {
    width: 41vw !important;
  }
  .u-sp-w-42p {
    width: 42% !important;
  }
  .u-sp-w-42v {
    width: 42vw !important;
  }
  .u-sp-w-43p {
    width: 43% !important;
  }
  .u-sp-w-43v {
    width: 43vw !important;
  }
  .u-sp-w-44p {
    width: 44% !important;
  }
  .u-sp-w-44v {
    width: 44vw !important;
  }
  .u-sp-w-45p {
    width: 45% !important;
  }
  .u-sp-w-45v {
    width: 45vw !important;
  }
  .u-sp-w-46p {
    width: 46% !important;
  }
  .u-sp-w-46v {
    width: 46vw !important;
  }
  .u-sp-w-47p {
    width: 47% !important;
  }
  .u-sp-w-47v {
    width: 47vw !important;
  }
  .u-sp-w-48p {
    width: 48% !important;
  }
  .u-sp-w-48v {
    width: 48vw !important;
  }
  .u-sp-w-49p {
    width: 49% !important;
  }
  .u-sp-w-49v {
    width: 49vw !important;
  }
  .u-sp-w-50p {
    width: 50% !important;
  }
  .u-sp-w-50v {
    width: 50vw !important;
  }
  .u-sp-w-51p {
    width: 51% !important;
  }
  .u-sp-w-51v {
    width: 51vw !important;
  }
  .u-sp-w-52p {
    width: 52% !important;
  }
  .u-sp-w-52v {
    width: 52vw !important;
  }
  .u-sp-w-53p {
    width: 53% !important;
  }
  .u-sp-w-53v {
    width: 53vw !important;
  }
  .u-sp-w-54p {
    width: 54% !important;
  }
  .u-sp-w-54v {
    width: 54vw !important;
  }
  .u-sp-w-55p {
    width: 55% !important;
  }
  .u-sp-w-55v {
    width: 55vw !important;
  }
  .u-sp-w-56p {
    width: 56% !important;
  }
  .u-sp-w-56v {
    width: 56vw !important;
  }
  .u-sp-w-57p {
    width: 57% !important;
  }
  .u-sp-w-57v {
    width: 57vw !important;
  }
  .u-sp-w-58p {
    width: 58% !important;
  }
  .u-sp-w-58v {
    width: 58vw !important;
  }
  .u-sp-w-59p {
    width: 59% !important;
  }
  .u-sp-w-59v {
    width: 59vw !important;
  }
  .u-sp-w-60p {
    width: 60% !important;
  }
  .u-sp-w-60v {
    width: 60vw !important;
  }
  .u-sp-w-61p {
    width: 61% !important;
  }
  .u-sp-w-61v {
    width: 61vw !important;
  }
  .u-sp-w-62p {
    width: 62% !important;
  }
  .u-sp-w-62v {
    width: 62vw !important;
  }
  .u-sp-w-63p {
    width: 63% !important;
  }
  .u-sp-w-63v {
    width: 63vw !important;
  }
  .u-sp-w-64p {
    width: 64% !important;
  }
  .u-sp-w-64v {
    width: 64vw !important;
  }
  .u-sp-w-65p {
    width: 65% !important;
  }
  .u-sp-w-65v {
    width: 65vw !important;
  }
  .u-sp-w-66p {
    width: 66% !important;
  }
  .u-sp-w-66v {
    width: 66vw !important;
  }
  .u-sp-w-67p {
    width: 67% !important;
  }
  .u-sp-w-67v {
    width: 67vw !important;
  }
  .u-sp-w-68p {
    width: 68% !important;
  }
  .u-sp-w-68v {
    width: 68vw !important;
  }
  .u-sp-w-69p {
    width: 69% !important;
  }
  .u-sp-w-69v {
    width: 69vw !important;
  }
  .u-sp-w-70p {
    width: 70% !important;
  }
  .u-sp-w-70v {
    width: 70vw !important;
  }
  .u-sp-w-71p {
    width: 71% !important;
  }
  .u-sp-w-71v {
    width: 71vw !important;
  }
  .u-sp-w-72p {
    width: 72% !important;
  }
  .u-sp-w-72v {
    width: 72vw !important;
  }
  .u-sp-w-73p {
    width: 73% !important;
  }
  .u-sp-w-73v {
    width: 73vw !important;
  }
  .u-sp-w-74p {
    width: 74% !important;
  }
  .u-sp-w-74v {
    width: 74vw !important;
  }
  .u-sp-w-75p {
    width: 75% !important;
  }
  .u-sp-w-75v {
    width: 75vw !important;
  }
  .u-sp-w-76p {
    width: 76% !important;
  }
  .u-sp-w-76v {
    width: 76vw !important;
  }
  .u-sp-w-77p {
    width: 77% !important;
  }
  .u-sp-w-77v {
    width: 77vw !important;
  }
  .u-sp-w-78p {
    width: 78% !important;
  }
  .u-sp-w-78v {
    width: 78vw !important;
  }
  .u-sp-w-79p {
    width: 79% !important;
  }
  .u-sp-w-79v {
    width: 79vw !important;
  }
  .u-sp-w-80p {
    width: 80% !important;
  }
  .u-sp-w-80v {
    width: 80vw !important;
  }
  .u-sp-w-81p {
    width: 81% !important;
  }
  .u-sp-w-81v {
    width: 81vw !important;
  }
  .u-sp-w-82p {
    width: 82% !important;
  }
  .u-sp-w-82v {
    width: 82vw !important;
  }
  .u-sp-w-83p {
    width: 83% !important;
  }
  .u-sp-w-83v {
    width: 83vw !important;
  }
  .u-sp-w-84p {
    width: 84% !important;
  }
  .u-sp-w-84v {
    width: 84vw !important;
  }
  .u-sp-w-85p {
    width: 85% !important;
  }
  .u-sp-w-85v {
    width: 85vw !important;
  }
  .u-sp-w-86p {
    width: 86% !important;
  }
  .u-sp-w-86v {
    width: 86vw !important;
  }
  .u-sp-w-87p {
    width: 87% !important;
  }
  .u-sp-w-87v {
    width: 87vw !important;
  }
  .u-sp-w-88p {
    width: 88% !important;
  }
  .u-sp-w-88v {
    width: 88vw !important;
  }
  .u-sp-w-89p {
    width: 89% !important;
  }
  .u-sp-w-89v {
    width: 89vw !important;
  }
  .u-sp-w-90p {
    width: 90% !important;
  }
  .u-sp-w-90v {
    width: 90vw !important;
  }
  .u-sp-w-91p {
    width: 91% !important;
  }
  .u-sp-w-91v {
    width: 91vw !important;
  }
  .u-sp-w-92p {
    width: 92% !important;
  }
  .u-sp-w-92v {
    width: 92vw !important;
  }
  .u-sp-w-93p {
    width: 93% !important;
  }
  .u-sp-w-93v {
    width: 93vw !important;
  }
  .u-sp-w-94p {
    width: 94% !important;
  }
  .u-sp-w-94v {
    width: 94vw !important;
  }
  .u-sp-w-95p {
    width: 95% !important;
  }
  .u-sp-w-95v {
    width: 95vw !important;
  }
  .u-sp-w-96p {
    width: 96% !important;
  }
  .u-sp-w-96v {
    width: 96vw !important;
  }
  .u-sp-w-97p {
    width: 97% !important;
  }
  .u-sp-w-97v {
    width: 97vw !important;
  }
  .u-sp-w-98p {
    width: 98% !important;
  }
  .u-sp-w-98v {
    width: 98vw !important;
  }
  .u-sp-w-99p {
    width: 99% !important;
  }
  .u-sp-w-99v {
    width: 99vw !important;
  }
  .u-sp-w-100p {
    width: 100% !important;
  }
  .u-sp-w-100v {
    width: 100vw !important;
  }
}
/* --------------------------------------------------------------------------------
   ユーティリティクラス - 高さ
   --------------------------------------------------------------------------------
     - 単位 px → u-h-5,   u-h-10  ... u-h-100, u-h-110, u-h-120, ..., u-h-1000
     - 100pxまでは5px刻み、以降は10px刻み
       ※実際の指定では px ではなく rem が使われている（10px = 1rem）
     - 単位 em → u-h-1em, u-h-2em ... u-h-10em
     - 単位 %  → u-h-1p,  u-h-2p  ... u-h-100p
     - 単位 vw → u-h-5v,  u-h-10v ... u-h-100v
     - u- の後ろに sp- を付加するとスマホ用のクラスになる
----------------------------------------------------------------------------------- */
/* 単位：em */
.u-h-1em {
  height: 1em !important;
}

.u-h-2em {
  height: 2em !important;
}

.u-h-3em {
  height: 3em !important;
}

.u-h-4em {
  height: 4em !important;
}

.u-h-5em {
  height: 5em !important;
}

.u-h-6em {
  height: 6em !important;
}

.u-h-7em {
  height: 7em !important;
}

.u-h-8em {
  height: 8em !important;
}

.u-h-9em {
  height: 9em !important;
}

.u-h-10em {
  height: 10em !important;
}

/* 単位：px（rem） */
.u-h-5 {
  height: 0.5rem !important;
}

.u-h-10 {
  height: 1rem !important;
}

.u-h-15 {
  height: 1.5rem !important;
}

.u-h-20 {
  height: 2rem !important;
}

.u-h-25 {
  height: 2.5rem !important;
}

.u-h-30 {
  height: 3rem !important;
}

.u-h-35 {
  height: 3.5rem !important;
}

.u-h-40 {
  height: 4rem !important;
}

.u-h-45 {
  height: 4.5rem !important;
}

.u-h-50 {
  height: 5rem !important;
}

.u-h-55 {
  height: 5.5rem !important;
}

.u-h-60 {
  height: 6rem !important;
}

.u-h-65 {
  height: 6.5rem !important;
}

.u-h-70 {
  height: 7rem !important;
}

.u-h-75 {
  height: 7.5rem !important;
}

.u-h-80 {
  height: 8rem !important;
}

.u-h-85 {
  height: 8.5rem !important;
}

.u-h-90 {
  height: 9rem !important;
}

.u-h-95 {
  height: 9.5rem !important;
}

/* 単位：100px以上は10px刻み */
.u-h-100 {
  height: 10rem !important;
}

.u-h-110 {
  height: 11rem !important;
}

.u-h-120 {
  height: 12rem !important;
}

.u-h-130 {
  height: 13rem !important;
}

.u-h-140 {
  height: 14rem !important;
}

.u-h-150 {
  height: 15rem !important;
}

.u-h-160 {
  height: 16rem !important;
}

.u-h-170 {
  height: 17rem !important;
}

.u-h-180 {
  height: 18rem !important;
}

.u-h-190 {
  height: 19rem !important;
}

.u-h-200 {
  height: 20rem !important;
}

.u-h-210 {
  height: 21rem !important;
}

.u-h-220 {
  height: 22rem !important;
}

.u-h-230 {
  height: 23rem !important;
}

.u-h-240 {
  height: 24rem !important;
}

.u-h-250 {
  height: 25rem !important;
}

.u-h-260 {
  height: 26rem !important;
}

.u-h-270 {
  height: 27rem !important;
}

.u-h-280 {
  height: 28rem !important;
}

.u-h-290 {
  height: 29rem !important;
}

.u-h-300 {
  height: 30rem !important;
}

.u-h-310 {
  height: 31rem !important;
}

.u-h-320 {
  height: 32rem !important;
}

.u-h-330 {
  height: 33rem !important;
}

.u-h-340 {
  height: 34rem !important;
}

.u-h-350 {
  height: 35rem !important;
}

.u-h-360 {
  height: 36rem !important;
}

.u-h-370 {
  height: 37rem !important;
}

.u-h-380 {
  height: 38rem !important;
}

.u-h-390 {
  height: 39rem !important;
}

.u-h-400 {
  height: 40rem !important;
}

.u-h-410 {
  height: 41rem !important;
}

.u-h-420 {
  height: 42rem !important;
}

.u-h-430 {
  height: 43rem !important;
}

.u-h-440 {
  height: 44rem !important;
}

.u-h-450 {
  height: 45rem !important;
}

.u-h-460 {
  height: 46rem !important;
}

.u-h-470 {
  height: 47rem !important;
}

.u-h-480 {
  height: 48rem !important;
}

.u-h-490 {
  height: 49rem !important;
}

.u-h-500 {
  height: 50rem !important;
}

.u-h-510 {
  height: 51rem !important;
}

.u-h-520 {
  height: 52rem !important;
}

.u-h-530 {
  height: 53rem !important;
}

.u-h-540 {
  height: 54rem !important;
}

.u-h-550 {
  height: 55rem !important;
}

.u-h-560 {
  height: 56rem !important;
}

.u-h-570 {
  height: 57rem !important;
}

.u-h-580 {
  height: 58rem !important;
}

.u-h-590 {
  height: 59rem !important;
}

.u-h-600 {
  height: 60rem !important;
}

.u-h-610 {
  height: 61rem !important;
}

.u-h-620 {
  height: 62rem !important;
}

.u-h-630 {
  height: 63rem !important;
}

.u-h-640 {
  height: 64rem !important;
}

.u-h-650 {
  height: 65rem !important;
}

.u-h-660 {
  height: 66rem !important;
}

.u-h-670 {
  height: 67rem !important;
}

.u-h-680 {
  height: 68rem !important;
}

.u-h-690 {
  height: 69rem !important;
}

.u-h-700 {
  height: 70rem !important;
}

.u-h-710 {
  height: 71rem !important;
}

.u-h-720 {
  height: 72rem !important;
}

.u-h-730 {
  height: 73rem !important;
}

.u-h-740 {
  height: 74rem !important;
}

.u-h-750 {
  height: 75rem !important;
}

.u-h-760 {
  height: 76rem !important;
}

.u-h-770 {
  height: 77rem !important;
}

.u-h-780 {
  height: 78rem !important;
}

.u-h-790 {
  height: 79rem !important;
}

.u-h-800 {
  height: 80rem !important;
}

.u-h-810 {
  height: 81rem !important;
}

.u-h-820 {
  height: 82rem !important;
}

.u-h-830 {
  height: 83rem !important;
}

.u-h-840 {
  height: 84rem !important;
}

.u-h-850 {
  height: 85rem !important;
}

.u-h-860 {
  height: 86rem !important;
}

.u-h-870 {
  height: 87rem !important;
}

.u-h-880 {
  height: 88rem !important;
}

.u-h-890 {
  height: 89rem !important;
}

.u-h-900 {
  height: 90rem !important;
}

.u-h-910 {
  height: 91rem !important;
}

.u-h-920 {
  height: 92rem !important;
}

.u-h-930 {
  height: 93rem !important;
}

.u-h-940 {
  height: 94rem !important;
}

.u-h-950 {
  height: 95rem !important;
}

.u-h-960 {
  height: 96rem !important;
}

.u-h-970 {
  height: 97rem !important;
}

.u-h-980 {
  height: 98rem !important;
}

.u-h-990 {
  height: 99rem !important;
}

.u-h-1000 {
  height: 100rem !important;
}

/* 単位：パーセント、vw */
.u-h-1p {
  height: 1% !important;
}

.u-h-1v {
  height: 1vw !important;
}

.u-h-2p {
  height: 2% !important;
}

.u-h-2v {
  height: 2vw !important;
}

.u-h-3p {
  height: 3% !important;
}

.u-h-3v {
  height: 3vw !important;
}

.u-h-4p {
  height: 4% !important;
}

.u-h-4v {
  height: 4vw !important;
}

.u-h-5p {
  height: 5% !important;
}

.u-h-5v {
  height: 5vw !important;
}

.u-h-6p {
  height: 6% !important;
}

.u-h-6v {
  height: 6vw !important;
}

.u-h-7p {
  height: 7% !important;
}

.u-h-7v {
  height: 7vw !important;
}

.u-h-8p {
  height: 8% !important;
}

.u-h-8v {
  height: 8vw !important;
}

.u-h-9p {
  height: 9% !important;
}

.u-h-9v {
  height: 9vw !important;
}

.u-h-10p {
  height: 10% !important;
}

.u-h-10v {
  height: 10vw !important;
}

.u-h-11p {
  height: 11% !important;
}

.u-h-11v {
  height: 11vw !important;
}

.u-h-12p {
  height: 12% !important;
}

.u-h-12v {
  height: 12vw !important;
}

.u-h-13p {
  height: 13% !important;
}

.u-h-13v {
  height: 13vw !important;
}

.u-h-14p {
  height: 14% !important;
}

.u-h-14v {
  height: 14vw !important;
}

.u-h-15p {
  height: 15% !important;
}

.u-h-15v {
  height: 15vw !important;
}

.u-h-16p {
  height: 16% !important;
}

.u-h-16v {
  height: 16vw !important;
}

.u-h-17p {
  height: 17% !important;
}

.u-h-17v {
  height: 17vw !important;
}

.u-h-18p {
  height: 18% !important;
}

.u-h-18v {
  height: 18vw !important;
}

.u-h-19p {
  height: 19% !important;
}

.u-h-19v {
  height: 19vw !important;
}

.u-h-20p {
  height: 20% !important;
}

.u-h-20v {
  height: 20vw !important;
}

.u-h-21p {
  height: 21% !important;
}

.u-h-21v {
  height: 21vw !important;
}

.u-h-22p {
  height: 22% !important;
}

.u-h-22v {
  height: 22vw !important;
}

.u-h-23p {
  height: 23% !important;
}

.u-h-23v {
  height: 23vw !important;
}

.u-h-24p {
  height: 24% !important;
}

.u-h-24v {
  height: 24vw !important;
}

.u-h-25p {
  height: 25% !important;
}

.u-h-25v {
  height: 25vw !important;
}

.u-h-26p {
  height: 26% !important;
}

.u-h-26v {
  height: 26vw !important;
}

.u-h-27p {
  height: 27% !important;
}

.u-h-27v {
  height: 27vw !important;
}

.u-h-28p {
  height: 28% !important;
}

.u-h-28v {
  height: 28vw !important;
}

.u-h-29p {
  height: 29% !important;
}

.u-h-29v {
  height: 29vw !important;
}

.u-h-30p {
  height: 30% !important;
}

.u-h-30v {
  height: 30vw !important;
}

.u-h-31p {
  height: 31% !important;
}

.u-h-31v {
  height: 31vw !important;
}

.u-h-32p {
  height: 32% !important;
}

.u-h-32v {
  height: 32vw !important;
}

.u-h-33p {
  height: 33% !important;
}

.u-h-33v {
  height: 33vw !important;
}

.u-h-34p {
  height: 34% !important;
}

.u-h-34v {
  height: 34vw !important;
}

.u-h-35p {
  height: 35% !important;
}

.u-h-35v {
  height: 35vw !important;
}

.u-h-36p {
  height: 36% !important;
}

.u-h-36v {
  height: 36vw !important;
}

.u-h-37p {
  height: 37% !important;
}

.u-h-37v {
  height: 37vw !important;
}

.u-h-38p {
  height: 38% !important;
}

.u-h-38v {
  height: 38vw !important;
}

.u-h-39p {
  height: 39% !important;
}

.u-h-39v {
  height: 39vw !important;
}

.u-h-40p {
  height: 40% !important;
}

.u-h-40v {
  height: 40vw !important;
}

.u-h-41p {
  height: 41% !important;
}

.u-h-41v {
  height: 41vw !important;
}

.u-h-42p {
  height: 42% !important;
}

.u-h-42v {
  height: 42vw !important;
}

.u-h-43p {
  height: 43% !important;
}

.u-h-43v {
  height: 43vw !important;
}

.u-h-44p {
  height: 44% !important;
}

.u-h-44v {
  height: 44vw !important;
}

.u-h-45p {
  height: 45% !important;
}

.u-h-45v {
  height: 45vw !important;
}

.u-h-46p {
  height: 46% !important;
}

.u-h-46v {
  height: 46vw !important;
}

.u-h-47p {
  height: 47% !important;
}

.u-h-47v {
  height: 47vw !important;
}

.u-h-48p {
  height: 48% !important;
}

.u-h-48v {
  height: 48vw !important;
}

.u-h-49p {
  height: 49% !important;
}

.u-h-49v {
  height: 49vw !important;
}

.u-h-50p {
  height: 50% !important;
}

.u-h-50v {
  height: 50vw !important;
}

.u-h-51p {
  height: 51% !important;
}

.u-h-51v {
  height: 51vw !important;
}

.u-h-52p {
  height: 52% !important;
}

.u-h-52v {
  height: 52vw !important;
}

.u-h-53p {
  height: 53% !important;
}

.u-h-53v {
  height: 53vw !important;
}

.u-h-54p {
  height: 54% !important;
}

.u-h-54v {
  height: 54vw !important;
}

.u-h-55p {
  height: 55% !important;
}

.u-h-55v {
  height: 55vw !important;
}

.u-h-56p {
  height: 56% !important;
}

.u-h-56v {
  height: 56vw !important;
}

.u-h-57p {
  height: 57% !important;
}

.u-h-57v {
  height: 57vw !important;
}

.u-h-58p {
  height: 58% !important;
}

.u-h-58v {
  height: 58vw !important;
}

.u-h-59p {
  height: 59% !important;
}

.u-h-59v {
  height: 59vw !important;
}

.u-h-60p {
  height: 60% !important;
}

.u-h-60v {
  height: 60vw !important;
}

.u-h-61p {
  height: 61% !important;
}

.u-h-61v {
  height: 61vw !important;
}

.u-h-62p {
  height: 62% !important;
}

.u-h-62v {
  height: 62vw !important;
}

.u-h-63p {
  height: 63% !important;
}

.u-h-63v {
  height: 63vw !important;
}

.u-h-64p {
  height: 64% !important;
}

.u-h-64v {
  height: 64vw !important;
}

.u-h-65p {
  height: 65% !important;
}

.u-h-65v {
  height: 65vw !important;
}

.u-h-66p {
  height: 66% !important;
}

.u-h-66v {
  height: 66vw !important;
}

.u-h-67p {
  height: 67% !important;
}

.u-h-67v {
  height: 67vw !important;
}

.u-h-68p {
  height: 68% !important;
}

.u-h-68v {
  height: 68vw !important;
}

.u-h-69p {
  height: 69% !important;
}

.u-h-69v {
  height: 69vw !important;
}

.u-h-70p {
  height: 70% !important;
}

.u-h-70v {
  height: 70vw !important;
}

.u-h-71p {
  height: 71% !important;
}

.u-h-71v {
  height: 71vw !important;
}

.u-h-72p {
  height: 72% !important;
}

.u-h-72v {
  height: 72vw !important;
}

.u-h-73p {
  height: 73% !important;
}

.u-h-73v {
  height: 73vw !important;
}

.u-h-74p {
  height: 74% !important;
}

.u-h-74v {
  height: 74vw !important;
}

.u-h-75p {
  height: 75% !important;
}

.u-h-75v {
  height: 75vw !important;
}

.u-h-76p {
  height: 76% !important;
}

.u-h-76v {
  height: 76vw !important;
}

.u-h-77p {
  height: 77% !important;
}

.u-h-77v {
  height: 77vw !important;
}

.u-h-78p {
  height: 78% !important;
}

.u-h-78v {
  height: 78vw !important;
}

.u-h-79p {
  height: 79% !important;
}

.u-h-79v {
  height: 79vw !important;
}

.u-h-80p {
  height: 80% !important;
}

.u-h-80v {
  height: 80vw !important;
}

.u-h-81p {
  height: 81% !important;
}

.u-h-81v {
  height: 81vw !important;
}

.u-h-82p {
  height: 82% !important;
}

.u-h-82v {
  height: 82vw !important;
}

.u-h-83p {
  height: 83% !important;
}

.u-h-83v {
  height: 83vw !important;
}

.u-h-84p {
  height: 84% !important;
}

.u-h-84v {
  height: 84vw !important;
}

.u-h-85p {
  height: 85% !important;
}

.u-h-85v {
  height: 85vw !important;
}

.u-h-86p {
  height: 86% !important;
}

.u-h-86v {
  height: 86vw !important;
}

.u-h-87p {
  height: 87% !important;
}

.u-h-87v {
  height: 87vw !important;
}

.u-h-88p {
  height: 88% !important;
}

.u-h-88v {
  height: 88vw !important;
}

.u-h-89p {
  height: 89% !important;
}

.u-h-89v {
  height: 89vw !important;
}

.u-h-90p {
  height: 90% !important;
}

.u-h-90v {
  height: 90vw !important;
}

.u-h-91p {
  height: 91% !important;
}

.u-h-91v {
  height: 91vw !important;
}

.u-h-92p {
  height: 92% !important;
}

.u-h-92v {
  height: 92vw !important;
}

.u-h-93p {
  height: 93% !important;
}

.u-h-93v {
  height: 93vw !important;
}

.u-h-94p {
  height: 94% !important;
}

.u-h-94v {
  height: 94vw !important;
}

.u-h-95p {
  height: 95% !important;
}

.u-h-95v {
  height: 95vw !important;
}

.u-h-96p {
  height: 96% !important;
}

.u-h-96v {
  height: 96vw !important;
}

.u-h-97p {
  height: 97% !important;
}

.u-h-97v {
  height: 97vw !important;
}

.u-h-98p {
  height: 98% !important;
}

.u-h-98v {
  height: 98vw !important;
}

.u-h-99p {
  height: 99% !important;
}

.u-h-99v {
  height: 99vw !important;
}

.u-h-100p {
  height: 100% !important;
}

.u-h-100v {
  height: 100vw !important;
}

/* SP版：プリフィクス sp- を付加 */
@media print, screen and (max-width: 767px) {
  /* 単位：em */
  .u-sp-h-1em {
    height: 1em !important;
  }
  .u-sp-h-2em {
    height: 2em !important;
  }
  .u-sp-h-3em {
    height: 3em !important;
  }
  .u-sp-h-4em {
    height: 4em !important;
  }
  .u-sp-h-5em {
    height: 5em !important;
  }
  .u-sp-h-6em {
    height: 6em !important;
  }
  .u-sp-h-7em {
    height: 7em !important;
  }
  .u-sp-h-8em {
    height: 8em !important;
  }
  .u-sp-h-9em {
    height: 9em !important;
  }
  .u-sp-h-10em {
    height: 10em !important;
  }
  /* 単位：px（rem） */
  .u-sp-h-5 {
    height: 0.5rem !important;
  }
  .u-sp-h-10 {
    height: 1rem !important;
  }
  .u-sp-h-15 {
    height: 1.5rem !important;
  }
  .u-sp-h-20 {
    height: 2rem !important;
  }
  .u-sp-h-25 {
    height: 2.5rem !important;
  }
  .u-sp-h-30 {
    height: 3rem !important;
  }
  .u-sp-h-35 {
    height: 3.5rem !important;
  }
  .u-sp-h-40 {
    height: 4rem !important;
  }
  .u-sp-h-45 {
    height: 4.5rem !important;
  }
  .u-sp-h-50 {
    height: 5rem !important;
  }
  .u-sp-h-55 {
    height: 5.5rem !important;
  }
  .u-sp-h-60 {
    height: 6rem !important;
  }
  .u-sp-h-65 {
    height: 6.5rem !important;
  }
  .u-sp-h-70 {
    height: 7rem !important;
  }
  .u-sp-h-75 {
    height: 7.5rem !important;
  }
  .u-sp-h-80 {
    height: 8rem !important;
  }
  .u-sp-h-85 {
    height: 8.5rem !important;
  }
  .u-sp-h-90 {
    height: 9rem !important;
  }
  .u-sp-h-95 {
    height: 9.5rem !important;
  }
  /* 単位：100px以上は10px刻み */
  .u-sp-h-100 {
    height: 10rem !important;
  }
  .u-sp-h-110 {
    height: 11rem !important;
  }
  .u-sp-h-120 {
    height: 12rem !important;
  }
  .u-sp-h-130 {
    height: 13rem !important;
  }
  .u-sp-h-140 {
    height: 14rem !important;
  }
  .u-sp-h-150 {
    height: 15rem !important;
  }
  .u-sp-h-160 {
    height: 16rem !important;
  }
  .u-sp-h-170 {
    height: 17rem !important;
  }
  .u-sp-h-180 {
    height: 18rem !important;
  }
  .u-sp-h-190 {
    height: 19rem !important;
  }
  .u-sp-h-200 {
    height: 20rem !important;
  }
  .u-sp-h-210 {
    height: 21rem !important;
  }
  .u-sp-h-220 {
    height: 22rem !important;
  }
  .u-sp-h-230 {
    height: 23rem !important;
  }
  .u-sp-h-240 {
    height: 24rem !important;
  }
  .u-sp-h-250 {
    height: 25rem !important;
  }
  .u-sp-h-260 {
    height: 26rem !important;
  }
  .u-sp-h-270 {
    height: 27rem !important;
  }
  .u-sp-h-280 {
    height: 28rem !important;
  }
  .u-sp-h-290 {
    height: 29rem !important;
  }
  .u-sp-h-300 {
    height: 30rem !important;
  }
  .u-sp-h-310 {
    height: 31rem !important;
  }
  .u-sp-h-320 {
    height: 32rem !important;
  }
  .u-sp-h-330 {
    height: 33rem !important;
  }
  .u-sp-h-340 {
    height: 34rem !important;
  }
  .u-sp-h-350 {
    height: 35rem !important;
  }
  .u-sp-h-360 {
    height: 36rem !important;
  }
  .u-sp-h-370 {
    height: 37rem !important;
  }
  .u-sp-h-380 {
    height: 38rem !important;
  }
  .u-sp-h-390 {
    height: 39rem !important;
  }
  .u-sp-h-400 {
    height: 40rem !important;
  }
  .u-sp-h-410 {
    height: 41rem !important;
  }
  .u-sp-h-420 {
    height: 42rem !important;
  }
  .u-sp-h-430 {
    height: 43rem !important;
  }
  .u-sp-h-440 {
    height: 44rem !important;
  }
  .u-sp-h-450 {
    height: 45rem !important;
  }
  .u-sp-h-460 {
    height: 46rem !important;
  }
  .u-sp-h-470 {
    height: 47rem !important;
  }
  .u-sp-h-480 {
    height: 48rem !important;
  }
  .u-sp-h-490 {
    height: 49rem !important;
  }
  .u-sp-h-500 {
    height: 50rem !important;
  }
  .u-sp-h-510 {
    height: 51rem !important;
  }
  .u-sp-h-520 {
    height: 52rem !important;
  }
  .u-sp-h-530 {
    height: 53rem !important;
  }
  .u-sp-h-540 {
    height: 54rem !important;
  }
  .u-sp-h-550 {
    height: 55rem !important;
  }
  .u-sp-h-560 {
    height: 56rem !important;
  }
  .u-sp-h-570 {
    height: 57rem !important;
  }
  .u-sp-h-580 {
    height: 58rem !important;
  }
  .u-sp-h-590 {
    height: 59rem !important;
  }
  .u-sp-h-600 {
    height: 60rem !important;
  }
  .u-sp-h-610 {
    height: 61rem !important;
  }
  .u-sp-h-620 {
    height: 62rem !important;
  }
  .u-sp-h-630 {
    height: 63rem !important;
  }
  .u-sp-h-640 {
    height: 64rem !important;
  }
  .u-sp-h-650 {
    height: 65rem !important;
  }
  .u-sp-h-660 {
    height: 66rem !important;
  }
  .u-sp-h-670 {
    height: 67rem !important;
  }
  .u-sp-h-680 {
    height: 68rem !important;
  }
  .u-sp-h-690 {
    height: 69rem !important;
  }
  .u-sp-h-700 {
    height: 70rem !important;
  }
  .u-sp-h-710 {
    height: 71rem !important;
  }
  .u-sp-h-720 {
    height: 72rem !important;
  }
  .u-sp-h-730 {
    height: 73rem !important;
  }
  .u-sp-h-740 {
    height: 74rem !important;
  }
  .u-sp-h-750 {
    height: 75rem !important;
  }
  .u-sp-h-760 {
    height: 76rem !important;
  }
  .u-sp-h-770 {
    height: 77rem !important;
  }
  .u-sp-h-780 {
    height: 78rem !important;
  }
  .u-sp-h-790 {
    height: 79rem !important;
  }
  .u-sp-h-800 {
    height: 80rem !important;
  }
  .u-sp-h-810 {
    height: 81rem !important;
  }
  .u-sp-h-820 {
    height: 82rem !important;
  }
  .u-sp-h-830 {
    height: 83rem !important;
  }
  .u-sp-h-840 {
    height: 84rem !important;
  }
  .u-sp-h-850 {
    height: 85rem !important;
  }
  .u-sp-h-860 {
    height: 86rem !important;
  }
  .u-sp-h-870 {
    height: 87rem !important;
  }
  .u-sp-h-880 {
    height: 88rem !important;
  }
  .u-sp-h-890 {
    height: 89rem !important;
  }
  .u-sp-h-900 {
    height: 90rem !important;
  }
  .u-sp-h-910 {
    height: 91rem !important;
  }
  .u-sp-h-920 {
    height: 92rem !important;
  }
  .u-sp-h-930 {
    height: 93rem !important;
  }
  .u-sp-h-940 {
    height: 94rem !important;
  }
  .u-sp-h-950 {
    height: 95rem !important;
  }
  .u-sp-h-960 {
    height: 96rem !important;
  }
  .u-sp-h-970 {
    height: 97rem !important;
  }
  .u-sp-h-980 {
    height: 98rem !important;
  }
  .u-sp-h-990 {
    height: 99rem !important;
  }
  .u-sp-h-1000 {
    height: 100rem !important;
  }
  /* 単位：パーセント、vw */
  .u-sp-h-5p {
    height: 5% !important;
  }
  .u-sp-h-5v {
    height: 5vw !important;
  }
  .u-sp-h-10p {
    height: 10% !important;
  }
  .u-sp-h-10v {
    height: 10vw !important;
  }
  .u-sp-h-15p {
    height: 15% !important;
  }
  .u-sp-h-15v {
    height: 15vw !important;
  }
  .u-sp-h-20p {
    height: 20% !important;
  }
  .u-sp-h-20v {
    height: 20vw !important;
  }
  .u-sp-h-25p {
    height: 25% !important;
  }
  .u-sp-h-25v {
    height: 25vw !important;
  }
  .u-sp-h-30p {
    height: 30% !important;
  }
  .u-sp-h-30v {
    height: 30vw !important;
  }
  .u-sp-h-35p {
    height: 35% !important;
  }
  .u-sp-h-35v {
    height: 35vw !important;
  }
  .u-sp-h-40p {
    height: 40% !important;
  }
  .u-sp-h-40v {
    height: 40vw !important;
  }
  .u-sp-h-45p {
    height: 45% !important;
  }
  .u-sp-h-45v {
    height: 45vw !important;
  }
  .u-sp-h-50p {
    height: 50% !important;
  }
  .u-sp-h-50v {
    height: 50vw !important;
  }
  .u-sp-h-55p {
    height: 55% !important;
  }
  .u-sp-h-55v {
    height: 55vw !important;
  }
  .u-sp-h-60p {
    height: 60% !important;
  }
  .u-sp-h-60v {
    height: 60vw !important;
  }
  .u-sp-h-65p {
    height: 65% !important;
  }
  .u-sp-h-65v {
    height: 65vw !important;
  }
  .u-sp-h-70p {
    height: 70% !important;
  }
  .u-sp-h-70v {
    height: 70vw !important;
  }
  .u-sp-h-75p {
    height: 75% !important;
  }
  .u-sp-h-75v {
    height: 75vw !important;
  }
  .u-sp-h-80p {
    height: 80% !important;
  }
  .u-sp-h-80v {
    height: 80vw !important;
  }
  .u-sp-h-85p {
    height: 85% !important;
  }
  .u-sp-h-85v {
    height: 85vw !important;
  }
  .u-sp-h-90p {
    height: 90% !important;
  }
  .u-sp-h-90v {
    height: 90vw !important;
  }
  .u-sp-h-95p {
    height: 95% !important;
  }
  .u-sp-h-95v {
    height: 95vw !important;
  }
  .u-sp-h-100p {
    height: 100% !important;
  }
  .u-sp-h-100v {
    height: 100vw !important;
  }
}
/* --------------------------------------------------------------------------------
   ユーティリティクラス - マージン
   --------------------------------------------------------------------------------
     - 単位 px ※実際の指定では px ではなく rem が使われている（10px = 1rem）
         マージン　: u-m-0,  u-m-5  ... u-m-150,  u-m-auto
         上マージン: u-mt-0, u-mt-5 ... u-mt-150, u-mt-auto
         下マージン: u-mb-0, u-mb-5 ... u-mb-150, u-mb-auto
         左マージン: u-ml-0, u-ml-5 ... u-ml-150, u-ml-auto
         右マージン: u-mr-0, u-mr-5 ... u-mr-150, u-mr-auto
         縦マージン: u-my-0, u-my-5 ... u-my-150, u-my-auto
         横マージン: u-mx-0, u-mx-5 ... u-mx-150, u-mx-auto

     - 単位 em（0.5em から 0.5em 刻みで 10em まで）
         マージン　: u-m-0em,  u-m-05em,  u-m-1em,  u-m-15em,  u-m-2em  ... u-m-10em
         上マージン: u-mt-0em, u-mt-05em, u-mt-1em, u-mt-15em, u-mt-2em ... u-mt-10em
         下マージン: u-mb-0em, u-mb-05em, u-mb-1em, u-mb-15em, u-mb-2em ... u-mb-10em
         左マージン: u-ml-0em, u-ml-05em, u-ml-1em, u-ml-15em, u-ml-2em ... u-ml-10em
         右マージン: u-mr-0em, u-mr-05em, u-mr-1em, u-mr-15em, u-mr-2em ... u-mr-10em
         縦マージン: u-my-0em, u-my-05em, u-my-1em, u-my-15em, u-my-2em ... u-my-10em
         横マージン: u-mx-0em, u-mx-05em, u-mx-1em, u-mx-15em, u-mx-2em ... u-mx-10em

     - u- の後ろに sp- を付加するとスマホ用のクラスになる
----------------------------------------------------------------------------------- */
/* 単位: px */
.u-m-0 {
  margin: 0rem !important;
}

.u-mt-0 {
  margin-top: 0rem !important;
}

.u-mb-0 {
  margin-bottom: 0rem !important;
}

.u-ml-0 {
  margin-left: 0rem !important;
}

.u-mr-0 {
  margin-right: 0rem !important;
}

.u-my-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.u-mx-0 {
  margin-left: 0rem !important;
  margin-right: 0rem !important;
}

.u-m-5 {
  margin: 0.5rem !important;
}

.u-mt-5 {
  margin-top: 0.5rem !important;
}

.u-mb-5 {
  margin-bottom: 0.5rem !important;
}

.u-ml-5 {
  margin-left: 0.5rem !important;
}

.u-mr-5 {
  margin-right: 0.5rem !important;
}

.u-my-5 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.u-mx-5 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.u-m-10 {
  margin: 1rem !important;
}

.u-mt-10 {
  margin-top: 1rem !important;
}

.u-mb-10 {
  margin-bottom: 1rem !important;
}

.u-ml-10 {
  margin-left: 1rem !important;
}

.u-mr-10 {
  margin-right: 1rem !important;
}

.u-my-10 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.u-mx-10 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.u-m-15 {
  margin: 1.5rem !important;
}

.u-mt-15 {
  margin-top: 1.5rem !important;
}

.u-mb-15 {
  margin-bottom: 1.5rem !important;
}

.u-ml-15 {
  margin-left: 1.5rem !important;
}

.u-mr-15 {
  margin-right: 1.5rem !important;
}

.u-my-15 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.u-mx-15 {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.u-m-20 {
  margin: 2rem !important;
}

.u-mt-20 {
  margin-top: 2rem !important;
}

.u-mb-20 {
  margin-bottom: 2rem !important;
}

.u-ml-20 {
  margin-left: 2rem !important;
}

.u-mr-20 {
  margin-right: 2rem !important;
}

.u-my-20 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.u-mx-20 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.u-m-25 {
  margin: 2.5rem !important;
}

.u-mt-25 {
  margin-top: 2.5rem !important;
}

.u-mb-25 {
  margin-bottom: 2.5rem !important;
}

.u-ml-25 {
  margin-left: 2.5rem !important;
}

.u-mr-25 {
  margin-right: 2.5rem !important;
}

.u-my-25 {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}

.u-mx-25 {
  margin-left: 2.5rem !important;
  margin-right: 2.5rem !important;
}

.u-m-30 {
  margin: 3rem !important;
}

.u-mt-30 {
  margin-top: 3rem !important;
}

.u-mb-30 {
  margin-bottom: 3rem !important;
}

.u-ml-30 {
  margin-left: 3rem !important;
}

.u-mr-30 {
  margin-right: 3rem !important;
}

.u-my-30 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.u-mx-30 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.u-m-35 {
  margin: 3.5rem !important;
}

.u-mt-35 {
  margin-top: 3.5rem !important;
}

.u-mb-35 {
  margin-bottom: 3.5rem !important;
}

.u-ml-35 {
  margin-left: 3.5rem !important;
}

.u-mr-35 {
  margin-right: 3.5rem !important;
}

.u-my-35 {
  margin-top: 3.5rem !important;
  margin-bottom: 3.5rem !important;
}

.u-mx-35 {
  margin-left: 3.5rem !important;
  margin-right: 3.5rem !important;
}

.u-m-40 {
  margin: 4rem !important;
}

.u-mt-40 {
  margin-top: 4rem !important;
}

.u-mb-40 {
  margin-bottom: 4rem !important;
}

.u-ml-40 {
  margin-left: 4rem !important;
}

.u-mr-40 {
  margin-right: 4rem !important;
}

.u-my-40 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.u-mx-40 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

.u-m-45 {
  margin: 4.5rem !important;
}

.u-mt-45 {
  margin-top: 4.5rem !important;
}

.u-mb-45 {
  margin-bottom: 4.5rem !important;
}

.u-ml-45 {
  margin-left: 4.5rem !important;
}

.u-mr-45 {
  margin-right: 4.5rem !important;
}

.u-my-45 {
  margin-top: 4.5rem !important;
  margin-bottom: 4.5rem !important;
}

.u-mx-45 {
  margin-left: 4.5rem !important;
  margin-right: 4.5rem !important;
}

.u-m-50 {
  margin: 5rem !important;
}

.u-mt-50 {
  margin-top: 5rem !important;
}

.u-mb-50 {
  margin-bottom: 5rem !important;
}

.u-ml-50 {
  margin-left: 5rem !important;
}

.u-mr-50 {
  margin-right: 5rem !important;
}

.u-my-50 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.u-mx-50 {
  margin-left: 5rem !important;
  margin-right: 5rem !important;
}

.u-m-55 {
  margin: 5.5rem !important;
}

.u-mt-55 {
  margin-top: 5.5rem !important;
}

.u-mb-55 {
  margin-bottom: 5.5rem !important;
}

.u-ml-55 {
  margin-left: 5.5rem !important;
}

.u-mr-55 {
  margin-right: 5.5rem !important;
}

.u-my-55 {
  margin-top: 5.5rem !important;
  margin-bottom: 5.5rem !important;
}

.u-mx-55 {
  margin-left: 5.5rem !important;
  margin-right: 5.5rem !important;
}

.u-m-60 {
  margin: 6rem !important;
}

.u-mt-60 {
  margin-top: 6rem !important;
}

.u-mb-60 {
  margin-bottom: 6rem !important;
}

.u-ml-60 {
  margin-left: 6rem !important;
}

.u-mr-60 {
  margin-right: 6rem !important;
}

.u-my-60 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}

.u-mx-60 {
  margin-left: 6rem !important;
  margin-right: 6rem !important;
}

.u-m-65 {
  margin: 6.5rem !important;
}

.u-mt-65 {
  margin-top: 6.5rem !important;
}

.u-mb-65 {
  margin-bottom: 6.5rem !important;
}

.u-ml-65 {
  margin-left: 6.5rem !important;
}

.u-mr-65 {
  margin-right: 6.5rem !important;
}

.u-my-65 {
  margin-top: 6.5rem !important;
  margin-bottom: 6.5rem !important;
}

.u-mx-65 {
  margin-left: 6.5rem !important;
  margin-right: 6.5rem !important;
}

.u-m-70 {
  margin: 7rem !important;
}

.u-mt-70 {
  margin-top: 7rem !important;
}

.u-mb-70 {
  margin-bottom: 7rem !important;
}

.u-ml-70 {
  margin-left: 7rem !important;
}

.u-mr-70 {
  margin-right: 7rem !important;
}

.u-my-70 {
  margin-top: 7rem !important;
  margin-bottom: 7rem !important;
}

.u-mx-70 {
  margin-left: 7rem !important;
  margin-right: 7rem !important;
}

.u-m-75 {
  margin: 7.5rem !important;
}

.u-mt-75 {
  margin-top: 7.5rem !important;
}

.u-mb-75 {
  margin-bottom: 7.5rem !important;
}

.u-ml-75 {
  margin-left: 7.5rem !important;
}

.u-mr-75 {
  margin-right: 7.5rem !important;
}

.u-my-75 {
  margin-top: 7.5rem !important;
  margin-bottom: 7.5rem !important;
}

.u-mx-75 {
  margin-left: 7.5rem !important;
  margin-right: 7.5rem !important;
}

.u-m-80 {
  margin: 8rem !important;
}

.u-mt-80 {
  margin-top: 8rem !important;
}

.u-mb-80 {
  margin-bottom: 8rem !important;
}

.u-ml-80 {
  margin-left: 8rem !important;
}

.u-mr-80 {
  margin-right: 8rem !important;
}

.u-my-80 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important;
}

.u-mx-80 {
  margin-left: 8rem !important;
  margin-right: 8rem !important;
}

.u-m-85 {
  margin: 8.5rem !important;
}

.u-mt-85 {
  margin-top: 8.5rem !important;
}

.u-mb-85 {
  margin-bottom: 8.5rem !important;
}

.u-ml-85 {
  margin-left: 8.5rem !important;
}

.u-mr-85 {
  margin-right: 8.5rem !important;
}

.u-my-85 {
  margin-top: 8.5rem !important;
  margin-bottom: 8.5rem !important;
}

.u-mx-85 {
  margin-left: 8.5rem !important;
  margin-right: 8.5rem !important;
}

.u-m-90 {
  margin: 9rem !important;
}

.u-mt-90 {
  margin-top: 9rem !important;
}

.u-mb-90 {
  margin-bottom: 9rem !important;
}

.u-ml-90 {
  margin-left: 9rem !important;
}

.u-mr-90 {
  margin-right: 9rem !important;
}

.u-my-90 {
  margin-top: 9rem !important;
  margin-bottom: 9rem !important;
}

.u-mx-90 {
  margin-left: 9rem !important;
  margin-right: 9rem !important;
}

.u-m-95 {
  margin: 9.5rem !important;
}

.u-mt-95 {
  margin-top: 9.5rem !important;
}

.u-mb-95 {
  margin-bottom: 9.5rem !important;
}

.u-ml-95 {
  margin-left: 9.5rem !important;
}

.u-mr-95 {
  margin-right: 9.5rem !important;
}

.u-my-95 {
  margin-top: 9.5rem !important;
  margin-bottom: 9.5rem !important;
}

.u-mx-95 {
  margin-left: 9.5rem !important;
  margin-right: 9.5rem !important;
}

.u-m-100 {
  margin: 10rem !important;
}

.u-mt-100 {
  margin-top: 10rem !important;
}

.u-mb-100 {
  margin-bottom: 10rem !important;
}

.u-ml-100 {
  margin-left: 10rem !important;
}

.u-mr-100 {
  margin-right: 10rem !important;
}

.u-my-100 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}

.u-mx-100 {
  margin-left: 10rem !important;
  margin-right: 10rem !important;
}

.u-m-105 {
  margin: 10.5rem !important;
}

.u-mt-105 {
  margin-top: 10.5rem !important;
}

.u-mb-105 {
  margin-bottom: 10.5rem !important;
}

.u-ml-105 {
  margin-left: 10.5rem !important;
}

.u-mr-105 {
  margin-right: 10.5rem !important;
}

.u-my-105 {
  margin-top: 10.5rem !important;
  margin-bottom: 10.5rem !important;
}

.u-mx-105 {
  margin-left: 10.5rem !important;
  margin-right: 10.5rem !important;
}

.u-m-110 {
  margin: 11rem !important;
}

.u-mt-110 {
  margin-top: 11rem !important;
}

.u-mb-110 {
  margin-bottom: 11rem !important;
}

.u-ml-110 {
  margin-left: 11rem !important;
}

.u-mr-110 {
  margin-right: 11rem !important;
}

.u-my-110 {
  margin-top: 11rem !important;
  margin-bottom: 11rem !important;
}

.u-mx-110 {
  margin-left: 11rem !important;
  margin-right: 11rem !important;
}

.u-m-115 {
  margin: 11.5rem !important;
}

.u-mt-115 {
  margin-top: 11.5rem !important;
}

.u-mb-115 {
  margin-bottom: 11.5rem !important;
}

.u-ml-115 {
  margin-left: 11.5rem !important;
}

.u-mr-115 {
  margin-right: 11.5rem !important;
}

.u-my-115 {
  margin-top: 11.5rem !important;
  margin-bottom: 11.5rem !important;
}

.u-mx-115 {
  margin-left: 11.5rem !important;
  margin-right: 11.5rem !important;
}

.u-m-120 {
  margin: 12rem !important;
}

.u-mt-120 {
  margin-top: 12rem !important;
}

.u-mb-120 {
  margin-bottom: 12rem !important;
}

.u-ml-120 {
  margin-left: 12rem !important;
}

.u-mr-120 {
  margin-right: 12rem !important;
}

.u-my-120 {
  margin-top: 12rem !important;
  margin-bottom: 12rem !important;
}

.u-mx-120 {
  margin-left: 12rem !important;
  margin-right: 12rem !important;
}

.u-m-125 {
  margin: 12.5rem !important;
}

.u-mt-125 {
  margin-top: 12.5rem !important;
}

.u-mb-125 {
  margin-bottom: 12.5rem !important;
}

.u-ml-125 {
  margin-left: 12.5rem !important;
}

.u-mr-125 {
  margin-right: 12.5rem !important;
}

.u-my-125 {
  margin-top: 12.5rem !important;
  margin-bottom: 12.5rem !important;
}

.u-mx-125 {
  margin-left: 12.5rem !important;
  margin-right: 12.5rem !important;
}

.u-m-130 {
  margin: 13rem !important;
}

.u-mt-130 {
  margin-top: 13rem !important;
}

.u-mb-130 {
  margin-bottom: 13rem !important;
}

.u-ml-130 {
  margin-left: 13rem !important;
}

.u-mr-130 {
  margin-right: 13rem !important;
}

.u-my-130 {
  margin-top: 13rem !important;
  margin-bottom: 13rem !important;
}

.u-mx-130 {
  margin-left: 13rem !important;
  margin-right: 13rem !important;
}

.u-m-135 {
  margin: 13.5rem !important;
}

.u-mt-135 {
  margin-top: 13.5rem !important;
}

.u-mb-135 {
  margin-bottom: 13.5rem !important;
}

.u-ml-135 {
  margin-left: 13.5rem !important;
}

.u-mr-135 {
  margin-right: 13.5rem !important;
}

.u-my-135 {
  margin-top: 13.5rem !important;
  margin-bottom: 13.5rem !important;
}

.u-mx-135 {
  margin-left: 13.5rem !important;
  margin-right: 13.5rem !important;
}

.u-m-140 {
  margin: 14rem !important;
}

.u-mt-140 {
  margin-top: 14rem !important;
}

.u-mb-140 {
  margin-bottom: 14rem !important;
}

.u-ml-140 {
  margin-left: 14rem !important;
}

.u-mr-140 {
  margin-right: 14rem !important;
}

.u-my-140 {
  margin-top: 14rem !important;
  margin-bottom: 14rem !important;
}

.u-mx-140 {
  margin-left: 14rem !important;
  margin-right: 14rem !important;
}

.u-m-145 {
  margin: 14.5rem !important;
}

.u-mt-145 {
  margin-top: 14.5rem !important;
}

.u-mb-145 {
  margin-bottom: 14.5rem !important;
}

.u-ml-145 {
  margin-left: 14.5rem !important;
}

.u-mr-145 {
  margin-right: 14.5rem !important;
}

.u-my-145 {
  margin-top: 14.5rem !important;
  margin-bottom: 14.5rem !important;
}

.u-mx-145 {
  margin-left: 14.5rem !important;
  margin-right: 14.5rem !important;
}

.u-m-150 {
  margin: 15rem !important;
}

.u-mt-150 {
  margin-top: 15rem !important;
}

.u-mb-150 {
  margin-bottom: 15rem !important;
}

.u-ml-150 {
  margin-left: 15rem !important;
}

.u-mr-150 {
  margin-right: 15rem !important;
}

.u-my-150 {
  margin-top: 15rem !important;
  margin-bottom: 15rem !important;
}

.u-mx-150 {
  margin-left: 15rem !important;
  margin-right: 15rem !important;
}

/* 単位: em */
.u-m-05em {
  margin: 0.5em !important;
}

.u-mt-05em {
  margin-top: 0.5em !important;
}

.u-mb-05em {
  margin-bottom: 0.5em !important;
}

.u-ml-05em {
  margin-left: 0.5em !important;
}

.u-mr-05em {
  margin-right: 0.5em !important;
}

.u-my-05em {
  margin-top: 0.5em !important;
  margin-bottom: 0.5em !important;
}

.u-mx-05em {
  margin-left: 0.5em !important;
  margin-right: 0.5em !important;
}

.u-m-1em {
  margin: 1em !important;
}

.u-mt-1em {
  margin-top: 1em !important;
}

.u-mb-1em {
  margin-bottom: 1em !important;
}

.u-ml-1em {
  margin-left: 1em !important;
}

.u-mr-1em {
  margin-right: 1em !important;
}

.u-my-1em {
  margin-top: 1em !important;
  margin-bottom: 1em !important;
}

.u-mx-1em {
  margin-left: 1em !important;
  margin-right: 1em !important;
}

.u-m-15em {
  margin: 1.5em !important;
}

.u-mt-15em {
  margin-top: 1.5em !important;
}

.u-mb-15em {
  margin-bottom: 1.5em !important;
}

.u-ml-15em {
  margin-left: 1.5em !important;
}

.u-mr-15em {
  margin-right: 1.5em !important;
}

.u-my-15em {
  margin-top: 1.5em !important;
  margin-bottom: 1.5em !important;
}

.u-mx-15em {
  margin-left: 1.5em !important;
  margin-right: 1.5em !important;
}

.u-m-2em {
  margin: 2em !important;
}

.u-mt-2em {
  margin-top: 2em !important;
}

.u-mb-2em {
  margin-bottom: 2em !important;
}

.u-ml-2em {
  margin-left: 2em !important;
}

.u-mr-2em {
  margin-right: 2em !important;
}

.u-my-2em {
  margin-top: 2em !important;
  margin-bottom: 2em !important;
}

.u-mx-2em {
  margin-left: 2em !important;
  margin-right: 2em !important;
}

.u-m-25em {
  margin: 2.5em !important;
}

.u-mt-25em {
  margin-top: 2.5em !important;
}

.u-mb-25em {
  margin-bottom: 2.5em !important;
}

.u-ml-25em {
  margin-left: 2.5em !important;
}

.u-mr-25em {
  margin-right: 2.5em !important;
}

.u-my-25em {
  margin-top: 2.5em !important;
  margin-bottom: 2.5em !important;
}

.u-mx-25em {
  margin-left: 2.5em !important;
  margin-right: 2.5em !important;
}

.u-m-3em {
  margin: 3em !important;
}

.u-mt-3em {
  margin-top: 3em !important;
}

.u-mb-3em {
  margin-bottom: 3em !important;
}

.u-ml-3em {
  margin-left: 3em !important;
}

.u-mr-3em {
  margin-right: 3em !important;
}

.u-my-3em {
  margin-top: 3em !important;
  margin-bottom: 3em !important;
}

.u-mx-3em {
  margin-left: 3em !important;
  margin-right: 3em !important;
}

.u-m-35em {
  margin: 3.5em !important;
}

.u-mt-35em {
  margin-top: 3.5em !important;
}

.u-mb-35em {
  margin-bottom: 3.5em !important;
}

.u-ml-35em {
  margin-left: 3.5em !important;
}

.u-mr-35em {
  margin-right: 3.5em !important;
}

.u-my-35em {
  margin-top: 3.5em !important;
  margin-bottom: 3.5em !important;
}

.u-mx-35em {
  margin-left: 3.5em !important;
  margin-right: 3.5em !important;
}

.u-m-4em {
  margin: 4em !important;
}

.u-mt-4em {
  margin-top: 4em !important;
}

.u-mb-4em {
  margin-bottom: 4em !important;
}

.u-ml-4em {
  margin-left: 4em !important;
}

.u-mr-4em {
  margin-right: 4em !important;
}

.u-my-4em {
  margin-top: 4em !important;
  margin-bottom: 4em !important;
}

.u-mx-4em {
  margin-left: 4em !important;
  margin-right: 4em !important;
}

.u-m-45em {
  margin: 4.5em !important;
}

.u-mt-45em {
  margin-top: 4.5em !important;
}

.u-mb-45em {
  margin-bottom: 4.5em !important;
}

.u-ml-45em {
  margin-left: 4.5em !important;
}

.u-mr-45em {
  margin-right: 4.5em !important;
}

.u-my-45em {
  margin-top: 4.5em !important;
  margin-bottom: 4.5em !important;
}

.u-mx-45em {
  margin-left: 4.5em !important;
  margin-right: 4.5em !important;
}

.u-m-5em {
  margin: 5em !important;
}

.u-mt-5em {
  margin-top: 5em !important;
}

.u-mb-5em {
  margin-bottom: 5em !important;
}

.u-ml-5em {
  margin-left: 5em !important;
}

.u-mr-5em {
  margin-right: 5em !important;
}

.u-my-5em {
  margin-top: 5em !important;
  margin-bottom: 5em !important;
}

.u-mx-5em {
  margin-left: 5em !important;
  margin-right: 5em !important;
}

.u-m-55em {
  margin: 5.5em !important;
}

.u-mt-55em {
  margin-top: 5.5em !important;
}

.u-mb-55em {
  margin-bottom: 5.5em !important;
}

.u-ml-55em {
  margin-left: 5.5em !important;
}

.u-mr-55em {
  margin-right: 5.5em !important;
}

.u-my-55em {
  margin-top: 5.5em !important;
  margin-bottom: 5.5em !important;
}

.u-mx-55em {
  margin-left: 5.5em !important;
  margin-right: 5.5em !important;
}

.u-m-6em {
  margin: 6em !important;
}

.u-mt-6em {
  margin-top: 6em !important;
}

.u-mb-6em {
  margin-bottom: 6em !important;
}

.u-ml-6em {
  margin-left: 6em !important;
}

.u-mr-6em {
  margin-right: 6em !important;
}

.u-my-6em {
  margin-top: 6em !important;
  margin-bottom: 6em !important;
}

.u-mx-6em {
  margin-left: 6em !important;
  margin-right: 6em !important;
}

.u-m-65em {
  margin: 6.5em !important;
}

.u-mt-65em {
  margin-top: 6.5em !important;
}

.u-mb-65em {
  margin-bottom: 6.5em !important;
}

.u-ml-65em {
  margin-left: 6.5em !important;
}

.u-mr-65em {
  margin-right: 6.5em !important;
}

.u-my-65em {
  margin-top: 6.5em !important;
  margin-bottom: 6.5em !important;
}

.u-mx-65em {
  margin-left: 6.5em !important;
  margin-right: 6.5em !important;
}

.u-m-7em {
  margin: 7em !important;
}

.u-mt-7em {
  margin-top: 7em !important;
}

.u-mb-7em {
  margin-bottom: 7em !important;
}

.u-ml-7em {
  margin-left: 7em !important;
}

.u-mr-7em {
  margin-right: 7em !important;
}

.u-my-7em {
  margin-top: 7em !important;
  margin-bottom: 7em !important;
}

.u-mx-7em {
  margin-left: 7em !important;
  margin-right: 7em !important;
}

.u-m-75em {
  margin: 7.5em !important;
}

.u-mt-75em {
  margin-top: 7.5em !important;
}

.u-mb-75em {
  margin-bottom: 7.5em !important;
}

.u-ml-75em {
  margin-left: 7.5em !important;
}

.u-mr-75em {
  margin-right: 7.5em !important;
}

.u-my-75em {
  margin-top: 7.5em !important;
  margin-bottom: 7.5em !important;
}

.u-mx-75em {
  margin-left: 7.5em !important;
  margin-right: 7.5em !important;
}

.u-m-8em {
  margin: 8em !important;
}

.u-mt-8em {
  margin-top: 8em !important;
}

.u-mb-8em {
  margin-bottom: 8em !important;
}

.u-ml-8em {
  margin-left: 8em !important;
}

.u-mr-8em {
  margin-right: 8em !important;
}

.u-my-8em {
  margin-top: 8em !important;
  margin-bottom: 8em !important;
}

.u-mx-8em {
  margin-left: 8em !important;
  margin-right: 8em !important;
}

.u-m-85em {
  margin: 8.5em !important;
}

.u-mt-85em {
  margin-top: 8.5em !important;
}

.u-mb-85em {
  margin-bottom: 8.5em !important;
}

.u-ml-85em {
  margin-left: 8.5em !important;
}

.u-mr-85em {
  margin-right: 8.5em !important;
}

.u-my-85em {
  margin-top: 8.5em !important;
  margin-bottom: 8.5em !important;
}

.u-mx-85em {
  margin-left: 8.5em !important;
  margin-right: 8.5em !important;
}

.u-m-9em {
  margin: 9em !important;
}

.u-mt-9em {
  margin-top: 9em !important;
}

.u-mb-9em {
  margin-bottom: 9em !important;
}

.u-ml-9em {
  margin-left: 9em !important;
}

.u-mr-9em {
  margin-right: 9em !important;
}

.u-my-9em {
  margin-top: 9em !important;
  margin-bottom: 9em !important;
}

.u-mx-9em {
  margin-left: 9em !important;
  margin-right: 9em !important;
}

.u-m-95em {
  margin: 9.5em !important;
}

.u-mt-95em {
  margin-top: 9.5em !important;
}

.u-mb-95em {
  margin-bottom: 9.5em !important;
}

.u-ml-95em {
  margin-left: 9.5em !important;
}

.u-mr-95em {
  margin-right: 9.5em !important;
}

.u-my-95em {
  margin-top: 9.5em !important;
  margin-bottom: 9.5em !important;
}

.u-mx-95em {
  margin-left: 9.5em !important;
  margin-right: 9.5em !important;
}

.u-m-10em {
  margin: 10em !important;
}

.u-mt-10em {
  margin-top: 10em !important;
}

.u-mb-10em {
  margin-bottom: 10em !important;
}

.u-ml-10em {
  margin-left: 10em !important;
}

.u-mr-10em {
  margin-right: 10em !important;
}

.u-my-10em {
  margin-top: 10em !important;
  margin-bottom: 10em !important;
}

.u-mx-10em {
  margin-left: 10em !important;
  margin-right: 10em !important;
}

.u-m-auto {
  margin: auto !important;
}

.u-mt-auto {
  margin-top: auto !important;
}

.u-mb-auto {
  margin-bottom: auto !important;
}

.u-ml-auto {
  margin-left: auto !important;
}

.u-mr-auto {
  margin-right: auto !important;
}

.u-my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.u-mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* SP版：プリフィクス sp- を付加 */
@media print, screen and (max-width: 767px) {
  /* 単位: px */
  .u-sp-m-0 {
    margin: 0px !important;
  }
  .u-sp-mt-0 {
    margin-top: 0px !important;
  }
  .u-sp-mb-0 {
    margin-bottom: 0px !important;
  }
  .u-sp-ml-0 {
    margin-left: 0px !important;
  }
  .u-sp-mr-0 {
    margin-right: 0px !important;
  }
  .u-sp-my-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  .u-sp-mx-0 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .u-sp-m-5 {
    margin: 5px !important;
  }
  .u-sp-mt-5 {
    margin-top: 5px !important;
  }
  .u-sp-mb-5 {
    margin-bottom: 5px !important;
  }
  .u-sp-ml-5 {
    margin-left: 5px !important;
  }
  .u-sp-mr-5 {
    margin-right: 5px !important;
  }
  .u-sp-my-5 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  .u-sp-mx-5 {
    margin-left: 5px !important;
    margin-right: 5px !important;
  }
  .u-sp-m-10 {
    margin: 10px !important;
  }
  .u-sp-mt-10 {
    margin-top: 10px !important;
  }
  .u-sp-mb-10 {
    margin-bottom: 10px !important;
  }
  .u-sp-ml-10 {
    margin-left: 10px !important;
  }
  .u-sp-mr-10 {
    margin-right: 10px !important;
  }
  .u-sp-my-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  .u-sp-mx-10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }
  .u-sp-m-15 {
    margin: 15px !important;
  }
  .u-sp-mt-15 {
    margin-top: 15px !important;
  }
  .u-sp-mb-15 {
    margin-bottom: 15px !important;
  }
  .u-sp-ml-15 {
    margin-left: 15px !important;
  }
  .u-sp-mr-15 {
    margin-right: 15px !important;
  }
  .u-sp-my-15 {
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  .u-sp-mx-15 {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }
  .u-sp-m-20 {
    margin: 20px !important;
  }
  .u-sp-mt-20 {
    margin-top: 20px !important;
  }
  .u-sp-mb-20 {
    margin-bottom: 20px !important;
  }
  .u-sp-ml-20 {
    margin-left: 20px !important;
  }
  .u-sp-mr-20 {
    margin-right: 20px !important;
  }
  .u-sp-my-20 {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }
  .u-sp-mx-20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .u-sp-m-25 {
    margin: 25px !important;
  }
  .u-sp-mt-25 {
    margin-top: 25px !important;
  }
  .u-sp-mb-25 {
    margin-bottom: 25px !important;
  }
  .u-sp-ml-25 {
    margin-left: 25px !important;
  }
  .u-sp-mr-25 {
    margin-right: 25px !important;
  }
  .u-sp-my-25 {
    margin-top: 25px !important;
    margin-bottom: 25px !important;
  }
  .u-sp-mx-25 {
    margin-left: 25px !important;
    margin-right: 25px !important;
  }
  .u-sp-m-30 {
    margin: 30px !important;
  }
  .u-sp-mt-30 {
    margin-top: 30px !important;
  }
  .u-sp-mb-30 {
    margin-bottom: 30px !important;
  }
  .u-sp-ml-30 {
    margin-left: 30px !important;
  }
  .u-sp-mr-30 {
    margin-right: 30px !important;
  }
  .u-sp-my-30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
  .u-sp-mx-30 {
    margin-left: 30px !important;
    margin-right: 30px !important;
  }
  .u-sp-m-35 {
    margin: 35px !important;
  }
  .u-sp-mt-35 {
    margin-top: 35px !important;
  }
  .u-sp-mb-35 {
    margin-bottom: 35px !important;
  }
  .u-sp-ml-35 {
    margin-left: 35px !important;
  }
  .u-sp-mr-35 {
    margin-right: 35px !important;
  }
  .u-sp-my-35 {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
  }
  .u-sp-mx-35 {
    margin-left: 35px !important;
    margin-right: 35px !important;
  }
  .u-sp-m-40 {
    margin: 40px !important;
  }
  .u-sp-mt-40 {
    margin-top: 40px !important;
  }
  .u-sp-mb-40 {
    margin-bottom: 40px !important;
  }
  .u-sp-ml-40 {
    margin-left: 40px !important;
  }
  .u-sp-mr-40 {
    margin-right: 40px !important;
  }
  .u-sp-my-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .u-sp-mx-40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .u-sp-m-45 {
    margin: 45px !important;
  }
  .u-sp-mt-45 {
    margin-top: 45px !important;
  }
  .u-sp-mb-45 {
    margin-bottom: 45px !important;
  }
  .u-sp-ml-45 {
    margin-left: 45px !important;
  }
  .u-sp-mr-45 {
    margin-right: 45px !important;
  }
  .u-sp-my-45 {
    margin-top: 45px !important;
    margin-bottom: 45px !important;
  }
  .u-sp-mx-45 {
    margin-left: 45px !important;
    margin-right: 45px !important;
  }
  .u-sp-m-50 {
    margin: 50px !important;
  }
  .u-sp-mt-50 {
    margin-top: 50px !important;
  }
  .u-sp-mb-50 {
    margin-bottom: 50px !important;
  }
  .u-sp-ml-50 {
    margin-left: 50px !important;
  }
  .u-sp-mr-50 {
    margin-right: 50px !important;
  }
  .u-sp-my-50 {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
  }
  .u-sp-mx-50 {
    margin-left: 50px !important;
    margin-right: 50px !important;
  }
  .u-sp-m-55 {
    margin: 55px !important;
  }
  .u-sp-mt-55 {
    margin-top: 55px !important;
  }
  .u-sp-mb-55 {
    margin-bottom: 55px !important;
  }
  .u-sp-ml-55 {
    margin-left: 55px !important;
  }
  .u-sp-mr-55 {
    margin-right: 55px !important;
  }
  .u-sp-my-55 {
    margin-top: 55px !important;
    margin-bottom: 55px !important;
  }
  .u-sp-mx-55 {
    margin-left: 55px !important;
    margin-right: 55px !important;
  }
  .u-sp-m-60 {
    margin: 60px !important;
  }
  .u-sp-mt-60 {
    margin-top: 60px !important;
  }
  .u-sp-mb-60 {
    margin-bottom: 60px !important;
  }
  .u-sp-ml-60 {
    margin-left: 60px !important;
  }
  .u-sp-mr-60 {
    margin-right: 60px !important;
  }
  .u-sp-my-60 {
    margin-top: 60px !important;
    margin-bottom: 60px !important;
  }
  .u-sp-mx-60 {
    margin-left: 60px !important;
    margin-right: 60px !important;
  }
  .u-sp-m-65 {
    margin: 65px !important;
  }
  .u-sp-mt-65 {
    margin-top: 65px !important;
  }
  .u-sp-mb-65 {
    margin-bottom: 65px !important;
  }
  .u-sp-ml-65 {
    margin-left: 65px !important;
  }
  .u-sp-mr-65 {
    margin-right: 65px !important;
  }
  .u-sp-my-65 {
    margin-top: 65px !important;
    margin-bottom: 65px !important;
  }
  .u-sp-mx-65 {
    margin-left: 65px !important;
    margin-right: 65px !important;
  }
  .u-sp-m-70 {
    margin: 70px !important;
  }
  .u-sp-mt-70 {
    margin-top: 70px !important;
  }
  .u-sp-mb-70 {
    margin-bottom: 70px !important;
  }
  .u-sp-ml-70 {
    margin-left: 70px !important;
  }
  .u-sp-mr-70 {
    margin-right: 70px !important;
  }
  .u-sp-my-70 {
    margin-top: 70px !important;
    margin-bottom: 70px !important;
  }
  .u-sp-mx-70 {
    margin-left: 70px !important;
    margin-right: 70px !important;
  }
  .u-sp-m-75 {
    margin: 75px !important;
  }
  .u-sp-mt-75 {
    margin-top: 75px !important;
  }
  .u-sp-mb-75 {
    margin-bottom: 75px !important;
  }
  .u-sp-ml-75 {
    margin-left: 75px !important;
  }
  .u-sp-mr-75 {
    margin-right: 75px !important;
  }
  .u-sp-my-75 {
    margin-top: 75px !important;
    margin-bottom: 75px !important;
  }
  .u-sp-mx-75 {
    margin-left: 75px !important;
    margin-right: 75px !important;
  }
  .u-sp-m-80 {
    margin: 80px !important;
  }
  .u-sp-mt-80 {
    margin-top: 80px !important;
  }
  .u-sp-mb-80 {
    margin-bottom: 80px !important;
  }
  .u-sp-ml-80 {
    margin-left: 80px !important;
  }
  .u-sp-mr-80 {
    margin-right: 80px !important;
  }
  .u-sp-my-80 {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  .u-sp-mx-80 {
    margin-left: 80px !important;
    margin-right: 80px !important;
  }
  .u-sp-m-85 {
    margin: 85px !important;
  }
  .u-sp-mt-85 {
    margin-top: 85px !important;
  }
  .u-sp-mb-85 {
    margin-bottom: 85px !important;
  }
  .u-sp-ml-85 {
    margin-left: 85px !important;
  }
  .u-sp-mr-85 {
    margin-right: 85px !important;
  }
  .u-sp-my-85 {
    margin-top: 85px !important;
    margin-bottom: 85px !important;
  }
  .u-sp-mx-85 {
    margin-left: 85px !important;
    margin-right: 85px !important;
  }
  .u-sp-m-90 {
    margin: 90px !important;
  }
  .u-sp-mt-90 {
    margin-top: 90px !important;
  }
  .u-sp-mb-90 {
    margin-bottom: 90px !important;
  }
  .u-sp-ml-90 {
    margin-left: 90px !important;
  }
  .u-sp-mr-90 {
    margin-right: 90px !important;
  }
  .u-sp-my-90 {
    margin-top: 90px !important;
    margin-bottom: 90px !important;
  }
  .u-sp-mx-90 {
    margin-left: 90px !important;
    margin-right: 90px !important;
  }
  .u-sp-m-95 {
    margin: 95px !important;
  }
  .u-sp-mt-95 {
    margin-top: 95px !important;
  }
  .u-sp-mb-95 {
    margin-bottom: 95px !important;
  }
  .u-sp-ml-95 {
    margin-left: 95px !important;
  }
  .u-sp-mr-95 {
    margin-right: 95px !important;
  }
  .u-sp-my-95 {
    margin-top: 95px !important;
    margin-bottom: 95px !important;
  }
  .u-sp-mx-95 {
    margin-left: 95px !important;
    margin-right: 95px !important;
  }
  .u-sp-m-100 {
    margin: 100px !important;
  }
  .u-sp-mt-100 {
    margin-top: 100px !important;
  }
  .u-sp-mb-100 {
    margin-bottom: 100px !important;
  }
  .u-sp-ml-100 {
    margin-left: 100px !important;
  }
  .u-sp-mr-100 {
    margin-right: 100px !important;
  }
  .u-sp-my-100 {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
  }
  .u-sp-mx-100 {
    margin-left: 100px !important;
    margin-right: 100px !important;
  }
  .u-sp-m-105 {
    margin: 105px !important;
  }
  .u-sp-mt-105 {
    margin-top: 105px !important;
  }
  .u-sp-mb-105 {
    margin-bottom: 105px !important;
  }
  .u-sp-ml-105 {
    margin-left: 105px !important;
  }
  .u-sp-mr-105 {
    margin-right: 105px !important;
  }
  .u-sp-my-105 {
    margin-top: 105px !important;
    margin-bottom: 105px !important;
  }
  .u-sp-mx-105 {
    margin-left: 105px !important;
    margin-right: 105px !important;
  }
  .u-sp-m-110 {
    margin: 110px !important;
  }
  .u-sp-mt-110 {
    margin-top: 110px !important;
  }
  .u-sp-mb-110 {
    margin-bottom: 110px !important;
  }
  .u-sp-ml-110 {
    margin-left: 110px !important;
  }
  .u-sp-mr-110 {
    margin-right: 110px !important;
  }
  .u-sp-my-110 {
    margin-top: 110px !important;
    margin-bottom: 110px !important;
  }
  .u-sp-mx-110 {
    margin-left: 110px !important;
    margin-right: 110px !important;
  }
  .u-sp-m-115 {
    margin: 115px !important;
  }
  .u-sp-mt-115 {
    margin-top: 115px !important;
  }
  .u-sp-mb-115 {
    margin-bottom: 115px !important;
  }
  .u-sp-ml-115 {
    margin-left: 115px !important;
  }
  .u-sp-mr-115 {
    margin-right: 115px !important;
  }
  .u-sp-my-115 {
    margin-top: 115px !important;
    margin-bottom: 115px !important;
  }
  .u-sp-mx-115 {
    margin-left: 115px !important;
    margin-right: 115px !important;
  }
  .u-sp-m-120 {
    margin: 120px !important;
  }
  .u-sp-mt-120 {
    margin-top: 120px !important;
  }
  .u-sp-mb-120 {
    margin-bottom: 120px !important;
  }
  .u-sp-ml-120 {
    margin-left: 120px !important;
  }
  .u-sp-mr-120 {
    margin-right: 120px !important;
  }
  .u-sp-my-120 {
    margin-top: 120px !important;
    margin-bottom: 120px !important;
  }
  .u-sp-mx-120 {
    margin-left: 120px !important;
    margin-right: 120px !important;
  }
  .u-sp-m-125 {
    margin: 125px !important;
  }
  .u-sp-mt-125 {
    margin-top: 125px !important;
  }
  .u-sp-mb-125 {
    margin-bottom: 125px !important;
  }
  .u-sp-ml-125 {
    margin-left: 125px !important;
  }
  .u-sp-mr-125 {
    margin-right: 125px !important;
  }
  .u-sp-my-125 {
    margin-top: 125px !important;
    margin-bottom: 125px !important;
  }
  .u-sp-mx-125 {
    margin-left: 125px !important;
    margin-right: 125px !important;
  }
  .u-sp-m-130 {
    margin: 130px !important;
  }
  .u-sp-mt-130 {
    margin-top: 130px !important;
  }
  .u-sp-mb-130 {
    margin-bottom: 130px !important;
  }
  .u-sp-ml-130 {
    margin-left: 130px !important;
  }
  .u-sp-mr-130 {
    margin-right: 130px !important;
  }
  .u-sp-my-130 {
    margin-top: 130px !important;
    margin-bottom: 130px !important;
  }
  .u-sp-mx-130 {
    margin-left: 130px !important;
    margin-right: 130px !important;
  }
  .u-sp-m-135 {
    margin: 135px !important;
  }
  .u-sp-mt-135 {
    margin-top: 135px !important;
  }
  .u-sp-mb-135 {
    margin-bottom: 135px !important;
  }
  .u-sp-ml-135 {
    margin-left: 135px !important;
  }
  .u-sp-mr-135 {
    margin-right: 135px !important;
  }
  .u-sp-my-135 {
    margin-top: 135px !important;
    margin-bottom: 135px !important;
  }
  .u-sp-mx-135 {
    margin-left: 135px !important;
    margin-right: 135px !important;
  }
  .u-sp-m-140 {
    margin: 140px !important;
  }
  .u-sp-mt-140 {
    margin-top: 140px !important;
  }
  .u-sp-mb-140 {
    margin-bottom: 140px !important;
  }
  .u-sp-ml-140 {
    margin-left: 140px !important;
  }
  .u-sp-mr-140 {
    margin-right: 140px !important;
  }
  .u-sp-my-140 {
    margin-top: 140px !important;
    margin-bottom: 140px !important;
  }
  .u-sp-mx-140 {
    margin-left: 140px !important;
    margin-right: 140px !important;
  }
  .u-sp-m-145 {
    margin: 145px !important;
  }
  .u-sp-mt-145 {
    margin-top: 145px !important;
  }
  .u-sp-mb-145 {
    margin-bottom: 145px !important;
  }
  .u-sp-ml-145 {
    margin-left: 145px !important;
  }
  .u-sp-mr-145 {
    margin-right: 145px !important;
  }
  .u-sp-my-145 {
    margin-top: 145px !important;
    margin-bottom: 145px !important;
  }
  .u-sp-mx-145 {
    margin-left: 145px !important;
    margin-right: 145px !important;
  }
  .u-sp-m-150 {
    margin: 150px !important;
  }
  .u-sp-mt-150 {
    margin-top: 150px !important;
  }
  .u-sp-mb-150 {
    margin-bottom: 150px !important;
  }
  .u-sp-ml-150 {
    margin-left: 150px !important;
  }
  .u-sp-mr-150 {
    margin-right: 150px !important;
  }
  .u-sp-my-150 {
    margin-top: 150px !important;
    margin-bottom: 150px !important;
  }
  .u-sp-mx-150 {
    margin-left: 150px !important;
    margin-right: 150px !important;
  }
  /* 単位: em */
  .u-sp-m-05em {
    margin: 0.5em !important;
  }
  .u-sp-mt-05em {
    margin-top: 0.5em !important;
  }
  .u-sp-mb-05em {
    margin-bottom: 0.5em !important;
  }
  .u-sp-ml-05em {
    margin-left: 0.5em !important;
  }
  .u-sp-mr-05em {
    margin-right: 0.5em !important;
  }
  .u-sp-my-05em {
    margin-top: 0.5em !important;
    margin-bottom: 0.5em !important;
  }
  .u-sp-mx-05em {
    margin-left: 0.5em !important;
    margin-right: 0.5em !important;
  }
  .u-sp-m-1em {
    margin: 1em !important;
  }
  .u-sp-mt-1em {
    margin-top: 1em !important;
  }
  .u-sp-mb-1em {
    margin-bottom: 1em !important;
  }
  .u-sp-ml-1em {
    margin-left: 1em !important;
  }
  .u-sp-mr-1em {
    margin-right: 1em !important;
  }
  .u-sp-my-1em {
    margin-top: 1em !important;
    margin-bottom: 1em !important;
  }
  .u-sp-mx-1em {
    margin-left: 1em !important;
    margin-right: 1em !important;
  }
  .u-sp-m-15em {
    margin: 1.5em !important;
  }
  .u-sp-mt-15em {
    margin-top: 1.5em !important;
  }
  .u-sp-mb-15em {
    margin-bottom: 1.5em !important;
  }
  .u-sp-ml-15em {
    margin-left: 1.5em !important;
  }
  .u-sp-mr-15em {
    margin-right: 1.5em !important;
  }
  .u-sp-my-15em {
    margin-top: 1.5em !important;
    margin-bottom: 1.5em !important;
  }
  .u-sp-mx-15em {
    margin-left: 1.5em !important;
    margin-right: 1.5em !important;
  }
  .u-sp-m-2em {
    margin: 2em !important;
  }
  .u-sp-mt-2em {
    margin-top: 2em !important;
  }
  .u-sp-mb-2em {
    margin-bottom: 2em !important;
  }
  .u-sp-ml-2em {
    margin-left: 2em !important;
  }
  .u-sp-mr-2em {
    margin-right: 2em !important;
  }
  .u-sp-my-2em {
    margin-top: 2em !important;
    margin-bottom: 2em !important;
  }
  .u-sp-mx-2em {
    margin-left: 2em !important;
    margin-right: 2em !important;
  }
  .u-sp-m-25em {
    margin: 2.5em !important;
  }
  .u-sp-mt-25em {
    margin-top: 2.5em !important;
  }
  .u-sp-mb-25em {
    margin-bottom: 2.5em !important;
  }
  .u-sp-ml-25em {
    margin-left: 2.5em !important;
  }
  .u-sp-mr-25em {
    margin-right: 2.5em !important;
  }
  .u-sp-my-25em {
    margin-top: 2.5em !important;
    margin-bottom: 2.5em !important;
  }
  .u-sp-mx-25em {
    margin-left: 2.5em !important;
    margin-right: 2.5em !important;
  }
  .u-sp-m-3em {
    margin: 3em !important;
  }
  .u-sp-mt-3em {
    margin-top: 3em !important;
  }
  .u-sp-mb-3em {
    margin-bottom: 3em !important;
  }
  .u-sp-ml-3em {
    margin-left: 3em !important;
  }
  .u-sp-mr-3em {
    margin-right: 3em !important;
  }
  .u-sp-my-3em {
    margin-top: 3em !important;
    margin-bottom: 3em !important;
  }
  .u-sp-mx-3em {
    margin-left: 3em !important;
    margin-right: 3em !important;
  }
  .u-sp-m-35em {
    margin: 3.5em !important;
  }
  .u-sp-mt-35em {
    margin-top: 3.5em !important;
  }
  .u-sp-mb-35em {
    margin-bottom: 3.5em !important;
  }
  .u-sp-ml-35em {
    margin-left: 3.5em !important;
  }
  .u-sp-mr-35em {
    margin-right: 3.5em !important;
  }
  .u-sp-my-35em {
    margin-top: 3.5em !important;
    margin-bottom: 3.5em !important;
  }
  .u-sp-mx-35em {
    margin-left: 3.5em !important;
    margin-right: 3.5em !important;
  }
  .u-sp-m-4em {
    margin: 4em !important;
  }
  .u-sp-mt-4em {
    margin-top: 4em !important;
  }
  .u-sp-mb-4em {
    margin-bottom: 4em !important;
  }
  .u-sp-ml-4em {
    margin-left: 4em !important;
  }
  .u-sp-mr-4em {
    margin-right: 4em !important;
  }
  .u-sp-my-4em {
    margin-top: 4em !important;
    margin-bottom: 4em !important;
  }
  .u-sp-mx-4em {
    margin-left: 4em !important;
    margin-right: 4em !important;
  }
  .u-sp-m-45em {
    margin: 4.5em !important;
  }
  .u-sp-mt-45em {
    margin-top: 4.5em !important;
  }
  .u-sp-mb-45em {
    margin-bottom: 4.5em !important;
  }
  .u-sp-ml-45em {
    margin-left: 4.5em !important;
  }
  .u-sp-mr-45em {
    margin-right: 4.5em !important;
  }
  .u-sp-my-45em {
    margin-top: 4.5em !important;
    margin-bottom: 4.5em !important;
  }
  .u-sp-mx-45em {
    margin-left: 4.5em !important;
    margin-right: 4.5em !important;
  }
  .u-sp-m-5em {
    margin: 5em !important;
  }
  .u-sp-mt-5em {
    margin-top: 5em !important;
  }
  .u-sp-mb-5em {
    margin-bottom: 5em !important;
  }
  .u-sp-ml-5em {
    margin-left: 5em !important;
  }
  .u-sp-mr-5em {
    margin-right: 5em !important;
  }
  .u-sp-my-5em {
    margin-top: 5em !important;
    margin-bottom: 5em !important;
  }
  .u-sp-mx-5em {
    margin-left: 5em !important;
    margin-right: 5em !important;
  }
  .u-sp-m-55em {
    margin: 5.5em !important;
  }
  .u-sp-mt-55em {
    margin-top: 5.5em !important;
  }
  .u-sp-mb-55em {
    margin-bottom: 5.5em !important;
  }
  .u-sp-ml-55em {
    margin-left: 5.5em !important;
  }
  .u-sp-mr-55em {
    margin-right: 5.5em !important;
  }
  .u-sp-my-55em {
    margin-top: 5.5em !important;
    margin-bottom: 5.5em !important;
  }
  .u-sp-mx-55em {
    margin-left: 5.5em !important;
    margin-right: 5.5em !important;
  }
  .u-sp-m-6em {
    margin: 6em !important;
  }
  .u-sp-mt-6em {
    margin-top: 6em !important;
  }
  .u-sp-mb-6em {
    margin-bottom: 6em !important;
  }
  .u-sp-ml-6em {
    margin-left: 6em !important;
  }
  .u-sp-mr-6em {
    margin-right: 6em !important;
  }
  .u-sp-my-6em {
    margin-top: 6em !important;
    margin-bottom: 6em !important;
  }
  .u-sp-mx-6em {
    margin-left: 6em !important;
    margin-right: 6em !important;
  }
  .u-sp-m-65em {
    margin: 6.5em !important;
  }
  .u-sp-mt-65em {
    margin-top: 6.5em !important;
  }
  .u-sp-mb-65em {
    margin-bottom: 6.5em !important;
  }
  .u-sp-ml-65em {
    margin-left: 6.5em !important;
  }
  .u-sp-mr-65em {
    margin-right: 6.5em !important;
  }
  .u-sp-my-65em {
    margin-top: 6.5em !important;
    margin-bottom: 6.5em !important;
  }
  .u-sp-mx-65em {
    margin-left: 6.5em !important;
    margin-right: 6.5em !important;
  }
  .u-sp-m-7em {
    margin: 7em !important;
  }
  .u-sp-mt-7em {
    margin-top: 7em !important;
  }
  .u-sp-mb-7em {
    margin-bottom: 7em !important;
  }
  .u-sp-ml-7em {
    margin-left: 7em !important;
  }
  .u-sp-mr-7em {
    margin-right: 7em !important;
  }
  .u-sp-my-7em {
    margin-top: 7em !important;
    margin-bottom: 7em !important;
  }
  .u-sp-mx-7em {
    margin-left: 7em !important;
    margin-right: 7em !important;
  }
  .u-sp-m-75em {
    margin: 7.5em !important;
  }
  .u-sp-mt-75em {
    margin-top: 7.5em !important;
  }
  .u-sp-mb-75em {
    margin-bottom: 7.5em !important;
  }
  .u-sp-ml-75em {
    margin-left: 7.5em !important;
  }
  .u-sp-mr-75em {
    margin-right: 7.5em !important;
  }
  .u-sp-my-75em {
    margin-top: 7.5em !important;
    margin-bottom: 7.5em !important;
  }
  .u-sp-mx-75em {
    margin-left: 7.5em !important;
    margin-right: 7.5em !important;
  }
  .u-sp-m-8em {
    margin: 8em !important;
  }
  .u-sp-mt-8em {
    margin-top: 8em !important;
  }
  .u-sp-mb-8em {
    margin-bottom: 8em !important;
  }
  .u-sp-ml-8em {
    margin-left: 8em !important;
  }
  .u-sp-mr-8em {
    margin-right: 8em !important;
  }
  .u-sp-my-8em {
    margin-top: 8em !important;
    margin-bottom: 8em !important;
  }
  .u-sp-mx-8em {
    margin-left: 8em !important;
    margin-right: 8em !important;
  }
  .u-sp-m-85em {
    margin: 8.5em !important;
  }
  .u-sp-mt-85em {
    margin-top: 8.5em !important;
  }
  .u-sp-mb-85em {
    margin-bottom: 8.5em !important;
  }
  .u-sp-ml-85em {
    margin-left: 8.5em !important;
  }
  .u-sp-mr-85em {
    margin-right: 8.5em !important;
  }
  .u-sp-my-85em {
    margin-top: 8.5em !important;
    margin-bottom: 8.5em !important;
  }
  .u-sp-mx-85em {
    margin-left: 8.5em !important;
    margin-right: 8.5em !important;
  }
  .u-sp-m-9em {
    margin: 9em !important;
  }
  .u-sp-mt-9em {
    margin-top: 9em !important;
  }
  .u-sp-mb-9em {
    margin-bottom: 9em !important;
  }
  .u-sp-ml-9em {
    margin-left: 9em !important;
  }
  .u-sp-mr-9em {
    margin-right: 9em !important;
  }
  .u-sp-my-9em {
    margin-top: 9em !important;
    margin-bottom: 9em !important;
  }
  .u-sp-mx-9em {
    margin-left: 9em !important;
    margin-right: 9em !important;
  }
  .u-sp-m-95em {
    margin: 9.5em !important;
  }
  .u-sp-mt-95em {
    margin-top: 9.5em !important;
  }
  .u-sp-mb-95em {
    margin-bottom: 9.5em !important;
  }
  .u-sp-ml-95em {
    margin-left: 9.5em !important;
  }
  .u-sp-mr-95em {
    margin-right: 9.5em !important;
  }
  .u-sp-my-95em {
    margin-top: 9.5em !important;
    margin-bottom: 9.5em !important;
  }
  .u-sp-mx-95em {
    margin-left: 9.5em !important;
    margin-right: 9.5em !important;
  }
  .u-sp-m-10em {
    margin: 10em !important;
  }
  .u-sp-mt-10em {
    margin-top: 10em !important;
  }
  .u-sp-mb-10em {
    margin-bottom: 10em !important;
  }
  .u-sp-ml-10em {
    margin-left: 10em !important;
  }
  .u-sp-mr-10em {
    margin-right: 10em !important;
  }
  .u-sp-my-10em {
    margin-top: 10em !important;
    margin-bottom: 10em !important;
  }
  .u-sp-mx-10em {
    margin-left: 10em !important;
    margin-right: 10em !important;
  }
  .u-sp-m-auto {
    margin: auto !important;
  }
  .u-sp-mt-auto {
    margin-top: auto !important;
  }
  .u-sp-mb-auto {
    margin-bottom: auto !important;
  }
  .u-sp-ml-auto {
    margin-left: auto !important;
  }
  .u-sp-mr-auto {
    margin-right: auto !important;
  }
  .u-sp-my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .u-sp-mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* --------------------------------------------------------------------------------
   ユーティリティクラス - パディング
   --------------------------------------------------------------------------------
     - 単位 px ※実際の指定では px ではなく rem が使われている（10px = 1rem）
         パディング　: u-p-0,  u-p-5  ... u-p-150,  u-p-auto
         上パディング: u-pt-0, u-pt-5 ... u-pt-150, u-pt-auto
         下パディング: u-pb-0, u-pb-5 ... u-pb-150, u-pb-auto
         左パディング: u-pl-0, u-pl-5 ... u-pl-150, u-pl-auto
         右パディング: u-pr-0, u-pr-5 ... u-pr-150, u-pr-auto
         横パディング: u-py-0, u-py-5 ... u-py-150, u-py-auto
         縦パディング: u-px-0, u-px-5 ... u-px-150, u-px-auto

     - 単位 em（0.5em から 0.5em 刻みで 10em まで）
         パディング　: u-p-0em,  u-p-05em,  u-p-1em,  u-p-15em,  u-p-2em  ... u-p-10em
         上パディング: u-pt-0em, u-pt-05em, u-pt-1em, u-pt-15em, u-pt-2em ... u-pt-10em
         下パディング: u-pb-0em, u-pb-05em, u-pb-1em, u-pb-15em, u-pb-2em ... u-pb-10em
         左パディング: u-pl-0em, u-pl-05em, u-pl-1em, u-pl-15em, u-pl-2em ... u-pl-10em
         右パディング: u-pr-0em, u-pr-05em, u-pr-1em, u-pr-15em, u-pr-2em ... u-pr-10em
         横パディング: u-py-0em, u-py-05em, u-py-1em, u-py-15em, u-py-2em ... u-py-10em
         縦パディング: u-px-0em, u-px-05em, u-px-1em, u-px-15em, u-px-2em ... u-px-10em

     - u- の後ろに sp- を付加するとスマホ用のクラスになる
----------------------------------------------------------------------------------- */
/* 単位: px */
.u-p-0 {
  padding: 0rem !important;
}

.u-pt-0 {
  padding-top: 0rem !important;
}

.u-pb-0 {
  padding-bottom: 0rem !important;
}

.u-pl-0 {
  padding-left: 0rem !important;
}

.u-pr-0 {
  padding-right: 0rem !important;
}

.u-py-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.u-px-0 {
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}

.u-p-5 {
  padding: 0.5rem !important;
}

.u-pt-5 {
  padding-top: 0.5rem !important;
}

.u-pb-5 {
  padding-bottom: 0.5rem !important;
}

.u-pl-5 {
  padding-left: 0.5rem !important;
}

.u-pr-5 {
  padding-right: 0.5rem !important;
}

.u-py-5 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.u-px-5 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.u-p-10 {
  padding: 1rem !important;
}

.u-pt-10 {
  padding-top: 1rem !important;
}

.u-pb-10 {
  padding-bottom: 1rem !important;
}

.u-pl-10 {
  padding-left: 1rem !important;
}

.u-pr-10 {
  padding-right: 1rem !important;
}

.u-py-10 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.u-px-10 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.u-p-15 {
  padding: 1.5rem !important;
}

.u-pt-15 {
  padding-top: 1.5rem !important;
}

.u-pb-15 {
  padding-bottom: 1.5rem !important;
}

.u-pl-15 {
  padding-left: 1.5rem !important;
}

.u-pr-15 {
  padding-right: 1.5rem !important;
}

.u-py-15 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.u-px-15 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.u-p-20 {
  padding: 2rem !important;
}

.u-pt-20 {
  padding-top: 2rem !important;
}

.u-pb-20 {
  padding-bottom: 2rem !important;
}

.u-pl-20 {
  padding-left: 2rem !important;
}

.u-pr-20 {
  padding-right: 2rem !important;
}

.u-py-20 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.u-px-20 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.u-p-25 {
  padding: 2.5rem !important;
}

.u-pt-25 {
  padding-top: 2.5rem !important;
}

.u-pb-25 {
  padding-bottom: 2.5rem !important;
}

.u-pl-25 {
  padding-left: 2.5rem !important;
}

.u-pr-25 {
  padding-right: 2.5rem !important;
}

.u-py-25 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.u-px-25 {
  padding-left: 2.5rem !important;
  padding-right: 2.5rem !important;
}

.u-p-30 {
  padding: 3rem !important;
}

.u-pt-30 {
  padding-top: 3rem !important;
}

.u-pb-30 {
  padding-bottom: 3rem !important;
}

.u-pl-30 {
  padding-left: 3rem !important;
}

.u-pr-30 {
  padding-right: 3rem !important;
}

.u-py-30 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.u-px-30 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.u-p-35 {
  padding: 3.5rem !important;
}

.u-pt-35 {
  padding-top: 3.5rem !important;
}

.u-pb-35 {
  padding-bottom: 3.5rem !important;
}

.u-pl-35 {
  padding-left: 3.5rem !important;
}

.u-pr-35 {
  padding-right: 3.5rem !important;
}

.u-py-35 {
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
}

.u-px-35 {
  padding-left: 3.5rem !important;
  padding-right: 3.5rem !important;
}

.u-p-40 {
  padding: 4rem !important;
}

.u-pt-40 {
  padding-top: 4rem !important;
}

.u-pb-40 {
  padding-bottom: 4rem !important;
}

.u-pl-40 {
  padding-left: 4rem !important;
}

.u-pr-40 {
  padding-right: 4rem !important;
}

.u-py-40 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.u-px-40 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.u-p-45 {
  padding: 4.5rem !important;
}

.u-pt-45 {
  padding-top: 4.5rem !important;
}

.u-pb-45 {
  padding-bottom: 4.5rem !important;
}

.u-pl-45 {
  padding-left: 4.5rem !important;
}

.u-pr-45 {
  padding-right: 4.5rem !important;
}

.u-py-45 {
  padding-top: 4.5rem !important;
  padding-bottom: 4.5rem !important;
}

.u-px-45 {
  padding-left: 4.5rem !important;
  padding-right: 4.5rem !important;
}

.u-p-50 {
  padding: 5rem !important;
}

.u-pt-50 {
  padding-top: 5rem !important;
}

.u-pb-50 {
  padding-bottom: 5rem !important;
}

.u-pl-50 {
  padding-left: 5rem !important;
}

.u-pr-50 {
  padding-right: 5rem !important;
}

.u-py-50 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.u-px-50 {
  padding-left: 5rem !important;
  padding-right: 5rem !important;
}

.u-p-55 {
  padding: 5.5rem !important;
}

.u-pt-55 {
  padding-top: 5.5rem !important;
}

.u-pb-55 {
  padding-bottom: 5.5rem !important;
}

.u-pl-55 {
  padding-left: 5.5rem !important;
}

.u-pr-55 {
  padding-right: 5.5rem !important;
}

.u-py-55 {
  padding-top: 5.5rem !important;
  padding-bottom: 5.5rem !important;
}

.u-px-55 {
  padding-left: 5.5rem !important;
  padding-right: 5.5rem !important;
}

.u-p-60 {
  padding: 6rem !important;
}

.u-pt-60 {
  padding-top: 6rem !important;
}

.u-pb-60 {
  padding-bottom: 6rem !important;
}

.u-pl-60 {
  padding-left: 6rem !important;
}

.u-pr-60 {
  padding-right: 6rem !important;
}

.u-py-60 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

.u-px-60 {
  padding-left: 6rem !important;
  padding-right: 6rem !important;
}

.u-p-65 {
  padding: 6.5rem !important;
}

.u-pt-65 {
  padding-top: 6.5rem !important;
}

.u-pb-65 {
  padding-bottom: 6.5rem !important;
}

.u-pl-65 {
  padding-left: 6.5rem !important;
}

.u-pr-65 {
  padding-right: 6.5rem !important;
}

.u-py-65 {
  padding-top: 6.5rem !important;
  padding-bottom: 6.5rem !important;
}

.u-px-65 {
  padding-left: 6.5rem !important;
  padding-right: 6.5rem !important;
}

.u-p-70 {
  padding: 7rem !important;
}

.u-pt-70 {
  padding-top: 7rem !important;
}

.u-pb-70 {
  padding-bottom: 7rem !important;
}

.u-pl-70 {
  padding-left: 7rem !important;
}

.u-pr-70 {
  padding-right: 7rem !important;
}

.u-py-70 {
  padding-top: 7rem !important;
  padding-bottom: 7rem !important;
}

.u-px-70 {
  padding-left: 7rem !important;
  padding-right: 7rem !important;
}

.u-p-75 {
  padding: 7.5rem !important;
}

.u-pt-75 {
  padding-top: 7.5rem !important;
}

.u-pb-75 {
  padding-bottom: 7.5rem !important;
}

.u-pl-75 {
  padding-left: 7.5rem !important;
}

.u-pr-75 {
  padding-right: 7.5rem !important;
}

.u-py-75 {
  padding-top: 7.5rem !important;
  padding-bottom: 7.5rem !important;
}

.u-px-75 {
  padding-left: 7.5rem !important;
  padding-right: 7.5rem !important;
}

.u-p-80 {
  padding: 8rem !important;
}

.u-pt-80 {
  padding-top: 8rem !important;
}

.u-pb-80 {
  padding-bottom: 8rem !important;
}

.u-pl-80 {
  padding-left: 8rem !important;
}

.u-pr-80 {
  padding-right: 8rem !important;
}

.u-py-80 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

.u-px-80 {
  padding-left: 8rem !important;
  padding-right: 8rem !important;
}

.u-p-85 {
  padding: 8.5rem !important;
}

.u-pt-85 {
  padding-top: 8.5rem !important;
}

.u-pb-85 {
  padding-bottom: 8.5rem !important;
}

.u-pl-85 {
  padding-left: 8.5rem !important;
}

.u-pr-85 {
  padding-right: 8.5rem !important;
}

.u-py-85 {
  padding-top: 8.5rem !important;
  padding-bottom: 8.5rem !important;
}

.u-px-85 {
  padding-left: 8.5rem !important;
  padding-right: 8.5rem !important;
}

.u-p-90 {
  padding: 9rem !important;
}

.u-pt-90 {
  padding-top: 9rem !important;
}

.u-pb-90 {
  padding-bottom: 9rem !important;
}

.u-pl-90 {
  padding-left: 9rem !important;
}

.u-pr-90 {
  padding-right: 9rem !important;
}

.u-py-90 {
  padding-top: 9rem !important;
  padding-bottom: 9rem !important;
}

.u-px-90 {
  padding-left: 9rem !important;
  padding-right: 9rem !important;
}

.u-p-95 {
  padding: 9.5rem !important;
}

.u-pt-95 {
  padding-top: 9.5rem !important;
}

.u-pb-95 {
  padding-bottom: 9.5rem !important;
}

.u-pl-95 {
  padding-left: 9.5rem !important;
}

.u-pr-95 {
  padding-right: 9.5rem !important;
}

.u-py-95 {
  padding-top: 9.5rem !important;
  padding-bottom: 9.5rem !important;
}

.u-px-95 {
  padding-left: 9.5rem !important;
  padding-right: 9.5rem !important;
}

.u-p-100 {
  padding: 10rem !important;
}

.u-pt-100 {
  padding-top: 10rem !important;
}

.u-pb-100 {
  padding-bottom: 10rem !important;
}

.u-pl-100 {
  padding-left: 10rem !important;
}

.u-pr-100 {
  padding-right: 10rem !important;
}

.u-py-100 {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}

.u-px-100 {
  padding-left: 10rem !important;
  padding-right: 10rem !important;
}

.u-p-105 {
  padding: 10.5rem !important;
}

.u-pt-105 {
  padding-top: 10.5rem !important;
}

.u-pb-105 {
  padding-bottom: 10.5rem !important;
}

.u-pl-105 {
  padding-left: 10.5rem !important;
}

.u-pr-105 {
  padding-right: 10.5rem !important;
}

.u-py-105 {
  padding-top: 10.5rem !important;
  padding-bottom: 10.5rem !important;
}

.u-px-105 {
  padding-left: 10.5rem !important;
  padding-right: 10.5rem !important;
}

.u-p-110 {
  padding: 11rem !important;
}

.u-pt-110 {
  padding-top: 11rem !important;
}

.u-pb-110 {
  padding-bottom: 11rem !important;
}

.u-pl-110 {
  padding-left: 11rem !important;
}

.u-pr-110 {
  padding-right: 11rem !important;
}

.u-py-110 {
  padding-top: 11rem !important;
  padding-bottom: 11rem !important;
}

.u-px-110 {
  padding-left: 11rem !important;
  padding-right: 11rem !important;
}

.u-p-115 {
  padding: 11.5rem !important;
}

.u-pt-115 {
  padding-top: 11.5rem !important;
}

.u-pb-115 {
  padding-bottom: 11.5rem !important;
}

.u-pl-115 {
  padding-left: 11.5rem !important;
}

.u-pr-115 {
  padding-right: 11.5rem !important;
}

.u-py-115 {
  padding-top: 11.5rem !important;
  padding-bottom: 11.5rem !important;
}

.u-px-115 {
  padding-left: 11.5rem !important;
  padding-right: 11.5rem !important;
}

.u-p-120 {
  padding: 12rem !important;
}

.u-pt-120 {
  padding-top: 12rem !important;
}

.u-pb-120 {
  padding-bottom: 12rem !important;
}

.u-pl-120 {
  padding-left: 12rem !important;
}

.u-pr-120 {
  padding-right: 12rem !important;
}

.u-py-120 {
  padding-top: 12rem !important;
  padding-bottom: 12rem !important;
}

.u-px-120 {
  padding-left: 12rem !important;
  padding-right: 12rem !important;
}

.u-p-125 {
  padding: 12.5rem !important;
}

.u-pt-125 {
  padding-top: 12.5rem !important;
}

.u-pb-125 {
  padding-bottom: 12.5rem !important;
}

.u-pl-125 {
  padding-left: 12.5rem !important;
}

.u-pr-125 {
  padding-right: 12.5rem !important;
}

.u-py-125 {
  padding-top: 12.5rem !important;
  padding-bottom: 12.5rem !important;
}

.u-px-125 {
  padding-left: 12.5rem !important;
  padding-right: 12.5rem !important;
}

.u-p-130 {
  padding: 13rem !important;
}

.u-pt-130 {
  padding-top: 13rem !important;
}

.u-pb-130 {
  padding-bottom: 13rem !important;
}

.u-pl-130 {
  padding-left: 13rem !important;
}

.u-pr-130 {
  padding-right: 13rem !important;
}

.u-py-130 {
  padding-top: 13rem !important;
  padding-bottom: 13rem !important;
}

.u-px-130 {
  padding-left: 13rem !important;
  padding-right: 13rem !important;
}

.u-p-135 {
  padding: 13.5rem !important;
}

.u-pt-135 {
  padding-top: 13.5rem !important;
}

.u-pb-135 {
  padding-bottom: 13.5rem !important;
}

.u-pl-135 {
  padding-left: 13.5rem !important;
}

.u-pr-135 {
  padding-right: 13.5rem !important;
}

.u-py-135 {
  padding-top: 13.5rem !important;
  padding-bottom: 13.5rem !important;
}

.u-px-135 {
  padding-left: 13.5rem !important;
  padding-right: 13.5rem !important;
}

.u-p-140 {
  padding: 14rem !important;
}

.u-pt-140 {
  padding-top: 14rem !important;
}

.u-pb-140 {
  padding-bottom: 14rem !important;
}

.u-pl-140 {
  padding-left: 14rem !important;
}

.u-pr-140 {
  padding-right: 14rem !important;
}

.u-py-140 {
  padding-top: 14rem !important;
  padding-bottom: 14rem !important;
}

.u-px-140 {
  padding-left: 14rem !important;
  padding-right: 14rem !important;
}

.u-p-145 {
  padding: 14.5rem !important;
}

.u-pt-145 {
  padding-top: 14.5rem !important;
}

.u-pb-145 {
  padding-bottom: 14.5rem !important;
}

.u-pl-145 {
  padding-left: 14.5rem !important;
}

.u-pr-145 {
  padding-right: 14.5rem !important;
}

.u-py-145 {
  padding-top: 14.5rem !important;
  padding-bottom: 14.5rem !important;
}

.u-px-145 {
  padding-left: 14.5rem !important;
  padding-right: 14.5rem !important;
}

.u-p-150 {
  padding: 15rem !important;
}

.u-pt-150 {
  padding-top: 15rem !important;
}

.u-pb-150 {
  padding-bottom: 15rem !important;
}

.u-pl-150 {
  padding-left: 15rem !important;
}

.u-pr-150 {
  padding-right: 15rem !important;
}

.u-py-150 {
  padding-top: 15rem !important;
  padding-bottom: 15rem !important;
}

.u-px-150 {
  padding-left: 15rem !important;
  padding-right: 15rem !important;
}

/* 単位: em */
.u-p-05em {
  padding: 0.5em !important;
}

.u-pt-05em {
  padding-top: 0.5em !important;
}

.u-pb-05em {
  padding-bottom: 0.5em !important;
}

.u-pl-05em {
  padding-left: 0.5em !important;
}

.u-pr-05em {
  padding-right: 0.5em !important;
}

.u-py-05em {
  padding-top: 0.5em !important;
  padding-bottom: 0.5em !important;
}

.u-px-05em {
  padding-left: 0.5em !important;
  padding-right: 0.5em !important;
}

.u-p-1em {
  padding: 1em !important;
}

.u-pt-1em {
  padding-top: 1em !important;
}

.u-pb-1em {
  padding-bottom: 1em !important;
}

.u-pl-1em {
  padding-left: 1em !important;
}

.u-pr-1em {
  padding-right: 1em !important;
}

.u-py-1em {
  padding-top: 1em !important;
  padding-bottom: 1em !important;
}

.u-px-1em {
  padding-left: 1em !important;
  padding-right: 1em !important;
}

.u-p-15em {
  padding: 1.5em !important;
}

.u-pt-15em {
  padding-top: 1.5em !important;
}

.u-pb-15em {
  padding-bottom: 1.5em !important;
}

.u-pl-15em {
  padding-left: 1.5em !important;
}

.u-pr-15em {
  padding-right: 1.5em !important;
}

.u-py-15em {
  padding-top: 1.5em !important;
  padding-bottom: 1.5em !important;
}

.u-px-15em {
  padding-left: 1.5em !important;
  padding-right: 1.5em !important;
}

.u-p-2em {
  padding: 2em !important;
}

.u-pt-2em {
  padding-top: 2em !important;
}

.u-pb-2em {
  padding-bottom: 2em !important;
}

.u-pl-2em {
  padding-left: 2em !important;
}

.u-pr-2em {
  padding-right: 2em !important;
}

.u-py-2em {
  padding-top: 2em !important;
  padding-bottom: 2em !important;
}

.u-px-2em {
  padding-left: 2em !important;
  padding-right: 2em !important;
}

.u-p-25em {
  padding: 2.5em !important;
}

.u-pt-25em {
  padding-top: 2.5em !important;
}

.u-pb-25em {
  padding-bottom: 2.5em !important;
}

.u-pl-25em {
  padding-left: 2.5em !important;
}

.u-pr-25em {
  padding-right: 2.5em !important;
}

.u-py-25em {
  padding-top: 2.5em !important;
  padding-bottom: 2.5em !important;
}

.u-px-25em {
  padding-left: 2.5em !important;
  padding-right: 2.5em !important;
}

.u-p-3em {
  padding: 3em !important;
}

.u-pt-3em {
  padding-top: 3em !important;
}

.u-pb-3em {
  padding-bottom: 3em !important;
}

.u-pl-3em {
  padding-left: 3em !important;
}

.u-pr-3em {
  padding-right: 3em !important;
}

.u-py-3em {
  padding-top: 3em !important;
  padding-bottom: 3em !important;
}

.u-px-3em {
  padding-left: 3em !important;
  padding-right: 3em !important;
}

.u-p-35em {
  padding: 3.5em !important;
}

.u-pt-35em {
  padding-top: 3.5em !important;
}

.u-pb-35em {
  padding-bottom: 3.5em !important;
}

.u-pl-35em {
  padding-left: 3.5em !important;
}

.u-pr-35em {
  padding-right: 3.5em !important;
}

.u-py-35em {
  padding-top: 3.5em !important;
  padding-bottom: 3.5em !important;
}

.u-px-35em {
  padding-left: 3.5em !important;
  padding-right: 3.5em !important;
}

.u-p-4em {
  padding: 4em !important;
}

.u-pt-4em {
  padding-top: 4em !important;
}

.u-pb-4em {
  padding-bottom: 4em !important;
}

.u-pl-4em {
  padding-left: 4em !important;
}

.u-pr-4em {
  padding-right: 4em !important;
}

.u-py-4em {
  padding-top: 4em !important;
  padding-bottom: 4em !important;
}

.u-px-4em {
  padding-left: 4em !important;
  padding-right: 4em !important;
}

.u-p-45em {
  padding: 4.5em !important;
}

.u-pt-45em {
  padding-top: 4.5em !important;
}

.u-pb-45em {
  padding-bottom: 4.5em !important;
}

.u-pl-45em {
  padding-left: 4.5em !important;
}

.u-pr-45em {
  padding-right: 4.5em !important;
}

.u-py-45em {
  padding-top: 4.5em !important;
  padding-bottom: 4.5em !important;
}

.u-px-45em {
  padding-left: 4.5em !important;
  padding-right: 4.5em !important;
}

.u-p-5em {
  padding: 5em !important;
}

.u-pt-5em {
  padding-top: 5em !important;
}

.u-pb-5em {
  padding-bottom: 5em !important;
}

.u-pl-5em {
  padding-left: 5em !important;
}

.u-pr-5em {
  padding-right: 5em !important;
}

.u-py-5em {
  padding-top: 5em !important;
  padding-bottom: 5em !important;
}

.u-px-5em {
  padding-left: 5em !important;
  padding-right: 5em !important;
}

.u-p-55em {
  padding: 5.5em !important;
}

.u-pt-55em {
  padding-top: 5.5em !important;
}

.u-pb-55em {
  padding-bottom: 5.5em !important;
}

.u-pl-55em {
  padding-left: 5.5em !important;
}

.u-pr-55em {
  padding-right: 5.5em !important;
}

.u-py-55em {
  padding-top: 5.5em !important;
  padding-bottom: 5.5em !important;
}

.u-px-55em {
  padding-left: 5.5em !important;
  padding-right: 5.5em !important;
}

.u-p-6em {
  padding: 6em !important;
}

.u-pt-6em {
  padding-top: 6em !important;
}

.u-pb-6em {
  padding-bottom: 6em !important;
}

.u-pl-6em {
  padding-left: 6em !important;
}

.u-pr-6em {
  padding-right: 6em !important;
}

.u-py-6em {
  padding-top: 6em !important;
  padding-bottom: 6em !important;
}

.u-px-6em {
  padding-left: 6em !important;
  padding-right: 6em !important;
}

.u-p-65em {
  padding: 6.5em !important;
}

.u-pt-65em {
  padding-top: 6.5em !important;
}

.u-pb-65em {
  padding-bottom: 6.5em !important;
}

.u-pl-65em {
  padding-left: 6.5em !important;
}

.u-pr-65em {
  padding-right: 6.5em !important;
}

.u-py-65em {
  padding-top: 6.5em !important;
  padding-bottom: 6.5em !important;
}

.u-px-65em {
  padding-left: 6.5em !important;
  padding-right: 6.5em !important;
}

.u-p-7em {
  padding: 7em !important;
}

.u-pt-7em {
  padding-top: 7em !important;
}

.u-pb-7em {
  padding-bottom: 7em !important;
}

.u-pl-7em {
  padding-left: 7em !important;
}

.u-pr-7em {
  padding-right: 7em !important;
}

.u-py-7em {
  padding-top: 7em !important;
  padding-bottom: 7em !important;
}

.u-px-7em {
  padding-left: 7em !important;
  padding-right: 7em !important;
}

.u-p-75em {
  padding: 7.5em !important;
}

.u-pt-75em {
  padding-top: 7.5em !important;
}

.u-pb-75em {
  padding-bottom: 7.5em !important;
}

.u-pl-75em {
  padding-left: 7.5em !important;
}

.u-pr-75em {
  padding-right: 7.5em !important;
}

.u-py-75em {
  padding-top: 7.5em !important;
  padding-bottom: 7.5em !important;
}

.u-px-75em {
  padding-left: 7.5em !important;
  padding-right: 7.5em !important;
}

.u-p-8em {
  padding: 8em !important;
}

.u-pt-8em {
  padding-top: 8em !important;
}

.u-pb-8em {
  padding-bottom: 8em !important;
}

.u-pl-8em {
  padding-left: 8em !important;
}

.u-pr-8em {
  padding-right: 8em !important;
}

.u-py-8em {
  padding-top: 8em !important;
  padding-bottom: 8em !important;
}

.u-px-8em {
  padding-left: 8em !important;
  padding-right: 8em !important;
}

.u-p-85em {
  padding: 8.5em !important;
}

.u-pt-85em {
  padding-top: 8.5em !important;
}

.u-pb-85em {
  padding-bottom: 8.5em !important;
}

.u-pl-85em {
  padding-left: 8.5em !important;
}

.u-pr-85em {
  padding-right: 8.5em !important;
}

.u-py-85em {
  padding-top: 8.5em !important;
  padding-bottom: 8.5em !important;
}

.u-px-85em {
  padding-left: 8.5em !important;
  padding-right: 8.5em !important;
}

.u-p-9em {
  padding: 9em !important;
}

.u-pt-9em {
  padding-top: 9em !important;
}

.u-pb-9em {
  padding-bottom: 9em !important;
}

.u-pl-9em {
  padding-left: 9em !important;
}

.u-pr-9em {
  padding-right: 9em !important;
}

.u-py-9em {
  padding-top: 9em !important;
  padding-bottom: 9em !important;
}

.u-px-9em {
  padding-left: 9em !important;
  padding-right: 9em !important;
}

.u-p-95em {
  padding: 9.5em !important;
}

.u-pt-95em {
  padding-top: 9.5em !important;
}

.u-pb-95em {
  padding-bottom: 9.5em !important;
}

.u-pl-95em {
  padding-left: 9.5em !important;
}

.u-pr-95em {
  padding-right: 9.5em !important;
}

.u-py-95em {
  padding-top: 9.5em !important;
  padding-bottom: 9.5em !important;
}

.u-px-95em {
  padding-left: 9.5em !important;
  padding-right: 9.5em !important;
}

.u-p-10em {
  padding: 10em !important;
}

.u-pt-10em {
  padding-top: 10em !important;
}

.u-pb-10em {
  padding-bottom: 10em !important;
}

.u-pl-10em {
  padding-left: 10em !important;
}

.u-pr-10em {
  padding-right: 10em !important;
}

.u-py-10em {
  padding-top: 10em !important;
  padding-bottom: 10em !important;
}

.u-px-10em {
  padding-left: 10em !important;
  padding-right: 10em !important;
}

/* SP版：プリフィクス sp- を付加 */
@media print, screen and (max-width: 767px) {
  /* 単位: px */
  .u-sp-p-0 {
    padding: 0rem !important;
  }
  .u-sp-pt-0 {
    padding-top: 0rem !important;
  }
  .u-sp-pb-0 {
    padding-bottom: 0rem !important;
  }
  .u-sp-pl-0 {
    padding-left: 0rem !important;
  }
  .u-sp-pr-0 {
    padding-right: 0rem !important;
  }
  .u-sp-py-0 {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .u-sp-px-0 {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .u-sp-p-5 {
    padding: 0.5rem !important;
  }
  .u-sp-pt-5 {
    padding-top: 0.5rem !important;
  }
  .u-sp-pb-5 {
    padding-bottom: 0.5rem !important;
  }
  .u-sp-pl-5 {
    padding-left: 0.5rem !important;
  }
  .u-sp-pr-5 {
    padding-right: 0.5rem !important;
  }
  .u-sp-py-5 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .u-sp-px-5 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  .u-sp-p-10 {
    padding: 1rem !important;
  }
  .u-sp-pt-10 {
    padding-top: 1rem !important;
  }
  .u-sp-pb-10 {
    padding-bottom: 1rem !important;
  }
  .u-sp-pl-10 {
    padding-left: 1rem !important;
  }
  .u-sp-pr-10 {
    padding-right: 1rem !important;
  }
  .u-sp-py-10 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .u-sp-px-10 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .u-sp-p-15 {
    padding: 1.5rem !important;
  }
  .u-sp-pt-15 {
    padding-top: 1.5rem !important;
  }
  .u-sp-pb-15 {
    padding-bottom: 1.5rem !important;
  }
  .u-sp-pl-15 {
    padding-left: 1.5rem !important;
  }
  .u-sp-pr-15 {
    padding-right: 1.5rem !important;
  }
  .u-sp-py-15 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .u-sp-px-15 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
  .u-sp-p-20 {
    padding: 2rem !important;
  }
  .u-sp-pt-20 {
    padding-top: 2rem !important;
  }
  .u-sp-pb-20 {
    padding-bottom: 2rem !important;
  }
  .u-sp-pl-20 {
    padding-left: 2rem !important;
  }
  .u-sp-pr-20 {
    padding-right: 2rem !important;
  }
  .u-sp-py-20 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .u-sp-px-20 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .u-sp-p-25 {
    padding: 2.5rem !important;
  }
  .u-sp-pt-25 {
    padding-top: 2.5rem !important;
  }
  .u-sp-pb-25 {
    padding-bottom: 2.5rem !important;
  }
  .u-sp-pl-25 {
    padding-left: 2.5rem !important;
  }
  .u-sp-pr-25 {
    padding-right: 2.5rem !important;
  }
  .u-sp-py-25 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .u-sp-px-25 {
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
  }
  .u-sp-p-30 {
    padding: 3rem !important;
  }
  .u-sp-pt-30 {
    padding-top: 3rem !important;
  }
  .u-sp-pb-30 {
    padding-bottom: 3rem !important;
  }
  .u-sp-pl-30 {
    padding-left: 3rem !important;
  }
  .u-sp-pr-30 {
    padding-right: 3rem !important;
  }
  .u-sp-py-30 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .u-sp-px-30 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .u-sp-p-35 {
    padding: 3.5rem !important;
  }
  .u-sp-pt-35 {
    padding-top: 3.5rem !important;
  }
  .u-sp-pb-35 {
    padding-bottom: 3.5rem !important;
  }
  .u-sp-pl-35 {
    padding-left: 3.5rem !important;
  }
  .u-sp-pr-35 {
    padding-right: 3.5rem !important;
  }
  .u-sp-py-35 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .u-sp-px-35 {
    padding-left: 3.5rem !important;
    padding-right: 3.5rem !important;
  }
  .u-sp-p-40 {
    padding: 4rem !important;
  }
  .u-sp-pt-40 {
    padding-top: 4rem !important;
  }
  .u-sp-pb-40 {
    padding-bottom: 4rem !important;
  }
  .u-sp-pl-40 {
    padding-left: 4rem !important;
  }
  .u-sp-pr-40 {
    padding-right: 4rem !important;
  }
  .u-sp-py-40 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .u-sp-px-40 {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .u-sp-p-45 {
    padding: 4.5rem !important;
  }
  .u-sp-pt-45 {
    padding-top: 4.5rem !important;
  }
  .u-sp-pb-45 {
    padding-bottom: 4.5rem !important;
  }
  .u-sp-pl-45 {
    padding-left: 4.5rem !important;
  }
  .u-sp-pr-45 {
    padding-right: 4.5rem !important;
  }
  .u-sp-py-45 {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }
  .u-sp-px-45 {
    padding-left: 4.5rem !important;
    padding-right: 4.5rem !important;
  }
  .u-sp-p-50 {
    padding: 5rem !important;
  }
  .u-sp-pt-50 {
    padding-top: 5rem !important;
  }
  .u-sp-pb-50 {
    padding-bottom: 5rem !important;
  }
  .u-sp-pl-50 {
    padding-left: 5rem !important;
  }
  .u-sp-pr-50 {
    padding-right: 5rem !important;
  }
  .u-sp-py-50 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .u-sp-px-50 {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
  .u-sp-p-55 {
    padding: 5.5rem !important;
  }
  .u-sp-pt-55 {
    padding-top: 5.5rem !important;
  }
  .u-sp-pb-55 {
    padding-bottom: 5.5rem !important;
  }
  .u-sp-pl-55 {
    padding-left: 5.5rem !important;
  }
  .u-sp-pr-55 {
    padding-right: 5.5rem !important;
  }
  .u-sp-py-55 {
    padding-top: 5.5rem !important;
    padding-bottom: 5.5rem !important;
  }
  .u-sp-px-55 {
    padding-left: 5.5rem !important;
    padding-right: 5.5rem !important;
  }
  .u-sp-p-60 {
    padding: 6rem !important;
  }
  .u-sp-pt-60 {
    padding-top: 6rem !important;
  }
  .u-sp-pb-60 {
    padding-bottom: 6rem !important;
  }
  .u-sp-pl-60 {
    padding-left: 6rem !important;
  }
  .u-sp-pr-60 {
    padding-right: 6rem !important;
  }
  .u-sp-py-60 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  .u-sp-px-60 {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
  }
  .u-sp-p-65 {
    padding: 6.5rem !important;
  }
  .u-sp-pt-65 {
    padding-top: 6.5rem !important;
  }
  .u-sp-pb-65 {
    padding-bottom: 6.5rem !important;
  }
  .u-sp-pl-65 {
    padding-left: 6.5rem !important;
  }
  .u-sp-pr-65 {
    padding-right: 6.5rem !important;
  }
  .u-sp-py-65 {
    padding-top: 6.5rem !important;
    padding-bottom: 6.5rem !important;
  }
  .u-sp-px-65 {
    padding-left: 6.5rem !important;
    padding-right: 6.5rem !important;
  }
  .u-sp-p-70 {
    padding: 7rem !important;
  }
  .u-sp-pt-70 {
    padding-top: 7rem !important;
  }
  .u-sp-pb-70 {
    padding-bottom: 7rem !important;
  }
  .u-sp-pl-70 {
    padding-left: 7rem !important;
  }
  .u-sp-pr-70 {
    padding-right: 7rem !important;
  }
  .u-sp-py-70 {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important;
  }
  .u-sp-px-70 {
    padding-left: 7rem !important;
    padding-right: 7rem !important;
  }
  .u-sp-p-75 {
    padding: 7.5rem !important;
  }
  .u-sp-pt-75 {
    padding-top: 7.5rem !important;
  }
  .u-sp-pb-75 {
    padding-bottom: 7.5rem !important;
  }
  .u-sp-pl-75 {
    padding-left: 7.5rem !important;
  }
  .u-sp-pr-75 {
    padding-right: 7.5rem !important;
  }
  .u-sp-py-75 {
    padding-top: 7.5rem !important;
    padding-bottom: 7.5rem !important;
  }
  .u-sp-px-75 {
    padding-left: 7.5rem !important;
    padding-right: 7.5rem !important;
  }
  .u-sp-p-80 {
    padding: 8rem !important;
  }
  .u-sp-pt-80 {
    padding-top: 8rem !important;
  }
  .u-sp-pb-80 {
    padding-bottom: 8rem !important;
  }
  .u-sp-pl-80 {
    padding-left: 8rem !important;
  }
  .u-sp-pr-80 {
    padding-right: 8rem !important;
  }
  .u-sp-py-80 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
  .u-sp-px-80 {
    padding-left: 8rem !important;
    padding-right: 8rem !important;
  }
  .u-sp-p-85 {
    padding: 8.5rem !important;
  }
  .u-sp-pt-85 {
    padding-top: 8.5rem !important;
  }
  .u-sp-pb-85 {
    padding-bottom: 8.5rem !important;
  }
  .u-sp-pl-85 {
    padding-left: 8.5rem !important;
  }
  .u-sp-pr-85 {
    padding-right: 8.5rem !important;
  }
  .u-sp-py-85 {
    padding-top: 8.5rem !important;
    padding-bottom: 8.5rem !important;
  }
  .u-sp-px-85 {
    padding-left: 8.5rem !important;
    padding-right: 8.5rem !important;
  }
  .u-sp-p-90 {
    padding: 9rem !important;
  }
  .u-sp-pt-90 {
    padding-top: 9rem !important;
  }
  .u-sp-pb-90 {
    padding-bottom: 9rem !important;
  }
  .u-sp-pl-90 {
    padding-left: 9rem !important;
  }
  .u-sp-pr-90 {
    padding-right: 9rem !important;
  }
  .u-sp-py-90 {
    padding-top: 9rem !important;
    padding-bottom: 9rem !important;
  }
  .u-sp-px-90 {
    padding-left: 9rem !important;
    padding-right: 9rem !important;
  }
  .u-sp-p-95 {
    padding: 9.5rem !important;
  }
  .u-sp-pt-95 {
    padding-top: 9.5rem !important;
  }
  .u-sp-pb-95 {
    padding-bottom: 9.5rem !important;
  }
  .u-sp-pl-95 {
    padding-left: 9.5rem !important;
  }
  .u-sp-pr-95 {
    padding-right: 9.5rem !important;
  }
  .u-sp-py-95 {
    padding-top: 9.5rem !important;
    padding-bottom: 9.5rem !important;
  }
  .u-sp-px-95 {
    padding-left: 9.5rem !important;
    padding-right: 9.5rem !important;
  }
  .u-sp-p-100 {
    padding: 10rem !important;
  }
  .u-sp-pt-100 {
    padding-top: 10rem !important;
  }
  .u-sp-pb-100 {
    padding-bottom: 10rem !important;
  }
  .u-sp-pl-100 {
    padding-left: 10rem !important;
  }
  .u-sp-pr-100 {
    padding-right: 10rem !important;
  }
  .u-sp-py-100 {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
  }
  .u-sp-px-100 {
    padding-left: 10rem !important;
    padding-right: 10rem !important;
  }
  .u-sp-p-105 {
    padding: 10.5rem !important;
  }
  .u-sp-pt-105 {
    padding-top: 10.5rem !important;
  }
  .u-sp-pb-105 {
    padding-bottom: 10.5rem !important;
  }
  .u-sp-pl-105 {
    padding-left: 10.5rem !important;
  }
  .u-sp-pr-105 {
    padding-right: 10.5rem !important;
  }
  .u-sp-py-105 {
    padding-top: 10.5rem !important;
    padding-bottom: 10.5rem !important;
  }
  .u-sp-px-105 {
    padding-left: 10.5rem !important;
    padding-right: 10.5rem !important;
  }
  .u-sp-p-110 {
    padding: 11rem !important;
  }
  .u-sp-pt-110 {
    padding-top: 11rem !important;
  }
  .u-sp-pb-110 {
    padding-bottom: 11rem !important;
  }
  .u-sp-pl-110 {
    padding-left: 11rem !important;
  }
  .u-sp-pr-110 {
    padding-right: 11rem !important;
  }
  .u-sp-py-110 {
    padding-top: 11rem !important;
    padding-bottom: 11rem !important;
  }
  .u-sp-px-110 {
    padding-left: 11rem !important;
    padding-right: 11rem !important;
  }
  .u-sp-p-115 {
    padding: 11.5rem !important;
  }
  .u-sp-pt-115 {
    padding-top: 11.5rem !important;
  }
  .u-sp-pb-115 {
    padding-bottom: 11.5rem !important;
  }
  .u-sp-pl-115 {
    padding-left: 11.5rem !important;
  }
  .u-sp-pr-115 {
    padding-right: 11.5rem !important;
  }
  .u-sp-py-115 {
    padding-top: 11.5rem !important;
    padding-bottom: 11.5rem !important;
  }
  .u-sp-px-115 {
    padding-left: 11.5rem !important;
    padding-right: 11.5rem !important;
  }
  .u-sp-p-120 {
    padding: 12rem !important;
  }
  .u-sp-pt-120 {
    padding-top: 12rem !important;
  }
  .u-sp-pb-120 {
    padding-bottom: 12rem !important;
  }
  .u-sp-pl-120 {
    padding-left: 12rem !important;
  }
  .u-sp-pr-120 {
    padding-right: 12rem !important;
  }
  .u-sp-py-120 {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
  .u-sp-px-120 {
    padding-left: 12rem !important;
    padding-right: 12rem !important;
  }
  .u-sp-p-125 {
    padding: 12.5rem !important;
  }
  .u-sp-pt-125 {
    padding-top: 12.5rem !important;
  }
  .u-sp-pb-125 {
    padding-bottom: 12.5rem !important;
  }
  .u-sp-pl-125 {
    padding-left: 12.5rem !important;
  }
  .u-sp-pr-125 {
    padding-right: 12.5rem !important;
  }
  .u-sp-py-125 {
    padding-top: 12.5rem !important;
    padding-bottom: 12.5rem !important;
  }
  .u-sp-px-125 {
    padding-left: 12.5rem !important;
    padding-right: 12.5rem !important;
  }
  .u-sp-p-130 {
    padding: 13rem !important;
  }
  .u-sp-pt-130 {
    padding-top: 13rem !important;
  }
  .u-sp-pb-130 {
    padding-bottom: 13rem !important;
  }
  .u-sp-pl-130 {
    padding-left: 13rem !important;
  }
  .u-sp-pr-130 {
    padding-right: 13rem !important;
  }
  .u-sp-py-130 {
    padding-top: 13rem !important;
    padding-bottom: 13rem !important;
  }
  .u-sp-px-130 {
    padding-left: 13rem !important;
    padding-right: 13rem !important;
  }
  .u-sp-p-135 {
    padding: 13.5rem !important;
  }
  .u-sp-pt-135 {
    padding-top: 13.5rem !important;
  }
  .u-sp-pb-135 {
    padding-bottom: 13.5rem !important;
  }
  .u-sp-pl-135 {
    padding-left: 13.5rem !important;
  }
  .u-sp-pr-135 {
    padding-right: 13.5rem !important;
  }
  .u-sp-py-135 {
    padding-top: 13.5rem !important;
    padding-bottom: 13.5rem !important;
  }
  .u-sp-px-135 {
    padding-left: 13.5rem !important;
    padding-right: 13.5rem !important;
  }
  .u-sp-p-140 {
    padding: 14rem !important;
  }
  .u-sp-pt-140 {
    padding-top: 14rem !important;
  }
  .u-sp-pb-140 {
    padding-bottom: 14rem !important;
  }
  .u-sp-pl-140 {
    padding-left: 14rem !important;
  }
  .u-sp-pr-140 {
    padding-right: 14rem !important;
  }
  .u-sp-py-140 {
    padding-top: 14rem !important;
    padding-bottom: 14rem !important;
  }
  .u-sp-px-140 {
    padding-left: 14rem !important;
    padding-right: 14rem !important;
  }
  .u-sp-p-145 {
    padding: 14.5rem !important;
  }
  .u-sp-pt-145 {
    padding-top: 14.5rem !important;
  }
  .u-sp-pb-145 {
    padding-bottom: 14.5rem !important;
  }
  .u-sp-pl-145 {
    padding-left: 14.5rem !important;
  }
  .u-sp-pr-145 {
    padding-right: 14.5rem !important;
  }
  .u-sp-py-145 {
    padding-top: 14.5rem !important;
    padding-bottom: 14.5rem !important;
  }
  .u-sp-px-145 {
    padding-left: 14.5rem !important;
    padding-right: 14.5rem !important;
  }
  .u-sp-p-150 {
    padding: 15rem !important;
  }
  .u-sp-pt-150 {
    padding-top: 15rem !important;
  }
  .u-sp-pb-150 {
    padding-bottom: 15rem !important;
  }
  .u-sp-pl-150 {
    padding-left: 15rem !important;
  }
  .u-sp-pr-150 {
    padding-right: 15rem !important;
  }
  .u-sp-py-150 {
    padding-top: 15rem !important;
    padding-bottom: 15rem !important;
  }
  .u-sp-px-150 {
    padding-left: 15rem !important;
    padding-right: 15rem !important;
  }
  /* 単位: em */
  .u-sp-p-05em {
    padding: 0.5em !important;
  }
  .u-sp-pt-05em {
    padding-top: 0.5em !important;
  }
  .u-sp-pb-05em {
    padding-bottom: 0.5em !important;
  }
  .u-sp-pl-05em {
    padding-left: 0.5em !important;
  }
  .u-sp-pr-05em {
    padding-right: 0.5em !important;
  }
  .u-sp-py-05em {
    padding-top: 0.5em !important;
    padding-bottom: 0.5em !important;
  }
  .u-sp-px-05em {
    padding-left: 0.5em !important;
    padding-right: 0.5em !important;
  }
  .u-sp-p-1em {
    padding: 1em !important;
  }
  .u-sp-pt-1em {
    padding-top: 1em !important;
  }
  .u-sp-pb-1em {
    padding-bottom: 1em !important;
  }
  .u-sp-pl-1em {
    padding-left: 1em !important;
  }
  .u-sp-pr-1em {
    padding-right: 1em !important;
  }
  .u-sp-py-1em {
    padding-top: 1em !important;
    padding-bottom: 1em !important;
  }
  .u-sp-px-1em {
    padding-left: 1em !important;
    padding-right: 1em !important;
  }
  .u-sp-p-15em {
    padding: 1.5em !important;
  }
  .u-sp-pt-15em {
    padding-top: 1.5em !important;
  }
  .u-sp-pb-15em {
    padding-bottom: 1.5em !important;
  }
  .u-sp-pl-15em {
    padding-left: 1.5em !important;
  }
  .u-sp-pr-15em {
    padding-right: 1.5em !important;
  }
  .u-sp-py-15em {
    padding-top: 1.5em !important;
    padding-bottom: 1.5em !important;
  }
  .u-sp-px-15em {
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
  }
  .u-sp-p-2em {
    padding: 2em !important;
  }
  .u-sp-pt-2em {
    padding-top: 2em !important;
  }
  .u-sp-pb-2em {
    padding-bottom: 2em !important;
  }
  .u-sp-pl-2em {
    padding-left: 2em !important;
  }
  .u-sp-pr-2em {
    padding-right: 2em !important;
  }
  .u-sp-py-2em {
    padding-top: 2em !important;
    padding-bottom: 2em !important;
  }
  .u-sp-px-2em {
    padding-left: 2em !important;
    padding-right: 2em !important;
  }
  .u-sp-p-25em {
    padding: 2.5em !important;
  }
  .u-sp-pt-25em {
    padding-top: 2.5em !important;
  }
  .u-sp-pb-25em {
    padding-bottom: 2.5em !important;
  }
  .u-sp-pl-25em {
    padding-left: 2.5em !important;
  }
  .u-sp-pr-25em {
    padding-right: 2.5em !important;
  }
  .u-sp-py-25em {
    padding-top: 2.5em !important;
    padding-bottom: 2.5em !important;
  }
  .u-sp-px-25em {
    padding-left: 2.5em !important;
    padding-right: 2.5em !important;
  }
  .u-sp-p-3em {
    padding: 3em !important;
  }
  .u-sp-pt-3em {
    padding-top: 3em !important;
  }
  .u-sp-pb-3em {
    padding-bottom: 3em !important;
  }
  .u-sp-pl-3em {
    padding-left: 3em !important;
  }
  .u-sp-pr-3em {
    padding-right: 3em !important;
  }
  .u-sp-py-3em {
    padding-top: 3em !important;
    padding-bottom: 3em !important;
  }
  .u-sp-px-3em {
    padding-left: 3em !important;
    padding-right: 3em !important;
  }
  .u-sp-p-35em {
    padding: 3.5em !important;
  }
  .u-sp-pt-35em {
    padding-top: 3.5em !important;
  }
  .u-sp-pb-35em {
    padding-bottom: 3.5em !important;
  }
  .u-sp-pl-35em {
    padding-left: 3.5em !important;
  }
  .u-sp-pr-35em {
    padding-right: 3.5em !important;
  }
  .u-sp-py-35em {
    padding-top: 3.5em !important;
    padding-bottom: 3.5em !important;
  }
  .u-sp-px-35em {
    padding-left: 3.5em !important;
    padding-right: 3.5em !important;
  }
  .u-sp-p-4em {
    padding: 4em !important;
  }
  .u-sp-pt-4em {
    padding-top: 4em !important;
  }
  .u-sp-pb-4em {
    padding-bottom: 4em !important;
  }
  .u-sp-pl-4em {
    padding-left: 4em !important;
  }
  .u-sp-pr-4em {
    padding-right: 4em !important;
  }
  .u-sp-py-4em {
    padding-top: 4em !important;
    padding-bottom: 4em !important;
  }
  .u-sp-px-4em {
    padding-left: 4em !important;
    padding-right: 4em !important;
  }
  .u-sp-p-45em {
    padding: 4.5em !important;
  }
  .u-sp-pt-45em {
    padding-top: 4.5em !important;
  }
  .u-sp-pb-45em {
    padding-bottom: 4.5em !important;
  }
  .u-sp-pl-45em {
    padding-left: 4.5em !important;
  }
  .u-sp-pr-45em {
    padding-right: 4.5em !important;
  }
  .u-sp-py-45em {
    padding-top: 4.5em !important;
    padding-bottom: 4.5em !important;
  }
  .u-sp-px-45em {
    padding-left: 4.5em !important;
    padding-right: 4.5em !important;
  }
  .u-sp-p-5em {
    padding: 5em !important;
  }
  .u-sp-pt-5em {
    padding-top: 5em !important;
  }
  .u-sp-pb-5em {
    padding-bottom: 5em !important;
  }
  .u-sp-pl-5em {
    padding-left: 5em !important;
  }
  .u-sp-pr-5em {
    padding-right: 5em !important;
  }
  .u-sp-py-5em {
    padding-top: 5em !important;
    padding-bottom: 5em !important;
  }
  .u-sp-px-5em {
    padding-left: 5em !important;
    padding-right: 5em !important;
  }
  .u-sp-p-55em {
    padding: 5.5em !important;
  }
  .u-sp-pt-55em {
    padding-top: 5.5em !important;
  }
  .u-sp-pb-55em {
    padding-bottom: 5.5em !important;
  }
  .u-sp-pl-55em {
    padding-left: 5.5em !important;
  }
  .u-sp-pr-55em {
    padding-right: 5.5em !important;
  }
  .u-sp-py-55em {
    padding-top: 5.5em !important;
    padding-bottom: 5.5em !important;
  }
  .u-sp-px-55em {
    padding-left: 5.5em !important;
    padding-right: 5.5em !important;
  }
  .u-sp-p-6em {
    padding: 6em !important;
  }
  .u-sp-pt-6em {
    padding-top: 6em !important;
  }
  .u-sp-pb-6em {
    padding-bottom: 6em !important;
  }
  .u-sp-pl-6em {
    padding-left: 6em !important;
  }
  .u-sp-pr-6em {
    padding-right: 6em !important;
  }
  .u-sp-py-6em {
    padding-top: 6em !important;
    padding-bottom: 6em !important;
  }
  .u-sp-px-6em {
    padding-left: 6em !important;
    padding-right: 6em !important;
  }
  .u-sp-p-65em {
    padding: 6.5em !important;
  }
  .u-sp-pt-65em {
    padding-top: 6.5em !important;
  }
  .u-sp-pb-65em {
    padding-bottom: 6.5em !important;
  }
  .u-sp-pl-65em {
    padding-left: 6.5em !important;
  }
  .u-sp-pr-65em {
    padding-right: 6.5em !important;
  }
  .u-sp-py-65em {
    padding-top: 6.5em !important;
    padding-bottom: 6.5em !important;
  }
  .u-sp-px-65em {
    padding-left: 6.5em !important;
    padding-right: 6.5em !important;
  }
  .u-sp-p-7em {
    padding: 7em !important;
  }
  .u-sp-pt-7em {
    padding-top: 7em !important;
  }
  .u-sp-pb-7em {
    padding-bottom: 7em !important;
  }
  .u-sp-pl-7em {
    padding-left: 7em !important;
  }
  .u-sp-pr-7em {
    padding-right: 7em !important;
  }
  .u-sp-py-7em {
    padding-top: 7em !important;
    padding-bottom: 7em !important;
  }
  .u-sp-px-7em {
    padding-left: 7em !important;
    padding-right: 7em !important;
  }
  .u-sp-p-75em {
    padding: 7.5em !important;
  }
  .u-sp-pt-75em {
    padding-top: 7.5em !important;
  }
  .u-sp-pb-75em {
    padding-bottom: 7.5em !important;
  }
  .u-sp-pl-75em {
    padding-left: 7.5em !important;
  }
  .u-sp-pr-75em {
    padding-right: 7.5em !important;
  }
  .u-sp-py-75em {
    padding-top: 7.5em !important;
    padding-bottom: 7.5em !important;
  }
  .u-sp-px-75em {
    padding-left: 7.5em !important;
    padding-right: 7.5em !important;
  }
  .u-sp-p-8em {
    padding: 8em !important;
  }
  .u-sp-pt-8em {
    padding-top: 8em !important;
  }
  .u-sp-pb-8em {
    padding-bottom: 8em !important;
  }
  .u-sp-pl-8em {
    padding-left: 8em !important;
  }
  .u-sp-pr-8em {
    padding-right: 8em !important;
  }
  .u-sp-py-8em {
    padding-top: 8em !important;
    padding-bottom: 8em !important;
  }
  .u-sp-px-8em {
    padding-left: 8em !important;
    padding-right: 8em !important;
  }
  .u-sp-p-85em {
    padding: 8.5em !important;
  }
  .u-sp-pt-85em {
    padding-top: 8.5em !important;
  }
  .u-sp-pb-85em {
    padding-bottom: 8.5em !important;
  }
  .u-sp-pl-85em {
    padding-left: 8.5em !important;
  }
  .u-sp-pr-85em {
    padding-right: 8.5em !important;
  }
  .u-sp-py-85em {
    padding-top: 8.5em !important;
    padding-bottom: 8.5em !important;
  }
  .u-sp-px-85em {
    padding-left: 8.5em !important;
    padding-right: 8.5em !important;
  }
  .u-sp-p-9em {
    padding: 9em !important;
  }
  .u-sp-pt-9em {
    padding-top: 9em !important;
  }
  .u-sp-pb-9em {
    padding-bottom: 9em !important;
  }
  .u-sp-pl-9em {
    padding-left: 9em !important;
  }
  .u-sp-pr-9em {
    padding-right: 9em !important;
  }
  .u-sp-py-9em {
    padding-top: 9em !important;
    padding-bottom: 9em !important;
  }
  .u-sp-px-9em {
    padding-left: 9em !important;
    padding-right: 9em !important;
  }
  .u-sp-p-95em {
    padding: 9.5em !important;
  }
  .u-sp-pt-95em {
    padding-top: 9.5em !important;
  }
  .u-sp-pb-95em {
    padding-bottom: 9.5em !important;
  }
  .u-sp-pl-95em {
    padding-left: 9.5em !important;
  }
  .u-sp-pr-95em {
    padding-right: 9.5em !important;
  }
  .u-sp-py-95em {
    padding-top: 9.5em !important;
    padding-bottom: 9.5em !important;
  }
  .u-sp-px-95em {
    padding-left: 9.5em !important;
    padding-right: 9.5em !important;
  }
  .u-sp-p-10em {
    padding: 10em !important;
  }
  .u-sp-pt-10em {
    padding-top: 10em !important;
  }
  .u-sp-pb-10em {
    padding-bottom: 10em !important;
  }
  .u-sp-pl-10em {
    padding-left: 10em !important;
  }
  .u-sp-pr-10em {
    padding-right: 10em !important;
  }
  .u-sp-py-10em {
    padding-top: 10em !important;
    padding-bottom: 10em !important;
  }
  .u-sp-px-10em {
    padding-left: 10em !important;
    padding-right: 10em !important;
  }
}
/* --------------------------------------------------------------------------------
   ユーティリティクラス - 汎用リスト
----------------------------------------------------------------------------------- */
ul.u-ls-normal {
  list-style-type: disc;
  padding-left: 1.3em;
}

ol.u-ls-normal {
  list-style-type: decimal;
  padding-left: 1.3em;
}

dl.u-ls-normal > dt {
  font-weight: bold;
}

dl.u-ls-inline > dt {
  display: inline;
  margin-right: 0.5em;
  font-weight: bold;
}
dl.u-ls-inline > dd {
  display: inline;
}

/* 米印（※）リスト */
ul.u-ls-kome {
  margin-left: 1.2em;
}
ul.u-ls-kome > li {
  text-indent: -1.2em;
}
ul.u-ls-kome > li::before {
  content: "※";
  margin-right: 0.2em;
  /* San Francisco や Segoe はリストマークがいまいちなのでヒラギノとメイリオを使用 */
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, monospace;
}

/* 大きな黒丸（●）リスト */
ul.u-ls-large-disc {
  margin-left: 1.2em;
}
ul.u-ls-large-disc > li {
  text-indent: -1.2em;
}
ul.u-ls-large-disc > li::before {
  content: "●";
  margin-right: 0.2em;
  /* San Francisco や Segoe はリストマークがいまいちなのでヒラギノとメイリオを使用 */
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, monospace;
}

/* 大きな白丸（○）リスト */
ul.u-ls-large-circle {
  margin-left: 1.2em;
}
ul.u-ls-large-circle > li {
  text-indent: -1.2em;
}
ul.u-ls-large-circle > li::before {
  content: "○";
  margin-right: 0.2em;
  /* San Francisco や Segoe はリストマークがいまいちなのでヒラギノとメイリオを使用 */
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, monospace;
  color: #31955E;
}

/* 連番付き※印のリスト（※1, ※2, ...） */
/* 連番は2桁まで。3桁以上はリスト本文テキストと重なるので適宜調整のこと */
ol.u-ls-kome {
  margin-left: 2.7em;
  list-style: none;
  counter-reset: number;
}
ol.u-ls-kome > li {
  text-indent: -2.7em;
}
ol.u-ls-kome > li::before {
  content: "※" counter(number);
  counter-increment: number;
  display: inline-block;
  width: 2.2em;
  margin-right: 0.5em;
  /* San Francisco や Segoe はリストマークがいまいちなので游ゴシック、ヒラギノ、メイリオを使用 */
  font-family: MyYuGothicM, YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, monospace;
  line-height: 0;
  text-indent: 0;
  white-space: nowrap;
}

/* かっこ付き数字リスト */
ol.u-ls-bracket {
  margin-left: 2em;
  list-style: none;
  counter-reset: number;
}
ol.u-ls-bracket > li {
  text-indent: -2em;
}
ol.u-ls-bracket > li::before {
  content: "(" counter(number) ") ";
  counter-increment: number;
  display: marker;
  width: 1.5em;
  margin-right: 0.5em;
  text-indent: 0;
  white-space: nowrap;
}

/* 丸数字リスト（最大20） */
ol.u-ls-circle {
  margin-left: 1.2em;
}
ol.u-ls-circle > li {
  text-indent: -1.2em;
}
ol.u-ls-circle > li::before {
  margin-right: 0.2em;
  /* San Francisco や Segoe はリストマークがいまいちなのでヒラギノとメイリオを使用 */
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, monospace;
}
ol.u-ls-circle > li:nth-of-type(1)::before {
  content: "①";
}
ol.u-ls-circle > li:nth-of-type(2)::before {
  content: "②";
}
ol.u-ls-circle > li:nth-of-type(3)::before {
  content: "③";
}
ol.u-ls-circle > li:nth-of-type(4)::before {
  content: "④";
}
ol.u-ls-circle > li:nth-of-type(5)::before {
  content: "⑤";
}
ol.u-ls-circle > li:nth-of-type(6)::before {
  content: "⑥";
}
ol.u-ls-circle > li:nth-of-type(7)::before {
  content: "⑦";
}
ol.u-ls-circle > li:nth-of-type(8)::before {
  content: "⑧";
}
ol.u-ls-circle > li:nth-of-type(9)::before {
  content: "⑨";
}
ol.u-ls-circle > li:nth-of-type(10)::before {
  content: "⑩";
}
ol.u-ls-circle > li:nth-of-type(11)::before {
  content: "⑪";
}
ol.u-ls-circle > li:nth-of-type(12)::before {
  content: "⑫";
}
ol.u-ls-circle > li:nth-of-type(13)::before {
  content: "⑬";
}
ol.u-ls-circle > li:nth-of-type(14)::before {
  content: "⑭";
}
ol.u-ls-circle > li:nth-of-type(15)::before {
  content: "⑮";
}
ol.u-ls-circle > li:nth-of-type(16)::before {
  content: "⑯";
}
ol.u-ls-circle > li:nth-of-type(17)::before {
  content: "⑰";
}
ol.u-ls-circle > li:nth-of-type(18)::before {
  content: "⑱";
}
ol.u-ls-circle > li:nth-of-type(19)::before {
  content: "⑲";
}
ol.u-ls-circle > li:nth-of-type(20)::before {
  content: "⑳";
}

/* --------------------------------------------------------------------------------
   ユーティリティクラス - フォントサイズ / .u-fs-*, .u-sp-fs-*
   --------------------------------------------------------------------------------
     - 単位 px → u-fs-5, u-fs-6  ... u-fs-64
       ※実際の指定では px ではなく rem が使われている（10px = 1rem）
     - 単位 vw → u-fs-1v,  u-fs-2v ... u-fs-100v
     - u- の後ろに sp- を付加するとスマホ用のクラスになる
----------------------------------------------------------------------------------- */
.u-fs-5 {
  font-size: 0.5rem !important;
}

.u-fs-6 {
  font-size: 0.6rem !important;
}

.u-fs-7 {
  font-size: 0.7rem !important;
}

.u-fs-8 {
  font-size: 0.8rem !important;
}

.u-fs-9 {
  font-size: 0.9rem !important;
}

.u-fs-10 {
  font-size: 1rem !important;
}

.u-fs-11 {
  font-size: 1.1rem !important;
}

.u-fs-12 {
  font-size: 1.2rem !important;
}

.u-fs-13 {
  font-size: 1.3rem !important;
}

.u-fs-14 {
  font-size: 1.4rem !important;
}

.u-fs-15 {
  font-size: 1.5rem !important;
}

.u-fs-16 {
  font-size: 1.6rem !important;
}

.u-fs-17 {
  font-size: 1.7rem !important;
}

.u-fs-18 {
  font-size: 1.8rem !important;
}

.u-fs-19 {
  font-size: 1.9rem !important;
}

.u-fs-20 {
  font-size: 2rem !important;
}

.u-fs-21 {
  font-size: 2.1rem !important;
}

.u-fs-22 {
  font-size: 2.2rem !important;
}

.u-fs-23 {
  font-size: 2.3rem !important;
}

.u-fs-24 {
  font-size: 2.4rem !important;
}

.u-fs-25 {
  font-size: 2.5rem !important;
}

.u-fs-26 {
  font-size: 2.6rem !important;
}

.u-fs-27 {
  font-size: 2.7rem !important;
}

.u-fs-28 {
  font-size: 2.8rem !important;
}

.u-fs-29 {
  font-size: 2.9rem !important;
}

.u-fs-30 {
  font-size: 3rem !important;
}

.u-fs-31 {
  font-size: 3.1rem !important;
}

.u-fs-32 {
  font-size: 3.2rem !important;
}

.u-fs-33 {
  font-size: 3.3rem !important;
}

.u-fs-34 {
  font-size: 3.4rem !important;
}

.u-fs-35 {
  font-size: 3.5rem !important;
}

.u-fs-36 {
  font-size: 3.6rem !important;
}

.u-fs-37 {
  font-size: 3.7rem !important;
}

.u-fs-38 {
  font-size: 3.8rem !important;
}

.u-fs-39 {
  font-size: 3.9rem !important;
}

.u-fs-40 {
  font-size: 4rem !important;
}

.u-fs-41 {
  font-size: 4.1rem !important;
}

.u-fs-42 {
  font-size: 4.2rem !important;
}

.u-fs-43 {
  font-size: 4.3rem !important;
}

.u-fs-44 {
  font-size: 4.4rem !important;
}

.u-fs-45 {
  font-size: 4.5rem !important;
}

.u-fs-46 {
  font-size: 4.6rem !important;
}

.u-fs-47 {
  font-size: 4.7rem !important;
}

.u-fs-48 {
  font-size: 4.8rem !important;
}

.u-fs-49 {
  font-size: 4.9rem !important;
}

.u-fs-50 {
  font-size: 5rem !important;
}

.u-fs-51 {
  font-size: 5.1rem !important;
}

.u-fs-52 {
  font-size: 5.2rem !important;
}

.u-fs-53 {
  font-size: 5.3rem !important;
}

.u-fs-54 {
  font-size: 5.4rem !important;
}

.u-fs-55 {
  font-size: 5.5rem !important;
}

.u-fs-56 {
  font-size: 5.6rem !important;
}

.u-fs-57 {
  font-size: 5.7rem !important;
}

.u-fs-58 {
  font-size: 5.8rem !important;
}

.u-fs-59 {
  font-size: 5.9rem !important;
}

.u-fs-60 {
  font-size: 6rem !important;
}

.u-fs-61 {
  font-size: 6.1rem !important;
}

.u-fs-62 {
  font-size: 6.2rem !important;
}

.u-fs-63 {
  font-size: 6.3rem !important;
}

.u-fs-64 {
  font-size: 6.4rem !important;
}

.u-fs-1v {
  font-size: 1vw !important;
}

.u-fs-2v {
  font-size: 2vw !important;
}

.u-fs-3v {
  font-size: 3vw !important;
}

.u-fs-4v {
  font-size: 4vw !important;
}

.u-fs-5v {
  font-size: 5vw !important;
}

.u-fs-6v {
  font-size: 6vw !important;
}

.u-fs-7v {
  font-size: 7vw !important;
}

.u-fs-8v {
  font-size: 8vw !important;
}

.u-fs-9v {
  font-size: 9vw !important;
}

.u-fs-10v {
  font-size: 10vw !important;
}

.u-fs-11v {
  font-size: 11vw !important;
}

.u-fs-12v {
  font-size: 12vw !important;
}

.u-fs-13v {
  font-size: 13vw !important;
}

.u-fs-14v {
  font-size: 14vw !important;
}

.u-fs-15v {
  font-size: 15vw !important;
}

.u-fs-16v {
  font-size: 16vw !important;
}

.u-fs-17v {
  font-size: 17vw !important;
}

.u-fs-18v {
  font-size: 18vw !important;
}

.u-fs-19v {
  font-size: 19vw !important;
}

.u-fs-20v {
  font-size: 20vw !important;
}

.u-fs-21v {
  font-size: 21vw !important;
}

.u-fs-22v {
  font-size: 22vw !important;
}

.u-fs-23v {
  font-size: 23vw !important;
}

.u-fs-24v {
  font-size: 24vw !important;
}

.u-fs-25v {
  font-size: 25vw !important;
}

.u-fs-26v {
  font-size: 26vw !important;
}

.u-fs-27v {
  font-size: 27vw !important;
}

.u-fs-28v {
  font-size: 28vw !important;
}

.u-fs-29v {
  font-size: 29vw !important;
}

.u-fs-30v {
  font-size: 30vw !important;
}

.u-fs-31v {
  font-size: 31vw !important;
}

.u-fs-32v {
  font-size: 32vw !important;
}

.u-fs-33v {
  font-size: 33vw !important;
}

.u-fs-34v {
  font-size: 34vw !important;
}

.u-fs-35v {
  font-size: 35vw !important;
}

.u-fs-36v {
  font-size: 36vw !important;
}

.u-fs-37v {
  font-size: 37vw !important;
}

.u-fs-38v {
  font-size: 38vw !important;
}

.u-fs-39v {
  font-size: 39vw !important;
}

.u-fs-40v {
  font-size: 40vw !important;
}

.u-fs-41v {
  font-size: 41vw !important;
}

.u-fs-42v {
  font-size: 42vw !important;
}

.u-fs-43v {
  font-size: 43vw !important;
}

.u-fs-44v {
  font-size: 44vw !important;
}

.u-fs-45v {
  font-size: 45vw !important;
}

.u-fs-46v {
  font-size: 46vw !important;
}

.u-fs-47v {
  font-size: 47vw !important;
}

.u-fs-48v {
  font-size: 48vw !important;
}

.u-fs-49v {
  font-size: 49vw !important;
}

.u-fs-50v {
  font-size: 50vw !important;
}

.u-fs-51v {
  font-size: 51vw !important;
}

.u-fs-52v {
  font-size: 52vw !important;
}

.u-fs-53v {
  font-size: 53vw !important;
}

.u-fs-54v {
  font-size: 54vw !important;
}

.u-fs-55v {
  font-size: 55vw !important;
}

.u-fs-56v {
  font-size: 56vw !important;
}

.u-fs-57v {
  font-size: 57vw !important;
}

.u-fs-58v {
  font-size: 58vw !important;
}

.u-fs-59v {
  font-size: 59vw !important;
}

.u-fs-60v {
  font-size: 60vw !important;
}

.u-fs-61v {
  font-size: 61vw !important;
}

.u-fs-62v {
  font-size: 62vw !important;
}

.u-fs-63v {
  font-size: 63vw !important;
}

.u-fs-64v {
  font-size: 64vw !important;
}

.u-fs-65v {
  font-size: 65vw !important;
}

.u-fs-66v {
  font-size: 66vw !important;
}

.u-fs-67v {
  font-size: 67vw !important;
}

.u-fs-68v {
  font-size: 68vw !important;
}

.u-fs-69v {
  font-size: 69vw !important;
}

.u-fs-70v {
  font-size: 70vw !important;
}

.u-fs-71v {
  font-size: 71vw !important;
}

.u-fs-72v {
  font-size: 72vw !important;
}

.u-fs-73v {
  font-size: 73vw !important;
}

.u-fs-74v {
  font-size: 74vw !important;
}

.u-fs-75v {
  font-size: 75vw !important;
}

.u-fs-76v {
  font-size: 76vw !important;
}

.u-fs-77v {
  font-size: 77vw !important;
}

.u-fs-78v {
  font-size: 78vw !important;
}

.u-fs-79v {
  font-size: 79vw !important;
}

.u-fs-80v {
  font-size: 80vw !important;
}

.u-fs-81v {
  font-size: 81vw !important;
}

.u-fs-82v {
  font-size: 82vw !important;
}

.u-fs-83v {
  font-size: 83vw !important;
}

.u-fs-84v {
  font-size: 84vw !important;
}

.u-fs-85v {
  font-size: 85vw !important;
}

.u-fs-86v {
  font-size: 86vw !important;
}

.u-fs-87v {
  font-size: 87vw !important;
}

.u-fs-88v {
  font-size: 88vw !important;
}

.u-fs-89v {
  font-size: 89vw !important;
}

.u-fs-90v {
  font-size: 90vw !important;
}

.u-fs-91v {
  font-size: 91vw !important;
}

.u-fs-92v {
  font-size: 92vw !important;
}

.u-fs-93v {
  font-size: 93vw !important;
}

.u-fs-94v {
  font-size: 94vw !important;
}

.u-fs-95v {
  font-size: 95vw !important;
}

.u-fs-96v {
  font-size: 96vw !important;
}

.u-fs-97v {
  font-size: 97vw !important;
}

.u-fs-98v {
  font-size: 98vw !important;
}

.u-fs-99v {
  font-size: 99vw !important;
}

.u-fs-100v {
  font-size: 100vw !important;
}

/* SP版：プリフィクス sp- を付加 */
@media print, screen and (max-width: 767px) {
  .u-sp-fs-5 {
    font-size: 0.5rem !important;
  }
  .u-sp-fs-6 {
    font-size: 0.6rem !important;
  }
  .u-sp-fs-7 {
    font-size: 0.7rem !important;
  }
  .u-sp-fs-8 {
    font-size: 0.8rem !important;
  }
  .u-sp-fs-9 {
    font-size: 0.9rem !important;
  }
  .u-sp-fs-10 {
    font-size: 1rem !important;
  }
  .u-sp-fs-11 {
    font-size: 1.1rem !important;
  }
  .u-sp-fs-12 {
    font-size: 1.2rem !important;
  }
  .u-sp-fs-13 {
    font-size: 1.3rem !important;
  }
  .u-sp-fs-14 {
    font-size: 1.4rem !important;
  }
  .u-sp-fs-15 {
    font-size: 1.5rem !important;
  }
  .u-sp-fs-16 {
    font-size: 1.6rem !important;
  }
  .u-sp-fs-17 {
    font-size: 1.7rem !important;
  }
  .u-sp-fs-18 {
    font-size: 1.8rem !important;
  }
  .u-sp-fs-19 {
    font-size: 1.9rem !important;
  }
  .u-sp-fs-20 {
    font-size: 2rem !important;
  }
  .u-sp-fs-21 {
    font-size: 2.1rem !important;
  }
  .u-sp-fs-22 {
    font-size: 2.2rem !important;
  }
  .u-sp-fs-23 {
    font-size: 2.3rem !important;
  }
  .u-sp-fs-24 {
    font-size: 2.4rem !important;
  }
  .u-sp-fs-25 {
    font-size: 2.5rem !important;
  }
  .u-sp-fs-26 {
    font-size: 2.6rem !important;
  }
  .u-sp-fs-27 {
    font-size: 2.7rem !important;
  }
  .u-sp-fs-28 {
    font-size: 2.8rem !important;
  }
  .u-sp-fs-29 {
    font-size: 2.9rem !important;
  }
  .u-sp-fs-30 {
    font-size: 3rem !important;
  }
  .u-sp-fs-31 {
    font-size: 3.1rem !important;
  }
  .u-sp-fs-32 {
    font-size: 3.2rem !important;
  }
  .u-sp-fs-33 {
    font-size: 3.3rem !important;
  }
  .u-sp-fs-34 {
    font-size: 3.4rem !important;
  }
  .u-sp-fs-35 {
    font-size: 3.5rem !important;
  }
  .u-sp-fs-36 {
    font-size: 3.6rem !important;
  }
  .u-sp-fs-37 {
    font-size: 3.7rem !important;
  }
  .u-sp-fs-38 {
    font-size: 3.8rem !important;
  }
  .u-sp-fs-39 {
    font-size: 3.9rem !important;
  }
  .u-sp-fs-40 {
    font-size: 4rem !important;
  }
  .u-sp-fs-41 {
    font-size: 4.1rem !important;
  }
  .u-sp-fs-42 {
    font-size: 4.2rem !important;
  }
  .u-sp-fs-43 {
    font-size: 4.3rem !important;
  }
  .u-sp-fs-44 {
    font-size: 4.4rem !important;
  }
  .u-sp-fs-45 {
    font-size: 4.5rem !important;
  }
  .u-sp-fs-46 {
    font-size: 4.6rem !important;
  }
  .u-sp-fs-47 {
    font-size: 4.7rem !important;
  }
  .u-sp-fs-48 {
    font-size: 4.8rem !important;
  }
  .u-sp-fs-49 {
    font-size: 4.9rem !important;
  }
  .u-sp-fs-50 {
    font-size: 5rem !important;
  }
  .u-sp-fs-51 {
    font-size: 5.1rem !important;
  }
  .u-sp-fs-52 {
    font-size: 5.2rem !important;
  }
  .u-sp-fs-53 {
    font-size: 5.3rem !important;
  }
  .u-sp-fs-54 {
    font-size: 5.4rem !important;
  }
  .u-sp-fs-55 {
    font-size: 5.5rem !important;
  }
  .u-sp-fs-56 {
    font-size: 5.6rem !important;
  }
  .u-sp-fs-57 {
    font-size: 5.7rem !important;
  }
  .u-sp-fs-58 {
    font-size: 5.8rem !important;
  }
  .u-sp-fs-59 {
    font-size: 5.9rem !important;
  }
  .u-sp-fs-60 {
    font-size: 6rem !important;
  }
  .u-sp-fs-61 {
    font-size: 6.1rem !important;
  }
  .u-sp-fs-62 {
    font-size: 6.2rem !important;
  }
  .u-sp-fs-63 {
    font-size: 6.3rem !important;
  }
  .u-sp-fs-64 {
    font-size: 6.4rem !important;
  }
  .u-sp-fs-1v {
    font-size: 1vw !important;
  }
  .u-sp-fs-2v {
    font-size: 2vw !important;
  }
  .u-sp-fs-3v {
    font-size: 3vw !important;
  }
  .u-sp-fs-4v {
    font-size: 4vw !important;
  }
  .u-sp-fs-5v {
    font-size: 5vw !important;
  }
  .u-sp-fs-6v {
    font-size: 6vw !important;
  }
  .u-sp-fs-7v {
    font-size: 7vw !important;
  }
  .u-sp-fs-8v {
    font-size: 8vw !important;
  }
  .u-sp-fs-9v {
    font-size: 9vw !important;
  }
  .u-sp-fs-10v {
    font-size: 10vw !important;
  }
  .u-sp-fs-11v {
    font-size: 11vw !important;
  }
  .u-sp-fs-12v {
    font-size: 12vw !important;
  }
  .u-sp-fs-13v {
    font-size: 13vw !important;
  }
  .u-sp-fs-14v {
    font-size: 14vw !important;
  }
  .u-sp-fs-15v {
    font-size: 15vw !important;
  }
  .u-sp-fs-16v {
    font-size: 16vw !important;
  }
  .u-sp-fs-17v {
    font-size: 17vw !important;
  }
  .u-sp-fs-18v {
    font-size: 18vw !important;
  }
  .u-sp-fs-19v {
    font-size: 19vw !important;
  }
  .u-sp-fs-20v {
    font-size: 20vw !important;
  }
  .u-sp-fs-21v {
    font-size: 21vw !important;
  }
  .u-sp-fs-22v {
    font-size: 22vw !important;
  }
  .u-sp-fs-23v {
    font-size: 23vw !important;
  }
  .u-sp-fs-24v {
    font-size: 24vw !important;
  }
  .u-sp-fs-25v {
    font-size: 25vw !important;
  }
  .u-sp-fs-26v {
    font-size: 26vw !important;
  }
  .u-sp-fs-27v {
    font-size: 27vw !important;
  }
  .u-sp-fs-28v {
    font-size: 28vw !important;
  }
  .u-sp-fs-29v {
    font-size: 29vw !important;
  }
  .u-sp-fs-30v {
    font-size: 30vw !important;
  }
  .u-sp-fs-31v {
    font-size: 31vw !important;
  }
  .u-sp-fs-32v {
    font-size: 32vw !important;
  }
  .u-sp-fs-33v {
    font-size: 33vw !important;
  }
  .u-sp-fs-34v {
    font-size: 34vw !important;
  }
  .u-sp-fs-35v {
    font-size: 35vw !important;
  }
  .u-sp-fs-36v {
    font-size: 36vw !important;
  }
  .u-sp-fs-37v {
    font-size: 37vw !important;
  }
  .u-sp-fs-38v {
    font-size: 38vw !important;
  }
  .u-sp-fs-39v {
    font-size: 39vw !important;
  }
  .u-sp-fs-40v {
    font-size: 40vw !important;
  }
  .u-sp-fs-41v {
    font-size: 41vw !important;
  }
  .u-sp-fs-42v {
    font-size: 42vw !important;
  }
  .u-sp-fs-43v {
    font-size: 43vw !important;
  }
  .u-sp-fs-44v {
    font-size: 44vw !important;
  }
  .u-sp-fs-45v {
    font-size: 45vw !important;
  }
  .u-sp-fs-46v {
    font-size: 46vw !important;
  }
  .u-sp-fs-47v {
    font-size: 47vw !important;
  }
  .u-sp-fs-48v {
    font-size: 48vw !important;
  }
  .u-sp-fs-49v {
    font-size: 49vw !important;
  }
  .u-sp-fs-50v {
    font-size: 50vw !important;
  }
  .u-sp-fs-51v {
    font-size: 51vw !important;
  }
  .u-sp-fs-52v {
    font-size: 52vw !important;
  }
  .u-sp-fs-53v {
    font-size: 53vw !important;
  }
  .u-sp-fs-54v {
    font-size: 54vw !important;
  }
  .u-sp-fs-55v {
    font-size: 55vw !important;
  }
  .u-sp-fs-56v {
    font-size: 56vw !important;
  }
  .u-sp-fs-57v {
    font-size: 57vw !important;
  }
  .u-sp-fs-58v {
    font-size: 58vw !important;
  }
  .u-sp-fs-59v {
    font-size: 59vw !important;
  }
  .u-sp-fs-60v {
    font-size: 60vw !important;
  }
  .u-sp-fs-61v {
    font-size: 61vw !important;
  }
  .u-sp-fs-62v {
    font-size: 62vw !important;
  }
  .u-sp-fs-63v {
    font-size: 63vw !important;
  }
  .u-sp-fs-64v {
    font-size: 64vw !important;
  }
  .u-sp-fs-65v {
    font-size: 65vw !important;
  }
  .u-sp-fs-66v {
    font-size: 66vw !important;
  }
  .u-sp-fs-67v {
    font-size: 67vw !important;
  }
  .u-sp-fs-68v {
    font-size: 68vw !important;
  }
  .u-sp-fs-69v {
    font-size: 69vw !important;
  }
  .u-sp-fs-70v {
    font-size: 70vw !important;
  }
  .u-sp-fs-71v {
    font-size: 71vw !important;
  }
  .u-sp-fs-72v {
    font-size: 72vw !important;
  }
  .u-sp-fs-73v {
    font-size: 73vw !important;
  }
  .u-sp-fs-74v {
    font-size: 74vw !important;
  }
  .u-sp-fs-75v {
    font-size: 75vw !important;
  }
  .u-sp-fs-76v {
    font-size: 76vw !important;
  }
  .u-sp-fs-77v {
    font-size: 77vw !important;
  }
  .u-sp-fs-78v {
    font-size: 78vw !important;
  }
  .u-sp-fs-79v {
    font-size: 79vw !important;
  }
  .u-sp-fs-80v {
    font-size: 80vw !important;
  }
  .u-sp-fs-81v {
    font-size: 81vw !important;
  }
  .u-sp-fs-82v {
    font-size: 82vw !important;
  }
  .u-sp-fs-83v {
    font-size: 83vw !important;
  }
  .u-sp-fs-84v {
    font-size: 84vw !important;
  }
  .u-sp-fs-85v {
    font-size: 85vw !important;
  }
  .u-sp-fs-86v {
    font-size: 86vw !important;
  }
  .u-sp-fs-87v {
    font-size: 87vw !important;
  }
  .u-sp-fs-88v {
    font-size: 88vw !important;
  }
  .u-sp-fs-89v {
    font-size: 89vw !important;
  }
  .u-sp-fs-90v {
    font-size: 90vw !important;
  }
  .u-sp-fs-91v {
    font-size: 91vw !important;
  }
  .u-sp-fs-92v {
    font-size: 92vw !important;
  }
  .u-sp-fs-93v {
    font-size: 93vw !important;
  }
  .u-sp-fs-94v {
    font-size: 94vw !important;
  }
  .u-sp-fs-95v {
    font-size: 95vw !important;
  }
  .u-sp-fs-96v {
    font-size: 96vw !important;
  }
  .u-sp-fs-97v {
    font-size: 97vw !important;
  }
  .u-sp-fs-98v {
    font-size: 98vw !important;
  }
  .u-sp-fs-99v {
    font-size: 99vw !important;
  }
  .u-sp-fs-100v {
    font-size: 100vw !important;
  }
}
/* --------------------------------------------------------------------------------
   ユーティリティクラス - line-height
   --------------------------------------------------------------------------------
     - u-lh-1, u-lh-11, u-lh-12, ... , u-lh-99, u-lh-10
     - sp-lh-1, sp-lh-11, sp-lh-12, ... , sp-lh-99, sp-lh-10
     - それぞれ line-height: 1, 1.1, 1.2, ... , 9.9, 10
----------------------------------------------------------------------------------- */
.u-lh-1 {
  line-height: 1 !important;
}

.u-lh-11 {
  line-height: 1.1 !important;
}

.u-lh-12 {
  line-height: 1.2 !important;
}

.u-lh-13 {
  line-height: 1.3 !important;
}

.u-lh-14 {
  line-height: 1.4 !important;
}

.u-lh-15 {
  line-height: 1.5 !important;
}

.u-lh-16 {
  line-height: 1.6 !important;
}

.u-lh-17 {
  line-height: 1.7 !important;
}

.u-lh-18 {
  line-height: 1.8 !important;
}

.u-lh-19 {
  line-height: 1.9 !important;
}

.u-lh-2 {
  line-height: 2 !important;
}

.u-lh-21 {
  line-height: 2.1 !important;
}

.u-lh-22 {
  line-height: 2.2 !important;
}

.u-lh-23 {
  line-height: 2.3 !important;
}

.u-lh-24 {
  line-height: 2.4 !important;
}

.u-lh-25 {
  line-height: 2.5 !important;
}

.u-lh-26 {
  line-height: 2.6 !important;
}

.u-lh-27 {
  line-height: 2.7 !important;
}

.u-lh-28 {
  line-height: 2.8 !important;
}

.u-lh-29 {
  line-height: 2.9 !important;
}

.u-lh-3 {
  line-height: 3 !important;
}

.u-lh-31 {
  line-height: 3.1 !important;
}

.u-lh-32 {
  line-height: 3.2 !important;
}

.u-lh-33 {
  line-height: 3.3 !important;
}

.u-lh-34 {
  line-height: 3.4 !important;
}

.u-lh-35 {
  line-height: 3.5 !important;
}

.u-lh-36 {
  line-height: 3.6 !important;
}

.u-lh-37 {
  line-height: 3.7 !important;
}

.u-lh-38 {
  line-height: 3.8 !important;
}

.u-lh-39 {
  line-height: 3.9 !important;
}

.u-lh-4 {
  line-height: 4 !important;
}

.u-lh-41 {
  line-height: 4.1 !important;
}

.u-lh-42 {
  line-height: 4.2 !important;
}

.u-lh-43 {
  line-height: 4.3 !important;
}

.u-lh-44 {
  line-height: 4.4 !important;
}

.u-lh-45 {
  line-height: 4.5 !important;
}

.u-lh-46 {
  line-height: 4.6 !important;
}

.u-lh-47 {
  line-height: 4.7 !important;
}

.u-lh-48 {
  line-height: 4.8 !important;
}

.u-lh-49 {
  line-height: 4.9 !important;
}

.u-lh-5 {
  line-height: 5 !important;
}

.u-lh-51 {
  line-height: 5.1 !important;
}

.u-lh-52 {
  line-height: 5.2 !important;
}

.u-lh-53 {
  line-height: 5.3 !important;
}

.u-lh-54 {
  line-height: 5.4 !important;
}

.u-lh-55 {
  line-height: 5.5 !important;
}

.u-lh-56 {
  line-height: 5.6 !important;
}

.u-lh-57 {
  line-height: 5.7 !important;
}

.u-lh-58 {
  line-height: 5.8 !important;
}

.u-lh-59 {
  line-height: 5.9 !important;
}

.u-lh-6 {
  line-height: 6 !important;
}

.u-lh-61 {
  line-height: 6.1 !important;
}

.u-lh-62 {
  line-height: 6.2 !important;
}

.u-lh-63 {
  line-height: 6.3 !important;
}

.u-lh-64 {
  line-height: 6.4 !important;
}

.u-lh-65 {
  line-height: 6.5 !important;
}

.u-lh-66 {
  line-height: 6.6 !important;
}

.u-lh-67 {
  line-height: 6.7 !important;
}

.u-lh-68 {
  line-height: 6.8 !important;
}

.u-lh-69 {
  line-height: 6.9 !important;
}

.u-lh-7 {
  line-height: 7 !important;
}

.u-lh-71 {
  line-height: 7.1 !important;
}

.u-lh-72 {
  line-height: 7.2 !important;
}

.u-lh-73 {
  line-height: 7.3 !important;
}

.u-lh-74 {
  line-height: 7.4 !important;
}

.u-lh-75 {
  line-height: 7.5 !important;
}

.u-lh-76 {
  line-height: 7.6 !important;
}

.u-lh-77 {
  line-height: 7.7 !important;
}

.u-lh-78 {
  line-height: 7.8 !important;
}

.u-lh-79 {
  line-height: 7.9 !important;
}

.u-lh-8 {
  line-height: 8 !important;
}

.u-lh-81 {
  line-height: 8.1 !important;
}

.u-lh-82 {
  line-height: 8.2 !important;
}

.u-lh-83 {
  line-height: 8.3 !important;
}

.u-lh-84 {
  line-height: 8.4 !important;
}

.u-lh-85 {
  line-height: 8.5 !important;
}

.u-lh-86 {
  line-height: 8.6 !important;
}

.u-lh-87 {
  line-height: 8.7 !important;
}

.u-lh-88 {
  line-height: 8.8 !important;
}

.u-lh-89 {
  line-height: 8.9 !important;
}

.u-lh-9 {
  line-height: 9 !important;
}

.u-lh-91 {
  line-height: 9.1 !important;
}

.u-lh-92 {
  line-height: 9.2 !important;
}

.u-lh-93 {
  line-height: 9.3 !important;
}

.u-lh-94 {
  line-height: 9.4 !important;
}

.u-lh-95 {
  line-height: 9.5 !important;
}

.u-lh-96 {
  line-height: 9.6 !important;
}

.u-lh-97 {
  line-height: 9.7 !important;
}

.u-lh-98 {
  line-height: 9.8 !important;
}

.u-lh-99 {
  line-height: 9.9 !important;
}

.u-lh-10 {
  line-height: 10 !important;
}

/* SP版：プリフィクス sp- を付加 */
@media print, screen and (max-width: 767px) {
  .u-sp-lh-1 {
    line-height: 1 !important;
  }
  .u-sp-lh-11 {
    line-height: 1.1 !important;
  }
  .u-sp-lh-12 {
    line-height: 1.2 !important;
  }
  .u-sp-lh-13 {
    line-height: 1.3 !important;
  }
  .u-sp-lh-14 {
    line-height: 1.4 !important;
  }
  .u-sp-lh-15 {
    line-height: 1.5 !important;
  }
  .u-sp-lh-16 {
    line-height: 1.6 !important;
  }
  .u-sp-lh-17 {
    line-height: 1.7 !important;
  }
  .u-sp-lh-18 {
    line-height: 1.8 !important;
  }
  .u-sp-lh-19 {
    line-height: 1.9 !important;
  }
  .u-sp-lh-2 {
    line-height: 2 !important;
  }
  .u-sp-lh-21 {
    line-height: 2.1 !important;
  }
  .u-sp-lh-22 {
    line-height: 2.2 !important;
  }
  .u-sp-lh-23 {
    line-height: 2.3 !important;
  }
  .u-sp-lh-24 {
    line-height: 2.4 !important;
  }
  .u-sp-lh-25 {
    line-height: 2.5 !important;
  }
  .u-sp-lh-26 {
    line-height: 2.6 !important;
  }
  .u-sp-lh-27 {
    line-height: 2.7 !important;
  }
  .u-sp-lh-28 {
    line-height: 2.8 !important;
  }
  .u-sp-lh-29 {
    line-height: 2.9 !important;
  }
  .u-sp-lh-3 {
    line-height: 3 !important;
  }
  .u-sp-lh-31 {
    line-height: 3.1 !important;
  }
  .u-sp-lh-32 {
    line-height: 3.2 !important;
  }
  .u-sp-lh-33 {
    line-height: 3.3 !important;
  }
  .u-sp-lh-34 {
    line-height: 3.4 !important;
  }
  .u-sp-lh-35 {
    line-height: 3.5 !important;
  }
  .u-sp-lh-36 {
    line-height: 3.6 !important;
  }
  .u-sp-lh-37 {
    line-height: 3.7 !important;
  }
  .u-sp-lh-38 {
    line-height: 3.8 !important;
  }
  .u-sp-lh-39 {
    line-height: 3.9 !important;
  }
  .u-sp-lh-4 {
    line-height: 4 !important;
  }
  .u-sp-lh-41 {
    line-height: 4.1 !important;
  }
  .u-sp-lh-42 {
    line-height: 4.2 !important;
  }
  .u-sp-lh-43 {
    line-height: 4.3 !important;
  }
  .u-sp-lh-44 {
    line-height: 4.4 !important;
  }
  .u-sp-lh-45 {
    line-height: 4.5 !important;
  }
  .u-sp-lh-46 {
    line-height: 4.6 !important;
  }
  .u-sp-lh-47 {
    line-height: 4.7 !important;
  }
  .u-sp-lh-48 {
    line-height: 4.8 !important;
  }
  .u-sp-lh-49 {
    line-height: 4.9 !important;
  }
  .u-sp-lh-5 {
    line-height: 5 !important;
  }
  .u-sp-lh-51 {
    line-height: 5.1 !important;
  }
  .u-sp-lh-52 {
    line-height: 5.2 !important;
  }
  .u-sp-lh-53 {
    line-height: 5.3 !important;
  }
  .u-sp-lh-54 {
    line-height: 5.4 !important;
  }
  .u-sp-lh-55 {
    line-height: 5.5 !important;
  }
  .u-sp-lh-56 {
    line-height: 5.6 !important;
  }
  .u-sp-lh-57 {
    line-height: 5.7 !important;
  }
  .u-sp-lh-58 {
    line-height: 5.8 !important;
  }
  .u-sp-lh-59 {
    line-height: 5.9 !important;
  }
  .u-sp-lh-6 {
    line-height: 6 !important;
  }
  .u-sp-lh-61 {
    line-height: 6.1 !important;
  }
  .u-sp-lh-62 {
    line-height: 6.2 !important;
  }
  .u-sp-lh-63 {
    line-height: 6.3 !important;
  }
  .u-sp-lh-64 {
    line-height: 6.4 !important;
  }
  .u-sp-lh-65 {
    line-height: 6.5 !important;
  }
  .u-sp-lh-66 {
    line-height: 6.6 !important;
  }
  .u-sp-lh-67 {
    line-height: 6.7 !important;
  }
  .u-sp-lh-68 {
    line-height: 6.8 !important;
  }
  .u-sp-lh-69 {
    line-height: 6.9 !important;
  }
  .u-sp-lh-7 {
    line-height: 7 !important;
  }
  .u-sp-lh-71 {
    line-height: 7.1 !important;
  }
  .u-sp-lh-72 {
    line-height: 7.2 !important;
  }
  .u-sp-lh-73 {
    line-height: 7.3 !important;
  }
  .u-sp-lh-74 {
    line-height: 7.4 !important;
  }
  .u-sp-lh-75 {
    line-height: 7.5 !important;
  }
  .u-sp-lh-76 {
    line-height: 7.6 !important;
  }
  .u-sp-lh-77 {
    line-height: 7.7 !important;
  }
  .u-sp-lh-78 {
    line-height: 7.8 !important;
  }
  .u-sp-lh-79 {
    line-height: 7.9 !important;
  }
  .u-sp-lh-8 {
    line-height: 8 !important;
  }
  .u-sp-lh-81 {
    line-height: 8.1 !important;
  }
  .u-sp-lh-82 {
    line-height: 8.2 !important;
  }
  .u-sp-lh-83 {
    line-height: 8.3 !important;
  }
  .u-sp-lh-84 {
    line-height: 8.4 !important;
  }
  .u-sp-lh-85 {
    line-height: 8.5 !important;
  }
  .u-sp-lh-86 {
    line-height: 8.6 !important;
  }
  .u-sp-lh-87 {
    line-height: 8.7 !important;
  }
  .u-sp-lh-88 {
    line-height: 8.8 !important;
  }
  .u-sp-lh-89 {
    line-height: 8.9 !important;
  }
  .u-sp-lh-9 {
    line-height: 9 !important;
  }
  .u-sp-lh-91 {
    line-height: 9.1 !important;
  }
  .u-sp-lh-92 {
    line-height: 9.2 !important;
  }
  .u-sp-lh-93 {
    line-height: 9.3 !important;
  }
  .u-sp-lh-94 {
    line-height: 9.4 !important;
  }
  .u-sp-lh-95 {
    line-height: 9.5 !important;
  }
  .u-sp-lh-96 {
    line-height: 9.6 !important;
  }
  .u-sp-lh-97 {
    line-height: 9.7 !important;
  }
  .u-sp-lh-98 {
    line-height: 9.8 !important;
  }
  .u-sp-lh-99 {
    line-height: 9.9 !important;
  }
  .u-sp-lh-10 {
    line-height: 10 !important;
  }
}
/* --------------------------------------------------------------------------------
   ユーティリティクラス - 文字関連
----------------------------------------------------------------------------------- */
/* 行揃え */
.u-txt-left {
  text-align: left !important;
}

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

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

.u-txt-justify {
  text-align: justify !important;
}

/* スタイル */
.u-txt-bold {
  font-weight: bold;
}

.u-txt-no-bold {
  font-weight: normal;
}

.u-txt-sans-serif {
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Verdana, sans-serif;
}

.u-txt-serif {
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.u-txt-mono {
  font-family: monospace;
}

.u-txt-break-all {
  word-break: break-all;
}

.u-txt-nowrap {
  white-space: nowrap;
}

.u-txt-palt {
  /* 文字を詰める */
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.u-txt-no-palt {
  /* 文字を詰めない */
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}

/* --------------------------------------------------------------------------------
   ユーティリティクラス - その他
     - クリアフィクス（そろそろ使用非推奨）
     - display 制御
     - フロート
----------------------------------------------------------------------------------- */
/* クリアフィクス（そろそろ使用非推奨） */
.u-clearfix {
  *zoom: 1;
}

.u-clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/* display制御 */
.u-hide {
  display: none;
}

.u-inline {
  display: inline;
}

.u-block {
  display: block;
}

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

.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.u-justfy-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.u-justify-content-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.u-justfy-space-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.u-flex-direction-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.u-w-auto {
  min-width: auto !important;
}

@media print, screen and (max-width: 767px) {
  .u-sp-hide {
    display: none !important;
  }
  .u-sp-inline {
    display: inline !important;
  }
  .u-sp-block {
    display: block !important;
  }
  .u-sp-inline-block {
    display: inline-block !important;
  }
}
@media print, screen and (min-width: 600px) {
  .u-pc-hide {
    display: none !important;
  }
  .u-pc-inline {
    display: inline !important;
  }
  .u-pc-block {
    display: block !important;
  }
  .u-pc-inline-block {
    display: inline-block !important;
  }
}
/* フロート */
.u-float-l {
  float: left;
}

.u-float-r {
  float: right;
}

/* ================================================================================
  ページクラスベースのスタイル
  ================================================================================ */
/* --------------------------------------------------------------------------------
   .page-index : トップページ
----------------------------------------------------------------------------------- */
.page-index {
  background: url(/images/bg/bg-left-top.svg) no-repeat 0 0, url(/images/bg/bg-white@2x.png) no-repeat center 14rem;
  background-size: auto, 100%;
}
@media print, screen and (max-width: 959px) {
  .page-index {
    background-size: 30rem, 100%;
  }
}
@media print, screen and (max-width: 767px) {
  .page-index {
    background-size: 20rem, 100%;
  }
}

/* --------------------------------------------------------------------------------
   .page-products.is-denshi : GEOSPACE 電子地図
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-product-denshi-sample : 電子地図サンプル
----------------------------------------------------------------------------------- */
.page-product-denshi-sample ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  height: 6rem;
  background-color: #565E66;
}
.page-product-denshi-sample__img.is-standard {
  display: none;
}
/* --------------------------------------------------------------------------------
   .page-products.is-koukuu : GEOSPACE 航空写真
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-products.is-polygon : GEOSPACE 行政界ポリゴン
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-products.is-eisei : 衛星画像
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-products.is-eisei-secure-watch : セキュアウォッチ
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-products.is-chiban : GEOSPACE 地番地図
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-products.is-cds : GEOSPACE CDS
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-products.is-api : GEOSPACE API
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-products.is-chiban-api : GEOSPACE 地番API
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-products.is-cds-plus : GEOSPACE CDSプラス
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-products.is-chiban-map : ちばんMAP
----------------------------------------------------------------------------------- */
.page-product-chiban-map__feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 6rem 2%;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
}
.page-product-chiban-map__feature > li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 23%;
}
.page-product-chiban-map__feature > li:nth-child(5) {
  width: 70%;
}
.page-product-chiban-map__feature img {
  margin-top: 2rem;
}

.page-api__usecase {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 3%;
}
.page-api__usecase > li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 31.3%;
  padding: 2rem;
  background-color: #EFF9FF;
}
.page-api__usecase > li h4 {
  font-size: 1.8rem;
  line-height: 1.5;
  color: #0072BC;
}
.page-api__usecase > li p {
  margin-top: 0.5rem;
}
.page-api__usecase.is-api > li, .page-api__usecase.is-eisei > li {
  width: 22.75%;
}
.page-api__usecase.is-sw {
  text-align: center;
  color: #0072BC;
}
.page-api__usecase.is-sw > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  line-height: 1.5;
}
.page-api__usecase.is-sw > li i.fas {
  font-size: 3.2rem;
}
.page-api__usecase.is-sw > li em {
  color: #0072BC;
}

.page-product-chiban-map__voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.5rem 3%;
  margin-top: 2rem;
}
.page-product-chiban-map__voice > li {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 31.3%;
  padding: 2rem;
  background-color: #EFF9FF;
}
.page-product-chiban-map__voice header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  min-height: 5rem;
  margin-bottom: 0.5rem;
}
.page-product-chiban-map__voice header div {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.2;
  color: #065B91;
}
.page-product-chiban-map__voice .blue,
.page-product-chiban-map__voice .green,
.page-product-chiban-map__voice .yellow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0 0.5em;
  font-weight: bold;
  line-height: 2.4rem;
  color: #fff;
  border-radius: 0.3rem;
  background-color: #0072BC;
}
.page-product-chiban-map__voice .green {
  background-color: #31955E;
}
.page-product-chiban-map__voice .yellow {
  background-color: #C6B10F;
}
.page-product-chiban-map__voice em {
  color: #065B91;
}

.c-table.page-product-chiban-map__spec thead th,
.c-table.page-product-chiban-map__spec thead td {
  text-align: left;
  color: #fff;
  background-color: #065B91;
}
.c-table.page-product-chiban-map__spec thead th:not(:last-child),
.c-table.page-product-chiban-map__spec thead td:not(:last-child) {
  border-right: 0.1rem solid #CAD1D9;
}
.c-table.page-product-chiban-map__spec tbody th,
.c-table.page-product-chiban-map__spec tbody td {
  background-color: transparent;
}
.c-table.page-product-chiban-map__spec tbody th:not(:last-child),
.c-table.page-product-chiban-map__spec tbody td:not(:last-child) {
  border-right: 0.1rem solid #CAD1D9;
}
.c-table.page-product-chiban-map__spec tbody tr:nth-child(2n+1) {
  background-color: #F4FAFF;
}

.c-note-gray-box {
  margin-top: 5rem;
  padding: 3rem;
  font-size: 1.4rem;
  background-color: #E9ECEF;
}

.c-table.is-spec thead th,
.c-table.is-spec thead td {
  text-align: left;
  color: #fff;
  background-color: #065B91;
}
.c-table.is-spec thead th:not(:last-child),
.c-table.is-spec thead td:not(:last-child) {
  border-right: 0.1rem solid #CAD1D9;
}
.c-table.is-spec tbody th,
.c-table.is-spec tbody td {
  background-color: transparent;
}
.c-table.is-spec tbody th:not(:last-child),
.c-table.is-spec tbody td:not(:last-child) {
  border-right: 0.1rem solid #CAD1D9;
}
.c-table.is-spec tbody tr:nth-child(2n+1) {
  background-color: #F4FAFF;
}
.c-table.is-spec.is-api-kinou tbody th {
  white-space: nowrap;
  background-color: #fff;
}
.c-table.is-spec.is-api-kinou tr :nth-child(1) {
  width: 20rem;
}
.c-table.is-spec.is-api-kinou tr :nth-last-child(2) {
  width: 35rem;
  font-weight: bold;
}
.c-table.is-spec.is-eisei-spec thead th,
.c-table.is-spec.is-eisei-spec thead td {
  text-align: center;
  border-top: 0;
  border-bottom: 0;
  background-color: #065B91;
}
.c-table.is-spec.is-eisei-spec thead th:not(:last-child),
.c-table.is-spec.is-eisei-spec thead td:not(:last-child) {
  border-right-color: #0072BC;
}
.c-table.is-spec.is-eisei-spec thead tr:first-child th,
.c-table.is-spec.is-eisei-spec thead tr:first-child td {
  background-color: #000;
}
.c-table.is-spec.is-eisei-spec thead tr:first-child th:not(:last-child),
.c-table.is-spec.is-eisei-spec thead tr:first-child td:not(:last-child) {
  border-right: 0;
}
.c-table.is-spec.is-eisei-spec tbody th,
.c-table.is-spec.is-eisei-spec tbody td {
  text-align: center;
  color: #00427E;
}
.c-table.is-spec.is-eisei-spec tbody th {
  white-space: nowrap;
}
.c-table.is-spec.is-hikaku th,
.c-table.is-spec.is-hikaku td {
  vertical-align: middle;
}
.c-table.is-spec.page-product-eisei-secure-watch__plan-table th,
.c-table.is-spec.page-product-eisei-secure-watch__plan-table td {
  vertical-align: middle;
}
.c-table.is-spec.page-product-eisei-secure-watch__plan-table tbody th {
  background-color: #fff;
  white-space: nowrap;
}
.page-product-eisei__lineup {
  padding: 8rem 0 0;
}
.page-product-eisei__lineup > p {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}
.page-product-eisei__lineup > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5rem;
  margin-top: 3rem;
}
.page-product-eisei__lineup .c-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.4rem;
  width: 37.5rem;
  height: 11rem;
  border-color: #9AC3DE;
  background-color: #F4FAFF;
  overflow: visible;
}
.page-product-eisei__lineup .c-btn span {
  font-weight: normal;
}
.page-product-eisei__lineup .c-btn em {
  font-size: 2.4rem;
  color: #0072BC;
}
.page-product-eisei__lineup .c-btn:hover {
  background-color: #C7DFEF;
}
.page-product-eisei__lineup .c-btn:hover span,
.page-product-eisei__lineup .c-btn:hover em {
  color: #0072BC;
}
.page-product-eisei__lineup .c-btn.is-selected {
  background-color: #0072BC;
}
.page-product-eisei__lineup .c-btn.is-selected span,
.page-product-eisei__lineup .c-btn.is-selected em {
  color: #fff;
}
.page-product-eisei__lineup .c-btn.is-selected::after {
  position: absolute;
  content: "";
  top: 100%;
  width: 2.2rem;
  height: 2.2rem;
  border: 2.2rem solid transparent;
  border-top: 2.2rem solid #0072BC;
}

.page-product-secure-watch__plan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4rem;
  margin-bottom: 4rem;
}
.page-product-secure-watch__plan > li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(50% - 2rem);
  padding: 2rem;
}
.page-product-secure-watch__plan > li:first-child {
  background-color: #DCEFE5;
}
.page-product-secure-watch__plan > li:first-child h3 {
  color: #21854E;
}
.page-product-secure-watch__plan > li:last-child {
  background-color: #DBECFF;
}
.page-product-secure-watch__plan > li:last-child h3 {
  color: #0072BC;
}

.c-box {
  margin: 3rem 0;
  padding: 2rem;
  background-color: #EFF9FF;
}
.c-box:first-child {
  margin-top: 0;
}
.c-box:last-child {
  margin-bottom: 0;
}

.c-note {
  color: #7A838C;
}

.page-product-bunseki__image {
  max-width: 140rem;
  margin: auto;
  padding: 5rem;
  color: #fff;
  border-radius: 0.5rem;
  background: #31955E url(/images/product/bunseki/solution-bg.png) no-repeat center;
  background-size: cover;
}
.page-product-bunseki__image h3 {
  font-size: 2.8rem;
  line-height: 1.5;
  text-align: center;
}
.page-product-bunseki__image > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5rem;
  margin-top: 3rem;
}
.page-product-bunseki__image > div img {
  width: 73.6rem;
}
.page-product-bunseki__image > div h4 {
  font-size: 2rem;
  line-height: 1.5;
}

.page-product-bunseki__example {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 3rem;
}
.page-product-bunseki__example > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 20%;
  padding: 1.5rem;
  line-height: 1.5;
  text-align: center;
}
.page-product-bunseki__example > li img {
  width: 10rem;
}
.page-product-bunseki__example > li h4 {
  margin: 1rem 0 0;
  font-size: 1.8rem;
  white-space: nowrap;
}
.page-product-bunseki__example > li p {
  color: #21854E;
}

.c-table.page-product-bunseki__example-table th,
.c-table.page-product-bunseki__example-table td {
  padding: 1rem;
  line-height: 1.4;
  text-align: left;
  background-color: transparent;
}
.c-table.page-product-bunseki__example-table thead th {
  color: #fff;
  background-color: #31955E;
}
.c-table.page-product-bunseki__example-table thead th:not(:first-child) {
  border-left: 0.1rem solid #CAD1D9;
}
.c-table.page-product-bunseki__example-table tbody tr:nth-child(2n+1) td,
.c-table.page-product-bunseki__example-table tbody tr:nth-child(2n+1) th {
  background-color: #F4FFF9;
}
.c-table.page-product-bunseki__example-table tbody th {
  color: #21854E;
}
.c-table.page-product-bunseki__example-table tbody th small {
  font-weight: normal;
}
.c-table.page-product-bunseki__example-table tbody td {
  border-left: 0.1rem solid #CAD1D9;
}

.page-cds-plus__functions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 5rem;
}
.page-cds-plus__functions > li {
  width: 57.5rem;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: 5.4rem 1fr;
  grid-template-areas: "icon heading" "icon desc" "img img";
}
.page-cds-plus__functions__icon {
  grid-area: icon;
}
.page-cds-plus__functions h3 {
  grid-area: heading;
  padding-left: 1rem;
  font-size: 1.8rem;
  line-height: 1.2;
  color: #0072BC;
}
.page-cds-plus__functions p {
  grid-area: desc;
  padding-left: 1rem;
  line-height: 1.2;
}
.page-cds-plus__functions__img {
  grid-area: img;
  margin-top: 2rem;
}

.c-table.is-api-feature tr:nth-child(2n) {
  background-color: #EFF9FF;
}
.c-table.is-api-feature th,
.c-table.is-api-feature td {
  vertical-align: middle;
  background-color: transparent;
}
.c-table.is-api-feature th {
  white-space: nowrap;
}
.c-table.is-api-feature i.fas {
  margin-right: 2rem;
  font-size: 3.6rem;
}

.page-product-cds-plus__example-box {
  padding: 3rem;
  border: 0.1rem solid #CAD1D9;
}

.page-products.is-cds-plus .c-table.is-spec th {
  white-space: nowrap;
}

.l-related {
  padding: 7.5rem 0;
}

.page-product-index__bunseki-catch {
  margin: 7.5rem auto 3rem;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  color: #21854E;
}

.p-product-map {
  position: relative;
  width: 100%;
  height: 69rem;
  background: url(/images/product-map/map-bg.svg) no-repeat center;
  background-size: 145rem;
}
.p-product-map a {
  position: absolute;
  width: 16.5rem;
}
.p-product-map a[data-name=denshi] {
  top: 53rem;
  left: calc(50% - 26rem);
}
.p-product-map a[data-name=koukuu] {
  top: 53rem;
  left: calc(50% - 10rem);
}
.p-product-map a[data-name=chiban] {
  top: 53rem;
  left: calc(50% + 6rem);
}
.p-product-map a[data-name=polygon] {
  top: 53rem;
  left: calc(50% + 22rem);
}
.p-product-map a[data-name=uketsuke] {
  top: 53rem;
  left: calc(50% + 38rem);
}
.p-product-map a[data-name=eisei] {
  top: 53rem;
  left: calc(50% + 54rem);
}
.p-product-map a[data-name=cds] {
  top: 35.5rem;
  left: calc(50% - 10rem);
}
.p-product-map a[data-name=api] {
  top: 35.5rem;
  left: calc(50% + 6rem);
}
.p-product-map a[data-name=chiban-api] {
  top: 35.5rem;
  left: calc(50% + 22rem);
}
.p-product-map a[data-name=chiban-api-wide] {
  top: 35.5rem;
  left: calc(50% + 38rem);
}
.p-product-map a[data-name=cds-lgwan] {
  top: 35.5rem;
  left: calc(50% + 54rem);
}
.p-product-map a[data-name=cds-plus] {
  top: 18rem;
  left: calc(50% - 10rem);
}
.p-product-map a[data-name=chiban-map] {
  top: 18rem;
  left: calc(50% + 6rem);
}
.p-product-map a[data-name=bunseki] {
  top: 1.2rem;
  left: calc(50% - 26rem);
  width: 88rem;
}

.page-contact__selector {
  padding: 7.5rem 0;
}
.page-contact__selector .c-heading {
  font-size: 1.8rem;
  margin-bottom: 5rem;
}
.page-contact__selector .c-btn {
  position: relative;
  overflow: visible;
}
.page-contact__selector .c-btn:hover {
  background-color: #C7DFEF;
  color: #0072BC;
}
.page-contact__selector .c-btn.is-selected {
  background-color: #0072BC;
  color: #fff;
}
.page-contact__selector .c-btn.is-selected::after {
  position: absolute;
  content: "";
  top: 100%;
  width: 2.2rem;
  height: 2.2rem;
  border: 2.2rem solid transparent;
  border-top: 2.2rem solid #0072BC;
}

/* @group メールフォーム */
/* @group ボックス */
body.page-contact .contact_box_1 {
  margin-bottom: 5rem;
  padding: 5rem;
  border-radius: 0.5rem;
  background: #EFF9FF;
}

body.page-contact .contact_box_1 h3 {
  margin: 5rem -5rem 0;
  padding: 4rem 5rem 0;
  font-size: 2rem;
  color: #0072BC;
  border-top: 0.1rem solid #C7DFEF;
}
body.page-contact .contact_box_1 h3::before {
  content: "● ";
}
body.page-contact .contact_box_1 h3:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
body.page-contact .contact_box_1 h3 small {
  font-weight: normal;
}

/* @group テーブル */
body.page-contact .form_table {
  width: 100%;
}

body.page-contact .form_table th,
body.page-contact .form_table td {
  text-align: left;
  padding: 0.3em 0;
  background-color: transparent;
  border: 0;
}

body.page-contact .form_table th {
  width: 30rem;
  color: #0072BC;
}

body.page-contact .bikou th,
body.page-contact .bikou td {
  padding: 0 0 1em;
  line-height: 1.5;
}

/* @end */
/* @group 地域選択テーブル */
body.page-contact .chiiki_table {
  line-height: 1.7em;
}

body.page-contact .chiiki_table div.prefs,
body.page-contact .chiiki_table div.shityouson {
  display: none;
}

body.page-contact .chiiki_table th,
body.page-contact .chiiki_table td {
  vertical-align: top;
}

body.page-contact .chiiki_table em {
  color: #357;
  font-weight: bold;
}

/* @end */
/* @group リスト */
body.page-contact .product_list_wrapper,
body.page-contact .subject_list_wrapper,
body.page-contact .pref_list,
body.page-contact .media_list,
body.page-contact .youto_list,
body.page-contact .gyoushu_list,
body.page-contact .current_list {
  overflow: hidden;
}

body.page-contact .product_list_wrapper ul,
body.page-contact .subject_list_wrapper ul {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}

body.page-contact .pref_list li {
  float: left;
  width: 20%;
}

body.page-contact .media_list li {
  float: left;
  width: 33.3%;
}

body.page-contact .youto_list li {
  float: left;
  width: 50%;
  font-size: 13px;
}

body.page-contact .gyoushu_list li {
  float: left;
  width: 50%;
}

body.page-contact .contact_list li {
  display: inline-block;
  margin: 0 1em;
}

body.page-contact .current_list li {
  display: inline-block;
  margin: 0 1em;
}

/* @end */
/* @group フォーム */
body.page-contact .required {
  margin-left: 0.5em;
  color: #f00;
  font-weight: normal;
}

body.page-contact #mail_form input[type=text] {
  max-width: 60rem;
}

body.page-contact #mail_form .tel input[type=text] {
  width: 100px;
}

body.page-contact #mail_form textarea {
  width: 100%;
  height: 30rem;
}

/* @end */
/* @group ボタン */
body.page-contact #mail_form input[type=submit] {
  width: 300px;
  height: 60px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  outline: 0;
  border: 0;
  border-radius: 5px;
  background-color: #07b;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}

body.page-contact #mail_form input[type=submit]:hover {
  background-color: #f90;
}

body.page-contact #mail_form input.back {
  width: 200px;
  height: 40px;
  font-size: 15px;
  color: #07b;
  border: 1px solid #07b;
  background-color: #fff;
}

body.page-contact #mail_form input.back:hover {
  color: #fff;
  border: 1px solid #fff;
  background-color: #07b;
}

/* @end */
body.page-contact .contents .note {
  margin-top: 1em;
  font-size: 13px;
  line-height: 1.6;
}

body.page-contact .page-contact__note {
  margin-top: -0.5em;
  margin-left: 3rem;
}

/* @end */
.c-err-box {
  margin: 3rem 0;
  padding: 3rem;
  border: 0.1rem solid #FF4400;
  border-radius: 0.5rem;
  background-color: #FAF2F2;
}

.c-box.is-leaf {
  padding: 5rem;
  border: 0.1rem solid #CAD1D9;
  background-color: transparent;
}
.c-box.is-leaf h3 {
  margin-bottom: 0.5em;
  color: #0072BC;
}
.c-box.is-leaf p {
  margin-bottom: 1em;
}

.page-news .c-inner {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}
.page-news .article {
  padding: 5rem 0;
  border-top: 0.1rem solid #CAD1D9;
}
.page-news .article h3 {
  margin: 2rem 0;
}
.page-news .article p {
  margin: 1em 0;
}

.p-sample-download {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5rem;
}
.p-sample-download > li {
  width: calc(50% - 2.5rem);
}
.p-sample-download h4 small {
  margin-left: 1em;
  font-weight: normal;
}

.page-news .p-news {
  padding-top: 0;
  background-color: transparent;
}
.page-news .p-news__list {
  border-top: 0.1rem solid #9AC3DE;
}
.page-news .p-news h3 {
  color: #0072BC;
}
.page-news .p-news-header {
  padding-bottom: 5rem;
  text-align: right;
}
.page-news .p-news-header h2 {
  margin-top: 2em;
  font-size: 2.4rem;
  line-height: 1.5;
  text-align: center;
}
.page-news .p-news-header h3 {
  margin-top: 1.5em;
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: center;
}
.page-news .p-news-body strong {
  color: #000000;
}
.page-news .p-news-contact {
  padding: 3rem;
  border: 0.1rem solid #9AC3DE;
  border-radius: 0.5rem;
  background-color: #F1F9FE;
}
.page-news .c-tbl-no-border {
  width: auto;
}
.page-news .c-tbl-no-border th,
.page-news .c-tbl-no-border td {
  padding: 0;
  border: 0;
}
.page-news a:has(img) {
  text-decoration: none;
}

.c-link-pdf::before {
  content: "\f1c1";
  margin-right: 0.3em;
  font-family: "Font Awesome 5 Free";
  line-height: 1;
}

@media print, screen and (max-width: 1279px) {
  .page-cds-plus__functions > li {
    width: calc(50% - 2.5rem);
  }
  .page-product-bunseki__image {
    max-width: 100%;
  }
  .page-product-bunseki__image > div img {
    width: 50%;
  }
  .p-lineup-chart > .c-scroll-wrapper {
    height: 53rem;
    overflow-y: hidden;
  }
  .p-product-map-wrapper {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  .p-product-map {
    position: relative;
    width: 150rem;
    height: 69rem;
    background: url(/images/product-map/map-bg.svg) no-repeat left;
    background-size: 145rem;
  }
}
@media print, screen and (max-width: 767px) {
  .u-sp-no-maxw {
    max-width: none;
  }
  .c-scroll-wrapper {
    position: relative;
    width: 100%;
    overflow: auto;
  }
  .c-scroll-wrapper::before {
    content: "左右にスクロールできます";
    position: sticky;
    left: 0;
    top: 0;
    display: block;
    margin-bottom: 0.4rem;
    padding-left: 3.6rem;
    text-align: left;
    background: url(/images/common/icon-swipe.svg) no-repeat left center;
    background-size: 2.4rem;
  }
  .c-table.is-chiban-sample {
    width: 140rem;
  }
  .page-api__usecase {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .page-api__usecase > li {
    width: 100%;
  }
  .page-api__usecase.is-api > li, .page-api__usecase.is-eisei > li {
    width: 100%;
  }
  .page-product-eisei__lineup {
    padding: 5rem 1.6rem 0;
  }
  .page-product-eisei__lineup > ul {
    gap: 1rem;
  }
  .page-product-eisei__lineup > ul > li {
    width: calc(50% - 0.5rem);
  }
  .page-product-eisei__lineup .c-btn {
    width: 100%;
    height: auto;
    padding: 1.6rem 0.5rem;
  }
  .page-product-eisei__lineup .c-btn span {
    white-space: normal;
  }
  .page-product-eisei__lineup .c-btn span br {
    display: none;
  }
  .page-product-eisei__lineup .c-btn em {
    font-size: 2rem;
  }
  .page-product-secure-watch__plan {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
  .page-product-secure-watch__plan > li {
    width: 100%;
  }
  .c-table.is-api-feature {
    border-bottom: 0.1rem solid #DAE0E6;
  }
  .c-table.is-api-feature th,
  .c-table.is-api-feature td {
    display: block;
    border: 0;
  }
  .c-table.is-api-feature tr {
    display: block;
    padding: 1.6rem 0.8rem;
    border-top: 0.1rem solid #DAE0E6;
  }
  .c-table.is-spec.is-api-kinou tr :nth-child(1) {
    width: 10rem;
    white-space: normal;
  }
  .c-table.is-spec.is-api-kinou tr :nth-last-child(2) {
    width: 15rem;
    white-space: normal;
  }
  .page-products.is-cds-plus .c-table.is-spec th {
    white-space: normal;
  }
  .page-product-chiban-map__voice {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .page-product-chiban-map__voice > li {
    width: 100%;
  }
  .page-product-bunseki__image {
    max-width: 100%;
    padding: 5rem 1.6rem;
  }
  .page-product-bunseki__image h3 {
    font-size: 2.4rem;
  }
  .page-product-bunseki__image > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .page-product-bunseki__image > div img {
    width: 100%;
  }
  .page-product-bunseki__example {
    gap: 2rem;
  }
  .page-product-bunseki__example > li {
    width: calc(50% - 1rem);
    padding: 0;
    line-height: 1.3;
  }
  .page-product-bunseki__example > li h4 {
    font-size: 1.6rem;
    white-space: normal;
  }
  .page-usecase .c-main-catch {
    padding-left: 0;
    padding-right: 0;
  }
  .p-lineup-chart > .c-scroll-wrapper {
    height: 53rem;
    overflow-y: hidden;
  }
  .p-product-map-wrapper {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  .p-product-map {
    position: relative;
    width: 150rem;
    height: 69rem;
    background: url(/images/product-map/map-bg.svg) no-repeat left;
    background-size: 145rem;
  }
  .page-contact__selector {
    padding: 5rem 0;
  }
  .page-contact__selector ul {
    gap: 1% !important;
  }
  .page-contact__selector ul > li {
    width: 32%;
  }
  .page-contact__selector .c-btn {
    padding: 0.8rem !important;
    width: 100%;
    min-width: 0 !important;
    height: auto;
    white-space: normal;
  }
  .page-contact__selector .c-btn.is-selected::after {
    width: 1.1rem;
    height: 1.1rem;
    border: 1.1rem solid transparent;
    border-top: 1.1rem solid #0072BC;
  }
  /* @group ボックス */
  body.page-contact .contact_box_1 {
    padding: 2rem;
  }
  body.page-contact .contact_box_1 h3 {
    margin: 5rem -2rem 0;
    padding: 4rem 2rem 0;
    font-size: 2rem;
    color: #0072BC;
    border-top: 0.1rem solid #C7DFEF;
  }
  body.page-contact .contact_box_1 h3::before {
    content: "● ";
  }
  body.page-contact .contact_box_1 h3:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
  body.page-contact .contact_box_1 h3 small {
    font-weight: normal;
  }
  /* @group テーブル */
  body.page-contact .form_table {
    width: 100%;
  }
  body.page-contact .form_table th,
  body.page-contact .form_table td {
    display: block;
    text-align: left;
    padding: 0.3em 0;
    background-color: transparent;
    border: 0;
  }
  body.page-contact .form_table th {
    width: 100%;
    color: #0072BC;
  }
  body.page-contact .bikou th,
  body.page-contact .bikou td {
    padding: 0 0 1em;
    line-height: 1.5;
  }
  body.page-contact .bikou > :first-child {
    display: none;
  }
  /* @end */
  /* @group 地域選択テーブル */
  body.page-contact .chiiki_table {
    line-height: 1.7em;
  }
  body.page-contact .chiiki_table div.prefs,
  body.page-contact .chiiki_table div.shityouson {
    display: none;
  }
  body.page-contact .chiiki_table th,
  body.page-contact .chiiki_table td {
    vertical-align: top;
  }
  body.page-contact .chiiki_table em {
    color: #357;
    font-weight: bold;
  }
  /* @end */
  /* @group リスト */
  body.page-contact .product_list_wrapper,
  body.page-contact .subject_list_wrapper,
  body.page-contact .pref_list,
  body.page-contact .media_list,
  body.page-contact .youto_list,
  body.page-contact .gyoushu_list,
  body.page-contact .current_list {
    overflow: hidden;
  }
  body.page-contact .product_list_wrapper ul,
  body.page-contact .subject_list_wrapper ul {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
  body.page-contact .subject_list_wrapper ul {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
  body.page-contact .pref_list li {
    float: left;
    width: 20%;
  }
  body.page-contact .media_list li {
    float: none;
    width: 100%;
  }
  body.page-contact .youto_list li {
    float: left;
    width: 50%;
    font-size: 13px;
  }
  body.page-contact .gyoushu_list li {
    float: left;
    width: 50%;
  }
  body.page-contact .contact_list li {
    display: inline-block;
    margin: 0 1em;
  }
  body.page-contact .current_list li {
    display: inline-block;
    margin: 0 1em;
  }
  /* @end */
  /* @group フォーム */
  body.page-contact .required {
    margin-left: 0.5em;
    color: #f00;
    font-weight: normal;
  }
  body.page-contact #mail_form input[type=text] {
    max-width: 60rem;
  }
  body.page-contact #mail_form .tel input[type=text] {
    width: 8rem;
  }
  body.page-contact #mail_form textarea {
    width: 100%;
    height: 30rem;
  }
  /* @end */
  /* @group ボタン */
  body.page-contact #mail_form input[type=submit] {
    width: 100%;
    height: 60px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    outline: 0;
    border: 0;
    border-radius: 5px;
    background-color: #07b;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }
  body.page-contact #mail_form input[type=submit]:hover {
    background-color: #f90;
  }
  body.page-contact #mail_form input.back {
    width: 200px;
    height: 40px;
    font-size: 15px;
    color: #07b;
    border: 1px solid #07b;
    background-color: #fff;
  }
  body.page-contact #mail_form input.back:hover {
    color: #fff;
    border: 1px solid #fff;
    background-color: #07b;
  }
  /* @end */
  body.page-contact .contents .note {
    margin-top: 1em;
    font-size: 13px;
    line-height: 1.6;
  }
  body.page-contact .page-contact__note {
    margin-top: -0.5em;
    margin-left: 3rem;
  }
  /* @end */
  .c-err-box {
    margin: 3rem 0;
    padding: 3rem;
    border: 0.1rem solid #FF4400;
    border-radius: 0.5rem;
    background-color: #FAF2F2;
  }
  .c-box.is-leaf {
    padding: 5rem;
    border: 0.1rem solid #CAD1D9;
    background-color: transparent;
  }
  .c-box.is-leaf h3 {
    margin-bottom: 0.5em;
    color: #0072BC;
  }
  .c-box.is-leaf p {
    margin-bottom: 1em;
  }
  #mail_form > .u-pb-80 > .u-txt-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
  .hide {
    display: none;
  }
}
/* --------------------------------------------------------------------------------
   .page-products.is-bunseki : 分析ソリューション
----------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
   .page-reason : 選ばれる理由
----------------------------------------------------------------------------------- */
.page-reason__lead {
  padding: 7.5rem 0;
  text-align: center;
  color: #0072BC;
  border-bottom: 0.1rem solid #9AC3DE;
  background: url(/images/bg/bg-white-light.png) no-repeat right bottom;
  background-size: 100%;
}
.page-reason__lead h2 {
  margin-bottom: 6.5rem;
  font-size: 2.8rem;
  line-height: 2;
  letter-spacing: 0.4em;
}
.page-reason__lead p {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 3;
  letter-spacing: 0.1em;
}
.page-reason__feature-lead {
  padding: 7.5rem 0;
  text-align: center;
}
.page-reason__feature-lead h2 {
  margin-bottom: 6.5rem;
  font-size: 2.8rem;
  line-height: 2;
  letter-spacing: 0.4em;
  color: #0072BC;
}
.page-reason__feature-lead p {
  font-size: 1.8rem;
}
.page-reason__history {
  padding: 7.5rem 0;
}
.page-reason__history__left {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(50% - 2.5rem);
}
.page-reason__history__left h3 {
  font-size: 1.8rem;
  line-height: 4rem;
  text-align: center;
  color: #0072BC;
  background-color: #C7DFEF;
}
.page-reason__history__right {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(50% - 2.5rem);
}
.page-reason__table th,
.page-reason__table td {
  line-height: 1.5;
  background-color: #FFFFFF;
  border-left: 0;
  border-right: 0;
}
.page-reason__table th {
  color: #0072BC;
}
.page-reason__change {
  padding: 7.5rem 0;
  text-align: center;
  background: #F4FAFF url(/images/bg/bg-white.png) no-repeat right bottom;
}
.page-reason__change p {
  margin-bottom: 4rem;
  font-weight: bold;
}
.page-reason__change img {
  width: 90rem;
}
.page-reason .p-lineup-chart {
  padding: 7.5rem 0;
  border-top: 0.1rem solid #9AC3DE;
}
@media print, screen and (max-width: 1279px) {
  .page-reason__history {
    padding: 5rem 2.4rem;
  }
  .page-reason__history__left {
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
  .page-reason__history__right {
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
}
@media print, screen and (max-width: 767px) {
  .page-reason__lead {
    padding: 5rem 1.6rem;
    background-size: 300%;
  }
  .page-reason__lead h2 {
    margin-bottom: 3rem;
    font-size: 2.4rem;
  }
  .page-reason__feature-lead {
    padding: 5rem 1.6rem;
  }
  .page-reason__feature-lead h2 {
    font-size: 2.4rem;
    letter-spacing: 0.2em;
  }
  .page-reason__history {
    padding: 5rem 1.6rem;
  }
  .page-reason__history__left {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 100%;
  }
  .page-reason__history__left h3 {
    font-size: 1.8rem;
    line-height: 4rem;
    text-align: center;
    color: #0072BC;
    background-color: #C7DFEF;
  }
  .page-reason__history__right {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 100%;
  }
  .page-reason__table th,
  .page-reason__table td {
    line-height: 1.5;
    background-color: #FFFFFF;
    border-left: 0;
    border-right: 0;
  }
  .page-reason__table th {
    color: #0072BC;
  }
  .page-reason__change {
    padding: 7.5rem 0;
    text-align: center;
    background: #F4FAFF url(/images/bg/bg-white.png) no-repeat right bottom;
  }
  .page-reason__change p {
    margin-bottom: 4rem;
    font-weight: bold;
  }
  .page-reason__change img {
    width: 90rem;
  }
  .page-reason .p-lineup-chart {
    padding: 7.5rem 0;
    border-top: 0.1rem solid #9AC3DE;
  }
}

/* --------------------------------------------------------------------------------
   .page-casestudy : 導入事例
----------------------------------------------------------------------------------- */
.page-casestudy__filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-top: 7.5rem;
  padding: 3rem;
  background-color: #F4FAFF;
}
.page-casestudy__filter__left {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 23rem;
}
.page-casestudy__filter__left h2 {
  color: #0072BC;
}
.page-casestudy__filter .is-show-all {
  display: inline;
  width: auto;
  height: auto;
  padding: 0;
  text-decoration: underline;
  color: #0072BC;
  border: none;
  background: none;
}
.page-casestudy__filter h3 {
  font-size: 1.4rem;
}
.page-casestudy__filter__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.page-casestudy__filter__btn {
  width: 28rem;
  height: 6rem !important;
}
.page-casestudy__list {
  padding: 5rem 0 7.5rem;
}
.page-casestudy__list > li {
  border-top: 0.1rem solid #D8E4EB;
}
.page-casestudy__list > li:last-child {
  border-bottom: 0.1rem solid #D8E4EB;
}
.page-casestudy__list__item > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 5rem;
  margin-bottom: auto;
  padding: 5rem 0;
  text-decoration: none;
  color: #222222;
}
.page-casestudy__list__item__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  width: 30rem;
}
.page-casestudy__list__item__img > div {
  overflow: hidden;
}
.page-casestudy__list__item__img > div img {
  height: 20rem;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.page-casestudy__list__item__img > img {
  position: absolute;
  right: -0.8rem;
  bottom: -3.5rem;
  width: 16rem;
}
.page-casestudy__list__item__text {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: calc(100% - 35rem);
}
.page-casestudy__list__item h3 {
  margin: 0 0 1rem;
  line-height: 1.5;
}
.page-casestudy__list__item h3 span {
  display: block;
  margin-bottom: 1rem;
}
.page-casestudy__list__item h3 em {
  display: block;
  font-size: 1.8rem;
  color: #0072BC;
}
.page-casestudy__list__item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.4rem;
  line-height: 1.5;
}
.page-casestudy__list__item dl dt {
  width: 8rem;
  color: #565E66;
}
.page-casestudy__list__item:hover {
  background-color: #F4FAFF;
}
.page-casestudy__list__tag {
  margin-top: 1rem;
}
.page-casestudy__list__tag > li {
  display: inline-block;
  padding: 0 1em;
  color: #0072BC;
  border: 0.1rem solid #9AC3DE;
  border-radius: 0.5rem;
  background-color: #F4FAFF;
}
.page-casestudy__overview {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 5rem;
  margin-top: 7.5rem;
  margin-bottom: 5rem;
}
.page-casestudy__overview__text {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 70rem;
}
.page-casestudy__overview__text p {
  margin: 1em 0;
}
.page-casestudy__overview__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 44.9rem;
}
.page-casestudy__overview__photo img {
  width: 100%;
}
.page-casestudy__overview h2 {
  margin-top: 2rem;
  margin-bottom: 3rem;
}
.page-casestudy__overview h2 span {
  display: block;
  margin-bottom: 0.5rem;
}
.page-casestudy__overview h2 em {
  display: block;
  font-size: 2rem;
  line-height: 1.5;
  color: #0072BC;
}
.page-casestudy__section {
  padding: 5rem 0;
  border-top: 0.1rem solid #D8E4EB;
}
.page-casestudy__section > h3 {
  display: inline-block;
  margin-bottom: 3rem;
  padding: 0 1em;
  line-height: 3.6rem;
  color: #0072BC;
  border: 0.1rem solid #0072BC;
}
.page-casestudy__section h4 {
  margin-top: 3rem;
  font-size: 2rem;
}
.page-casestudy__section h4:first-child {
  margin-top: 0;
}
.page-casestudy__section h3 + h4 {
  margin-top: 0;
}
.page-casestudy__section p {
  margin: 1em 0;
}
.page-casestudy__section p:first-child {
  margin-top: 0;
}
.page-casestudy__section p:last-child {
  margin-bottom: 0;
}
.page-casestudy__section h3 + p,
.page-casestudy__section h4 + p {
  margin-top: 0;
}
.page-casestudy__section img {
  width: 100%;
}
.page-casestudy__img {
  margin: 3rem 0;
  text-align: center;
}
.page-casestudy__img:first-child {
  margin-top: 0;
}
.page-casestudy__img:last-child {
  margin-bottom: 0;
}
.page-casestudy__img figcaption {
  margin-bottom: 2rem;
  font-weight: bold;
}
.page-casestudy__img.is-border {
  padding: 1rem 3rem 3rem;
  border: 0.1rem solid #D8E4EB;
}
.page-casestudy__note-box {
  padding: 3rem;
  border: 0.1rem solid #D8E4EB;
}
.page-casestudy__bottom-box {
  margin: 7.5rem 0;
  padding: 5rem;
  text-align: center;
  background-color: #F4FAFF;
}
.page-casestudy__bottom-box h3 {
  margin-bottom: 3rem;
  font-size: 2rem;
  color: #0072BC;
}
.page-casestudy__video {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5rem;
}
.page-casestudy__video li {
  width: calc(50% - 2.5rem);
}
.page-casestudy__video video {
  width: 100%;
}
@media print, screen and (max-width: 1279px) {
  .page-casestudy__filter {
    position: relative;
    margin-top: 5rem;
    padding: 2rem;
  }
  .page-casestudy__filter__left {
    width: 100%;
  }
}
@media print, screen and (max-width: 767px) {
  .page-casestudy__filter {
    position: relative;
    margin-top: 5rem;
    padding: 2rem;
  }
  .page-casestudy__filter__left {
    width: 100%;
  }
  .page-casestudy__filter .is-show-all {
    position: absolute;
    right: 2rem;
    top: 0.5rem;
  }
  .page-casestudy__filter__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .page-casestudy__filter__btn {
    width: 100%;
  }
  .page-casestudy__list {
    padding: 5rem 0;
  }
  .page-casestudy__list__item > a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .page-casestudy__list__item__img {
    width: 100%;
  }
  .page-casestudy__list__item__text {
    width: 100%;
  }
  .page-casestudy__overview {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 3rem;
    margin-top: 5rem;
  }
  .page-casestudy__overview__text {
    width: 100%;
  }
  .page-casestudy__overview__photo {
    width: 100%;
  }
  .page-casestudy__bottom-box {
    margin: 0;
    padding: 3rem;
  }
  .page-casestudy__bottom-box h3 {
    line-height: 1.5;
  }
  .page-casestudy__video {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
  .page-casestudy__video li {
    width: 100%;
  }
  .page-casestudy .c-btn.is-seiroka-btn {
    white-space: normal;
    padding: 1.2rem;
    height: auto;
  }
}

/* --------------------------------------------------------------------------------
   .page-faq : よくあるご質問
----------------------------------------------------------------------------------- */
.page-faq__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  margin-top: 7.5rem;
  padding: 3rem;
  background-color: #F4FAFF;
}
.page-faq__link h3 {
  font-size: 1.4rem;
}
.page-faq__link__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
.page-faq__link__btn {
  width: 18rem;
  height: 6rem !important;
}
.page-faq__category {
  margin: 5rem 0;
}
.page-faq__category:first-child {
  margin-top: 0;
}
.page-faq__category:last-child {
  margin-bottom: 0;
}
.page-faq__category__title {
  margin-bottom: 2rem;
  line-height: 1.4;
}
.page-faq__category__title span {
  display: block;
  font-size: 1.4rem;
}
.page-faq__category__title em {
  display: block;
  font-size: 2rem;
}
@media print, screen and (max-width: 1279px) {
  .page-faq__link > li {
    width: 100%;
  }
  .page-faq__link__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media print, screen and (max-width: 767px) {
  .page-faq__link {
    margin-top: 5rem;
    padding: 2rem;
  }
  .page-faq__link > li {
    width: 100%;
  }
  .page-faq__link__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
    width: 100%;
  }
  .page-faq__link__items > li {
    width: 100%;
  }
  .page-faq__link__items br {
    display: none;
  }
  .page-faq__link__btn {
    width: 100%;
  }
  .page-faq__category > .p-bottom-btn .c-btn {
    white-space: normal;
    height: auto;
    padding: 1.2rem;
  }
}

/* --------------------------------------------------------------------------------
   .page-trial : 無料トライアル
----------------------------------------------------------------------------------- */
.page-trial__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 120rem;
  margin: auto;
  line-height: 1.5;
  text-align: center;
}
.page-trial__list > li {
  width: 36rem;
  margin-bottom: 5rem;
}
.page-trial__list img {
  width: 20rem;
  margin-bottom: 2rem;
}
.page-trial__list h3 {
  margin-bottom: 1rem;
  font-size: 1.8rem;
}
.page-trial__list h3 small {
  font-size: 1.6rem;
  font-weight: normal;
}
.page-trial__account {
  padding: 5rem;
  text-align: center;
  border: 0.1rem solid #D8E4EB;
}
.page-trial__account h2 {
  font-size: 2.4rem;
  line-height: 1.2;
}
.page-trial__account p {
  margin: 3rem 0;
}
@media print, screen and (max-width: 1279px) {
  .page-trial__list {
    width: 100%;
  }
  .page-trial__list img {
    width: 15rem;
    margin-bottom: 2rem;
  }
}
@media print, screen and (max-width: 767px) {
  .page-trial__list {
    width: 100%;
  }
  .page-trial__list > li {
    width: 100%;
    margin-bottom: 3rem;
  }
  .page-trial__list img {
    width: 15rem;
    margin-bottom: 2rem;
  }
  .page-trial__account {
    padding: 2rem;
  }
  .page-trial__account h2 {
    font-size: 2rem;
  }
  .page-trial__account p {
    margin: 2rem 0;
  }
  .page-trial__account .c-btn {
    white-space: normal;
  }
}
/*# sourceMappingURL=maps/style.css.map */
