@charset "UTF-8";
/* ----------------------------------------------------

	読み込み専用のマスターファイルです。
	このファイルに直接スタイルを書き込まないでください。

---------------------------------------------------- */
/* --------------------------
	Base
-------------------------- */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

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

	リセットCSS調整ファイルです。
	リセットCSSを調整、カスタマイズしたい場合に編集します。

---------------------------------------------------- */
/* ====================================================

	EXAMPLES FONT-SIZE
	------------------
	77% = 9px
	85% = 10px
	93% = 11px
	100% = 12px
	108% = 13px
	116% = 14px
	124% = 15px
	131% = 16px
	139% = 17px
	147% = 18px
	154% = 19px
	162% = 20px
	170% = 21px
	177% = 22px
	185% = 23px
	193% = 24px
	200% = 25px
	---------------

==================================================== */
html {
  font-size: 62.5%;
}
@media screen and (width <= 1024px) {
  html {
    font-size: 52.5%;
  }
}

ul,
li {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  word-break: break-all;
}

img {
  vertical-align: middle;
}

* {
  box-sizing: border-box;
}

*::before,
*::after {
  box-sizing: inherit;
}

/* --------------------------
	カラーの設定
-------------------------- */
/**
 * ▼ メディアクエリ用ブレイクポイント
 *
 * - $bp-sp:
 *   スマホの上限幅（例: ~767px）
 * - $bp-tab:
 *   タブレットの上限幅（例: ~1023px）
 */
/**
 * ▼ メディアクエリミックスイン
 *
 * - media-pc:
 *   PC向けのスタイルを適用するためのメディアクエリ。
 * - media-tab:
 *   タブレット向けのスタイルを適用するためのメディアクエリ。
 * - media-sp:
 *   スマホ向けのスタイルを適用するためのメディアクエリ。
 */
/**
 * ▼ fluidスケーリングに関する設定
 *
 * - $fluid-vw-min / $fluid-vw-max:
 *   clamp()で滑らかに変化させる際のビューポート最小・最大値。
 *   → 通常はスマホ〜PCの幅（375〜1280pxなど）を想定。
 */
/**
 * ▼ fluid()
 *
 * - clamp()を生成するSass関数。
 * - 引数に最小サイズ・最大サイズを渡すことで、
 *   指定したビューポート範囲内で値を滑らかに変化させる。
 *
 * 使用例:
 *   font-size: fluid(14, 20);
 */
/**
 * @function vw-○○()
 * 指定されたサイズを基準に、ビューポート幅に応じたvw単位の値を計算します。
 * 
 * @param {Number} $size - 基準となるサイズ（ピクセル単位）。
 * @param {Number} $viewport - ビューポートの幅（デフォルトは1920px, 768px, 375px）。
 * @return {String} - 計算されたvw単位の値。
 */
/* ----------------------------------------------------

	初期設定を行うファイルです。
	デフォルトの設定を行う時以外、基本的に編集することはありません。

---------------------------------------------------- */
:root {
  --color-primary: #9A7B17;
  --color-black: #2E2E2E;
  --inner-width: 980px;
  --delay-in: 0.25s;
  --delay-out: 0.5s;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 15rem;
  font-size: 10px;
}
@media screen and (width <= 1000px) {
  html {
    font-size: 1.020408vw;
    /* 10px / 1000px * 100 */
  }
}
@media (max-width: 767px) {
  html {
    font-size: 2.6667vw;
    scroll-padding-top: 10rem;
    /* 10px / 375px * 100 */
  }
}

body {
  color: var(--color-black);
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  line-height: 1.8;
}
@media (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}

.wrap {
  position: relative;
}

img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
  vertical-align: middle;
}

sup {
  font-size: 50%;
  vertical-align: super;
}

/* --------------------------
	old-utility
-------------------------- */
/* ----------------------------------------------------

	汎用クラスをまとめたファイルです。
	基本的に変更することはありません。
	汎用クラスを追加したい場合、_utility_●●.scssという
	別ファイルを生成し、追加してください。

	命名規則として、クラス名の頭に
	u-* (utilityのu)という接頭辞をつけることを推奨します。

---------------------------------------------------- */
.u-txt-bold {
  font-weight: bold !important;
}

.u-txt-xsmall {
  font-size: 1.2rem;
}
@media (max-width: 767px) {
  .u-txt-xsmall {
    font-size: 1rem !important;
  }
}

.u-txt-small {
  font-size: 1.4rem !important;
}
@media (max-width: 767px) {
  .u-txt-small {
    font-size: 1.2rem !important;
  }
}

.u-txt-medium {
  font-size: 1.8rem !important;
}
@media (max-width: 767px) {
  .u-txt-medium {
    font-size: 1.4rem !important;
  }
}

.u-txt-large {
  font-size: 2rem !important;
}
@media (max-width: 767px) {
  .u-txt-large {
    font-size: 1.6rem !important;
  }
}

.u-link {
  color: var(--color-primary);
  text-decoration: underline;
}
.u-link:hover {
  text-decoration: none;
}

.u-ul-default {
  margin: 1em 0;
  padding-left: 40px;
  list-style-type: disc;
}
.u-ul-default li {
  list-style: inherit;
}

.u-ol-default {
  margin: 1em 0;
  padding-left: 40px;
  list-style-type: decimal;
}
.u-ol-default li {
  list-style: inherit;
}

.u-ul-style > li {
  position: relative;
  padding-left: 1.3em;
}
.u-ul-style > li::before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
.u-ul-style--asterisk > li::before {
  content: "※";
}
.u-ul-style--asterisk-num > li {
  counter-increment: number;
  padding-left: 2.5em;
}
.u-ul-style--asterisk-num > li::before {
  content: "※" counter(number) ":";
}
.u-ul-style--disc > li::before {
  content: "●";
  color: #ccc;
}
.u-ul-style--disc-red > li::before {
  content: "●";
  color: var(--color-primary);
}
.u-ul-style--circle > li::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: var(--color-black);
  top: 0.6rem;
}
@media (max-width: 767px) {
  .u-ul-style--circle > li::before {
    width: 1rem;
    height: 1rem;
  }
}
.u-ul-style--number > li {
  counter-increment: number;
}
.u-ul-style--number > li::before {
  content: counter(number) ".";
}
.u-ul-style--number-red > li {
  counter-increment: number;
}
.u-ul-style--number-red > li::before {
  content: counter(number) ".";
  color: var(--color-primary);
}

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

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

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

@media (min-width: 768px) and (max-width: 1200px) {
  .u-align-l-tab {
    text-align: left !important;
  }
  .u-align-c-tab {
    text-align: center !important;
  }
  .u-align-r-tab {
    text-align: right !important;
  }
}
@media (max-width: 767px) {
  .u-align-l-sp {
    text-align: left !important;
  }
  .u-align-c-sp {
    text-align: center !important;
  }
  .u-align-r-sp {
    text-align: right !important;
  }
}
.u-iframe-responsive {
  position: relative;
  height: 0;
  width: 100%;
  padding-top: 56.25%;
}
.u-iframe-responsive iframe,
.u-iframe-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

/* --------------------------
	padding margin 調整用
-------------------------- */
.u-mt-s {
  margin-top: 2rem !important;
}
@media (max-width: 767px) {
  .u-mt-s {
    margin-top: 1rem !important;
  }
}

.u-mt-m {
  margin-top: 4rem !important;
}
@media (max-width: 767px) {
  .u-mt-m {
    margin-top: 2rem !important;
  }
}

.u-mt-l {
  margin-top: 6rem !important;
}
@media (max-width: 767px) {
  .u-mt-l {
    margin-top: 3rem !important;
  }
}

.u-mt-xl {
  margin-top: 8rem !important;
}
@media (max-width: 767px) {
  .u-mt-xl {
    margin-top: 4rem !important;
  }
}

.u-mb-s {
  margin-bottom: 2rem !important;
}
@media (max-width: 767px) {
  .u-mb-s {
    margin-bottom: 1rem !important;
  }
}

.u-mb-m {
  margin-bottom: 4rem !important;
}
@media (max-width: 767px) {
  .u-mb-m {
    margin-bottom: 2rem !important;
  }
}

.u-mb-l {
  margin-bottom: 6rem !important;
}
@media (max-width: 767px) {
  .u-mb-l {
    margin-bottom: 3rem !important;
  }
}

.u-mb-xl {
  margin-bottom: 8rem !important;
}
@media (max-width: 767px) {
  .u-mb-xl {
    margin-bottom: 4rem !important;
  }
}

.u-mt120 {
  margin-top: 12rem !important;
}

.u-mb120 {
  margin-bottom: 12rem !important;
}

.u-ml120 {
  margin-left: 12rem !important;
}

.u-mr120 {
  margin-right: 12rem !important;
}

.u-pt120 {
  padding-top: 12rem !important;
}

.u-pb120 {
  padding-bottom: 12rem !important;
}

.u-pl120 {
  padding-left: 12rem !important;
}

.u-pr120 {
  padding-right: 12rem !important;
}

.u-mt110 {
  margin-top: 11rem !important;
}

.u-mb110 {
  margin-bottom: 11rem !important;
}

.u-ml110 {
  margin-left: 11rem !important;
}

.u-mr110 {
  margin-right: 11rem !important;
}

.u-pt110 {
  padding-top: 11rem !important;
}

.u-pb110 {
  padding-bottom: 11rem !important;
}

.u-pl110 {
  padding-left: 11rem !important;
}

.u-pr110 {
  padding-right: 11rem !important;
}

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

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

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

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

.u-pt100 {
  padding-top: 10rem !important;
}

.u-pb100 {
  padding-bottom: 10rem !important;
}

.u-pl100 {
  padding-left: 10rem !important;
}

.u-pr100 {
  padding-right: 10rem !important;
}

.u-mt90 {
  margin-top: 9rem !important;
}

.u-mb90 {
  margin-bottom: 9rem !important;
}

.u-ml90 {
  margin-left: 9rem !important;
}

.u-mr90 {
  margin-right: 9rem !important;
}

.u-pt90 {
  padding-top: 9rem !important;
}

.u-pb90 {
  padding-bottom: 9rem !important;
}

.u-pl90 {
  padding-left: 9rem !important;
}

.u-pr90 {
  padding-right: 9rem !important;
}

.u-mt80 {
  margin-top: 8rem !important;
}

.u-mb80 {
  margin-bottom: 8rem !important;
}

.u-ml80 {
  margin-left: 8rem !important;
}

.u-mr80 {
  margin-right: 8rem !important;
}

.u-pt80 {
  padding-top: 8rem !important;
}

.u-pb80 {
  padding-bottom: 8rem !important;
}

.u-pl80 {
  padding-left: 8rem !important;
}

.u-pr80 {
  padding-right: 8rem !important;
}

.u-mt75 {
  margin-top: 7.5rem !important;
}

.u-mb75 {
  margin-bottom: 7.5rem !important;
}

.u-ml75 {
  margin-left: 7.5rem !important;
}

.u-mr75 {
  margin-right: 7.5rem !important;
}

.u-pt75 {
  padding-top: 7.5rem !important;
}

.u-pb75 {
  padding-bottom: 7.5rem !important;
}

.u-pl75 {
  padding-left: 7.5rem !important;
}

.u-pr75 {
  padding-right: 7.5rem !important;
}

.u-mt70 {
  margin-top: 7rem !important;
}

.u-mb70 {
  margin-bottom: 7rem !important;
}

.u-ml70 {
  margin-left: 7rem !important;
}

.u-mr70 {
  margin-right: 7rem !important;
}

.u-pt70 {
  padding-top: 7rem !important;
}

.u-pb70 {
  padding-bottom: 7rem !important;
}

.u-pl70 {
  padding-left: 7rem !important;
}

.u-pr70 {
  padding-right: 7rem !important;
}

.u-mt65 {
  margin-top: 6.5rem !important;
}

.u-mb65 {
  margin-bottom: 6.5rem !important;
}

.u-ml65 {
  margin-left: 6.5rem !important;
}

.u-mr65 {
  margin-right: 6.5rem !important;
}

.u-pt65 {
  padding-top: 6.5rem !important;
}

.u-pb65 {
  padding-bottom: 6.5rem !important;
}

.u-pl65 {
  padding-left: 6.5rem !important;
}

.u-pr65 {
  padding-right: 6.5rem !important;
}

.u-mt60 {
  margin-top: 6rem !important;
}

.u-mb60 {
  margin-bottom: 6rem !important;
}

.u-ml60 {
  margin-left: 6rem !important;
}

.u-mr60 {
  margin-right: 6rem !important;
}

.u-pt60 {
  padding-top: 6rem !important;
}

.u-pb60 {
  padding-bottom: 6rem !important;
}

.u-pl60 {
  padding-left: 6rem !important;
}

.u-pr60 {
  padding-right: 6rem !important;
}

.u-mt55 {
  margin-top: 5.5rem !important;
}

.u-mb55 {
  margin-bottom: 5.5rem !important;
}

.u-ml55 {
  margin-left: 5.5rem !important;
}

.u-mr55 {
  margin-right: 5.5rem !important;
}

.u-pt55 {
  padding-top: 5.5rem !important;
}

.u-pb55 {
  padding-bottom: 5.5rem !important;
}

.u-pl55 {
  padding-left: 5.5rem !important;
}

.u-pr55 {
  padding-right: 5.5rem !important;
}

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

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

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

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

.u-pt50 {
  padding-top: 5rem !important;
}

.u-pb50 {
  padding-bottom: 5rem !important;
}

.u-pl50 {
  padding-left: 5rem !important;
}

.u-pr50 {
  padding-right: 5rem !important;
}

.u-mt45 {
  margin-top: 4.5rem !important;
}

.u-mb45 {
  margin-bottom: 4.5rem !important;
}

.u-ml45 {
  margin-left: 4.5rem !important;
}

.u-mr45 {
  margin-right: 4.5rem !important;
}

.u-pt45 {
  padding-top: 4.5rem !important;
}

.u-pb45 {
  padding-bottom: 4.5rem !important;
}

.u-pl45 {
  padding-left: 4.5rem !important;
}

.u-pr45 {
  padding-right: 4.5rem !important;
}

.u-mt40 {
  margin-top: 4rem !important;
}

.u-mb40 {
  margin-bottom: 4rem !important;
}

.u-ml40 {
  margin-left: 4rem !important;
}

.u-mr40 {
  margin-right: 4rem !important;
}

.u-pt40 {
  padding-top: 4rem !important;
}

.u-pb40 {
  padding-bottom: 4rem !important;
}

.u-pl40 {
  padding-left: 4rem !important;
}

.u-pr40 {
  padding-right: 4rem !important;
}

.u-mt35 {
  margin-top: 3.5rem !important;
}

.u-mb35 {
  margin-bottom: 3.5rem !important;
}

.u-ml35 {
  margin-left: 3.5rem !important;
}

.u-mr35 {
  margin-right: 3.5rem !important;
}

.u-pt35 {
  padding-top: 3.5rem !important;
}

.u-pb35 {
  padding-bottom: 3.5rem !important;
}

.u-pl35 {
  padding-left: 3.5rem !important;
}

.u-pr35 {
  padding-right: 3.5rem !important;
}

.u-mt30 {
  margin-top: 3rem !important;
}

.u-mb30 {
  margin-bottom: 3rem !important;
}

.u-ml30 {
  margin-left: 3rem !important;
}

.u-mr30 {
  margin-right: 3rem !important;
}

.u-pt30 {
  padding-top: 3rem !important;
}

.u-pb30 {
  padding-bottom: 3rem !important;
}

.u-pl30 {
  padding-left: 3rem !important;
}

.u-pr30 {
  padding-right: 3rem !important;
}

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

.u-mb25 {
  margin-bottom: 2.5rem !important;
}

.u-ml25 {
  margin-left: 2.5rem !important;
}

.u-mr25 {
  margin-right: 2.5rem !important;
}

.u-pt25 {
  padding-top: 2.5rem !important;
}

.u-pb25 {
  padding-bottom: 2.5rem !important;
}

.u-pl25 {
  padding-left: 2.5rem !important;
}

.u-pr25 {
  padding-right: 2.5rem !important;
}

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

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

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

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

.u-pt20 {
  padding-top: 2rem !important;
}

.u-pb20 {
  padding-bottom: 2rem !important;
}

.u-pl20 {
  padding-left: 2rem !important;
}

.u-pr20 {
  padding-right: 2rem !important;
}

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

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

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

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

.u-pt15 {
  padding-top: 1.5rem !important;
}

.u-pb15 {
  padding-bottom: 1.5rem !important;
}

.u-pl15 {
  padding-left: 1.5rem !important;
}

.u-pr15 {
  padding-right: 1.5rem !important;
}

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

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

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

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

.u-pt10 {
  padding-top: 1rem !important;
}

.u-pb10 {
  padding-bottom: 1rem !important;
}

.u-pl10 {
  padding-left: 1rem !important;
}

.u-pr10 {
  padding-right: 1rem !important;
}

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

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

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

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

.u-pt5 {
  padding-top: 0.5rem !important;
}

.u-pb5 {
  padding-bottom: 0.5rem !important;
}

.u-pl5 {
  padding-left: 0.5rem !important;
}

.u-pr5 {
  padding-right: 0.5rem !important;
}

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

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

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

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

.u-pt0 {
  padding-top: 0rem !important;
}

.u-pb0 {
  padding-bottom: 0rem !important;
}

.u-pl0 {
  padding-left: 0rem !important;
}

