@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%;
  }
}

body {
  *font: x-small;
  _font-size: 14px;
}

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;
}

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

	サイトの基本設定のファイルです。
	最初の設定以外、基本変更することはありません。

---------------------------------------------------- */
/* --------------------------
	フォントの設定
-------------------------- */
/* --------------------------
	カラーの設定
-------------------------- */
/* --------------------------
	レイアウトの設定
-------------------------- */
/* --------------------------
	グリッドのガター
-------------------------- */
/* --------------------------
	レスポンシブの設定
-------------------------- */
/* --------------------------
  アニメーションの設定
-------------------------- */
/* ----------------------------------------------------

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

---------------------------------------------------- */
/* --------------------------
	レスポンシブ関連
-------------------------- */
/* ----------------------------------------------------

	自作関数をまとめたファイルです。
	基本的に変更することはありません。
	自作関数を追加したい場合、_functions_●●.scssという
	別ファイルを生成し、追加してください。

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

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

---------------------------------------------------- */
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 screen and (max-width: 767px) {
  html {
    font-size: 2.6667vw;
    scroll-padding-top: 10rem;
    /* 10px / 375px * 100 */
  }
}

body {
  background: #fff;
  color: #2E2E2E;
  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 screen and (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;
}

button {
  all: unset;
  display: inline-block;
  cursor: pointer;
  text-align: center;
  vertical-align: middle;
  line-height: 1;
  user-select: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
}

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

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

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

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

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

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

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

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

.u-link {
  color: #000;
  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--disc > li::before {
  content: "●";
  color: #ccc;
}
.u-ul-style--disc-red > li::before {
  content: "●";
  color: #000;
}
.u-ul-style--circle > li::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: #2e2e2e;
  top: 0.6rem;
}
@media screen and (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: #000;
}

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

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

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

@media screen and (max-width: 980px) {
  .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 screen and (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 screen and (max-width: 767px) {
  .u-mt-s {
    margin-top: 1rem !important;
  }
}

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

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

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

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

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

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

.u-mb-xl {
  margin-bottom: 8rem !important;
}
@media screen and (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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (max-width: 980px) {
  .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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .u-mt-40-negative-sp {
    margin-top: -4rem !important;
  }
}
/* --------------------------
	Layout
-------------------------- */
/* ----------------------------------------------------

	レイアウト設定のファイルです。
	グリッドレイアウトのスタイルをまとめています。
	基本的には編集することはありません。

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

---------------------------------------------------- */
/* --------------------------
	グリッドシステム
-------------------------- */
.l-grid {
  display: flex;
  flex-wrap: wrap;
}
.l-grid__item {
  box-sizing: border-box;
  width: 16.667%;
}
.l-grid__item-1 {
  width: 8.33%;
}
.l-grid__item-2 {
  width: 16.667%;
}
.l-grid__item-3 {
  width: 25%;
}
.l-grid__item-4 {
  width: 33.333%;
}
.l-grid__item-5 {
  width: 41.666%;
}
.l-grid__item-6 {
  width: 50%;
}
.l-grid__item-7 {
  width: 58.333%;
}
.l-grid__item-8 {
  width: 66.666%;
}
.l-grid__item-9 {
  width: 75%;
}
.l-grid__item-10 {
  width: 83.33%;
}
.l-grid__item-11 {
  width: 91.666%;
}
.l-grid__item-12 {
  width: 100%;
}
@media screen and (max-width: 980px) {
  .l-grid__item-1-tab {
    width: 8.33%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-2-tab {
    width: 16.667%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-3-tab {
    width: 25%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-4-tab {
    width: 33.333%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-5-tab {
    width: 41.666%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-6-tab {
    width: 50%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-7-tab {
    width: 58.333%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-8-tab {
    width: 66.666%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-9-tab {
    width: 75%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-10-tab {
    width: 83.33%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-11-tab {
    width: 91.666%;
  }
}
@media screen and (max-width: 980px) {
  .l-grid__item-12-tab {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-1-sp {
    width: 8.33%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-2-sp {
    width: 16.667%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-3-sp {
    width: 25%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-4-sp {
    width: 33.333%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-5-sp {
    width: 41.666%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-6-sp {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-7-sp {
    width: 58.333%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-8-sp {
    width: 66.666%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-9-sp {
    width: 75%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-10-sp {
    width: 83.33%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-11-sp {
    width: 91.666%;
  }
}
@media screen and (max-width: 767px) {
  .l-grid__item-12-sp {
    width: 100%;
  }
}
.l-grid--ai-center {
  align-items: center;
}
.l-grid.l-gutter-s {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  margin-bottom: -1rem;
}
.l-grid.l-gutter-s > .l-grid__item {
  margin-bottom: 1rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.l-grid.l-gutter-m {
  margin-left: -1rem;
  margin-right: -1rem;
  margin-bottom: -2rem;
}
.l-grid.l-gutter-m > .l-grid__item {
  margin-bottom: 2rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.l-grid.l-gutter-l {
  margin-left: -2rem;
  margin-right: -2rem;
  margin-bottom: -4rem;
}
.l-grid.l-gutter-l > .l-grid__item {
  margin-bottom: 4rem;
  padding-left: 2rem;
  padding-right: 2rem;
}
.l-grid.l-gutter-xl {
  margin-left: -3rem;
  margin-right: -3rem;
  margin-bottom: -6rem;
}
.l-grid.l-gutter-xl > .l-grid__item {
  margin-bottom: 6rem;
  padding-left: 3rem;
  padding-right: 3rem;
}
.l-grid.l-gutter-2l {
  margin-left: -4rem;
  margin-right: -4rem;
  margin-bottom: -8rem;
}
.l-grid.l-gutter-2l > .l-grid__item {
  margin-bottom: 8rem;
  padding-left: 4rem;
  padding-right: 4rem;
}
@media screen and (max-width: 980px) {
  .l-grid.l-gutter-s-tab {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    margin-bottom: -1rem;
  }
  .l-grid.l-gutter-s-tab > .l-grid__item {
    margin-bottom: 1rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media screen and (max-width: 980px) {
  .l-grid.l-gutter-m-tab {
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: -2rem;
  }
  .l-grid.l-gutter-m-tab > .l-grid__item {
    margin-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 980px) {
  .l-grid.l-gutter-l-tab {
    margin-left: -2rem;
    margin-right: -2rem;
    margin-bottom: -4rem;
  }
  .l-grid.l-gutter-l-tab > .l-grid__item {
    margin-bottom: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-grid.l-gutter-s-sp {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    margin-bottom: -1rem;
  }
  .l-grid.l-gutter-s-sp > .l-grid__item {
    margin-bottom: 1rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-grid.l-gutter-m-sp {
    margin-left: -1rem;
    margin-right: -1rem;
    margin-bottom: -2rem;
  }
  .l-grid.l-gutter-m-sp > .l-grid__item {
    margin-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .l-grid.l-gutter-l-sp {
    margin-left: -2rem;
    margin-right: -2rem;
    margin-bottom: -4rem;
  }
  .l-grid.l-gutter-l-sp > .l-grid__item {
    margin-bottom: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.l-grid.l-grid-mb0 > .l-grid__item {
  margin-bottom: 0 !important;
}
@media screen and (max-width: 980px) {
  .l-grid.l-grid-mb0-tab > .l-grid__item {
    margin-bottom: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .l-grid.l-grid-mb0-sp > .l-grid__item {
    margin-bottom: 0 !important;
  }
}

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

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

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

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

.l-inner {
  margin: 0 auto;
  width: 980px;
}
@media screen and (max-width: 1200px) {
  .l-inner {
    width: 90%;
  }
}
@media screen and (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%;
}

.l-clearfix::after {
  clear: both;
  content: "";
  display: block;
}

.l-left {
  float: left;
}

.l-right {
  float: right;
}

/* --------------------------
	module
-------------------------- */
.header {
  width: 100%;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 999;
}
.header__top {
  position: relative;
  background: #009944;
  height: 7rem;
  display: flex;
  align-items: center;
  z-index: -2;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .header__top {
    flex-wrap: wrap;
    height: auto;
    background: #fff;
    border-top: 2px solid #009944;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
}
.header__logo {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -20px;
  height: calc(100% - 8px);
  width: 220px;
  padding-right: 10px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1200px) {
  .header__logo {
    width: 18.3333333333vw;
    padding-right: 0.8333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .header__logo {
    position: absolute;
    top: 0;
    right: 5.5rem;
    width: 27%;
    transform: translateY(0);
    height: 5rem;
    background: #fff;
    z-index: 999;
  }
}
.header__logo::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: 767px) {
  .header__logo::after {
    content: none;
  }
}
.header__logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 7px 12px;
  padding-left: 0;
  height: 100%;
  position: relative;
}
.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: 1200px) {
  .header__logo a {
    padding: 0.8333333333vw 0.5833333333vw 1vw;
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .header__logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    filter: none;
    height: 100%;
    right: 0;
    padding-right: 5px;
  }
}
.header__logo a:nth-of-type(2) {
  padding: 10px 7px 12px;
  padding-right: 0;
}
@media screen and (max-width: 1200px) {
  .header__logo a:nth-of-type(2) {
    padding: 0.8333333333vw 0.5833333333vw 1vw;
    padding-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .header__logo a:nth-of-type(2) {
    padding-left: 5px;
  }
}
.header__logo img {
  width: 71px;
}
@media screen and (max-width: 1200px) {
  .header__logo img {
    width: 5.9166666667vw;
  }
}
@media screen and (max-width: 767px) {
  .header__logo img {
    width: 4.5rem;
  }
}
.header__ttl {
  padding-left: 6.5rem;
  height: calc(100% - 8px);
  display: flex;
  align-items: center;
  width: 35rem;
  left: -3rem;
  position: relative;
}
@media screen and (max-width: 1500px) {
  .header__ttl {
    padding-left: 4.3333333333vw;
    left: -2vw;
    width: 23.3333333333vw;
  }
}
@media screen and (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 screen and (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: 1350px) {
  .header__ttl span {
    font-size: 1.1851851852vw;
  }
}
@media screen and (max-width: 767px) {
  .header__ttl span {
    font-size: 1.2rem;
  }
}
.header__main {
  font-size: 2rem;
  line-height: 1.5;
}
@media screen and (max-width: 1350px) {
  .header__main {
    font-size: 1.4814814815vw;
  }
}
@media screen and (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 screen and (max-width: 767px) {
  .header .u-ul-style {
    font-size: 0.7rem;
  }
  .header .u-ul-style svg {
    width: 5px;
  }
}
@media screen and (max-width: 767px) {
  .header .ul-sp {
    display: flex;
  }
}

.h-content {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.h-content svg {
  width: 92.7rem;
}
@media screen and (max-width: 1600px) {
  .h-content svg {
    width: 57.9375vw;
  }
}
@media screen and (max-width: 767px) {
  .h-content {
    margin-left: 0;
    width: 50%;
  }
}
.h-content__info-date {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media screen and (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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .h-section__detail span {
    font-size: 1.4rem;
  }
}
.h-section__detail svg {
  margin: auto 1rem;
}
@media screen and (max-width: 767px) {
  .h-section__detail svg {
    width: 1.6rem;
  }
}

.map-wrap {
  position: relative;
}

.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;
}

.news .news__wrap {
  display: flex;
  align-items: baseline;
  background: #2E2E2E;
  color: #fff;
  font-size: 1.6rem;
}
.news .news__wrap:first-of-type {
  position: relative;
}
@media screen and (max-width: 1600px) {
  .news .news__wrap {
    font-size: 1vw;
  }
}
@media screen and (max-width: 767px) {
  .news .news__wrap {
    font-size: 1.2rem;
    overflow: hidden;
  }
}
.news .news__wrap dt {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
  width: 20%;
  text-align: right;
  position: relative;
  height: 100%;
  background: #5F5F5F;
  display: block;
}
@media screen and (max-width: 767px) {
  .news .news__wrap dt {
    font-size: 1.2rem;
    text-align: center;
    margin-right: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    width: 21%;
  }
}
.news .news__wrap dt::after {
  content: "";
  background: #5F5F5F;
  width: 15%;
  height: 100%;
  transform: skewX(-30deg);
  position: absolute;
  top: 0;
  right: -7%;
}
@media screen and (max-width: 767px) {
  .news .news__wrap dt::after {
    width: 43%;
    right: -18%;
    height: 99%;
  }
}
.news .news__wrap dt .news__icon {
  position: relative;
  z-index: 3;
  margin-right: 3rem;
}
@media screen and (max-width: 767px) {
  .news .news__wrap dt .news__icon {
    margin-right: 0;
    margin-left: 2rem;
  }
}
.news .news__wrap dt .news__icon::after {
  content: "";
  width: 2rem;
  height: 2rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2227%22%20height%3D%2227%22%20viewBox%3D%220%200%2027%2027%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M13.6959%200.708988C11.163%200.70701%208.68644%201.45604%206.57948%202.86131C4.47251%204.26659%202.8298%206.26499%201.85914%208.60371C0.888479%2010.9424%200.633484%2013.5164%201.12641%2016C1.61933%2018.4836%202.83803%2020.7653%204.62834%2022.5564C6.41865%2024.3475%208.70014%2025.5676%2011.1842%2026.0623C13.6683%2026.557%2016.2433%2026.3041%2018.5835%2025.3356C20.9238%2024.3671%2022.9241%2022.7265%2024.3315%2020.6213C25.7389%2018.5162%2026.4901%2016.041%2026.4901%2013.509C26.4901%2010.1159%2025.1425%206.86173%2022.7434%204.46156C20.3443%202.06138%2017.09%200.711639%2013.6959%200.708988ZM15.8966%2023.499H12.2854V12.789H8.3941V9.99899H15.8966V23.499ZM13.8959%208.08899C13.5914%208.10457%2013.2869%208.05643%2013.0021%207.94763C12.7172%207.83883%2012.4582%207.67178%2012.2416%207.45716C12.0251%207.24255%2011.8557%206.9851%2011.7444%206.70129C11.6331%206.41748%2011.5822%206.11356%2011.5952%205.80899C11.584%205.50394%2011.6358%205.19985%2011.7475%204.91573C11.8591%204.63161%2012.0282%204.37357%2012.2441%204.15771C12.46%203.94186%2012.7182%203.77285%2013.0024%203.66123C13.2866%203.54961%2013.5908%203.49778%2013.8959%203.50899C14.199%203.5005%2014.5006%203.55443%2014.7819%203.6674C15.0632%203.78038%2015.3183%203.95%2015.5313%204.16571C15.7443%204.38142%2015.9106%204.63862%2016.0199%204.92132C16.1292%205.20401%2016.1792%205.50616%2016.1667%205.80899C16.1809%206.11131%2016.1319%206.41326%2016.0229%206.69562C15.9139%206.97799%2015.7473%207.23457%2015.5337%207.44905C15.3201%207.66352%2015.0642%207.83119%2014.7822%207.94136C14.5002%208.05154%2014.1984%208.10181%2013.8959%208.08899Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2.5rem;
}
@media screen and (max-width: 767px) {
  .news .news__wrap dt .news__icon::after {
    width: 1.5rem;
    height: 1.5rem;
    left: -1.5rem;
  }
}
.news .news__wrap dd {
  display: flex;
  margin-left: 5rem;
  position: relative;
  width: 60%;
  max-width: 1100px;
  line-height: 1.5;
  height: 100%;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .news .news__wrap dd {
    margin-left: 2rem;
    margin-right: 2.7rem;
    width: 65%;
  }
}
.news .news__wrap dd span {
  padding-right: 1rem;
  width: 14rem;
  display: inline-block;
  flex-shrink: 0;
}
@media screen and (max-width: 1600px) {
  .news .news__wrap dd span {
    width: 8.75vw;
  }
}
@media screen and (max-width: 1300px) {
  .news .news__wrap dd span {
    padding-right: 0.7692307692vw;
  }
}
@media screen and (max-width: 767px) {
  .news .news__wrap dd span {
    padding-right: 0;
    width: 9rem;
    flex-shrink: 0;
  }
}
.news .news__wrap dd a {
  text-decoration: underline;
}
.news__open {
  position: absolute;
  top: 50%;
  right: 0;
  padding-left: 3rem;
  cursor: pointer;
  transform: translate(120%, -50%);
  font-size: 1.6rem;
}
@media screen and (max-width: 1600px) {
  .news__open {
    font-size: 1vw;
  }
}
@media screen and (max-width: 1400px) {
  .news__open {
    padding-left: 2.1428571429vw;
  }
}
@media screen and (max-width: 767px) {
  .news__open {
    padding-left: 2rem;
    right: -2.5rem;
    text-align: center;
    transform: translateY(-50%);
  }
}
.news__open::after {
  transition: 0.3s;
  transform: translateY(-50%) rotate(-180deg);
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2.7rem;
  height: 1.4rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='11' viewBox='0 0 21 11' fill='none'%3E%3Cpath d='M10.7495 0L20.7088 10.5L0.790219 10.5L10.7495 0Z' fill='white'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1400px) {
  .news__open::after {
    width: 1.9285714286vw;
    height: 1vw;
  }
}
@media screen and (max-width: 767px) {
  .news__open::after {
    width: 1.7rem;
    height: 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .news__open.active {
    transform: translateY(-50%);
  }
}
.news__open.active::after {
  transform: rotate(0) translateY(-50%);
}
.news__items {
  width: 80%;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .news__items {
    width: 98%;
  }
}
.news__items li {
  margin-left: 5rem;
  display: flex;
  align-items: baseline;
  overflow: auto;
  opacity: 1;
  height: auto;
  font-size: 1.6rem;
}
@media screen and (max-width: 1600px) {
  .news__items li {
    font-size: 1vw;
  }
}
@media screen and (max-width: 767px) {
  .news__items li {
    font-size: 1.2rem;
    margin-left: 1rem;
    margin-right: 1rem;
  }
}
.news__item {
  width: 67.2%;
  display: flex;
  align-items: baseline;
  height: 0;
  opacity: 0;
  transition: 0.5s ease;
}
@media screen and (max-width: 767px) {
  .news__item {
    font-size: 1.2rem;
    display: block;
    width: 100%;
  }
}
.news__item dt {
  padding-right: 3rem;
}
@media screen and (max-width: 767px) {
  .news__item dt {
    padding-right: 1rem;
    width: 30%;
  }
}
.news__item dd {
  width: 80%;
}
@media screen and (max-width: 767px) {
  .news__item dd {
    line-height: 1.2;
    padding: 0;
    padding-right: 2rem;
  }
}
.news__first {
  position: relative;
}
.news__date {
  padding-right: 1rem;
  align-items: center;
  height: 0;
  opacity: 0;
  transition: 0.5s ease;
  flex-shrink: 0;
}
@media screen and (max-width: 1300px) {
  .news__date {
    padding-right: 0.7692307692vw;
  }
}
@media screen and (max-width: 767px) {
  .news__date {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .news__date {
    padding-right: 1rem;
    width: 30%;
  }
}
.news__all {
  text-align: right;
  height: 0;
  margin: 0;
}
.news__all a {
  font-size: 1.4rem;
  font-weight: 500;
  background: #fff;
  border-radius: 50px;
  padding: 0.7rem 3rem 0.7rem 2rem;
  color: #2E2E2E;
  height: 0;
  opacity: 0;
  pointer-events: none;
  transition: 0.25s;
  position: relative;
}
@media screen and (max-width: 1350px) {
  .news__all a {
    font-size: 1.037037037vw;
  }
}
@media screen and (max-width: 767px) {
  .news__all a {
    font-size: 1.1rem;
    padding: 0.4rem 3rem 0.4rem 1rem;
    margin-right: 5%;
  }
}
.news__all a::after {
  content: "";
  width: 1.2rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M7.88505 0.221527H4.81348L8.22634 4.99953L4.81348 9.77754H7.88505L11.2979 4.99953L7.88505 0.221527Z' fill='%232E2E2E'/%3E%3Cpath d='M3.10722 0.221527H0.0356445L3.4485 4.99953L0.0356445 9.77754H3.10722L6.52008 4.99953L3.10722 0.221527Z' fill='%232E2E2E'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}
.news__list {
  overflow: hidden;
  transition: height 0.5s ease;
  background: #2E2E2E;
  color: #fff;
  max-height: 0;
}
.news__list.open {
  max-height: 1000px;
}
.news__list.open .news__item {
  height: auto;
  padding-top: 0.5rem;
  opacity: 1;
  transition: 0.5s ease;
  display: flex;
  align-items: baseline;
}
.news__list.open .news__date {
  height: auto;
  padding-top: 0.5rem;
  opacity: 1;
  transition: 0.5s ease;
  width: 14rem;
  display: inline-block;
}
@media screen and (max-width: 1600px) {
  .news__list.open .news__date {
    width: 8.75vw;
  }
}
@media screen and (max-width: 767px) {
  .news__list.open .news__date {
    white-space: nowrap;
    width: 9rem;
    flex-shrink: 0;
  }
}
.news__list.open .news__all {
  opacity: 1;
  height: 3rem;
  pointer-events: all;
  margin-bottom: 2rem;
  height: auto;
  width: 89%;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .news__list.open .news__all {
    width: 100%;
  }
}
.news__list.open .news__all a {
  opacity: 1;
  height: auto;
  pointer-events: all;
}
.news__item-ttl {
  text-decoration: underline;
}

.header-news-ac {
  transition: 0.25s;
}
.header-news-ac .header-news {
  height: 0;
  padding: 0;
  transition: 0.25s;
  overflow: hidden;
}
.header-news-ac .header-news__ttl {
  padding: 0;
}
.header-news-ac.active .header-news {
  padding: 0.5rem 0;
  height: 3.8rem;
  overflow: visible;
}
.header-news-ac.active .header-news__ttl {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.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: 1.8rem;
  padding-bottom: 1.6rem;
}
@media screen and (max-width: 1100px) {
  .h-nav__wrap {
    padding-top: 1.3636363636vw;
    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;
}
@media screen and (max-width: 1500px) {
  .h-nav__item {
    margin-right: 0;
    font-size: 0.8666666667vw;
  }
}
.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: #009944;
}
.h-nav__item a:hover svg path,
.h-nav__item span:hover svg path {
  fill: #009944;
}
@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: #2E2E2E;
  transition: 0.15s;
}
.h-nav__item.active {
  color: #009944;
}
.h-nav__item.active svg path {
  fill: #009944;
}
.h-nav__item--active {
  color: #009944;
}
.h-nav__item--active a {
  color: #009944 !important;
}
.h-nav__item--active svg path {
  fill: #009944;
}
.h-nav__coming a {
  color: #A8A8A8;
  position: relative;
  pointer-events: none;
}
.h-nav__coming a::after {
  content: "後日公開";
  color: #009944;
  font-size: 1.2rem;
  position: absolute;
  top: -1.8rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1500px) {
  .h-nav__coming a::after {
    top: -1.2vw;
    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 screen and (max-width: 767px) {
  .h-nav__btn a {
    border: 1px solid #009944;
  }
}
.h-nav__btn a:hover {
  color: #009944;
}
.h-nav__btn a:hover svg path {
  fill: #009944;
}
.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: #2e2e2e;
}
.h-nav__detail a svg path {
  transition: 0.15s;
}
.h-nav__detail a:hover {
  color: #009944;
}
.h-nav__detail a:hover svg path {
  fill: #009944;
}
.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 screen and (max-width: 767px) {
  .nx-globalfooter {
    padding-bottom: 9rem;
  }
}
.nx-globalfooter__telBlock {
  padding-bottom: 3rem;
  padding-top: 3rem;
  background: #F0F0F0;
}
@media screen and (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 screen and (max-width: 767px) {
  .nx-globalfooter__nav {
    font-size: 1rem;
  }
}
.nx-globalfooter__nav a {
  transition: 0.15s;
}
.nx-globalfooter__nav a:hover {
  color: #009944;
}
.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 screen and (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 screen and (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;
  width: 98rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .nx-globalfooter__clm2 {
    width: 95%;
    display: inline-block;
    padding: 1.5rem 2.5rem;
    margin: 0 auto;
  }
}

.nx-globalfooter__wrap {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .nx-globalfooter__wrap {
    display: block;
  }
}

.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;
  font-weight: 500;
}
@media screen and (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 screen and (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 screen and (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;
  margin-top: -0.25em;
  padding-bottom: 15px;
  line-height: 1;
}
@media screen and (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 screen and (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 screen and (max-width: 767px) {
  .nx-globalfooter__clm2__r__upper a svg {
    width: 20rem;
    height: 2.5rem;
  }
}

.nx-globalfooter__ttl {
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 3.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .nx-globalfooter__ttl {
    font-size: 1.3rem;
    margin-bottom: 0;
  }
}

.nx-globalfooter__clm2-ttl {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .nx-globalfooter__clm2-ttl {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 2rem;
  }
}

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

.nx-globalfooter__clm2__r__lower {
  font-size: 1.4rem;
  line-height: 1.5;
  color: #666;
}
@media screen and (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: #009944;
  text-decoration: none;
}

@media screen and (width <= 750px) {
  .nx-globalfooter__clm2__r {
    font-size: 20px;
    font-size: 2rem;
    display: block;
    margin: 20px 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 screen and (max-width: 767px) {
  .footer-tel-link {
    pointer-events: all;
    text-decoration: underline !important;
  }
}

.mv {
  width: 100%;
  height: 36rem;
  background: #ccc;
}
@media screen and (max-width: 767px) {
  .mv {
    height: 28rem;
  }
}
.mv__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .mv__inner {
    display: block;
  }
}
@media screen and (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 screen and (max-width: 767px) {
  .mv__ttl {
    font-size: 2.6rem;
  }
}
.mv__text {
  font-size: 1.8rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .mv__text {
    font-size: 1.4rem;
  }
}

.mv-container {
  position: relative;
  width: 59.6rem;
}
@media screen and (max-width: 767px) {
  .mv-container {
    width: 100%;
  }
}
.mv-container__header {
  background: #009944;
  margin-bottom: 1rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .mv-container__header {
    margin-bottom: 0.8rem;
  }
}
.mv-container__header span {
  color: #fff;
  background: #009944;
  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 screen and (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 #009944;
  border-right: 2.5rem solid transparent;
  border-left: 2.5rem solid transparent;
}
@media screen and (max-width: 767px) {
  .mv-container__header span::after {
    border-top: 1.3rem solid #009944;
    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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .mv-container__body span {
    margin-right: 0;
    padding: 0.2rem 0.6rem;
  }
}
.mv-container__text {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  color: #fff;
}
@media screen and (max-width: 980px) {
  .mv-container__text {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .mv-container__text {
    font-size: 1.3rem;
  }
}
.mv-container__text .road {
  padding: 2px 3px 2px;
}

.menu-sp {
  background: #fff;
  position: fixed;
  top: 4.9rem;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: 0.25s;
  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 #009944;
  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: #009944;
}
.sp-menu__item--cp svg {
  width: 2rem;
}
.sp-menu__coming {
  position: relative;
}
.sp-menu__coming::after {
  content: "後日公開";
  color: #009944;
  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 screen and (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 #009944;
  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 screen and (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='%23009944' 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 screen and (max-width: 767px) {
  .btn-A a::after {
    right: 1.2rem;
    width: 9px;
    height: 15px;
  }
}
.btn-A a:hover {
  color: #009944;
}
.btn-A a:hover::after {
  transform: translateY(-50%) translateX(3px);
}
.btn-A--pink {
  height: 9rem;
}
@media screen and (max-width: 767px) {
  .btn-A--pink {
    height: 5rem;
  }
}
.btn-A--pink a {
  color: #fff;
  background: #009944;
}
.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="%23009944" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3C/path%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .btn-A--vertical a::after {
    right: 1rem;
    width: 1.2rem;
    height: 0.9rem;
  }
}
.btn-A--vertical a:hover {
  color: #009944;
}
.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 a:hover {
  color: #009944;
}
.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: #009944;
}
.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 0.25s;
  /* アニメーションの設定 */
  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 rgb(0, 153, 68);
  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: 0.25s;
  opacity: 0;
  pointer-events: none;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .pagetop {
    width: 4rem;
    height: 4rem;
    line-height: 3rem;
    bottom: 6rem;
  }
}
.pagetop.active {
  opacity: 1;
  pointer-events: all;
}
@media screen and (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: #009944;
}
@media screen and (max-width: 767px) {
  .pagetop .bi-chevron-up::before {
    font-size: 2rem;
  }
}

/* ------------------------------
	ナビゲーション
------------------------------ */
/* ------------------------------
	ページネーション
------------------------------ */
.wp-pagenavi {
  text-align: center;
  clear: both;
  margin: 6rem 0;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    margin: 4rem 0;
  }
}
.wp-pagenavi a,
.wp-pagenavi span {
  background-color: #fff;
  border: none !important;
  color: #999;
  font-size: 2rem;
  padding: 0.8rem 1.5rem !important;
  margin: 0 1.5rem !important;
  white-space: nowrap;
  border-radius: 50%;
  transition: 0.25s ease-in-out;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi a,
  .wp-pagenavi span {
    font-size: 1.4rem;
    padding: 0.5rem 1.2rem !important;
    margin: 0 0.5rem !important;
  }
}
.wp-pagenavi a:hover {
  color: #000;
}
.wp-pagenavi span.current {
  color: #000;
  font-weight: bold;
}

.wp-content-header {
  margin-bottom: 2rem;
}

/* ------------------------------
	Content( 記事の本文 )
------------------------------ */
.wp-content {
  line-height: 1.8;
  margin-bottom: 8rem;
  /* img */
}
.wp-content::after {
  content: "";
  clear: both;
  display: block;
}
.wp-content strong {
  font-weight: bold;
}
.wp-content em {
  font-style: italic;
}
.wp-content .aligncenter {
  display: block;
  margin: 0 auto;
}
.wp-content .alignright {
  float: right;
  margin-left: 1.5rem !important;
}
.wp-content .alignleft {
  float: left;
  margin-right: 1.5rem !important;
}
.wp-content img[class*=wp-image-],
.wp-content img[class*=attachment-] {
  height: auto;
  max-width: 100%;
  margin: 1.5rem 0;
}
.wp-content .wp-caption {
  max-width: 100%;
}
.wp-content p {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  margin-bottom: 2rem;
  margin-top: 1rem;
}
.wp-content a {
  color: #000;
  text-decoration: underline;
}
.wp-content a:hover {
  text-decoration: none;
}
.wp-content ul {
  margin: 1em 0;
  padding-left: 4rem;
  list-style-type: disc;
}
.wp-content ul li {
  list-style-type: disc;
}
.wp-content ol {
  margin: 1em 0;
  padding-left: 4rem;
  list-style-type: decimal;
}
.wp-content ol li {
  list-style-type: decimal;
}
.wp-content blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 4rem;
  -webkit-margin-end: 4rem;
  margin: 0 0 1em;
  padding: 50px 50px 40px;
  background: #f2f2f2;
  background: linear-gradient(to top, rgb(255, 255, 255) 0%, rgb(248, 248, 248) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgb(255, 255, 255)), color-stop(100%, rgb(248, 248, 248)));
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ffffff", endColorstr="#f8f8f8",GradientType=0 );
  border-radius: 5px;
  position: relative;
  border: 1px solid #c1c1c1;
}
.wp-content blockquote::before {
  content: '"';
  font-style: italic;
  font-size: 4rem;
  font-weight: bold;
  line-height: 4rem;
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 2rem;
  left: 2rem;
  color: #999;
}
.wp-content blockquote::after {
  content: '"';
  font-style: italic;
  font-size: 4rem;
  font-weight: bold;
  text-align: left;
  line-height: 6rem;
  width: 3rem;
  height: 3rem;
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  color: #999;
}
.wp-content pre {
  margin: 1em 0;
  padding: 1em;
  color: #000;
  white-space: pre-wrap; /* css-3 */
  white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
  word-wrap: break-word; /* Internet Explorer 5.5+ */
}

.yt-wrap {
  width: 73rem;
  height: 41rem;
  margin: 0 auto 4rem;
  margin-bottom: 4rem;
}
@media screen and (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 screen and (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 screen and (max-width: 767px) {
  .wrap.wrap--maintenance .maintenance {
    padding-top: 5rem;
    padding-bottom: 6rem;
  }
}
.wrap.wrap--maintenance .maintenance__svg {
  margin-bottom: 3rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .wrap.wrap--maintenance .maintenance__ttl {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.wrap.wrap--maintenance .maintenance__text {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .wrap.wrap--maintenance .maintenance__text {
    font-size: 1.3rem;
  }
}

/* --------------------------
	page
-------------------------- */
.nx-trafficKv {
  height: 27rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .nx-trafficKv {
    height: 21rem;
  }
}
.nx-trafficKv__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
@media screen and (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 screen and (max-width: 767px) {
  .nx-trafficKv__center {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (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 screen and (max-width: 767px) {
  .nx-trafficKv__span {
    font-size: 0.9rem;
    padding: 0.4rem 1rem;
  }
}
@media screen and (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 screen and (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 screen and (max-width: 767px) {
  .nx-trafficKv__text {
    font-size: 1.4rem;
  }
}
.nx-trafficKv__icon {
  width: 17rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .nx-trafficKv__icon {
    width: 8.5rem;
    margin-top: 0.5rem;
  }
}
.nx-trafficKv__svg {
  margin: 0.5rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .crumb__list {
    font-size: 1.2rem;
    flex-wrap: wrap;
  }
}
.crumb__list li {
  color: #009944;
  position: relative;
  padding-right: 1.5rem;
  margin-right: 1.5rem;
}
.crumb__list li a {
  white-space: nowrap;
}
.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='%23009944' 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 screen and (max-width: 767px) {
  .crumb__list li:nth-of-type(3) {
    margin-top: 1rem;
    width: 100%;
  }
}
.crumb__list li:last-of-type {
  color: #333;
  padding-right: 0;
  margin-right: 0;
}
.crumb__list li:last-of-type::after {
  content: none;
}

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

.heading-A {
  font-size: 2.8rem;
  line-height: 1.4;
  text-align: center;
  color: #009944;
  border-top: 1px solid #009944;
  border-bottom: 1px solid #009944;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .heading-B {
    font-size: 2.2rem;
  }
}

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

.heading-D {
  text-align: center;
  background: #009944;
  color: #fff;
  font-size: 2rem;
  padding: 1.5rem 2rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .heading-D {
    padding: 1rem;
    font-size: 1.4rem;
  }
}
.heading-D--strong {
  padding: 0 1rem;
  font-size: 2.4rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .content-wrap {
    padding-top: 0;
    margin-bottom: 2rem;
  }
}

.content {
  border: 2px solid #009944;
  background: #f8eded;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .content {
    margin-bottom: 5rem;
    margin-bottom: 2rem;
    border-radius: 5px;
    margin-bottom: 0;
  }
}
.content__header {
  background: #009944;
  width: 100%;
  color: #fff;
  padding: 3rem 4rem;
  position: relative;
  cursor: pointer;
  font-size: 2.4rem;
  line-height: 1.5;
}
@media screen and (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 screen and (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 screen and (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: #f1f8ed;
}
.content__list.active {
  height: auto;
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .content__list.active {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .content__line {
    margin-bottom: 0.5rem;
  }
}
.content__note {
  font-size: 1.1rem;
}
@media screen and (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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .content-item__area {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}

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

.effort__header {
  display: flex;
  align-items: center;
  color: #fff;
  font-weight: bold;
  background: #009944;
  padding: 1.4rem 3rem;
  line-height: 1.5;
}
@media screen and (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 screen and (max-width: 767px) {
  .effort__number {
    font-size: 2.3rem;
    margin-right: 0.8rem;
  }
}
.effort__ttl {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .effort__ttl {
    font-size: 1.3rem;
  }
}
.effort__body {
  padding: 3rem;
  font-size: 1.6rem;
  background: #f5f5f5;
}
@media screen and (max-width: 767px) {
  .effort__body {
    padding: 1.5rem;
    font-size: 1.2rem;
  }
}
.effort__flex {
  display: flex;
}
.effort__wrap {
  background: #fff;
}
.menu {
  background: #f1f8ed;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .menu {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.menu .heading-B {
  margin-bottom: 4rem;
  font-weight: bold;
}
@media screen and (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 screen and (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 screen and (max-width: 1200px) {
  .menu__item {
    width: calc((100% - 4rem) * 1 / 3);
    height: 23rem;
  }
}
@media screen and (max-width: 980px) {
  .menu__item {
    height: 20rem;
  }
}
@media screen and (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 #009944;
  transition: 0.15s;
}
.menu__item a:hover {
  background: #009944;
}
.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;
}
.menu__coming .menu__ttl {
  color: #fff;
}
.menu__hidden {
  display: none;
}
.menu__ttl {
  color: #009944;
  font-weight: bold;
  font-size: 1.8rem;
  transition: 0.15s;
}
@media screen and (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 screen and (max-width: 767px) {
  .menu__text {
    font-size: 0.8rem;
  }
}
.menu__content {
  text-align: center;
}
.menu__content svg {
  height: 5rem;
}
@media screen and (max-width: 767px) {
  .menu__content svg {
    height: 3rem;
  }
}
.menu__content svg path {
  transition: 0.15;
}

.line-number {
  font-family: "Roboto", sans-serif;
  font-weight: 800;
  width: 4.5rem;
  height: 4.5rem;
  line-height: 4.5rem;
  color: #2e2e2e;
  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 screen and (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 screen and (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 screen and (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: #009944;
}
.side-btn--red:hover {
  background: #fff;
  color: #009944;
  border-color: #009944;
}
@media screen and (max-width: 767px) {
  .side-btn--red:hover svg {
    width: 2.5rem;
  }
}
.side-btn--red:hover svg path {
  fill: #009944;
}
.side-btn--orange {
  background: #ee7800;
}
.side-btn--orange:hover {
  background: #fff;
  color: #ee7800;
  border-color: #ee7800;
}
@media screen and (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 screen and (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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .nx-news-contents img,
  .popup-news-contents img {
    margin-bottom: 2rem;
  }
}
.nx-news-contents a,
.popup-news-contents a {
  color: #009944;
  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 screen and (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: 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 screen and (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: #094 !important;
}

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

#comment {
  cursor: pointer;
}

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

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

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

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

---------------------------------------------------- */
.wrap.wrap--top #js-react-top-app {
  background: #b0dff8;
  min-height: 820px;
}
@media (min-width: 768px) and (max-width: 1200px) {
  .wrap.wrap--top #js-react-top-app {
    min-height: 60vw;
  }
}
@media screen and (max-width: 767px) {
  .wrap.wrap--top #js-react-top-app {
    min-height: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .wrap.wrap--top .map-info-legend {
    padding: 0;
    margin-bottom: 2rem;
  }
}
.wrap.wrap--top .map-info-note {
  border: 2px solid #009944;
  display: flex;
  width: 95%;
  margin: 5rem auto;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 767px) {
  .wrap.wrap--top .map-info-note {
    display: block;
    width: 100%;
    margin: 2rem auto;
  }
}
.wrap.wrap--top .map-info-note__header {
  background: #009944;
  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 screen and (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: #009944;
  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 screen and (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 screen and (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 #009944;
  text-align: center;
  position: relative;
  padding: 8rem 16rem;
  border-radius: 20px;
  background: #fff;
}
@media screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 #009944;
  transition: 0.15s;
}
.wrap.wrap--top .info-list__item a svg path {
  fill: #009944;
  transition: 0.15s;
}
.wrap.wrap--top .info-list__item a:hover {
  background: #009944;
}
.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 screen and (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 screen and (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 screen and (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: #009944;
  font-weight: 700;
  line-height: 1.4;
  font-feature-settings: "palt";
  transition: 0.15s;
}
@media screen and (max-width: 767px) {
  .wrap.wrap--top .info-list__ttl {
    font-size: 1.6rem;
  }
}
.wrap.wrap--top .info-list__text {
  font-size: 1.4rem;
  color: #2e2e2e;
  font-weight: 700;
  line-height: 1.57;
  transition: 0.15s;
}
@media screen and (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, #f1f8ed, #f1f8ed 4px, #fff 0, #fff 18px);
}
@media screen and (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: #009944;
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .wrap.wrap--top .cp-bnr__note {
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
  }
}
.wrap.wrap--top .find-info {
  background: #009944;
  padding-top: 5rem;
  padding-bottom: 5rem;
  text-align: center;
}
@media screen and (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 screen and (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 screen and (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 screen and (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 screen and (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: #009944;
}
.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='%23009944' 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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .wrap.wrap--top .area {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.wrap.wrap--top .area__ttl {
  text-align: center;
  color: #2E2E2E;
  border-top: 1px solid #2E2E2E;
  border-bottom: 1px solid #2E2E2E;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  margin-bottom: 4.6rem;
}
@media screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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: #009944;
}
.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 screen and (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 screen and (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: #009944;
  border-color: #009944;
}
.wrap.wrap--top .area-list__item .hokuriku::after {
  background: #009944;
}
.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: #009944;
  font-weight: bold;
  font-size: 2.4rem;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}
@media screen and (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 screen and (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: #2e2e2e;
  text-align: left;
  position: relative;
  background: #009944;
  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: #009944;
  position: absolute;
  top: 50%;
  left: -3.5rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .wrap.wrap--top .nx-modal__ttl span::after {
    width: 1.8rem;
    height: 1.8rem;
    left: -2rem;
  }
}
@media screen and (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 screen and (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 screen and (max-width: 767px) {
  .wrap.wrap--top .nx-modal__body {
    padding: 2rem;
  }
}
.wrap.wrap--top .nx-modal__flex {
  display: flex;
  justify-content: center;
}
@media screen and (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 screen and (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: #f1f8ed;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 1600px) {
  .wrap.wrap--top .nx-content {
    padding: 1.875vw;
  }
}
@media screen and (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: #009944;
  font-weight: bold;
  line-height: 1.15;
  margin-bottom: 1rem;
  text-align: left;
}
@media screen and (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 screen and (max-width: 767px) {
  .wrap.wrap--top .nx-content__text {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
@media screen and (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 screen and (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;
  }
}
.wrap.wrap--top .west-info {
  margin: 8rem 0;
}
@media screen and (max-width: 767px) {
  .wrap.wrap--top .west-info {
    margin: 4rem 0;
  }
}
.wrap.wrap--top .west-info .heading-A {
  color: #2890cd;
  border-top: 1px solid #2890cd;
  border-bottom: 1px solid #2890cd;
}
.wrap.wrap--top .west-info__txt {
  margin: 5rem 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .wrap.wrap--top .west-info__txt {
    margin: 2.5rem 0;
    font-size: 1.2rem;
  }
}
.wrap.wrap--top .west-info .btn-A a {
  background: #2890cd;
  border: 1px solid #2890cd;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .wrap.wrap--top .west-info .btn-A a {
    line-height: 1.5;
  }
}
.wrap.wrap--top .west-info .btn-A a::after {
  width: 1.2rem;
  height: 1.2rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.5015%2010.5943H1.31269V1.40546H4.59441V0.0927734H1.31269C0.964543%200.0927734%200.630655%200.231074%200.384478%200.477251C0.138301%200.723428%200%201.05732%200%201.40546V10.5943C0%2010.9424%200.138301%2011.2763%200.384478%2011.5225C0.630655%2011.7687%200.964543%2011.907%201.31269%2011.907H10.5015C10.8497%2011.907%2011.1836%2011.7687%2011.4297%2011.5225C11.6759%2011.2763%2011.8142%2010.9424%2011.8142%2010.5943V7.31257H10.5015V10.5943Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20d%3D%22M6.56343%200.0927734L8.72937%202.25871L4.9882%205.99988L5.90709%206.91876L9.64825%203.17759L11.8142%205.34353V0.0927734H6.56343Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (hover: hover) and (pointer: fine) {
  .wrap.wrap--top .west-info .btn-A a:hover {
    color: #2890cd;
    background-color: #fff;
  }
  .wrap.wrap--top .west-info .btn-A a:hover::after {
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M10.5015%2010.5943H1.31269V1.40546H4.59441V0.0927734H1.31269C0.964543%200.0927734%200.630655%200.231074%200.384478%200.477251C0.138301%200.723428%200%201.05732%200%201.40546V10.5943C0%2010.9424%200.138301%2011.2763%200.384478%2011.5225C0.630655%2011.7687%200.964543%2011.907%201.31269%2011.907H10.5015C10.8497%2011.907%2011.1836%2011.7687%2011.4297%2011.5225C11.6759%2011.2763%2011.8142%2010.9424%2011.8142%2010.5943V7.31257H10.5015V10.5943Z%22%20fill%3D%22%232890cd%22%2F%3E%3Cpath%20d%3D%22M6.56343%200.0927734L8.72937%202.25871L4.9882%205.99988L5.90709%206.91876L9.64825%203.17759L11.8142%205.34353V0.0927734H6.56343Z%22%20fill%3D%22%232890cd%22%2F%3E%3C%2Fsvg%3E");
  }
}

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

	各ページの独自モジュールスタイルの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 screen and (max-width: 767px) {
  .contents--prediction .nx-predictionKv {
    background-image: url(../images/prediction/p-prediction-sp.jpg);
  }
}
@media screen and (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 screen and (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 screen and (max-width: 767px) {
  .contents--prediction .nx-trafficKv__text {
    font-size: 1.4rem;
  }
}
.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 screen and (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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .contents--prediction .prediction {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.contents--prediction .prediction__note {
  border: 1px solid #009944;
  color: #009944;
  text-align: center;
  padding: 1.5rem 0;
  margin-bottom: 3rem;
  font-size: 1.6rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--prediction .prediction__text {
    font-size: 1.3rem;
    margin-bottom: 2.5rem;
  }
}
.contents--prediction .prediction__map {
  position: relative;
}
@media screen and (max-width: 767px) {
  .contents--prediction .prediction__map {
    margin-bottom: 0;
  }
}
.contents--prediction .prediction__map-legend {
  position: absolute;
  bottom: 1rem;
  right: 2rem;
}
@media screen and (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 screen and (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 screen and (max-width: 767px) {
  .contents--prediction .menu__list {
    gap: 1rem;
  }
}
.contents--prediction .p-calendar {
  padding-top: 8rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--prediction .p-calendar__ttl {
    font-size: 1.4rem;
    margin-bottom: 2.5rem;
  }
}
.contents--prediction .p-calendar .heading-A {
  color: #2e2e2e;
  border-top: 1px solid #2e2e2e;
  border-bottom: 1px solid #2e2e2e;
}
.contents--prediction .p-calendar__text {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar__text {
    font-size: 1.4rem;
    margin-bottom: 2.5rem;
  }
}
.contents--prediction .p-calendar__ttl-img {
  position: relative;
  border: 2px solid #2e2e2e;
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar__ttl-img {
    border: 1px solid #2e2e2e;
  }
}
.contents--prediction .p-calendar__notice {
  font-size: 1.4rem;
  margin: 1rem 0 8rem;
}
@media screen and (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-top: 2rem;
}
.contents--prediction .p-calendar .map-area-links {
  position: absolute;
  top: 3rem;
  transform: translateX(-50%);
  left: 55%;
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar .map-area-links {
    top: 0.5rem;
  }
}
.contents--prediction .p-calendar .map-area-link {
  position: relative;
  line-height: 0.5;
  text-align: center;
  padding: 0.5rem 4.5rem 1.8rem;
}
@media screen and (max-width: 1200px) {
  .contents--prediction .p-calendar .map-area-link {
    line-height: 0.8;
    padding: 0.5rem 4.5rem 1rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar .map-area-link {
    line-height: 0.5;
    padding: 0.2rem 2rem 0.75rem;
  }
}
.contents--prediction .p-calendar .map-area-link::after {
  position: absolute;
  content: "";
  right: 1rem;
  width: 12px;
  height: 12px;
  border-top: 2px solid #2e2e2e;
  border-right: 2px solid #2e2e2e;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
@media screen and (max-width: 1200px) {
  .contents--prediction .p-calendar .map-area-link::after {
    top: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar .map-area-link::after {
    width: 6px;
    height: 6px;
    border-top: 1.5px solid #2e2e2e;
    border-right: 1.5px solid #2e2e2e;
    top: auto;
  }
}
.contents--prediction .p-calendar .map-area-link a {
  font-size: 2.7rem;
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar .map-area-link a {
    font-size: 1.3rem;
  }
}
.contents--prediction .p-calendar .map-area-link a span {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar .map-area-link a span {
    font-size: 1.2rem;
  }
}
.contents--prediction .p-calendar__area {
  margin: 8rem 0;
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar__area {
    margin: 4rem 0;
  }
}
.contents--prediction .p-calendar__area-ttl {
  color: #2e2e2e;
  border: 3.5px solid #2e2e2e;
  border-radius: 1rem;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  line-height: 150%;
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar__area-ttl {
    font-size: 1.6rem;
    padding: 0.5rem 0;
    border: 2px solid #2e2e2e;
  }
}
.contents--prediction .p-calendar__area-ttl span {
  color: #003686;
}
.contents--prediction .p-calendar__area-img {
  position: relative;
  margin: 4rem auto 0;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .contents--prediction .p-calendar__area-img {
    margin: 2rem auto 0;
  }
}
.contents--prediction .pred-result-tl-ex {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--prediction .pred-result-tl-ex {
    margin-bottom: 2rem;
  }
}
.contents--prediction .pred-result-tl-ex {
  display: flex;
}
@media screen and (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 screen and (max-width: 1200px) {
  .contents--prediction .pred-result-tl-ex__ttl {
    padding: 0 1rem;
    margin-right: 1rem;
  }
}
@media screen and (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 screen and (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 screen and (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 screen and (max-width: 1200px) {
  .contents--prediction .pred-result-tl-ex > ul li span {
    font-size: 1.3rem;
  }
}
@media screen and (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 screen and (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 screen and (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: #009944;
  font-size: 2.2rem;
  line-height: 1.5;
  border-radius: 5px;
  position: relative;
  cursor: pointer;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--prediction .ac-calendar__head::after {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.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;
  background-color: #003686;
  width: 3rem;
  height: 3rem;
  font-size: 1.8rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--prediction .ac-calendar__head .road {
    font-size: 1.4rem;
  }
}
.contents--prediction .ac-calendar__body {
  background: #f5f5f5;
  padding: 4rem 5rem;
  display: none;
}
@media screen and (max-width: 767px) {
  .contents--prediction .ac-calendar__body {
    padding: 2.5rem 2rem 4rem;
  }
}
.contents--prediction .ac-calendar__info {
  margin-bottom: 4rem;
}
@media screen and (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: #009944;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  border-radius: 0.5rem;
  margin-bottom: 3rem;
}
@media screen and (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 screen and (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 screen and (max-width: 1200px) {
  .contents--prediction .ac-calendar__heading-sub::before {
    width: 18vw;
  }
}
@media screen and (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 screen and (max-width: 1200px) {
  .contents--prediction .ac-calendar__heading-sub::after {
    width: 18vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--prediction .ac-calendar__heading-sub::after {
    width: 15%;
  }
}
.contents--prediction .ac-calendar__wrap--down {
  margin-top: 7rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--prediction .ac-calendar__congestion {
    gap: 1.2rem;
  }
}
.contents--prediction .ac-calendar__calendar {
  margin-bottom: 5rem;
}
@media screen and (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に展開した場合

---------------------------------------------------- */
.contents--work #js-react-app {
  background: #b0dff8;
  min-height: 680px;
}
@media screen and (max-width: 767px) {
  .contents--work #js-react-app {
    min-height: 40rem;
  }
}
.contents--work .nx-workKv {
  background-image: url(../images/work/p-work.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .contents--work .nx-workKv {
    background-image: url(../images/work/p-work-sp.jpg);
  }
}
@media screen and (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 screen and (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 screen and (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: 55.4545454545vw;
  }
}
@media screen and (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 screen and (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 screen and (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 screen and (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 .navigation {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 2.5rem;
  grid-row-gap: 2rem;
  margin: 5rem 0;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation {
    grid-template-columns: 1.3fr 1fr;
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    margin: 2rem 0;
  }
}
.contents--work .navigation .btn1 {
  grid-area: 1/1/2/3;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation .btn1 {
    grid-area: 1/1/2/2;
  }
}
.contents--work .navigation .btn2 {
  grid-area: 1/3/2/5;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation .btn2 {
    grid-area: 1/2/2/3;
  }
}
.contents--work .navigation .btn3 {
  grid-area: 1/5/2/7;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation .btn3 {
    grid-area: 2/1/3/3;
  }
}
.contents--work .navigation .btn4 {
  grid-area: 2/1/3/4;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation .btn4 {
    grid-area: 3/1/4/3;
  }
}
.contents--work .navigation .btn5 {
  grid-area: 2/4/3/7;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation .btn5 {
    grid-area: 4/1/5/3;
  }
}
.contents--work .navigation__btn {
  position: relative;
  display: block;
  padding: 2rem 0;
  text-align: center;
  line-height: 1.4;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  background: #ee7800;
  border: 3px solid #ee7800;
  border-radius: 1rem;
  transition: 0.25s all;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation__btn {
    font-size: 1.6rem;
    padding: 1.5rem 0;
    border: 2px solid #ee7800;
    border-radius: 0.5rem;
  }
}
.contents--work .navigation__btn::after {
  position: absolute;
  width: 1.5rem;
  height: 1rem;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2215%22%20viewBox%3D%220%200%2026%2015%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2%202L13%2013L24%202%22%20stroke%3D%22white%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center;
  background-size: contain;
  transform: translateY(-50%);
  top: 50%;
  right: 2.6rem;
  content: "";
}
@media screen and (max-width: 767px) {
  .contents--work .navigation__btn::after {
    right: 0.4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .contents--work .navigation__btn:hover {
    color: #ee7800;
    background: #fff;
  }
  .contents--work .navigation__btn:hover::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2215%22%20viewBox%3D%220%200%2026%2015%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2%202L13%2013L24%202%22%20stroke%3D%22%23ee7800%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center;
    background-size: contain;
  }
}
.contents--work .navigation__btn--red {
  background: #e60012;
  border: 3px solid #e60012;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation__btn--red {
    border: 2px solid #e60012;
  }
}
@media (hover: hover) and (pointer: fine) {
  .contents--work .navigation__btn--red:hover {
    color: #e60012;
  }
  .contents--work .navigation__btn--red:hover::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2215%22%20viewBox%3D%220%200%2026%2015%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2%202L13%2013L24%202%22%20stroke%3D%22%23e60012%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center;
    background-size: contain;
  }
}
.contents--work .navigation__btn--purple {
  background: #7e3c93;
  border: 3px solid #7e3c93;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation__btn--purple {
    border: 2px solid #7e3c93;
  }
}
@media (hover: hover) and (pointer: fine) {
  .contents--work .navigation__btn--purple:hover {
    color: #7e3c93;
  }
  .contents--work .navigation__btn--purple:hover::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2215%22%20viewBox%3D%220%200%2026%2015%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2%202L13%2013L24%202%22%20stroke%3D%22%237e3c93%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center;
    background-size: contain;
  }
}
.contents--work .navigation__btn--green {
  background: #00ada9;
  border: 3px solid #00ada9;
}
@media screen and (max-width: 767px) {
  .contents--work .navigation__btn--green {
    border: 2px solid #00ada9;
  }
}
@media (hover: hover) and (pointer: fine) {
  .contents--work .navigation__btn--green:hover {
    color: #00ada9;
  }
  .contents--work .navigation__btn--green:hover::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2215%22%20viewBox%3D%220%200%2026%2015%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2%202L13%2013L24%202%22%20stroke%3D%22%2300ada9%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") no-repeat center;
    background-size: contain;
  }
}
.contents--work .regulation__ttl {
  margin-bottom: 5rem;
}
@media screen and (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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .contents--work .regulation__btn {
    justify-content: right;
    margin-bottom: 1rem;
  }
}
.contents--work .regulation__btn span {
  color: #009944;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .contents--work .regulation__btn span {
    font-size: 1.2rem;
  }
}
.contents--work .regulation__icon svg {
  width: 4rem;
  height: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--work .regulation__icon svg {
    width: 3rem;
    height: 3rem;
  }
}
.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 screen and (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: #2e2e2e;
  border-top: 1px solid #2e2e2e;
  border-bottom: 1px solid #2e2e2e;
}
@media screen and (max-width: 767px) {
  .contents--work .work__ttl {
    margin-bottom: 2rem;
  }
}
.contents--work .work__ttl--blue {
  color: #1ba4d9;
  border-color: #1ba4d9;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--work .work__ttl--blue {
    margin-bottom: 2rem;
  }
}
.contents--work .work__content {
  margin-bottom: 8rem;
}
@media screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .contents--work .infomation__text--full {
    padding: 0.7rem 1rem;
  }
}
.contents--work .work-list {
  color: #2e2e2e;
  margin-bottom: 4rem;
  border: 1px solid #2e2e2e;
  position: relative;
}
@media screen and (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 screen and (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: #f1f8ed;
  padding: 1rem 2rem;
  position: relative;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__name {
    display: block;
  }
}
.contents--work .work-list__body {
  padding: 0 2rem 2rem 2rem;
}
@media screen and (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 screen and (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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__area .work-list__detail {
    font-size: 1.1rem;
  }
}
.contents--work .work-list__roadName {
  color: #2e2e2e;
  font-size: 2.5rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__svg {
    display: inline-block;
  }
}
.contents--work .work-list__svg svg {
  width: 4rem;
  height: 3.5rem;
}
@media screen and (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 screen and (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: 27%;
  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 screen and (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 screen and (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 screen and (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 screen and (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;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}
@media screen and (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 screen and (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 .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 .simplebar-scrollbar::before {
  background-color: #009944;
  opacity: 1;
}
.contents--work .work-list .simplebar-content:after,
.contents--work .work-list .simplebar-content:before {
  padding-top: 1.5rem;
}
.contents--work .work-list__start, .contents--work .work-list__end {
  font-weight: bold;
  display: flex;
  align-items: baseline;
  line-height: 1;
  gap: 5px;
}
@media screen and (max-width: 767px) {
  .contents--work .work-list__start, .contents--work .work-list__end {
    flex-direction: column;
    gap: 2px;
  }
}
.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 screen and (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 screen and (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: 5px;
}
@media screen and (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 screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__month span {
    font-size: 2rem;
  }
}
.contents--work .work-list__weekday {
  font-size: 1.4rem;
  background: #2e2e2e;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.7;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__hour {
    font-size: 1.1rem;
    padding-top: 1rem;
  }
}
.contents--work .work-list__notice {
  font-size: 1.4rem;
  padding-top: 1rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__name-small {
    display: inline-block;
    font-size: 1.6rem;
  }
}
.contents--work .work-list__arrow {
  height: 2.6rem;
  width: 3.4rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__ex {
    font-size: 1.1rem;
    padding-top: 0;
  }
}
.contents--work .work-list__flex {
  display: flex;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--work .work-list__flex {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
.contents--work .work-list__flex-cont {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .contents--work .work-list__flex-cont {
    width: 100%;
  }
}
.contents--work .work-list__flex .work-list__period {
  gap: 1px;
}
@media screen and (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 screen and (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: #f1f8ed;
  padding: 1rem 0;
  line-height: 1.5;
}
@media screen and (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 screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__road-ttl span {
    font-size: 1.3rem;
    margin-right: 0.5rem;
  }
}
@media screen and (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 screen and (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 screen and (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.6rem;
  color: #2e2e2e;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .contents--work .work-list__note {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
@media screen and (max-width: 767px) {
  .contents--work .work-list .sp-block {
    display: block;
  }
}
@media screen and (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 screen and (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 screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__down-txt {
    flex-shrink: inherit;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--work .work-list__down-img {
    width: 43%;
  }
}
.contents--work .work-list__detail-area {
  display: flex;
  gap: 1.8rem;
  margin-top: 2rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--work .work-list__detail-wrap {
    width: 100%;
    gap: 1rem;
  }
}
.contents--work .work-list__detail-name {
  background: #2e2e2e;
  color: #fff;
  font-size: 2rem;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contents--work .work-list__detail-name {
    font-size: 1.6rem;
  }
}
.contents--work .work-list__detail-txt {
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (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 screen and (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-notice {
  color: #e60012;
  border: 2px solid #e60012;
  font-size: 1.8rem;
  padding: 2rem;
  line-height: 1.2;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contents--work .work-list__detail-notice {
    font-size: 1.2rem;
    padding: 1rem;
  }
}
.contents--work .work-list__detail-img {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .contents--work .work-list__detail-img {
    width: 100%;
  }
}
.contents--work .work-list--02 .work-list__regulation {
  background: #e60012;
  color: #fff;
}
.contents--work .work-list--02 .work-list__num {
  background: #e60012;
  color: #fff;
}
.contents--work .work-list--03 .work-list__regulation {
  background: #00ada9;
  color: #fff;
}
.contents--work .work-list--03 .work-list__num {
  color: #fff;
  background: #00ada9;
}
.contents--work .work-list--04 .work-list__regulation {
  background: #7e3c93;
  color: #fff;
}
.contents--work .work-list--04 .work-list__num {
  color: #fff;
  background: #7e3c93;
}
@media screen and (max-width: 767px) {
  .contents--work .work-list--04 .work-list__start,
  .contents--work .work-list--04 .work-list__end {
    font-size: 2.5rem;
    gap: 3px;
  }
}
.contents--work .work__content--blue .work__ttl {
  margin-bottom: 4rem;
}
.contents--work .work__content--blue .work-list {
  color: #1ba4d9;
  border-color: #1ba4d9;
}
.contents--work .work__content--blue .work-list__weekday {
  background: #1ba4d9;
}
.contents--work .work__content--blue .work-list__num {
  background: #1ba4d9;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .contents--work .work__content--blue .work-list__section {
    font-size: 1.4rem;
  }
}
.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 screen and (max-width: 767px) {
  .contents--work [data-endtime].is-closed::before {
    font-size: 1.4rem;
  }
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--work .js-modal-content {
    width: 100%;
  }
}
.contents--work .js-modal-position {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .contents--work .js-modal-position {
    position: static;
    transform: translate(0);
  }
}
.contents--work .js-scroll {
  max-height: 85vh;
}
@media screen and (max-width: 767px) {
  .contents--work .js-scroll {
    max-height: 75vh;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--work .js-scroll 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 screen and (max-width: 767px) {
  .contents--news .nx-newsKv {
    background-image: url(../images/news/p-news-sp.jpg);
  }
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--news .news {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
.contents--news .nx-news {
  padding-top: 10rem;
  padding-bottom: 8rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--news .nx-news__date {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}
.contents--news .nx-news__ttl {
  margin-bottom: 4rem;
}
@media screen and (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 screen and (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 #009944;
  border-radius: 1rem;
  width: 100%;
  transition: 0.3s;
}
@media screen and (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='%23009944' 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 screen and (max-width: 767px) {
  .contents--news .nx-news__btn a::after {
    left: 1rem;
  }
}
.contents--news .nx-news__btn a:hover {
  color: #009944;
}
.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 screen and (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--price .nx-priceKv {
  background-image: url(../images/price/p-price.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-priceKv {
    background-image: url(../images/price/p-price-sp.jpg);
  }
}
@media screen and (max-width: 1100px) {
  .contents--price .nx-trafficKv {
    font-size: 4.1818181818vw;
  }
}
.contents--price .nx-trafficKv__text-wrap {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 1100px) {
  .contents--price .nx-trafficKv__text {
    font-size: 1.6363636364vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .nx-trafficKv__text {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-trafficKv .mv-container {
  margin-top: 0;
}
@media screen and (max-width: 1200px) {
  .contents--price .nx-trafficKv .mv-container__body {
    padding: 3.1666666667vw;
    font-size: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .nx-trafficKv .mv-container__body {
    padding: 1.5rem 2rem 1rem;
    line-height: 1.5;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--price .nx-trafficKv .mv-container__header svg {
    width: 10vw;
    height: 10vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .nx-trafficKv .mv-container__header svg {
    width: 6rem;
    height: 6rem;
    right: 1rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--price .nx-trafficKv .mv-container__header span {
    width: 40vw;
    font-size: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .nx-trafficKv .mv-container__header span {
    font-size: 1.4rem;
    height: 2.6rem;
    padding-left: 2rem;
    width: 70%;
  }
}
.contents--price .mv-container__body span {
  padding: 0 0 0.2rem;
}
.contents--price .nx-price .btn-A {
  width: calc((100% - 6rem) / 2);
  margin-top: 5rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-price .btn-A {
    width: 100%;
    margin-bottom: 4rem;
    padding: 0 1.5rem;
  }
}
.contents--price .nx-price .btn-A a {
  display: block;
  font-weight: 500;
  line-height: 1.5;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-price .btn-A a {
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
    font-size: 1.6rem;
  }
}
.contents--price .nx-price .btn-A a span {
  color: #009944;
}
.contents--price .nx-price .btn-A--is a {
  background-color: #009944;
}
.contents--price .nx-price .btn-A--is a span {
  color: #fff;
}
.contents--price .nx-price .btn-A--is 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='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media screen and (max-width: 767px) {
  .contents--price .nx-price .l-inner {
    padding: 0;
  }
}
.contents--price .nx-wrap {
  background: #F5F5F5;
  padding: 4rem 4rem 1rem;
  border-radius: 10px;
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-wrap {
    padding: 1.5rem;
    padding-bottom: 2rem;
    margin-bottom: 4rem;
    border-radius: 0;
  }
}
.contents--price #sec02 {
  padding-bottom: 0;
}
.contents--price .nx-about {
  padding: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-about {
    padding: 2rem;
  }
}
.contents--price .nx-about__ttl {
  font-size: 2.8rem;
  margin-bottom: 3rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-about__ttl {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-about__text {
  font-size: 1.6rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-about__text {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }
}
.contents--price .sec-btns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  margin-bottom: 5.7rem;
}
@media screen and (max-width: 767px) {
  .contents--price .sec-btns {
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 3.5rem;
  }
}
.contents--price .sec-btns .btn-A {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .contents--price .sec-btns .btn-A {
    margin-bottom: 1.5rem;
  }
}
.contents--price .sec-btns .btn-A a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 8rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .sec-btns .btn-A a {
    font-size: 1.3rem;
    height: 3rem;
  }
}
.contents--price .sec-btns .btn-A--vertical {
  width: 30rem;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .contents--price .sec-btns .btn-A--vertical {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .sec-btns .btn-A--vertical a {
    padding: 3rem 0;
  }
}
.contents--price .nx-etc__tag {
  font-size: 2.8rem;
  color: #fff;
  font-weight: bold;
  background: #625EA9;
  color: #fff;
  line-height: 1.5;
  padding: 0.5rem 1.5rem;
  width: 17rem;
  margin: 0 auto 2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__tag {
    font-size: 1.8rem;
    width: 11rem;
    padding: 0.5rem;
    margin-bottom: 1rem;
  }
}
.contents--price .nx-etc__ttl {
  font-size: 3.2rem;
  text-align: center;
  color: #2e2e2e;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__ttl {
    font-size: 1.7rem;
    margin-bottom: 2rem;
  }
}
.contents--price .nx-etc__subttl {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__subttl {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }
}
.contents--price .nx-etc__text {
  font-size: 1.6rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__text {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
}
.contents--price .nx-etc__target {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__target {
    margin-top: 2rem;
  }
}
.contents--price .nx-etc__info dl {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__info dl {
    margin-bottom: 2rem;
  }
}
.contents--price .nx-etc__info dl:last-of-type {
  margin-bottom: 0;
}
.contents--price .nx-etc__info dt {
  color: #009944;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.32px;
  line-height: 1.5;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__info dt {
    font-size: 1.3rem;
    padding-left: 1.5rem;
  }
  .contents--price .nx-etc__info dt::after {
    width: 1rem;
    height: 1rem;
  }
}
.contents--price .nx-etc__info dd {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__info dd {
    font-size: 1.4rem;
  }
}
.contents--price .nx-etc__info dd span {
  font-size: 1.6rem;
  margin-top: 1.5rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__info dd span {
    margin-top: 1rem;
    font-size: 1.4rem;
  }
}
.contents--price .nx-etc__info dd .nx-etc__heading {
  color: #009944;
  font-size: 1.8rem;
  font-weight: 500;
  display: block;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__info dd .nx-etc__heading {
    font-size: 1.3rem;
    font-weight: bold;
  }
}
.contents--price .nx-etc__info dd .u-txt-bold {
  margin-top: 0;
  display: block;
  line-height: 2;
}
.contents--price .nx-etc__info dd p {
  margin-bottom: 2rem;
}
.contents--price .nx-etc__info dd p:last-of-type {
  margin-bottom: 0;
}
.contents--price .nx-etc__info dd .t-bold {
  margin-top: 0;
  display: inline;
}
.contents--price .nx-etc__dl {
  display: flex;
  width: 80%;
  margin: 0 auto;
  margin-bottom: 5px !important;
  line-height: 1.5;
  gap: 5px;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__dl {
    width: 100%;
  }
}
.contents--price .nx-etc__dl:last-of-type {
  margin-bottom: 2rem !important;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__dl:last-of-type {
    margin-bottom: 1rem !important;
  }
}
.contents--price .nx-etc__dl dt {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #009944;
  padding-left: 0;
  width: 15%;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__dl dt {
    width: 25%;
    font-size: 1.2rem;
  }
}
.contents--price .nx-etc__dl dd {
  background: #F1F8ED;
  padding: 2rem;
  width: 85%;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__dl dd {
    width: 75%;
    padding: 1rem;
    font-size: 1.2rem;
  }
}
.contents--price .nx-etc__note {
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__note {
    font-size: 1rem;
  }
}
.contents--price .nx-etc__content {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
  border-bottom: 1px solid #009944;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__content {
    font-size: 1.2rem;
    gap: 0.7rem;
    padding-bottom: 0.7rem;
    margin-bottom: 0.7rem;
  }
}
.contents--price .nx-etc__content:last-of-type {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.contents--price .nx-etc__map {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-etc__map {
    margin-bottom: 2rem;
  }
}
.contents--price .nx-charge__heading {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-charge__heading {
    margin-bottom: 2rem;
  }
}
.contents--price .nx-charge__bg {
  padding: 5rem;
  background: #F1F8ED;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-charge__bg {
    padding: 2.5rem 1rem;
    margin-bottom: 3rem;
  }
}
.contents--price .nx-charge__content {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-charge__content {
    margin-bottom: 2.5rem;
  }
}
.contents--price .nx-charge__content:last-of-type {
  margin-bottom: 0;
}
.contents--price .nx-charge__content .u-ul-style {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-charge__content .u-ul-style {
    font-size: 1.1rem;
  }
}
.contents--price .nx-charge__ttl {
  color: #009944;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-charge__ttl {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}
.contents--price .nx-charge__list {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-charge__list {
    margin-bottom: 1rem;
  }
}
.contents--price .nx-charge__list td,
.contents--price .nx-charge__list th {
  border: 5px solid #F1F8ED;
  border-collapse: collapse;
  padding: 2rem 1rem;
  font-size: 1.6rem;
  background: #fff;
  line-height: 1.5;
  text-align: center;
  line-height: 1.6;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-charge__list td,
  .contents--price .nx-charge__list th {
    border-width: 3px;
    padding: 1rem 0.3rem;
    font-size: 1rem;
    max-width: 12rem;
    min-width: 6rem;
  }
}
.contents--price .nx-charge__list th {
  color: #009944;
  font-size: 1.8rem;
  text-align: center;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-charge__list th {
    font-size: 1rem;
  }
}
.contents--price .nx-charge__list th span {
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-charge__list th span {
    font-size: 1.4rem;
  }
}
.contents--price .nx-charge__list th .t-red {
  color: #E60012;
}
.contents--price .nx-qa {
  padding-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa {
    padding: 0 1.5rem 5rem;
  }
}
.contents--price .nx-qa__ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa__ttl {
    margin-bottom: 2rem;
  }
}
.contents--price .nx-qa__question {
  background: #F1F8ED;
  position: relative;
  padding: 2rem 8rem;
  color: #2e2e2e;
  border-radius: 10px;
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa__question {
    padding: 1.2rem 4.5rem;
    font-size: 1.4rem;
  }
}
.contents--price .nx-qa__question::before {
  content: "Q.";
  font-weight: 700;
  font-size: 3rem;
  display: inline-block;
  font-family: Roboto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3rem;
  color: #009944;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa__question::before {
    font-size: 2rem;
    left: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa__question::after {
    top: 50%;
  }
}
.contents--price .nx-qa__answer {
  background: #fff !important;
  position: relative;
  padding: 0 8rem;
  font-size: 1.6rem;
}
.contents--price .nx-qa__answer span {
  font-size: 2rem;
  display: block;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa__answer span {
    font-size: 1.5rem;
  }
}
.contents--price .nx-qa__answer a {
  color: #009944;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa__answer {
    padding: 0 4.5rem;
    font-size: 1.4rem;
  }
}
.contents--price .nx-qa__answer::after {
  content: "A.";
  font-weight: 500;
  font-size: 3rem;
  display: inline-block;
  font-family: Roboto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa__answer::after {
    font-size: 2rem;
    left: 1.5rem;
  }
}
.contents--price .nx-qa .content {
  border: none;
  border-radius: none;
  background: transparent;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa .content {
    margin-bottom: 1rem;
  }
}
.contents--price .nx-qa .content:last-of-type {
  margin-bottom: 0;
}
.contents--price .nx-qa .content .nx-qa__answer {
  padding: 0 8rem;
  transition: all 0.2s;
  transition-timing-function: ease-in-out;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa .content .nx-qa__answer {
    padding: 0 1rem 0 4.5rem;
  }
}
.contents--price .nx-qa .content--active .nx-qa__answer {
  padding: 3rem 8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-qa .content--active .nx-qa__answer {
    padding: 1.5rem 1rem 1.5rem 4.5rem;
  }
}
.contents--price .pattern {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .pattern {
    padding-bottom: 4rem;
  }
}
.contents--price .pattern__heading {
  margin-bottom: 3.8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .pattern__heading {
    margin-bottom: 1.5rem;
  }
}
.contents--price .pattern__text {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .pattern__text {
    font-size: 1.1rem;
  }
}
.contents--price .pattern__flex {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
  margin-top: 5rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .pattern__flex {
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    display: block;
  }
}
.contents--price .pattern__wrap {
  background: #fff;
  padding: 1.5rem 1rem;
  font-size: 1.4rem;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contents--price .pattern__wrap {
    padding: 2rem 3rem;
    font-size: 1rem;
  }
  .contents--price .pattern__wrap:first-of-type {
    margin-bottom: 2.5rem;
  }
}
.contents--price .pattern__wrap span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background: #8DC21F;
  color: #fff;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -1.5rem;
}
.contents--price .pattern__wrap:nth-of-type(2) span {
  background: #0054A7;
}
.contents--price .pattern__map {
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .pattern__map {
    width: 90%;
    margin: 0 auto 2rem;
  }
}
.contents--price .pattern__img {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .pattern__img {
    margin-top: 2rem;
  }
}
.contents--price .nx-container {
  background: #fff;
  border-radius: 10px;
  padding: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-container {
    border-radius: 5px;
    padding: 1.5rem 1rem;
  }
}
.contents--price .nx-transit__heading {
  font-size: 3.2rem;
  text-align: center;
  color: #2e2e2e;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-transit__heading {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
.contents--price .nx-transit__text {
  font-size: 1.6rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-transit__text {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
}
.contents--price .nx-transit__info {
  background: transparent;
  margin-bottom: 0;
}
.contents--price .nx-transit__info dl {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-transit__info dl {
    margin-bottom: 2rem;
  }
}
.contents--price .nx-transit__info dl:last-of-type {
  margin-bottom: 0;
}
.contents--price .nx-transit__info dt {
  color: #009944;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.32px;
  line-height: 1.5;
  position: relative;
  padding-left: 2rem;
}
.contents--price .nx-transit__info dt::after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: #009944;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .contents--price .nx-transit__info dt {
    font-size: 1.3rem;
    padding-left: 1.5rem;
  }
  .contents--price .nx-transit__info dt::after {
    width: 1rem;
    height: 1rem;
  }
}
.contents--price .nx-transit__info dd {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-transit__info dd {
    font-size: 1.3rem;
  }
}
.contents--price .nx-transit__info dd span {
  font-size: 1.4rem;
  margin-top: 2rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-transit__info dd span {
    margin-top: 1rem;
    font-size: 1.1rem;
  }
}
.contents--price .nx-transit__info dd .nx-etc__heading {
  color: #009944;
  font-size: 1.8rem;
  font-weight: 500;
  display: block;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-transit__info dd .nx-etc__heading {
    font-size: 1.3rem;
    font-weight: bold;
  }
}
.contents--price .nx-transit__ttl {
  color: #009944;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-transit__ttl {
    font-size: 1.6rem;
    margin-bottom: 2.5rem;
  }
}
.contents--price .nx-transit .u-ul-style {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-transit .u-ul-style {
    font-size: 1.2rem;
  }
}
.contents--price .nx-grid-header {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 5px;
  margin-top: 3rem;
  margin-bottom: 5px;
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-grid-header {
    font-size: 1rem;
    margin-top: 1.5rem;
    gap: 2px;
  }
}
.contents--price .nx-grid-header__item {
  padding: 1rem 0;
  background: #009944;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-grid-header__item {
    padding: 0.5rem 0;
    text-align: center;
  }
}
.contents--price .nx-grid-header__item span {
  margin-top: 0 !important;
}
.contents--price .nx-grid-header__item:nth-of-type(1) {
  grid-column: 1/2;
  grid-row: 1/3;
}
.contents--price .nx-grid-header__item:nth-of-type(2) {
  grid-column: 2/4;
  grid-row: 1/3;
}
.contents--price .nx-grid-header__item:nth-of-type(3) {
  grid-column: 4/10;
  grid-row: 1/2;
}
.contents--price .nx-grid-header__item:nth-of-type(4) {
  grid-column: 4/10;
  grid-row: 2/3;
}
.contents--price .nx-grid-header__span {
  width: 49%;
  text-align: center;
}
.contents--price .nx-grid-body {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 5px;
  margin-bottom: 3rem;
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-grid-body {
    font-size: 1rem;
    margin-bottom: 1.5rem;
    gap: 2px;
  }
}
.contents--price .nx-grid-body__item {
  position: relative;
  background: #F1F8ED;
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-grid-body__item {
    padding: 0.5rem;
  }
}
.contents--price .nx-grid-body__item span {
  margin-top: 0 !important;
}
.contents--price .nx-grid-body__item:nth-of-type(1) {
  grid-column: 1/2;
  grid-row: 1/5;
}
.contents--price .nx-grid-body__item:nth-of-type(2) {
  grid-column: 2/4;
  grid-row: 1/3;
}
.contents--price .nx-grid-body__item:nth-of-type(3) {
  grid-column: 4/7;
  grid-row: 1/2;
}
.contents--price .nx-grid-body__item:nth-of-type(4) {
  grid-column: 7/10;
  grid-row: 1/2;
}
.contents--price .nx-grid-body__item:nth-of-type(5) {
  grid-column: 4/7;
  grid-row: 2/3;
}
.contents--price .nx-grid-body__item:nth-of-type(6) {
  grid-column: 7/10;
  grid-row: 2/3;
}
.contents--price .nx-grid-body__item:nth-of-type(7) {
  grid-column: 2/4;
  grid-row: 3/5;
}
.contents--price .nx-grid-body__item:nth-of-type(8) {
  grid-column: 4/7;
  grid-row: 3/4;
}
.contents--price .nx-grid-body__item:nth-of-type(9) {
  grid-column: 7/10;
  grid-row: 3/4;
}
.contents--price .nx-grid-body__item:nth-of-type(10) {
  grid-column: 4/7;
  grid-row: 4/5;
}
.contents--price .nx-grid-body__item:nth-of-type(11) {
  grid-column: 7/10;
  grid-row: 4/5;
}
.contents--price .nx-grid-body__item:nth-of-type(12) {
  grid-column: 1/2;
  grid-row: 5/7;
}
.contents--price .nx-grid-body__item:nth-of-type(13) {
  grid-column: 2/4;
  grid-row: 5/6;
}
.contents--price .nx-grid-body__item:nth-of-type(14) {
  grid-column: 4/7;
  grid-row: 5/6;
}
.contents--price .nx-grid-body__item:nth-of-type(15) {
  grid-column: 7/10;
  grid-row: 5/6;
}
.contents--price .nx-grid-body__item:nth-of-type(16) {
  grid-column: 2/4;
  grid-row: 6/7;
}
.contents--price .nx-grid-body__item:nth-of-type(17) {
  grid-column: 4/7;
  grid-row: 6/7;
}
.contents--price .nx-grid-body__item:nth-of-type(18) {
  grid-column: 7/10;
  grid-row: 6/7;
}
.contents--price .nx-grid-body__flex {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-grid-body__flex {
    padding: 0;
  }
}
.contents--price .nx-grid-body dt {
  margin: 0.5rem 0;
  padding-left: 0;
  color: #2e2e2e;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-grid-body dt {
    font-size: 1rem;
  }
}
.contents--price .nx-grid-body dt::after {
  content: none;
}
.contents--price .nx-grid-body dd {
  margin-left: 0.5rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-grid-body dd {
    font-size: 1rem;
  }
}
.contents--price .nx-grid-body--02 .nx-grid-body__item:nth-of-type(1) {
  grid-row: 1/3;
}
.contents--price .nx-grid-body--02 .nx-grid-body__item:nth-of-type(2) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--02 .nx-grid-body__item:nth-of-type(3) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--02 .nx-grid-body__item:nth-of-type(4) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--02 .nx-grid-body__item:nth-of-type(5) {
  grid-row: 2/3;
  grid-column: 2/4;
}
.contents--price .nx-grid-body--02 .nx-grid-body__item:nth-of-type(6) {
  grid-row: 2/3;
  grid-column: 4/7;
}
.contents--price .nx-grid-body--02 .nx-grid-body__item:nth-of-type(7) {
  grid-row: 2/3;
  grid-column: 7/10;
}
.contents--price .nx-grid-body--03 {
  grid-template-rows: repeat(3, 1fr);
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(1) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(2) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(3) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(4) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(5) {
  grid-column: 1/2;
  grid-row: 2/3;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(6) {
  grid-column: 2/4;
  grid-row: 2/3;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(7) {
  grid-row: 2/3;
  grid-column: 4/7;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(8) {
  grid-row: 2/3;
  grid-column: 7/10;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(9) {
  grid-column: 1/2;
  grid-row: 3/4;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(10) {
  grid-column: 2/4;
  grid-row: 3/4;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(11) {
  grid-row: 3/4;
  grid-column: 4/7;
}
.contents--price .nx-grid-body--03 .nx-grid-body__item:nth-of-type(12) {
  grid-row: 3/4;
  grid-column: 7/10;
}
.contents--price .nx-grid-body--04 {
  grid-template-rows: repeat(2, 1fr);
}
.contents--price .nx-grid-body--04 .nx-grid-body__item:nth-of-type(1) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--04 .nx-grid-body__item:nth-of-type(2) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--04 .nx-grid-body__item:nth-of-type(3) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--04 .nx-grid-body__item:nth-of-type(4) {
  grid-row: 1/2;
}
.contents--price .nx-grid-body--04 .nx-grid-body__item:nth-of-type(5) {
  grid-column: 1/2;
  grid-row: 2/3;
}
.contents--price .nx-grid-body--04 .nx-grid-body__item:nth-of-type(6) {
  grid-column: 2/4;
  grid-row: 2/3;
}
.contents--price .nx-grid-body--04 .nx-grid-body__item:nth-of-type(7) {
  grid-row: 2/3;
  grid-column: 4/7;
}
.contents--price .nx-grid-body--04 .nx-grid-body__item:nth-of-type(8) {
  grid-row: 2/3;
  grid-column: 7/10;
}
.contents--price .nx-note {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note {
    padding: 2.5rem 1.5rem !important;
    margin-bottom: 4rem !important;
  }
}
.contents--price .nx-note__ttl {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 3rem;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note__ttl {
    font-size: 1.3rem;
    text-align: left;
    margin-bottom: 2rem;
  }
}
.contents--price .nx-note .u-ul-style {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note .u-ul-style {
    font-size: 1.2rem;
  }
}
.contents--price .nx-border-wrap {
  background: #F1F1F1;
  border: 5px solid #fff;
  padding: 3rem;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-border-wrap {
    padding: 1.5rem;
    border: 2px solid #fff;
    border-radius: 5px;
  }
}
.contents--price .nx-reference__ttl {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-reference__ttl {
    font-size: 1.3rem;
    margin-bottom: 1.2rem;
  }
}
.contents--price .nx-target {
  padding: 6rem 0;
}
.contents--price .nx-target .u-ul-style {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-target {
    padding: 4rem 0;
  }
  .contents--price .nx-target .u-ul-style {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .nx-target--ex {
    padding: 0 0 2rem 0;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .nx-target__ttl {
    margin-bottom: 2rem;
  }
}
.contents--price .nx-target__text {
  font-size: 1.6rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-target__text {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
}
.contents--price .nx-target .u-ul-style--disc {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-target .u-ul-style--disc {
    font-size: 1.2rem;
  }
}
.contents--price .nx-target .u-ul-style--disc li::before {
  color: #2e2e2e;
}
.contents--price .nx-target__note {
  margin-top: 4rem !important;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-target__note {
    margin-top: 2.5rem !important;
    font-size: 1.2rem;
  }
}
.contents--price .nx-target__route {
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-target__route {
    margin-bottom: 2.5rem;
    position: relative;
  }
}
.contents--price .nx-target__icon {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  width: 4rem;
  height: 4rem;
}
.contents--price .nx-target__icon svg {
  width: 100%;
  height: 100%;
}
.contents--price .nx-target .js-modal-content {
  background-color: #fff;
  padding: 4rem 2rem 2rem 2rem;
}
.contents--price .nx-target .js-modal-img-wrap {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
.contents--price .nx-target .js-modal-img {
  width: 900px;
}
.contents--price .nx-target .js-modal-img--02 {
  width: 500px;
}
.contents--price .nx-target .simplebar-scrollbar::before {
  background-color: #009944;
  opacity: 1;
}
.contents--price .nx-target .simplebar-content:after,
.contents--price .nx-target .simplebar-content:before {
  padding-top: 1.5rem;
}
.contents--price .nx-target__qa-open .nx-target__question::before {
  transform: translateY(-50%) rotate(180deg);
}
.contents--price .nx-target__qa-open .nx-target__answer {
  padding: 2rem 1rem 2rem 6rem;
  height: auto;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-target__qa-open .nx-target__answer {
    padding: 1.5rem 1.5rem 1.5rem 4.5rem;
  }
}
.contents--price .detour-wrap {
  width: 64rem;
  margin: 0 auto;
  background: #fff;
  padding: 3rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .detour-wrap {
    width: 95%;
    padding: 1.5rem;
    margin-bottom: 3rem;
  }
}
.contents--price .detour-wrap__heading {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #2e2e2e;
  gap: 1.5rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .detour-wrap__heading {
    font-size: 1.1rem;
    gap: 0.7rem;
    margin-bottom: 1.5rem;
  }
}
.contents--price .detour-wrap__circle {
  color: #fff;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  font-size: 2.2rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #8DC21F;
}
@media screen and (max-width: 767px) {
  .contents--price .detour-wrap__circle {
    width: 2.2rem;
    height: 2.2rem;
    font-size: 1.1rem;
  }
}
.contents--price .detour-wrap__circle--blue {
  background: #0054A7;
}
.contents--price .detour-wrap__map {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .detour-wrap__map {
    margin-bottom: 1.5rem;
  }
}
.contents--price .route-table {
  width: 100%;
  border: 1px solid #EEE;
  border-collapse: collapse;
  margin-bottom: 5.8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .route-table {
    display: block;
    margin-bottom: 2rem;
  }
  .contents--price .route-table tbody {
    display: block;
  }
  .contents--price .route-table tr {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
}
.contents--price .route-table td,
.contents--price .route-table th {
  padding: 2rem;
  border: 1px solid #EEE;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  .contents--price .route-table td,
  .contents--price .route-table th {
    padding: 1rem;
  }
}
.contents--price .route-table .route-cell {
  background: #fff;
  font-size: 1.6rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .contents--price .route-table .route-cell {
    font-size: 1.4rem;
  }
}
.contents--price .route-table .route-cell--area {
  vertical-align: middle;
  text-align: center;
  font-size: 1.8rem;
  width: 28%;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .contents--price .route-table .route-cell--area {
    width: 100%;
    padding: 1.2rem;
    font-size: 1.6rem;
  }
}
.contents--price .route-table .route-cell--road {
  width: 23%;
  text-align-last: left;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .contents--price .route-table .route-cell--road {
    width: 45%;
    display: flex;
    align-items: center;
  }
}
.contents--price .route-table .route-cell--road span {
  vertical-align: middle;
  display: inline-block;
  margin-right: 1rem;
}
@media screen and (max-width: 767px) {
  .contents--price .route-table .route-cell--road span {
    margin-right: 0.5rem;
    display: inline-flex;
    align-items: center;
  }
}
.contents--price .route-table .route-cell--road span svg {
  height: 2.3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .route-table .route-cell--road span svg {
    height: 1.8rem;
  }
}
.contents--price .route-table .route-cell--detail {
  width: 49%;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .contents--price .route-table .route-cell--detail {
    width: 55%;
  }
}
.contents--price .route-table .route-cell--green {
  background: #EBF5EC;
}
.contents--price .route-table .route-cell--blue {
  background: #DFF2FC;
}
.contents--price .route-table .route-cell--red {
  background: #FCEBEB;
}
.contents--price .route-table th {
  background: #f0e6cc;
}
.contents--price .content__ac {
  font-size: 2rem;
  padding-left: 10rem;
  height: 10rem;
  display: flex;
  align-items: center;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .contents--price .content__ac {
    font-size: 1.4rem;
    padding: 1rem 3rem;
    padding-left: 4.5rem;
    height: auto;
  }
}
.contents--price .content__ac::before {
  content: "";
  width: 3.2rem;
  height: 3.2rem;
  background: #fff;
  color: #009944;
  font-size: 1.8rem;
  font-weight: bold;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .content__ac::before {
    width: 2rem;
    height: 2rem;
    font-size: 1.4rem;
    left: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .content__ac::after {
    top: 50%;
    right: 1rem;
  }
}
.contents--price .content__ac--A::before {
  content: "A";
}
.contents--price .content__ac--B::before {
  content: "B";
}
.contents--price .content__ac--C::before {
  content: "C";
}
.contents--price .content__body {
  background: #fff;
  padding: 0 5rem;
  transition: all 0.3s;
  transition-timing-function: linear;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .contents--price .content__body {
    padding: 0 2rem;
  }
}
.contents--price .content--active {
  background: #fff;
}
.contents--price .content--active .content__body {
  padding: 4rem 5rem;
  max-height: 2000rem;
  height: auto;
  overflow: visible;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .contents--price .content--active .content__body {
    padding: 2.5rem 2rem;
  }
}
.contents--price .nx-content__text {
  font-size: 1.6rem;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-content__text {
    font-size: 1.2rem;
    margin-bottom: 2rem;
  }
}
.contents--price .nx-content__heading {
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  background: #F5F5F5;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-content__heading {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-content__map {
  width: 90%;
  margin: 0 auto 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-content__map {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-content__detour {
  width: 90%;
  margin: 0 auto 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-content__detour {
    width: 100%;
    margin-bottom: 2.5rem;
  }
}
.contents--price .nx-content__detour img {
  width: 100%;
}
.contents--price .nx-content__via {
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-content__via {
    margin-bottom: 2.5rem;
  }
}
.contents--price .nx-content__rereading {
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-content__rereading {
    margin-bottom: 2.5rem;
  }
}
.contents--price .nx-content__flex {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-content__flex {
    display: block;
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .nx-content__wrap {
    width: 100%;
  }
}
.contents--price .nx-content--C .nx-content__map {
  width: 100%;
}
.contents--price .nx-sample__heading {
  color: #009944;
  background: #E5F4FB;
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.5;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-sample__heading {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-sample__wrap {
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-sample__wrap {
    display: block;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-sample__map {
  text-align: center;
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-sample__map {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-sample__container {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-sample__container {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-sample__container p {
  margin-bottom: 2.5rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-sample__container p {
    margin-bottom: 1rem;
    font-size: 1.2rem;
  }
}
.contents--price .nx-sample__container p:last-of-type {
  margin-bottom: 0;
}
.contents--price .nx-sample__bold {
  font-weight: bold;
  display: block;
}
.contents--price .nx-sample__text {
  font-size: 1.6rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-sample__text {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-sample .c-purple {
  color: #7030A0;
}
.contents--price .nx-sample .c-green {
  color: #00BA13;
}
.contents--price .nx-sample .c-blue {
  color: #54C3F1;
}
.contents--price .nx-range {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-range {
    display: block;
    margin-bottom: 2.5rem;
  }
}
.contents--price .nx-range__wrap {
  width: 37%;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-range__wrap {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-range__text {
  width: 58%;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-range__text {
    width: 100%;
    font-size: 1.2rem;
  }
}
.contents--price .nx-note-wrap {
  padding: 2rem;
  background: #fff;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note-wrap {
    padding: 2rem;
  }
}
.contents--price .nx-note-wrap__heading {
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 3rem;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note-wrap__heading {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
}
.contents--price .nx-note-wrap .u-ul-style {
  font-size: 1.6rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note-wrap .u-ul-style {
    font-size: 1.4rem;
  }
}
.contents--price .nx-note-wrap .content {
  border: none;
  border-radius: 0;
  background: transparent;
  margin-bottom: 0;
  width: 98%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note-wrap .content {
    margin-bottom: 1rem;
  }
}
.contents--price .nx-note-wrap .content:last-of-type {
  margin-bottom: 0;
}
.contents--price .nx-note-wrap .content__body {
  padding: 0;
}
.contents--price .nx-note-wrap .content .nx-qa__question {
  margin-bottom: 0;
  border-radius: 0;
  font-size: 1.8rem;
  padding: 1rem 8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note-wrap .content .nx-qa__question {
    font-size: 1.4rem;
    padding: 0.7rem;
  }
}
.contents--price .nx-note-wrap .content .nx-qa__question::before {
  content: none;
}
.contents--price .nx-note-wrap .content .nx-qa__question::after {
  width: 2.5rem;
  height: 2.5rem;
}
.contents--price .nx-note-wrap .content .nx-qa__answer {
  padding: 0 8rem;
  transition: all 0.2s;
  transition-timing-function: ease-in-out;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note-wrap .content .nx-qa__answer {
    padding: 0 1rem 0 4.5rem;
  }
}
.contents--price .nx-note-wrap .content--active .nx-qa__answer {
  padding: 3rem 8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-note-wrap .content--active .nx-qa__answer {
    padding: 1.5rem 1rem 1.5rem 4.5rem;
  }
}
.contents--price .nx-info__ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-info__ttl {
    margin-bottom: 2.5rem;
  }
}
.contents--price .nx-info__text {
  font-size: 1.6rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-info__text {
    font-size: 1.2rem;
    margin-bottom: 2.5rem;
  }
}
.contents--price .nx-info-box {
  overflow: hidden;
  margin: 4rem 0;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-info-box {
    margin: 2.5rem 0;
  }
}
.contents--price .nx-info-box .heading-A {
  margin-bottom: 4rem;
}
.contents--price .nx-info-box__heading {
  background: #fff;
  color: #009944;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  padding: 1rem;
  line-height: 1.5;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-info-box__heading {
    font-size: 1.4rem;
    margin-bottom: 2.5rem;
  }
}
.contents--price .nx-info-box__header {
  color: #fff;
  background: #009944;
  font-size: 2.4rem;
  font-weight: bold;
  padding: 1.5rem 4rem;
  border-radius: 10px 10px 0 0;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-info-box__header {
    font-size: 1.3rem;
    padding: 1rem 1.3rem;
  }
}
.contents--price .nx-info-box__header .route-number {
  margin-right: 2rem;
  background: #008765;
  border-radius: 5px;
  line-height: 1;
  padding: 0 6px 2px;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-info-box__header .route-number {
    margin-right: 0.5rem;
  }
}
.contents--price .nx-info-box__header .highway-name {
  margin-right: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-info-box__header .highway-name {
    margin-right: 0.5rem;
  }
}
.contents--price .nx-info-box__body {
  background: transparent;
  padding: 4rem;
  background: #F1F8ED;
  border-radius: 0 0 10px 10px;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-info-box__body {
    padding: 2rem;
  }
}
.contents--price .line-wrap {
  font-size: 1.8rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .contents--price .line-wrap {
    font-size: 1.4rem;
  }
}
.contents--price .line-wrap .line-number {
  width: 3rem;
  height: 3rem;
  line-height: 3rem;
  font-size: 2.4rem;
  margin-right: 0.8rem;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .contents--price .line-wrap .line-number {
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 1.4rem;
  }
}
.contents--price .nx-ic {
  width: 70rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-ic {
    width: 100%;
  }
}
.contents--price .nx-ic__wrap {
  display: flex;
  margin-bottom: 5px;
  justify-content: center;
}
.contents--price .nx-ic__wrap:last-of-type {
  margin-bottom: 0;
}
.contents--price .nx-ic__wrap:nth-child(1) {
  position: relative;
}
.contents--price .nx-ic__head {
  color: #fff;
  background: #009944;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  padding: 1.5rem;
  text-align: center;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-ic__head {
    font-size: 1.1rem;
    padding: 0.7rem;
  }
}
.contents--price .nx-ic__head:first-of-type::after {
  content: "";
  width: 1px;
  height: 60%;
  background: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.contents--price .nx-ic__content {
  width: 100%;
  background: #fff;
  padding: 2rem;
  position: relative;
}
.contents--price .nx-ic__content:first-of-type::after {
  content: "";
  width: 1px;
  height: 85%;
  background: #009944;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-ic__content {
    padding: 0.8rem;
  }
}
.contents--price .nx-ic__content dl {
  margin-bottom: 3rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-ic__content dl {
    font-size: 1.1rem;
    margin-bottom: 2rem;
  }
}
.contents--price .nx-ic__content dl:last-of-type {
  margin-bottom: 0;
}
.contents--price .nx-ic__content dt {
  font-weight: 600;
}
.contents--price .content-item {
  position: relative;
}
.contents--price .content-item__img {
  position: absolute;
  top: 2rem;
  right: 0;
  max-width: 40%;
}
@media screen and (max-width: 767px) {
  .contents--price .content-item__img {
    position: static;
    margin-bottom: 2rem;
    max-width: 100%;
    text-align: center;
  }
}
.contents--price .content-item__wrap {
  max-width: 61%;
}
@media screen and (max-width: 767px) {
  .contents--price .content-item__wrap {
    max-width: 100%;
  }
}
.contents--price .content-item .line-number {
  margin-right: 1rem;
}
@media screen and (max-width: 1200px) {
  .contents--price .content-item .line-number {
    margin-right: 0.8333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .content-item .line-number {
    margin-right: 0.5rem;
  }
}
.contents--price .content-item .line-number:last-of-type {
  margin-right: 2rem;
}
@media screen and (max-width: 1200px) {
  .contents--price .content-item .line-number:last-of-type {
    margin-right: 1.6666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--price .content-item .line-number:last-of-type {
    margin-right: 1rem;
  }
}
.contents--price .content-item__area .t-red {
  font-size: 3rem;
  margin-right: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--price .content-item__area .t-red {
    font-size: 2rem;
    margin-right: 1rem;
  }
}
.contents--price .nx-ic__ttl {
  font-size: 2.4rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}
.contents--price .nx-ic__ttl svg {
  width: 3rem;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-ic__ttl {
    font-size: 1.4rem;
  }
  .contents--price .nx-ic__ttl svg {
    width: 1.5rem;
    margin-right: 1rem;
  }
}
.contents--price .nx-ic p {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .contents--price .nx-ic p {
    font-size: 1.2rem;
    line-height: 2;
  }
}
.contents--price .outflow-ic {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--price .outflow-ic {
    margin-bottom: 1.5rem;
  }
}
.contents--price .pseudo-element {
  position: relative;
}
.contents--price .pseudo-element::after {
  content: "";
  height: 100%;
  width: 5px;
  position: absolute;
  right: -5px;
  top: 0;
  background: #F1F8ED;
  z-index: 2;
}
.contents--price .pseudo-element::before {
  content: "";
  height: 85%;
  width: 1px;
  background: #009944;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.contents--price .nx-grid-header .pseudo-element::after {
  content: none;
}
.contents--price .nx-grid-header .pseudo-element::before {
  background: #fff;
}

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

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

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

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

---------------------------------------------------- */
.contents--detour .nx-detourKv {
  background-image: url(../images/detour/p-detour.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detourKv {
    background-image: url(../images/detour/p-detour-sp.jpg);
  }
}
.contents--detour .nx-detourKv .mv-container {
  width: 61rem;
  margin-top: 0;
}
@media screen and (max-width: 1100px) {
  .contents--detour .nx-detourKv .mv-container {
    width: 55.4545454545vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detourKv .mv-container {
    width: 100%;
  }
}
@media screen and (max-width: 1100px) {
  .contents--detour .nx-detourKv .mv-container__header span {
    font-size: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detourKv .mv-container__header span {
    font-size: 1.3rem;
    padding-left: 1rem;
    width: 75%;
  }
}
.contents--detour .nx-detourKv .mv-container__body {
  padding-left: 4rem;
}
@media screen and (max-width: 1200px) {
  .contents--detour .nx-detourKv .mv-container__body {
    padding-left: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detourKv .mv-container__body {
    padding-left: 1.5rem;
    font-size: 1.3rem;
  }
}
.contents--detour .nx-trafficKv__ttl-area {
  margin-bottom: 1rem;
}
.contents--detour .nx-trafficKv__ttl {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-trafficKv__ttl {
    margin-bottom: 0;
  }
}
.contents--detour #js-react-app {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--detour #js-react-app {
    margin-bottom: 4rem;
  }
}
.contents--detour .btn-wrap {
  display: flex;
  align-items: center;
  padding-top: 5rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .btn-wrap {
    display: block;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--detour .btn-wrap .btn-A {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0;
  }
}
.contents--detour .btn-wrap .btn-A a {
  display: block;
  font-weight: 500;
  line-height: 1.5;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .btn-wrap .btn-A a {
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
  }
}
.contents--detour .btn-wrap .btn-A a span {
  color: #009944;
}
.contents--detour .nx-realtime {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-realtime {
    padding-bottom: 4rem;
  }
}
.contents--detour .nx-realtime__ttl {
  margin-bottom: 5.5rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-realtime__ttl {
    margin-bottom: 2rem;
  }
}
.contents--detour .nx-realtime__info {
  font-size: 1.6rem;
  margin-bottom: 8rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-realtime__info {
    font-size: 1.1rem;
    margin-bottom: 4rem;
  }
}
.contents--detour .nx-realtime__text {
  font-size: 1.6rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-realtime__text {
    font-size: 1.1rem;
    margin-bottom: 2rem;
  }
}
.contents--detour .nx-realtime__text a {
  color: #009944;
  transition: 0.15s;
}
.contents--detour .nx-realtime__text a:hover {
  opacity: 0.7;
}
.contents--detour .nx-detour {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour {
    padding-bottom: 5rem;
  }
}
.contents--detour .nx-detour__ttl {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__ttl {
    margin-bottom: 2.5rem;
  }
}
.contents--detour .nx-detour__heading-C {
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__heading-C {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__heading-C .road {
    font-size: 1.6rem;
  }
}
.contents--detour .nx-detour__text {
  font-size: 1.6rem;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__text {
    font-size: 1.4rem;
    margin-bottom: 3rem;
  }
}
.contents--detour .nx-detour__text:last-of-type {
  margin-bottom: 0;
}
.contents--detour .nx-detour__text-heading {
  margin-bottom: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__text-heading {
    font-size: 1.6rem;
  }
}
.contents--detour .nx-detour__info {
  font-size: 1.6rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__info {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
}
.contents--detour .nx-detour__map {
  text-align: center;
  margin-bottom: 7rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__map {
    margin-bottom: 3rem;
  }
}
.contents--detour .nx-detour__legend {
  margin-bottom: 4rem;
}
.contents--detour .nx-detour__heading {
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 700;
  color: #009944;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__heading {
    font-size: 1.6rem;
    margin-bottom: 2.5rem;
  }
}
.contents--detour .nx-detour__sample {
  display: flex;
  gap: 5px;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__sample {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.contents--detour .nx-detour__wrap {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__wrap {
    margin-bottom: 2.5rem;
  }
}
.contents--detour .nx-detour__header {
  color: #fff;
  background: #009944;
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__header {
    font-size: 1.2rem;
  }
}
.contents--detour .nx-detour__body {
  padding: 2rem;
  font-size: 1.6rem;
  background: #fff;
  min-height: 13rem;
}
@media screen and (max-width: 1100px) {
  .contents--detour .nx-detour__body {
    font-size: 1.4545454545vw;
    padding: 1.8181818182vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__body {
    font-size: 1.2rem;
    min-height: auto;
    padding: 1rem;
  }
}
.contents--detour .nx-detour__body span {
  font-weight: bold;
  display: block;
}
.contents--detour .nx-detour__img {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__img {
    margin-bottom: 2rem;
  }
}
.contents--detour .nx-detour__img img {
  width: 100%;
}
.contents--detour .nx-detour__table {
  border: 5px solid #fff;
  border-collapse: collapse;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__table {
    border: 3px solid #fff;
  }
}
.contents--detour .nx-detour__table td,
.contents--detour .nx-detour__table th {
  padding: 2rem;
  font-size: 1.6rem;
  background: #F1F8ED;
  border: 5px solid #fff;
  border-collapse: collapse;
  width: calc((100% - 10px) * 1 / 3);
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__table td,
  .contents--detour .nx-detour__table th {
    padding: 1rem 0.5rem;
    font-size: 1.1rem;
    border: 3px solid #fff;
  }
}
.contents--detour .nx-detour__table th {
  background: #009944;
  color: #fff;
  padding: 1.4rem;
  font-weight: normal;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour__table th {
    padding: 1rem 0.5rem;
    font-size: 1rem;
    line-height: 1rem;
    width: 33.3333333333%;
  }
}
.contents--detour .nx-detour .u-ul-style {
  font-size: 1.6rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .nx-detour .u-ul-style {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
.contents--detour .content__header {
  font-weight: bold;
}
.contents--detour .content__header .highway-name {
  display: inline-block;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .content__header .highway-name {
    margin-right: 1rem;
  }
}
.contents--detour .content__header .higway-section {
  font-weight: 500;
  font-size: 2.4rem;
  display: inline-flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .contents--detour .content__header .higway-section {
    font-size: 1.4rem;
  }
}
.contents--detour .content__header .higway-section svg {
  margin-right: 1rem;
  margin-left: 1rem;
  width: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--detour .content__header .higway-section svg {
    width: 2.5rem;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
}

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

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

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

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

---------------------------------------------------- */
.contents--construction .nx-constructionKv {
  background-image: url(../images/construction/p-construction.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-constructionKv {
    background-image: url(../images/construction/p-construction-sp.jpg);
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-constructionKv .nx-trafficKv__text-wrap {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--construction .nx-trafficKv {
    font-size: 4.1818181818vw;
  }
}
@media screen and (max-width: 1100px) {
  .contents--construction .nx-trafficKv__text {
    font-size: 1.6363636364vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-trafficKv__text {
    font-size: 1.4rem;
  }
}
.contents--construction .nx-trafficKv .mv-container {
  width: 64rem;
}
@media screen and (max-width: 1100px) {
  .contents--construction .nx-trafficKv .mv-container {
    width: 55.4545454545vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-trafficKv .mv-container {
    width: 100%;
  }
}
.contents--construction .nx-trafficKv .mv-container__body {
  padding-left: 3rem;
}
@media screen and (max-width: 1200px) {
  .contents--construction .nx-trafficKv .mv-container__body {
    padding: 3.1666666667vw;
    padding-right: 0.8333333333vw;
    font-size: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-trafficKv .mv-container__body {
    padding: 1.5rem 2rem 1rem;
    line-height: 2;
    padding-right: 1rem;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--construction .nx-trafficKv .mv-container__header svg {
    width: 10vw;
    height: 10vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-trafficKv .mv-container__header svg {
    width: 6rem;
    height: 6rem;
    right: 1rem;
  }
}
@media screen and (max-width: 1100px) {
  .contents--construction .nx-trafficKv .mv-container__header span {
    width: 40vw;
    font-size: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-trafficKv .mv-container__header span {
    font-size: 1.4rem;
    height: 3.8rem;
    padding-left: 2rem;
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-trafficKv .mv-container__header span::after {
    border-top: 2rem solid #E5004F;
    border-right: 1.9rem solid transparent;
    border-left: 1.9rem solid transparent;
    right: -2.8rem;
  }
}
.contents--construction .construction-inner {
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .contents--construction .construction-inner {
    width: 100%;
  }
}
.contents--construction .heading-A {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .heading-A {
    margin-bottom: 2.5rem;
  }
}
.contents--construction .heading-C {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .heading-C {
    margin-bottom: 2rem;
  }
}
.contents--construction .btn-bg .btn-wrap {
  display: flex;
  padding-top: 5rem;
  padding-bottom: 6rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .contents--construction .btn-bg .btn-wrap {
    display: block;
    margin-top: 0;
    margin-bottom: 1.5rem;
    padding-top: 2.5rem;
    padding-bottom: 3rem;
  }
}
.contents--construction .btn-bg .btn-wrap .btn-A {
  width: calc((100% - 5rem) * 1 / 3);
  margin-right: 2.5rem;
  color: #009944;
}
.contents--construction .btn-bg .btn-wrap .btn-A:nth-of-type(3n) {
  margin-right: 0;
}
.contents--construction .btn-bg .btn-wrap .btn-A a {
  line-height: 1.5;
  padding: 1.2rem 0;
}
@media screen and (max-width: 767px) {
  .contents--construction .btn-bg .btn-wrap .btn-A {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1.5rem;
  }
  .contents--construction .btn-bg .btn-wrap .btn-A a {
    font-size: 1.1rem;
  }
  .contents--construction .btn-bg .btn-wrap .btn-A a::after {
    width: 1.3rem;
    height: 0.9rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .sec-inner {
    padding-bottom: 4rem;
  }
}
.contents--construction .nx-lead {
  padding: 8rem 0;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-lead {
    padding: 4rem 0;
  }
}
.contents--construction .nx-lead .heading-B {
  margin-bottom: 5.6rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-lead .heading-B {
    margin-bottom: 3rem;
  }
}
.contents--construction .nx-lead__wrap {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-lead__wrap {
    margin-bottom: 2.5rem;
  }
}
.contents--construction .nx-lead__wrap:last-of-type {
  margin-bottom: 0;
}
.contents--construction .nx-lead__ttl {
  color: #009944;
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-lead__ttl {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    line-height: 1.3;
  }
}
.contents--construction .nx-lead__text {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-lead__text {
    font-size: 1.2rem;
  }
}
.contents--construction .heading-C {
  text-align: center;
}
.contents--construction .nx-work-ttl {
  font-size: 1.8rem;
  font-weight: 600;
  background: #F5F5F5;
  line-height: 1.2;
  padding: 0.9rem;
  text-align: center;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-work-ttl {
    padding: 1.1rem 0;
    line-height: 1.5;
    font-size: 1.1rem;
    margin-top: 1rem;
  }
}
.contents--construction .nx-work-efforts {
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-work-efforts {
    padding-top: 2.5rem;
  }
}
.contents--construction .nx-work-efforts--last {
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-work-efforts--last {
    padding-bottom: 2.5rem;
  }
}
.contents--construction .nx-work-heading {
  color: #009944;
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
  margin-left: 2rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-work-heading {
    font-size: 1.3rem;
    margin-left: 1.5rem;
  }
}
.contents--construction .nx-work-heading::after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: #009944;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-work-heading::after {
    width: 1rem;
    height: 1rem;
    left: -1.3rem;
  }
}
.contents--construction .nx-work-text {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-work-text {
    font-size: 1.3rem;
    margin-bottom: 2rem;
  }
}
.contents--construction .c-place .u-ul-style {
  margin-bottom: 4rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .c-place .u-ul-style {
    margin-bottom: 2rem;
    font-size: 1.3rem;
  }
}
.contents--construction .nx-work-efforts__text {
  font-size: 1.6rem;
  margin-bottom: 4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-work-efforts__text {
    font-size: 1.4rem;
    margin-bottom: 2rem;
  }
}
.contents--construction .nx-work-efforts__text .road {
  font-size: 1.6rem;
  font-weight: 600;
  border-radius: 3px;
  padding: 4px 4px 3px 5px;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-work-efforts__text .road {
    font-size: 1.4rem;
    padding: 2px 1px 1px 2px;
    margin-right: 2px;
  }
}
.contents--construction .nx-image {
  padding-bottom: 5rem;
}
.contents--construction .nx-image:last-of-type {
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-image {
    padding-bottom: 2.5rem;
  }
}
.contents--construction .nx-image__wrap {
  display: flex;
  gap: 4rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 4rem;
}
.contents--construction .nx-image__wrap:first-of-type {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-image__wrap {
    gap: 1rem;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-image__wrap--sp {
    display: block;
  }
  .contents--construction .nx-image__wrap--sp .nx-image__container {
    width: 100%;
  }
  .contents--construction .nx-image__wrap--sp .nx-image__img {
    height: auto;
    text-align: center;
    margin-bottom: 2rem;
  }
  .contents--construction .nx-image__wrap--sp .nx-image__img p {
    text-align: left;
    margin-top: 2rem;
  }
  .contents--construction .nx-image__wrap--sp img {
    width: 90%;
    margin: 0 auto;
  }
}
.contents--construction .nx-image__container {
  width: calc((100% - 4rem) / 2);
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-image__container {
    width: calc((100% - 2rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-image__single {
    width: 80%;
    margin: 0 auto;
  }
}
.contents--construction .nx-image__img p {
  font-size: 1.6rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-image__img p {
    font-size: 1.1rem;
    margin-top: 2rem;
  }
}
.contents--construction .nx-image__text {
  font-size: 1.6rem;
  margin-bottom: 4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-image__text {
    font-size: 1.4rem;
    text-align: left;
    margin-bottom: 2rem;
  }
}
.contents--construction .nx-image-list__wrap {
  display: flex;
  flex-wrap: wrap;
}
.contents--construction .nx-image-list__container {
  width: calc((100% - 8rem) * 1 / 3);
  margin-right: 4rem;
  margin-bottom: 3rem;
}
.contents--construction .nx-image-list__container:nth-of-type(3n) {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-image-list__container {
    width: calc(50% - 0.5rem);
    margin-right: 1rem;
    margin-bottom: 1.5rem;
  }
  .contents--construction .nx-image-list__container:nth-of-type(3n) {
    margin-right: 1rem;
  }
  .contents--construction .nx-image-list__container:nth-of-type(2n) {
    margin-right: 0;
  }
}
.contents--construction .nx-tab {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-tab {
    padding-bottom: 4rem;
  }
}
.contents--construction .nx-tab .nx-tab-list {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-tab .nx-tab-list {
    display: block;
    margin-bottom: 1.5rem;
  }
}
.contents--construction .nx-tab .nx-tab-item {
  height: 9rem;
  width: calc((100% - 3.4rem) * 1 / 3);
  margin-right: 1.7rem;
  color: #009944;
  border: 1px solid #009944;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1.4rem;
  transition: 0.15s;
  border-radius: 1rem;
  line-height: 1.5;
  font-weight: 500;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-tab .nx-tab-item {
    height: 6rem;
    width: 100%;
    font-size: 1.1rem;
    margin-bottom: 1rem;
  }
}
.contents--construction .nx-tab .nx-tab-item:nth-of-type(3n) {
  margin-right: 0;
}
.contents--construction .nx-tab .nx-active {
  background: #009944;
  color: #fff;
}
.contents--construction .nx-tab .nx-tab-content {
  display: none;
  padding: 5rem 8rem;
  border: 1px solid #2E2E2E;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-tab .nx-tab-content {
    padding: 1.5rem;
  }
}
.contents--construction .nx-tab .tab-active {
  display: block;
}
.contents--construction .nx-reduction {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-reduction {
    padding-bottom: 4rem;
  }
}
.contents--construction .nx-reduction .effort {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-reduction .effort {
    margin-bottom: 2rem;
  }
}
.contents--construction .nx-reduction .effort:last-of-type {
  margin-bottom: 0;
}
.contents--construction .nx-reduction .effort__flex {
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-reduction .effort__flex {
    display: block;
  }
  .contents--construction .nx-reduction .effort__flex .nx-work-ttl {
    padding: 0.7rem 0;
  }
}
.contents--construction .nx-reduction .effort__flex .effort__wrap {
  width: 42rem;
  margin-right: 4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-reduction .effort__flex .effort__wrap {
    margin: 0 auto 2rem;
    width: 80%;
  }
}
.contents--construction .nx-reduction .effort__flex .effort__text {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-reduction .effort__flex .effort__text {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-reduction .effort__flex .effort__img {
    width: 60%;
    margin: 0 auto;
  }
}
.contents--construction .nx-safety {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety {
    padding-bottom: 4rem;
  }
}
.contents--construction .nx-safety .effort {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort {
    margin-bottom: 2rem;
  }
}
.contents--construction .nx-safety .effort:last-of-type {
  margin-bottom: 0;
}
.contents--construction .nx-safety .effort__flex {
  justify-content: space-between;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort__flex {
    display: block;
  }
  .contents--construction .nx-safety .effort__flex .nx-work-ttl {
    padding: 0.7rem 0;
  }
}
.contents--construction .nx-safety .effort__flex .nx-work-ttl {
  background: #fff;
  padding: 0;
}
.contents--construction .nx-safety .effort__flex .effort__wrap {
  width: 42rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort__flex .effort__wrap {
    margin: 0 auto;
    width: 80%;
  }
}
.contents--construction .nx-safety .effort__flex .effort__wrap--p {
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort__flex .effort__wrap--p {
    padding: 1rem;
    margin-bottom: 2rem;
  }
}
.contents--construction .nx-safety .effort__flex .effort__text {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort__flex .effort__text {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort__flex .effort__img {
    width: 100%;
    margin: 0 auto;
  }
}
.contents--construction .nx-safety .effort__container {
  display: flex;
  width: 47rem;
  background: #fff;
  padding: 2rem;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort__container {
    width: 100%;
    gap: 1rem;
    padding: 1rem;
    margin-bottom: 2rem;
  }
}
.contents--construction .nx-safety .effort__container .effort__wrap {
  width: auto;
  margin-right: 0;
}
.contents--construction .nx-safety .effort-list {
  display: flex;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort-list {
    margin-top: 1.5rem;
    flex-wrap: wrap;
    padding-bottom: 0;
  }
}
.contents--construction .nx-safety .effort-list .nx-work-ttl {
  font-size: 1.5rem;
  line-height: 1.2;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort-list .nx-work-ttl {
    font-size: 1.1rem;
  }
}
.contents--construction .nx-safety .effort-list li {
  width: calc((100% - 6rem) * 1 / 4);
  margin-right: 2rem;
}
.contents--construction .nx-safety .effort-list li:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-safety .effort-list li {
    width: calc(50% - 0.5rem);
    margin-right: 1rem;
    margin-bottom: 1rem;
  }
  .contents--construction .nx-safety .effort-list li:nth-of-type(2n) {
    margin-right: 0;
  }
  .contents--construction .nx-safety .effort-list li .nx-work-ttl {
    padding: 1rem 0;
  }
}
.contents--construction .nx-bridge {
  padding-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-bridge {
    padding-bottom: 2rem;
  }
}
.contents--construction .nx-bridge .nx-list {
  display: flex;
  flex-wrap: wrap;
}
.contents--construction .nx-bridge .nx-list li {
  width: calc((100% - 5rem) * 1 / 3);
  margin-right: 2.5rem;
  margin-bottom: 6rem;
}
.contents--construction .nx-bridge .nx-list li:nth-of-type(3n) {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-bridge .nx-list li {
    width: calc(50% - 0.5rem);
    margin-right: 1rem;
    margin-bottom: 3rem;
  }
  .contents--construction .nx-bridge .nx-list li:nth-of-type(3n) {
    margin-right: 1rem;
  }
  .contents--construction .nx-bridge .nx-list li:nth-of-type(2n) {
    margin-right: 0;
  }
}
.contents--construction .nx-bridge .nx-list__ttl {
  color: #009944;
  font-size: 2.2rem;
  margin-bottom: 2rem;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-bridge .nx-list__ttl {
    font-size: 1.3rem;
    margin-bottom: 1rem;
  }
}
.contents--construction .nx-bridge .nx-list__img {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .nx-bridge .nx-list__img {
    margin-bottom: 1rem;
  }
}
.contents--construction .nx-bridge .nx-list .nx-work-ttl {
  margin-top: 1rem;
}
.contents--construction .swiper {
  position: relative;
}
.contents--construction .swiper-construction {
  overflow: hidden;
  width: 90%;
  margin: 0 auto;
}
.contents--construction .swiper-construction .slide-info {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .swiper-construction .slide-info {
    font-size: 0.8rem;
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
  }
}
.contents--construction .swiper-construction .slide-info svg {
  margin-right: 0.8rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .swiper-construction .slide-info svg {
    margin-right: 0.5rem;
    width: 0.6rem;
  }
}
.contents--construction .swiper-slide {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: auto;
}
@media screen and (max-width: 767px) {
  .contents--construction .swiper-slide {
    min-height: 18rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .swiper-slide .nx-work-ttl {
    height: 4.4rem;
  }
}
@media screen and (max-width: 767px) {
  .contents--construction .swiper-slide .nx-work-ttl--02 {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.contents--construction .slide-img a {
  display: inline-block;
  width: 100%;
  transition: 0.15s;
}
.contents--construction .slide-img a:hover {
  opacity: 0.7;
}
.contents--construction .slide-img img {
  width: 100%;
}
.contents--construction .swiper-button-next,
.contents--construction .swiper-button-prev {
  width: 8rem;
  height: 8rem;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .contents--construction .swiper-button-next,
  .contents--construction .swiper-button-prev {
    width: 5rem;
    height: 5rem;
  }
}
.contents--construction .swiper-button-next::after,
.contents--construction .swiper-button-prev::after {
  content: "";
  width: 8rem;
  height: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--construction .swiper-button-next::after,
  .contents--construction .swiper-button-prev::after {
    width: 5rem;
    height: 5rem;
  }
}
.contents--construction .swiper-button-next {
  right: 0;
}
.contents--construction .swiper-button-next::after {
  background: url(../images/common/next-btn.png) no-repeat center center;
  background-size: contain;
}
.contents--construction .swiper-button-prev {
  left: 0;
}
.contents--construction .swiper-button-prev::after {
  background: url(../images/common/prev-btn.png) no-repeat center center;
  background-size: contain;
}

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

	各ページの独自モジュールスタイルの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 screen and (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 screen and (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: #009944;
  margin: 0;
  height: 6.6rem;
}
@media screen and (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 screen and (max-width: 767px) {
  .contents--pr .cm-ttl {
    margin-bottom: 2rem;
  }
}
.contents--pr .congestion {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--pr .congestion {
    padding-bottom: 2rem;
  }
}
.contents--pr .congestion .u-align-c {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
@media screen and (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: #009944;
  margin-bottom: 1.5rem;
}
.contents--pr .announcement {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--pr .announcement {
    padding-bottom: 2rem;
  }
}
.contents--pr .announcement .u-align-c {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .contents--pr .announcement .u-align-c {
    font-size: 1.1rem;
    margin-bottom: 1.5rem;
  }
}
.contents--pr .announcement .btn-A {
  color: #009944;
  margin-bottom: 1.5rem;
}
.contents--pr .announcement .movie-size {
  font-size: 1.4rem;
  text-align: center;
  font-weight: normal;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .contents--pr .announcement .movie-size {
    font-size: 1rem;
  }
}
.contents--pr .revision .btn-A {
  color: #009944;
  margin-bottom: 1.5rem;
}
.contents--pr .leaflet {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--pr .leaflet {
    padding-bottom: 4rem;
  }
}
.contents--pr .leaflet .btn-A {
  color: #009944;
}
.contents--pr .leaflet__modal {
  text-align: center;
  position: relative;
  cursor: pointer;
  margin-bottom: 4rem;
}
@media screen and (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;
}
@media screen and (max-width: 1400px) {
  .contents--pr .leaflet .js-modal-content {
    width: 95%;
  }
}
.contents--pr .poster {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .contents--pr .poster {
    padding-bottom: 4rem;
  }
}
.contents--pr .poster .btn-A {
  color: #009944;
}
.contents--pr .poster__modal {
  margin: 0 5%;
  position: relative;
  cursor: pointer;
  margin: 0 auto 4rem;
  text-align: center;
  width: 60rem;
}
@media screen and (max-width: 767px) {
  .contents--pr .poster__modal {
    width: 100%;
  }
}
.contents--pr .poster__icon {
  position: absolute;
  bottom: 0;
  right: -2rem;
  display: flex;
}
@media screen and (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;
}
@media screen and (max-width: 1200px) {
  .contents--pr .poster .js-modal-content {
    width: 90%;
  }
}
@media screen and (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 screen and (max-width: 767px) {
  .js-modal-active {
    display: flex;
  }
}

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

.js-modal-content {
  width: 140rem;
  background: #fff;
  padding: 1rem 7rem 2rem;
  margin: 1.5rem auto;
  position: relative;
}
@media screen and (max-width: 1450px) {
  .js-modal-content {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .js-modal-content {
    width: 90%;
    margin: auto;
    padding: 5rem 2rem 2rem;
  }
}
.js-modal-content .close {
  color: #fff;
  background: #009944;
  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 screen and (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: #009944 #f3f3f3;
  scrollbar-width: thin;
}
.js-modal-content .js-modal-scroll img {
  width: 270%;
  max-width: 300%;
  max-height: 80vh;
}
@media screen and (max-width: 767px) {
  .js-modal-content .js-modal-scroll img {
    width: 700%;
    max-width: 700%;
  }
}

/* --------------------------
	animation
-------------------------- */
/* ----------------------------------------------------
  リサイズ時のtransition停止
---------------------------------------------------- */
body.transition-stop * {
  transition: none !important;
}

/* ----------------------------------------------------
  見出し アニメーション
---------------------------------------------------- */
.a-heading-01 {
  opacity: 0;
  transition: 0.65s;
}
.a-heading-01.active {
  opacity: 1;
}

/* ----------------------------------------------------
  anim-txts
*/
/* ----------------------------------------------------
  使用方法：

<h1 class="as a-anim-txts">
  <span class="anim-txt anim-txt-0">テ</span>
  <span class="anim-txt anim-txt-1">キ</span>
  <span class="anim-txt anim-txt-2">ス</span>
  <span class="anim-txt anim-txt-3">ト</span>
</h1>
---------------------------------------------------- */
.a-anim-txts > span {
  display: inline-block;
  opacity: 0;
  transform: translate(60px, 0) skewX(-30deg) scale(1, 1);
}
.a-anim-txts > span:nth-child(1) {
  transition: 0.65s 0.0625s;
}
.a-anim-txts > span:nth-child(2) {
  transition: 0.65s 0.125s;
}
.a-anim-txts > span:nth-child(3) {
  transition: 0.65s 0.1875s;
}
.a-anim-txts > span:nth-child(4) {
  transition: 0.65s 0.25s;
}
.a-anim-txts > span:nth-child(5) {
  transition: 0.65s 0.3125s;
}
.a-anim-txts > span:nth-child(6) {
  transition: 0.65s 0.375s;
}
.a-anim-txts > span:nth-child(7) {
  transition: 0.65s 0.4375s;
}
.a-anim-txts > span:nth-child(8) {
  transition: 0.65s 0.5s;
}
.a-anim-txts > span:nth-child(9) {
  transition: 0.65s 0.5625s;
}
.a-anim-txts > span:nth-child(10) {
  transition: 0.65s 0.625s;
}
.a-anim-txts > span:nth-child(11) {
  transition: 0.65s 0.6875s;
}
.a-anim-txts > span:nth-child(12) {
  transition: 0.65s 0.75s;
}
.a-anim-txts > span:nth-child(13) {
  transition: 0.65s 0.8125s;
}
.a-anim-txts > span:nth-child(14) {
  transition: 0.65s 0.875s;
}
.a-anim-txts > span:nth-child(15) {
  transition: 0.65s 0.9375s;
}
.a-anim-txts > span:nth-child(16) {
  transition: 0.65s 1s;
}
.a-anim-txts > span:nth-child(17) {
  transition: 0.65s 1.0625s;
}
.a-anim-txts > span:nth-child(18) {
  transition: 0.65s 1.125s;
}
.a-anim-txts > span:nth-child(19) {
  transition: 0.65s 1.1875s;
}
.a-anim-txts > span:nth-child(20) {
  transition: 0.65s 1.25s;
}
.a-anim-txts > span:nth-child(21) {
  transition: 0.65s 1.3125s;
}
.a-anim-txts > span:nth-child(22) {
  transition: 0.65s 1.375s;
}
.a-anim-txts > span:nth-child(23) {
  transition: 0.65s 1.4375s;
}
.a-anim-txts > span:nth-child(24) {
  transition: 0.65s 1.5s;
}
.a-anim-txts > span:nth-child(25) {
  transition: 0.65s 1.5625s;
}
.a-anim-txts > span:nth-child(26) {
  transition: 0.65s 1.625s;
}
.a-anim-txts > span:nth-child(27) {
  transition: 0.65s 1.6875s;
}
.a-anim-txts > span:nth-child(28) {
  transition: 0.65s 1.75s;
}
.a-anim-txts > span:nth-child(29) {
  transition: 0.65s 1.8125s;
}
.a-anim-txts > span:nth-child(30) {
  transition: 0.65s 1.875s;
}
.a-anim-txts > span:nth-child(31) {
  transition: 0.65s 1.9375s;
}
.a-anim-txts > span:nth-child(32) {
  transition: 0.65s 2s;
}
.a-anim-txts > span:nth-child(33) {
  transition: 0.65s 2.0625s;
}
.a-anim-txts > span:nth-child(34) {
  transition: 0.65s 2.125s;
}
.a-anim-txts > span:nth-child(35) {
  transition: 0.65s 2.1875s;
}
.a-anim-txts > span:nth-child(36) {
  transition: 0.65s 2.25s;
}
.a-anim-txts > span:nth-child(37) {
  transition: 0.65s 2.3125s;
}
.a-anim-txts > span:nth-child(38) {
  transition: 0.65s 2.375s;
}
.a-anim-txts > span:nth-child(39) {
  transition: 0.65s 2.4375s;
}
.a-anim-txts > span:nth-child(40) {
  transition: 0.65s 2.5s;
}
.a-anim-txts > span:nth-child(41) {
  transition: 0.65s 2.5625s;
}
.a-anim-txts > span:nth-child(42) {
  transition: 0.65s 2.625s;
}
.a-anim-txts > span:nth-child(43) {
  transition: 0.65s 2.6875s;
}
.a-anim-txts > span:nth-child(44) {
  transition: 0.65s 2.75s;
}
.a-anim-txts > span:nth-child(45) {
  transition: 0.65s 2.8125s;
}
.a-anim-txts > span:nth-child(46) {
  transition: 0.65s 2.875s;
}
.a-anim-txts > span:nth-child(47) {
  transition: 0.65s 2.9375s;
}
.a-anim-txts > span:nth-child(48) {
  transition: 0.65s 3s;
}
.a-anim-txts > span:nth-child(49) {
  transition: 0.65s 3.0625s;
}
.a-anim-txts > span:nth-child(50) {
  transition: 0.65s 3.125s;
}
.a-anim-txts > span:nth-child(51) {
  transition: 0.65s 3.1875s;
}
.a-anim-txts > span:nth-child(52) {
  transition: 0.65s 3.25s;
}
.a-anim-txts > span:nth-child(53) {
  transition: 0.65s 3.3125s;
}
.a-anim-txts > span:nth-child(54) {
  transition: 0.65s 3.375s;
}
.a-anim-txts > span:nth-child(55) {
  transition: 0.65s 3.4375s;
}
.a-anim-txts > span:nth-child(56) {
  transition: 0.65s 3.5s;
}
.a-anim-txts > span:nth-child(57) {
  transition: 0.65s 3.5625s;
}
.a-anim-txts > span:nth-child(58) {
  transition: 0.65s 3.625s;
}
.a-anim-txts > span:nth-child(59) {
  transition: 0.65s 3.6875s;
}
.a-anim-txts > span:nth-child(60) {
  transition: 0.65s 3.75s;
}
.a-anim-txts > span:nth-child(61) {
  transition: 0.65s 3.8125s;
}
.a-anim-txts > span:nth-child(62) {
  transition: 0.65s 3.875s;
}
.a-anim-txts > span:nth-child(63) {
  transition: 0.65s 3.9375s;
}
.a-anim-txts > span:nth-child(64) {
  transition: 0.65s 4s;
}
.a-anim-txts > span:nth-child(65) {
  transition: 0.65s 4.0625s;
}
.a-anim-txts > span:nth-child(66) {
  transition: 0.65s 4.125s;
}
.a-anim-txts > span:nth-child(67) {
  transition: 0.65s 4.1875s;
}
.a-anim-txts > span:nth-child(68) {
  transition: 0.65s 4.25s;
}
.a-anim-txts > span:nth-child(69) {
  transition: 0.65s 4.3125s;
}
.a-anim-txts > span:nth-child(70) {
  transition: 0.65s 4.375s;
}
.a-anim-txts > span:nth-child(71) {
  transition: 0.65s 4.4375s;
}
.a-anim-txts > span:nth-child(72) {
  transition: 0.65s 4.5s;
}
.a-anim-txts > span:nth-child(73) {
  transition: 0.65s 4.5625s;
}
.a-anim-txts > span:nth-child(74) {
  transition: 0.65s 4.625s;
}
.a-anim-txts > span:nth-child(75) {
  transition: 0.65s 4.6875s;
}
.a-anim-txts > span:nth-child(76) {
  transition: 0.65s 4.75s;
}
.a-anim-txts > span:nth-child(77) {
  transition: 0.65s 4.8125s;
}
.a-anim-txts > span:nth-child(78) {
  transition: 0.65s 4.875s;
}
.a-anim-txts > span:nth-child(79) {
  transition: 0.65s 4.9375s;
}
.a-anim-txts > span:nth-child(80) {
  transition: 0.65s 5s;
}
.a-anim-txts > span:nth-child(81) {
  transition: 0.65s 5.0625s;
}
.a-anim-txts > span:nth-child(82) {
  transition: 0.65s 5.125s;
}
.a-anim-txts > span:nth-child(83) {
  transition: 0.65s 5.1875s;
}
.a-anim-txts > span:nth-child(84) {
  transition: 0.65s 5.25s;
}
.a-anim-txts > span:nth-child(85) {
  transition: 0.65s 5.3125s;
}
.a-anim-txts > span:nth-child(86) {
  transition: 0.65s 5.375s;
}
.a-anim-txts > span:nth-child(87) {
  transition: 0.65s 5.4375s;
}
.a-anim-txts > span:nth-child(88) {
  transition: 0.65s 5.5s;
}
.a-anim-txts > span:nth-child(89) {
  transition: 0.65s 5.5625s;
}
.a-anim-txts > span:nth-child(90) {
  transition: 0.65s 5.625s;
}
.a-anim-txts > span:nth-child(91) {
  transition: 0.65s 5.6875s;
}
.a-anim-txts > span:nth-child(92) {
  transition: 0.65s 5.75s;
}
.a-anim-txts > span:nth-child(93) {
  transition: 0.65s 5.8125s;
}
.a-anim-txts > span:nth-child(94) {
  transition: 0.65s 5.875s;
}
.a-anim-txts > span:nth-child(95) {
  transition: 0.65s 5.9375s;
}
.a-anim-txts > span:nth-child(96) {
  transition: 0.65s 6s;
}
.a-anim-txts > span:nth-child(97) {
  transition: 0.65s 6.0625s;
}
.a-anim-txts > span:nth-child(98) {
  transition: 0.65s 6.125s;
}
.a-anim-txts > span:nth-child(99) {
  transition: 0.65s 6.1875s;
}
.a-anim-txts > span:nth-child(100) {
  transition: 0.65s 6.25s;
}
.a-anim-txts.active span {
  opacity: 1;
  transform: translate(0, 0) skewX(0deg) scale(1, 1);
}

/* ----------------------------------------------------
  slide-box-01
*/
/* ----------------------------------------------------
  使用方法：

  <div class="as a-slide-box-01">
    <img src="./img/sample.jpg" alt="" />
  </div>
---------------------------------------------------- */
.a-slide-box-01 {
  overflow: hidden;
  opacity: 1;
  position: relative;
  transform: scale(1, 0);
  transform-origin: top center;
  transition: 0.65s;
}
.a-slide-box-01::after {
  background: #bbb; /* Old browsers */
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  opacity: 1;
  transition: 0.65s 0.65s;
}
.a-slide-box-01 img {
  transition: 0.65s 0.65s;
  transform: scale(1.5, 1.5);
  transform-origin: center center;
}
.a-slide-box-01.a-slide-box-01--t {
  transform: scale(1, 0);
  transform-origin: top center;
}
.a-slide-box-01.a-slide-box-01--b {
  transform: scale(1, 0);
  transform-origin: bottom center;
}
.a-slide-box-01.a-slide-box-01--l {
  transform: scale(0, 1);
  transform-origin: left center;
}
.a-slide-box-01.a-slide-box-01--r {
  transform: scale(0, 1);
  transform-origin: right center;
}
.a-slide-box-01.active {
  transform: scale(1, 1);
}
.a-slide-box-01.active::after {
  opacity: 0;
}
.a-slide-box-01.active img {
  transform: scale(1, 1);
}

/* ----------------------------------------------------
  slide-box-02
*/
/* ----------------------------------------------------
  使用方法：

  <div class="as a-slide-box-02">
    <div class="slide-box-02__bg">
      <img src="" alt="">
    </div>
  </div>
---------------------------------------------------- */
.a-slide-box-02 {
  display: block;
}
.a-slide-box-02 .slide-box-02__bg {
  background: #fff;
  display: inline-block;
  position: relative;
  transform-origin: right center;
  overflow: hidden;
  vertical-align: middle;
}
.a-slide-box-02 .slide-box-02__bg img {
  opacity: 0;
  transform: scale(1.1, 1.1);
  transform-origin: right center;
  transition: all 0.65s;
}
.a-slide-box-02 .slide-box-02__bg::after {
  background: #fff;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 99;
  margin-left: 100%;
  transform: translate(-100%, 0);
  transition: all 0.65s;
}
.a-slide-box-02.a-slide-box-02--t .slide-box-02__bg {
  transform-origin: bottom center;
}
.a-slide-box-02.a-slide-box-02--t .slide-box-02__bg img {
  transform-origin: bottom center;
}
.a-slide-box-02.a-slide-box-02--t .slide-box-02__bg::after {
  margin: 100% 0 0;
  transform: translate(0, -100%);
}
.a-slide-box-02.a-slide-box-02--b .slide-box-02__bg {
  transform-origin: top center;
}
.a-slide-box-02.a-slide-box-02--b .slide-box-02__bg img {
  transform-origin: top center;
}
.a-slide-box-02.a-slide-box-02--b .slide-box-02__bg::after {
  margin: -100% 0 0;
  transform: translate(0, 100%);
}
.a-slide-box-02.a-slide-box-02--l .slide-box-02__bg {
  transform-origin: right center;
}
.a-slide-box-02.a-slide-box-02--l .slide-box-02__bg img {
  transform-origin: right center;
}
.a-slide-box-02.a-slide-box-02--l .slide-box-02__bg::after {
  margin: 0 0 0 100%;
  transform: translate(-100%, 0);
}
.a-slide-box-02.a-slide-box-02--r .slide-box-02__bg {
  transform-origin: left center;
}
.a-slide-box-02.a-slide-box-02--r .slide-box-02__bg img {
  transform-origin: left center;
}
.a-slide-box-02.a-slide-box-02--r .slide-box-02__bg::after {
  margin: 0 0 0 -100%;
  transform: translate(100%, 0);
}
.a-slide-box-02.active .slide-box-02__bg img {
  opacity: 1;
  transform: scale(1, 1);
}
.a-slide-box-02.active .slide-box-02__bg::after {
  transform: translate(0, 0);
}

/* ----------------------------------------------------
  スライダー
---------------------------------------------------- */
.slide-gallery {
  overflow: hidden;
}
.slide-gallery .slide-gallery__inner {
  height: 220px;
  width: 3840px;
  animation: slide 60s linear infinite;
  position: relative;
}
@keyframes slide {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-1920px, 0, 0);
  }
}

/* --------------------------
	state
-------------------------- */
/* ----------------------------------------------------

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

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

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

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

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

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

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

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