.u-pr0 {
  padding-right: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt120-tab {
    margin-top: 12rem !important;
  }
  .u-mb120-tab {
    margin-bottom: 12rem !important;
  }
  .u-ml120-tab {
    margin-left: 12rem !important;
  }
  .u-mr120-tab {
    margin-right: 12rem !important;
  }
  .u-pt120-tab {
    padding-top: 12rem !important;
  }
  .u-pb120-tab {
    padding-bottom: 12rem !important;
  }
  .u-pl120-tab {
    padding-left: 12rem !important;
  }
  .u-pr120-tab {
    padding-right: 12rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt110-tab {
    margin-top: 11rem !important;
  }
  .u-mb110-tab {
    margin-bottom: 11rem !important;
  }
  .u-ml110-tab {
    margin-left: 11rem !important;
  }
  .u-mr110-tab {
    margin-right: 11rem !important;
  }
  .u-pt110-tab {
    padding-top: 11rem !important;
  }
  .u-pb110-tab {
    padding-bottom: 11rem !important;
  }
  .u-pl110-tab {
    padding-left: 11rem !important;
  }
  .u-pr110-tab {
    padding-right: 11rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt100-tab {
    margin-top: 10rem !important;
  }
  .u-mb100-tab {
    margin-bottom: 10rem !important;
  }
  .u-ml100-tab {
    margin-left: 10rem !important;
  }
  .u-mr100-tab {
    margin-right: 10rem !important;
  }
  .u-pt100-tab {
    padding-top: 10rem !important;
  }
  .u-pb100-tab {
    padding-bottom: 10rem !important;
  }
  .u-pl100-tab {
    padding-left: 10rem !important;
  }
  .u-pr100-tab {
    padding-right: 10rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt90-tab {
    margin-top: 9rem !important;
  }
  .u-mb90-tab {
    margin-bottom: 9rem !important;
  }
  .u-ml90-tab {
    margin-left: 9rem !important;
  }
  .u-mr90-tab {
    margin-right: 9rem !important;
  }
  .u-pt90-tab {
    padding-top: 9rem !important;
  }
  .u-pb90-tab {
    padding-bottom: 9rem !important;
  }
  .u-pl90-tab {
    padding-left: 9rem !important;
  }
  .u-pr90-tab {
    padding-right: 9rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt80-tab {
    margin-top: 8rem !important;
  }
  .u-mb80-tab {
    margin-bottom: 8rem !important;
  }
  .u-ml80-tab {
    margin-left: 8rem !important;
  }
  .u-mr80-tab {
    margin-right: 8rem !important;
  }
  .u-pt80-tab {
    padding-top: 8rem !important;
  }
  .u-pb80-tab {
    padding-bottom: 8rem !important;
  }
  .u-pl80-tab {
    padding-left: 8rem !important;
  }
  .u-pr80-tab {
    padding-right: 8rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt75-tab {
    margin-top: 7.5rem !important;
  }
  .u-mb75-tab {
    margin-bottom: 7.5rem !important;
  }
  .u-ml75-tab {
    margin-left: 7.5rem !important;
  }
  .u-mr75-tab {
    margin-right: 7.5rem !important;
  }
  .u-pt75-tab {
    padding-top: 7.5rem !important;
  }
  .u-pb75-tab {
    padding-bottom: 7.5rem !important;
  }
  .u-pl75-tab {
    padding-left: 7.5rem !important;
  }
  .u-pr75-tab {
    padding-right: 7.5rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt70-tab {
    margin-top: 7rem !important;
  }
  .u-mb70-tab {
    margin-bottom: 7rem !important;
  }
  .u-ml70-tab {
    margin-left: 7rem !important;
  }
  .u-mr70-tab {
    margin-right: 7rem !important;
  }
  .u-pt70-tab {
    padding-top: 7rem !important;
  }
  .u-pb70-tab {
    padding-bottom: 7rem !important;
  }
  .u-pl70-tab {
    padding-left: 7rem !important;
  }
  .u-pr70-tab {
    padding-right: 7rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt65-tab {
    margin-top: 6.5rem !important;
  }
  .u-mb65-tab {
    margin-bottom: 6.5rem !important;
  }
  .u-ml65-tab {
    margin-left: 6.5rem !important;
  }
  .u-mr65-tab {
    margin-right: 6.5rem !important;
  }
  .u-pt65-tab {
    padding-top: 6.5rem !important;
  }
  .u-pb65-tab {
    padding-bottom: 6.5rem !important;
  }
  .u-pl65-tab {
    padding-left: 6.5rem !important;
  }
  .u-pr65-tab {
    padding-right: 6.5rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt60-tab {
    margin-top: 6rem !important;
  }
  .u-mb60-tab {
    margin-bottom: 6rem !important;
  }
  .u-ml60-tab {
    margin-left: 6rem !important;
  }
  .u-mr60-tab {
    margin-right: 6rem !important;
  }
  .u-pt60-tab {
    padding-top: 6rem !important;
  }
  .u-pb60-tab {
    padding-bottom: 6rem !important;
  }
  .u-pl60-tab {
    padding-left: 6rem !important;
  }
  .u-pr60-tab {
    padding-right: 6rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt55-tab {
    margin-top: 5.5rem !important;
  }
  .u-mb55-tab {
    margin-bottom: 5.5rem !important;
  }
  .u-ml55-tab {
    margin-left: 5.5rem !important;
  }
  .u-mr55-tab {
    margin-right: 5.5rem !important;
  }
  .u-pt55-tab {
    padding-top: 5.5rem !important;
  }
  .u-pb55-tab {
    padding-bottom: 5.5rem !important;
  }
  .u-pl55-tab {
    padding-left: 5.5rem !important;
  }
  .u-pr55-tab {
    padding-right: 5.5rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt50-tab {
    margin-top: 5rem !important;
  }
  .u-mb50-tab {
    margin-bottom: 5rem !important;
  }
  .u-ml50-tab {
    margin-left: 5rem !important;
  }
  .u-mr50-tab {
    margin-right: 5rem !important;
  }
  .u-pt50-tab {
    padding-top: 5rem !important;
  }
  .u-pb50-tab {
    padding-bottom: 5rem !important;
  }
  .u-pl50-tab {
    padding-left: 5rem !important;
  }
  .u-pr50-tab {
    padding-right: 5rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt45-tab {
    margin-top: 4.5rem !important;
  }
  .u-mb45-tab {
    margin-bottom: 4.5rem !important;
  }
  .u-ml45-tab {
    margin-left: 4.5rem !important;
  }
  .u-mr45-tab {
    margin-right: 4.5rem !important;
  }
  .u-pt45-tab {
    padding-top: 4.5rem !important;
  }
  .u-pb45-tab {
    padding-bottom: 4.5rem !important;
  }
  .u-pl45-tab {
    padding-left: 4.5rem !important;
  }
  .u-pr45-tab {
    padding-right: 4.5rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt40-tab {
    margin-top: 4rem !important;
  }
  .u-mb40-tab {
    margin-bottom: 4rem !important;
  }
  .u-ml40-tab {
    margin-left: 4rem !important;
  }
  .u-mr40-tab {
    margin-right: 4rem !important;
  }
  .u-pt40-tab {
    padding-top: 4rem !important;
  }
  .u-pb40-tab {
    padding-bottom: 4rem !important;
  }
  .u-pl40-tab {
    padding-left: 4rem !important;
  }
  .u-pr40-tab {
    padding-right: 4rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt35-tab {
    margin-top: 3.5rem !important;
  }
  .u-mb35-tab {
    margin-bottom: 3.5rem !important;
  }
  .u-ml35-tab {
    margin-left: 3.5rem !important;
  }
  .u-mr35-tab {
    margin-right: 3.5rem !important;
  }
  .u-pt35-tab {
    padding-top: 3.5rem !important;
  }
  .u-pb35-tab {
    padding-bottom: 3.5rem !important;
  }
  .u-pl35-tab {
    padding-left: 3.5rem !important;
  }
  .u-pr35-tab {
    padding-right: 3.5rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt30-tab {
    margin-top: 3rem !important;
  }
  .u-mb30-tab {
    margin-bottom: 3rem !important;
  }
  .u-ml30-tab {
    margin-left: 3rem !important;
  }
  .u-mr30-tab {
    margin-right: 3rem !important;
  }
  .u-pt30-tab {
    padding-top: 3rem !important;
  }
  .u-pb30-tab {
    padding-bottom: 3rem !important;
  }
  .u-pl30-tab {
    padding-left: 3rem !important;
  }
  .u-pr30-tab {
    padding-right: 3rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt25-tab {
    margin-top: 2.5rem !important;
  }
  .u-mb25-tab {
    margin-bottom: 2.5rem !important;
  }
  .u-ml25-tab {
    margin-left: 2.5rem !important;
  }
  .u-mr25-tab {
    margin-right: 2.5rem !important;
  }
  .u-pt25-tab {
    padding-top: 2.5rem !important;
  }
  .u-pb25-tab {
    padding-bottom: 2.5rem !important;
  }
  .u-pl25-tab {
    padding-left: 2.5rem !important;
  }
  .u-pr25-tab {
    padding-right: 2.5rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt20-tab {
    margin-top: 2rem !important;
  }
  .u-mb20-tab {
    margin-bottom: 2rem !important;
  }
  .u-ml20-tab {
    margin-left: 2rem !important;
  }
  .u-mr20-tab {
    margin-right: 2rem !important;
  }
  .u-pt20-tab {
    padding-top: 2rem !important;
  }
  .u-pb20-tab {
    padding-bottom: 2rem !important;
  }
  .u-pl20-tab {
    padding-left: 2rem !important;
  }
  .u-pr20-tab {
    padding-right: 2rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt15-tab {
    margin-top: 1.5rem !important;
  }
  .u-mb15-tab {
    margin-bottom: 1.5rem !important;
  }
  .u-ml15-tab {
    margin-left: 1.5rem !important;
  }
  .u-mr15-tab {
    margin-right: 1.5rem !important;
  }
  .u-pt15-tab {
    padding-top: 1.5rem !important;
  }
  .u-pb15-tab {
    padding-bottom: 1.5rem !important;
  }
  .u-pl15-tab {
    padding-left: 1.5rem !important;
  }
  .u-pr15-tab {
    padding-right: 1.5rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt10-tab {
    margin-top: 1rem !important;
  }
  .u-mb10-tab {
    margin-bottom: 1rem !important;
  }
  .u-ml10-tab {
    margin-left: 1rem !important;
  }
  .u-mr10-tab {
    margin-right: 1rem !important;
  }
  .u-pt10-tab {
    padding-top: 1rem !important;
  }
  .u-pb10-tab {
    padding-bottom: 1rem !important;
  }
  .u-pl10-tab {
    padding-left: 1rem !important;
  }
  .u-pr10-tab {
    padding-right: 1rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt5-tab {
    margin-top: 0.5rem !important;
  }
  .u-mb5-tab {
    margin-bottom: 0.5rem !important;
  }
  .u-ml5-tab {
    margin-left: 0.5rem !important;
  }
  .u-mr5-tab {
    margin-right: 0.5rem !important;
  }
  .u-pt5-tab {
    padding-top: 0.5rem !important;
  }
  .u-pb5-tab {
    padding-bottom: 0.5rem !important;
  }
  .u-pl5-tab {
    padding-left: 0.5rem !important;
  }
  .u-pr5-tab {
    padding-right: 0.5rem !important;
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .u-mt0-tab {
    margin-top: 0rem !important;
  }
  .u-mb0-tab {
    margin-bottom: 0rem !important;
  }
  .u-ml0-tab {
    margin-left: 0rem !important;
  }
  .u-mr0-tab {
    margin-right: 0rem !important;
  }
  .u-pt0-tab {
    padding-top: 0rem !important;
  }
  .u-pb0-tab {
    padding-bottom: 0rem !important;
  }
  .u-pl0-tab {
    padding-left: 0rem !important;
  }
  .u-pr0-tab {
    padding-right: 0rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt120-sp {
    margin-top: 12rem !important;
  }
  .u-mb120-sp {
    margin-bottom: 12rem !important;
  }
  .u-ml120-sp {
    margin-left: 12rem !important;
  }
  .u-mr120-sp {
    margin-right: 12rem !important;
  }
  .u-pt120-sp {
    padding-top: 12rem !important;
  }
  .u-pb120-sp {
    padding-bottom: 12rem !important;
  }
  .u-pl120-sp {
    padding-left: 12rem !important;
  }
  .u-pr120-sp {
    padding-right: 12rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt110-sp {
    margin-top: 11rem !important;
  }
  .u-mb110-sp {
    margin-bottom: 11rem !important;
  }
  .u-ml110-sp {
    margin-left: 11rem !important;
  }
  .u-mr110-sp {
    margin-right: 11rem !important;
  }
  .u-pt110-sp {
    padding-top: 11rem !important;
  }
  .u-pb110-sp {
    padding-bottom: 11rem !important;
  }
  .u-pl110-sp {
    padding-left: 11rem !important;
  }
  .u-pr110-sp {
    padding-right: 11rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt100-sp {
    margin-top: 10rem !important;
  }
  .u-mb100-sp {
    margin-bottom: 10rem !important;
  }
  .u-ml100-sp {
    margin-left: 10rem !important;
  }
  .u-mr100-sp {
    margin-right: 10rem !important;
  }
  .u-pt100-sp {
    padding-top: 10rem !important;
  }
  .u-pb100-sp {
    padding-bottom: 10rem !important;
  }
  .u-pl100-sp {
    padding-left: 10rem !important;
  }
  .u-pr100-sp {
    padding-right: 10rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt90-sp {
    margin-top: 9rem !important;
  }
  .u-mb90-sp {
    margin-bottom: 9rem !important;
  }
  .u-ml90-sp {
    margin-left: 9rem !important;
  }
  .u-mr90-sp {
    margin-right: 9rem !important;
  }
  .u-pt90-sp {
    padding-top: 9rem !important;
  }
  .u-pb90-sp {
    padding-bottom: 9rem !important;
  }
  .u-pl90-sp {
    padding-left: 9rem !important;
  }
  .u-pr90-sp {
    padding-right: 9rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt80-sp {
    margin-top: 8rem !important;
  }
  .u-mb80-sp {
    margin-bottom: 8rem !important;
  }
  .u-ml80-sp {
    margin-left: 8rem !important;
  }
  .u-mr80-sp {
    margin-right: 8rem !important;
  }
  .u-pt80-sp {
    padding-top: 8rem !important;
  }
  .u-pb80-sp {
    padding-bottom: 8rem !important;
  }
  .u-pl80-sp {
    padding-left: 8rem !important;
  }
  .u-pr80-sp {
    padding-right: 8rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt75-sp {
    margin-top: 7.5rem !important;
  }
  .u-mb75-sp {
    margin-bottom: 7.5rem !important;
  }
  .u-ml75-sp {
    margin-left: 7.5rem !important;
  }
  .u-mr75-sp {
    margin-right: 7.5rem !important;
  }
  .u-pt75-sp {
    padding-top: 7.5rem !important;
  }
  .u-pb75-sp {
    padding-bottom: 7.5rem !important;
  }
  .u-pl75-sp {
    padding-left: 7.5rem !important;
  }
  .u-pr75-sp {
    padding-right: 7.5rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt70-sp {
    margin-top: 7rem !important;
  }
  .u-mb70-sp {
    margin-bottom: 7rem !important;
  }
  .u-ml70-sp {
    margin-left: 7rem !important;
  }
  .u-mr70-sp {
    margin-right: 7rem !important;
  }
  .u-pt70-sp {
    padding-top: 7rem !important;
  }
  .u-pb70-sp {
    padding-bottom: 7rem !important;
  }
  .u-pl70-sp {
    padding-left: 7rem !important;
  }
  .u-pr70-sp {
    padding-right: 7rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt65-sp {
    margin-top: 6.5rem !important;
  }
  .u-mb65-sp {
    margin-bottom: 6.5rem !important;
  }
  .u-ml65-sp {
    margin-left: 6.5rem !important;
  }
  .u-mr65-sp {
    margin-right: 6.5rem !important;
  }
  .u-pt65-sp {
    padding-top: 6.5rem !important;
  }
  .u-pb65-sp {
    padding-bottom: 6.5rem !important;
  }
  .u-pl65-sp {
    padding-left: 6.5rem !important;
  }
  .u-pr65-sp {
    padding-right: 6.5rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt60-sp {
    margin-top: 6rem !important;
  }
  .u-mb60-sp {
    margin-bottom: 6rem !important;
  }
  .u-ml60-sp {
    margin-left: 6rem !important;
  }
  .u-mr60-sp {
    margin-right: 6rem !important;
  }
  .u-pt60-sp {
    padding-top: 6rem !important;
  }
  .u-pb60-sp {
    padding-bottom: 6rem !important;
  }
  .u-pl60-sp {
    padding-left: 6rem !important;
  }
  .u-pr60-sp {
    padding-right: 6rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt55-sp {
    margin-top: 5.5rem !important;
  }
  .u-mb55-sp {
    margin-bottom: 5.5rem !important;
  }
  .u-ml55-sp {
    margin-left: 5.5rem !important;
  }
  .u-mr55-sp {
    margin-right: 5.5rem !important;
  }
  .u-pt55-sp {
    padding-top: 5.5rem !important;
  }
  .u-pb55-sp {
    padding-bottom: 5.5rem !important;
  }
  .u-pl55-sp {
    padding-left: 5.5rem !important;
  }
  .u-pr55-sp {
    padding-right: 5.5rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt50-sp {
    margin-top: 5rem !important;
  }
  .u-mb50-sp {
    margin-bottom: 5rem !important;
  }
  .u-ml50-sp {
    margin-left: 5rem !important;
  }
  .u-mr50-sp {
    margin-right: 5rem !important;
  }
  .u-pt50-sp {
    padding-top: 5rem !important;
  }
  .u-pb50-sp {
    padding-bottom: 5rem !important;
  }
  .u-pl50-sp {
    padding-left: 5rem !important;
  }
  .u-pr50-sp {
    padding-right: 5rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt45-sp {
    margin-top: 4.5rem !important;
  }
  .u-mb45-sp {
    margin-bottom: 4.5rem !important;
  }
  .u-ml45-sp {
    margin-left: 4.5rem !important;
  }
  .u-mr45-sp {
    margin-right: 4.5rem !important;
  }
  .u-pt45-sp {
    padding-top: 4.5rem !important;
  }
  .u-pb45-sp {
    padding-bottom: 4.5rem !important;
  }
  .u-pl45-sp {
    padding-left: 4.5rem !important;
  }
  .u-pr45-sp {
    padding-right: 4.5rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt40-sp {
    margin-top: 4rem !important;
  }
  .u-mb40-sp {
    margin-bottom: 4rem !important;
  }
  .u-ml40-sp {
    margin-left: 4rem !important;
  }
  .u-mr40-sp {
    margin-right: 4rem !important;
  }
  .u-pt40-sp {
    padding-top: 4rem !important;
  }
  .u-pb40-sp {
    padding-bottom: 4rem !important;
  }
  .u-pl40-sp {
    padding-left: 4rem !important;
  }
  .u-pr40-sp {
    padding-right: 4rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt35-sp {
    margin-top: 3.5rem !important;
  }
  .u-mb35-sp {
    margin-bottom: 3.5rem !important;
  }
  .u-ml35-sp {
    margin-left: 3.5rem !important;
  }
  .u-mr35-sp {
    margin-right: 3.5rem !important;
  }
  .u-pt35-sp {
    padding-top: 3.5rem !important;
  }
  .u-pb35-sp {
    padding-bottom: 3.5rem !important;
  }
  .u-pl35-sp {
    padding-left: 3.5rem !important;
  }
  .u-pr35-sp {
    padding-right: 3.5rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt30-sp {
    margin-top: 3rem !important;
  }
  .u-mb30-sp {
    margin-bottom: 3rem !important;
  }
  .u-ml30-sp {
    margin-left: 3rem !important;
  }
  .u-mr30-sp {
    margin-right: 3rem !important;
  }
  .u-pt30-sp {
    padding-top: 3rem !important;
  }
  .u-pb30-sp {
    padding-bottom: 3rem !important;
  }
  .u-pl30-sp {
    padding-left: 3rem !important;
  }
  .u-pr30-sp {
    padding-right: 3rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt25-sp {
    margin-top: 2.5rem !important;
  }
  .u-mb25-sp {
    margin-bottom: 2.5rem !important;
  }
  .u-ml25-sp {
    margin-left: 2.5rem !important;
  }
  .u-mr25-sp {
    margin-right: 2.5rem !important;
  }
  .u-pt25-sp {
    padding-top: 2.5rem !important;
  }
  .u-pb25-sp {
    padding-bottom: 2.5rem !important;
  }
  .u-pl25-sp {
    padding-left: 2.5rem !important;
  }
  .u-pr25-sp {
    padding-right: 2.5rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt20-sp {
    margin-top: 2rem !important;
  }
  .u-mb20-sp {
    margin-bottom: 2rem !important;
  }
  .u-ml20-sp {
    margin-left: 2rem !important;
  }
  .u-mr20-sp {
    margin-right: 2rem !important;
  }
  .u-pt20-sp {
    padding-top: 2rem !important;
  }
  .u-pb20-sp {
    padding-bottom: 2rem !important;
  }
  .u-pl20-sp {
    padding-left: 2rem !important;
  }
  .u-pr20-sp {
    padding-right: 2rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt15-sp {
    margin-top: 1.5rem !important;
  }
  .u-mb15-sp {
    margin-bottom: 1.5rem !important;
  }
  .u-ml15-sp {
    margin-left: 1.5rem !important;
  }
  .u-mr15-sp {
    margin-right: 1.5rem !important;
  }
  .u-pt15-sp {
    padding-top: 1.5rem !important;
  }
  .u-pb15-sp {
    padding-bottom: 1.5rem !important;
  }
  .u-pl15-sp {
    padding-left: 1.5rem !important;
  }
  .u-pr15-sp {
    padding-right: 1.5rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt10-sp {
    margin-top: 1rem !important;
  }
  .u-mb10-sp {
    margin-bottom: 1rem !important;
  }
  .u-ml10-sp {
    margin-left: 1rem !important;
  }
  .u-mr10-sp {
    margin-right: 1rem !important;
  }
  .u-pt10-sp {
    padding-top: 1rem !important;
  }
  .u-pb10-sp {
    padding-bottom: 1rem !important;
  }
  .u-pl10-sp {
    padding-left: 1rem !important;
  }
  .u-pr10-sp {
    padding-right: 1rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt5-sp {
    margin-top: 0.5rem !important;
  }
  .u-mb5-sp {
    margin-bottom: 0.5rem !important;
  }
  .u-ml5-sp {
    margin-left: 0.5rem !important;
  }
  .u-mr5-sp {
    margin-right: 0.5rem !important;
  }
  .u-pt5-sp {
    padding-top: 0.5rem !important;
  }
  .u-pb5-sp {
    padding-bottom: 0.5rem !important;
  }
  .u-pl5-sp {
    padding-left: 0.5rem !important;
  }
  .u-pr5-sp {
    padding-right: 0.5rem !important;
  }
}
@media (max-width: 767px) {
  .u-mt0-sp {
    margin-top: 0rem !important;
  }
  .u-mb0-sp {
    margin-bottom: 0rem !important;
  }
  .u-ml0-sp {
    margin-left: 0rem !important;
  }
  .u-mr0-sp {
    margin-right: 0rem !important;
  }
  .u-pt0-sp {
    padding-top: 0rem !important;
  }
  .u-pb0-sp {
    padding-bottom: 0rem !important;
  }
  .u-pl0-sp {
    padding-left: 0rem !important;
  }
  .u-pr0-sp {
    padding-right: 0rem !important;
  }
}
/* --------------------------
	margin マイナス調整用
-------------------------- */
.u-mt-70-negative {
  margin-top: -7rem !important;
}

@media (max-width: 767px) {
  .u-mt-40-negative-sp {
    margin-top: -4rem !important;
  }
}
/* ----------------------------------------------------

	レイアウト設定のファイルです。
	レイアウトに関する汎用性の高いスタイルをまとめています。
	基本的には編集することはありません。

	命名規則として、クラス名の頭に 
	l-* (Layoutのl)という接頭辞をつけることを推奨します。

---------------------------------------------------- */
.l-section {
  margin: 8rem 0;
}
@media (max-width: 767px) {
  .l-section {
    margin: 4rem 0;
  }
}

.l-inner {
  margin: 0 auto;
  width: var(--inner-width);
}
@media (max-width: 1200px) {
  .l-inner {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .l-inner {
    padding: 0 1.5rem;
    width: 100%;
  }
}

.l-flex {
  display: flex;
}
.l-flex--aic {
  align-items: center;
}

.l-pos-relative {
  position: relative;
}

.l-pos-center {
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
}

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

	JavaScriptなどの制御による状態の変化を表すスタイルの設定ファイルです。
	汎用的なstateのスタイルをまとめています。
	基本的には編集することはありません。

	命名規則として、クラス名の頭に 
	is-* という接頭辞をつけることを推奨します。

---------------------------------------------------- */
/* --------------------------
	レスポンシブ関係
-------------------------- */
@media (min-width: 768px) and (max-width: 1200px) {
  .is-pc {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .is-tab {
    display: none;
  }
}
@media (min-width: 1201px) {
  .is-tab {
    display: none;
  }
}

@media (min-width: 768px) {
  .is-sp {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .is-pc-tab {
    display: none !important;
  }
}

@media (min-width: 1201px) {
  .is-tab-sp {
    display: none !important;
  }
}

.u-block {
  display: block !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-block-tab {
    display: block !important;
  }
}
@media (max-width: 767px) {
  body .u-block-sp {
    display: block !important;
  }
}
.u-inline {
  display: inline !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-inline-tab {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  body .u-inline-sp {
    display: inline !important;
  }
}
.u-inline-block {
  display: inline-block !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-inline-block-tab {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  body .u-inline-block-sp {
    display: inline-block !important;
  }
}
.u-flex {
  display: flex !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-flex-tab {
    display: flex !important;
  }
}
@media (max-width: 767px) {
  body .u-flex-sp {
    display: flex !important;
  }
}
.u-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-inline-flex-tab {
    display: inline-flex !important;
  }
}
@media (max-width: 767px) {
  body .u-inline-flex-sp {
    display: inline-flex !important;
  }
}
.u-grid {
  display: grid !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-grid-tab {
    display: grid !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-sp {
    display: grid !important;
  }
}
.u-hidden {
  display: none !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-hidden-tab {
    display: none !important;
  }
}
@media (max-width: 767px) {
  body .u-hidden-sp {
    display: none !important;
  }
}
@media (max-width: 1200px) {
  .u-is-pc {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .u-is-tab {
    display: none !important;
  }
}
@media (min-width: 1201px) {
  .u-is-tab {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .u-is-sp {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .u-is-pc-tab {
    display: none !important;
  }
}

@media (min-width: 1201px) {
  .u-is-tab-sp {
    display: none !important;
  }
}

.u-grid-cols-none {
  grid-template-columns: none !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-grid-cols-none-tab {
    grid-template-columns: none !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-none-sp {
    grid-template-columns: none !important;
  }
}
.u-grid-cols-1 {
  grid-template-columns: repeat(1, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-grid-cols-1-tab {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-1-sp {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
.u-grid-cols-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-grid-cols-2-tab {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-2-sp {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.u-grid-cols-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-grid-cols-3-tab {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-3-sp {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
.u-grid-cols-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-grid-cols-4-tab {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-4-sp {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
.u-grid-cols-5 {
  grid-template-columns: repeat(5, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-grid-cols-5-tab {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-5-sp {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}
.u-grid-cols-6 {
  grid-template-columns: repeat(6, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-grid-cols-6-tab {
    grid-template-columns: repeat(6, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-6-sp {
    grid-template-columns: repeat(6, 1fr) !important;
  }
}
.u-grid-autofit-160 {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.u-grid-autofit-200 {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.u-grid-autofit-240 {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.u-grid-autofit-300 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.u-grid-autofit-360 {
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}

.u-col-span-full {
  grid-column: span 1/-1 !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-col-span-full-tab {
    grid-column: span 1/-1 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-full-sp {
    grid-column: span 1/-1 !important;
  }
}
.u-col-span-1 {
  grid-column: span 1/span 1 !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-col-span-1-tab {
    grid-column: span 1/span 1 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-1-sp {
    grid-column: span 1/span 1 !important;
  }
}
.u-col-span-2 {
  grid-column: span 2/span 2 !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-col-span-2-tab {
    grid-column: span 2/span 2 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-2-sp {
    grid-column: span 2/span 2 !important;
  }
}
.u-col-span-3 {
  grid-column: span 3/span 3 !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-col-span-3-tab {
    grid-column: span 3/span 3 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-3-sp {
    grid-column: span 3/span 3 !important;
  }
}
.u-col-span-4 {
  grid-column: span 4/span 4 !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-col-span-4-tab {
    grid-column: span 4/span 4 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-4-sp {
    grid-column: span 4/span 4 !important;
  }
}
.u-col-span-5 {
  grid-column: span 5/span 5 !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-col-span-5-tab {
    grid-column: span 5/span 5 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-5-sp {
    grid-column: span 5/span 5 !important;
  }
}
.u-col-span-6 {
  grid-column: span 6/span 6 !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-col-span-6-tab {
    grid-column: span 6/span 6 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-6-sp {
    grid-column: span 6/span 6 !important;
  }
}
.u-gap-0 {
  gap: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-0-tab {
    gap: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-0-sp {
    gap: 0rem !important;
  }
}
.u-gap-4 {
  gap: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-4-tab {
    gap: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-4-sp {
    gap: 0.4rem !important;
  }
}
.u-gap-8 {
  gap: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-8-tab {
    gap: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-8-sp {
    gap: 0.8rem !important;
  }
}
.u-gap-12 {
  gap: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-12-tab {
    gap: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-12-sp {
    gap: 1.2rem !important;
  }
}
.u-gap-16 {
  gap: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-16-tab {
    gap: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-16-sp {
    gap: 1.6rem !important;
  }
}
.u-gap-20 {
  gap: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-20-tab {
    gap: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-20-sp {
    gap: 2rem !important;
  }
}
.u-gap-24 {
  gap: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-24-tab {
    gap: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-24-sp {
    gap: 2.4rem !important;
  }
}
.u-gap-28 {
  gap: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-28-tab {
    gap: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-28-sp {
    gap: 2.8rem !important;
  }
}
.u-gap-32 {
  gap: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-32-tab {
    gap: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-32-sp {
    gap: 3.2rem !important;
  }
}
.u-gap-36 {
  gap: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-36-tab {
    gap: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-36-sp {
    gap: 3.6rem !important;
  }
}
.u-gap-40 {
  gap: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-40-tab {
    gap: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-40-sp {
    gap: 4rem !important;
  }
}
.u-gap-48 {
  gap: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-48-tab {
    gap: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-48-sp {
    gap: 4.8rem !important;
  }
}
.u-gap-56 {
  gap: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-56-tab {
    gap: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-56-sp {
    gap: 5.6rem !important;
  }
}
.u-gap-64 {
  gap: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-64-tab {
    gap: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-64-sp {
    gap: 6.4rem !important;
  }
}
.u-gap-72 {
  gap: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-72-tab {
    gap: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-72-sp {
    gap: 7.2rem !important;
  }
}
.u-gap-80 {
  gap: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-gap-80-tab {
    gap: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-80-sp {
    gap: 8rem !important;
  }
}
.u-justify-center {
  justify-content: center !important;
}

.u-justify-between {
  justify-content: space-between !important;
}

.u-items-center {
  align-items: center !important;
}

.u-flex-row {
  flex-direction: row !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-flex-row-tab {
    flex-direction: row !important;
  }
}
@media (max-width: 767px) {
  body .u-flex-row-sp {
    flex-direction: row !important;
  }
}
.u-flex-col {
  flex-direction: column !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-flex-col-tab {
    flex-direction: column !important;
  }
}
@media (max-width: 767px) {
  body .u-flex-col-sp {
    flex-direction: column !important;
  }
}
.u-font-normal {
  font-weight: 400 !important;
}

.u-font-midium {
  font-weight: 500 !important;
}

.u-font-bold {
  font-weight: 700 !important;
}

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

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-left-tab {
    text-align: left !important;
  }
}
@media (max-width: 767px) {
  body .u-text-left-sp {
    text-align: left !important;
  }
}
.u-text-center {
  text-align: center !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-center-tab {
    text-align: center !important;
  }
}
@media (max-width: 767px) {
  body .u-text-center-sp {
    text-align: center !important;
  }
}
.u-text-right {
  text-align: right !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-right-tab {
    text-align: right !important;
  }
}
@media (max-width: 767px) {
  body .u-text-right-sp {
    text-align: right !important;
  }
}
.u-text-xs {
  font-size: 1.2rem !important;
}
@media (max-width: 767px) {
  .u-text-xs {
    font-size: 1rem !important;
  }
}

.u-text-sm {
  font-size: 1.4rem !important;
}
@media (max-width: 767px) {
  .u-text-sm {
    font-size: 1.2rem !important;
  }
}

.u-text-md {
  font-size: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-text-md {
    font-size: 1.4rem !important;
  }
}

.u-text-lg {
  font-size: 1.8rem !important;
}
@media (max-width: 767px) {
  .u-text-lg {
    font-size: 1.6rem !important;
  }
}

.u-text-xl {
  font-size: 2rem !important;
}
@media (max-width: 767px) {
  .u-text-xl {
    font-size: 1.8rem !important;
  }
}

.u-text-2xl {
  font-size: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-text-2xl {
    font-size: 2rem !important;
  }
}

.u-text-3xl {
  font-size: 3rem !important;
}
@media (max-width: 767px) {
  .u-text-3xl {
    font-size: 2.4rem !important;
  }
}

.u-text-10 {
  font-size: 1rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-10-tab {
    font-size: 1rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-10-sp {
    font-size: 1rem !important;
  }
}
.u-text-12 {
  font-size: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-12-tab {
    font-size: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-12-sp {
    font-size: 1.2rem !important;
  }
}
.u-text-14 {
  font-size: 1.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-14-tab {
    font-size: 1.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-14-sp {
    font-size: 1.4rem !important;
  }
}
.u-text-16 {
  font-size: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-16-tab {
    font-size: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-16-sp {
    font-size: 1.6rem !important;
  }
}
.u-text-18 {
  font-size: 1.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-18-tab {
    font-size: 1.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-18-sp {
    font-size: 1.8rem !important;
  }
}
.u-text-20 {
  font-size: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-20-tab {
    font-size: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-20-sp {
    font-size: 2rem !important;
  }
}
.u-text-24 {
  font-size: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-24-tab {
    font-size: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-24-sp {
    font-size: 2.4rem !important;
  }
}
.u-text-30 {
  font-size: 3rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-text-30-tab {
    font-size: 3rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-30-sp {
    font-size: 3rem !important;
  }
}
.u-link {
  color: var(--color-primary);
  text-decoration: none;
}
.u-link:hover {
  text-decoration: underline;
}

.u-ul-default {
  margin: 1rem 0;
  padding-left: 4rem;
  list-style-type: disc;
}
.u-ul-default li {
  list-style: inherit;
}

.u-ol-default {
  margin: 1rem 0;
  padding-left: 4rem;
  list-style-type: decimal;
}
.u-ol-default li {
  list-style: inherit;
}

.u-ul-asterisk {
  list-style: none;
  padding-left: 0;
}
.u-ul-asterisk > li {
  position: relative;
  padding-left: 1em;
}
.u-ul-asterisk > li::before {
  content: "※";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.u-input, .u-textarea {
  display: inline-block;
  width: 100%;
  padding: 0.4rem 0.8rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  color: inherit;
  font: inherit;
}
.u-input:focus, .u-textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

.u-textarea {
  resize: vertical;
  min-height: 4rem;
}

.u-button {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: var(--color-primary);
  color: #fff;
  font: inherit;
  cursor: pointer;
  text-align: center;
}
.u-button:hover {
  border: 1px solid color-mix(in srgb, var(--color-primary) 90%, black);
  background-color: color-mix(in srgb, var(--color-primary) 90%, black);
}
.u-button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

.u-default-checkbox {
  appearance: auto;
  -webkit-appearance: auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.u-default-radio {
  appearance: auto;
  -webkit-appearance: auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.u-select {
  display: inline-block;
  padding: 0.4rem 1.2rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.u-select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

.u-aspect-square {
  aspect-ratio: 1 !important;
}

.u-aspect-16x9 {
  aspect-ratio: 1.7777777778 !important;
}

.u-aspect-4x3 {
  aspect-ratio: 1.3333333333 !important;
}

.u-aspect-3x2 {
  aspect-ratio: 1.5 !important;
}

.u-aspect-2x3 {
  aspect-ratio: 0.6666666667 !important;
}

.u-aspect-3x4 {
  aspect-ratio: 0.75 !important;
}

.u-aspect-9x16 {
  aspect-ratio: 0.5625 !important;
}

.u-w-auto {
  width: auto !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-w-auto-tab {
    width: auto !important;
  }
}
@media (max-width: 767px) {
  body .u-w-auto-sp {
    width: auto !important;
  }
}
.u-w-full {
  width: 100% !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-w-full-tab {
    width: 100% !important;
  }
}
@media (max-width: 767px) {
  body .u-w-full-sp {
    width: 100% !important;
  }
}
.u-w-screen {
  width: 100vw !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-w-screen-tab {
    width: 100vw !important;
  }
}
@media (max-width: 767px) {
  body .u-w-screen-sp {
    width: 100vw !important;
  }
}
.u-h-auto {
  height: auto !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-h-auto-tab {
    height: auto !important;
  }
}
@media (max-width: 767px) {
  body .u-h-auto-sp {
    height: auto !important;
  }
}
.u-h-full {
  height: 100% !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-h-full-tab {
    height: 100% !important;
  }
}
@media (max-width: 767px) {
  body .u-h-full-sp {
    height: 100% !important;
  }
}
.u-h-screen {
  height: 100vh !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-h-screen-tab {
    height: 100vh !important;
  }
}
@media (max-width: 767px) {
  body .u-h-screen-sp {
    height: 100vh !important;
  }
}
.u-mt-0 {
  margin-top: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-0-tab {
    margin-top: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-0-sp {
    margin-top: 0rem !important;
  }
}
.u-mb-0 {
  margin-bottom: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-0-tab {
    margin-bottom: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-0-sp {
    margin-bottom: 0rem !important;
  }
}
.u-my-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-0-tab {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-0-sp {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
}
.u-pt-0 {
  padding-top: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-0-tab {
    padding-top: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-0-sp {
    padding-top: 0rem !important;
  }
}
.u-pb-0 {
  padding-bottom: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-0-tab {
    padding-bottom: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-0-sp {
    padding-bottom: 0rem !important;
  }
}
.u-py-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-0-tab {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-0-sp {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
}
.u-mt-4 {
  margin-top: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-4-tab {
    margin-top: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-4-sp {
    margin-top: 0.4rem !important;
  }
}
.u-mb-4 {
  margin-bottom: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-4-tab {
    margin-bottom: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-4-sp {
    margin-bottom: 0.4rem !important;
  }
}
.u-my-4 {
  margin-top: 0.4rem !important;
  margin-bottom: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-4-tab {
    margin-top: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-4-sp {
    margin-top: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }
}
.u-pt-4 {
  padding-top: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-4-tab {
    padding-top: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-4-sp {
    padding-top: 0.4rem !important;
  }
}
.u-pb-4 {
  padding-bottom: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-4-tab {
    padding-bottom: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-4-sp {
    padding-bottom: 0.4rem !important;
  }
}
.u-py-4 {
  padding-top: 0.4rem !important;
  padding-bottom: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-4-tab {
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-4-sp {
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
  }
}
.u-mt-8 {
  margin-top: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-8-tab {
    margin-top: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-8-sp {
    margin-top: 0.8rem !important;
  }
}
.u-mb-8 {
  margin-bottom: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-8-tab {
    margin-bottom: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-8-sp {
    margin-bottom: 0.8rem !important;
  }
}
.u-my-8 {
  margin-top: 0.8rem !important;
  margin-bottom: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-8-tab {
    margin-top: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-8-sp {
    margin-top: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }
}
.u-pt-8 {
  padding-top: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-8-tab {
    padding-top: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-8-sp {
    padding-top: 0.8rem !important;
  }
}
.u-pb-8 {
  padding-bottom: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-8-tab {
    padding-bottom: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-8-sp {
    padding-bottom: 0.8rem !important;
  }
}
.u-py-8 {
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-8-tab {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-8-sp {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
  }
}
.u-mt-12 {
  margin-top: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-12-tab {
    margin-top: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-12-sp {
    margin-top: 1.2rem !important;
  }
}
.u-mb-12 {
  margin-bottom: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-12-tab {
    margin-bottom: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-12-sp {
    margin-bottom: 1.2rem !important;
  }
}
.u-my-12 {
  margin-top: 1.2rem !important;
  margin-bottom: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-12-tab {
    margin-top: 1.2rem !important;
    margin-bottom: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-12-sp {
    margin-top: 1.2rem !important;
    margin-bottom: 1.2rem !important;
  }
}
.u-pt-12 {
  padding-top: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-12-tab {
    padding-top: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-12-sp {
    padding-top: 1.2rem !important;
  }
}
.u-pb-12 {
  padding-bottom: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-12-tab {
    padding-bottom: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-12-sp {
    padding-bottom: 1.2rem !important;
  }
}
.u-py-12 {
  padding-top: 1.2rem !important;
  padding-bottom: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-12-tab {
    padding-top: 1.2rem !important;
    padding-bottom: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-12-sp {
    padding-top: 1.2rem !important;
    padding-bottom: 1.2rem !important;
  }
}
.u-mt-16 {
  margin-top: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-16-tab {
    margin-top: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-16-sp {
    margin-top: 1.6rem !important;
  }
}
.u-mb-16 {
  margin-bottom: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-16-tab {
    margin-bottom: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-16-sp {
    margin-bottom: 1.6rem !important;
  }
}
.u-my-16 {
  margin-top: 1.6rem !important;
  margin-bottom: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-16-tab {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-16-sp {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
}
.u-pt-16 {
  padding-top: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-16-tab {
    padding-top: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-16-sp {
    padding-top: 1.6rem !important;
  }
}
.u-pb-16 {
  padding-bottom: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-16-tab {
    padding-bottom: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-16-sp {
    padding-bottom: 1.6rem !important;
  }
}
.u-py-16 {
  padding-top: 1.6rem !important;
  padding-bottom: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-16-tab {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-16-sp {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
}
.u-mt-20 {
  margin-top: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-20-tab {
    margin-top: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-20-sp {
    margin-top: 2rem !important;
  }
}
.u-mb-20 {
  margin-bottom: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-20-tab {
    margin-bottom: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-20-sp {
    margin-bottom: 2rem !important;
  }
}
.u-my-20 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-20-tab {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-20-sp {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
}
.u-pt-20 {
  padding-top: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-20-tab {
    padding-top: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-20-sp {
    padding-top: 2rem !important;
  }
}
.u-pb-20 {
  padding-bottom: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-20-tab {
    padding-bottom: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-20-sp {
    padding-bottom: 2rem !important;
  }
}
.u-py-20 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-20-tab {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-20-sp {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}
.u-mt-24 {
  margin-top: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-24-tab {
    margin-top: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-24-sp {
    margin-top: 2.4rem !important;
  }
}
.u-mb-24 {
  margin-bottom: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-24-tab {
    margin-bottom: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-24-sp {
    margin-bottom: 2.4rem !important;
  }
}
.u-my-24 {
  margin-top: 2.4rem !important;
  margin-bottom: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-24-tab {
    margin-top: 2.4rem !important;
    margin-bottom: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-24-sp {
    margin-top: 2.4rem !important;
    margin-bottom: 2.4rem !important;
  }
}
.u-pt-24 {
  padding-top: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-24-tab {
    padding-top: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-24-sp {
    padding-top: 2.4rem !important;
  }
}
.u-pb-24 {
  padding-bottom: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-24-tab {
    padding-bottom: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-24-sp {
    padding-bottom: 2.4rem !important;
  }
}
.u-py-24 {
  padding-top: 2.4rem !important;
  padding-bottom: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-24-tab {
    padding-top: 2.4rem !important;
    padding-bottom: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-24-sp {
    padding-top: 2.4rem !important;
    padding-bottom: 2.4rem !important;
  }
}
.u-mt-28 {
  margin-top: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-28-tab {
    margin-top: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-28-sp {
    margin-top: 2.8rem !important;
  }
}
.u-mb-28 {
  margin-bottom: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-28-tab {
    margin-bottom: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-28-sp {
    margin-bottom: 2.8rem !important;
  }
}
.u-my-28 {
  margin-top: 2.8rem !important;
  margin-bottom: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-28-tab {
    margin-top: 2.8rem !important;
    margin-bottom: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-28-sp {
    margin-top: 2.8rem !important;
    margin-bottom: 2.8rem !important;
  }
}
.u-pt-28 {
  padding-top: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-28-tab {
    padding-top: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-28-sp {
    padding-top: 2.8rem !important;
  }
}
.u-pb-28 {
  padding-bottom: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-28-tab {
    padding-bottom: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-28-sp {
    padding-bottom: 2.8rem !important;
  }
}
.u-py-28 {
  padding-top: 2.8rem !important;
  padding-bottom: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-28-tab {
    padding-top: 2.8rem !important;
    padding-bottom: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-28-sp {
    padding-top: 2.8rem !important;
    padding-bottom: 2.8rem !important;
  }
}
.u-mt-32 {
  margin-top: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-32-tab {
    margin-top: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-32-sp {
    margin-top: 3.2rem !important;
  }
}
.u-mb-32 {
  margin-bottom: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-32-tab {
    margin-bottom: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-32-sp {
    margin-bottom: 3.2rem !important;
  }
}
.u-my-32 {
  margin-top: 3.2rem !important;
  margin-bottom: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-32-tab {
    margin-top: 3.2rem !important;
    margin-bottom: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-32-sp {
    margin-top: 3.2rem !important;
    margin-bottom: 3.2rem !important;
  }
}
.u-pt-32 {
  padding-top: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-32-tab {
    padding-top: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-32-sp {
    padding-top: 3.2rem !important;
  }
}
.u-pb-32 {
  padding-bottom: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-32-tab {
    padding-bottom: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-32-sp {
    padding-bottom: 3.2rem !important;
  }
}
.u-py-32 {
  padding-top: 3.2rem !important;
  padding-bottom: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-32-tab {
    padding-top: 3.2rem !important;
    padding-bottom: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-32-sp {
    padding-top: 3.2rem !important;
    padding-bottom: 3.2rem !important;
  }
}
.u-mt-36 {
  margin-top: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-36-tab {
    margin-top: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-36-sp {
    margin-top: 3.6rem !important;
  }
}
.u-mb-36 {
  margin-bottom: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-36-tab {
    margin-bottom: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-36-sp {
    margin-bottom: 3.6rem !important;
  }
}
.u-my-36 {
  margin-top: 3.6rem !important;
  margin-bottom: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-36-tab {
    margin-top: 3.6rem !important;
    margin-bottom: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-36-sp {
    margin-top: 3.6rem !important;
    margin-bottom: 3.6rem !important;
  }
}
.u-pt-36 {
  padding-top: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-36-tab {
    padding-top: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-36-sp {
    padding-top: 3.6rem !important;
  }
}
.u-pb-36 {
  padding-bottom: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-36-tab {
    padding-bottom: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-36-sp {
    padding-bottom: 3.6rem !important;
  }
}
.u-py-36 {
  padding-top: 3.6rem !important;
  padding-bottom: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-36-tab {
    padding-top: 3.6rem !important;
    padding-bottom: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-36-sp {
    padding-top: 3.6rem !important;
    padding-bottom: 3.6rem !important;
  }
}
.u-mt-40 {
  margin-top: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-40-tab {
    margin-top: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-40-sp {
    margin-top: 4rem !important;
  }
}
.u-mb-40 {
  margin-bottom: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-40-tab {
    margin-bottom: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-40-sp {
    margin-bottom: 4rem !important;
  }
}
.u-my-40 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-40-tab {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-40-sp {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
}
.u-pt-40 {
  padding-top: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-40-tab {
    padding-top: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-40-sp {
    padding-top: 4rem !important;
  }
}
.u-pb-40 {
  padding-bottom: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-40-tab {
    padding-bottom: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-40-sp {
    padding-bottom: 4rem !important;
  }
}
.u-py-40 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-40-tab {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-40-sp {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
.u-mt-48 {
  margin-top: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-48-tab {
    margin-top: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-48-sp {
    margin-top: 4.8rem !important;
  }
}
.u-mb-48 {
  margin-bottom: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-48-tab {
    margin-bottom: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-48-sp {
    margin-bottom: 4.8rem !important;
  }
}
.u-my-48 {
  margin-top: 4.8rem !important;
  margin-bottom: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-48-tab {
    margin-top: 4.8rem !important;
    margin-bottom: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-48-sp {
    margin-top: 4.8rem !important;
    margin-bottom: 4.8rem !important;
  }
}
.u-pt-48 {
  padding-top: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-48-tab {
    padding-top: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-48-sp {
    padding-top: 4.8rem !important;
  }
}
.u-pb-48 {
  padding-bottom: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-48-tab {
    padding-bottom: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-48-sp {
    padding-bottom: 4.8rem !important;
  }
}
.u-py-48 {
  padding-top: 4.8rem !important;
  padding-bottom: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-48-tab {
    padding-top: 4.8rem !important;
    padding-bottom: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-48-sp {
    padding-top: 4.8rem !important;
    padding-bottom: 4.8rem !important;
  }
}
.u-mt-56 {
  margin-top: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-56-tab {
    margin-top: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-56-sp {
    margin-top: 5.6rem !important;
  }
}
.u-mb-56 {
  margin-bottom: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-56-tab {
    margin-bottom: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-56-sp {
    margin-bottom: 5.6rem !important;
  }
}
.u-my-56 {
  margin-top: 5.6rem !important;
  margin-bottom: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-56-tab {
    margin-top: 5.6rem !important;
    margin-bottom: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-56-sp {
    margin-top: 5.6rem !important;
    margin-bottom: 5.6rem !important;
  }
}
.u-pt-56 {
  padding-top: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-56-tab {
    padding-top: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-56-sp {
    padding-top: 5.6rem !important;
  }
}
.u-pb-56 {
  padding-bottom: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-56-tab {
    padding-bottom: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-56-sp {
    padding-bottom: 5.6rem !important;
  }
}
.u-py-56 {
  padding-top: 5.6rem !important;
  padding-bottom: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-56-tab {
    padding-top: 5.6rem !important;
    padding-bottom: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-56-sp {
    padding-top: 5.6rem !important;
    padding-bottom: 5.6rem !important;
  }
}
.u-mt-64 {
  margin-top: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-64-tab {
    margin-top: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-64-sp {
    margin-top: 6.4rem !important;
  }
}
.u-mb-64 {
  margin-bottom: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-64-tab {
    margin-bottom: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-64-sp {
    margin-bottom: 6.4rem !important;
  }
}
.u-my-64 {
  margin-top: 6.4rem !important;
  margin-bottom: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-64-tab {
    margin-top: 6.4rem !important;
    margin-bottom: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-64-sp {
    margin-top: 6.4rem !important;
    margin-bottom: 6.4rem !important;
  }
}
.u-pt-64 {
  padding-top: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-64-tab {
    padding-top: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-64-sp {
    padding-top: 6.4rem !important;
  }
}
.u-pb-64 {
  padding-bottom: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-64-tab {
    padding-bottom: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-64-sp {
    padding-bottom: 6.4rem !important;
  }
}
.u-py-64 {
  padding-top: 6.4rem !important;
  padding-bottom: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-64-tab {
    padding-top: 6.4rem !important;
    padding-bottom: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-64-sp {
    padding-top: 6.4rem !important;
    padding-bottom: 6.4rem !important;
  }
}
.u-mt-72 {
  margin-top: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-72-tab {
    margin-top: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-72-sp {
    margin-top: 7.2rem !important;
  }
}
.u-mb-72 {
  margin-bottom: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-72-tab {
    margin-bottom: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-72-sp {
    margin-bottom: 7.2rem !important;
  }
}
.u-my-72 {
  margin-top: 7.2rem !important;
  margin-bottom: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-72-tab {
    margin-top: 7.2rem !important;
    margin-bottom: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-72-sp {
    margin-top: 7.2rem !important;
    margin-bottom: 7.2rem !important;
  }
}
.u-pt-72 {
  padding-top: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-72-tab {
    padding-top: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-72-sp {
    padding-top: 7.2rem !important;
  }
}
.u-pb-72 {
  padding-bottom: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-72-tab {
    padding-bottom: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-72-sp {
    padding-bottom: 7.2rem !important;
  }
}
.u-py-72 {
  padding-top: 7.2rem !important;
  padding-bottom: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-72-tab {
    padding-top: 7.2rem !important;
    padding-bottom: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-72-sp {
    padding-top: 7.2rem !important;
    padding-bottom: 7.2rem !important;
  }
}
.u-mt-80 {
  margin-top: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-80-tab {
    margin-top: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-80-sp {
    margin-top: 8rem !important;
  }
}
.u-mb-80 {
  margin-bottom: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-80-tab {
    margin-bottom: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-80-sp {
    margin-bottom: 8rem !important;
  }
}
.u-my-80 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-80-tab {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-80-sp {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
}
.u-pt-80 {
  padding-top: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-80-tab {
    padding-top: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-80-sp {
    padding-top: 8rem !important;
  }
}
.u-pb-80 {
  padding-bottom: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-80-tab {
    padding-bottom: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-80-sp {
    padding-bottom: 8rem !important;
  }
}
.u-py-80 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-80-tab {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-80-sp {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}
.u-mt-96 {
  margin-top: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-96-tab {
    margin-top: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-96-sp {
    margin-top: 9.6rem !important;
  }
}
.u-mb-96 {
  margin-bottom: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-96-tab {
    margin-bottom: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-96-sp {
    margin-bottom: 9.6rem !important;
  }
}
.u-my-96 {
  margin-top: 9.6rem !important;
  margin-bottom: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-96-tab {
    margin-top: 9.6rem !important;
    margin-bottom: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-96-sp {
    margin-top: 9.6rem !important;
    margin-bottom: 9.6rem !important;
  }
}
.u-pt-96 {
  padding-top: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-96-tab {
    padding-top: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-96-sp {
    padding-top: 9.6rem !important;
  }
}
.u-pb-96 {
  padding-bottom: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-96-tab {
    padding-bottom: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-96-sp {
    padding-bottom: 9.6rem !important;
  }
}
.u-py-96 {
  padding-top: 9.6rem !important;
  padding-bottom: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-96-tab {
    padding-top: 9.6rem !important;
    padding-bottom: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-96-sp {
    padding-top: 9.6rem !important;
    padding-bottom: 9.6rem !important;
  }
}
.u-mt-112 {
  margin-top: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-112-tab {
    margin-top: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-112-sp {
    margin-top: 11.2rem !important;
  }
}
.u-mb-112 {
  margin-bottom: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-112-tab {
    margin-bottom: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-112-sp {
    margin-bottom: 11.2rem !important;
  }
}
.u-my-112 {
  margin-top: 11.2rem !important;
  margin-bottom: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-112-tab {
    margin-top: 11.2rem !important;
    margin-bottom: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-112-sp {
    margin-top: 11.2rem !important;
    margin-bottom: 11.2rem !important;
  }
}
.u-pt-112 {
  padding-top: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-112-tab {
    padding-top: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-112-sp {
    padding-top: 11.2rem !important;
  }
}
.u-pb-112 {
  padding-bottom: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-112-tab {
    padding-bottom: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-112-sp {
    padding-bottom: 11.2rem !important;
  }
}
.u-py-112 {
  padding-top: 11.2rem !important;
  padding-bottom: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-112-tab {
    padding-top: 11.2rem !important;
    padding-bottom: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-112-sp {
    padding-top: 11.2rem !important;
    padding-bottom: 11.2rem !important;
  }
}
.u-mt-120 {
  margin-top: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-120-tab {
    margin-top: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-120-sp {
    margin-top: 12rem !important;
  }
}
.u-mb-120 {
  margin-bottom: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-120-tab {
    margin-bottom: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-120-sp {
    margin-bottom: 12rem !important;
  }
}
.u-my-120 {
  margin-top: 12rem !important;
  margin-bottom: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-120-tab {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-120-sp {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
  }
}
.u-pt-120 {
  padding-top: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-120-tab {
    padding-top: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-120-sp {
    padding-top: 12rem !important;
  }
}
.u-pb-120 {
  padding-bottom: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-120-tab {
    padding-bottom: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-120-sp {
    padding-bottom: 12rem !important;
  }
}
.u-py-120 {
  padding-top: 12rem !important;
  padding-bottom: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-120-tab {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-120-sp {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
}
.u-mt-128 {
  margin-top: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mt-128-tab {
    margin-top: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-128-sp {
    margin-top: 12.8rem !important;
  }
}
.u-mb-128 {
  margin-bottom: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mb-128-tab {
    margin-bottom: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-128-sp {
    margin-bottom: 12.8rem !important;
  }
}
.u-my-128 {
  margin-top: 12.8rem !important;
  margin-bottom: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-my-128-tab {
    margin-top: 12.8rem !important;
    margin-bottom: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-128-sp {
    margin-top: 12.8rem !important;
    margin-bottom: 12.8rem !important;
  }
}
.u-pt-128 {
  padding-top: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pt-128-tab {
    padding-top: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-128-sp {
    padding-top: 12.8rem !important;
  }
}
.u-pb-128 {
  padding-bottom: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pb-128-tab {
    padding-bottom: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-128-sp {
    padding-bottom: 12.8rem !important;
  }
}
.u-py-128 {
  padding-top: 12.8rem !important;
  padding-bottom: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-py-128-tab {
    padding-top: 12.8rem !important;
    padding-bottom: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-128-sp {
    padding-top: 12.8rem !important;
    padding-bottom: 12.8rem !important;
  }
}
.u-ml-0 {
  margin-left: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-0-tab {
    margin-left: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-0-sp {
    margin-left: 0rem !important;
  }
}
.u-mr-0 {
  margin-right: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-0-tab {
    margin-right: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-0-sp {
    margin-right: 0rem !important;
  }
}
.u-mx-0 {
  margin-left: 0rem !important;
  margin-right: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-0-tab {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-0-sp {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
}
.u-pl-0 {
  padding-left: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-0-tab {
    padding-left: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-0-sp {
    padding-left: 0rem !important;
  }
}
.u-pr-0 {
  padding-right: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-0-tab {
    padding-right: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-0-sp {
    padding-right: 0rem !important;
  }
}
.u-px-0 {
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-0-tab {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-0-sp {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
}
.u-ml-4 {
  margin-left: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-4-tab {
    margin-left: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-4-sp {
    margin-left: 0.4rem !important;
  }
}
.u-mr-4 {
  margin-right: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-4-tab {
    margin-right: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-4-sp {
    margin-right: 0.4rem !important;
  }
}
.u-mx-4 {
  margin-left: 0.4rem !important;
  margin-right: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-4-tab {
    margin-left: 0.4rem !important;
    margin-right: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-4-sp {
    margin-left: 0.4rem !important;
    margin-right: 0.4rem !important;
  }
}
.u-pl-4 {
  padding-left: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-4-tab {
    padding-left: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-4-sp {
    padding-left: 0.4rem !important;
  }
}
.u-pr-4 {
  padding-right: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-4-tab {
    padding-right: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-4-sp {
    padding-right: 0.4rem !important;
  }
}
.u-px-4 {
  padding-left: 0.4rem !important;
  padding-right: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-4-tab {
    padding-left: 0.4rem !important;
    padding-right: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-4-sp {
    padding-left: 0.4rem !important;
    padding-right: 0.4rem !important;
  }
}
.u-ml-8 {
  margin-left: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-8-tab {
    margin-left: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-8-sp {
    margin-left: 0.8rem !important;
  }
}
.u-mr-8 {
  margin-right: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-8-tab {
    margin-right: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-8-sp {
    margin-right: 0.8rem !important;
  }
}
.u-mx-8 {
  margin-left: 0.8rem !important;
  margin-right: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-8-tab {
    margin-left: 0.8rem !important;
    margin-right: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-8-sp {
    margin-left: 0.8rem !important;
    margin-right: 0.8rem !important;
  }
}
.u-pl-8 {
  padding-left: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-8-tab {
    padding-left: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-8-sp {
    padding-left: 0.8rem !important;
  }
}
.u-pr-8 {
  padding-right: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-8-tab {
    padding-right: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-8-sp {
    padding-right: 0.8rem !important;
  }
}
.u-px-8 {
  padding-left: 0.8rem !important;
  padding-right: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-8-tab {
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-8-sp {
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
  }
}
.u-ml-12 {
  margin-left: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-12-tab {
    margin-left: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-12-sp {
    margin-left: 1.2rem !important;
  }
}
.u-mr-12 {
  margin-right: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-12-tab {
    margin-right: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-12-sp {
    margin-right: 1.2rem !important;
  }
}
.u-mx-12 {
  margin-left: 1.2rem !important;
  margin-right: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-12-tab {
    margin-left: 1.2rem !important;
    margin-right: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-12-sp {
    margin-left: 1.2rem !important;
    margin-right: 1.2rem !important;
  }
}
.u-pl-12 {
  padding-left: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-12-tab {
    padding-left: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-12-sp {
    padding-left: 1.2rem !important;
  }
}
.u-pr-12 {
  padding-right: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-12-tab {
    padding-right: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-12-sp {
    padding-right: 1.2rem !important;
  }
}
.u-px-12 {
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-12-tab {
    padding-left: 1.2rem !important;
    padding-right: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-12-sp {
    padding-left: 1.2rem !important;
    padding-right: 1.2rem !important;
  }
}
.u-ml-16 {
  margin-left: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-16-tab {
    margin-left: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-16-sp {
    margin-left: 1.6rem !important;
  }
}
.u-mr-16 {
  margin-right: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-16-tab {
    margin-right: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-16-sp {
    margin-right: 1.6rem !important;
  }
}
.u-mx-16 {
  margin-left: 1.6rem !important;
  margin-right: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-16-tab {
    margin-left: 1.6rem !important;
    margin-right: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-16-sp {
    margin-left: 1.6rem !important;
    margin-right: 1.6rem !important;
  }
}
.u-pl-16 {
  padding-left: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-16-tab {
    padding-left: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-16-sp {
    padding-left: 1.6rem !important;
  }
}
.u-pr-16 {
  padding-right: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-16-tab {
    padding-right: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-16-sp {
    padding-right: 1.6rem !important;
  }
}
.u-px-16 {
  padding-left: 1.6rem !important;
  padding-right: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-16-tab {
    padding-left: 1.6rem !important;
    padding-right: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-16-sp {
    padding-left: 1.6rem !important;
    padding-right: 1.6rem !important;
  }
}
.u-ml-20 {
  margin-left: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-20-tab {
    margin-left: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-20-sp {
    margin-left: 2rem !important;
  }
}
.u-mr-20 {
  margin-right: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-20-tab {
    margin-right: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-20-sp {
    margin-right: 2rem !important;
  }
}
.u-mx-20 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-20-tab {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-20-sp {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
}
.u-pl-20 {
  padding-left: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-20-tab {
    padding-left: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-20-sp {
    padding-left: 2rem !important;
  }
}
.u-pr-20 {
  padding-right: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-20-tab {
    padding-right: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-20-sp {
    padding-right: 2rem !important;
  }
}
.u-px-20 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-20-tab {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-20-sp {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}
.u-ml-24 {
  margin-left: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-24-tab {
    margin-left: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-24-sp {
    margin-left: 2.4rem !important;
  }
}
.u-mr-24 {
  margin-right: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-24-tab {
    margin-right: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-24-sp {
    margin-right: 2.4rem !important;
  }
}
.u-mx-24 {
  margin-left: 2.4rem !important;
  margin-right: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-24-tab {
    margin-left: 2.4rem !important;
    margin-right: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-24-sp {
    margin-left: 2.4rem !important;
    margin-right: 2.4rem !important;
  }
}
.u-pl-24 {
  padding-left: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-24-tab {
    padding-left: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-24-sp {
    padding-left: 2.4rem !important;
  }
}
.u-pr-24 {
  padding-right: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-24-tab {
    padding-right: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-24-sp {
    padding-right: 2.4rem !important;
  }
}
.u-px-24 {
  padding-left: 2.4rem !important;
  padding-right: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-24-tab {
    padding-left: 2.4rem !important;
    padding-right: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-24-sp {
    padding-left: 2.4rem !important;
    padding-right: 2.4rem !important;
  }
}
.u-ml-28 {
  margin-left: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-28-tab {
    margin-left: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-28-sp {
    margin-left: 2.8rem !important;
  }
}
.u-mr-28 {
  margin-right: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-28-tab {
    margin-right: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-28-sp {
    margin-right: 2.8rem !important;
  }
}
.u-mx-28 {
  margin-left: 2.8rem !important;
  margin-right: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-28-tab {
    margin-left: 2.8rem !important;
    margin-right: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-28-sp {
    margin-left: 2.8rem !important;
    margin-right: 2.8rem !important;
  }
}
.u-pl-28 {
  padding-left: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-28-tab {
    padding-left: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-28-sp {
    padding-left: 2.8rem !important;
  }
}
.u-pr-28 {
  padding-right: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-28-tab {
    padding-right: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-28-sp {
    padding-right: 2.8rem !important;
  }
}
.u-px-28 {
  padding-left: 2.8rem !important;
  padding-right: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-28-tab {
    padding-left: 2.8rem !important;
    padding-right: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-28-sp {
    padding-left: 2.8rem !important;
    padding-right: 2.8rem !important;
  }
}
.u-ml-32 {
  margin-left: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-32-tab {
    margin-left: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-32-sp {
    margin-left: 3.2rem !important;
  }
}
.u-mr-32 {
  margin-right: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-32-tab {
    margin-right: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-32-sp {
    margin-right: 3.2rem !important;
  }
}
.u-mx-32 {
  margin-left: 3.2rem !important;
  margin-right: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-32-tab {
    margin-left: 3.2rem !important;
    margin-right: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-32-sp {
    margin-left: 3.2rem !important;
    margin-right: 3.2rem !important;
  }
}
.u-pl-32 {
  padding-left: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-32-tab {
    padding-left: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-32-sp {
    padding-left: 3.2rem !important;
  }
}
.u-pr-32 {
  padding-right: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-32-tab {
    padding-right: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-32-sp {
    padding-right: 3.2rem !important;
  }
}
.u-px-32 {
  padding-left: 3.2rem !important;
  padding-right: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-32-tab {
    padding-left: 3.2rem !important;
    padding-right: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-32-sp {
    padding-left: 3.2rem !important;
    padding-right: 3.2rem !important;
  }
}
.u-ml-36 {
  margin-left: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-36-tab {
    margin-left: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-36-sp {
    margin-left: 3.6rem !important;
  }
}
.u-mr-36 {
  margin-right: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-36-tab {
    margin-right: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-36-sp {
    margin-right: 3.6rem !important;
  }
}
.u-mx-36 {
  margin-left: 3.6rem !important;
  margin-right: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-36-tab {
    margin-left: 3.6rem !important;
    margin-right: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-36-sp {
    margin-left: 3.6rem !important;
    margin-right: 3.6rem !important;
  }
}
.u-pl-36 {
  padding-left: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-36-tab {
    padding-left: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-36-sp {
    padding-left: 3.6rem !important;
  }
}
.u-pr-36 {
  padding-right: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-36-tab {
    padding-right: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-36-sp {
    padding-right: 3.6rem !important;
  }
}
.u-px-36 {
  padding-left: 3.6rem !important;
  padding-right: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-36-tab {
    padding-left: 3.6rem !important;
    padding-right: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-36-sp {
    padding-left: 3.6rem !important;
    padding-right: 3.6rem !important;
  }
}
.u-ml-40 {
  margin-left: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-ml-40-tab {
    margin-left: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-40-sp {
    margin-left: 4rem !important;
  }
}
.u-mr-40 {
  margin-right: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mr-40-tab {
    margin-right: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-40-sp {
    margin-right: 4rem !important;
  }
}
.u-mx-40 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-mx-40-tab {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-40-sp {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
}
.u-pl-40 {
  padding-left: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pl-40-tab {
    padding-left: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-40-sp {
    padding-left: 4rem !important;
  }
}
.u-pr-40 {
  padding-right: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-pr-40-tab {
    padding-right: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-40-sp {
    padding-right: 4rem !important;
  }
}
.u-px-40 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1200px) {
  body .u-px-40-tab {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-40-sp {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
}
.u-my-xs {
  margin-top: 0.8rem !important;
  margin-bottom: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-my-xs {
    margin-top: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }
}

.u-mt-xs {
  margin-top: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-mt-xs {
    margin-top: 0.4rem !important;
  }
}

.u-mb-xs {
  margin-bottom: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-mb-xs {
    margin-bottom: 0.4rem !important;
  }
}

.u-py-xs {
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-py-xs {
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
  }
}

.u-pt-xs {
  padding-top: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-pt-xs {
    padding-top: 0.4rem !important;
  }
}

.u-pb-xs {
  padding-bottom: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-pb-xs {
    padding-bottom: 0.4rem !important;
  }
}

.u-my-sm {
  margin-top: 1.6rem !important;
  margin-bottom: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-my-sm {
    margin-top: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }
}

.u-mt-sm {
  margin-top: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-mt-sm {
    margin-top: 0.8rem !important;
  }
}

.u-mb-sm {
  margin-bottom: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-mb-sm {
    margin-bottom: 0.8rem !important;
  }
}

.u-py-sm {
  padding-top: 1.6rem !important;
  padding-bottom: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-py-sm {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
  }
}

.u-pt-sm {
  padding-top: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-pt-sm {
    padding-top: 0.8rem !important;
  }
}

.u-pb-sm {
  padding-bottom: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-pb-sm {
    padding-bottom: 0.8rem !important;
  }
}

.u-my-md {
  margin-top: 2.4rem !important;
  margin-bottom: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-my-md {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
}

.u-mt-md {
  margin-top: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-mt-md {
    margin-top: 1.6rem !important;
  }
}

.u-mb-md {
  margin-bottom: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-mb-md {
    margin-bottom: 1.6rem !important;
  }
}

.u-py-md {
  padding-top: 2.4rem !important;
  padding-bottom: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-py-md {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
}

.u-pt-md {
  padding-top: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-pt-md {
    padding-top: 1.6rem !important;
  }
}

.u-pb-md {
  padding-bottom: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-pb-md {
    padding-bottom: 1.6rem !important;
  }
}

.u-my-lg {
  margin-top: 4.8rem !important;
  margin-bottom: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-my-lg {
    margin-top: 3.2rem !important;
    margin-bottom: 3.2rem !important;
  }
}

.u-mt-lg {
  margin-top: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-mt-lg {
    margin-top: 3.2rem !important;
  }
}

.u-mb-lg {
  margin-bottom: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-mb-lg {
    margin-bottom: 3.2rem !important;
  }
}

.u-py-lg {
  padding-top: 4.8rem !important;
  padding-bottom: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-py-lg {
    padding-top: 3.2rem !important;
    padding-bottom: 3.2rem !important;
  }
}

.u-pt-lg {
  padding-top: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-pt-lg {
    padding-top: 3.2rem !important;
  }
}

.u-pb-lg {
  padding-bottom: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-pb-lg {
    padding-bottom: 3.2rem !important;
  }
}

.u-my-xl {
  margin-top: 7.2rem !important;
  margin-bottom: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-my-xl {
    margin-top: 4.8rem !important;
    margin-bottom: 4.8rem !important;
  }
}

.u-mt-xl {
  margin-top: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-mt-xl {
    margin-top: 4.8rem !important;
  }
}

.u-mb-xl {
  margin-bottom: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-mb-xl {
    margin-bottom: 4.8rem !important;
  }
}

.u-py-xl {
  padding-top: 7.2rem !important;
  padding-bottom: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-py-xl {
    padding-top: 4.8rem !important;
    padding-bottom: 4.8rem !important;
  }
}

.u-pt-xl {
  padding-top: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-pt-xl {
    padding-top: 4.8rem !important;
  }
}

.u-pb-xl {
  padding-bottom: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-pb-xl {
    padding-bottom: 4.8rem !important;
  }
}

.u-my-2xl {
  margin-top: 9.6rem !important;
  margin-bottom: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-my-2xl {
    margin-top: 6.4rem !important;
    margin-bottom: 6.4rem !important;
  }
}

.u-mt-2xl {
  margin-top: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-mt-2xl {
    margin-top: 6.4rem !important;
  }
}

.u-mb-2xl {
  margin-bottom: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-mb-2xl {
    margin-bottom: 6.4rem !important;
  }
}

.u-py-2xl {
  padding-top: 9.6rem !important;
  padding-bottom: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-py-2xl {
    padding-top: 6.4rem !important;
    padding-bottom: 6.4rem !important;
  }
}

.u-pt-2xl {
  padding-top: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-pt-2xl {
    padding-top: 6.4rem !important;
  }
}

.u-pb-2xl {
  padding-bottom: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-pb-2xl {
    padding-bottom: 6.4rem !important;
  }
}

.u-my-3xl {
  margin-top: 12.8rem !important;
  margin-bottom: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-my-3xl {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
}

.u-mt-3xl {
  margin-top: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-mt-3xl {
    margin-top: 8rem !important;
  }
}

.u-mb-3xl {
  margin-bottom: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-mb-3xl {
    margin-bottom: 8rem !important;
  }
}

.u-py-3xl {
  padding-top: 12.8rem !important;
  padding-bottom: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-py-3xl {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}

.u-pt-3xl {
  padding-top: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-pt-3xl {
    padding-top: 8rem !important;
  }
}

.u-pb-3xl {
  padding-bottom: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-pb-3xl {
    padding-bottom: 8rem !important;
  }
}

/* --------------------------
	components
-------------------------- */
.header {
  width: 100%;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 999;
}
.header__top {
  position: relative;
  background: var(--color-primary);
  height: 7rem;
  display: flex;
  align-items: center;
  z-index: -2;
  overflow: hidden;
}
@media (max-width: 767px) {
  .header__top {
    flex-wrap: wrap;
    height: auto;
    background: #fff;
    border-top: 2px solid var(--color-primary);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
}
.header__logo {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  height: calc(100% - 8px);
  width: 160px;
  clip-path: polygon(26% 0, 100% 0%, 100% 100%, 0 100%);
  text-align: center;
}
@media screen and (max-width: 1500px) {
  .header__logo {
    width: 12.6666666667vw;
  }
}
@media screen and (max-width: 1200px) {
  .header__logo {
    width: 14.1666666667vw;
  }
}
@media (max-width: 767px) {
  .header__logo {
    position: absolute;
    top: 0;
    right: 5.5rem;
    width: 16%;
    transform: translateY(0);
    height: 5rem;
    background: #fff;
    z-index: 999;
  }
}
.header__logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 25px 12px 12px;
  height: 100%;
  width: 100%;
  position: relative;
  right: -3rem;
}
.header__logo a::after {
  content: "";
  position: absolute;
  transform: skewX(-30deg);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: -1;
}
@media screen and (max-width: 1100px) {
  .header__logo a {
    padding: 0.9090909091vw 4.0909090909vw 1.0909090909vw 1.0909090909vw;
  }
}
@media (max-width: 767px) {
  .header__logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    filter: none;
    height: 100%;
    right: 0;
    padding: 0;
  }
}
.header__logo img {
  width: 71px;
}
@media (max-width: 767px) {
  .header__logo img {
    width: 4.5rem;
  }
}
.header__ttl {
  padding-left: 7rem;
  height: calc(100% - 8px);
  display: flex;
  align-items: center;
  width: 40rem;
  left: -3rem;
  position: relative;
}
@media screen and (max-width: 1500px) {
  .header__ttl {
    padding-left: 4.6666666667vw;
    left: -2vw;
    width: 26.6666666667vw;
  }
}
@media (max-width: 767px) {
  .header__ttl {
    margin-left: 1rem;
    padding-left: 0;
    width: 80%;
    height: 5rem;
    z-index: 998;
    left: 0;
  }
}
.header__ttl::after {
  content: "";
  position: absolute;
  transform: skewX(-30deg);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  z-index: -1;
}
@media (max-width: 767px) {
  .header__ttl::after {
    content: none;
  }
}
.header__ttl span {
  font-size: 1.6rem;
  padding: 1px 5px 2px;
  border-radius: 3px;
  background: #008765;
  line-height: 1.5;
  margin-right: 10px;
  color: #fff;
  font-weight: bold;
}
@media screen and (max-width: 1250px) {
  .header__ttl span {
    font-size: 1.28vw;
  }
}
@media (max-width: 767px) {
  .header__ttl span {
    font-size: 1.2rem;
  }
}
.header__main {
  font-size: 2rem;
  line-height: 1.5;
}
@media screen and (max-width: 1250px) {
  .header__main {
    font-size: 1.6vw;
  }
}
@media (max-width: 767px) {
  .header__main {
    font-size: 1.4rem;
  }
}
.header__hmbbtn {
  position: absolute;
  top: 0;
  right: 0;
  background: #EE7800;
  z-index: 999;
}
.header .u-ul-style {
  font-size: 1.1rem;
  color: #fff;
}
@media screen and (max-width: 1500px) {
  .header .u-ul-style {
    font-size: 0.7333333333vw;
  }
}
@media (max-width: 767px) {
  .header .u-ul-style {
    font-size: 0.7rem;
  }
  .header .u-ul-style svg {
    width: 5px;
  }
}
@media (max-width: 767px) {
  .header .ul-sp {
    display: flex;
  }
}

.h-content {
  color: #fff;
  margin-left: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.h-content img {
  width: 71.6rem;
}
@media screen and (max-width: 1600px) {
  .h-content img {
    width: 44.75vw;
  }
}
@media (max-width: 767px) {
  .h-content {
    margin-left: 0;
    width: 50%;
  }
}
.h-content__info-date {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 767px) {
  .h-content__info-date {
    gap: 4px;
  }
  .h-content__info-date svg {
    width: 1.2rem;
  }
}

.h-sp {
  width: 100%;
}
.h-sp img {
  width: 100%;
}

.h-section {
  color: #fff;
  line-height: 1.1;
  margin-left: 4rem;
}
@media screen and (max-width: 1200px) {
  .h-section {
    margin-left: 1.6666666667vw;
  }
}
@media (max-width: 767px) {
  .h-section {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0;
  }
}
.h-section__text {
  font-weight: bold;
  font-size: 1.5rem;
}
@media screen and (max-width: 1500px) {
  .h-section__text {
    font-size: 1vw;
  }
}
@media (max-width: 767px) {
  .h-section__text {
    font-size: 1rem;
    margin-bottom: 0;
  }
}
.h-section__detail {
  display: flex;
  align-items: center;
  margin-right: 0.3rem;
}
.h-section__detail span {
  font-size: 2.6rem;
}
@media screen and (max-width: 1500px) {
  .h-section__detail span {
    font-size: 1.7333333333vw;
  }
}
@media (max-width: 767px) {
  .h-section__detail span {
    font-size: 1.4rem;
  }
}
.h-section__detail svg {
  margin: auto 1rem;
}
@media (max-width: 767px) {
  .h-section__detail svg {
    width: 1.6rem;
  }
}

.map-wrap {
  position: relative;
  overflow: hidden;
}

.nav-wrap {
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
}
.nav-wrap--hidden {
  position: fixed;
  transform: translateY(-100%);
  transition: 0.3s;
}
.nav-wrap--fixed {
  position: fixed;
  transform: translateY(0);
  transition: 0.3s;
}

.h-nav {
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  z-index: 100;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}
.h-nav--absolute {
  position: absolute;
}
.h-nav__wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 1100px) {
  .h-nav__wrap {
    padding-top: 0.4545454545vw;
    padding-bottom: 0.4545454545vw;
  }
}
.h-nav__list {
  display: flex;
  align-items: center;
  margin-right: 30rem;
}
@media screen and (max-width: 1600px) {
  .h-nav__list {
    margin-right: 35rem;
  }
}
@media screen and (max-width: 1500px) {
  .h-nav__list {
    margin-right: 25rem;
  }
}
.h-nav__item {
  font-weight: 500;
  font-size: 1.6rem;
  white-space: nowrap;
  padding-top: 1.5rem;
}
@media screen and (max-width: 1500px) {
  .h-nav__item {
    margin-right: 0;
    font-size: 0.8666666667vw;
    padding-top: 0.78125vw;
  }
}
.h-nav__item a,
.h-nav__item span {
  display: flex;
  align-items: center;
  transition: 0.15s;
  cursor: pointer;
  padding: 0 1.0416666667vw;
  border-right: 1px solid #999;
}
.h-nav__item a:hover,
.h-nav__item span:hover {
  color: var(--color-primary);
}
.h-nav__item a:hover svg path,
.h-nav__item span:hover svg path {
  fill: var(--color-primary);
}
@media screen and (max-width: 1024px) {
  .h-nav__item a,
  .h-nav__item span {
    padding: 0 1rem;
  }
}
.h-nav__item:last-of-type a {
  border: none;
}
.h-nav__item svg {
  height: 2rem;
  margin-right: 0.8rem;
}
@media screen and (max-width: 1300px) {
  .h-nav__item svg {
    height: 1.5384615385vw;
    margin-right: 0.6153846154vw;
  }
}
@media screen and (max-width: 1024px) {
  .h-nav__item svg {
    margin-right: 0;
  }
}
.h-nav__item svg path {
  fill: var(--color-black);
  transition: 0.15s;
}
.h-nav__item.active {
  color: var(--color-primary);
}
.h-nav__item.active svg path {
  fill: var(--color-primary);
}
.h-nav__item--active {
  color: var(--color-primary);
}
.h-nav__item--active a {
  color: var(--color-primary) !important;
}
.h-nav__item--active svg path {
  fill: var(--color-primary);
}
.h-nav__coming a {
  color: #A0A0A0;
  position: relative;
  pointer-events: none;
}
.h-nav__coming a::after {
  content: "後日公開";
  color: var(--color-primary);
  font-size: 1.2rem;
  position: absolute;
  top: -1.7rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1500px) {
  .h-nav__coming a::after {
    top: -1.1333333333vw;
    font-size: 0.8vw;
  }
}
.h-nav__coming svg path {
  fill: #A0A0A0;
}
.h-nav__btn {
  display: flex;
  gap: 1.5rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1%;
}
@media screen and (max-width: 1920px) {
  .h-nav__btn {
    gap: 0.78125vw;
  }
}
@media screen and (max-width: 1024px) {
  .h-nav__btn {
    gap: 1rem;
  }
}
@media screen and (max-width: 1000px) {
  .h-nav__btn {
    width: auto;
  }
}
.h-nav__btn a {
  background: #fff;
  border: 1px solid #A8A8A8;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 0.3rem 1rem;
  padding-right: 4rem;
  position: relative;
  width: 100%;
  height: 100%;
  transition: 0.15s;
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (max-width: 1920px) {
  .h-nav__btn a {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 1500px) {
  .h-nav__btn a {
    padding-right: 2.6666666667vw;
  }
}
@media (max-width: 767px) {
  .h-nav__btn a {
    border: 1px solid var(--color-primary);
  }
}
.h-nav__btn a:hover {
  color: var(--color-primary);
}
.h-nav__btn a:hover svg path {
  fill: var(--color-primary);
}
.h-nav__btn a svg {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .h-nav__btn a svg {
    width: 1.0833333333vw;
    margin-left: 1rem;
  }
}
.h-nav__pulldown {
  margin-right: 3vw;
  position: relative;
}
.h-nav__pulldown span {
  position: relative;
  display: flex;
  align-items: center;
  transition: 0.15s;
}
.h-nav__pulldown span::after {
  content: "";
  width: 1.5rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M0.921875 0.892578L5.69193 5.6626L10.4619 0.892578' stroke='%23A0A0A0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -2.5rem;
  transition: 0.15s;
}
.h-nav__pulldown span:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M0.921875 0.892578L5.69193 5.6626L10.4619 0.892578' stroke='%23A50319' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.h-nav__detail {
  position: absolute;
  top: 3.8rem;
  left: 0;
  transition: 0.3s;
  opacity: 0;
  pointer-events: none;
  z-index: 100;
}
@media screen and (max-width: 1600px) {
  .h-nav__detail {
    top: 2.34375vw;
  }
}
.h-nav__detail::after {
  content: "";
  width: 16rem;
  height: 10rem;
  display: inline-block;
  position: absolute;
  background: transparent;
  left: 0;
  top: -1rem;
  z-index: -1;
}
.h-nav__detail li {
  background: #fff;
}
.h-nav__detail a {
  display: block;
  padding: 1rem;
  height: 4rem;
  display: flex;
  align-items: center;
  transition: 0.15s;
  color: var(--color-black);
}
.h-nav__detail a svg path {
  transition: 0.15s;
}
.h-nav__detail a:hover {
  color: var(--color-primary);
}
.h-nav__detail a:hover svg path {
  fill: var(--color-primary);
}
.h-nav__detail a::after {
  content: none;
}
.h-nav__detail a:first-of-type {
  border-bottom: 1px solid #D9D9D9;
}
.h-nav__detail a:first-of-type svg {
  width: 2.5rem;
}
.h-nav__detail a svg {
  width: 2rem;
}

.h-nav-clone {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  transform: translateY(-100%);
  z-index: 999;
}
.h-nav-clone--hidden {
  position: fixed;
  transform: translateY(-100%);
  transition: 0.3s;
  display: block;
}
.h-nav-clone--fixed {
  position: fixed;
  transform: translateY(0);
  animation-name: showScroll;
  animation-duration: 0.3s;
  display: block;
}
@keyframes showScroll {
  0% {
    transform: translateY(-46px);
  }
  100% {
    transform: translateY(0);
  }
}
.h-nav-clone .h-nav__wrap {
  padding-top: 1rem;
  padding-bottom: 1rem;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

.header--clone {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(0%);
  transition: 0.25s;
}
.header--clone.hidden {
  transform: translateY(-100%);
}
.header--clone.is-top {
  transform: translateY(-100%) !important;
}

footer#nx-globalfooter {
  font-family: "Sawarabi Gothic", "Noto Sans JP", sans-serif;
}

@media (max-width: 767px) {
  .nx-globalfooter {
    padding-bottom: 9rem;
  }
}
.nx-globalfooter__telBlock {
  padding-bottom: 3rem;
  padding-top: 3rem;
  background: #F0F0F0;
}
@media (max-width: 767px) {
  .nx-globalfooter__telBlock {
    text-align: center;
  }
}

.nx-globalfooter {
  background-position: center top;
}
.nx-globalfooter__nav {
  font-size: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media (max-width: 767px) {
  .nx-globalfooter__nav {
    font-size: 1rem;
  }
}
.nx-globalfooter__nav a {
  transition: 0.15s;
}
.nx-globalfooter__nav a:hover {
  color: var(--color-primary);
}
.nx-globalfooter__nav__li {
  line-height: 1;
  padding: 0.5em 1em;
}
.nx-globalfooter__cr__text {
  font-size: 1.4rem;
  color: #666;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .nx-globalfooter__cr__text {
    font-size: 1rem;
  }
  .nx-globalfooter__cr__text:nth-of-type(2) {
    margin-top: 1em;
  }
}

.nx-globalfooter__cr__text + .nx-globalfooter__cr__text {
  margin-top: 1em;
}

@media screen and (width <= 750px) {
  .nx-globalfooter {
    background-size: auto 5px;
  }
}
.nx-globalfooter__crBlock, .nx-globalfooter__navBlock, .nx-globalfooter__telBlock {
  padding-bottom: 3rem;
  padding-top: 3rem;
}
@media (max-width: 767px) {
  .nx-globalfooter__crBlock, .nx-globalfooter__navBlock, .nx-globalfooter__telBlock {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.nx-globalfooter__upper {
  padding: 30px 0;
}

.nx-globalfooter__clm2 {
  background: #fff;
  border-radius: 10px;
  padding: 3rem;
  display: flex;
  justify-content: center;
  width: 98rem;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .nx-globalfooter__clm2 {
    width: 95%;
    display: inline-block;
    padding: 1.5rem;
    margin: 0 auto;
  }
}

.nx-globalfooter__clm2__l, .nx-globalfooter__clm2__r {
  display: inline-block;
  vertical-align: top;
  text-align: left;
}

.nx-globalfooter__clm2__l h4 small {
  display: block;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .nx-globalfooter__clm2__l h4 small {
    font-size: 1.1rem;
  }
}

@media screen and (width <= 750px) {
  .nx-globalfooter__clm2__l, .nx-globalfooter__clm2__r {
    line-height: 1.75;
  }
}
.nx-globalfooter__clm2__l {
  font-size: 14px;
  font-size: 1.4rem;
  margin-right: 6rem;
}
@media (max-width: 767px) {
  .nx-globalfooter__clm2__l {
    font-size: 1rem;
  }
}

@media screen and (width <= 750px) {
  .nx-globalfooter__clm2__l {
    font-size: 12px;
    font-size: 1.2rem;
    display: block;
    margin: 0;
    text-align: center;
  }
}
.nx-globalfooter__clm2__l h4 {
  font-size: 24px;
  font-size: 2rem;
}
@media (max-width: 767px) {
  .nx-globalfooter__clm2__l h4 {
    font-size: 1.4rem;
    display: block;
    margin: 0 auto;
    text-align: center;
  }
}

.nx-globalfooter__clm2__r {
  margin-left: 10px;
}

.nx-globalfooter__clm2__r__upper {
  font-size: 4.8rem;
  padding-bottom: 15px;
  line-height: 1;
}
@media (max-width: 767px) {
  .nx-globalfooter__clm2__r__upper {
    font-size: 2.8rem;
  }
}

.nx-globalfooter__clm2__r__upper a {
  line-height: 1;
  transition: 0.15s;
  pointer-events: none;
  display: flex;
  align-items: center;
}
.nx-globalfooter__clm2__r__upper a:hover {
  opacity: 0.7;
}
@media (max-width: 767px) {
  .nx-globalfooter__clm2__r__upper a {
    pointer-events: all;
    justify-content: center;
  }
}
.nx-globalfooter__clm2__r__upper a span {
  display: flex;
  align-items: center;
  justify-content: center;
}
.nx-globalfooter__clm2__r__upper a svg {
  width: 26rem;
  height: 3.3rem;
}
@media (max-width: 767px) {
  .nx-globalfooter__clm2__r__upper a svg {
    width: 20rem;
    height: 2.5rem;
  }
}

.nx-globalfooter__clm2__r__upper a img {
  width: 5.6rem;
  margin-right: 10px;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .nx-globalfooter__clm2__r__upper a img {
    width: 4rem;
  }
}

.nx-globalfooter__clm2__r__lower {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #666;
}
@media (max-width: 767px) {
  .nx-globalfooter__clm2__r__lower {
    font-size: 1rem;
  }
}
.nx-globalfooter__clm2__r__lower a {
  text-decoration: underline;
  transition: 0.15s;
}
.nx-globalfooter__clm2__r__lower a:hover {
  color: var(--color-primary);
  text-decoration: none;
}

@media screen and (width <= 750px) {
  .nx-globalfooter__clm2__r {
    font-size: 20px;
    font-size: 2rem;
    display: block;
    margin: 25px auto 0;
    text-align: center;
  }
}
.nx-globalfooter__clm2__r .telNum {
  cursor: default;
  color: #000;
  font-size: 30px;
  font-weight: bold;
}

@media screen and (width <= 750px) {
  .nx-globalfooter__clm2__r .telNum {
    font-size: 20px;
    font-size: 2rem;
    display: block;
    text-align: center;
  }
}
.nx-globalfooter__clm2__r .telNum a {
  color: #000;
  text-decoration: none;
}

.nx-globalfooter__clm2__r .telNum img {
  vertical-align: baseline;
  margin-right: 10px;
}

@media screen and (width <= 750px) {
  .nx-globalfooter__clm2__r .telNum img {
    width: 30px;
    margin-right: 5px;
  }
}
.nx-globalfooter__clm2__r .small {
  font-size: 12px;
  float: none;
  clear: both;
  line-height: 1.6;
}

@media screen and (width <= 750px) {
  .nx-globalfooter__clm2__r .small {
    margin-left: -4.27%;
    margin-right: -4.27%;
  }
}
.nx-globalfooter__lower {
  color: #fff;
  background: #000;
  font-size: 10px;
  font-size: 1rem;
}

.nx-globalfooterNavList {
  font-size: 0;
  width: 100%;
  text-align: center;
  padding: 10px 0 20px;
}

.nx-globalfooterNavList__li {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  margin-top: 10px;
}

.nx-globalfooterNavList__li a {
  margin-left: 1.3em;
  position: relative;
  display: inline-block;
  color: #fff;
}

@media screen and (width <= 750px) {
  .nx-globalfooterNavList__li a {
    text-decoration: none;
  }
}
.nx-globalfooterNavList__li a::before {
  content: "";
  display: block;
  width: 0;
  height: 1em;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -0.65em;
  border-left: 1px solid #fff;
}

.nx-globalfooterNavList__li:first-child a {
  margin-left: 0;
}

.nx-globalfooterNavList__li:first-child a::before {
  content: none;
}

.nx-globalfooter__attention {
  text-align: center;
  padding-bottom: 10px;
}

.nx-globalfooter__copyright {
  text-align: center;
  padding-bottom: 20px;
}

.footer-tel-link {
  pointer-events: none;
  text-decoration: none !important;
}
@media (max-width: 767px) {
  .footer-tel-link {
    pointer-events: all;
    text-decoration: underline !important;
  }
}

.mv {
  width: 100%;
  height: 36rem;
  background: #ccc;
}
@media (max-width: 767px) {
  .mv {
    height: 28rem;
  }
}
.mv__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
@media (max-width: 767px) {
  .mv__inner {
    display: block;
  }
}
@media (max-width: 767px) {
  .mv__text-wrap {
    text-align: center;
    margin-bottom: 4rem;
  }
}
.mv__ttl {
  font-size: 4.6rem;
  letter-spacing: 7px;
  font-weight: bold;
}
@media (max-width: 767px) {
  .mv__ttl {
    font-size: 2.6rem;
  }
}
.mv__text {
  font-size: 1.8rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .mv__text {
    font-size: 1.4rem;
  }
}

.mv-container {
  position: relative;
  width: 59.6rem;
}
@media (max-width: 767px) {
  .mv-container {
    width: 100%;
  }
}
.mv-container__header {
  background: var(--color-primary);
  margin-bottom: 1rem;
  position: relative;
}
@media (max-width: 767px) {
  .mv-container__header {
    margin-bottom: 0.8rem;
  }
}
.mv-container__header span {
  color: #fff;
  background: var(--color-primary);
  line-height: 1;
  font-size: 2.2rem;
  font-weight: bold;
  padding-left: 3.5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  position: relative;
  width: 44rem;
}
@media (max-width: 767px) {
  .mv-container__header span {
    font-size: 1.4rem;
    height: 2.6rem;
    padding-left: 2rem;
    width: 70%;
  }
}
.mv-container__header span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -3.6rem;
  transform: translateY(-50%) rotate(-90deg);
  border-top: 2.5rem solid var(--color-primary);
  border-right: 2.5rem solid transparent;
  border-left: 2.5rem solid transparent;
}
@media (max-width: 767px) {
  .mv-container__header span::after {
    border-top: 1.3rem solid var(--color-primary);
    border-right: 1.3rem solid transparent;
    border-left: 1.3rem solid transparent;
    right: -1.8rem;
  }
}
.mv-container__header svg {
  width: 11rem;
  height: 11rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.5rem;
}
@media (max-width: 767px) {
  .mv-container__header svg {
    width: 6rem;
    height: 6rem;
    right: 1rem;
  }
}
.mv-container__body {
  background: #fff;
  padding: 2.5rem;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 1200px) {
  .mv-container__body {
    padding: 3.4rem 3rem;
  }
}
@media (max-width: 767px) {
  .mv-container__body {
    padding: 2rem;
    padding-right: 1.5rem;
    font-size: 1.3rem;
    line-height: 1.8;
  }
}
.mv-container__body span {
  display: inline;
  padding: 0 1rem 0;
  background: linear-gradient(transparent 0%, #FFD400 0%);
  box-decoration-break: clone;
  font-weight: bold;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .mv-container__body span {
    margin-right: 0;
    padding: 0.2rem 0.6rem;
  }
}
.mv-container__text {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  color: #fff;
}
@media (max-width: 767px) {
  .mv-container__text {
    font-size: 1.3rem;
  }
}

.menu-sp {
  background: #fff;
  position: fixed;
  top: 4.9rem;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: var(--delay-in);
  overflow: scroll;
}
.menu-sp.open {
  opacity: 1;
  pointer-events: auto;
}
.menu-sp__btn {
  padding-bottom: 5rem;
  margin-left: 2rem;
}
.menu-sp__btn a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid var(--color-primary);
  padding: 1rem 1.5rem;
  font-size: 1.4rem;
  font-weight: 500;
  width: 23rem;
  white-space: nowrap;
  border-radius: 0.5rem;
  line-height: 1.4;
}
.menu-sp__btn a:nth-of-type(2) {
  width: 17rem;
  margin-top: 1.5rem;
}
.menu-sp__btn svg {
  width: 1.3rem;
}

.sp-menu {
  margin-bottom: 2.5rem;
}
.sp-menu__item {
  border-bottom: 1px solid rgba(46, 46, 46, 0.5);
}
.sp-menu__item svg {
  max-width: 2.6rem;
}
.sp-menu__item svg path {
  fill: var(--color-primary);
}
.sp-menu__item--cp svg {
  width: 2rem;
}
.sp-menu__coming {
  position: relative;
}
.sp-menu__coming::after {
  content: "後日公開";
  color: var(--color-primary);
  font-size: 1rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 65%;
}
.sp-menu__coming a {
  pointer-events: none;
  color: #A0A0A0;
}
.sp-menu__coming svg path {
  fill: #A0A0A0;
}
.sp-menu__link {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1.5rem 2rem;
  font-size: 1.6rem;
  font-weight: bold;
  gap: 2rem;
}
.sp-menu__trigger {
  position: relative;
}
.sp-menu__trigger::after {
  content: "";
  width: 20px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%) rotate(180deg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='14' viewBox='0 0 25 14' fill='none'%3E%3Cpath d='M2 12.3101L12.6201 1.69003L23.2401 12.3101' stroke='%23A0A0A0' stroke-width='3.33962' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  transition: 0.2s;
}
.sp-menu__trigger--open::after {
  transform: translateY(-50%) rotate(0);
}
.sp-menu__detail {
  transition: 0.2s;
  height: 0;
}
.sp-menu__detail .sp-menu__link {
  opacity: 0;
  pointer-events: none;
  background: #F8EDED;
  padding: 0 6.5rem;
  height: 0;
  border-top: 1px solid rgba(46, 46, 46, 0.5);
  transition: 0.2s;
}
.sp-menu__detail--active {
  height: 12rem;
  transition: 0.2s;
}
.sp-menu__detail--active .sp-menu__link {
  opacity: 1;
  pointer-events: all;
  background: #F8EDED;
  padding: 0 6.5rem;
  height: 6rem;
  border-top: 1px solid rgba(46, 46, 46, 0.5);
  transition: 0.2s;
}

.btn-A {
  width: 46rem;
  text-align: center;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .btn-A {
    width: 100%;
  }
}
.btn-A a {
  font-size: 1.6rem;
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
  font-weight: 500;
  display: inline-block;
  position: relative;
  border: 1px solid var(--color-primary);
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border-radius: 10px;
  width: 100%;
  transition: 0.15s;
  line-height: 1;
  background: #fff;
}
@media (max-width: 767px) {
  .btn-A a {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
    font-size: 1.4rem;
  }
}
.btn-A a::after {
  content: "";
  width: 11px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13' fill='none'%3E%3Cpath d='M1.5 1.68652L6.5 6.68654L1.5 11.6865' stroke='%239A7B17' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
  transition: 0.15s;
}
@media (max-width: 767px) {
  .btn-A a::after {
    right: 1.2rem;
    width: 9px;
    height: 15px;
  }
}
.btn-A a:hover {
  color: var(--color-primary);
}
.btn-A a:hover::after {
  transform: translateY(-50%) translateX(3px);
}
.btn-A--pink {
  height: 9rem;
}
@media (max-width: 767px) {
  .btn-A--pink {
    height: 5rem;
  }
}
.btn-A--pink a {
  color: #fff;
  background: var(--color-primary);
}
.btn-A--pink a::after {
  width: 11px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13' fill='none'%3E%3Cpath d='M1.5 1.68652L6.5 6.68654L1.5 11.6865' stroke='%23FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.btn-A--pink a:hover {
  color: #fff;
}
.btn-A--vertical a::after {
  width: 18px;
  height: 11px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" fill="none"%3E%3Cpath d="M11 1.62988L5.99998 6.62988L1 1.62988" stroke="%239A7B17" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3C/path%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .btn-A--vertical a::after {
    right: 1rem;
    width: 1.2rem;
    height: 0.9rem;
  }
}
.btn-A--vertical a:hover {
  color: var(--color-primary);
}
.btn-A--vertical a:hover::after {
  transform: translateY(-50%) scale(1.3);
}
.btn-A--tab {
  position: relative;
}
.btn-A--tab svg {
  position: absolute;
  right: 2.5rem;
  width: 1.3rem;
  height: 1.3rem;
  top: 50%;
  transform: translateY(-50%);
}
.btn-A--tab svg path {
  fill: var(--color-primary);
}
.btn-A--tab a:hover {
  color: var(--color-primary);
}
.btn-A--tab a::after {
  content: none;
}
.btn-A--unpublished {
  position: relative;
}
.btn-A--unpublished::after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.btn-A--unpublished a {
  pointer-events: none;
  border: none;
}
.btn-A--green a {
  background: var(--color-primary);
}
.btn-A--green a span {
  color: #fff !important;
}
.btn-A--green a::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13' fill='none'%3E%3Cpath d='M1.5 1.68652L6.5 6.68654L1.5 11.6865' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.hmb-btn {
  position: relative;
  cursor: pointer;
  height: 5rem;
  width: 5rem;
}
.hmb-btn__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hmb-btn__hmb {
  position: relative;
  height: 3rem;
  width: 3rem;
}
.hmb-btn__hmb span {
  display: inline-block;
  transition: all var(--delay-in);
  /* アニメーションの設定 */
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  background: #fff;
  width: 80%;
}
.hmb-btn__hmb span:nth-of-type(1) {
  top: 0;
}
.hmb-btn__hmb span:nth-of-type(2) {
  top: 25%;
  transform: translate(-50%, 0);
}
.hmb-btn__hmb span:nth-of-type(3) {
  top: 50%;
}
.hmb-btn__hmb span:nth-of-type(4) {
  color: #fff;
  bottom: 4px;
  font-size: 1.1rem;
  text-align: center;
  background: none;
  left: 50%;
  transform: translateX(-60%) translateY(50%);
  height: auto;
  text-transform: uppercase;
}

.hmb-btn.active .hmb-btn__hmb span:nth-of-type(1) {
  top: 25%;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg);
  width: 90%;
}
.hmb-btn.active .hmb-btn__hmb span:nth-of-type(2) {
  width: 50%;
  opacity: 0;
  /* 真ん中の線は透過 */
}
.hmb-btn.active .hmb-btn__hmb span:nth-of-type(3) {
  top: 25%;
  left: 50%;
  width: 90%;
  transform: translateX(-50%) rotate(45deg);
}

.pagetop {
  background: rgb(255, 255, 255);
  border: 2px solid var(--color-primary);
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 5rem;
  border-radius: 5px;
  line-height: 5rem;
  z-index: 998;
  cursor: pointer;
  transition: var(--delay-in);
  opacity: 0;
  pointer-events: none;
  text-align: center;
}
@media (max-width: 767px) {
  .pagetop {
    width: 4rem;
    height: 4rem;
    line-height: 3rem;
    bottom: 6rem;
  }
}
.pagetop.active {
  opacity: 1;
  pointer-events: all;
}
@media (max-width: 767px) {
  .pagetop .bi-chevron-up {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
}
.pagetop .bi-chevron-up::before {
  color: var(--color-primary);
}
@media (max-width: 767px) {
  .pagetop .bi-chevron-up::before {
    font-size: 2rem;
  }
}

.yt-wrap {
  width: 73rem;
  height: 41rem;
  margin: 0 auto 4rem;
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .yt-wrap {
    width: 100%;
    height: 19.5rem;
    margin-bottom: 2rem;
  }
}

.movie-size {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 4.4rem;
  font-weight: normal;
}
@media (max-width: 767px) {
  .movie-size {
    font-size: 1rem;
    margin-bottom: 2rem;
  }
}

.wrap.wrap--maintenance .maintenance {
  background: #EEE;
  text-align: center;
  padding-top: 10rem;
  padding-bottom: 13rem;
}
@media (max-width: 767px) {
  .wrap.wrap--maintenance .maintenance {
    padding-top: 5rem;
    padding-bottom: 6rem;
  }
}
.wrap.wrap--maintenance .maintenance__svg {
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  .wrap.wrap--maintenance .maintenance__svg {
    margin-bottom: 1.5rem;
  }
}
.wrap.wrap--maintenance .maintenance__ttl {
  font-size: 3.6rem;
  margin-bottom: 3.8rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .wrap.wrap--maintenance .maintenance__ttl {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.wrap.wrap--maintenance .maintenance__text {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .wrap.wrap--maintenance .maintenance__text {
    font-size: 1.3rem;
  }
}

/* --------------------------
	page
-------------------------- */
.wrap-map-loader {
  height: 40.625vw;
  position: relative;
}
@media (max-width: 767px) {
  .wrap-map-loader {
    height: 45rem;
  }
}
.wrap-map-loader #js-react-top-app {
  opacity: 0;
}
.wrap-map-loader .map-loader {
  background: #BAE4FA url("../images/common/map.webp") center center no-repeat;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 990;
  transition: 0.5s;
}
@media (max-width: 767px) {
  .wrap-map-loader .map-loader {
    background: #BAE4FA url("../images/common/map_sp.webp") center center no-repeat;
    background-size: 100%;
  }
}
.wrap-map-loader .map-loader--release {
  background: #BAE4FA url("../images/common/map02.webp") center center no-repeat;
  background-size: 100%;
}
@media (max-width: 767px) {
  .wrap-map-loader .map-loader--release {
    background: #BAE4FA url("../images/common/map02_sp.webp") center center no-repeat;
    background-size: 100%;
  }
}
.wrap-map-loader .map-loader .container {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  padding: 3rem;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wrap-map-loader .map-loader .circle {
  box-sizing: border-box;
  width: 8rem;
  height: 8rem;
  border-radius: 100%;
  border: 10px solid rgba(255, 255, 255, 0.2);
  border-top-color: #FFF;
  animation: spin 1s infinite linear;
}
@media (max-width: 767px) {
  .wrap-map-loader .map-loader .circle {
    width: 6rem;
    height: 6rem;
    border: 6px solid rgba(255, 255, 255, 0.2);
    border-top-color: #FFF;
  }
}

.is-map-loaded #js-react-top-app {
  opacity: 1;
}
.is-map-loaded .wrap-map-loader {
  height: auto !important;
}
.is-map-loaded .wrap-map-loader .map-loader {
  opacity: 0;
  pointer-events: none;
}

.nx-trafficKv {
  height: 27rem;
  position: relative;
}
@media (max-width: 767px) {
  .nx-trafficKv {
    height: 21rem;
  }
}
.nx-trafficKv__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
@media (max-width: 767px) {
  .nx-trafficKv__inner {
    flex-direction: column;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding-top: 0;
  }
}
.nx-trafficKv__center {
  justify-content: center;
}
@media (max-width: 767px) {
  .nx-trafficKv__center {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .nx-trafficKv__text-wrap {
    text-align: center;
    margin-bottom: 2rem;
  }
}
.nx-trafficKv__span {
  font-size: 1.8rem;
  line-height: 1.1;
  font-weight: 500;
  background: #fff;
  border-radius: 5rem;
  padding: 0.9rem 2rem;
  display: inline-block;
  font-weight: bold;
}
@media (max-width: 767px) {
  .nx-trafficKv__span {
    font-size: 0.9rem;
    padding: 0.4rem 1rem;
  }
}
@media (max-width: 767px) {
  .nx-trafficKv__ttl-area {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
}
.nx-trafficKv__ttl {
  font-size: 4.6rem;
  letter-spacing: 7px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
}
@media (max-width: 767px) {
  .nx-trafficKv__ttl {
    font-size: 2.6rem;
  }
}
.nx-trafficKv__text {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
@media (max-width: 767px) {
  .nx-trafficKv__text {
    font-size: 1.4rem;
  }
}
.nx-trafficKv__icon {
  width: 17rem;
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .nx-trafficKv__icon {
    width: 8.5rem;
    margin-top: 0.5rem;
  }
}
.nx-trafficKv__svg {
  margin: 0.5rem;
}
@media (max-width: 767px) {
  .nx-trafficKv__svg {
    height: auto;
  }
}

@keyframes spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(359deg);
  }
}
.crumb {
  background: #EFEFEF;
  padding-top: 2rem;
  padding-bottom: 2rem;
  line-height: 1.1;
}
.crumb__list {
  font-size: 1.4rem;
  font-weight: 500;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .crumb__list {
    font-size: 1.2rem;
    flex-wrap: wrap;
  }
}
.crumb__list li {
  position: relative;
  color: var(--color-primary);
  position: relative;
  padding-right: 1.5rem;
  margin-right: 1.5rem;
}
.crumb__list li::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='13' viewBox='0 0 7 13' fill='none'%3E%3Cpath d='M1 1.10938L6 6.10939L1 11.1094' stroke='%239A7B17' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  width: 0.8rem;
  height: 1.3rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -0.2rem;
}
@media (max-width: 767px) {
  .crumb__list li:nth-of-type(3) {
    margin-top: 1rem;
    width: 100%;
  }
}
.crumb__list li:last-of-type {
  color: #333;
}
.crumb__list li:last-of-type::after {
  background: none;
}

.t-bold {
  font-weight: bold;
}

.heading-A {
  font-size: 2.8rem;
  line-height: 1.4;
  text-align: center;
  color: var(--color-black);
  border-top: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media (max-width: 767px) {
  .heading-A {
    padding: 1rem 0;
    margin-bottom: 2.5rem;
    font-size: 1.6rem;
  }
}

.heading-B {
  font-size: 2.8rem;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 767px) {
  .heading-B {
    font-size: 2.2rem;
  }
}

.heading-C {
  background: #F5F5DC;
  color: var(--color-primary);
  font-size: 2.4rem;
  padding: 1.5rem 2rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .heading-C {
    padding: 1rem;
    font-size: 1.4rem;
  }
}

.heading-D {
  text-align: center;
  background: var(--color-primary);
  color: #fff;
  font-size: 2rem;
  padding: 1.5rem 2rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .heading-D {
    padding: 1rem;
    font-size: 1.4rem;
  }
}
.heading-D--strong {
  padding: 0 1rem;
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  .heading-D--strong {
    padding: 0 0.6rem;
    font-size: 1.6rem;
  }
}
.heading-D--red {
  background-color: #A50319;
}

.content-wrap {
  padding-top: 5rem;
  margin-bottom: -5rem;
}
@media (max-width: 767px) {
  .content-wrap {
    padding-top: 0;
    margin-bottom: 2rem;
  }
}

.content {
  border: 2px solid var(--color-primary);
  background: #F8EDED;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 5rem;
  position: relative;
}
@media (max-width: 767px) {
  .content {
    margin-bottom: 5rem;
    margin-bottom: 2rem;
    border-radius: 5px;
    margin-bottom: 0;
  }
}
.content__header {
  background: var(--color-primary);
  width: 100%;
  color: #fff;
  padding: 3rem 4rem;
  position: relative;
  cursor: pointer;
  font-size: 2.4rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .content__header {
    padding: 1.5rem;
    font-size: 1.6rem;
    padding: 1.5rem;
  }
}
.content__header::after {
  content: "";
  width: 4rem;
  height: 4rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 4rem;
  transform: translateY(-50%) rotate(180deg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Ccircle cx='20' cy='20' r='20' transform='rotate(-180 20 20)' fill='white'/%3E%3Cpath d='M11.2 22.4004L20 13.6004L28.8 22.4004' stroke='%23094' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: cover;
  background-size: contain;
  background-repeat: no-repeat;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .content__header::after {
    width: 2rem;
    height: 2rem;
    right: 2rem;
    top: 25%;
  }
}
.content__header.open::after {
  transform: translateY(-50%) rotate(0);
}
.content__header .nx-exclusion {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .content__header .nx-exclusion {
    font-size: 1.1rem;
    display: block;
    margin-bottom: 1rem;
  }
}
.content__list {
  padding: 0 4rem;
  height: 0;
  overflow: hidden;
  transition: 0.3s;
  background: #F5F5DC;
}
.content__list.active {
  height: auto;
  padding-top: 4rem;
}
@media (max-width: 767px) {
  .content__list.active {
    padding: 1.5rem;
  }
}
@media (max-width: 767px) {
  .content__line {
    margin-bottom: 0.5rem;
  }
}
.content__note {
  font-size: 1.1rem;
}
@media (max-width: 767px) {
  .content__note {
    font-size: 1rem;
  }
}

.content-item {
  background: #fff;
  padding: 3rem;
  margin-bottom: 4rem;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .content-item {
    padding: 1.5rem;
    margin-bottom: 2rem;
    display: block;
  }
}
.content-item__ttl {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .content-item__ttl {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }
}
.content-item__area {
  margin-bottom: 3rem;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (max-width: 1200px) {
  .content-item__area {
    font-size: 2.6666666667vw;
  }
}
@media (max-width: 767px) {
  .content-item__area {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}

.line-wrap {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 767px) {
  .line-wrap {
    display: block;
  }
}

.effort__header {
  display: flex;
  align-items: center;
  color: #fff;
  font-weight: bold;
  background: var(--color-primary);
  padding: 1.4rem 3rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .effort__header {
    padding: 0.9rem 1.5rem;
  }
}
.effort__number {
  margin-right: 3rem;
  font-size: 4.6rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .effort__number {
    font-size: 2.3rem;
    margin-right: 0.8rem;
  }
}
.effort__ttl {
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  .effort__ttl {
    font-size: 1.3rem;
  }
}
.effort__body {
  padding: 3rem;
  font-size: 1.6rem;
  background: #F5F5F5;
}
@media (max-width: 767px) {
  .effort__body {
    padding: 1.5rem;
    font-size: 1.2rem;
  }
}
.effort__flex {
  display: flex;
}
.effort__wrap {
  background: #fff;
}
.menu {
  background: #F5F5DC;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .menu {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.menu .heading-B {
  margin-bottom: 4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .menu .heading-B {
    margin-bottom: 2rem;
  }
}
.menu__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 1200px) {
  .menu__list {
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .menu__list {
    gap: 1rem;
    padding: 0 1.5rem;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
.menu__item {
  width: 17.5rem;
  height: 17.5rem;
}
@media (min-width: 768px) and (max-width: 1200px) {
  .menu__item {
    width: calc((100% - 4rem) * 1 / 3);
    height: 23rem;
  }
}
@media (max-width: 980px) {
  .menu__item {
    height: 20rem;
  }
}
@media (max-width: 767px) {
  .menu__item {
    width: 100%;
    height: 16rem;
    margin-right: 0;
    margin-bottom: 0;
  }
}
.menu__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 10px;
  height: 100%;
  border: 3px solid var(--color-primary);
  transition: 0.15s;
}
.menu__item a:hover {
  background: var(--color-primary);
}
.menu__item a:hover .menu__ttl {
  color: #fff;
}
.menu__item a:hover svg path {
  fill: #fff;
}
.menu__coming a {
  background: #A0A0A0;
  border: 3px solid #A0A0A0;
  pointer-events: none;
}
.menu__coming svg path {
  fill: #fff !important;
}
.menu__coming .menu__ttl {
  color: #fff;
}
.menu__hidden {
  display: none;
}
.menu__ttl {
  color: var(--color-primary);
  font-weight: bold;
  font-size: 1.8rem;
  transition: 0.15s;
}
@media (max-width: 767px) {
  .menu__ttl {
    font-size: 1.4rem;
  }
}
.menu__text {
  color: #fff;
  font-size: 1.4rem;
  padding-top: 0.5rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .menu__text {
    font-size: 1.2rem;
  }
}
.menu__content {
  text-align: center;
}
.menu__content svg {
  height: 5rem;
}
@media (max-width: 767px) {
  .menu__content svg {
    height: 3rem;
  }
}
.menu__content svg path {
  transition: 0.15s;
  fill: var(--color-primary);
}

.line-number {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  width: 4.5rem;
  height: 4.5rem;
  line-height: 4.5rem;
  color: var(--color-black);
  background: #FFC800;
  display: inline-block;
  border-radius: 8px;
  text-align: center;
  font-size: 3.5rem;
}
@media screen and (max-width: 1200) {
  .line-number {
    width: 4.1666666667vw;
    height: 4.1666666667vw;
    font-size: 3.3333333333vw;
  }
}
@media (max-width: 767px) {
  .line-number {
    width: 3rem;
    height: 3rem;
    line-height: 3rem;
    font-size: 2rem;
    border-radius: 4px;
  }
}
.line-number--purple {
  background: #1D2088;
}
.line-number--red {
  background: #E60012;
}

.t-red {
  color: #E60012;
}

.side-menu {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 4rem;
  align-items: center;
  position: fixed;
  right: 0;
  top: 25%;
  z-index: 998;
}
@media (max-width: 767px) {
  .side-menu {
    width: 100%;
    flex-direction: row;
    left: 0;
    top: auto;
    bottom: 0;
    align-items: center;
    justify-content: center;
    gap: 0;
  }
}

.side-btn {
  color: #fff;
  padding: 1.8rem 1rem 2.8rem 0.6rem;
  border-radius: 8px 0 0 8px;
  writing-mode: vertical-rl;
  text-orientation: upright;
  display: inline-block;
  transition: 0.15s;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  display: flex;
  gap: 1rem;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .side-btn {
    writing-mode: horizontal-tb;
    border-radius: 0;
    width: 100%;
    font-size: 1.2rem;
    border-width: 1px;
    padding: 1.2rem 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.side-btn span {
  display: flex;
}
.side-btn svg {
  transition: 0.15s;
  width: 2.4rem;
}
.side-btn svg path {
  transition: 0.15s;
}
.side-btn--red {
  background: var(--color-primary);
}
.side-btn--red:hover {
  background: #fff;
  color: var(--color-primary);
  border-color: var(--color-primary);
}
@media (max-width: 767px) {
  .side-btn--red:hover svg {
    width: 2.5rem;
  }
}
.side-btn--red:hover svg path {
  fill: var(--color-primary);
}
.side-btn--orange {
  background: #EE7800;
}
.side-btn--orange:hover {
  background: #fff;
  color: #EE7800;
  border-color: #EE7800;
}
@media (max-width: 767px) {
  .side-btn--orange:hover svg {
    width: 2rem;
  }
}
.side-btn--orange:hover svg path {
  fill: #EE7800;
}

.swiper-horizontal {
  position: relative;
}

::part(button-next) {
  position: absolute;
}

swiper-container::part(button-next) svg {
  display: none;
}

::part(svg) {
  display: none;
}

.nx-news-contents,
.popup-news-contents {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .nx-news-contents,
  .popup-news-contents {
    font-size: 1.2rem;
  }
}
.nx-news-contents h1,
.popup-news-contents h1 {
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 2rem;
  text-align: left;
}
@media (max-width: 767px) {
  .nx-news-contents h1,
  .popup-news-contents h1 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}
.nx-news-contents h2,
.popup-news-contents h2 {
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 2rem;
  text-align: left;
}
@media (max-width: 767px) {
  .nx-news-contents h2,
  .popup-news-contents h2 {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
}
.nx-news-contents img,
.popup-news-contents img {
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .nx-news-contents img,
  .popup-news-contents img {
    margin-bottom: 2rem;
  }
}
.nx-news-contents a,
.popup-news-contents a {
  color: var(--color-primary);
  text-decoration: underline;
  transition: 0.15s;
}
.nx-news-contents a:hover,
.popup-news-contents a:hover {
  text-decoration: underline;
  opacity: 0.7;
}
.nx-news-contents p,
.popup-news-contents p {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .nx-news-contents p,
  .popup-news-contents p {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}

.road {
  color: #fff;
  border: 1px solid #fff;
  line-height: 1;
  padding: 5px 5px 3px;
  font-weight: 500;
  font-size: 2.2rem;
  border-radius: 3px;
  background: #008765;
  vertical-align: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 5px;
  font-family: "Roboto", sans-serif;
}
@media (max-width: 767px) {
  .road {
    font-size: 1.1rem;
    padding: 2px 3px 2px;
  }
}

.simplebar-track.simplebar-vertical {
  background-color: #eee !important;
  display: block !important;
  width: 6px !important;
}

.simplebar-track.simplebar-horizontal {
  background-color: #eee !important;
  height: 6px !important;
}

.simplebar-scrollbar {
  background-color: #9A7B17 !important;
}

.simplebar-scrollbar::before {
  display: none !important;
}

.js-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
  overflow: auto;
  text-align: center;
  padding: 0 1.5rem;
}

.js-modal-active {
  display: block;
}
@media (max-width: 767px) {
  .js-modal-active {
    display: flex !important;
  }
}

body.js-modal-active {
  overflow: hidden;
}

.js-modal-content {
  width: 140rem;
  max-width: 120rem;
  background: #fff;
  padding: 1rem 7rem 2rem;
  margin: 1.5rem auto;
  max-height: 90vh;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow-y: auto;
}
@media screen and (max-width: 1450px) {
  .js-modal-content {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .js-modal-content {
    width: 90%;
    margin: auto;
    padding: 5rem 1rem 2rem;
  }
}
.js-modal-content .close {
  color: #fff;
  background: var(--color-primary);
  width: 6rem;
  height: 6rem;
  font-weight: bold;
  font-size: 6rem;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  right: 0;
  cursor: pointer;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .js-modal-content .close {
    right: 0;
  }
}
@media (max-width: 767px) {
  .js-modal-content .close {
    right: 0;
    width: 4rem;
    height: 4rem;
  }
  .js-modal-content .close svg {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.js-modal-content .js-modal-scroll {
  overflow-x: auto;
  scrollbar-color: var(--color-primary) #f3f3f3;
  scrollbar-width: thin;
}
.js-modal-content .js-modal-scroll img {
  width: 360rem;
  max-width: 300%;
  padding-bottom: 3rem;
}
@media (max-width: 767px) {
  .js-modal-content .js-modal-scroll img {
    max-width: 680%;
    width: 240rem;
    padding-bottom: 1rem;
  }
}
.js-modal-content .js-modal2 .js-modal-content {
  overflow-y: auto;
}

.warning {
  position: relative;
  padding: 4rem 3rem 3rem;
  background: #FDE9E9;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .warning {
    padding: 2rem 1rem 1.5rem;
    border-radius: 5px;
  }
}
.warning__heading {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 767px) {
  .warning__heading {
    gap: 0.6rem;
  }
}
.warning__ttl {
  text-align: center;
  white-space: nowrap;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff, -2px 0px 0 #fff, 2px 0px 0 #fff, 0px -2px 0 #fff, 0px 2px 0 #fff;
  font-size: 3.6rem;
  font-weight: bold;
  color: #E60012;
}
@media (max-width: 767px) {
  .warning__ttl {
    font-size: 1.6rem;
  }
}
.warning__icon {
  width: 5rem;
  height: 4.4rem;
}
@media (max-width: 767px) {
  .warning__icon {
    width: 2.5rem;
    height: 2.2rem;
  }
}
.warning__txt {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  color: var(--color-black);
  margin-bottom: 1.5rem;
}
@media (max-width: 767px) {
  .warning__txt {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}
.warning__txt a {
  color: #0b82fb;
  text-decoration: underline;
  transition: all 0.2s ease;
}
.warning__txt a:hover {
  opacity: 0.7;
}

.selection {
  background: #fff;
  border: 1px solid #CCCBCB;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5rem;
  padding: 3rem;
}
@media (max-width: 767px) {
  .selection {
    flex-direction: column;
    padding: 1.5rem;
    gap: 1.25rem;
  }
}
.selection__img {
  width: 27.5rem;
}
@media (max-width: 767px) {
  .selection__img {
    width: 11.7rem;
  }
}
.selection__ttl {
  color: #E60012;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .selection__ttl {
    font-size: 1.2rem;
    margin-bottom: 1.25rem;
    text-align: center;
  }
}
.selection__txt {
  color: var(--color-black);
  font-size: 2.2rem;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .selection__txt {
    font-size: 1.2rem;
  }
}
.selection__txt .road {
  font-size: 2.2rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .selection__txt .road {
    font-size: 1.2rem;
  }
}

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

	各ページの独自モジュールスタイルのCSS。

	【記述ルール】
	{ ページ名(top, about等) }○○○○

	階層はルートクラスより、三階層までが基本
	【例】
	.top-sec .top-sec__ttl span {
	}
	※CSSに展開した場合

---------------------------------------------------- */
@media (max-width: 767px) {
  .wrap.wrap--top .wrap-map-loader {
    height: 50rem;
  }
}
.wrap.wrap--top .map-info-note {
  border: 2px solid var(--color-primary);
  display: flex;
  width: 95%;
  margin: 5rem auto;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.15);
}
@media (max-width: 767px) {
  .wrap.wrap--top .map-info-note {
    display: block;
    width: 100%;
    margin: 2rem auto;
  }
}
.wrap.wrap--top .map-info-note__header {
  background: var(--color-primary);
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  padding: 1.5rem 2.5rem;
  width: 22%;
}
@media screen and (max-width: 1200px) {
  .wrap.wrap--top .map-info-note__header {
    font-size: 1.5vw;
    padding: 1.25vw 2.0833333333vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .map-info-note__header {
    font-size: 1.4rem;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    width: 100%;
  }
}
.wrap.wrap--top .map-info-note__body {
  background: #fff;
  color: var(--color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 1.6rem;
  padding: 0 2.5rem 0 4rem;
  width: 78%;
  line-height: 1.5;
}
@media screen and (max-width: 1200px) {
  .wrap.wrap--top .map-info-note__body {
    font-size: 1.3333333333vw;
    padding: 0 2.0833333333vw 0 3.3333333333vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .map-info-note__body {
    padding: 1.5rem 2rem;
    font-size: 1.1rem;
    text-align: center;
    width: 100%;
  }
}
.wrap.wrap--top .info-bg {
  background-image: url(../images/top/info-bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  padding: 5.3rem 0 6rem;
  background-size: 100% auto;
}
@media (max-width: 767px) {
  .wrap.wrap--top .info-bg {
    background-size: 100% auto;
    padding: 2.4rem 0 2rem;
    background-image: url(../images/top/info-bg-sp.png);
  }
}
.wrap.wrap--top .info {
  border: 3px solid var(--color-primary);
  text-align: center;
  position: relative;
  padding: 8rem 16rem;
  border-radius: 20px;
  background: #fff;
}
@media (max-width: 767px) {
  .wrap.wrap--top .info {
    margin-bottom: 2rem;
    padding: 1.5rem 10rem 1.5rem 1.5rem;
    border-width: 1px;
    border-radius: 10px;
    text-align: left;
  }
}
.wrap.wrap--top .info__text {
  line-height: 2;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 1200px) {
  .wrap.wrap--top .info__text {
    font-size: 1.5vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .info__text {
    font-size: 1.2rem;
    font-weight: normal;
    margin-bottom: 1.5rem;
    line-height: 1.6;
  }
}
.wrap.wrap--top .info__asterisk {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .wrap.wrap--top .info__asterisk {
    font-size: 1rem;
  }
}
.wrap.wrap--top .info__img {
  width: 16.5rem;
  position: absolute;
  right: 3rem;
  bottom: 0;
}
@media screen and (max-width: 1200px) {
  .wrap.wrap--top .info__img {
    width: 13.75vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .info__img {
    width: 7rem;
    right: 1.5rem;
  }
}
.wrap.wrap--top .info-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2.5rem;
  margin-bottom: 6.5rem;
}
@media (max-width: 767px) {
  .wrap.wrap--top .info-list {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 2rem;
  }
}
.wrap.wrap--top .info-list__item {
  aspect-ratio: 1/1;
}
.wrap.wrap--top .info-list__item a {
  background: #fff;
  border-radius: 20px;
  text-align: center;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 3px solid var(--color-primary);
  transition: 0.15s;
}
.wrap.wrap--top .info-list__item a svg path {
  fill: var(--color-primary);
  transition: 0.15s;
}
.wrap.wrap--top .info-list__item a:hover {
  background: var(--color-primary);
}
.wrap.wrap--top .info-list__item a:hover svg path {
  fill: #fff;
}
.wrap.wrap--top .info-list__item a:hover .info-list__ttl {
  color: #fff;
}
.wrap.wrap--top .info-list__item a:hover .info-list__text {
  color: #fff;
}
@media (max-width: 767px) {
  .wrap.wrap--top .info-list__item a {
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-radius: 15px;
  }
}
.wrap.wrap--top .info-list__item section {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1200px) {
  .wrap.wrap--top .info-list__item section {
    gap: 2.5vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .info-list__item section {
    gap: 1.2rem;
  }
}
.wrap.wrap--top .info-list__icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .wrap.wrap--top .info-list__icon svg {
    max-height: 3.6rem;
  }
  .wrap.wrap--top .info-list__icon svg path {
    transition: 0.15s;
  }
}
.wrap.wrap--top .info-list__ttl {
  font-size: 2.8rem;
  color: var(--color-primary);
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "palt";
  transition: 0.15s;
}
@media (max-width: 767px) {
  .wrap.wrap--top .info-list__ttl {
    font-size: 1.6rem;
  }
}
.wrap.wrap--top .info-list__text {
  font-size: 1.4rem;
  color: var(--color-black);
  font-weight: 700;
  line-height: 1.57;
  transition: 0.15s;
}
@media (max-width: 767px) {
  .wrap.wrap--top .info-list__text {
    font-size: 1rem;
    font-weight: normal;
  }
}
.wrap.wrap--top .info-list__comming {
  pointer-events: none;
}
.wrap.wrap--top .info-list__comming a {
  background: rgb(160, 160, 160);
  border: none;
}
.wrap.wrap--top .info-list__comming a .info-list__icon svg path {
  fill: rgb(255, 255, 255);
}
.wrap.wrap--top .info-list__comming a .info-list__ttl {
  color: rgb(255, 255, 255);
}
.wrap.wrap--top .info-list__comming a .info-list__text {
  color: rgb(255, 255, 255);
}
.wrap.wrap--top .cp-bnr {
  padding-top: 5rem;
  padding-bottom: 5rem;
  text-align: center;
  background: repeating-linear-gradient(-45deg, #F5F5DC, #F5F5DC 4px, #fff 0, #fff 18px);
}
@media (max-width: 767px) {
  .wrap.wrap--top .cp-bnr {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
.wrap.wrap--top .cp-bnr__heading {
  font-size: 2.8rem;
  line-height: 1.5;
  color: var(--color-primary);
  text-align: center;
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  .wrap.wrap--top .cp-bnr__heading {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.wrap.wrap--top .cp-bnr__link {
  display: inline-block;
  margin-bottom: 3rem;
}
.wrap.wrap--top .cp-bnr a {
  transition: 0.15s;
}
.wrap.wrap--top .cp-bnr a:hover {
  opacity: 0.7;
}
.wrap.wrap--top .cp-bnr__note {
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: center;
}
@media (max-width: 767px) {
  .wrap.wrap--top .cp-bnr__note {
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
  }
}
.wrap.wrap--top .find-info {
  background: var(--color-primary);
  padding-top: 5rem;
  padding-bottom: 5rem;
  text-align: center;
}
@media (max-width: 767px) {
  .wrap.wrap--top .find-info {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.wrap.wrap--top .find-info__ttl {
  margin-bottom: 4.4rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 767px) {
  .wrap.wrap--top .find-info__ttl {
    margin-bottom: 2.5rem;
    font-size: 1.6rem;
    gap: 0.6rem;
  }
}
.wrap.wrap--top .find-info__svg {
  width: 4.7rem;
  height: 4.7rem;
  display: block;
}
@media (max-width: 767px) {
  .wrap.wrap--top .find-info__svg {
    width: 2.8rem;
    height: 2.8rem;
  }
}
.wrap.wrap--top .find-info__svg svg {
  width: 100%;
  height: 100%;
}
.wrap.wrap--top .find-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media (max-width: 767px) {
  .wrap.wrap--top .find-item {
    display: block;
  }
}
.wrap.wrap--top .find-item__list {
  font-size: 1.6rem;
  font-weight: 700;
  background: #fff;
  border-radius: 10px;
  position: relative;
  transition: 0.15s;
  cursor: pointer;
}
@media (max-width: 767px) {
  .wrap.wrap--top .find-item__list {
    margin-bottom: 1rem;
    border-radius: 5px;
    font-size: 1.2rem;
  }
}
.wrap.wrap--top .find-item__list:hover {
  opacity: 0.7;
  color: var(--color-primary);
}
.wrap.wrap--top .find-item__list:hover::after {
  transform: translateY(-50%) translateX(3px);
}
.wrap.wrap--top .find-item__list::after {
  content: "";
  width: 11px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='13' viewBox='0 0 8 13' fill='none'%3E%3Cpath d='M1.5 1.68652L6.5 6.68654L1.5 11.6865' stroke='%239A7B17' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.5rem;
  transition: 0.15s;
}
@media (max-width: 767px) {
  .wrap.wrap--top .find-item__list::after {
    right: 1.5rem;
  }
}
.wrap.wrap--top .find-item__list span {
  padding-top: 2.9rem;
  padding-bottom: 2.9rem;
  display: inline-block;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .wrap.wrap--top .find-item__list span {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
  }
}
.wrap.wrap--top .area {
  padding-top: 6.2rem;
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .wrap.wrap--top .area {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.wrap.wrap--top .area__ttl {
  text-align: center;
  color: var(--color-primary);
  border-top: 1px solid var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  margin-bottom: 4.6rem;
}
@media (max-width: 767px) {
  .wrap.wrap--top .area__ttl {
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 2.5rem;
  }
}
.wrap.wrap--top .area__link {
  display: block;
  color: #fff;
  background: #2890CD;
  border-radius: 10px;
  padding: 2rem 3rem;
  border: 3px solid #2890CD;
  width: 49rem;
  text-align: center;
  margin: 5rem auto 0;
  font-weight: 500;
  font-size: 1.6rem;
  transition: 0.15s;
  position: relative;
}
@media (max-width: 767px) {
  .wrap.wrap--top .area__link {
    font-size: 1.4rem;
    width: 30rem;
    border-width: 2px;
    margin-top: 2.5rem;
    padding: 1.3rem 1.5rem;
  }
}
.wrap.wrap--top .area__link::after {
  content: "";
  width: 4.2rem;
  height: 4.2rem;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2254%22%20height=%2255%22%20viewBox=%220%200%2054%2055%22%20fill=%22none%22%3E%3Cpath%20d=%22M37.8001%2039.7719H16.2C15.7227%2039.7719%2015.2648%2039.5823%2014.9273%2039.2447C14.5897%2038.9072%2014.4%2038.4493%2014.4%2037.9719V16.3719C14.4%2015.8945%2014.5897%2015.4367%2014.9273%2015.0991C15.2648%2014.7616%2015.7227%2014.5719%2016.2%2014.5719H25.2C25.4364%2014.5719%2025.6705%2014.5254%2025.8889%2014.4349C26.1073%2014.3444%2026.3057%2014.2119%2026.4728%2014.0447C26.64%2013.8776%2026.7726%2013.6791%2026.863%2013.4608C26.9535%2013.2424%2027.0001%2013.0083%2027.0001%2012.7719C27.0001%2012.5355%2026.9535%2012.3015%2026.863%2012.0831C26.7726%2011.8647%2026.64%2011.6663%2026.4728%2011.4991C26.3057%2011.332%2026.1073%2011.1994%2025.8889%2011.1089C25.6705%2011.0185%2025.4364%2010.9719%2025.2%2010.9719H14.4C13.4453%2010.9719%2012.5296%2011.3512%2011.8545%2012.0263C11.1793%2012.7015%2010.8%2013.6171%2010.8%2014.5719V39.7719C10.8%2040.7267%2011.1793%2041.6424%2011.8545%2042.3175C12.5296%2042.9926%2013.4453%2043.3719%2014.4%2043.3719H39.6001C40.5548%2043.3719%2041.4705%2042.9926%2042.1456%2042.3175C42.8208%2041.6424%2043.2001%2040.7267%2043.2001%2039.7719V28.9719C43.2001%2028.4945%2043.0104%2028.0367%2042.6728%2027.6991C42.3353%2027.3616%2041.8774%2027.1719%2041.4001%2027.1719C40.9227%2027.1719%2040.4648%2027.3616%2040.1273%2027.6991C39.7897%2028.0367%2039.6001%2028.4945%2039.6001%2028.9719V37.9719C39.6001%2038.4493%2039.4104%2038.9072%2039.0728%2039.2447C38.7353%2039.5823%2038.2774%2039.7719%2037.8001%2039.7719ZM30.6001%2012.7719C30.6001%2013.0083%2030.6466%2013.2424%2030.7371%2013.4608C30.8275%2013.6791%2030.9601%2013.8776%2031.1273%2014.0447C31.2944%2014.2119%2031.4928%2014.3444%2031.7112%2014.4349C31.9296%2014.5254%2032.1637%2014.5719%2032.4001%2014.5719H37.0621L20.6371%2030.9969C20.3262%2031.3388%2020.1587%2031.7871%2020.1692%2032.249C20.1798%2032.711%2020.3676%2033.1512%2020.6937%2033.4785C21.0199%2033.8058%2021.4594%2033.9951%2021.9213%2034.0073C22.3832%2034.0195%2022.8321%2033.8536%2023.1751%2033.5439L39.6001%2017.1189V21.7719C39.6001%2022.2493%2039.7897%2022.7072%2040.1273%2023.0447C40.4648%2023.3823%2040.9227%2023.5719%2041.4001%2023.5719C41.8774%2023.5719%2042.3353%2023.3823%2042.6728%2023.0447C43.0104%2022.7072%2043.2001%2022.2493%2043.2001%2021.7719V12.7719C43.2001%2012.2945%2043.0104%2011.8367%2042.6728%2011.4991C42.3353%2011.1616%2041.8774%2010.9719%2041.4001%2010.9719H32.4001C32.1637%2010.9719%2031.9296%2011.0185%2031.7112%2011.1089C31.4928%2011.1994%2031.2944%2011.332%2031.1273%2011.4991C30.9601%2011.6663%2030.8275%2011.8647%2030.7371%2012.0831C30.6466%2012.3015%2030.6001%2012.5355%2030.6001%2012.7719Z%22%20fill=%22white%22/%3E%3C/svg%3E");
  background-size: contain;
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
  transition: 0.15s;
}
@media (max-width: 767px) {
  .wrap.wrap--top .area__link::after {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.wrap.wrap--top .area__link:hover {
  color: #2890CD;
  background: #fff;
}
.wrap.wrap--top .area__link:hover::after {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2254%22%20height=%2255%22%20viewBox=%220%200%2054%2055%22%20fill=%22none%22%3E%3Cpath%20d=%22M37.8001%2039.7719H16.2C15.7227%2039.7719%2015.2648%2039.5823%2014.9273%2039.2447C14.5897%2038.9072%2014.4%2038.4493%2014.4%2037.9719V16.3719C14.4%2015.8945%2014.5897%2015.4367%2014.9273%2015.0991C15.2648%2014.7616%2015.7227%2014.5719%2016.2%2014.5719H25.2C25.4364%2014.5719%2025.6705%2014.5254%2025.8889%2014.4349C26.1073%2014.3444%2026.3057%2014.2119%2026.4728%2014.0447C26.64%2013.8776%2026.7726%2013.6791%2026.863%2013.4608C26.9535%2013.2424%2027.0001%2013.0083%2027.0001%2012.7719C27.0001%2012.5355%2026.9535%2012.3015%2026.863%2012.0831C26.7726%2011.8647%2026.64%2011.6663%2026.4728%2011.4991C26.3057%2011.332%2026.1073%2011.1994%2025.8889%2011.1089C25.6705%2011.0185%2025.4364%2010.9719%2025.2%2010.9719H14.4C13.4453%2010.9719%2012.5296%2011.3512%2011.8545%2012.0263C11.1793%2012.7015%2010.8%2013.6171%2010.8%2014.5719V39.7719C10.8%2040.7267%2011.1793%2041.6424%2011.8545%2042.3175C12.5296%2042.9926%2013.4453%2043.3719%2014.4%2043.3719H39.6001C40.5548%2043.3719%2041.4705%2042.9926%2042.1456%2042.3175C42.8208%2041.6424%2043.2001%2040.7267%2043.2001%2039.7719V28.9719C43.2001%2028.4945%2043.0104%2028.0367%2042.6728%2027.6991C42.3353%2027.3616%2041.8774%2027.1719%2041.4001%2027.1719C40.9227%2027.1719%2040.4648%2027.3616%2040.1273%2027.6991C39.7897%2028.0367%2039.6001%2028.4945%2039.6001%2028.9719V37.9719C39.6001%2038.4493%2039.4104%2038.9072%2039.0728%2039.2447C38.7353%2039.5823%2038.2774%2039.7719%2037.8001%2039.7719ZM30.6001%2012.7719C30.6001%2013.0083%2030.6466%2013.2424%2030.7371%2013.4608C30.8275%2013.6791%2030.9601%2013.8776%2031.1273%2014.0447C31.2944%2014.2119%2031.4928%2014.3444%2031.7112%2014.4349C31.9296%2014.5254%2032.1637%2014.5719%2032.4001%2014.5719H37.0621L20.6371%2030.9969C20.3262%2031.3388%2020.1587%2031.7871%2020.1692%2032.249C20.1798%2032.711%2020.3676%2033.1512%2020.6937%2033.4785C21.0199%2033.8058%2021.4594%2033.9951%2021.9213%2034.0073C22.3832%2034.0195%2022.8321%2033.8536%2023.1751%2033.5439L39.6001%2017.1189V21.7719C39.6001%2022.2493%2039.7897%2022.7072%2040.1273%2023.0447C40.4648%2023.3823%2040.9227%2023.5719%2041.4001%2023.5719C41.8774%2023.5719%2042.3353%2023.3823%2042.6728%2023.0447C43.0104%2022.7072%2043.2001%2022.2493%2043.2001%2021.7719V12.7719C43.2001%2012.2945%2043.0104%2011.8367%2042.6728%2011.4991C42.3353%2011.1616%2041.8774%2010.9719%2041.4001%2010.9719H32.4001C32.1637%2010.9719%2031.9296%2011.0185%2031.7112%2011.1089C31.4928%2011.1994%2031.2944%2011.332%2031.1273%2011.4991C30.9601%2011.6663%2030.8275%2011.8647%2030.7371%2012.0831C30.6466%2012.3015%2030.6001%2012.5355%2030.6001%2012.7719Z%22%20fill=%22%232890CD%22/%3E%3C/svg%3E");
  background-size: contain;
}
.wrap.wrap--top .w-area {
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .wrap.wrap--top .w-area {
    padding-bottom: 4rem;
  }
}
.wrap.wrap--top .w-area__ttl {
  color: #2890CD;
  border-color: #2890CD;
  margin-bottom: 5rem;
  font-feature-settings: "palt";
}
@media (max-width: 767px) {
  .wrap.wrap--top .w-area__ttl {
    margin-bottom: 2.5rem;
  }
}
.wrap.wrap--top .w-area__text {
  text-align: center;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .wrap.wrap--top .w-area__text {
    font-size: 1.2rem;
  }
}
.wrap.wrap--top .area-list {
  display: flex;
  justify-content: center;
  gap: 4rem;
}
@media screen and (max-width: 1500px) {
  .wrap.wrap--top .area-list {
    gap: 2.6666666667vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .area-list {
    display: block;
    width: 100%;
    padding: 0 1.5rem;
  }
}
.wrap.wrap--top .area-list__item {
  transition: 0.15s;
  outline: 1px solid;
  outline-color: #878787;
  outline-offset: -2px;
  text-shadow: none;
  transition: all 1.2s cubic-bezier(0.2, 1, 0.2, 1);
}
@media screen and (max-width: 1500px) {
  .wrap.wrap--top .area-list__item {
    width: 20vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .area-list__item {
    width: 100%;
    margin: 0 auto 1rem;
    outline: none;
  }
}
.wrap.wrap--top .area-list__item:hover {
  opacity: 0.7;
  box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.2);
  outline-color: transparent;
  outline-offset: 12px;
  cursor: pointer;
}
.wrap.wrap--top .area-list__item--hokuriku {
  outline-color: var(--color-primary);
}
.wrap.wrap--top .area-list__item--toumei {
  outline-color: #2A9CEB;
}
.wrap.wrap--top .area-list__item--chukyo {
  outline-color: #15B45A;
}
.wrap.wrap--top .area-list__item--chuo {
  outline-color: #E40858;
}
.wrap.wrap--top .area-list__item a {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  display: block;
  width: 100%;
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width: 1500px) {
  .wrap.wrap--top .area-list__item a {
    font-size: 2.6666666667vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .area-list__item a img {
    width: 100%;
  }
}
.wrap.wrap--top .area-list__item a span {
  display: block;
  font-size: 2.4rem;
}
@media screen and (max-width: 1500px) {
  .wrap.wrap--top .area-list__item a span {
    font-size: 1.6vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .area-list__item a span {
    display: inline;
    font-size: 1.6rem;
    margin-left: 1rem;
  }
}
.wrap.wrap--top .area-list__item .hokuriku {
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.wrap.wrap--top .area-list__item .hokuriku::after {
  background: var(--color-primary);
}
.wrap.wrap--top .area-list__item .toumei {
  color: #2A9CEB;
  border-color: #2A9CEB;
}
.wrap.wrap--top .area-list__item .toumei::after {
  background: #2A9CEB;
}
.wrap.wrap--top .area-list__item .chukyo {
  color: #15B45A;
  border-color: #15B45A;
}
.wrap.wrap--top .area-list__item .chukyo::after {
  background: #15B45A;
}
.wrap.wrap--top .area-list__item .chuo {
  color: #E40858;
  border-color: #E40858;
}
.wrap.wrap--top .area-list__item .chuo::after {
  background: #E40858;
}
.wrap.wrap--top .nx-modal {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  display: none;
}
.wrap.wrap--top .nx-modal .modal-close {
  aspect-ratio: 1/1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--color-primary);
  font-weight: bold;
  font-size: 2.4rem;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-modal .modal-close {
    font-size: 1.8rem;
  }
}
.wrap.wrap--top .nx-modal__wrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 980px;
  background: #fff;
  max-height: 80vh;
}
@media screen and (max-width: 1024px) {
  .wrap.wrap--top .nx-modal__wrap {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-modal__wrap {
    width: 90%;
    overflow: auto;
  }
}
.wrap.wrap--top .nx-modal__ttl {
  font-size: 2.2rem;
  padding: 0.8rem 0;
  font-weight: bold;
  line-height: 1.15;
  color: var(--color-black);
  text-align: left;
  position: relative;
  background: var(--color-primary);
  text-align: center;
  color: #fff;
  overflow: hidden;
}
.wrap.wrap--top .nx-modal__ttl span {
  display: inline-block;
  position: relative;
}
.wrap.wrap--top .nx-modal__ttl span::after {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3C!--%21Font%20Awesome%20Free%206.5.1%20by%20%40fontawesome%20-%20https%3A%2F%2Ffontawesome.com%20License%20-%20https%3A%2F%2Ffontawesome.com%2Flicense%2Ffree%20Copyright%202024%20Fonticons%2C%20Inc.--%3E%3Cpath%20d%3D%22M256%20512A256%20256%200%201%200%20256%200a256%20256%200%201%200%200%20512zM216%20336h24V272H216c-13.3%200-24-10.7-24-24s10.7-24%2024-24h48c13.3%200%2024%2010.7%2024%2024v88h8c13.3%200%2024%2010.7%2024%2024s-10.7%2024-24%2024H216c-13.3%200-24-10.7-24-24s10.7-24%2024-24zm40-208a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E");
  color: var(--color-primary);
  position: absolute;
  top: 50%;
  left: -3.5rem;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-modal__ttl span::after {
    width: 1.8rem;
    height: 1.8rem;
    left: -2rem;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-modal__ttl {
    font-size: 1.6rem;
  }
}
.wrap.wrap--top .nx-modal__text {
  font-size: 1.4rem;
  margin-bottom: 4rem;
  line-height: 1.15;
}
@media screen and (max-width: 1600px) {
  .wrap.wrap--top .nx-modal__text {
    margin-bottom: 2.5vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-modal__text {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    text-align: left;
  }
}
.wrap.wrap--top .nx-modal__body {
  padding: 4rem;
}
@media screen and (max-width: 1600px) {
  .wrap.wrap--top .nx-modal__body {
    padding: 2.5vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-modal__body {
    padding: 2rem;
  }
}
.wrap.wrap--top .nx-modal__flex {
  display: flex;
  justify-content: center;
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-modal__flex {
    flex-direction: column;
    gap: 1rem;
  }
}
.wrap.wrap--top .nx-modal .btn-A {
  width: 27rem;
  margin-top: 4rem;
  height: 6rem;
}
.wrap.wrap--top .nx-modal .btn-A a {
  font-size: 1.4rem;
}
@media screen and (max-width: 1600px) {
  .wrap.wrap--top .nx-modal .btn-A {
    margin-top: 2.5vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-modal .btn-A {
    width: 100%;
    height: 5rem;
    margin-top: 2rem;
  }
  .wrap.wrap--top .nx-modal .btn-A a {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.wrap.wrap--top .nx-content {
  margin-left: 2.6rem;
  width: calc((100% - 2.6rem) / 2);
  padding: 3rem;
  background: #F5F5DC;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 1600px) {
  .wrap.wrap--top .nx-content {
    padding: 1.875vw;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-content {
    width: 100%;
    margin-left: 0;
    padding: 1.5rem;
  }
}
.wrap.wrap--top .nx-content:first-of-type {
  margin-left: 0;
}
.wrap.wrap--top .nx-content__ttl {
  font-size: 1.8rem;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.15;
  margin-bottom: 1rem;
  text-align: left;
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-content__ttl {
    font-size: 1.4rem;
  }
}
.wrap.wrap--top .nx-content__text {
  font-size: 1.4rem;
  line-height: 2.28;
  text-align: left;
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-content__text {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
@media (max-width: 767px) {
  .wrap.wrap--top .nx-globalfooter {
    padding-bottom: 9rem;
  }
}
.wrap.wrap--top .canvas-wrap {
  position: relative;
  background: #EBF5EC;
}
.wrap.wrap--top .canvas-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 900;
  pointer-events: none;
}
@media (max-width: 767px) {
  .wrap.wrap--top .map-balloon-swiper-container {
    width: 85%;
    margin: 0 auto;
  }
  .wrap.wrap--top .map-balloon-swiper-container .swiper {
    overflow: visible;
  }
  .wrap.wrap--top .map-balloon-swiper-container .swiper-button-next {
    width: 4rem;
    height: 4rem;
    right: -2.5rem;
  }
  .wrap.wrap--top .map-balloon-swiper-container .swiper-button-next::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../images/common/next-btn.svg") no-repeat center center;
    background-size: contain;
  }
  .wrap.wrap--top .map-balloon-swiper-container .swiper-button-prev {
    width: 4rem;
    height: 4rem;
    left: -2.5rem;
  }
  .wrap.wrap--top .map-balloon-swiper-container .swiper-button-prev::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../images/common/prev-btn.svg") no-repeat center center;
    background-size: contain;
  }
}

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

	各ページの独自モジュールスタイルのCSS。

	【記述ルール】
	{ ページ名(top, about等) }○○○○

	階層はルートクラスより、三階層までが基本
	【例】
	.top-sec .top-sec__ttl span {
	}
	※CSSに展開した場合

---------------------------------------------------- */
.contents--prediction .nx-predictionKv {
  background-image: url(../images/prediction/p-prediction.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media (max-width: 767px) {
  .contents--prediction .nx-predictionKv {
    background-image: url(../images/prediction/p-prediction-sp.jpg);
  }
}
@media (max-width: 767px) {
  .contents--prediction .nx-predictionKv .nx-trafficKv__text-wrap {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--prediction .nx-trafficKv {
    font-size: 4.1818181818vw;
  }
}
@media screen and (max-width: 1100px) {
  .contents--prediction .nx-trafficKv__ttl {
    font-size: 4.1818181818vw;
  }
}
@media (max-width: 767px) {
  .contents--prediction .nx-trafficKv__ttl {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--prediction .nx-trafficKv__text {
    font-size: 1.6363636364vw;
  }
}
@media (max-width: 767px) {
  .contents--prediction .nx-trafficKv__text {
    font-size: 1.4rem;
  }
}
.contents--prediction .nx-trafficKv .mv-container {
  width: 64rem;
}
@media screen and (max-width: 1100px) {
  .contents--prediction .nx-trafficKv .mv-container {
    width: 63.6363636364vw;
  }
}
@media (max-width: 767px) {
  .contents--prediction .nx-trafficKv .mv-container {
    width: 100%;
  }
}
.contents--prediction .nx-trafficKv .mv-container__body {
  font-size: 2.2rem;
}
@media screen and (max-width: 1200px) {
  .contents--prediction .nx-trafficKv .mv-container__body {
    font-size: 2vw;
  }
}
@media (max-width: 767px) {
  .contents--prediction .nx-trafficKv .mv-container__body {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--prediction .nx-trafficKv .mv-container__header svg {
    width: 10vw;
    height: 10vw;
  }
}
@media (max-width: 767px) {
  .contents--prediction .nx-trafficKv .mv-container__header svg {
    width: 6rem;
    height: 6rem;
    right: 1rem;
  }
}
.contents--prediction .nx-trafficKv .mv-container__header span {
  font-size: 2.1rem;
  padding-left: 2rem;
}
@media screen and (max-width: 1100px) {
  .contents--prediction .nx-trafficKv .mv-container__header span {
    width: 40vw;
    font-size: 1.9090909091vw;
    padding-left: 0.9090909091vw;
  }
}
@media (max-width: 767px) {
  .contents--prediction .nx-trafficKv .mv-container__header span {
    font-size: 1.2rem;
    height: 2.6rem;
    padding-left: 1rem;
    width: 75%;
  }
}
.contents--prediction .prediction {
  padding-top: 7.8rem;
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .contents--prediction .prediction {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.contents--prediction .prediction__note {
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  text-align: center;
  padding: 1.5rem 0;
  margin-bottom: 3rem;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .contents--prediction .prediction__note {
    font-size: 1.2rem;
    margin-bottom: 2.5rem;
  }
}
.contents--prediction .prediction__text {
  font-weight: bold;
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 7.2rem;
}
@media (max-width: 767px) {
  .contents--prediction .prediction__text {
    font-size: 1.3rem;
    margin-bottom: 2.5rem;
  }
}
.contents--prediction .prediction__map {
  position: relative;
}
@media (max-width: 767px) {
  .contents--prediction .prediction__map {
    margin-bottom: 0;
  }
}
.contents--prediction .prediction__map-legend {
  position: absolute;
  bottom: 1rem;
  right: 2rem;
}
@media (max-width: 767px) {
  .contents--prediction .prediction__map-legend {
    position: static;
    margin: 2rem 0;
    text-align: center;
  }
}
.contents--prediction .prediction__map-legend img {
  width: 20rem;
  height: 15.8rem;
}
@media (max-width: 767px) {
  .contents--prediction .prediction__map-legend img {
    margin: 0 auto;
    width: 33.5rem;
  }
}
.contents--prediction .menu__list {
  justify-content: center;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .contents--prediction .menu__list {
    gap: 1rem;
  }
}
.contents--prediction .p-calendar {
  padding-top: 8rem;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar {
    padding-top: 4rem;
  }
}
.contents--prediction .p-calendar__ttl {
  font-size: 2.8rem;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar__ttl {
    font-size: 1.4rem;
    margin-bottom: 2.5rem;
  }
}
.contents--prediction .p-calendar .heading-A {
  color: var(--color-black);
  border-top: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
}
.contents--prediction .p-calendar__text {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar__text {
    font-size: 1.4rem;
    margin-bottom: 2.5rem;
  }
}
.contents--prediction .p-calendar__ttl-img {
  position: relative;
  width: 90%;
  margin: 0 auto 8rem;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar__ttl-img {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
.contents--prediction .p-calendar__ttl-img img {
  width: 100%;
}
.contents--prediction .p-calendar .js-modal-open {
  cursor: pointer;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar .js-scroll-x {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
.contents--prediction .p-calendar .js-scroll-x img {
  width: 100%;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar .js-scroll-x img {
    width: auto;
    max-width: 53rem;
  }
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar .js-modal-content {
    padding: 3rem 1rem 2rem;
  }
}
.contents--prediction .p-calendar .simplebar-scrollbar::before {
  background-color: var(--color-primary);
  opacity: 1;
}
.contents--prediction .p-calendar .simplebar-content:after,
.contents--prediction .p-calendar .simplebar-content:before {
  padding-top: 1.5rem;
}
.contents--prediction .p-calendar__notice {
  font-size: 1.4rem;
  margin: 1rem 0 8rem;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar__notice {
    font-size: 1.1rem;
    margin: 0.5rem 0 2rem;
  }
}
.contents--prediction .p-calendar__modal-icon {
  position: absolute;
  width: 4rem;
  height: 4rem;
  bottom: 1rem;
  right: 1rem;
}
.contents--prediction .p-calendar .nx-modal {
  display: none;
  position: fixed;
  z-index: 1;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
  height: 100%;
  width: 100%;
  overflow: auto;
}
.contents--prediction .p-calendar .nx-modal .modal-overlay {
  background-color: rgba(0, 0, 0, 0.5);
  height: 100%;
  width: 100%;
}
.contents--prediction .p-calendar .nx-modal .modal-close-btn {
  position: absolute;
  width: 4rem;
  height: 4rem;
  color: #fff;
  background: #094;
  top: 0;
  right: 0;
  font-size: 3rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.3rem;
}
.contents--prediction .p-calendar .nx-modal__content {
  position: absolute;
  width: 90%;
  background: #fff;
  padding: 1rem;
  transform: translate(-50%, -50%);
  top: 55%;
  left: 50%;
}
.contents--prediction .p-calendar .nx-modal__content-map-wrap {
  overflow: scroll hidden;
}
.contents--prediction .p-calendar .nx-modal__content-map {
  display: block;
  width: 200%;
  overflow-x: scroll;
}
.contents--prediction .p-calendar .nx-modal__content-map img {
  margin-bottom: 1.5rem;
}
.contents--prediction .p-calendar__legend {
  margin-bottom: 4rem;
}
.contents--prediction .p-calendar__area {
  margin: 8rem 0;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar__area {
    margin: 4rem 0;
  }
}
.contents--prediction .p-calendar__area-ttl {
  color: var(--color-black);
  border: 3.5px solid var(--color-black);
  border-radius: 1rem;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  line-height: 150%;
  padding: 1rem 0;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar__area-ttl {
    font-size: 1.6rem;
    padding: 0.5rem 0;
    border: 2px solid var(--color-black);
  }
}
.contents--prediction .p-calendar__area-ttl span {
  color: var(--color-primary);
}
.contents--prediction .p-calendar__area-img {
  position: relative;
  margin: 4rem auto 0;
  width: fit-content;
}
@media (max-width: 767px) {
  .contents--prediction .p-calendar__area-img {
    margin: 2rem auto 0;
  }
}
.contents--prediction .pred-result-tl-ex {
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .contents--prediction .pred-result-tl-ex {
    margin-bottom: 2rem;
  }
}
.contents--prediction .pred-result-tl-ex {
  display: flex;
}
@media (max-width: 767px) {
  .contents--prediction .pred-result-tl-ex {
    display: block;
  }
}
.contents--prediction .pred-result-tl-ex__ttl {
  border: 1px solid #000;
  padding: 0 2rem;
  margin-right: 2rem;
  font-size: 1.4rem;
}
@media (max-width: 1200px) {
  .contents--prediction .pred-result-tl-ex__ttl {
    padding: 0 1rem;
    margin-right: 1rem;
  }
}
@media (max-width: 767px) {
  .contents--prediction .pred-result-tl-ex__ttl {
    font-size: 1.2rem;
    display: inline-block;
    padding: 0.2rem 0.5rem;
    line-height: 1.3;
    margin-bottom: 0.5rem;
  }
}
.contents--prediction .pred-result-tl-ex > ul {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .contents--prediction .pred-result-tl-ex > ul {
    line-height: 1.3;
  }
}
.contents--prediction .pred-result-tl-ex > ul li {
  margin-right: 1rem;
}
@media (max-width: 767px) {
  .contents--prediction .pred-result-tl-ex > ul li {
    margin-right: 1rem;
  }
  .contents--prediction .pred-result-tl-ex > ul li:last-of-type {
    margin-right: 0;
  }
}
.contents--prediction .pred-result-tl-ex > ul li span {
  display: inline-block;
  position: relative;
  padding-left: 2.5rem;
  font-size: 1.4rem;
}
@media (max-width: 1200px) {
  .contents--prediction .pred-result-tl-ex > ul li span {
    font-size: 1.3rem;
  }
}
@media (max-width: 767px) {
  .contents--prediction .pred-result-tl-ex > ul li span {
    font-size: 1.1rem;
    padding-left: 1.8rem;
  }
}
.contents--prediction .pred-result-tl-ex > ul li span::before {
  content: "";
  background: #000;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  height: 2.2rem;
  width: 2.2rem;
}
@media (max-width: 767px) {
  .contents--prediction .pred-result-tl-ex > ul li span::before {
    width: 1.4rem;
    height: 1.4rem;
  }
}
.contents--prediction .pred-result-tl-ex .ex-s > span::before {
  background: #cce7b4;
}
.contents--prediction .pred-result-tl-ex .ex-m > span::before {
  background: #f8fc3b;
}
.contents--prediction .pred-result-tl-ex .ex-l > span::before {
  background: #f5cc61;
}
.contents--prediction .pred-result-tl-ex .ex-xl > span::before {
  background: #ea8686;
}
.contents--prediction .pred-result-tl-ex .ex-none > span::before {
  background: #c6c6c6;
}
.contents--prediction .pred-result-tl-ex .ex-red > span::before {
  background: #cf2626;
}
.contents--prediction .ac-calendar {
  margin-bottom: 3rem;
}
.contents--prediction .ac-calendar:last-of-type {
  margin-bottom: 12rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar {
    margin-bottom: 1.5rem;
  }
  .contents--prediction .ac-calendar:last-of-type {
    margin-bottom: 6rem;
  }
}
.contents--prediction .ac-calendar__head {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem 2.5rem;
  color: #fff;
  background: var(--color-primary);
  font-size: 2.2rem;
  line-height: 1.5;
  border-radius: 5px;
  position: relative;
  cursor: pointer;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__head {
    font-size: 1.5rem;
    padding: 1rem;
    gap: 1rem;
  }
}
.contents--prediction .ac-calendar__head::after {
  content: "";
  position: absolute;
  right: 2.6rem;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  transition: 0.3s;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="44" height="45" viewBox="0 0 44 45" fill="none"><path d="M11 28L22 17L33 28" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  width: 4.4rem;
  height: 4.4rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__head::after {
    width: 2.4rem;
    height: 2.4rem;
    right: 1rem;
  }
}
.contents--prediction .ac-calendar__head.active::after {
  transform: translateY(-50%) rotate(0);
}
.contents--prediction .ac-calendar__head .num {
  position: relative;
  top: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  color: #fff;
  border: 2px solid #fff;
  background-color: var(--color-primary);
  width: 3rem;
  height: 3rem;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__head .num {
    font-size: 1.2rem;
    width: 2rem;
    height: 2rem;
    top: 0;
  }
}
.contents--prediction .ac-calendar__head .road {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__head .road {
    font-size: 1.4rem;
  }
}
.contents--prediction .ac-calendar__body {
  background: #f5f5f5;
  height: 0;
  overflow: hidden;
}
.contents--prediction .ac-calendar__wrap {
  padding: 4rem 5rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__wrap {
    padding: 2.5rem 2rem 4rem;
  }
}
.contents--prediction .ac-calendar__info {
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__info {
    margin-bottom: 2rem;
  }
}
.contents--prediction .ac-calendar__info img {
  width: 100%;
}
.contents--prediction .ac-calendar__heading {
  background: var(--color-primary);
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  border-radius: 0.5rem;
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__heading {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}
.contents--prediction .ac-calendar__heading-sub {
  position: relative;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__heading-sub {
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
  }
}
.contents--prediction .ac-calendar__heading-sub::before {
  position: absolute;
  content: "";
  width: 25%;
  height: 2px;
  transform: translateY(-50%);
  top: 50%;
  left: 0;
  background-color: #000;
}
@media (max-width: 1200px) {
  .contents--prediction .ac-calendar__heading-sub::before {
    width: 18vw;
  }
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__heading-sub::before {
    width: 15%;
  }
}
.contents--prediction .ac-calendar__heading-sub::after {
  position: absolute;
  content: "";
  width: 25%;
  height: 2px;
  transform: translateY(-50%);
  top: 50%;
  right: 0;
  background-color: #000;
}
@media (max-width: 1200px) {
  .contents--prediction .ac-calendar__heading-sub::after {
    width: 18vw;
  }
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__heading-sub::after {
    width: 15%;
  }
}
.contents--prediction .ac-calendar__wrap--down {
  margin-top: 7rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__wrap--down {
    margin-top: 2rem;
  }
}
.contents--prediction .ac-calendar__congestion {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__congestion {
    gap: 1.2rem;
  }
}
.contents--prediction .ac-calendar__calendar {
  margin-bottom: 5rem;
}
@media (max-width: 767px) {
  .contents--prediction .ac-calendar__calendar {
    margin-bottom: 2rem;
  }
}
.contents--prediction .ac-calendar__img {
  text-align: center;
}

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

	各ページの独自モジュールスタイルのCSS。

	【記述ルール】
	{ ページ名(top, about等) }○○○○

	階層はルートクラスより、三階層までが基本
	【例】
	.top-sec .top-sec__ttl span {
	}
	※CSSに展開した場合

---------------------------------------------------- */
@media (max-width: 767px) {
  .contents--work .wrap-map-loader {
    height: 54rem;
  }
}
@media (max-width: 767px) {
  .contents--work .wrap-map-loader .map-loader {
    background: #BAE4FA url(../images/work/map_work_sp.webp) center center no-repeat;
    background-size: 100%;
  }
}
.contents--work .nx-workKv {
  background-image: url(../images/work/p-work.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media (max-width: 767px) {
  .contents--work .nx-workKv {
    background-image: url(../images/work/p-work-sp.jpg);
  }
}
@media (max-width: 767px) {
  .contents--work .nx-workKv .nx-trafficKv__text-wrap {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--work .nx-trafficKv {
    font-size: 4.1818181818vw;
  }
}
@media screen and (max-width: 1100px) {
  .contents--work .nx-trafficKv__ttl {
    font-size: 4.1818181818vw;
  }
}
@media (max-width: 767px) {
  .contents--work .nx-trafficKv__ttl {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--work .nx-trafficKv__text {
    font-size: 1.6363636364vw;
  }
}
@media (max-width: 767px) {
  .contents--work .nx-trafficKv__text {
    font-size: 1.4rem;
  }
}
.contents--work .nx-trafficKv .mv-container {
  width: 61rem;
}
@media screen and (max-width: 1100px) {
  .contents--work .nx-trafficKv .mv-container {
    width: 59.0909090909vw;
  }
}
@media (max-width: 767px) {
  .contents--work .nx-trafficKv .mv-container {
    width: 100%;
  }
}
.contents--work .nx-trafficKv .mv-container__body {
  font-size: 2.2rem;
}
@media screen and (max-width: 1200px) {
  .contents--work .nx-trafficKv .mv-container__body {
    font-size: 2vw;
  }
}
@media (max-width: 767px) {
  .contents--work .nx-trafficKv .mv-container__body {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--work .nx-trafficKv .mv-container__header svg {
    width: 10vw;
    height: 10vw;
  }
}
@media (max-width: 767px) {
  .contents--work .nx-trafficKv .mv-container__header svg {
    width: 6rem;
    height: 6rem;
    right: 1rem;
  }
}
.contents--work .nx-trafficKv .mv-container__header span {
  font-size: 2.1rem;
}
@media screen and (max-width: 1100px) {
  .contents--work .nx-trafficKv .mv-container__header span {
    width: 40vw;
    font-size: 1.9090909091vw;
  }
}
@media (max-width: 767px) {
  .contents--work .nx-trafficKv .mv-container__header span {
    font-size: 1.2rem;
    height: 2.6rem;
    padding-left: 2rem;
    width: 75%;
  }
}
.contents--work .simplebar-scrollbar::before {
  background-color: var(--color-primary);
  opacity: 1;
}
.contents--work .simplebar-content:after,
.contents--work .simplebar-content:before {
  padding-top: 1.5rem;
}
.contents--work .navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40%;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .contents--work .navigation {
    margin-bottom: 0.3rem;
  }
}
.contents--work .navigation button {
  background: transparent;
  border: none;
  color: var(--color-primary);
  font-size: 1.8rem;
  font-weight: 500;
  cursor: pointer;
}
@media screen and (max-width: 1920px) {
  .contents--work .navigation button {
    font-size: 1.0416666667vw;
  }
}
@media (max-width: 767px) {
  .contents--work .navigation button {
    font-size: 1.4rem;
  }
}
.contents--work .navigation button:disabled {
  pointer-events: none;
  opacity: 0.5;
}
.contents--work .m-calendar-wrap {
  padding: 1rem 1.5rem 1.5rem 1.5rem;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .contents--work .m-calendar-wrap {
    padding: 1rem;
  }
}
.contents--work .react-calendar-ttl {
  top: -0.5rem;
  left: 50%;
  text-align: center;
  font-weight: 500;
  font-size: 2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 1920px) {
  .contents--work .react-calendar-ttl {
    font-size: 1.1458333333vw;
  }
}
@media (max-width: 767px) {
  .contents--work .react-calendar-ttl {
    font-size: 1.6rem;
  }
}
.contents--work .react-calendar {
  background: #fff;
  width: 100%;
}
.contents--work .react-calendar__ttl {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 500;
  font-size: 2rem;
}
@media screen and (max-width: 1920px) {
  .contents--work .react-calendar__ttl {
    font-size: 1.1458333333vw;
  }
}
@media (max-width: 767px) {
  .contents--work .react-calendar__ttl {
    font-size: 1.6rem;
    top: -0.5rem;
  }
}
.contents--work .react-calendar .days {
  padding: 2px;
}
.contents--work .react-calendar .empty,
.contents--work .react-calendar .day {
  background: #F3F3F3;
  border: none;
  font-size: 2rem;
}
@media screen and (max-width: 1920px) {
  .contents--work .react-calendar .empty,
  .contents--work .react-calendar .day {
    font-size: 1.1458333333vw;
  }
}
@media (max-width: 767px) {
  .contents--work .react-calendar .empty,
  .contents--work .react-calendar .day {
    font-size: 1.3rem;
  }
}
.contents--work .react-calendar .day-name {
  background: #E7F4FA;
  font-size: 2rem;
}
@media screen and (max-width: 1920px) {
  .contents--work .react-calendar .day-name {
    font-size: 1.1458333333vw;
  }
}
@media (max-width: 767px) {
  .contents--work .react-calendar .day-name {
    font-size: 1.3rem;
  }
}
.contents--work .react-monthly-calendar {
  position: relative;
}
.contents--work .regulation__ttl {
  margin-bottom: 5rem;
}
@media (max-width: 767px) {
  .contents--work .regulation__ttl {
    margin-bottom: 1.5rem;
  }
}
.contents--work .regulation__img {
  text-align: center;
  margin: 0 5rem;
  cursor: pointer;
  position: relative;
}
@media (max-width: 767px) {
  .contents--work .regulation__img {
    margin: 0 0 0.5rem;
  }
}
.contents--work .regulation__bottom {
  left: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: right;
  margin: 3rem 5rem 6rem;
}
@media (max-width: 767px) {
  .contents--work .regulation__bottom {
    margin: 0 0 3rem;
    flex-direction: column-reverse;
    align-items: normal;
  }
}
.contents--work .regulation__btn {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
@media (max-width: 767px) {
  .contents--work .regulation__btn {
    justify-content: right;
    margin-bottom: 1rem;
  }
}
.contents--work .regulation__btn span {
  color: var(--color-primary);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
}
@media (max-width: 767px) {
  .contents--work .regulation__btn span {
    font-size: 1.2rem;
  }
}
.contents--work .regulation__icon svg {
  width: 4rem;
  height: 4rem;
}
@media (max-width: 767px) {
  .contents--work .regulation__icon svg {
    width: 3rem;
    height: 3rem;
  }
}
.contents--work .regulation__icon svg rect {
  stroke: var(--color-primary);
}
.contents--work .regulation__icon svg path {
  fill: var(--color-primary);
}
.contents--work .regulation #js-react-calender {
  margin: 0 5rem 10rem;
}
@media (max-width: 767px) {
  .contents--work .regulation #js-react-calender {
    margin: 0 0 4rem;
  }
}
.contents--work .regulation .u-ul-style {
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.5;
  max-width: 70%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1300px) {
  .contents--work .regulation .u-ul-style {
    font-size: 1.2307692308vw;
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .contents--work .regulation .u-ul-style {
    font-size: 1.2rem;
    width: 100%;
  }
}
.contents--work .regulation .u-ul-style a {
  color: #0000ee;
  transition: 0.2s;
  text-decoration: underline;
}
.contents--work .regulation .u-ul-style a:hover {
  opacity: 0.7;
}
.contents--work .work__ttl {
  margin-bottom: 4rem;
  color: var(--color-black);
  border-top: 1px solid var(--color-black);
  border-bottom: 1px solid var(--color-black);
}
@media (max-width: 767px) {
  .contents--work .work__ttl {
    margin-bottom: 2rem;
  }
}
.contents--work .work__ttl--blue {
  color: #1ba4d9;
  border-color: #1ba4d9;
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .contents--work .work__ttl--blue {
    margin-bottom: 2rem;
  }
}
.contents--work .work__content {
  margin-bottom: 8rem;
}
@media (max-width: 767px) {
  .contents--work .work__content {
    margin-bottom: 4rem;
  }
}
.contents--work .work__note {
  font-size: 1.6rem;
  margin-bottom: 4rem;
  padding: 0 4rem;
}
@media (max-width: 767px) {
  .contents--work .work__note {
    font-size: 1.1rem;
    margin-bottom: 2rem;
    padding: 0;
  }
}
.contents--work .work__note span {
  color: #e60012;
}
.contents--work .infomation {
  background: rgba(230, 0, 18, 0.1);
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
@media (max-width: 767px) {
  .contents--work .infomation {
    gap: 0.5rem;
    flex-direction: column;
  }
}
.contents--work .infomation__heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-weight: bold;
  font-size: 1.8rem;
  padding: 0 2rem;
  height: 7.6rem;
  border-radius: 0 70px 70px 0;
  color: #fff;
  background: #E60012;
  width: 23.6rem;
}
@media (max-width: 767px) {
  .contents--work .infomation__heading {
    font-size: 1.2rem;
    height: 4rem;
    padding: 0 0.5rem;
    gap: 0.5rem;
    width: 14.5rem;
  }
}
.contents--work .infomation__icon {
  width: 2.4rem;
  height: 2.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .contents--work .infomation__icon {
    width: 1.4rem;
    height: 1.6rem;
  }
}
.contents--work .infomation__text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  align-items: center;
  min-height: 7.6rem;
  color: #000;
  width: calc(100% - 24.6rem);
  padding: 1rem 2rem;
  padding-left: 0;
}
@media (max-width: 767px) {
  .contents--work .infomation__text {
    width: 100%;
    min-height: auto;
    font-size: 1.1rem;
    padding-top: 0;
    padding-left: 1rem;
  }
}
.contents--work .infomation__text--full {
  width: 100%;
  padding: 1rem 2rem;
}
@media (max-width: 767px) {
  .contents--work .infomation__text--full {
    padding: 0.7rem 1rem;
  }
}
.contents--work .work-list {
  color: var(--color-black);
  margin-bottom: 4rem;
  border: 1px solid var(--color-black);
  position: relative;
}
@media (max-width: 767px) {
  .contents--work .work-list {
    margin-bottom: 2rem;
  }
}
.contents--work .work-list--bottom {
  border: none;
  padding: 0;
}
.contents--work .work-list--bottom .work-list__period {
  justify-content: center;
}
.contents--work .work-list--continue {
  padding-top: 0;
}
@media (max-width: 767px) {
  .contents--work .work-list--continue {
    padding-top: 0;
  }
}
.contents--work .work-list--end::after {
  content: "工事は終了しました。";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(51, 51, 51, 0.6);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.2rem;
  font-weight: bold;
}
.contents--work .work-list__top {
  margin-bottom: 1.5rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  background: #F5F5DC;
  padding: 1rem 1.5rem;
  position: relative;
}
@media (max-width: 767px) {
  .contents--work .work-list__top {
    flex-direction: column-reverse;
    margin-bottom: 1rem;
    padding: 1rem;
  }
}
.contents--work .work-list__top--tomei {
  background: #e5f4fb;
}
.contents--work .work-list__top--hokuriku {
  background: #f5e8e0;
}
.contents--work .work-list__top--keiji {
  background: #faf0f1;
}
.contents--work .work-list__top-wrap {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
}
.contents--work .work-list__name {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__name {
    display: block;
  }
}
.contents--work .work-list__body {
  padding: 0 2rem 2rem 2rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__body {
    padding: 0 1rem 1rem 1rem;
  }
}
.contents--work .work-list__section {
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 3.2rem;
  gap: 1rem;
}
@media screen and (max-width: 1100px) {
  .contents--work .work-list__section {
    font-size: 2.9090909091vw;
  }
}
@media (max-width: 767px) {
  .contents--work .work-list__section {
    font-size: 2.1rem;
    display: block;
    gap: 0.6rem;
    justify-content: left;
    width: 100%;
  }
}
.contents--work .work-list__dev {
  display: flex;
  gap: 0.6rem;
  align-items: center;
}
.contents--work .work-list__num {
  font-family: "Roboto";
  width: 3rem;
  height: 3rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-size: 2.2rem;
  background: #f18e1e;
  color: #fff;
}
@media (max-width: 767px) {
  .contents--work .work-list__num {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.5rem;
  }
}
.contents--work .work-list__areanum {
  font-family: "Roboto";
  height: 3rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-size: 2.2rem;
  background: #008765;
  padding: 0 0.4rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__areanum {
    padding: 0 0.4rem;
    height: 2.5rem;
    font-size: 1.5rem;
  }
}
.contents--work .work-list__area {
  line-height: 1.5;
}
.contents--work .work-list__area .work-list__detail {
  font-size: 2.1rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__area .work-list__detail {
    font-size: 1.1rem;
  }
}
.contents--work .work-list__roadName {
  color: var(--color-black);
  font-size: 2.5rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__roadName {
    font-size: 1.6rem;
  }
}
.contents--work .work-list__roadName--meishin {
  color: #094;
}
.contents--work .work-list__roadName--meinikan {
  color: #005bac;
}
.contents--work .work-list__roadName--tomei {
  color: #00a0e9;
}
.contents--work .work-list__roadName--shinmeishin {
  color: #6fba2c;
}
.contents--work .work-list__roadName--hokuriku {
  color: #bc652e;
}
.contents--work .work-list__roadName--keiji {
  color: #a50319;
}
.contents--work .work-list__svg {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .contents--work .work-list__svg {
    display: inline-block;
  }
}
.contents--work .work-list__svg svg {
  width: 4rem;
  height: 3.5rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__svg svg {
    width: 2.6rem;
    height: 2rem;
  }
}
.contents--work .work-list__ttl-small {
  font-size: 2rem;
  line-height: 1;
}
@media (max-width: 767px) {
  .contents--work .work-list__ttl-small {
    font-size: 1.4rem;
  }
}
.contents--work .work-list__regulation-flex {
  display: flex;
}
.contents--work .work-list__regulation {
  width: 17%;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.5;
  background: #f18e1e;
  padding: 0.3rem 1rem;
  text-align: center;
  top: 3.5rem;
  right: 3rem;
}
@media screen and (max-width: 1100px) {
  .contents--work .work-list__regulation {
    font-size: 1.3636363636vw;
  }
}
@media (max-width: 767px) {
  .contents--work .work-list__regulation {
    width: 40%;
    margin-right: auto;
    font-size: 1rem;
    padding: 0.2rem 0.5rem;
    margin-bottom: 1rem;
    min-width: 6rem;
    display: inline-block;
    position: static;
    position: absolute;
    top: 1rem;
    right: 1rem;
    line-height: 1.3;
  }
}
.contents--work .work-list__regulation--left {
  right: 15rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__regulation--left {
    right: 8.3rem;
    top: 1rem;
  }
}
.contents--work .work-list__regulation--02 {
  background: #f05338;
  color: #fff;
}
@media (max-width: 767px) {
  .contents--work .work-list__regulation--02 {
    top: 1rem;
  }
}
.contents--work .work-list-flag {
  position: relative;
}
.contents--work .work-list-flag--end::after {
  content: "工事は終了しました。";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(51, 51, 51, 0.6);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.2rem;
  font-weight: bold;
}
.contents--work .work-list__heading {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__heading {
    font-size: 1.4rem;
  }
}
.contents--work .work-list__period {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__period {
    gap: 0.5rem;
    margin-top: 1rem;
  }
}
.contents--work .work-list__img {
  margin-top: 3rem;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  .contents--work .work-list__img {
    margin-top: 1.5rem;
  }
}
.contents--work .work-list__icon {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 4rem;
  height: 4rem;
}
.contents--work .work-list__icon svg {
  width: 100%;
  height: 100%;
}
.contents--work .work-list .js-modal-content {
  background-color: #fff;
  padding: 3rem 2rem 2rem 2rem;
}
.contents--work .work-list .js-modal-img-wrap {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
.contents--work .work-list .js-modal-img {
  width: 900px;
}
.contents--work .work-list .js-modal-img--02 {
  width: 500px;
}
.contents--work .work-list__start, .contents--work .work-list__end {
  font-weight: bold;
  display: flex;
  align-items: baseline;
  line-height: 1;
  gap: 5px;
}
@media (max-width: 767px) {
  .contents--work .work-list__start, .contents--work .work-list__end {
    gap: 2px;
    flex-direction: column;
  }
}
.contents--work .work-list__start-wrap, .contents--work .work-list__end-wrap {
  font-size: 4.2rem;
  font-weight: bold;
  display: flex;
  align-items: baseline;
  line-height: 1;
  gap: 5px;
}
@media (max-width: 767px) {
  .contents--work .work-list__start-wrap, .contents--work .work-list__end-wrap {
    font-size: 3rem;
    gap: 3px;
  }
}
.contents--work .work-list__year {
  font-size: 1.4rem;
  margin-bottom: auto;
}
@media (max-width: 767px) {
  .contents--work .work-list__year {
    font-size: 1.2rem;
  }
}
.contents--work .work-list__wrap {
  display: flex;
  align-items: baseline;
  line-height: 1;
  gap: 10px;
}
@media (max-width: 767px) {
  .contents--work .work-list__wrap {
    gap: 4px;
  }
}
.contents--work .work-list__wrap svg {
  width: 1.8rem;
  height: 3.1rem;
  margin: 0 -0.7rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__wrap svg {
    width: 1.1rem;
    height: 2rem;
    margin: 0 -0.5rem;
  }
}
.contents--work .work-list__month span {
  font-size: 3.2rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__month span {
    font-size: 2rem;
  }
}
.contents--work .work-list__weekday {
  font-size: 1.4rem;
  background: var(--color-black);
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.7;
}
@media (max-width: 767px) {
  .contents--work .work-list__weekday {
    font-size: 1rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.contents--work .work-list__hour {
  font-size: 1.6rem;
  font-weight: 500;
  display: block;
  margin-top: auto;
}
@media (max-width: 767px) {
  .contents--work .work-list__hour {
    font-size: 1.1rem;
    padding-top: 1rem;
  }
}
.contents--work .work-list__comma {
  font-size: 1.8rem;
  align-self: center;
  margin-top: auto;
}
@media (max-width: 767px) {
  .contents--work .work-list__comma {
    font-size: 1.4rem;
  }
}
.contents--work .work-list__notice {
  font-size: 1.4rem;
  padding-top: 1rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__notice {
    font-size: 1.1rem;
  }
}
.contents--work .work-list__name-small {
  font-size: 2.4rem;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .contents--work .work-list__name-small {
    display: inline-block;
    font-size: 1.6rem;
  }
}
.contents--work .work-list__name-extrasmall {
  font-size: 2rem;
  line-height: 1.2;
}
@media screen and (max-width: 1200px) {
  .contents--work .work-list__name-extrasmall {
    font-size: 1.6666666667vw;
  }
}
@media (max-width: 767px) {
  .contents--work .work-list__name-extrasmall {
    display: inline-block;
    font-size: 1.6rem;
  }
}
.contents--work .work-list__arrow {
  height: 2.6rem;
  width: 3.4rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__arrow {
    height: 1.7rem;
    width: 2.3rem;
  }
}
.contents--work .work-list__ex {
  font-size: 1.6rem;
  padding-top: 1rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__ex {
    font-size: 1.1rem;
    padding-top: 0;
  }
}
.contents--work .work-list__flex {
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 767px) {
  .contents--work .work-list__flex {
    flex-wrap: wrap;
    gap: 1rem;
  }
}
.contents--work .work-list__flex-cont {
  width: 50%;
}
@media (max-width: 767px) {
  .contents--work .work-list__flex-cont {
    width: 100%;
  }
}
.contents--work .work-list__flex .work-list__period {
  gap: 1px;
}
@media (max-width: 767px) {
  .contents--work .work-list__flex .work-list__period {
    gap: 0.5rem;
  }
}
.contents--work .work-list__flex .work-list__start,
.contents--work .work-list__flex .work-list__end {
  gap: 1.5px;
}
@media (max-width: 767px) {
  .contents--work .work-list__flex .work-list__start,
  .contents--work .work-list__flex .work-list__end {
    gap: 3px;
  }
}
.contents--work .work-list__road-ttl-wrap {
  background: #F5F5DC;
  padding: 1rem 0;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .contents--work .work-list__road-ttl-wrap {
    padding: 0.5rem 0;
  }
}
.contents--work .work-list__road-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .contents--work .work-list__road-ttl {
    font-size: 1.6rem;
  }
}
.contents--work .work-list__road-ttl span {
  font-size: 2rem;
  margin-right: 1rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__road-ttl span {
    font-size: 1.3rem;
    margin-right: 0.5rem;
  }
}
@media (max-width: 767px) {
  .contents--work .work-list__road-ttl svg {
    width: 2rem;
  }
}
.contents--work .work-list__road-ttl-sub {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .contents--work .work-list__road-ttl-sub {
    font-size: 1.1rem;
  }
}
.contents--work .work-list__ttl-sub {
  line-height: 2.3;
  font-size: 2.3rem;
  margin-top: auto;
}
@media (max-width: 767px) {
  .contents--work .work-list__ttl-sub {
    font-size: 1.4rem;
    margin-left: 0.5rem;
  }
}
.contents--work .work-list__note {
  font-size: 1.4rem;
  color: var(--color-black);
  line-height: 1.3;
}
@media (max-width: 767px) {
  .contents--work .work-list__note {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
@media (max-width: 767px) {
  .contents--work .work-list .sp-block {
    display: block;
  }
}
@media (max-width: 767px) {
  .contents--work .work-list .sp-ml {
    margin-left: 3rem;
  }
}
.contents--work .work-list .comma {
  display: block;
  margin-top: auto;
  font-size: 2rem;
  line-height: 1;
  font-weight: 500;
}
@media (max-width: 767px) {
  .contents--work .work-list .comma {
    font-size: 1.5rem;
  }
}
.contents--work .work-list__down {
  width: 70%;
  margin: 3rem auto;
  background: #cde5c2;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  gap: 5rem;
  padding: 2rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__down {
    width: 100%;
    margin: 1.5rem auto;
    gap: 1.5rem;
    padding: 1rem;
  }
}
.contents--work .work-list__down-txt {
  flex-shrink: 0;
  color: #000;
  font-size: 2rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__down-txt {
    flex-shrink: inherit;
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .contents--work .work-list__down-img {
    width: 43%;
  }
}
.contents--work .work-list__detail-area {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__detail-area {
    flex-direction: column;
  }
}
.contents--work .work-list__detail-wrap {
  display: flex;
  flex-direction: column;
  gap: 10%;
  width: 50%;
}
@media (max-width: 767px) {
  .contents--work .work-list__detail-wrap {
    width: 100%;
    gap: 1rem;
  }
}
.contents--work .work-list__detail-name {
  background: var(--color-black);
  color: #fff;
  font-size: 2rem;
  text-align: center;
  font-weight: 500;
}
@media (max-width: 767px) {
  .contents--work .work-list__detail-name {
    font-size: 1.6rem;
  }
}
.contents--work .work-list__detail-txt {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .contents--work .work-list__detail-txt {
    font-size: 1.2rem;
  }
}
.contents--work .work-list__detail-txt--num {
  position: relative;
  padding-left: 2rem;
}
.contents--work .work-list__detail-txt--num::after {
  position: absolute;
  content: "➊";
  color: #005bac;
  font-size: 2rem;
  left: 0;
  top: 0.2rem;
}
@media (max-width: 767px) {
  .contents--work .work-list__detail-txt--num::after {
    top: -0.2rem;
  }
}
.contents--work .work-list__detail-txt--num-02::after {
  content: "➋";
}
.contents--work .work-list__detail-txt .road {
  font-size: 1.4rem;
}
.contents--work .work-list__detail-note {
  border: 2px solid #E60012;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  padding: 1.3rem;
  line-height: 1.2;
  color: #E60012;
}
@media (max-width: 767px) {
  .contents--work .work-list__detail-note {
    padding: 0.5rem;
    font-size: 1.2rem;
  }
}
.contents--work .work-list__detail-notice {
  color: #e60012;
  border: 2px solid #e60012;
  font-size: 1.8rem;
  padding: 2rem;
  line-height: 1.2;
  font-weight: 500;
}
@media (max-width: 767px) {
  .contents--work .work-list__detail-notice {
    font-size: 1.2rem;
    padding: 1rem;
  }
}
.contents--work .work-list__detail-img {
  width: 50%;
  text-align: center;
}
@media (max-width: 767px) {
  .contents--work .work-list__detail-img {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .contents--work .work-list__detail-img img {
    width: 100%;
  }
}
.contents--work .work-list .border-b {
  border-bottom: 1px solid var(--color-black);
  width: 100%;
}
.contents--work .work-list--red .work-list__regulation {
  background: #e60012;
  color: #fff;
}
.contents--work .work-list--red .work-list__num {
  background: #e60012;
  color: #fff;
}
.contents--work .work-list--blue .work-list__regulation {
  background: #00ada9;
  color: #fff;
}
.contents--work .work-list--blue .work-list__num {
  color: #fff;
  background: #00ada9;
}
.contents--work .work-list--purple .work-list__regulation {
  background: #7e3c93;
  color: #fff;
}
.contents--work .work-list--purple .work-list__num {
  color: #fff;
  background: #7e3c93;
}
@media (max-width: 767px) {
  .contents--work .work-list--purple .work-list__start,
  .contents--work .work-list--purple .work-list__end {
    font-size: 2.5rem;
    gap: 3px;
  }
}
.contents--work .two-lane {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 767px) {
  .contents--work .two-lane {
    gap: 1rem;
  }
}
.contents--work .two-lane__txt {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .contents--work .two-lane__txt {
    font-size: 1.4rem;
    margin-bottom: 1rem;
    letter-spacing: -0.05em;
  }
}
.contents--work .two-lane__txt span {
  color: #E60012;
}
.contents--work .two-lane__img {
  width: 16.6rem;
}
@media (max-width: 767px) {
  .contents--work .two-lane__img {
    width: 7rem;
    position: absolute;
    right: 1rem;
    transform: translateY(-50%);
    top: 35%;
  }
}
.contents--work .two-lane__img img {
  width: 100%;
}
.contents--work [data-endtime] {
  position: relative;
}
.contents--work [data-endtime].is-closed {
  padding: 0.5rem;
  margin: 1rem 0;
}
.contents--work [data-endtime].is-closed::before {
  content: "工事は終了しました。";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(51, 51, 51, 0.6);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.2rem;
  font-weight: bold;
  z-index: 10;
}
@media (max-width: 767px) {
  .contents--work [data-endtime].is-closed::before {
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .contents--work .map-navi {
    bottom: 2rem;
  }
}
.contents--work .js-modal-content {
  width: 120rem;
}
@media screen and (max-width: 1400px) {
  .contents--work .js-modal-content {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .contents--work .js-modal-content {
    width: 100%;
  }
}
.contents--work .js-modal-position {
  position: absolute;
  top: 50%;
  left: 50%;
  max-height: 90vh;
  transform: translate(-50%, -50%);
  padding: 2rem 7rem;
}
@media (max-width: 767px) {
  .contents--work .js-modal-position {
    position: static;
    transform: translate(0);
    padding: 3rem 1rem 1rem 1rem;
  }
}
.contents--work .js-scroll-x {
  max-height: 85vh;
}
@media (max-width: 767px) {
  .contents--work .js-scroll-x {
    overflow-x: scroll;
    scrollbar-color: var(--color-primary) #f3f3f3;
    scrollbar-width: thin;
    padding-bottom: 2rem;
  }
}
.contents--work .js-scroll-x img {
  max-height: 85vh;
  width: 100%;
}
@media (max-width: 767px) {
  .contents--work .js-scroll-x img {
    width: 200%;
    max-width: 200%;
  }
}

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

	各ページの独自モジュールスタイルのCSS。

	【記述ルール】
	{ ページ名(top, about等) }○○○○

	階層はルートクラスより、三階層までが基本
	【例】
	.top-sec .top-sec__ttl span {		
	}
	※CSSに展開した場合

---------------------------------------------------- */
.contents--news .nx-newsKv {
  background-image: url(../images/news/p-news.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media (max-width: 767px) {
  .contents--news .nx-newsKv {
    background-image: url(../images/news/p-news-sp.jpg);
  }
}
@media (max-width: 767px) {
  .contents--news .nx-newsKv .nx-trafficKv__text-wrap {
    margin-bottom: 1.5rem;
  }
}
.contents--news .news {
  padding-top: 4.6rem;
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .contents--news .news {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.contents--news .nx-news {
  padding-top: 10rem;
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .contents--news .nx-news {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.contents--news .nx-news__date {
  font-size: 1.6rem;
  display: inline-block;
  margin-bottom: 1.5rem;
}
@media (max-width: 767px) {
  .contents--news .nx-news__date {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}
.contents--news .nx-news__ttl {
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .contents--news .nx-news__ttl {
    text-align: center;
    margin-bottom: 2rem;
    text-align: left;
  }
}
.contents--news .nx-news__btn {
  margin-top: 1rem;
  width: 20rem;
}
@media (max-width: 767px) {
  .contents--news .nx-news__btn {
    width: 12rem;
    margin-top: 0.5rem;
  }
}
.contents--news .nx-news__btn a {
  font-size: 1.6rem;
  line-height: 1;
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
  text-align: center;
  display: inline-block;
  position: relative;
  border: 1px solid var(--color-primary);
  border-radius: 1rem;
  width: 100%;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .contents--news .nx-news__btn a {
    font-size: 1.2rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-radius: 0.5rem;
  }
}
.contents--news .nx-news__btn a::after {
  content: "";
  width: 0.7rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='12' viewBox='0 0 7 12' fill='none'%3E%3Cpath d='M6 11L1 5.99998L6 1' stroke='%239A7B17' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 2rem;
  transform: translateY(-50%) translateX(0);
  transition: 0.3s;
}
@media (max-width: 767px) {
  .contents--news .nx-news__btn a::after {
    left: 1rem;
  }
}
.contents--news .nx-news__btn a:hover {
  color: var(--color-primary);
}
.contents--news .nx-news__btn a:hover::after {
  transform: translateY(-50%) translateX(-0.3rem);
}
.contents--news .nx-news-contents {
  width: 90%;
  margin: 0 auto;
}
.contents--news .news-single .h-nav {
  position: static;
}
.contents--news .menu__list {
  flex-wrap: wrap;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .contents--news .menu__list {
    gap: 2rem;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .contents--news .menu__list {
    gap: 1rem;
    padding: 0 1.5rem;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1201px) {
  .contents--news .menu__list {
    width: 65%;
  }
}
@media screen and (min-width: 1407px) {
  .contents--news .menu__list {
    width: 100%;
  }
}

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

	各ページの独自モジュールスタイルのCSS。

	【記述ルール】
	{ ページ名(top, about等) }○○○○

	階層はルートクラスより、三階層までが基本
	【例】
	.top-sec .top-sec__ttl span {		
	}
	※CSSに展開した場合

---------------------------------------------------- */
.contents--pr .nx-cmKv {
  background-image: url(../images/cm/p-cm.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .contents--pr .nx-cmKv {
    background-image: url(../images/cm/p-cm-sp.jpg);
  }
}
.contents--pr .btn-wrap {
  display: flex;
  margin-top: 4.6rem;
  margin-bottom: 8rem;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 767px) {
  .contents--pr .btn-wrap {
    margin-top: 4rem;
    margin-bottom: 4rem;
    display: block;
  }
}
.contents--pr .btn-wrap .btn-A {
  width: calc((100% - 6rem) * 1 / 4);
  color: var(--color-primary);
  margin: 0;
  height: 6.6rem;
}
@media (max-width: 767px) {
  .contents--pr .btn-wrap .btn-A {
    height: 5rem;
    width: 100%;
    margin-bottom: 1.5rem;
  }
  .contents--pr .btn-wrap .btn-A:nth-of-type(2n) {
    margin-right: 0;
  }
  .contents--pr .btn-wrap .btn-A a {
    font-size: 1.2rem;
  }
}
.contents--pr .cm-ttl {
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .contents--pr .cm-ttl {
    margin-bottom: 2rem;
  }
}
.contents--pr .congestion {
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .contents--pr .congestion {
    padding-bottom: 2rem;
  }
}
.contents--pr .congestion .u-align-c {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .contents--pr .congestion .u-align-c {
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
  }
}
.contents--pr .congestion .movie-size {
  margin-bottom: 0;
}
.contents--pr .congestion .btn-A {
  color: var(--color-primary);
  margin-bottom: 1.5rem;
}
.contents--pr .announcement {
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .contents--pr .announcement {
    padding-bottom: 2rem;
  }
}
.contents--pr .announcement .u-align-c {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .contents--pr .announcement .u-align-c {
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
  }
}
.contents--pr .announcement .btn-A {
  color: var(--color-primary);
  margin-bottom: 1.5rem;
}
.contents--pr .announcement .movie-size {
  font-size: 1.4rem;
  text-align: center;
  font-weight: normal;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .contents--pr .announcement .movie-size {
    font-size: 1rem;
  }
}
.contents--pr .revision .btn-A {
  color: var(--color-primary);
  margin-bottom: 1.5rem;
}
.contents--pr .leaflet {
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .contents--pr .leaflet {
    padding-bottom: 4rem;
  }
}
.contents--pr .leaflet .btn-A {
  color: #9A7B17;
}
.contents--pr .leaflet__modal {
  text-align: center;
  position: relative;
  cursor: pointer;
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .contents--pr .leaflet__modal {
    margin: 0 0 2rem;
    width: 100%;
  }
}
.contents--pr .leaflet__icon {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
}
.contents--pr .leaflet__icon svg {
  width: 3.8rem;
  height: 3.8rem;
}
.contents--pr .leaflet .js-modal-content {
  max-width: 1400px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-height: 95vh;
  overflow-y: auto;
}
@media screen and (max-width: 1400px) {
  .contents--pr .leaflet .js-modal-content {
    width: 95%;
  }
}
.contents--pr .poster {
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .contents--pr .poster {
    padding-bottom: 4rem;
  }
}
.contents--pr .poster .btn-A {
  color: #9A7B17;
}
.contents--pr .poster__modal {
  margin: 0 5%;
  position: relative;
  cursor: pointer;
  margin: 0 auto 4rem;
  text-align: center;
  width: 50rem;
}
@media (max-width: 767px) {
  .contents--pr .poster__modal {
    width: 100%;
  }
}
.contents--pr .poster__icon {
  position: absolute;
  bottom: 0;
  right: -2rem;
  display: flex;
}
@media (max-width: 767px) {
  .contents--pr .poster__icon {
    right: 0;
  }
}
.contents--pr .poster__icon svg {
  width: 3.8rem;
  height: 3.8rem;
}
.contents--pr .poster .js-modal-content {
  width: 110rem;
  background: #fff;
  padding: 5rem;
  scrollbar-color: #9A7B17 #f0f0f0 !important;
}
@media screen and (max-width: 1200px) {
  .contents--pr .poster .js-modal-content {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .contents--pr .poster .js-modal-content {
    width: 100%;
    padding: 4.5rem 1rem 2rem;
  }
}

.js-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
  overflow: auto;
  text-align: center;
  padding: 0 1.5rem;
}

.js-modal-active {
  display: block;
}
@media (max-width: 767px) {
  .js-modal-active {
    display: flex;
  }
}

body.js-modal-active {
  overflow: hidden;
}

.js-modal-content {
  width: 140rem;
  max-width: 120rem;
  background: #fff;
  padding: 1rem 7rem 2rem;
  margin: 1.5rem auto;
  max-height: 90vh;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow-y: auto;
}
@media screen and (max-width: 1450px) {
  .js-modal-content {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .js-modal-content {
    width: 90%;
    margin: auto;
    padding: 5rem 1rem 2rem;
  }
}
.js-modal-content .close {
  color: #fff;
  background: #9A7B17;
  width: 6rem;
  height: 6rem;
  font-weight: bold;
  font-size: 6rem;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  right: 0;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  .js-modal-content .close {
    right: 0;
  }
}
@media (max-width: 767px) {
  .js-modal-content .close {
    right: 0;
    width: 4rem;
    height: 4rem;
  }
  .js-modal-content .close svg {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.js-modal-content .js-modal-scroll {
  overflow-x: auto;
  scrollbar-color: #9A7B17 #f3f3f3;
  scrollbar-width: thin;
}
.js-modal-content .js-modal-scroll img {
  width: 360rem;
  max-width: 300%;
  padding-bottom: 3rem;
}
@media (max-width: 767px) {
  .js-modal-content .js-modal-scroll img {
    max-width: 680%;
    width: 240rem;
    padding-bottom: 1rem;
  }
}
.js-modal-content .js-modal2 .js-modal-content {
  overflow-y: auto;
}

/* リーフレット専用スタイル */
.leaflet-new {
  padding-bottom: 8rem;
}
@media (max-width: 767px) {
  .leaflet-new {
    padding-bottom: 4rem;
  }
}
.leaflet-new__trigger {
  text-align: center;
  position: relative;
  cursor: pointer;
  margin-bottom: 4rem;
  display: inline-block;
}
@media (max-width: 767px) {
  .leaflet-new__trigger {
    margin: 0 0 2rem;
    width: 100%;
  }
}
.leaflet-new__icon {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
}
.leaflet-new__icon svg {
  width: 3.8rem;
  height: 3.8rem;
}

/* リーフレットモーダル専用スタイル */
.leaflet-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.leaflet-modal.is-active {
  display: block;
}
.leaflet-modal__wrapper {
  overflow-y: auto;
}
.leaflet-modal__content {
  width: 140rem;
  max-width: 1400px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-height: 95vh;
  background: white;
  overflow: hidden;
  background: #fff;
  padding: 1rem 7rem 2rem;
}
@media screen and (max-width: 1450px) {
  .leaflet-modal__content {
    width: 85%;
    padding: 1rem 7rem 0.5rem;
  }
}
@media (max-width: 767px) {
  .leaflet-modal__content {
    width: 95%;
    padding: 5rem 1rem 2rem;
  }
}
.leaflet-modal__close {
  color: #fff;
  background: #9A7B17;
  width: 6rem;
  height: 6rem;
  font-weight: bold;
  font-size: 6rem;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  right: 0;
  cursor: pointer;
  border: none;
}
@media (max-width: 767px) {
  .leaflet-modal__close {
    width: 4rem;
    height: 4rem;
  }
}
.leaflet-modal__scroll {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  padding-bottom: 3rem;
}
.leaflet-modal__scroll img {
  height: auto;
  width: auto;
  display: block;
  width: 360rem;
  max-width: 300%;
}
@media (max-width: 767px) {
  .leaflet-modal__scroll img {
    max-width: 680%;
    width: 240rem;
    padding-bottom: 1rem;
  }
}

/* カスタムスクロールバー */
.custom-scrollbar {
  position: absolute;
  bottom: 10px;
  left: 20px;
  right: 20px;
  height: 8px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  z-index: 1000;
}
.custom-scrollbar__thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.custom-scrollbar__thumb:hover {
  background: rgba(0, 0, 0, 0.6);
}
.custom-scrollbar__thumb.dragging {
  background: rgba(0, 0, 0, 0.8);
}

/* ネイティブスクロールバーを隠す */
.leaflet-modal__scroll {
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* IE and Edge */
}

.leaflet-modal__scroll::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Opera */
}

/*# sourceMappingURL=style.css.map */
