@charset "UTF-8";
/* ----------------------------------------------------------------------
１：mixin         ミックスイン
２：setting       プロジェクトの設定
３：foundation    共通 基本のタグ等の初期設定
４：libs          ライブラリー
５：component     パーツコンポーネント
６：layout        レイアウト
７：component2    レイアウト後の パーツコンポーネント
８：project       プロジェクトのみの記述
９：javascript    JSでの状態変化
---------------------------------------------------------------------- */
/* 共通 ミックスイン
---------------------------------------------------------------------- */
/*======================================================================================================
モジュールレイアウト
--------------------------------------------------------------------------------------------------------
・
・
======================================================================================================*/
/* ======================================================================
HTML
------------------------------------------------------------------------
@include break-point("sp") {
  margin: 2em;
}
---
====================================================================== */
/*======================================================================================================
LAYOUT：片側コンテンツ幅スタート、反対側ウィンドウ100%
--------------------------------------------------------------------------------------------------------
・l-inner--l-fix-r-stretch　or .l-inner--r-fix-l-stretch と合わせて使う事を想定
・
======================================================================================================*/
/* ======================================================================
HTML & CSS
------------------------------------------------------------------------
<div class="l-inner--l-fix-r-stretch">
	<div class="l-flex-fix-stretch-container">
		<div class="l-flex-fix-stretch__fix-item></div>
		<div class="l-flex-fix-stretch__stretch-item></div>
	</div>
</div>

.l-flex-fix-stretch-container{
	@include l-flex-fix-stretch(488);
	.l-flex-fix-stretch__fix-item{  }
	.l-flex-fix-stretch__stretch-item{  }
}
====================================================================== */
/*======================================================================================================
LAYOUT：ウィンドウ100%でパネルを敷き詰める
--------------------------------------------------------------------------------------------------------
・
・
======================================================================================================*/
/* ======================================================================
HTML & CSS
------------------------------------------------------------------------
<section class="p-***-sec">
	<ul class=" l-flex-full-w-panel">
		<li class=" l-flex-full-w-panel__item" style='background-image:url(*****.jpg)'>
			<a href="#">
				<h3>テキストテキスト</h3>
				<p class="">テキストテキスト</p>
			</a>
		</li>
			:
			:
	</ul>
</section>

.****-sec {
	@include l-flex-full-w-panel();
	.l-flex-full-w-panel__item{
		background-size: cover;
	}
}
====================================================================== */
/*----------------------------
カラム　レイアウト
https://qiita.com/noqua/items/0dc04aa528269db41a07
書き方
@include col(カラム数,margin値,'セレクタ');
clearfixのmixinを用意
----------------------------*/
/* ----------------------------------------------------------
疑似クラス
https://gist.github.com/TsubasaHiga/38057c59cff3e4a674bdd8810b4d4a15
----------------------------------------------------------*/
/* ----------------------------------------------------------
hoge（疑似要素アイコン指定）
https://gist.github.com/TsubasaHiga/38057c59cff3e4a674bdd8810b4d4a15
----------------------------------------------------------*/
/*----------------------------
疑似要素
----------------------------*/
/* グローバルの設定
---------------------------------------------------------------------- */
/*----------------------------
Font Family
----------------------------*/
/*----------------------------
FONT SIE（mixin：fs-ad　で全デバイス設定）
// 注意：ここに新たに追加した場合は、「fs-ad」に記載
https://docs.google.com/spreadsheets/d/1EFI-n_b-gnDygtfCTs1xr-WZ3OVrgbxDwtkXDLQRGHA/edit#gid=708385006
----------------------------*/
/*--------------------------------------------------------
見出し：通常
--------------------------------------------------------*/
/*--------------------------------------------------------
見出し：ニュース、ブログ
--------------------------------------------------------*/
/*--------------------------------------------------------
大きい　飾り 英語フォントサイズ
--------------------------------------------------------*/
/*--------------------------------------------------------
大きい　飾り 数字番号　フォントサイズ
--------------------------------------------------------*/
/*--------------------------------------------------------
コンテンツサイズ
--------------------------------------------------------*/
/*--------------------------------------------------------
ブレイクポイント
--------------------------------------------------------*/
/*
 CONTENTS
 コンテンツ定数のブレイクポイント
 この数値から適切なBPを選んで、各プロジェクトで設定する
--------------------------------------------------------*/
/*
 HEADER
 ヘッダー独自のブレイクポイント
・ロゴとグロナビのサイズに合わせて自由に設定
--------------------------------------------------------*/
/*
 FOOTER
 フッター独自のブレイクポイント
・デザインに合わせて自由に設定
--------------------------------------------------------*/
/*--------------------------------------------------------
カラムのサイズ
デザインで使用するグリッド数（基本変更しない）
--------------------------------------------------------*/
/*--------------------------------------------------------
余白
--------------------------------------------------------*/
/* 要素の上の余白サイズmixin：pd-ele-ad　で上下全デバイス設定）
--------------------------------------------------------*/
/*--------------------------------------------------------
角丸
--------------------------------------------------------*/
/*----------------------------
デフォルトのCTA　カラー
----------------------------*/
/*----------------------------
TELのCTA　カラー
----------------------------*/
/*======================================================================================================
HEADER デザイン　レイアウト
--------------------------------------------------------------------------------------------------------
・
・
======================================================================================================*/
/* レイアウト
--------------------------------------------*/
/* 背景色
--------------------------------------------*/
/* グローバルナビ
--------------------------------------------*/
/* ロゴ関連
--------------------------------------------*/
/*=========================================================================
ハンバーガーアイコン
=========================================================================*/
/*=========================================================================
パンくず
=========================================================================*/
/*----------------------------
ナビボタン（ある場合）
----------------------------*/
/* ======================================================================
Main Visulal
====================================================================== */
/*--------------------------------------------------------------------
 色の再設定
--------------------------------------------------------------------
グローバルナビ
https://coco-factory.jp/ugokuweb/move01/5-1-1/
--------------------------------------------------------------------*/
/* ボタンのBGカラー
 ------------------------------------------------*/
/*--------------------------------------------------------------------

フォントサイズ

--------------------------------------------------------------------*/
/* 第一階層
 ------------------------------------------------*/
/*--------------------------------------------------------------------
 色の再設定
--------------------------------------------------------------------
グローバルナビ
https://coco-factory.jp/ugokuweb/move01/5-1-1/
--------------------------------------------------------------------*/
/* ボタンのBGカラー
---------------------------------- */
/* テキストの色
---------------------------------- */
/*----------------------------
ANIMATION
----------------------------*/
/* プロジェクトの設定
---------------------------------------------------------------------- */
/*--------------------------------------------------------
カラムのサイズ
デザインで使用するグリッド数（基本変更しない）
--------------------------------------------------------*/
/*--------------------------------------------------------
余白
--------------------------------------------------------*/
/* 要素の上の余白サイズmixin：pd-ele-ad　で上下全デバイス設定）
--------------------------------------------------------*/
/*--------------------------------------------------------
重ねる場合の各サイズ
--------------------------------------------------------*/
/*--------------------------------------------------------
角丸
--------------------------------------------------------*/
/*--------------------------------------------------------
ボタン
--------------------------------------------------------*/
/*----------------------------
COLOR
----------------------------*/
/* ===============================
背景色
=============================== */
/*
// BODYで設定しているベースカラー
$col-font-body:#60696e;     // body のフォントカラー
$col-font-body: #454c50;     // body のフォントカラー
$col-bg-body:white;         // body 背景色



// body背景を画像にするか
$bg-img-flag : false;
// body bg img path
$bg-body-img:"../images/";




// アクセントカラー
$col-ac1: #ff4d00;
//$col-ac1: #CF000E;
//$col-ac1: #792eea;
//$col-ac1: #868179;
$col-ac2: #ff6a00;
$col-ac3: #18bfc8;
$col-ac4: #4077dc;
$col-ac5: #792eea;


//フォントカラー
$col-font-white: #ffffff;
$col-font-black: #000000;
$col-font-bs1: #48ff00;
$col-font-bs2: #444444;
$col-font-bs3: #666666;
$col-font-bs4: #999999;
$col-font-bs5: $col-ac1;
$col-font-bs6: #868179;
$col-font-bs7: #868ca2; // 淡い薄いブルー
$col-font-required: #8d2222;
$col-font-required-bg: #fff1f1;



// 背景色
$col-bg-white: #ffffff;
$col-bg-black: #000000;
$col-bg-font-bs: $col-font-body;
$col-bg-gray:#fafafa;
$col-bg-holo:#f8fafc;
$col-bg1: #fdfcfc;  // 薄いベージュ
$col-bg2: #ddedf5;
$col-bg3: #222222;
$col-bg4: #111111;
$col-bg5: #e2e4ec;
$col-bg6: #DEEFF7; // 薄いブルー




// 画面遷移のカーテンのカラー
$col-page-transition-bg:$col-bg-font-bs;



// ラインカラー
$col-line1: #e5e5e5;
$col-line2: #c9c9c9;
$col-line5: rgb(22, 83, 157);

$col-line-body-bs:$col-font-body;



// コンポーネント
//$c-col-bg-stretches-appears1:$col-ac1;
$c-col-bg-stretches-appears1:$col-bg-font-bs;



// CTAのボタンベースカラー
$col-cta:$col-ac1;
$col-cta-hover:$col-ac2;
*/
/*----------------------------
BORDER
----------------------------*/
/*----------------------------

----------------------------*/
.font-en,
.en-ttl {
    font-family: "Fira Sans", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.en-ttl {
    font-size: 220px;
    line-height: 1;
    letter-spacing: -0.05em;
}
.en-ttl.--col-beige {
    color: #efeae0;
    opacity: 0.6;
}
.en-ttl.--col-white {
    color: white;
    opacity: 0.1;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .en-ttl {
        font-size: calc(440 / 1162 * 0.8 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) and (max-width: calc(767 * 1px)) {
    .en-ttl {
        font-size: calc(100 / 750 * calc(calc(440 * 2) * 0.8) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .en-ttl {
        font-size: 20vw;
    }
}

/*----------------------------
文字色
----------------------------*/
.col-yellow {
    color: #eaff00;
}

.col-orange {
    color: #f38f19;
}

.col-green {
    color: #29a49b;
}

.col-navy {
    color: #2a5195;
}

/*----------------------------
鉤括弧
----------------------------*/
.txt-kagi-first {
    margin-left: -0.55em;
    margin-right: -0.1em;
}

.txt-kagi-end {
    margin-left: -0.1em;
    margin-right: -0.55em;
}

/*----------------------------
文字あしらい
----------------------------*/
.txt-small {
    font-size: 0.8em;
}

.txt-large {
    font-size: 1.25em;
}

.vertical-writing,
.vertical-writing-bg-black {
    writing-mode: vertical-rl;
}

.vertical-writing-bg-black {
    color: white;
    background-color: black;
    padding: 0.75em 0.5em;
}

.txt-grid-line {
    display: inline;
    border: 1px solid black;
    padding: 0 0.5em;
    margin: 0 0.25em;
}
.txt-grid-line.--col-orange {
    color: #f38f19;
    border-color: #f38f19;
}
.txt-grid-line.--col-blue {
    color: #059bc0;
    border-color: #059bc0;
}

.txt-marker-yellow,
.txt-marker-white {
    position: relative;
}
.txt-marker-yellow:after,
.txt-marker-white:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.25em;
    background-color: #eaff00;
    bottom: -0.1em;
    left: 0;
    z-index: -1;
}

.txt-marker-white:after {
    background-color: white;
}

.txt-en-dash-after-black:after,
.txt-en-dash-after-white:after,
.txt-en-dash-before-black:after,
.txt-en-dash-before-white:after {
    content: "";
    position: absolute;
    width: 2em;
    height: 1px;
    top: 50%;
    transform: translateY(-50%);
}

.txt-en-dash-after-black:after {
    right: -2.25em;
    background-color: #000000;
}

.txt-en-dash-after-white:after {
    right: -2.25em;
    background-color: white;
}

.txt-en-dash-before-black:after {
    left: -2.25em;
    background-color: #000000;
}

.txt-en-dash-before-white:after {
    left: -2.25em;
    background-color: white;
}

.push-left {
    margin-left: -0.5em;
}

.push-right {
    margin-right: -0.5em;
}

/* 共通 基本のタグ等の初期設定
---------------------------------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

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

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

/*----------------------------
共通 設定
----------------------------*/
html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    height: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0 auto;
    background-color: white;
    font-family: "Fira Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", Meiryo, sans-serif;
    font-size: 16px;
    color: #000000;
    line-height: 1.75;
    width: 100%;
}
body div,
body section,
body header,
body footer,
body main {
    box-sizing: border-box;
    position: relative;
}
body .animsition-overlay-slide {
    position: fixed;
    z-index: 999999999;
    background-color: #000000;
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body ul,
body li,
body dd,
body dt,
body dd {
    margin: 0;
    padding: 0;
}
body header {
    z-index: 9999;
}
body #breadcrumb-sec {
    z-index: 550;
}
body main,
body .content-wrap {
    z-index: 300;
}
body .mv-under-content {
    z-index: 350;
}
body .mv {
    z-index: 400;
}
body footer {
    z-index: 600;
}
body ul {
    list-style: none;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
body img {
    width: 100%;
    height: auto;
}
body a {
    box-sizing: border-box;
}

.sp_only {
    display: none !important;
}

.tb_sp_only {
    display: none !important;
}

@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .tb_sp_only {
        display: block !important;
    }
    .pc_tb_only {
        display: block !important;
    }
    .pc_only {
        display: none !important;
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .sp_only {
        display: block !important;
    }
    .pc_tb_only,
    .pc_only {
        display: none !important;
    }
}
/* ライブラリー
---------------------------------------------------------------------- */
.grid > .grid__col-1,
.grid > .grid__col-2,
.grid > .grid__col-3,
.grid > .grid__col-4,
.grid > .grid__col-5,
.grid > .grid__col-6,
.grid > .grid__col-7,
.grid > .grid__col-8,
.grid > .grid__col-9,
.grid > .grid__col-10,
.grid > .grid__col-11,
.grid > .grid__col-12 {
    margin-bottom: 0 !important;
}

/*=========================================================================
ヘッダー
=========================================================================*/
/* SP の形になるブレイクポイント
----------------------------------------------*/
/*=========================================================================
フッター
=========================================================================*/
/* SP の形になるブレイクポイント
----------------------------------------------*/
/*=========================================================================
PAGE
=========================================================================*/
/* TB の形になるブレイクポイント
----------------------------------------------*/
/* SP の形になるブレイクポイント
----------------------------------------------*/
@media only screen and (max-width: calc(767 * 1px)) {
    .grid {
        flex-direction: column;
    }
}
body .swiper-slide .simpleParallax {
    height: 100%;
}

/* 共通 パーツコンポーネント プロジェクトの変数　
---------------------------------------------------------------------- */
/*---------------------------------------------------------------------------------------------------------------------------
タブの装飾
---------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------
タブのアイコン
---------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------
タブの横に来るテキスト
---------------------------------------------------------------------------------------------------------------------------*/
/*=========================================================================
JP その他多言語　共通
【注意】c-langSelect.js　を読み込ませる
=========================================================================*/
/* 共通 パーツコンポーネント
---------------------------------------------------------------------- */
/* ======================================================================
HTML
------------------------------------------------------------------------

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

====================================================================== */
body {
    /* ======================================================================
  HTML
  ------------------------------------------------------------------------
  <ul class="c-attentions-wrap">
      <li class="c-attentions">テキストテキストテキストテキスト</li>
  </ul>
  ====================================================================== */
    /* ======================================================================
  HTML
  ------------------------------------------------------------------------

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

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

  ====================================================================== */
    /* ======================================================================
  HTML
  ------------------------------------------------------------------------
  <section class="p-vision-sec">
      <p class="c-read-line"> ***** </p>
          ：
          ：
  </section>
  ====================================================================== */
}
body ul.c-attentions-wrap {
    margin-top: 1.5em;
}
body .c-attention {
    display: table;
}
body .c-attention:before {
    display: table-cell;
    width: 1em;
    content: "※";
}
body .c-attentions {
    width: 100%;
    font-size: 14px;
    line-height: 1.5;
    color: #444444;
}
body .c-attentions:nth-child(n + 2) {
    padding-top: 0.3em;
}
body .c-attentions.no-margin {
    padding-top: 0;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-attentions {
        font-size: calc(14 / 1162 * 0.87 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) and (max-width: calc(767 * 1px)) {
    body .c-attentions {
        font-size: calc(100 / 750 * calc(calc(14 * 2) * 0.87) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-attentions {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body ol.c-attentions-wrap {
    padding-left: 0;
    margin-top: 1.5em;
    list-style: none;
}
body ol.c-attentions-wrap li.c-attentions {
    counter-increment: li;
}
body ol.c-attentions-wrap li.c-attentions::before {
    content: "※" counter(li) ". ";
}
body .c-attentions-point {
    display: inline-block;
    font-size: 14px;
    line-height: 1.5;
    color: #444444;
    margin-left: 0.5em;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-attentions-point {
        font-size: calc(14 / 1162 * 0.87 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) and (max-width: calc(767 * 1px)) {
    body .c-attentions-point {
        font-size: calc(100 / 750 * calc(calc(14 * 2) * 0.87) * 1vw);
    }
}
body .c-section-btm-shadow:after {
    display: block;
    position: absolute;
    z-index: 1;
    background: url(../img_section-top-shadow.png);
    background-repeat: repeat-x;
    background-position: center top;
    content: "";
    top: 0;
    left: 0;
    opacity: 0.1;
    width: 100%;
    height: 11px;
}
body .--md-small {
    font-size: 0.7em;
}
body .--md-uppercase {
    text-transform: uppercase;
}
body .c-read-line {
    position: relative;
    text-align: center;
    color: white;
    padding-top: calc(100 / 2 * 1px + 100 * 0.05 * 1px) !important;
    font-size: 12px;
}
body .c-read-line:before {
    position: absolute;
    content: "";
    width: 1px;
    height: calc(100 * 1px);
    top: calc(100 * -1px / 2 + 100 * -0.05px / 2);
    left: 50%;
    background-color: #efefef;
}
body .main-copy {
    font-size: 36px;
    font-weight: 400;
    line-height: 1.5;
    z-index: 20;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .main-copy {
        font-size: calc(36 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .main-copy {
        font-size: calc(100 / 750 * calc(44 * 1) * 1vw);
    }
}
body .main-copy__read {
    margin-top: 40px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .main-copy__read {
        margin-top: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .main-copy__read {
        margin-top: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}

/*======================================================================================================
ボタンのモジュール
--------------------------------------------------------------------------------------------------------
・lyのIDやClassを記載しない
・Classを当てるだけで完結できる記載をする
・基本的にCSSの入れ子構造にせず、複数クラスを当てる記載にする
・レイアウトに関わるものは※※※に記載する
・サイズなどは※※※に記載する
======================================================================================================*/
/*======================================================================================================
FONTAWESOME 設定
--------------------------------------------------------------------------------------------------------
・
======================================================================================================*/
/*======================================================================================================
全てののボタンのベース
--------------------------------------------------------------------------------------------------------
・基本Aタグに記載
======================================================================================================*/
.c-btn,
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta a,
.c-basic-btn_form-wrap__formtag,
.c-basic-btn_form-wrap__formtag--ac1,
.c-basic-btn,
.c-basic-btn_form-wrap {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    font-size: inherit;
    width: 100%;
    color: #000000;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    background-color: white;
    cursor: pointer;
    transition: all 0.3s ease-out;
    line-height: 1.2;
    padding-top: 0.4em;
    padding-bottom: 0.4em;
}

/*======================================================================================================
形のバリエーション違い
--------------------------------------------------------------------------------------------------------
・基本Aタグに記載
======================================================================================================*/
.c-btn--radius-s {
    border-radius: 10px;
}

.c-btn--radius-full,
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta a,
.c-basic-btn_form-wrap__formtag,
.c-basic-btn_form-wrap__formtag--ac1,
.c-basic-btn,
.c-basic-btn_form-wrap {
    border-radius: 1000px;
}

/*======================================================================================================
ホバー時にグラデーションに変わる
--------------------------------------------------------------------------------------------------------
・全てののボタンのベースにあるプロパティは記載しない
・基本Aタグに記載
https://coco-factory.jp/ugokuweb/move01/7-1-32/
======================================================================================================*/
/*======================================================================================================
押し込む円
--------------------------------------------------------------------------------------------------------
・全てののボタンのベースにあるプロパティは記載しない
・基本Aタグに記載
https://coco-factory.jp/ugokuweb/move01/7-1-14/
======================================================================================================*/
.pushcircle {
    /*周囲の線の起点とするためrelativeを指定*/
    position: relative;
    /*円の形状*/
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    padding: 0 10px;
    text-align: center;
    background: #000000;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    outline: none;
    /*天地中央にテキストを配置*/
    display: flex;
    align-items: center;
    justify-content: center;
}
.pushcircle.--white {
    background-color: #ffffff;
    color: #000000;
}
.pushcircle.--white:after {
    border-color: #ffffff;
}
.pushcircle.--white:after:hover {
    border-color: #333;
}

/*内側の線*/
.pushcircle:after {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    top: 50%;
    left: 50%;
    /*線の形状*/
    width: 85%;
    height: 85%;
    border: 1px solid #333;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(1.1);
    /*アニメーションの指定*/
    transition: 0.3s ease;
}

/*hoverをしたら枠線が小さくなる*/
.pushcircle:hover:after {
    transform: translate(-50%, -50%) scale(1);
    border-color: #fff;
}

/*======================================================================================================
ベージックボタン
--------------------------------------------------------------------------------------------------------
固定幅にする場合：
width: 330px;
display: block;
======================================================================================================*/
.c-basic-btn,
.c-basic-btn_form-wrap {
    position: relative;
    border: 1px solid #efefef;
    display: inline;
    width: 100%;
    padding-top: 1.2em;
    padding-bottom: 1.2em;
    padding-left: 2em;
    padding-right: 3em;
    font-size: 18px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-basic-btn,
    .c-basic-btn_form-wrap {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
.c-basic-btn:after,
.c-basic-btn_form-wrap:after {
    font-family: "Font Awesome 6 Free";
    content: "\f061";
    font-size: 14px;
    font-weight: 900;
    color: #009f7a;
    position: absolute;
    display: inline-block;
    top: 50%;
    right: 2em;
    transform: translateY(-50%);
    transition: all 0.3s ease-out;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-basic-btn:after,
    .c-basic-btn_form-wrap:after {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-basic-btn:after,
    .c-basic-btn_form-wrap:after {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
.c-basic-btn:hover,
.c-basic-btn_form-wrap:hover {
    /*ボタンの形状*/
    border-color: transparent;
    color: #fff;
    /*背景の色と形状*/
    background: linear-gradient(270deg, #fa6c9f 0%, #ffe140 50%, #ff357f 100%);
    background-size: 200% auto;
    background-position: right center;
    /*ボックスの影*/
    box-shadow: 0 5px 10px rgba(250, 108, 159, 0.4);
}
.c-basic-btn:hover:after,
.c-basic-btn_form-wrap:hover:after {
    right: 1em;
}
.c-basic-btn.--small,
.--small.c-basic-btn_form-wrap {
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 1.5em;
    padding-right: 2.5em;
    font-size: 14px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-basic-btn.--small,
    .--small.c-basic-btn_form-wrap {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-basic-btn.--small,
    .--small.c-basic-btn_form-wrap {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
.c-basic-btn.--small:after,
.--small.c-basic-btn_form-wrap:after {
    right: 1em;
}
.c-basic-btn.--no-outline,
.--no-outline.c-basic-btn_form-wrap {
    border: none;
}
.c-basic-btn.--square,
.--square.c-basic-btn_form-wrap {
    border-radius: 0;
}
.c-basic-btn.--kadomaru,
.--kadomaru.c-basic-btn_form-wrap {
    border-radius: 10px;
}
.c-basic-btn.--cta-btn-grad,
.--cta-btn-grad.c-basic-btn_form-wrap {
    background-image: linear-gradient(45deg, #caa152 0%, #b68932 80%);
    color: white !important;
}
.c-basic-btn.--cta-btn-grad:after,
.--cta-btn-grad.c-basic-btn_form-wrap:after {
    color: white;
}
.c-basic-btn.--cta-btn-grad:hover,
.--cta-btn-grad.c-basic-btn_form-wrap:hover {
    background-image: linear-gradient(45deg, #caa152 0%, #b68932 80%);
    background-size: 200% auto;
    background-position: center;
    box-shadow: 0 5px 10px
        rgba(160.0156862745, 101.6509803922, 26.368627451, 0.4);
}
.c-basic-btn.--tel-number,
.--tel-number.c-basic-btn_form-wrap {
    display: flex !important;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    cursor: default;
    color: white;
    text-decoration: none;
    background-color: rgba(0, 0, 0, 0);
    background-image: none;
    line-height: 1;
    font-size: 16px;
    width: auto !important;
    padding-left: 0;
    padding-right: 0;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-basic-btn.--tel-number,
    .--tel-number.c-basic-btn_form-wrap {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
.c-basic-btn.--tel-number:before,
.--tel-number.c-basic-btn_form-wrap:before {
    content: "";
    display: inline-block;
    position: relative;
    line-height: 1;
    margin-right: 0.25em;
    width: 1.1em;
    height: 1.1em;
    background-image: url(../_aun-common-module/images/_svg/icon_tel-02_white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.c-basic-btn.--tel-number:after,
.--tel-number.c-basic-btn_form-wrap:after {
    display: none;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-basic-btn.--tel-number,
    .--tel-number.c-basic-btn_form-wrap {
        pointer-events: auto;
        cursor: pointer;
    }
    .c-basic-btn.--tel-number.--cta-btn-grad,
    .--tel-number.--cta-btn-grad.c-basic-btn_form-wrap {
        background-image: linear-gradient(45deg, #caa152 0%, #b68932 80%);
        color: white;
        font-size: 18px;
    }
    .c-basic-btn.--tel-number.--cta-btn-grad:after,
    .--tel-number.--cta-btn-grad.c-basic-btn_form-wrap:after {
        color: white;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    .c-basic-btn.--tel-number.--cta-btn-grad,
    .--tel-number.--cta-btn-grad.c-basic-btn_form-wrap {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
.c-basic-btn.--black,
.--black.c-basic-btn_form-wrap {
    border: none;
    background-color: black;
    color: white;
}
.c-basic-btn.--black:after,
.--black.c-basic-btn_form-wrap:after {
    color: white;
}
.c-basic-btn.--bodyfontcolor,
.--bodyfontcolor.c-basic-btn_form-wrap {
    border: none;
    background-color: #000000;
    color: white;
}
.c-basic-btn.--bodyfontcolor:after,
.--bodyfontcolor.c-basic-btn_form-wrap:after {
    color: white;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-basic-btn,
    .c-basic-btn_form-wrap {
        display: block;
        margin-left: auto !important;
        margin-right: auto !important;
        width: 80%;
        margin-top: 60px;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-basic-btn,
    .c-basic-btn_form-wrap {
        margin-top: calc(60 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    .c-basic-btn,
    .c-basic-btn_form-wrap {
        margin-top: calc(calc(100 / 750 * 60 * 1vw) / 0.75);
    }
}

/*======================================================================================================
INPUT などAタグに自由にクラスをつけれない場合
--------------------------------------------------------------------------------------------------------
【　注意 １　】　以下のタグには、疑似要素が使えないので必ずwrapでして疑似要素の代わりのタグを用いる
例：
・<input type="submit">
・<button>

【　注意 ２　】 input 系のタグにしか使用してはいけない
・c-basic-btn_form
======================================================================================================*/
/*--------------------------------------------------
 疑似要素の代用　wrap form系のラッパータグ　
 白ゴースト　のボタンの場合
 アクセントカラー（オレンジ）　のボタンの場合
--------------------------------------------------*/
.c-basic-btn_form-wrap {
    padding: 0;
    display: block;
}
.c-basic-btn_form-wrap:hover {
    box-shadow: none;
}
.c-basic-btn_form-wrap:hover:after {
    color: #ffffff;
}
.c-basic-btn_form-wrap.disabled:hover {
    box-shadow: none;
    background: rgb(193, 193, 193);
}
.c-basic-btn_form-wrap.disabled:hover:after {
    right: 2em;
}
.c-basic-btn_form-wrap.--ac1 {
    border: none;
}
.c-basic-btn_form-wrap.--ac1:after {
    color: #ffffff;
}
.c-basic-btn_form-wrap.--per80 {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-basic-btn_form-wrap.--per80 {
        width: 100%;
    }
}

/*--------------------------------------------------
 input 系 白ゴースト　のボタンの場合
--------------------------------------------------*/
.c-basic-btn_form-wrap__formtag,
.c-basic-btn_form-wrap__formtag--ac1 {
    border: none;
    position: relative;
    display: block;
    width: 100%;
    padding-top: 1.2em;
    padding-bottom: 1.2em;
    padding-left: 2em;
    padding-right: 3em;
}
.c-basic-btn_form-wrap__formtag:hover,
.c-basic-btn_form-wrap__formtag--ac1:hover {
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0);
    /*ボタンの形状*/
    border-color: transparent;
    color: #fff;
    /*背景の色と形状*/
    background: linear-gradient(270deg, #fa6c9f 0%, #ffe140 50%, #ff357f 100%);
    background-size: 200% auto;
    background-position: right center;
    /*ボックスの影*/
    box-shadow: 0 5px 10px rgba(250, 108, 159, 0.4);
}
.c-basic-btn_form-wrap__formtag:disabled,
.c-basic-btn_form-wrap__formtag--ac1:disabled {
    background-color: rgb(193, 193, 193);
}
.c-basic-btn_form-wrap__formtag:disabled:hover,
.c-basic-btn_form-wrap__formtag--ac1:disabled:hover {
    cursor: default;
    box-shadow: none;
    background: rgb(193, 193, 193);
}
.c-basic-btn_form-wrap__formtag:disabled:hover:after,
.c-basic-btn_form-wrap__formtag--ac1:disabled:hover:after {
    right: 2em;
}

/*--------------------------------------------------
 input 系 アクセントカラー（オレンジ）　のボタンの場合
--------------------------------------------------*/
/*
一回　デバック用に消す
.c-basic-btn_form-wrap--ac1{
    // 白ゴースト　のボタンの「c-basic-btn_form-wrap」を継承
    @extend .c-basic-btn_form-wrap;
    border:none; // 背景色を入れるのでボーダーを消す
    &:after {
        color: $col-bs-white;   // アイコンを白に変える
    }
}
*/
.c-basic-btn_form-wrap__formtag--ac1 {
    background-color: #009f7a;
    color: #ffffff;
}

/*
.c-basic-btn_form__inner {
    @extend .c-btn;
    //
    display: inline;
    width: auto;
    padding-top: 1.2em;
    padding-bottom: 1.2em;
    padding-left: 3em;
    padding-right: 3em;
    //
    @extend .c-btn--radius-full;
    background-color: transparent;
    border: none !important;

    &:hover{
        box-shadow: 0 5px 10px rgb(250 108 159 / 40%);
    }
    &:disabled{
        &:hover{
            box-shadow: none;
        }
    }
}
*/
/* アクセントカラー（オレンジ）　／　白ゴースト　共通
--------------------------------------------------*/
/*
一回　デバック用に消す
.c-btn-form-col-ac,.btn_back{
    &:hover{
        background-color: transparent;
    }
}
*/
/* 白ゴースト　のボタンの場合
--------------------------------------------------*/
/*
.c-basic-btn_form--l {
    @extend .c-basic-btn_form;
    width: $btn-form_inner; // SPのブレイクポイントより80px小さい横幅
    //.c-basic-btn_form__inner {
    //    width: $btn-form_inner;
    //}

    @include break-point("tb") {
        width: $btn-form_inner-tb;
        //.c-basic-btn_form__inner {
        //    width: $btn-form_inner-tb;
        //}
    }
    @include break-point("sp") {
        width: $btn-form_inner-sp;
        //.c-basic-btn_form__inner {
        //    width: $btn-form_inner-sp;
        //}
    }
}
*/
/*
一回　デバック用に消す
// 確認ボタン
.c-input-login,
.c-basic-btn_form--l.btn_back_wrap{
    &:after{
        font-family: "Font Awesome 6 Free";
        content: "\f2ea";
        font-size: 14px;
        font-weight: 900;
        color: #ff6200;
        position: absolute;
        display: inline-block;
        top: 50%;
        right: 2em;
        transform: translateY(-50%);
        transition: all 0.3s ease-out;
    }
}
*/
/* アクセントカラー（オレンジ）　のボタンの場合
--------------------------------------------------*/
/*
一回　デバック用に消す
// 送信ボタン
.c-btn-form-col-ac{
    border: none;
    &:after{
        color:$col-bs-white;
    }
    .c-basic-btn_form__inner{
        color:$col-bs-white;
    }
}
.c-btn-form-col-ac{
    @extend .c-basic-btn_form;
    color:$G_COL_BG_WHITE;
    background-color: $G_COL_AC1;
    border: 0;
    &:disabled{
        background-color: rgb(193, 193, 193);
    }
}
*/
/* ======================================================================
HTML
------------------------------------------------------------------------

====================================================================== */
/*======================================================================================================
CTA ボタンのベース
--------------------------------------------------------------------------------------------------------
・全てののボタンのベースにあるプロパティは記載しない
・基本Aタグに記載
======================================================================================================*/
.c-cta__btn-base {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    margin: 0 auto;
    padding: 1em 4em;
    position: relative;
    width: 100%;
    outline: none;
    color: #000000;
    transition: all 0.3s ease-out;
    background-color: #009f7a;
    box-sizing: border-box;
}
.c-cta__btn-base:before {
    position: absolute;
    content: "";
    background-image: url(../icon_triangle-black.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 18px;
    height: 15px;
    left: 2em;
}
.c-cta__btn-base:after {
    position: absolute;
    content: "";
    background-image: url(../icon_mouse-cursor.svg);
    background-repeat: no-repeat;
    background-size: contain;
    right: 1em;
    width: 50px;
    height: 50px;
    animation: fluffy1 3s ease infinite;
}

.c-cta-btn__ttl {
    display: block;
    text-align: center;
    font-family: "Fira Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", Meiryo, sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-cta-btn__ttl {
        font-size: calc(28 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-cta-btn__ttl {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}

.c-cta-btn__date-wrap {
    display: flex;
}
.c-cta-btn__date-wrap .c-cta-btn__date {
    font-size: 14px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-cta-btn__date-wrap .c-cta-btn__date {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-cta-btn__date-wrap .c-cta-btn__date {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
.c-cta-btn__date-wrap .c-cta-btn__date .cta-btn__date__num {
    font-size: 18px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-cta-btn__date-wrap .c-cta-btn__date .cta-btn__date__num {
        font-size: calc(18 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-cta-btn__date-wrap .c-cta-btn__date .cta-btn__date__num {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}

.c-cta__btn-base--elmt-wht {
    color: white;
}
.c-cta__btn-base--elmt-wht:before {
    background-image: url(../icon_triangle-white.svg);
}

/*======================================================================================================
アニメーション　設定
--------------------------------------------------------------------------------------------------------
外枠が伸びて背景色が変わる
======================================================================================================*/
.outerborder {
    width: 100%;
}

.outerborder:hover {
    /*アニメーションの指定*/
}
.outerborder:hover .c-cta__btn-base {
    background: #009f7a;
    color: #fff;
    transition: all 0.3s ease-out;
    transition-delay: 0.6s; /*0.7秒遅れてアニメーション*/
}

/*横線の設定*/
.outerborder::before,
.outerborder::after {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    /*線の形状*/
    width: 0;
    height: 2px;
    background: #009f7a;
    /*アニメーションの指定*/
    transition: all 0.3s linear;
    z-index: 100;
}

/*縦線の設定*/
.outerborder div::before,
.outerborder div::after {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    /*線の形状*/
    width: 2px;
    height: 0;
    background: #009f7a;
    /*アニメーションの指定*/
    transition: all 0.3s linear;
    z-index: 100;
}

/*hoverした際、線が縦横100%伸びる*/
.outerborder:hover::before,
.outerborder:hover::after {
    width: 100%;
}

.outerborder:hover div::before,
.outerborder:hover div::after {
    height: 100%;
}

/*== 左上と右下から枠線が伸びて塗に */
/*横線が0.2秒送れて出現*/
.outerborder::before {
    right: 0;
    top: 0;
    transition-delay: 0.2s;
}

.outerborder::after {
    left: 0;
    bottom: 0;
    transition-delay: 0.2s;
}

/*縦線が出現*/
.outerborder div::before {
    left: 0;
    top: 0;
}

.outerborder div::after {
    right: 0;
    bottom: 0;
}

@keyframes fluffy1 {
    0% {
        transform: translateY(0) rotate(-30deg);
    }
    10% {
        transform: translateY(0) rotate(-30deg);
    }
    20% {
        transform: translateX(10px) translateY(10px) rotate(-30deg);
    }
    25% {
        transform: translateY(0) rotate(-30deg);
    }
    30% {
        transform: translateX(10px) translateY(10px) rotate(-30deg);
    }
    50% {
        transform: translateY(0) rotate(-30deg);
    }
    100% {
        transform: translateY(0) rotate(-30deg);
    }
}
@keyframes bright {
    100% {
        left: 125%;
    }
}
/*======================================================================================================

--------------------------------------------------------------------------------------------------------
・Aタグの中に入れる場合
======================================================================================================*/
.c-btn-circle-arow {
    position: relative;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}
.c-btn-circle-arow i {
    text-decoration: none;
    font-size: 12px;
    color: #000000;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-btn-circle-arow i {
        font-size: calc(12 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-btn-circle-arow i {
        font-size: calc(100 / 750 * calc(20 * 1) * 1vw);
    }
}
.c-btn-circle-arow:after {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    top: 50%;
    left: 50%;
    /*線の形状*/
    width: 85%;
    height: 85%;
    border: 1px solid #000000;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(1.1);
    /*アニメーションの指定*/
    transition: 0.3s ease;
}
.c-btn-circle-arow.--white i {
    color: #ffffff;
}
.c-btn-circle-arow.--white:after {
    border-color: #ffffff;
}

/*======================================================================================================
。。。
。。。
。。。
--------------------------------------------------------------------------------------------------------
・Aタグの中に入れる場合
======================================================================================================*/
/*======================================================================================================
 設定
 --------------------------------------------------------------------------------------------------------

======================================================================================================*/
.c-frame-boder {
    border: 3px solid #ffffff;
}

.c-cta__copy {
    margin-bottom: 1.5rem;
}

/*=========================================================================
共通
=========================================================================*/
/*=========================================================================
ヘッダーの設定
=========================================================================*/
.l-header-cta-right-end-btn-wrap {
    padding-right: calc(17.5vw + (0) * 2);
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn {
    height: 100%;
    box-sizing: border-box;
    width: calc(17.5vw);
    height: calc(17.5vw);
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn a {
    padding: 1em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a,
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a {
    width: 100%;
    font-size: 22px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    color: white;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    line-height: 1;
    transition: all 0.3s ease-out;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a,
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a {
        font-size: calc(22 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a,
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a:before,
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a:before {
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a .sub,
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a .sub {
    font-size: 0.75em;
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a .num,
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a .num {
    font-size: 1.25em;
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a span.label,
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a span.label {
    display: none;
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a {
    background-image: linear-gradient(
        270deg,
        #3bade3 0%,
        #576fe6 25%,
        #9844b7 51%,
        #ff357f 100%
    );
    color: #ffffff;
    box-shadow: 33px 33px 60px 0px rgba(0, 57, 138, 0.3);
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a:before {
    width: 1.3em;
    height: 1.3em;
    background-image: url(../_aun-common-module/images/_svg/icon_mail_white.svg);
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a:hover {
    box-shadow: 10px 10px 20px 0px rgba(0, 57, 138, 0.3);
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a {
    background-image: linear-gradient(270deg, #009441 0%, #35ff3f 100%);
    color: #ffffff;
    box-shadow: 33px 33px 60px 0px rgba(0, 117, 0, 0.3);
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a:before {
    width: 1.3em;
    height: 1.3em;
    background-image: url(../_aun-common-module/images/_svg/icon_sns_line_squere_color.svg);
}
.l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a:hover {
    box-shadow: 10px 10px 20px 0px rgba(0, 117, 0, 0.3);
}

/*=========================================================================
PC ＋　TB
=========================================================================*/
@media only screen and (min-width: calc(767px + 1px)) {
    .l-header-cta-right-end-btn-wrap {
        padding-right: 0;
    }
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn {
        width: auto;
        height: auto;
        top: 0;
    }
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail,
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line {
        height: 100px;
        width: 100px;
    }
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a,
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a {
        top: 0;
        flex-direction: column;
    }
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a:before,
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a:before {
        top: initial;
        left: initial;
        transform: initial;
        display: block;
        position: relative;
    }
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--mail a span.label,
    .l-header-cta-right-end-btn-wrap .cta-right-end-btn.--line a span.label {
        display: initial;
    }
}
/*=========================================================================
ハンバーガーアイコン
=========================================================================*/
.nav-toggle {
    display: none;
}

/* ハンバーガーアイコン
----------------------------------------------*/
.btn-burger {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    width: 17.5vw;
    height: 17.5vw;
    background-color: initial;
    border: 0 solid #000000;
}

.btn-burger .icon,
.btn-burger .icon:before,
.btn-burger .icon:after {
    position: relative;
    height: 1px; /*線の太さ*/
    width: 8vw; /*線の長さ*/
    background-color: black;
    display: block;
    content: "";
    cursor: pointer;
    margin: auto;
}
.btn-burger .icon:after {
    top: -1.5vw;
}
.btn-burger .icon:before {
    top: 1.5vw;
}

.js-header-layered-style .btn-burger,
.js-toggle-open .btn-burger {
    background-color: rgba(0, 0, 0, 0);
    border: 0 solid white;
}
.js-header-layered-style .icon,
.js-header-layered-style .icon:before,
.js-header-layered-style .icon:after,
.js-toggle-open .icon,
.js-toggle-open .icon:before,
.js-toggle-open .icon:after {
    background-color: white;
}

.l-cta-right-end_wrap {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    height: 100%;
    /*=========================================================================
  スマホのサイズ以上だけの設定
  =========================================================================*/
}
.l-cta-right-end_wrap .l-header-cta-right-end-btn-wrap {
    height: 100%;
    display: flex;
}
@media only screen and (min-width: calc(767px + 1px)) {
    .l-cta-right-end_wrap {
        width: initial;
    }
}

.linkbar,
.linkbar--ac1 {
    position: relative;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    line-height: 1.25;
}
.linkbar:before,
.linkbar--ac1:before {
    box-sizing: border-box;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    background-color: #000000;
    content: "";
    transition: all 0.5s cubic-bezier(1, 0, 0, 1);
    transition-property: transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.linkbar:hover:after,
.linkbar--ac1:hover:after {
    right: 0;
}
.linkbar:hover:before,
.linkbar--ac1:hover:before {
    transform: scaleX(1);
}

.linkbar--ac1 {
    background-color: #009f7a;
}

/*
 テキストテキスト ○ ＋ →　＋ アンダーライン
 必ず「aタグに設定」
  <p><a href="#" class="underline-circle-arrow"><span>UIについて</span></a></p>
*/
.underline-circle-arrow {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 2em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    text-decoration: none;
}
.underline-circle-arrow .icon-circle-arrow {
    position: relative;
    display: inline-block;
    transition: all 0.3s ease 0s;
    width: calc(1em * 1);
    height: calc(1em * 1);
}
.underline-circle-arrow .icon-circle-arrow::before,
.underline-circle-arrow .icon-circle-arrow::after {
    content: "";
    position: absolute;
    transition: width ease 0.4s;
}
.underline-circle-arrow .icon-circle-arrow::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
.underline-circle-arrow .icon-circle-arrow::after {
    transition: all ease 0.2s;
    top: 50%;
    left: 50%;
    transform: translate(-25%, -50%);
    box-sizing: border-box;
    width: calc(0.2em * 1);
    height: calc(0.2em * 1);
    border: calc(0.2em * 1) solid transparent;
    border-left: calc(0.4em * 1) solid #000;
}
.underline-circle-arrow .icon-circle-arrow.--white::before {
    background: white;
}
.underline-circle-arrow .icon-circle-arrow.--white::after {
    border-left-color: black;
}
.underline-circle-arrow .underline-circle-arrow-text {
    text-decoration: none;
    text-align: left;
    text-transform: uppercase;
    padding-left: 0.5em;
    padding-right: 0.5em;
    font-size: 16;
    line-height: 1;
    color: #000000;
}
.underline-circle-arrow::before,
.underline-circle-arrow::after {
    content: "";
    position: absolute;
    background-color: #000000;
    height: 1px;
}
.underline-circle-arrow::before {
    width: 0%;
    left: 0;
    bottom: 0;
    transition: width ease 0.4s;
}
.underline-circle-arrow::after {
    width: 100%;
    left: 0;
    bottom: 0;
    transition: all ease 0.6s;
}
.underline-circle-arrow:hover {
    color: initial;
    text-decoration: none;
}
.underline-circle-arrow:hover::before {
    width: 100%;
}
.underline-circle-arrow:hover::after {
    left: 100%;
    width: 0%;
    transition: all ease 0.2s;
}
.underline-circle-arrow:hover .icon-circle-arrow:after {
    transform: translate(-25%, -50%) scale(1.2);
}
@media only screen and (max-width: calc(767 * 1px)) {
    .underline-circle-arrow span:before {
        width: 0.8em;
        height: 0.8em;
    }
}

.underline-circle-arrow-wrap {
    margin-top: 40px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .underline-circle-arrow-wrap {
        margin-top: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .underline-circle-arrow-wrap {
        margin-top: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
.underline-circle-arrow-wrap.--white .underline-circle-arrow span {
    color: white;
}
.underline-circle-arrow-wrap.--white .underline-circle-arrow span::before {
    background-color: white;
}
.underline-circle-arrow-wrap.--white .underline-circle-arrow span:after {
    border-left-color: #000000;
}
.underline-circle-arrow-wrap.--white .underline-circle-arrow::before,
.underline-circle-arrow-wrap.--white .underline-circle-arrow::after {
    background-color: white;
}

/*------------------------------------------------------------------------------------
Heading BASE
------------------------------------------------------------------------------------*/
/*--------------------------------------------------------
見出し H：ベースのラッパー
--------------------------------------------------------*/
.c-heading-base--c,
.c-heading-base--r,
.c-heading-base--l {
    position: relative;
    padding-top: 0;
    margin: 0;
    display: block;
    color: #000000;
    letter-spacing: 0.05em;
    text-align: center;
}

.c-heading-base--l {
    text-align: left;
}

.c-heading-base--r {
    text-align: right;
}

/* Hタグ --> SPANタグに付与
--------------------------------------------------------*/
.c-heading-base__main {
    position: relative;
    display: block;
}

.c-heading-base__sub {
    display: block;
}

/*
Hタグ --> SPANタグに付与
MAIN
・$f-fmy:initial     ：　フォントファミリー
・$f-lv:"lv2"        ：　フォントサイズ。レベルで指定（太さ、LH、LSは、LVは、_s-font.scssで指定した固定の数値が設定）
・$f-col:$col-bs     ：　カラー
・$top-space-vw:0    ：　トップのスペース（pxの指定ではない数字のみ）
 */
/*------------------------------------------------------------------------------------
HEADING 上にアンダーライン
------------------------------------------------------------------------------------*/
body {
    /*--------------------------------------------------------
  見出し H2：ベースのラッパー
  --------------------------------------------------------*/
}
body .top-line--c:after,
body .top-line--r:after,
body .top-line--l:after {
    display: block;
    content: "";
    width: 40px;
    height: 3px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    background: #009f7a;
    overflow: hidden;
}
body .top-line--l:after {
    left: 0;
    transform: none;
}
body .top-line--r:after {
    left: inherit;
    right: 0;
    transform: none;
}

/* ======================================================================
HTML
------------------------------------------------------------------------
<h2 class="c-heading--c">
    <span class="c-heading__main top-line--c">Recent Works</span>
    <span class="c-heading__sub">最新の制作実績</span>
</h2>
====================================================================== */
/*------------------------------------------------------------------------------------
HEADING サブのテキストの左横に「----」が入る

例：
// 見出し
h3.c-heading--l {
    @include c-heading--l;
    .c-heading__main {
        @include c-heading__main-mixin(
            $G_FONT_FAMILY_JP,
            "lv4",
            $G_COL_BG_WHITE,
            $G_ELE_SPACE_VERTICAL_20
        );
    }
    .c-heading__sub {
        @include c-heading__sub(
                        $G_FONT_FAMILY_EN,
                        "base",
                        $G_COL_BG_WHITE,
                        0
        );
    }
    @include left-long-line($G_COL_BG_WHITE);     ←←←←← ここで設定
}
------------------------------------------------------------------------------------*/
body .news__item {
    position: relative;
    border-top: 1px solid #cccccc;
    padding: 1.5em 2em 1.5em 0;
}
body .news__item:last-child {
    border-bottom: 1px solid #cccccc;
}
body .news__item:after {
    font-family: "Font Awesome 6 Free";
    content: "\f061";
    font-size: 14px;
    font-weight: 900;
    color: #009f7a;
    position: absolute;
    display: inline-block;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transition: all 0.3s ease-out;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .news__item:after {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .news__item:after {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body .news__item:hover {
    color: #009f7a;
}
body .news__item:hover:after {
    right: 0;
}
body .news__item > a {
    text-decoration: none;
    position: relative;
    transition: all 0.3s ease-out;
    color: #000000;
    font-size: 16px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .news__item > a {
        font-size: calc(16 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .news__item > a {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
body .news__item__ttl {
    padding-top: 1em;
}

/* ======================================================================
HTML
------------------------------------------------------------------------
<ul class="flex-container__item news">
    <li class="news__item">
        <a href="#">
            <div class="news__item__data">
                <time>2022.00.00</time>
                <ul class="tags">
                    <li class="tag-01">プレスリリース</li>
                </ul>
            </div>
            <p class="news__item__ttl">最新情報のテキストが入ります。最新情報のテキストが入ります。最新情報のテキストが入ります。</p>
        </a>
    </li>
    <li class="news__item">
        <a href="#">
            <div class="news__item__data">
                <time>2022.00.00</time>
                <ul class="tags">
                    <li class="tag-01">お知らせ</li>
                </ul>
            </div>
            <p class="news__item__ttl">最新情報のテキストが入ります。最新情報のテキストが入ります。最新情報のテキストが入ります。</p>
        </a>
    </li>
    <li class="news__item">
        <a href="#">
            <div class="news__item__data">
                <time>2022.00.00</time>
                <ul class="tags">
                    <li class="tag-01">お知らせ</li>
                </ul>
            </div>
            <p class="news__item__ttl">最新情報のテキストが入ります。最新情報のテキストが入ります。最新情報のテキストが入ります。</p>
        </a>
    </li>
</ul>
====================================================================== */
/* ======================================================================
HTML
------------------------------------------------------------------------
<section class="p-about-sec">
    <div class="l-inner p-about__inner">
        <div class="c-layerd-base">
            <div class="c-layerd-base__img-container" >
                <span class="bgextend bgLRextendTrigger">
                    <span class="bgappearTrigger">
                        <div class="c-layerd-base__img" style="background-image:url('data/images/home/img-layerd-dummy.jpg')"></div>
                    </span>
                </span>
            </div>
            <h1 class="flex-container__item c-heading--left about_heading">
                <span class="c-heading__main--top-line --md-uppercase js_typing">About</span>
                <span class="c-heading__sub">私たちについて</span>
            </h1>
            <div class="c-layerd-base__txt">
                <h3 class="about-ttl">コピーが入ります。コピーが入ります。<br>コピーが入ります。コピーが入ります。コピーが入ります。</h3>
                <p class="about-txt">テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
                <a href="#" class="c-basic-btn">詳しくはこちら</a>
            </div>
        </div>
    </div>
</section>
====================================================================== */
/*==================================================
背景色が伸びて出現
===================================*/
/*全共通*/
body {
    /*中の要素*/
    /*左から右*/
    /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
}
body .bgextend {
    animation-name: bgextendAnimeBase;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden; /*　はみ出た色要素を隠す　*/
    opacity: 0;
    display: inline-block;
    height: 100%;
}
@keyframes bgextendAnimeBase {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
body .bgappear {
    animation-name: bgextendAnimeSecond;
    animation-duration: 1s;
    animation-delay: 0.6s;
    animation-fill-mode: forwards;
    opacity: 0;
}
body .bgappear > a {
    display: block;
}
@keyframes bgextendAnimeSecond {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
body .bgLRextend::before {
    animation-name: bgLRextendAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000000;
}
@keyframes bgLRextendAnime {
    0% {
        transform-origin: left;
        transform: scaleX(0);
    }
    50% {
        transform-origin: left;
        transform: scaleX(1);
    }
    50.001% {
        transform-origin: right;
    }
    100% {
        transform-origin: right;
        transform: scaleX(0);
    }
}
body .bgappearTrigger,
body .bgLRextendTrigger {
    opacity: 0;
}

/* ======================================================================
HTML
------------------------------------------------------------------------
<section class="l-page p-mv p-top-mv">
    <div class="scrolldown1"><span>Scroll</span></div>
    <div class="swiper-container">
        :
        :
    </div>
</section>
====================================================================== */
/*====== 9-1-1 縦線が動いてスクロールを促す =======*/
/*
<div class="c-scrolldown1">
    <p class="txt">SCLOLL DOWN</p>
    <span></span>
</div>
 */
body {
    /*スクロールダウン全体の場所*/
    /*Scrollテキストの描写*/
    /* 線の描写 */
    /*高さ・位置・透過が変化して線が上から下に動く*/
}
body .c-scrolldown1 p.txt {
    color: white;
    font-size: 10px;
    text-align: center;
    margin-top: calc(10px * -1);
}
body .c-scrolldown1:before {
    content: "SCROLL";
    display: block;
    width: auto;
    position: absolute;
    top: calc(10px * -1);
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
}
body .c-scrolldown1 {
    /*描画位置※位置は適宜調整してください*/
    position: absolute !important;
    left: 50%;
    bottom: 0;
    /*全体の高さ*/
    height: calc(80 * 1px);
    z-index: 410;
}
body .c-scrolldown1 span {
    /*描画位置*/
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -25px;
    /*テキストの形状*/
    color: #eee;
    font-size: calc(12 / 1162 * 0.87 * 100 * 1vw);
    letter-spacing: 0.05em;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-scrolldown1 span {
        font-size: calc(100 / 750 * calc(calc(12 * 2) * 0.87) * 1vw);
    }
}
body .c-scrolldown1::after {
    content: "";
    /*描画位置*/
    position: absolute;
    top: 0;
    /*線の形状*/
    width: 1px;
    height: 30px;
    background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
    animation: pathmove 1.4s ease-in-out infinite;
    opacity: 0;
}
@keyframes pathmove {
    0% {
        height: 0;
        top: 0;
        opacity: 0;
    }
    30% {
        height: calc(80 * 0.6 * 1px);
        opacity: 1;
    }
    100% {
        height: 0;
        top: calc(80 * 1px);
        opacity: 0;
    }
}

body {
    /* --------------------------------------------------------
  BASE
  --------------------------------------------------------*/
    /* --------------------------------------------------------
  画像とテキストのレイヤード
  ・真四角の形
  --------------------------------------------------------*/
    /* --------------------------------------------------------
  横 並び
  ・iMG
  ・TXT
  --------------------------------------------------------*/
    /* --------------------------------------------------------
  → 横 並び
  ・iMG
  ・TXT
  ・arrow
  --------------------------------------------------------*/
    /* --------------------------------------------------------
  ↓ 縦 並び
  ・iMG
  ・TXT
  ・arrow
  --------------------------------------------------------*/
}
body .c-media-text-content,
body .c-media-text-content--vertical,
body .c-media-text-content--horizontal,
body .c-media-text-content--horizontal-arrow,
body .c-media-text-content--layered,
body .c-media-text-content-mg,
body .c-media-text-content-mg--vertical {
    position: relative;
    overflow: hidden;
    padding-top: 40px;
    padding-bottom: 40px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content,
    body .c-media-text-content--vertical,
    body .c-media-text-content--horizontal,
    body .c-media-text-content--horizontal-arrow,
    body .c-media-text-content--layered,
    body .c-media-text-content-mg,
    body .c-media-text-content-mg--vertical {
        padding-top: calc(calc(40 / 28 * 1rem) / 0.75);
        padding-bottom: calc(calc(40 / 28 * 1rem) / 0.75);
    }
}
body .c-media-text-content .c-media-text-content__link,
body .c-media-text-content--vertical .c-media-text-content__link,
body .c-media-text-content--horizontal .c-media-text-content__link,
body .c-media-text-content--horizontal-arrow .c-media-text-content__link,
body .c-media-text-content--layered .c-media-text-content__link,
body .c-media-text-content-mg .c-media-text-content__link,
body .c-media-text-content-mg--vertical .c-media-text-content__link {
    text-decoration: none;
    color: #000000;
    transition: all 0.3s ease-out;
}
body .c-media-text-content .c-media-text-content__img,
body .c-media-text-content--vertical .c-media-text-content__img,
body .c-media-text-content--horizontal .c-media-text-content__img,
body .c-media-text-content--horizontal-arrow .c-media-text-content__img,
body .c-media-text-content--layered .c-media-text-content__img,
body .c-media-text-content-mg .c-media-text-content__img,
body .c-media-text-content-mg--vertical .c-media-text-content__img {
    transition: all 0.3s ease-out;
    width: 100%;
    line-height: 0;
}
body .c-media-text-content .c-media-text-content__body,
body .c-media-text-content--vertical .c-media-text-content__body,
body .c-media-text-content--horizontal .c-media-text-content__body,
body .c-media-text-content--horizontal-arrow .c-media-text-content__body,
body .c-media-text-content--layered .c-media-text-content__body,
body .c-media-text-content-mg .c-media-text-content__body,
body .c-media-text-content-mg--vertical .c-media-text-content__body {
    flex: 1;
}
body .c-media-text-content .c-media-text-content__title,
body .c-media-text-content--vertical .c-media-text-content__title,
body .c-media-text-content--horizontal .c-media-text-content__title,
body .c-media-text-content--horizontal-arrow .c-media-text-content__title,
body .c-media-text-content--layered .c-media-text-content__title,
body .c-media-text-content-mg .c-media-text-content__title,
body .c-media-text-content-mg--vertical .c-media-text-content__title {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    padding-top: 10px;
    padding-bottom: 10px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-media-text-content .c-media-text-content__title,
    body .c-media-text-content--vertical .c-media-text-content__title,
    body .c-media-text-content--horizontal .c-media-text-content__title,
    body .c-media-text-content--horizontal-arrow .c-media-text-content__title,
    body .c-media-text-content--layered .c-media-text-content__title,
    body .c-media-text-content-mg .c-media-text-content__title,
    body .c-media-text-content-mg--vertical .c-media-text-content__title {
        font-size: calc(18 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content .c-media-text-content__title,
    body .c-media-text-content--vertical .c-media-text-content__title,
    body .c-media-text-content--horizontal .c-media-text-content__title,
    body .c-media-text-content--horizontal-arrow .c-media-text-content__title,
    body .c-media-text-content--layered .c-media-text-content__title,
    body .c-media-text-content-mg .c-media-text-content__title,
    body .c-media-text-content-mg--vertical .c-media-text-content__title {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content .c-media-text-content__title,
    body .c-media-text-content--vertical .c-media-text-content__title,
    body .c-media-text-content--horizontal .c-media-text-content__title,
    body .c-media-text-content--horizontal-arrow .c-media-text-content__title,
    body .c-media-text-content--layered .c-media-text-content__title,
    body .c-media-text-content-mg .c-media-text-content__title,
    body .c-media-text-content-mg--vertical .c-media-text-content__title {
        padding-top: calc(calc(10 / 28 * 1rem) / 0.75);
        padding-bottom: calc(calc(10 / 28 * 1rem) / 0.75);
    }
}
body .c-media-text-content .c-media-text-content__body p,
body .c-media-text-content--vertical .c-media-text-content__body p,
body .c-media-text-content--horizontal .c-media-text-content__body p,
body .c-media-text-content--horizontal-arrow .c-media-text-content__body p,
body .c-media-text-content--layered .c-media-text-content__body p,
body .c-media-text-content-mg .c-media-text-content__body p,
body .c-media-text-content-mg--vertical .c-media-text-content__body p {
    font-size: 14px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-media-text-content .c-media-text-content__body p,
    body .c-media-text-content--vertical .c-media-text-content__body p,
    body .c-media-text-content--horizontal .c-media-text-content__body p,
    body .c-media-text-content--horizontal-arrow .c-media-text-content__body p,
    body .c-media-text-content--layered .c-media-text-content__body p,
    body .c-media-text-content-mg .c-media-text-content__body p,
    body .c-media-text-content-mg--vertical .c-media-text-content__body p {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content .c-media-text-content__body p,
    body .c-media-text-content--vertical .c-media-text-content__body p,
    body .c-media-text-content--horizontal .c-media-text-content__body p,
    body .c-media-text-content--horizontal-arrow .c-media-text-content__body p,
    body .c-media-text-content--layered .c-media-text-content__body p,
    body .c-media-text-content-mg .c-media-text-content__body p,
    body .c-media-text-content-mg--vertical .c-media-text-content__body p {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body .c-media-text-content-mg,
body .c-media-text-content-mg--vertical {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 40px;
    margin-bottom: 40px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-media-text-content-mg,
    body .c-media-text-content-mg--vertical {
        margin-top: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content-mg,
    body .c-media-text-content-mg--vertical {
        margin-top: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-media-text-content-mg,
    body .c-media-text-content-mg--vertical {
        margin-bottom: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content-mg,
    body .c-media-text-content-mg--vertical {
        margin-bottom: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
body .c-media-text-content--layered {
    padding-top: 0;
    padding-bottom: 0;
}
body .c-media-text-content--layered:before {
    content: "";
    display: block;
    width: 100%;
    padding: 100% 0 0;
}
body .c-media-text-content--layered .c-media-text-content--layered-wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #000000;
}
body
    .c-media-text-content--layered
    .c-media-text-content--layered-wrap
    .swiper-wrapper:after {
    pointer-events: none;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    z-index: 9;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0);
    background: -moz-linear-gradient(
        top,
        rgba(0, 0, 0, 0) 20%,
        rgba(0, 0, 0, 0.8) 100%
    );
    background: -webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(20%, rgba(0, 0, 0, 0)),
        color-stop(100%, rgba(0, 0, 0, 0.8))
    );
    background: -webkit-linear-gradient(
        top,
        rgba(0, 0, 0, 0) 20%,
        rgba(0, 0, 0, 0.8) 100%
    );
    background: -o-linear-gradient(
        top,
        rgba(0, 0, 0, 0) 20%,
        rgba(0, 0, 0, 0.8) 100%
    );
    background: -ms-linear-gradient(
        top,
        rgba(0, 0, 0, 0) 20%,
        rgba(0, 0, 0, 0.8) 100%
    );
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0) 20%,
        rgba(0, 0, 0, 0.8) 100%
    );
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="$start-color", endColorstr="$end-color", GradientType=0);
}
body .c-media-text-content--layered .c-media-text-content__img {
    height: 100%;
    position: absolute;
}
body .c-media-text-content--layered .c-media-text-content__img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
body .c-media-text-content--layered .c-media-text-content__body {
    position: absolute;
    z-index: 10;
    bottom: 0;
    padding-bottom: 40px;
    padding-left: 5.3333333333%;
    padding-right: 5.3333333333%;
    color: #ffffff;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-media-text-content--layered .c-media-text-content__body {
        padding-bottom: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content--layered .c-media-text-content__body {
        padding-bottom: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
body .c-media-text-content--layered a.c-media-text-content__link {
    position: relative;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    line-height: 1.25;
    color: #ffffff;
}
body .c-media-text-content--layered a.c-media-text-content__link:before {
    box-sizing: border-box;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    background-color: #ffffff;
    content: "";
    transition: all 0.5s cubic-bezier(1, 0, 0, 1);
    transition-property: transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
body .c-media-text-content--layered a.c-media-text-content__link:hover:after {
    right: 0;
}
body .c-media-text-content--layered a.c-media-text-content__link:hover:before {
    transform: scaleX(1);
}
body .c-media-text-content--horizontal,
body .c-media-text-content--horizontal-arrow {
    border-top: solid 1px #cccccc;
    display: flex;
}
body .c-media-text-content--horizontal:last-child,
body .c-media-text-content--horizontal-arrow:last-child {
    border-bottom: solid 1px #cccccc;
}
body .c-media-text-content--horizontal .c-media-text-content__img,
body .c-media-text-content--horizontal-arrow .c-media-text-content__img {
    margin-right: 2em;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content--horizontal,
    body .c-media-text-content--horizontal-arrow {
        flex-direction: column;
    }
}
body .c-media-text-content--horizontal-arrow {
    padding-right: 3rem;
    position: relative;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    line-height: 1.25;
    padding-top: 30px;
    padding-bottom: 30px;
}
body .c-media-text-content--horizontal-arrow:after {
    font-family: "Font Awesome 6 Free";
    content: "\f061";
    font-size: 14px;
    font-weight: 900;
    color: #009f7a;
    position: absolute;
    display: inline-block;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transition: all 0.3s ease-out;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-media-text-content--horizontal-arrow:after {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content--horizontal-arrow:after {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body .c-media-text-content--horizontal-arrow:hover:after {
    right: 0;
}
body .c-media-text-content--horizontal-arrow:before {
    box-sizing: border-box;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    background-color: #000000;
    content: "";
    transition: all 0.5s cubic-bezier(1, 0, 0, 1);
    transition-property: transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
body .c-media-text-content--horizontal-arrow:hover:after {
    right: 0;
}
body .c-media-text-content--horizontal-arrow:hover:before {
    transform: scaleX(1);
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-media-text-content--horizontal-arrow {
        padding-top: calc(30 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content--horizontal-arrow {
        padding-top: calc(calc(100 / 750 * 30 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-media-text-content--horizontal-arrow {
        padding-bottom: calc(30 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content--horizontal-arrow {
        padding-bottom: calc(calc(100 / 750 * 30 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-media-text-content--horizontal-arrow {
        padding-right: 0;
    }
    body .c-media-text-content--horizontal-arrow:after {
        content: none;
    }
    body .c-media-text-content--horizontal-arrow .c-media-text-content__title {
        padding-left: 2em;
        position: relative;
    }
    body
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__title:after {
        font-family: "Font Awesome 6 Free";
        content: "\f061";
        font-size: 14px;
        font-weight: 900;
        color: #009f7a;
        position: absolute;
        display: inline-block;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        transition: all 0.3s ease-out;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__title:after {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    body
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__title:after {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body
        .c-media-text-content--horizontal-arrow:hover
        .c-media-text-content__title:after {
        left: 1em;
    }
}
body .c-media-text-content--vertical {
    display: flex;
    flex-direction: column;
}
body .c-media-text-content--vertical .c-media-text-content__img {
    margin-bottom: 1em;
}
body .c-media-text-content-mg--vertical {
    display: flex;
    flex-direction: column;
}
body .c-media-text-content-mg--vertical .c-media-text-content__img {
    margin-bottom: 1em;
}

body {
    /*-------------------------------------------------------------
  基本パーツ
  -------------------------------------------------------------

  -------------------------------------------------------------*/
    /*-------------------------------------------------------------
  カラー　グレー
  -------------------------------------------------------------
  ・ボタン背景 --> 透明　　
  ・ボタン枠線 --> グレー　　
  ・テキスト --> グレー
  -------------------------------------------------------------*/
    /*-------------------------------------------------------------
  カラー　黒
  -------------------------------------------------------------
  ・ボタン背景 --> 透明　　
  ・ボタン枠線 --> 黒
  ・テキスト --> 黒
  -------------------------------------------------------------*/
    /*-------------------------------------------------------------
  カラー　BODY Font Color
  -------------------------------------------------------------
  ・ボタン背景 --> 透明　　
  ・ボタン枠線 --> BODY Font Color
  ・テキスト --> BODY Font Color
  -------------------------------------------------------------*/
    /*-------------------------------------------------------------
  カラー　白
  -------------------------------------------------------------
  ・ボタン背景 --> 透明　　
  ・ボタン枠線 --> 白　
  ・テキスト --> 白
  -------------------------------------------------------------*/
}
body .c-horizontal_content-meta,
body .c-horizontal_content-meta--base,
body .c-horizontal_content-meta--white,
body .c-horizontal_content-meta--bodyfontcol,
body .c-horizontal_content-meta--black {
    width: 100%;
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #444444;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-horizontal_content-meta,
    body .c-horizontal_content-meta--base,
    body .c-horizontal_content-meta--white,
    body .c-horizontal_content-meta--bodyfontcol,
    body .c-horizontal_content-meta--black {
        font-size: calc(12 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-horizontal_content-meta,
    body .c-horizontal_content-meta--base,
    body .c-horizontal_content-meta--white,
    body .c-horizontal_content-meta--bodyfontcol,
    body .c-horizontal_content-meta--black {
        font-size: calc(100 / 750 * calc(20 * 1) * 1vw);
    }
}
body .c-horizontal_content-meta.--col-bs,
body .--col-bs.c-horizontal_content-meta--base,
body .--col-bs.c-horizontal_content-meta--white,
body .--col-bs.c-horizontal_content-meta--bodyfontcol,
body .--col-bs.c-horizontal_content-meta--black {
    color: #000000;
}
body .c-horizontal_content-meta.--fs-bs,
body .--fs-bs.c-horizontal_content-meta--base,
body .--fs-bs.c-horizontal_content-meta--white,
body .--fs-bs.c-horizontal_content-meta--bodyfontcol,
body .--fs-bs.c-horizontal_content-meta--black {
    font-size: 16px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-horizontal_content-meta.--fs-bs,
    body .--fs-bs.c-horizontal_content-meta--base,
    body .--fs-bs.c-horizontal_content-meta--white,
    body .--fs-bs.c-horizontal_content-meta--bodyfontcol,
    body .--fs-bs.c-horizontal_content-meta--black {
        font-size: calc(16 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-horizontal_content-meta.--fs-bs,
    body .--fs-bs.c-horizontal_content-meta--base,
    body .--fs-bs.c-horizontal_content-meta--white,
    body .--fs-bs.c-horizontal_content-meta--bodyfontcol,
    body .--fs-bs.c-horizontal_content-meta--black {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
body .c-horizontal_content-meta__txt {
    margin-right: 1em;
}
body .c-horizontal_content-meta__txt:last-child {
    margin-right: 0;
}
body .c-horizontal_content-meta__txt a {
    color: #444444;
    padding-top: 0.3em;
    padding-bottom: 0.3em;
}
body .c-horizontal_content-meta__round-btn {
    /*
  &.child{
      li{
          padding-left: 0!important;
          height: 100%;
      }
  }*/
}
body .c-horizontal_content-meta__round-btn li {
    margin-right: 0.5em;
    margin-bottom: 0.5em;
    width: auto;
    height: auto;
    text-align: center;
    border-radius: 1000px;
    background-color: transparent;
    transition: all 0.3s ease-out;
    color: #444444;
}
body .c-horizontal_content-meta__round-btn li > a {
    padding: 0.1em 1em;
    min-width: 5em;
    display: inline-block;
}
body
    .c-horizontal_content-meta__round-btn
    li
    > ul.c-horizontal_content-meta__round-btn {
    padding: 0;
    min-width: 5em;
}
body .c-horizontal_content-meta__round-btn li a {
    transition: all 0.3s ease-out;
    min-width: 5em;
    border-radius: 1000px;
    padding: 0.1em 1em;
    color: #444444;
    text-decoration: none;
}
body .c-horizontal_content-meta__round-btn li a:hover {
    background-color: #009f7a;
    color: #ffffff;
    border-color: #009f7a;
    cursor: pointer;
}
body .c-horizontal_content-meta__round-btn li a.current {
    background-color: #444444;
    color: #ffffff;
    border-color: #444444;
    cursor: default;
}
body .c-horizontal_content-meta__round-btn li a.current label:hover {
    cursor: default;
}
body .c-horizontal_content-meta__round-btn li a label:hover {
    cursor: pointer;
}
body time.c-horizontal_content-meta__txt,
body .c-horizontal_content-meta__round-btn {
    margin-right: 2em;
}
body .c-horizontal_content-meta__wp-tags {
    margin-top: 20px;
    display: flex;
    align-items: center;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-horizontal_content-meta__wp-tags {
        margin-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-horizontal_content-meta__wp-tags {
        margin-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
body .c-horizontal_content-meta__wp-tags a {
    font-size: 14px;
    margin-left: 1em;
    margin-right: 1em;
    padding: 0.1em 0;
    display: inline-block;
    color: #444444;
    text-decoration: none;
    transition: all 0.3s ease-out;
}
body .c-horizontal_content-meta__wp-tags a:before {
    content: "#";
    display: inline-block;
    position: relative;
    left: 0;
    width: 1em;
    height: 1em;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-horizontal_content-meta__wp-tags a {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-horizontal_content-meta__wp-tags a {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body .c-horizontal_content-meta__wp-tags a:hover {
    transition: all 0.3s ease-out;
    color: #009f7a;
}
body .c-horizontal_content-meta__wp-tags a.current {
    cursor: default;
    border-bottom: 1px solid #444444;
}
body .c-horizontal_content-meta__round-btn {
    color: #444444;
    text-decoration: none;
}
body .c-horizontal_content-meta__round-btn:last-child {
    margin-right: 0;
}
body .c-horizontal_content-meta__round-btn,
body .c-horizontal_content-meta__wp-tags {
    display: flex;
    flex-wrap: wrap;
}
body time.c-horizontal_content-meta__txt {
    margin-bottom: 0.5em;
}
body time.c-horizontal_content-meta__txt a {
    transition: all 0.3s ease-out;
    text-decoration: none;
    color: #444444;
}
body time.c-horizontal_content-meta__txt a:hover {
    color: #009f7a;
}
body time.c-horizontal_content-meta__txt a.current {
    border-bottom: 1px solid #009f7a;
}
body .c-horizontal_content-meta--base,
body .c-horizontal_content-meta--white,
body .c-horizontal_content-meta--bodyfontcol,
body .c-horizontal_content-meta--black {
    flex-wrap: wrap;
    color: #444444;
}
body .c-horizontal_content-meta--base .c-horizontal_content-meta__txt a,
body .c-horizontal_content-meta--white .c-horizontal_content-meta__txt a,
body .c-horizontal_content-meta--bodyfontcol .c-horizontal_content-meta__txt a,
body .c-horizontal_content-meta--black .c-horizontal_content-meta__txt a {
    color: #444444;
    position: relative;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    line-height: 1.25;
}
body .c-horizontal_content-meta--base .c-horizontal_content-meta__txt a:hover,
body .c-horizontal_content-meta--white .c-horizontal_content-meta__txt a:hover,
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__txt
    a:hover,
body .c-horizontal_content-meta--black .c-horizontal_content-meta__txt a:hover {
    color: #009f7a;
}
body .c-horizontal_content-meta--base .c-horizontal_content-meta__txt a:before,
body .c-horizontal_content-meta--white .c-horizontal_content-meta__txt a:before,
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__txt
    a:before,
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__txt
    a:before {
    box-sizing: border-box;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    background-color: #009f7a;
    content: "";
    transition: all 0.5s cubic-bezier(1, 0, 0, 1);
    transition-property: transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
body
    .c-horizontal_content-meta--base
    .c-horizontal_content-meta__txt
    a:hover:after,
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__txt
    a:hover:after,
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__txt
    a:hover:after,
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__txt
    a:hover:after {
    right: 0;
}
body
    .c-horizontal_content-meta--base
    .c-horizontal_content-meta__txt
    a:hover:before,
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__txt
    a:hover:before,
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__txt
    a:hover:before,
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__txt
    a:hover:before {
    transform: scaleX(1);
}
body
    .c-horizontal_content-meta--base
    .c-horizontal_content-meta__round-btn
    li
    > :not(a),
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__round-btn
    li
    > :not(a),
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__round-btn
    li
    > :not(a),
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__round-btn
    li
    > :not(a) {
    border: none;
}
body
    .c-horizontal_content-meta--base
    .c-horizontal_content-meta__round-btn
    li
    a,
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__round-btn
    li
    a,
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__round-btn
    li
    a,
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__round-btn
    li
    a {
    border: 1px solid #444444;
    color: #444444;
}
body
    .c-horizontal_content-meta--base
    .c-horizontal_content-meta__round-btn
    li
    a:hover,
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__round-btn
    li
    a:hover,
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__round-btn
    li
    a:hover,
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__round-btn
    li
    a:hover {
    color: #ffffff;
    border: 1px solid #009f7a;
}
body
    .c-horizontal_content-meta--base
    .c-horizontal_content-meta__round-btn
    li
    a.current,
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__round-btn
    li
    a.current,
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__round-btn
    li
    a.current,
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__round-btn
    li
    a.current,
body
    .c-horizontal_content-meta--base
    .c-horizontal_content-meta__round-btn
    li
    a.current:hover {
    color: #ffffff;
    background-color: #444444;
    border: 1px solid #444444;
}
body .c-horizontal_content-meta--black {
    color: #333333;
}
body .c-horizontal_content-meta--black .c-horizontal_content-meta__txt a {
    color: #333333;
    position: relative;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    line-height: 1.25;
}
body .c-horizontal_content-meta--black .c-horizontal_content-meta__txt a:hover {
    color: #009f7a;
}
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__txt
    a:before {
    box-sizing: border-box;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    background-color: #009f7a;
    content: "";
    transition: all 0.5s cubic-bezier(1, 0, 0, 1);
    transition-property: transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__txt
    a:hover:after {
    right: 0;
}
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__txt
    a:hover:before {
    transform: scaleX(1);
}
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__round-btn
    li
    > :not(a) {
    border: none;
}
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__round-btn
    li
    a {
    border: 1px solid #333333;
    color: #333333;
}
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__round-btn
    li
    a:hover {
    color: #ffffff;
    border: 1px solid #009f7a;
}
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__round-btn
    li
    a.current,
body
    .c-horizontal_content-meta--black
    .c-horizontal_content-meta__round-btn
    li
    a.current:hover {
    color: #ffffff;
    background-color: #333333;
    border: 1px solid #333333;
}
body .c-horizontal_content-meta--bodyfontcol {
    color: #000000;
}
body .c-horizontal_content-meta--bodyfontcol .c-horizontal_content-meta__txt a {
    color: #000000;
    position: relative;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    line-height: 1.25;
}
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__txt
    a:hover {
    color: #009f7a;
}
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__txt
    a:before {
    box-sizing: border-box;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    background-color: #009f7a;
    content: "";
    transition: all 0.5s cubic-bezier(1, 0, 0, 1);
    transition-property: transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__txt
    a:hover:after {
    right: 0;
}
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__txt
    a:hover:before {
    transform: scaleX(1);
}
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__round-btn
    li
    > :not(a) {
    border: none;
}
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__round-btn
    li
    a {
    border: 1px solid #000000;
    color: #000000;
}
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__round-btn
    li
    a:hover {
    color: #ffffff;
    border: 1px solid #009f7a;
}
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__round-btn
    li
    a.current,
body
    .c-horizontal_content-meta--bodyfontcol
    .c-horizontal_content-meta__round-btn
    li
    a.current:hover {
    color: #ffffff;
    background-color: #000000;
    border: 1px solid #000000;
}
body .c-horizontal_content-meta--white {
    color: #ffffff;
}
body .c-horizontal_content-meta--white .c-horizontal_content-meta__txt a {
    color: #ffffff;
    position: relative;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    line-height: 1.25;
}
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__txt
    a:before {
    box-sizing: border-box;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    background-color: #ffffff;
    content: "";
    transition: all 0.5s cubic-bezier(1, 0, 0, 1);
    transition-property: transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__txt
    a:hover:after {
    right: 0;
}
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__txt
    a:hover:before {
    transform: scaleX(1);
}
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__round-btn
    li
    > :not(a):not(ul.c-horizontal_content-meta__round-btn) {
    color: #ffffff;
    border: 1px solid #ffffff;
}
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__round-btn
    li
    > a {
    border: 1px solid #ffffff;
    color: #ffffff;
}
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__round-btn
    li
    > a:hover {
    border: 1px solid #ffffff;
    background-color: #ffffff;
    color: #000000;
}
body
    .c-horizontal_content-meta--white
    .c-horizontal_content-meta__round-btn
    li
    ul.c-horizontal_content-meta__round-btn {
    padding: 0;
    min-width: 5em;
}

/* -----------------------------------------------------------------
ページネーション
-----------------------------------------------------------------
〜〜〜〜　／　〜〜〜〜　／　〜〜〜〜　／　
-----------------------------------------------------------------*/
body .c-horizontal-diagonal-separator {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
body .c-horizontal-diagonal-separator__item {
    position: relative;
    overflow-y: hidden;
    line-height: 1;
    padding-right: 3em;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-horizontal-diagonal-separator__item {
        padding-right: 3em;
    }
}
body .c-horizontal-diagonal-separator__item:after {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
    right: 0;
    content: "";
    z-index: 0;
    pointer-events: all;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    background: #efefef;
    height: 1px;
    width: 1px;
    padding-right: 1em;
    margin-right: 1em;
}
body .c-horizontal-diagonal-separator__item:last-child {
    padding-right: 0;
}
body .c-horizontal-diagonal-separator__item:last-child:after {
    display: none;
}
body .c-horizontal-diagonal-separator__item > :not(a) {
    display: flex;
    align-items: center;
    height: 100%;
}
body .c-horizontal-diagonal-separator__item a {
    position: relative;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
    line-height: 1.25;
    position: relative;
    display: block;
    text-decoration: none;
    color: #000000;
    transition: all 0.3s ease-out;
}
body .c-horizontal-diagonal-separator__item a:before {
    box-sizing: border-box;
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center;
    background-color: #009f7a;
    content: "";
    transition: all 0.5s cubic-bezier(1, 0, 0, 1);
    transition-property: transform;
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
body .c-horizontal-diagonal-separator__item a:hover:after {
    right: 0;
}
body .c-horizontal-diagonal-separator__item a:hover:before {
    transform: scaleX(1);
}
body .c-horizontal-diagonal-separator__item a:hover {
    color: #009f7a;
}
body .c-horizontal-diagonal-separator__item a.current {
    color: #000000;
}
body .c-horizontal-diagonal-separator__item a.current:before {
    background-color: #000000;
    transform: scaleX(1);
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-horizontal-diagonal-separator__item a {
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }
}
body .c-horizontal-diagonal-separator__item label {
    padding-left: 1em;
    padding-right: 1em;
}
body .c-horizontal-diagonal-separator__item .count {
    font-size: 12px;
    padding-left: 1em;
    vertical-align: super;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-horizontal-diagonal-separator__item .count {
        font-size: calc(12 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-horizontal-diagonal-separator__item .count {
        font-size: calc(100 / 750 * calc(20 * 1) * 1vw);
    }
}

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

--------------------------------------------------
・SP：ドロップダウンメニューの表示
・PC：グローバルナビが非表示の場合に、ハンバーガーメニューで表示

--------------------------------------------------
使い方
--------------------------------------------------
各プロジェクトの任意（ヘッダー、フッター）のscssで、
body 使用する箇所（タグ）の直下にSPになるブレイクポイントを引数にして記載
必要があれば、プロジェクトのscssで数値を上書きしていく。
body {
    :
     #l-header {
        @include dropdownmenu-SP-A1($G_BP_HEADER_SP_CHANGE_POINT);
    }
    ：
}
================================================ */
.js-toggle-open .logo-mv-overlay {
    display: block;
    opacity: 1;
}
.js-toggle-open .logo-scroll,
.js-toggle-open .logo-default {
    display: none;
    opacity: 0;
}

body.js-toggle-open #l-header .gnavi:not(.gnav-with-hmbgmenu) {
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    opacity: 1;
    z-index: 999;
    align-items: flex-start;
    justify-content: initial;
}
body.js-toggle-open
    #l-header
    .gnavi:not(.gnav-with-hmbgmenu)
    .l-header__secondary__top,
body.js-toggle-open
    #l-header
    .gnavi:not(.gnav-with-hmbgmenu)
    .l-header__secondary__bottom {
    width: 100%;
}

@media only screen and (max-width: calc(767 * 1px)) {
    body
        #l-header
        .l-header__secondary.l-header__secondary--two-tier
        .l-header__secondary__bottom
        .gnavi__wrap.c-dd-nav
        #menu-header-nav {
        padding-bottom: 2em;
    }
    body
        #l-header
        .l-header__secondary.l-header__secondary--two-tier
        .l-header__secondary__top {
        flex-direction: column-reverse;
        padding-bottom: 100px;
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
    }
}
/*----------------------------------------------
  グローバルナビ
  https://coco-factory.jp/ugokuweb/move01/5-1-1/
  ----------------------------------------------*/
body {
    /*=========================================================================
  ハンバーガーアイコン
  =========================================================================*/
    /* ハンバーガーアイコン
  ----------------------------------------------*/
    /*=========================================================================
  ドロップダウンメニュー　
  =========================================================================*/
    /* 基本設定
  ----------------------------------------------*/
    /* 第１階層 ナビゲーション設定
  ----------------------------------------------*/
    /* ナビゲーションのリンク設定 */
    /*　第二階層 以降 のナビゲーションの 共通 設定
  ----------------------------------------------*/
    /*下の階層を持っているulの指定*/
    /*hoverしたら表示*/
    /* ナビゲーションのリンク設定 */
    /* ▶︎ 矢印の設定 */
    /* 下の階層を持っているulの指定 */
    /* ナビゲーションaタグの形状 */
    /*　第三階層 のナビゲーションの 設定
  ----------------------------------------------*/
    /*3階層目の位置*/
    /* グローバルナビを表示 / 非表示
  ----------------------------------------------*/
    /*=========================================================================
  TB
  =========================================================================*/
    /*=========================================================================
  SP
  =========================================================================*/
    /*==SPのサイズ以下の形状*/
}
body .logo-mv-overlay {
    display: none;
    opacity: 0;
}
body .logo-scroll,
body .logo-default {
    display: block;
    opacity: 1;
}
body.home .logo-mv-overlay {
    display: block;
    opacity: 1;
}
body.home .logo-scroll,
body.home .logo-default {
    display: none;
    opacity: 0;
}
body .nav-toggle {
    display: none;
}
body .has-child .js-add-c-dd-expand {
    display: none;
}
body #l-header .btn-burger {
    top: 0;
    display: none;
    right: 10px;
    position: fixed;
    z-index: 99999;
}
body #l-header .nav-toggle:checked ~ .btn-burger .icon {
    background: transparent;
}
body #l-header .nav-toggle:checked ~ .btn-burger .icon:before {
    transform: rotate(-45deg);
    top: 1px;
}
body #l-header .nav-toggle:checked ~ .btn-burger .icon:after {
    transform: rotate(45deg);
    top: 0;
}
body #l-header .icon,
body #l-header .icon:before,
body #l-header .icon:after {
    transition: all 0.3s;
}
body .c-dd-nav__ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
body .c-dd-nav__ul ul ul {
    display: block;
}
body .c-dd-nav__ul__menu-item {
    position: relative;
}
body .c-dd-nav__ul__menu-item a {
    display: block;
    text-decoration: none;
}
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item {
    height: 100%;
}
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item span {
    font-size: 16px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-dd-nav__ul > .c-dd-nav__ul__menu-item span {
        font-size: calc(16 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-dd-nav__ul > .c-dd-nav__ul__menu-item span {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
body
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item.current-menu-item
    > a:not(.js-add-c-dd-expand):after {
    transform: scale(1, 1); /*X方向にスケール拡大*/
}
body
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item:hover
    > a:not(.js-add-c-dd-expand):after {
    transform: scale(1, 1); /*X方向にスケール拡大*/
}
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item > a:not(.js-add-c-dd-expand) {
    height: 100%;
    padding-left: 1.4em;
    padding-right: 1.4em;
    display: flex;
}
body
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item
    > a:not(.js-add-c-dd-expand):after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0%;
    width: 100%;
    height: 2px;
    background-color: #009f7a;
    transition: all 0.3s;
    transform: scale(0, 1);
    transform-origin: center top;
}
body
    .multilingual
    .c-dd-nav
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item
    > a:not(.js-add-c-dd-expand):after {
    top: initial;
    bottom: 0;
}
body
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item:not(.header-btn-cta)
    > a:not(.js-add-c-dd-expand) {
    color: #000000;
}
body.js-header-layered-style
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item
    > a:not(.js-add-c-dd-expand),
body.js-toggle-open
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item
    > a:not(.js-add-c-dd-expand) {
    color: #000000;
}
body .c-dd-nav__ul__menu-item span {
    position: relative;
}
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item.has-child > a > span::before {
    content: "";
    position: absolute;
    right: -0.8em;
    top: 0.6em;
    width: 4px;
    height: 4px;
    border-top: 2px solid #444444;
    border-right: 2px solid #444444;
    transform: rotate(135deg);
    transition: all 0.3s ease-out;
}
body.js-header-layered-style
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item.has-child
    > a
    > span::before,
body.js-toggle-open
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item.has-child
    > a
    > span::before {
    border-top: 2px solid #000000;
    border-right: 2px solid #000000;
}
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta {
    padding-left: 1.4em;
    display: flex;
    justify-content: center;
    align-items: center;
}
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta a {
    height: auto;
}
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta a:after {
    content: none;
}
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta a:hover {
    /*ボタンの形状*/
    border-color: transparent;
    color: #fff;
    /*背景の色と形状*/
    background: linear-gradient(270deg, #fa6c9f 0%, #ffe140 50%, #ff357f 100%);
    background-size: 200% auto;
    background-position: right center;
    /*ボックスの影*/
    box-shadow: 0 5px 10px rgba(250, 108, 159, 0.4);
}
body .c-dd-nav__ul__menu-item.has-child .sub-menu {
    /*絶対配置で位置を指定*/
    position: absolute;
    z-index: 4;
    /*形状を指定*/
    /*はじめは非表示*/
    visibility: hidden;
    opacity: 0;
    /*アニメーション設定*/
    transition: all 0.3s ease-out;
}
body .c-dd-nav__ul__menu-item.has-child .sub-menu span {
    font-size: 14px;
    line-height: 1.25;
    display: block;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-dd-nav__ul__menu-item.has-child .sub-menu span {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-dd-nav__ul__menu-item.has-child .sub-menu span {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body .c-dd-nav__ul__menu-item.has-child:hover > .sub-menu,
body
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .c-dd-nav__ul__menu-item:hover
    > .sub-menu,
body .c-dd-nav__ul__menu-item.has-child:active > ul,
body
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .c-dd-nav__ul__menu-item:active
    > .sub-menu {
    visibility: visible;
    opacity: 1;
}
body
    .c-dd-nav__ul__menu-item
    .c-dd-nav__ul__menu-item
    a:not(.js-add-c-dd-expand) {
    height: 100%;
    padding: 0.75em 1.4em 0.75em 2em;
    transition: all 0.3s ease-out;
    text-align: left;
}
body ul ul .c-dd-nav__ul__menu-item.has-child::before {
    content: "";
    position: absolute;
    left: 6px;
    top: calc(50% - 4px / 2);
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    transition: all 0.3s ease-out;
}
body .c-dd-nav__ul__menu-item.has-child .sub-menu {
    /*絶対配置で位置を指定*/
    left: 0;
    top: 100px;
    /*形状を指定*/
    width: 360px;
}
body
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .c-dd-nav__ul__menu-item:last-child {
    border: none;
}
body .c-dd-nav__ul__menu-item.has-child .sub-menu .c-dd-nav__ul__menu-item a {
    color: #000000;
}
body.js-header-layered-style
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .c-dd-nav__ul__menu-item
    a,
body.js-toggle-open
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .c-dd-nav__ul__menu-item
    a {
    color: #000000;
}
body .c-dd-nav__ul__menu-item.has-child .sub-menu .sub-menu {
    top: 0;
    left: 182px;
}
body .c-dd-nav__ul__menu-item.has-child .ddmenu-return .sub-menu {
    left: -182px;
}
body .nav-toggle:checked ~ .gnavi {
    display: block;
    opacity: 1;
    z-index: 999;
}
body .gnavi__wrap {
    /*　第２階層 以降 のナビゲーションの 共通 設定
  ----------------------------------------------*/
    /* ナビゲーションのリンク設定 */
    /* 下の階層を持っているulの指定 */
    /*　第三階層 のナビゲーションの 設定
  ----------------------------------------------*/
    /* 第３階層の位置*/
    /*3階層目の位置*/
}
body .gnavi__wrap .c-dd-nav__ul__menu-item .c-dd-nav__ul__menu-item a {
    background-color: white;
}
body .gnavi__wrap .c-dd-nav__ul__menu-item .c-dd-nav__ul__menu-item a:hover {
    background-color: white;
}
body
    .gnavi__wrap
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .sub-menu
    .c-dd-nav__ul__menu-item
    a {
    background-color: white;
}
body
    .gnavi__wrap
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .sub-menu
    .c-dd-nav__ul__menu-item
    a:hover {
    background: white;
}
body .f-navi__wrap {
    /* 第１階層 ナビゲーション設定
  ----------------------------------------------*/
    /*　第２階層 以降 のナビゲーションの 共通 設定
  ----------------------------------------------*/
    /* ナビゲーションaタグの形状 */
    /*　第３階層 のナビゲーションの 設定
  ----------------------------------------------*/
    /*3階層目の位置*/
}
body
    .f-navi__wrap
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item:not(.header-btn-cta)
    > a:not(.js-add-c-dd-expand) {
    color: #000000;
    background-color: #000000;
}
body
    .f-navi__wrap
    .c-dd-nav__ul
    > .c-dd-nav__ul__menu-item:not(.header-btn-cta)
    > a:not(.js-add-c-dd-expand):hover {
    background-color: #111111;
    color: #009f7a;
}
body .f-navi__wrap .c-dd-nav__ul .c-dd-nav__ul__menu-item {
    border-bottom: none;
}
body .f-navi__wrap .c-dd-nav__ul__menu-item.has-child span::before {
    width: 4px;
    height: 4px;
    border-top: 2px solid #444444;
    border-right: 2px solid #444444;
}
body
    .f-navi__wrap
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .c-dd-nav__ul__menu-item
    a {
    background-color: #000000;
    color: #000000;
}
body
    .f-navi__wrap
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .c-dd-nav__ul__menu-item
    a:hover {
    background-color: #000000;
    color: #009f7a;
}
body
    .f-navi__wrap
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .sub-menu
    .c-dd-nav__ul__menu-item
    a {
    background-color: #000000;
}
body
    .f-navi__wrap
    .c-dd-nav__ul__menu-item.has-child
    .sub-menu
    .sub-menu
    .c-dd-nav__ul__menu-item
    a:hover {
    background-color: #000000;
    color: #009f7a;
}
@media only screen and (max-width: 1470px) {
    body {
        /*　第三階層 のナビゲーションの 設定
    ----------------------------------------------*/
    }
    body .c-dd-nav__ul > .c-dd-nav__ul__menu-item > a:not(.js-add-c-dd-expand) {
        padding-left: 1.6vw;
        padding-right: 1.6vw;
    }
}

/*=========================================================================
 SP
=========================================================================*/
@media only screen and (max-width: 767px) {
    /*=========================================================================
  必ずロゴを表示させる
  =========================================================================*/
    body.js-toggle-open #l-header .l-header__primary {
        position: fixed;
        padding-right: calc(calc(100 / 750 * 40 * 1vw) + 17.5vw);
    }
    /*=========================================================================
  スクロールチェーン
  =========================================================================*/
}
/*================================================
PCの時ハンバーガーメニューをクリックで全画面メニュー
ここでは、汎用的なモノのみ記載。
それ以外は、プロジェクト用のCSSを別途作成する
--------------------------------------------------
・https://coco-factory.jp/ugokuweb/move01/5-1-25/
================================================ */
/*$---------------------------------------------------------------------------
ハンバーガーメニューをクリックした時の背景処理設定
$---------------------------------------------------------------------------*/
.l-header__secondary,
main,
footer {
    transition: all 0.3s ease-out;
}

.bg-blur {
    -ms-filter: blur(6px) !important;
    filter: blur(6px) !important;
}

.bg-hidden {
    opacity: 0 !important;
}

body.js-toggle-open .l-header__secondary,
body.js-toggle-open #breadcrumb-sec,
body.js-toggle-open .content-wrap,
body.js-toggle-open footer {
    pointer-events: none !important;
    opacity: 0 !important;
}

body {
    /*=========================================================================
  スクロールチェーン対策：ハンバーガーメニューをクリックした時
  =========================================================================*/
    /*=========================================================================
  必ずロゴを表示させる
  ・スマホの時
  ・フルナビをクリックした時
  =========================================================================*/
    /*=========================================================================
  ハンバーガーメニューをクリックした時にロゴを表示させない時は、
  ヘッダーのプライマリーを透明度０　に設定
  =========================================================================*/
    /*=========================================================================
  フルメニューの設定
  =========================================================================*/
}
body.js-toggle-open {
    overflow-y: hidden !important;
}
@media only screen and (min-width: calc(767px + 1px)) {
    body.js-toggle-open .l-header__primary {
        opacity: 0;
    }
}
body #l-header {
    /*=========================================================================
  共通
  =========================================================================*/
    /* ハンバーガーアイコン
  ---------------------------------------------------------------------------*/
    /* 複製のグロナビのラッパー gnavi
  $---------------------------------------------------------------------------*/
    /* 複製のグロナビ
  $---------------------------------------------------------------------------*/
    /* PCだけ：フル画面 MENU
  $---------------------------------------------------------------------------*/
    /*=========================================================================
   PCのグロナビを表示しない場合
  =========================================================================*/
    /*
  c-doropdown-menu を読み込みレイアウト設定
  $---------------------------------------------------------------------------*/
}
body #l-header .nav-toggle {
    display: none !important;
}
body #l-header .btn-burger {
    position: fixed;
    display: flex;
    top: auto;
}
@media only screen and (max-width: 767px) {
    body #l-header .btn-burger {
        margin: 0;
    }
}
body #l-header #js-add-gnavi .gnavi {
    height: 100vh;
    width: 100%;
}
body #l-header #js-add-gnavi .gnavi:after {
    position: absolute;
    content: "";
    height: 100vh;
    width: 100%;
    background-color: white;
    opacity: 0.8;
}
body #l-header #js-add-gnavi {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    transition: all 0.3s ease-out;
}
body #l-header #js-add-gnavi.js-add-gnavi-hidden {
    opacity: 0;
    display: none;
}
body #l-header #js-add-gnavi.js-add-gnavi-display {
    opacity: 1;
    display: block;
}
@media (min-width: calc(767px + 1px)) {
    body #l-header #js-add-gnavi .gnavi__wrap.c-dd-nav {
        box-sizing: border-box;
        margin: 0 auto;
        padding-top: calc(100px - 17.5vw);
        padding-bottom: calc(100px - 1em);
        padding-left: calc(calc((100% - 85%) / 2) + 17.5vw + 2em);
        padding-right: calc(calc((100% - 85%) / 2) + 17.5vw + 2em);
        width: 100%;
        /*ナビの数が増えた場合縦スクロール*/
        position: fixed;
        z-index: 999;
        height: 100vh; /*表示する高さ*/
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    body #l-header #js-add-gnavi .gnavi__lists.c-dd-nav__ul {
        width: 100%;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item {
        border-top: 1px solid #000000;
        width: calc(100% / 3 - 1em);
        height: auto;
        padding-bottom: 1em;
        margin-right: 1em;
        box-sizing: border-box;
        align-items: flex-start !important;
        font-size: calc(100 / 1162 * 28 * 1vw);
        line-height: 1.25;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        a {
        padding-bottom: 0.5em !important;
        padding-top: 0.5em;
        padding-left: 0;
        padding-right: 0;
        height: auto;
        background-color: initial !important;
        border: none !important;
        color: #000000;
        transition: 0.3s ease;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        a:hover {
        color: #000000;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        .sub-menu {
        position: relative;
        visibility: visible;
        padding-left: 0.75em !important;
        opacity: 1;
        top: 0;
        left: 0;
        width: auto;
        background-color: initial !important;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        > a:after {
        content: none;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.current-menu-item
        > a {
        color: #000000;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.current-menu-item
        > a:after {
        content: none;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.has-child
        a
        span:before {
        content: none;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        .has-child:before {
        content: none;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__lists.c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item {
        font-size: 16px;
    }
}
body #l-header .c-lang-wrap,
body #l-header .gnavi__lists {
    padding-right: calc(17.5vw + 2em);
}
@media only screen and (max-width: 767px) {
    body #l-header #js-add-gnavi {
        /*
    ・JSで追加したタグ
    ・ハンバーガーメニューをクリックした時にbodyタグにつけたクラス
    ・スクロールチェーン対応用
    ----------------------------------------------*/
        /* ハンバーガーアイコン
    ----------------------------------------------*/
        /* 第一階層 ナビゲーション設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第二階層 以降 のナビゲーションの 共通 設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第三階層 のナビゲーションの 設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*=========================================================================
    ヘッダー
    =========================================================================*/
        /*=========================================================================
    フッター
    =========================================================================*/
    }
    body #l-header #js-add-gnavi .nav-toggle {
        display: none;
    }
    body #l-header #js-add-gnavi.js-toggle-open {
        overflow-y: hidden;
    }
    body #l-header #js-add-gnavi .btn-burger {
        display: flex;
    }
    body #l-header #js-add-gnavi .btn-burger {
        right: 0;
    }
    body #l-header #js-add-gnavi .gnavi {
        display: none;
        background-color: white;
        position: fixed;
        z-index: -1;
        opacity: 0;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        padding-top: 17.5vw;
        transition: all 0.3s ease-out;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul__menu-item.has-child
        > a:not(.js-add-c-dd-expand) {
        margin-right: 56px;
    }
    body #l-header #js-add-gnavi .has-child .js-add-c-dd-expand {
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 56px;
        height: auto !important;
        right: 0;
        top: 0;
        z-index: 2;
        padding: 1.5em 1em;
        color: #6bb5cb;
    }
    body #l-header #js-add-gnavi .has-child .js-add-c-dd-expand .lines-vertical,
    body
        #l-header
        #js-add-gnavi
        .has-child
        .js-add-c-dd-expand
        .lines-horizontal {
        position: absolute;
        display: block;
        transition: all 0.3s;
        background: #fff;
        left: 50%;
        top: 50%;
        width: 40%;
        height: 1px;
        transform: translate(-50%, -50%);
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
    body
        #l-header
        #js-add-gnavi
        .has-child
        .js-add-c-dd-expand
        .lines-horizontal {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    body
        #l-header
        #js-add-gnavi
        .has-child
        .js-add-c-dd-expand
        .lines-vertical {
        transform: translate(-50%, -50%) rotate(90deg);
    }
    body
        #l-header
        #js-add-gnavi
        .has-child.active
        > .js-add-c-dd-expand
        .lines-vertical {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    body #l-header #js-add-gnavi .gnavi__wrap {
        height: 100% !important;
    }
    body #l-header #js-add-gnavi .gnavi__lists-list {
        position: relative;
        box-sizing: border-box;
        height: 100vh !important;
        padding-top: 100px;
    }
    body #l-header #js-add-gnavi .gnavi__lists {
        box-sizing: border-box;
        display: block;
        /*ナビの数が増えた場合縦スクロール*/
        position: relative;
        z-index: 999;
        width: 100%;
        height: 100%; /*表示する高さ*/
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 100px;
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
    }
    body #l-header #js-add-gnavi .c-dd-nav__ul > .c-dd-nav__ul__menu-item {
        height: auto;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.current-menu-item
        > a:not(.js-add-c-dd-expand):after {
        content: none;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item:hover
        > a:after {
        content: none;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.current-menu-item
        > a,
    body #l-header #js-add-gnavi .c-dd-nav__ul > .c-dd-nav__ul__menu-item a {
        color: #000000;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        > a:not(.js-add-c-dd-expand) {
        padding: 1.5em 1em 1.5em 1em;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        > a:not(.js-add-c-dd-expand):after {
        content: none;
    }
    body #l-header #js-add-gnavi .c-dd-nav__ul__menu-item.has-child span {
        position: static;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul__menu-item.has-child
        span::before {
        content: none;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul__menu-item.has-child.active
        span::before {
        transform: rotate(-45deg);
        left: auto;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.header-btn-cta {
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
        padding-top: 60px;
        padding-bottom: 60px;
    }
}
@media only screen and (max-width: 767px) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.header-btn-cta {
        padding-top: calc(60 / calc(1162 - 1) * 100vw);
        padding-bottom: calc(60 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: 767px) and (max-width: calc(767 * 1px)) {
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.header-btn-cta {
        padding-top: calc(calc(100 / 750 * 60 * 1vw) / 0.75);
        padding-bottom: calc(calc(100 / 750 * 60 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: 767px) {
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.header-btn-cta
        a {
        margin-right: auto;
        margin-left: auto;
        width: 100%;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a:not(.js-add-c-dd-expand) {
        text-align: left;
        padding: 1.5em 1em 1.5em calc(1em * 2);
    }
    body
        #l-header
        #js-add-gnavi
        ul
        ul
        .c-dd-nav__ul__menu-item.has-child::before {
        content: none;
    }
    body
        #l-header
        #js-add-gnavi
        ul
        ul
        .c-dd-nav__ul__menu-item.has-child.active::before {
        transform: rotate(-45deg);
    }
    body #l-header #js-add-gnavi .c-dd-nav__ul__menu-item.has-child .sub-menu,
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .sub-menu {
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
        visibility: visible;
        opacity: 1;
        display: none;
        transition: none;
    }
    body
        #l-header
        #js-add-gnavi
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a:not(.js-add-c-dd-expand) {
        padding: 1.5em 1em 1.5em calc(1em * 3);
    }
    body #l-header #js-add-gnavi .gnavi__wrap {
        /* 第１階層 ナビゲーション設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第２階層 以降 のナビゲーションの 共通 設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /* 第３階層の位置
    */
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        a,
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        .sub-menu
        .c-dd-nav__ul__menu-item
        a,
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        .sub-menu
        .c-dd-nav__ul__menu-item
        .sub-menu
        .c-dd-nav__ul__menu-item
        a {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item:first-child {
        border-top: 1px solid rgba(0, 0, 0, 0.2);
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        a {
        background-color: white;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        a:hover {
        background-color: white;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a {
        background-color: white;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a:hover {
        background-color: white;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .sub-menu
        .c-dd-nav__ul__menu-item
        a {
        background-color: white;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .sub-menu
        .c-dd-nav__ul__menu-item
        a:hover {
        background-color: white;
    }
    body #l-header #js-add-gnavi .f-navi__wrap {
        /* 第１階層 ナビゲーション設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第２階層 以降 のナビゲーションの 共通 設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第３階層 以降 のナビゲーションの 共通 設定
    ----------------------------------------------*/
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        a,
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a,
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item {
        border-bottom: 1px solid #cccccc;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item:first-child
        a {
        border-top: 1px solid #cccccc;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        a {
        background-color: #000000;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        a:hover {
        background-color: #111111;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item:first-child {
        border-top: solid 1px #cccccc;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item {
        border-bottom: solid 1px #cccccc;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        a:not(.js-add-c-dd-expand)
        span {
        position: static;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        a:not(.js-add-c-dd-expand)
        span::before {
        height: 5px;
        width: 5px;
        border-top: 2px solid white;
        border-right: 2px solid white;
        right: calc(calc(40 / 750 * 750 / 750) * 100 * 1%);
        top: calc(1.5em + 0em);
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item {
        border-bottom: 1px solid #cccccc;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item:first-child {
        border-top: solid 1px #cccccc;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item:last-child {
        border: none;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item
        a {
        background-color: #111111;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item
        a:hover {
        background-color: #f7f7f7;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .sub-menu
        .c-dd-nav__ul__menu-item
        a {
        background-color: #f7f7f7;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .sub-menu
        .c-dd-nav__ul__menu-item
        a:hover {
        background-color: #f7f7f7;
    }
    body
        #l-header
        #js-add-gnavi
        .f-navi__wrap
        ul
        ul
        .c-dd-nav__ul__menu-item.has-child::before {
        width: 5px;
        height: 5px;
        right: calc(calc(40 / 750 * 750 / 750) * 100 * 1%);
        top: calc(1.5em + 0em);
        border-top: 2px solid white;
        border-right: 2px solid white;
    }
}
@media only screen and (max-width: 767px) {
    body #l-header {
        /*
    ここで設定したPCのフル画面 MENU をリセット
    （c-doropdown-menu を効かせる）
    $---------------------------------------------------------------------------*/
        /*
    c-doropdown-menu を読み込み終わったのに、デフォルトを表示の設定にする
    $---------------------------------------------------------------------------*/
    }
    body #l-header .gnavi__lists {
        padding-right: 0;
    }
    body #l-header #js-add-gnavi {
        opacity: 1;
    }
    body #l-header #js-add-gnavi .gnavi__wrap.c-dd-nav {
        position: relative;
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }
    body #l-header #js-add-gnavi .gnavi {
        display: block;
        opacity: 1;
        z-index: 999;
    }
    body #l-header #js-add-gnavi .gnavi__lists.c-dd-nav__ul {
        display: block;
        justify-content: normal;
        height: 100%;
        padding-top: 0;
        padding-bottom: 100px;
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
    }
}

.c-faq-accordion .c-faq-accordion__item {
    border: none;
    border-radius: 0;
    padding: 0;
    background-color: #2a5195;
}
.c-faq-accordion .c-faq-accordion__item:nth-child(n + 2) {
    margin-top: 1em;
}
.c-faq-accordion .c-faq-accordion__item .toggle {
    display: none;
}
.c-faq-accordion .c-faq-accordion__item .c-faq-accordion__item {
    position: relative;
}
.c-faq-accordion .c-faq-accordion__item .c-faq-accordion__item:last-child {
    margin-bottom: 0;
}
.c-faq-accordion .c-faq-accordion__item .title .type,
.c-faq-accordion .c-faq-accordion__item .title .txt,
.c-faq-accordion .c-faq-accordion__item .title .answer-txt,
.c-faq-accordion .c-faq-accordion__item .content .type,
.c-faq-accordion .c-faq-accordion__item .content .txt,
.c-faq-accordion .c-faq-accordion__item .content .answer-txt {
    display: flex;
    align-items: center;
}
.c-faq-accordion .c-faq-accordion__item .title,
.c-faq-accordion .c-faq-accordion__item .content {
    position: relative;
    display: flex;
    align-items: stretch;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.6s;
}
.c-faq-accordion .c-faq-accordion__item .title .txt {
    flex: 1;
    font-weight: bold;
    font-size: 22px;
    line-height: 1.25;
    background-color: initial;
    color: white;
    transition: all 0.6s;
    padding-left: 1em;
    padding-right: 0;
    padding-top: 0.75em;
    padding-bottom: 0.75em;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .title .txt {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
.c-faq-accordion .c-faq-accordion__item .content {
    background-color: white;
    border-radius: 0;
}
.c-faq-accordion .c-faq-accordion__item .type {
    justify-content: center;
    font-weight: bold;
    font-size: 28px;
    line-height: 1;
    font-family: "Fira Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", Meiryo, sans-serif;
    transition: all 0.6s;
    width: 1.5em;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .type {
        font-size: calc(28 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .type {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
.c-faq-accordion .c-faq-accordion__item .title .type {
    background-color: #1e4281;
    color: white;
}
.c-faq-accordion .c-faq-accordion__item .content .type {
    color: #e56b6b;
}
.c-faq-accordion .c-faq-accordion__item .content-wrap {
    overflow: hidden;
    max-height: 0;
    transition: all 0.6s;
}
.c-faq-accordion .c-faq-accordion__item .content {
    margin-top: 0em;
    margin-bottom: 0;
}
.c-faq-accordion .c-faq-accordion__item .content .answer-txt {
    flex: 1;
    line-height: 1.5;
    font-size: 16px;
    padding-left: 1em;
    padding-right: 0;
    padding-top: 0.75em;
    padding-bottom: 0.75em;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .content .answer-txt {
        font-size: calc(16 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .content .answer-txt {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
.c-faq-accordion .c-faq-accordion__item .title .btn {
    font-size: 22px;
    background-color: #2a5195;
    width: 2.4em;
    display: block;
    position: relative;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .title .btn {
        font-size: calc(22 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .title .btn {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
.c-faq-accordion .c-faq-accordion__item .title .btn:after,
.c-faq-accordion .c-faq-accordion__item .title .btn:before {
    content: "";
    position: absolute;
    right: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 2px;
    height: 1.25em;
    background-color: white;
    transition: all 0.6s;
    z-index: 2;
}
.c-faq-accordion .c-faq-accordion__item .title .btn:after {
    transform: rotate(90deg);
    top: calc(50% - 0.625em - 1px);
}
.c-faq-accordion .c-faq-accordion__item .title:hover .type,
.c-faq-accordion .c-faq-accordion__item .toggle:checked + .title .type {
    background-color: initial;
    color: white;
}
.c-faq-accordion .c-faq-accordion__item .title:hover .txt,
.c-faq-accordion .c-faq-accordion__item .toggle:checked + .title .txt {
    background-color: initial;
    color: white;
}
.c-faq-accordion .c-faq-accordion__item .title:hover .btn,
.c-faq-accordion .c-faq-accordion__item .toggle:checked + .title .btn {
    background-color: #2a5195;
}
.c-faq-accordion .c-faq-accordion__item .title:hover .btn:after,
.c-faq-accordion .c-faq-accordion__item .title:hover .btn:before,
.c-faq-accordion .c-faq-accordion__item .toggle:checked + .title .btn:after,
.c-faq-accordion .c-faq-accordion__item .toggle:checked + .title .btn:before {
    background-color: white;
}
.c-faq-accordion .c-faq-accordion__item .title:hover .type,
.c-faq-accordion .c-faq-accordion__item .title:hover .txt,
.c-faq-accordion .c-faq-accordion__item .title:hover .btn {
    cursor: pointer;
}
.c-faq-accordion .c-faq-accordion__item .title:hover .btn {
    background-color: #2a5195;
}
.c-faq-accordion .c-faq-accordion__item .toggle:checked + .title .btn:before {
    transform: rotate(90deg);
    top: calc(50% - 0.625em - 1px);
}
.c-faq-accordion
    .c-faq-accordion__item
    .toggle:checked
    + .title
    + .content-wrap {
    max-height: 1500px;
    transition: all 0.6s;
}

@media only screen and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item:nth-child(n + 2) {
        margin-top: 1em;
    }
    .c-faq-accordion .c-faq-accordion__item .title .txt {
        font-size: 22px;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .title .txt {
        font-size: calc(22 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .title .txt {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .type {
        font-size: 28px;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .type {
        font-size: calc(28 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .type {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .content .answer-txt {
        flex: 1;
        font-size: 16px;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .content .answer-txt {
        font-size: calc(16 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .content .answer-txt {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .title .btn {
        font-size: 22px;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .title .btn {
        font-size: calc(22 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    .c-faq-accordion .c-faq-accordion__item .title .btn {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
body.home #breadcrumb-sec {
    display: none;
}
body.js-header-layered-style #breadcrumb-sec {
    position: absolute;
    width: 100%;
    z-index: 610;
    background-color: rgba(0, 0, 0, 0);
    color: #000000;
}
body #breadcrumb-sec {
    background-color: white;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body #breadcrumb-sec {
        display: none;
    }
}
body #breadcrumb {
    padding-top: calc(40 * 1px);
    font-size: 14px;
    color: #cccccc;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body #breadcrumb {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body #breadcrumb {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body #breadcrumb a {
    text-decoration: none;
    color: #cccccc;
    transition: all 0.3s ease-out;
}
body #breadcrumb a:hover {
    color: #009f7a;
}
body.js-header-layered-style #breadcrumb {
    color: #000000;
}
body.js-header-layered-style #breadcrumb a {
    color: #000000;
}
body.js-header-layered-style #breadcrumb a:hover {
    color: #009f7a;
}

.c-scroll-scaledown-on-w-txt-ani-in {
    overflow: hidden;
}
.c-scroll-scaledown-on-w-txt-ani-in * {
    transform: scale(1.2);
    opacity: 0;
    animation: scaledownOnTxtWhite 1.5s ease-out 0s;
    animation-fill-mode: forwards;
}
@keyframes scaledownOnTxtWhite {
    0% {
        opacity: 0;
        transform: scale(1.3);
    }
    100% {
        opacity: 0.8;
        transform: scale(1);
    }
}

.js-c-scroll-scaledown-on-txt-none-ani-in {
    overflow: hidden;
}
.js-c-scroll-scaledown-on-txt-none-ani-in * {
    transform: scale(1.2);
    opacity: 0;
    animation: scaledownOnTxtNone 1.5s ease-out 0s;
    animation-fill-mode: forwards;
}
@keyframes scaledownOnTxtNone {
    0% {
        opacity: 0;
        transform: scale(1.2);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

body .c-tab-form-radio form {
    display: flex;
    justify-content: center;
    background-color: initial;
    margin-bottom: 60px;
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-tab-form-radio form {
        margin-bottom: calc(60 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-tab-form-radio form {
        margin-bottom: calc(calc(100 / 750 * 60 * 1vw) / 0.75);
    }
}
body .c-tab-form-radio form .c-tab-form-radio__item {
    box-sizing: border-box;
    padding-top: 2em;
    padding-bottom: 2em;
    padding-left: 1.5em;
    padding-right: 1.5em;
    display: flex;
    align-items: center;
    z-index: 20;
    position: relative;
}
body .c-tab-form-radio form .c-tab-form-radio__item:nth-child(n + 2):before {
    position: absolute;
    content: "";
    width: 1px;
    height: 60%;
    top: 20%;
    left: 0;
    background-color: #cccccc;
}
body .c-tab-form-radio form .c-tab-form-radio__item:hover {
    cursor: pointer;
}
body .c-tab-form-radio form .c-tab-form-radio__item:hover .label__check {
    border: 5px solid rgba(0, 0, 0, 0.2);
}
body .c-tab-form-radio form .c-tab-form-radio__item p {
    padding-left: 1em;
    text-decoration: none;
    font-size: 22px;
    font-family: "Fira Sans", sans-serif;
    color: #000000;
    font-weight: 600;
    line-height: 1.25;
    opacity: 0.5;
    transition: 0.3s ease;
    flex: 1;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-tab-form-radio form .c-tab-form-radio__item p {
        font-size: calc(22 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-tab-form-radio form .c-tab-form-radio__item p {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
body .c-tab-form-radio form .c-tab-form-radio__item p span {
    display: block;
    font-size: 12px;
    font-weight: normal;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-tab-form-radio form .c-tab-form-radio__item p span {
        font-size: calc(12 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-tab-form-radio form .c-tab-form-radio__item p span {
        font-size: calc(100 / 750 * calc(20 * 1) * 1vw);
    }
}
body .c-tab-form-radio form .c-tab-form-radio__item .label__checkbox {
    display: none;
}
body .c-tab-form-radio form .c-tab-form-radio__item .myradio {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.5em;
    height: 2.5em;
}
body .c-tab-form-radio form .c-tab-form-radio__item .label__check {
    box-sizing: border-box;
    border-radius: 50%;
    border: 3px solid rgba(0, 0, 0, 0.1);
    background: white;
    vertical-align: middle;
    width: 2.5em;
    height: 2.5em;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border 0.3s ease;
}
body .c-tab-form-radio form .c-tab-form-radio__item .label__check i.icon {
    opacity: 0.2;
    font-size: calc(2.5em / 2);
    font-weight: bold;
    color: white;
    transition: opacity 0.3s 0.1s ease;
    -webkit-text-stroke: 2px rgba(0, 0, 0, 0.5);
}
body
    .c-tab-form-radio
    form
    .c-tab-form-radio__item
    .label__checkbox:checked
    + .myradio
    .label__text
    .label__check {
    animation: check 0.5s cubic-bezier(0.895, 0.03, 0.685, 0.22) forwards;
}
body
    .c-tab-form-radio
    form
    .c-tab-form-radio__item
    .label__checkbox:checked
    + .myradio
    .label__text
    .label__check
    .icon {
    opacity: 1;
    transform: scale(0);
    color: white;
    -webkit-text-stroke: 0 rgba(0, 0, 0, 0);
    animation: icon 0.3s cubic-bezier(1, 0.008, 0.565, 1.65) 0.1s 1 forwards;
}
@keyframes icon {
    from {
        opacity: 0;
        transform: scale(0.3);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}
@keyframes check {
    0% {
        width: calc(2.5em * 0.75);
        height: calc(2.5em * 0.75);
        border-width: 5px;
    }
    10% {
        width: calc(2.5em * 0.75);
        height: calc(2.5em * 0.75);
        opacity: 0.1;
        background: rgba(0, 0, 0, 0.2);
        border-width: 15px;
    }
    12% {
        width: calc(2.5em * 0.75);
        height: calc(2.5em * 0.75);
        opacity: 0.4;
        background: rgba(0, 0, 0, 0.1);
        border-width: 0;
    }
    50% {
        width: 2.5em;
        height: 2.5em;
        background: #00d478;
        border: 0;
        opacity: 0.6;
    }
    100% {
        width: 2.5em;
        height: 2.5em;
        background: #00d478;
        border: 0;
        opacity: 1;
    }
}
body .c-tab-form-radio form .c-tab-form-radio__item.js-tabmenu_current p {
    opacity: 1 !important;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-tab-form-radio form .c-tab-form-radio__item {
        padding-left: 0;
        padding-right: 0;
        padding-right: 0.5em;
        padding-left: 0.5em;
        flex-direction: column;
        align-items: center;
    }
    body .c-tab-form-radio form .c-tab-form-radio__item:last-child {
        padding-right: 0;
    }
    body .c-tab-form-radio form .c-tab-form-radio__item:first-child {
        padding-left: 0;
    }
    body .c-tab-form-radio form .c-tab-form-radio__item p {
        padding-top: 1em;
        padding-left: 0;
        text-align: center;
    }
    body .c-tab-form-radio form .c-tab-form-radio__item p span {
        padding-top: 20px;
        text-align: left;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-tab-form-radio form .c-tab-form-radio__item p span {
        padding-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    body .c-tab-form-radio form .c-tab-form-radio__item p span {
        padding-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-tab-form-radio form .c-tab-form-radio__item .myradio {
        width: 2.5em;
        height: 2.5em;
    }
    body .c-tab-form-radio form .c-tab-form-radio__item .label__check {
        width: 2.5em;
        height: 2.5em;
    }
    body .c-tab-form-radio form .c-tab-form-radio__item i.icon {
        font-size: calc(2.5em / 2);
    }
    @keyframes check {
        0% {
            width: calc(2.5em * 0.75);
            height: calc(2.5em * 0.75);
            border-width: 5px;
        }
        10% {
            width: calc(2.5em * 0.75);
            height: calc(2.5em * 0.75);
            opacity: 0.1;
            background: rgba(0, 0, 0, 0.2);
            border-width: 15px;
        }
        12% {
            width: calc(2.5em * 0.75);
            height: calc(2.5em * 0.75);
            opacity: 0.4;
            background: rgba(0, 0, 0, 0.1);
            border-width: 0;
        }
        50% {
            width: 2.5em;
            height: 2.5em;
            background: #00d478;
            border: 0;
            opacity: 0.6;
        }
        100% {
            width: 2.5em;
            height: 2.5em;
            background: #00d478;
            border: 0;
            opacity: 1;
        }
    }
}
body
    .c-tab-form-radio__item
    .label__checkbox:checked
    + .myradio
    .label__text
    .label__check {
    display: none;
}
body.start
    .c-tab-form-radio__item
    .label__checkbox:checked
    + .myradio
    .label__text
    .label__check {
    display: flex;
}
body .tab-content-item {
    top: 3em;
    transition: 0.3s ease;
    position: absolute;
    opacity: 0;
}
body .tab-content-item.js-tab-content-item_current {
    z-index: 50;
    position: relative;
    display: block;
    animation: fade calc(0.3s * 3) ease;
    animation-fill-mode: forwards;
}
@keyframes fade {
    from {
        opacity: 0;
        top: 3em;
    }
    to {
        opacity: 1;
        top: 0;
    }
}
body .tab-content-item.js-tab-content-item_current:not(.js-tabmenu_current) {
    z-index: 30;
}

/*
<!-- tabmenu -->
<div class="c-tab-form-radio">
    <form name="tabs_radio" id="price-tab-form">
        <!-- tab-01 -->
        <label id="tab01" class="c-tab-form-radio__item js-tabmenu_current">
            <input type="radio" name="tab_radio" value="html" class="label__checkbox" checked>
            <div class="myradio">
                <span class="label__text">
                    <span class="label__check">
                        <i class="fa-solid fa-check icon"></i>
                    </span>
                </span>
            </div>
            <p>
                タブ１の見出し
                <span>キャプチョンがある場合</span>
            </p>
        </label>
        <!-- // tab-01 -->
        <!-- tab-02 -->
        <label id="tab02" class="c-tab-form-radio__item">
            <input type="radio" name="tab_radio" value="wordpress" class="label__checkbox">
            <div class="myradio">
                <span class="label__text">
                    <span class="label__check">
                        <i class="fa-solid fa-check icon"></i>
                    </span>
                </span>
            </div>
            <p>
                タブ２の見出し
                <span>キャプチョンがある場合</span>
            </p>
        </label>
        <!-- // tab-02 -->
    </form>
</div>
<!-- // tabmenu -->

<!-- tab-content-item -->
<div>
    <!-- tab content 01 -->
    <div class="tab-content-item js-tab-content-item_current" id="tabContent01">
        ここに表示させるHTMLを記載
    </div>
    <!-- // tab content 01  -->

    <!-- tab content 02  -->
    <div class="tab-content-item" id="tabContent02">
        ここに表示させるHTMLを記載
    </div>
    <!-- //tab content 02  -->
</div>
<!-- // tab-content-item -->
 */
body .c-check-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
body .c-check-list .c-check-list__item {
    position: relative;
    font-size: 14px;
    text-align: left;
    padding-left: 1.5em;
    margin-bottom: 0.5em;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .c-check-list .c-check-list__item {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .c-check-list .c-check-list__item {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body .c-check-list .c-check-list__item:last-child {
    margin-bottom: 0;
}
body .c-check-list .c-check-list__item:before {
    position: absolute;
    display: block;
    width: 1em;
    height: 1em;
    font-family: "Font Awesome 6 Free";
    line-height: 1.5;
    content: "\f058";
    color: #00d478;
    left: 0;
    top: 0;
}

/* 共通 レイアウト
---------------------------------------------------------------------- */
/*================================================================================================
ヘッダー、フッター、mainの共通のレイアウト
----------------------------------------------------------------------------------------------------
レイアウトのみ。サイズを記載する場合は変数で外で管理
背景やその他の装飾は_top.scss等に記載

----------------------------------------------------------------------------------------------------

https://docs.google.com/spreadsheets/d/127p0y5ZlkV_Va9QfGRuUhtxvP2u3fRIjBg5oHQZDMjY/edit#gid=0

================================================================================================ */
/*----------------------------
共通 レイアウト
----------------------------*/
body {
    /*=========================================================================
  共通：PC
  ・ヘッダー
  ・PAGE
  =========================================================================*/
    /*------------------------------------------------------------------
  横 幅
  ------------------------------------------------------------------*/
    /* 固定
  ----------------------------------------------*/
    /* 左、右、100%
  ----------------------------------------------*/
    /* 左：固定　右：100%
  ----------------------------------------------*/
    /* 左：100%　　右：固定
  ----------------------------------------------*/
    /* 可変
  ----------------------------------------------*/
    /*------------------------------------------------------------------
  縦 の余白
  ------------------------------------------------------------------*/
    /*=========================================================================
  ヘッダー
  =========================================================================*/
    /* SP の形になるブレイクポイント
  ----------------------------------------------*/
    /*=========================================================================
  PAGE
  =========================================================================*/
    /* TB の形になるブレイクポイント
  ----------------------------------------------*/
    /* SP の形になるブレイクポイント
  ----------------------------------------------*/
}
body .l-inner,
body .l-inner--t-nspace,
body .l-inner--b-nspace,
body .l-inner--tb-nspace {
    /*
  @if $G_HEADER_CONTENTS_WIDTH_PER_BOOLEAN==false{
  	//width: calc(1162 * 1px);
  	margin: 0 auto;
  	width: calc(1162 * 1px);
  	height: 100%;
  }@else{
  	width: $G_HEADER_WIDTH_PER_NUM;
  	margin: 0 $G_HEADER_WIDTH_PER_LR_PER_NUM;
  	height: 100%;
  }
  */
    margin: 0 auto;
    width: calc(1162 * 1px);
    height: 100%;
}
body .l-inner--lr-stretch,
body .l-inner--lr-stretch--t-nspace,
body .l-inner--lr-stretch--b-nspace,
body .l-inner--lr-stretch--tb-nspace {
    width: 100%;
    height: 100%;
}
body .l-inner--l-fix-r-stretch,
body .l-inner--l-fix-r-stretch--t-nspace,
body .l-inner--l-fix-r-stretch--b-nspace,
body .l-inner--l-fix-r-stretch--tb-nspace {
    margin-left: calc((100% - 1162 * 1px) / 2);
    width: calc(1162 * 1px + calc((100% - 1162 * 1px) / 2));
    height: 100%;
}
body .l-inner--l-fix-r-stretch .l-inner--l-fix-r-stretch__inner-r-side-space,
body
    .l-inner--l-fix-r-stretch--t-nspace
    .l-inner--l-fix-r-stretch__inner-r-side-space,
body
    .l-inner--l-fix-r-stretch--b-nspace
    .l-inner--l-fix-r-stretch__inner-r-side-space,
body
    .l-inner--l-fix-r-stretch--tb-nspace
    .l-inner--l-fix-r-stretch__inner-r-side-space {
    margin-right: calc((100vw - 1162 * 1px) / 2);
    width: calc(100% - calc((100vw - 1162 * 1px) / 2));
}
body .l-inner--l-fix-bs-per-r-stretch,
body .l-inner--l-fix-bs-per-r-stretch--t-nspace,
body .l-inner--l-fix-bs-per-r-stretch--b-nspace,
body .l-inner--l-fix-bs-per-r-stretch--tb-nspace {
    margin-left: calc((100% - 85%) / 2);
    width: calc(85% + calc((100% - 85%) / 2));
    height: 100%;
}
body .l-inner--l-fix-shrt1-per-r-stretch,
body .l-inner--l-fix-shrt1-per-r-stretch--t-nspace,
body .l-inner--l-fix-shrt1-per-r-stretch--b-nspace,
body .l-inner--l-fix-shrt1-per-r-stretch--tb-nspace {
    margin-left: calc((100% - 80%) / 2);
    width: calc(80% + calc((100% - 80%) / 2));
    height: 100%;
}
body .l-inner--l-fix-shrt2-per-r-stretch,
body .l-inner--l-fix-shrt2-per-r-stretch--t-nspace,
body .l-inner--l-fix-shrt2-per-r-stretch--b-nspace,
body .l-inner--l-fix-shrt2-per-r-stretch--tb-nspace {
    margin-left: calc((100% - 75%) / 2);
    width: calc(75% + calc((100% - 75%) / 2));
    height: 100%;
}
body .l-inner--l-fix-lng1-per-r-stretch,
body .l-inner--l-fix-lng1-per-r-stretch--t-nspace,
body .l-inner--l-fix-lng1-per-r-stretch--b-nspace,
body .l-inner--l-fix-lng1-per-r-stretch--tb-nspace {
    margin-left: calc((100% - 87.5%) / 2);
    width: calc(87.5% + calc((100% - 87.5%) / 2));
    height: 100%;
}
body .l-inner--l-fix-lng2-per-r-stretch,
body .l-inner--l-fix-lng2-per-r-stretch--t-nspace,
body .l-inner--l-fix-lng2-per-r-stretch--b-nspace,
body .l-inner--l-fix-lng2-per-r-stretch--tb-nspace {
    margin-left: calc((100% - 95%) / 2);
    width: calc(95% + calc((100% - 95%) / 2));
    height: 100%;
}
body .l-inner--r-fix-l-stretch,
body .l-inner--r-fix-l-stretch--t-nspace,
body .l-inner--r-fix-l-stretch--b-nspace,
body .l-inner--r-fix-l-stretch--tb-nspace {
    margin-right: calc((100% - 1162 * 1px) / 2);
    width: calc(1162 * 1px + calc((100% - 1162 * 1px) / 2));
    height: 100%;
}
body .l-inner--r-fix-l-stretch .l-inner--r-fix-l-stretch__inner-l-side-space,
body
    .l-inner--r-fix-l-stretch--t-nspace
    .l-inner--r-fix-l-stretch__inner-l-side-space,
body
    .l-inner--r-fix-l-stretch--b-nspace
    .l-inner--r-fix-l-stretch__inner-l-side-space,
body
    .l-inner--r-fix-l-stretch--tb-nspace
    .l-inner--r-fix-l-stretch__inner-l-side-space {
    margin-left: calc((100vw - 1162 * 1px) / 2);
    width: calc(100% - calc((100vw - 1162 * 1px) / 2));
}
body .l-inner--r-fix-bs-per-l-stretch,
body .l-inner--r-fix-bs-per-l-stretch--t-nspace,
body .l-inner--r-fix-bs-per-l-stretch--b-nspace,
body .l-inner--r-fix-bs-per-l-stretch--tb-nspace {
    margin-right: calc((100% - 85%) / 2);
    width: calc(85% + calc((100% - 85%) / 2));
    height: 100%;
}
body .l-inner--r-fix-shrt1-per-l-stretch,
body .l-inner--r-fix-shrt1-per-l-stretch--t-nspace,
body .l-inner--r-fix-shrt1-per-l-stretch--b-nspace,
body .l-inner--r-fix-shrt1-per-l-stretch--tb-nspace {
    margin-right: calc((100% - 80%) / 2);
    width: calc(80% + calc((100% - 80%) / 2));
    height: 100%;
}
body .l-inner--r-fix-shrt2-per-l-stretch,
body .l-inner--r-fix-shrt2-per-l-stretch--t-nspace,
body .l-inner--r-fix-shrt2-per-l-stretch--b-nspace,
body .l-inner--r-fix-shrt2-per-l-stretch--tb-nspace {
    margin-right: calc((100% - 75%) / 2);
    width: calc(75% + calc((100% - 75%) / 2));
    height: 100%;
}
body .l-inner--r-fix-lng1-per-l-stretch,
body .l-inner--r-fix-lng1-per-l-stretch--t-nspace,
body .l-inner--r-fix-lng1-per-l-stretch--b-nspace,
body .l-inner--r-fix-lng1-per-l-stretch--tb-nspace {
    margin-right: calc((100% - 87.5%) / 2);
    width: calc(87.5% + calc((100% - 87.5%) / 2));
    height: 100%;
}
body .l-inner--r-fix-lng2-per-l-stretch,
body .l-inner--r-fix-lng2-per-l-stretch--t-nspace,
body .l-inner--r-fix-lng2-per-l-stretch--b-nspace,
body .l-inner--r-fix-lng2-per-l-stretch--tb-nspace {
    margin-right: calc((100% - 95%) / 2);
    width: calc(95% + calc((100% - 95%) / 2));
    height: 100%;
}
body .l-inner--lr-bs-per,
body .l-inner--lr-bs-per--t-nspace,
body .l-inner--lr-bs-per--b-nspace,
body .l-inner--lr-bs-per--tb-nspace {
    width: 85%;
    margin: 0 calc((100% - 85%) / 2);
    height: 100%;
}
body .l-inner--lr-shrt1-per,
body .l-inner--lr-shrt1-per--t-nspace,
body .l-inner--lr-shrt1-per--b-nspace,
body .l-inner--lr-shrt1-per--tb-nspace {
    width: 80%;
    margin: 0 calc((100% - 80%) / 2);
    height: 100%;
}
body .l-inner--lr-shrt2-per,
body .l-inner--lr-shrt2-per--t-nspace,
body .l-inner--lr-shrt2-per--b-nspace,
body .l-inner--lr-shrt2-per--tb-nspace {
    width: 75%;
    margin: 0 calc((100% - 75%) / 2);
    height: 100%;
}
body .l-inner--lr-lng1-per,
body .l-inner--lr-lng1-per--t-nspace,
body .l-inner--lr-lng1-per--b-nspace,
body .l-inner--lr-lng1-per--tb-nspace {
    width: 87.5%;
    margin: 0 calc((100% - 87.5%) / 2);
    height: 100%;
}
body .l-inner--lr-lng2-per,
body .l-inner--lr-lng2-per--t-nspace,
body .l-inner--lr-lng2-per--b-nspace,
body .l-inner--lr-lng2-per--tb-nspace {
    width: 95%;
    margin: 0 calc((100% - 95%) / 2);
    height: 100%;
}
body .l-inner,
body .l-inner--lr-stretch,
body .l-inner--l-fix-r-stretch,
body .l-inner--r-fix-l-stretch,
body .l-inner--l-fix-bs-per-r-stretch,
body .l-inner--r-fix-bs-per-l-stretch,
body .l-inner--l-fix-shrt1-per-r-stretch,
body .l-inner--r-fix-shrt1-per-l-stretch,
body .l-inner--l-fix-shrt2-per-r-stretch,
body .l-inner--r-fix-shrt2-per-l-stretch,
body .l-inner--l-fix-lng1-per-r-stretch,
body .l-inner--r-fix-lng1-per-l-stretch,
body .l-inner--l-fix-lng2-per-r-stretch,
body .l-inner--r-fix-lng2-per-l-stretch,
body .l-inner--lr-bs-per,
body .l-inner--lr-shrt1-per,
body .l-inner--lr-shrt2-per,
body .l-inner--lr-lng1-per,
body .l-inner--lr-lng2-per {
    padding-top: 80px;
    padding-bottom: 80px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .l-inner,
    body .l-inner--lr-stretch,
    body .l-inner--l-fix-r-stretch,
    body .l-inner--r-fix-l-stretch,
    body .l-inner--l-fix-bs-per-r-stretch,
    body .l-inner--r-fix-bs-per-l-stretch,
    body .l-inner--l-fix-shrt1-per-r-stretch,
    body .l-inner--r-fix-shrt1-per-l-stretch,
    body .l-inner--l-fix-shrt2-per-r-stretch,
    body .l-inner--r-fix-shrt2-per-l-stretch,
    body .l-inner--l-fix-lng1-per-r-stretch,
    body .l-inner--r-fix-lng1-per-l-stretch,
    body .l-inner--l-fix-lng2-per-r-stretch,
    body .l-inner--r-fix-lng2-per-l-stretch,
    body .l-inner--lr-bs-per,
    body .l-inner--lr-shrt1-per,
    body .l-inner--lr-shrt2-per,
    body .l-inner--lr-lng1-per,
    body .l-inner--lr-lng2-per {
        padding-top: calc(80 / calc(1162 - 1) * 100vw);
        padding-bottom: calc(80 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .l-inner,
    body .l-inner--lr-stretch,
    body .l-inner--l-fix-r-stretch,
    body .l-inner--r-fix-l-stretch,
    body .l-inner--l-fix-bs-per-r-stretch,
    body .l-inner--r-fix-bs-per-l-stretch,
    body .l-inner--l-fix-shrt1-per-r-stretch,
    body .l-inner--r-fix-shrt1-per-l-stretch,
    body .l-inner--l-fix-shrt2-per-r-stretch,
    body .l-inner--r-fix-shrt2-per-l-stretch,
    body .l-inner--l-fix-lng1-per-r-stretch,
    body .l-inner--r-fix-lng1-per-l-stretch,
    body .l-inner--l-fix-lng2-per-r-stretch,
    body .l-inner--r-fix-lng2-per-l-stretch,
    body .l-inner--lr-bs-per,
    body .l-inner--lr-shrt1-per,
    body .l-inner--lr-shrt2-per,
    body .l-inner--lr-lng1-per,
    body .l-inner--lr-lng2-per {
        padding-top: calc(calc(100 / 750 * 80 * 1vw) / 0.75);
        padding-bottom: calc(calc(100 / 750 * 80 * 1vw) / 0.75);
    }
}
body .l-inner--t-nspace,
body .l-inner--l-fix-r-stretch--t-nspace,
body .l-inner--r-fix-l-stretch--t-nspace,
body .l-inner--l-fix-bs-per-r-stretch--t-nspace,
body .l-inner--r-fix-bs-per-l-stretch--t-nspace,
body .l-inner--l-fix-shrt1-per-r-stretch--t-nspace,
body .l-inner--r-fix-shrt1-per-l-stretch--t-nspace,
body .l-inner--l-fix-shrt2-per-r-stretch--t-nspace,
body .l-inner--r-fix-shrt2-per-l-stretch--t-nspace,
body .l-inner--l-fix-lng1-per-r-stretch--t-nspace,
body .l-inner--r-fix-lng1-per-l-stretch--t-nspace,
body .l-inner--l-fix-lng2-per-r-stretch--t-nspace,
body .l-inner--r-fix-lng2-per-l-stretch--t-nspace,
body .l-inner--lr-stretch--t-nspace,
body .l-inner--lr-bs-per--t-nspace,
body .l-inner--lr-shrt1-per--t-nspace,
body .l-inner--lr-shrt2-per--t-nspace,
body .l-inner--lr-lng1-per--t-nspace,
body .l-inner--lr-lng2-per--t-nspace {
    padding-bottom: 80px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .l-inner--t-nspace,
    body .l-inner--l-fix-r-stretch--t-nspace,
    body .l-inner--r-fix-l-stretch--t-nspace,
    body .l-inner--l-fix-bs-per-r-stretch--t-nspace,
    body .l-inner--r-fix-bs-per-l-stretch--t-nspace,
    body .l-inner--l-fix-shrt1-per-r-stretch--t-nspace,
    body .l-inner--r-fix-shrt1-per-l-stretch--t-nspace,
    body .l-inner--l-fix-shrt2-per-r-stretch--t-nspace,
    body .l-inner--r-fix-shrt2-per-l-stretch--t-nspace,
    body .l-inner--l-fix-lng1-per-r-stretch--t-nspace,
    body .l-inner--r-fix-lng1-per-l-stretch--t-nspace,
    body .l-inner--l-fix-lng2-per-r-stretch--t-nspace,
    body .l-inner--r-fix-lng2-per-l-stretch--t-nspace,
    body .l-inner--lr-stretch--t-nspace,
    body .l-inner--lr-bs-per--t-nspace,
    body .l-inner--lr-shrt1-per--t-nspace,
    body .l-inner--lr-shrt2-per--t-nspace,
    body .l-inner--lr-lng1-per--t-nspace,
    body .l-inner--lr-lng2-per--t-nspace {
        padding-bottom: calc(80 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .l-inner--t-nspace,
    body .l-inner--l-fix-r-stretch--t-nspace,
    body .l-inner--r-fix-l-stretch--t-nspace,
    body .l-inner--l-fix-bs-per-r-stretch--t-nspace,
    body .l-inner--r-fix-bs-per-l-stretch--t-nspace,
    body .l-inner--l-fix-shrt1-per-r-stretch--t-nspace,
    body .l-inner--r-fix-shrt1-per-l-stretch--t-nspace,
    body .l-inner--l-fix-shrt2-per-r-stretch--t-nspace,
    body .l-inner--r-fix-shrt2-per-l-stretch--t-nspace,
    body .l-inner--l-fix-lng1-per-r-stretch--t-nspace,
    body .l-inner--r-fix-lng1-per-l-stretch--t-nspace,
    body .l-inner--l-fix-lng2-per-r-stretch--t-nspace,
    body .l-inner--r-fix-lng2-per-l-stretch--t-nspace,
    body .l-inner--lr-stretch--t-nspace,
    body .l-inner--lr-bs-per--t-nspace,
    body .l-inner--lr-shrt1-per--t-nspace,
    body .l-inner--lr-shrt2-per--t-nspace,
    body .l-inner--lr-lng1-per--t-nspace,
    body .l-inner--lr-lng2-per--t-nspace {
        padding-bottom: calc(calc(100 / 750 * 80 * 1vw) / 0.75);
    }
}
body .l-inner--b-nspace,
body .l-inner--l-fix-r-stretch--b-nspace,
body .l-inner--r-fix-l-stretch--b-nspace,
body .l-inner--l-fix-bs-per-r-stretch--b-nspace,
body .l-inner--r-fix-bs-per-l-stretch--b-nspace,
body .l-inner--l-fix-shrt1-per-r-stretch--b-nspace,
body .l-inner--r-fix-shrt1-per-l-stretch--b-nspace,
body .l-inner--l-fix-shrt2-per-r-stretch--b-nspace,
body .l-inner--r-fix-shrt2-per-l-stretch--b-nspace,
body .l-inner--l-fix-lng1-per-r-stretch--b-nspace,
body .l-inner--r-fix-lng1-per-l-stretch--b-nspace,
body .l-inner--l-fix-lng2-per-r-stretch--b-nspace,
body .l-inner--r-fix-lng2-per-l-stretch--b-nspace,
body .l-inner--lr-stretch--b-nspace,
body .l-inner--lr-bs-per--b-nspace,
body .l-inner--lr-shrt1-per--b-nspace,
body .l-inner--lr-shrt2-per--b-nspace,
body .l-inner--lr-lng1-per--b-nspace,
body .l-inner--lr-lng2-per--b-nspace {
    padding-top: 80px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .l-inner--b-nspace,
    body .l-inner--l-fix-r-stretch--b-nspace,
    body .l-inner--r-fix-l-stretch--b-nspace,
    body .l-inner--l-fix-bs-per-r-stretch--b-nspace,
    body .l-inner--r-fix-bs-per-l-stretch--b-nspace,
    body .l-inner--l-fix-shrt1-per-r-stretch--b-nspace,
    body .l-inner--r-fix-shrt1-per-l-stretch--b-nspace,
    body .l-inner--l-fix-shrt2-per-r-stretch--b-nspace,
    body .l-inner--r-fix-shrt2-per-l-stretch--b-nspace,
    body .l-inner--l-fix-lng1-per-r-stretch--b-nspace,
    body .l-inner--r-fix-lng1-per-l-stretch--b-nspace,
    body .l-inner--l-fix-lng2-per-r-stretch--b-nspace,
    body .l-inner--r-fix-lng2-per-l-stretch--b-nspace,
    body .l-inner--lr-stretch--b-nspace,
    body .l-inner--lr-bs-per--b-nspace,
    body .l-inner--lr-shrt1-per--b-nspace,
    body .l-inner--lr-shrt2-per--b-nspace,
    body .l-inner--lr-lng1-per--b-nspace,
    body .l-inner--lr-lng2-per--b-nspace {
        padding-top: calc(80 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .l-inner--b-nspace,
    body .l-inner--l-fix-r-stretch--b-nspace,
    body .l-inner--r-fix-l-stretch--b-nspace,
    body .l-inner--l-fix-bs-per-r-stretch--b-nspace,
    body .l-inner--r-fix-bs-per-l-stretch--b-nspace,
    body .l-inner--l-fix-shrt1-per-r-stretch--b-nspace,
    body .l-inner--r-fix-shrt1-per-l-stretch--b-nspace,
    body .l-inner--l-fix-shrt2-per-r-stretch--b-nspace,
    body .l-inner--r-fix-shrt2-per-l-stretch--b-nspace,
    body .l-inner--l-fix-lng1-per-r-stretch--b-nspace,
    body .l-inner--r-fix-lng1-per-l-stretch--b-nspace,
    body .l-inner--l-fix-lng2-per-r-stretch--b-nspace,
    body .l-inner--r-fix-lng2-per-l-stretch--b-nspace,
    body .l-inner--lr-stretch--b-nspace,
    body .l-inner--lr-bs-per--b-nspace,
    body .l-inner--lr-shrt1-per--b-nspace,
    body .l-inner--lr-shrt2-per--b-nspace,
    body .l-inner--lr-lng1-per--b-nspace,
    body .l-inner--lr-lng2-per--b-nspace {
        padding-top: calc(calc(100 / 750 * 80 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: 767px) {
    body .l-header-bp {
        margin: 0;
        width: 100%;
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body .l-inner,
    body .l-inner--t-nspace,
    body .l-inner--b-nspace,
    body .l-inner--tb-nspace {
        width: 100%;
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
    }
    body .l-inner--l-fix-r-stretch,
    body .l-inner--l-fix-r-stretch--t-nspace,
    body .l-inner--l-fix-r-stretch--b-nspace,
    body .l-inner--l-fix-r-stretch--tb-nspace {
        width: 100%;
        padding-left: calc(100 / 750 * 40 * 1vw);
        margin-left: 0;
    }
    body
        .l-inner--l-fix-r-stretch
        .l-inner--l-fix-r-stretch__inner-r-side-space,
    body
        .l-inner--l-fix-r-stretch--t-nspace
        .l-inner--l-fix-r-stretch__inner-r-side-space,
    body
        .l-inner--l-fix-r-stretch--b-nspace
        .l-inner--l-fix-r-stretch__inner-r-side-space,
    body
        .l-inner--l-fix-r-stretch--tb-nspace
        .l-inner--l-fix-r-stretch__inner-r-side-space {
        margin-right: calc(100 / 750 * 40 * 1vw);
        width: calc(100% - calc(100 / 750 * 40 * 1vw));
    }
    body .l-inner--r-fix-l-stretch,
    body .l-inner--r-fix-l-stretch--t-nspace,
    body .l-inner--r-fix-l-stretch--b-nspace,
    body .l-inner--r-fix-l-stretch--tb-nspace {
        width: 100%;
        padding-right: calc(100 / 750 * 40 * 1vw);
        margin-right: 0;
    }
    body
        .l-inner--r-fix-l-stretch
        .l-inner--r-fix-l-stretch__inner-l-side-space,
    body
        .l-inner--r-fix-l-stretch--t-nspace
        .l-inner--r-fix-l-stretch__inner-l-side-space,
    body
        .l-inner--r-fix-l-stretch--b-nspace
        .l-inner--r-fix-l-stretch__inner-l-side-space,
    body
        .l-inner--r-fix-l-stretch--tb-nspace
        .l-inner--r-fix-l-stretch__inner-l-side-space {
        margin-left: calc(100 / 750 * 40 * 1vw);
        width: calc(100% - calc(100 / 750 * 40 * 1vw));
    }
    body .l-inner--lr-bs-per,
    body .l-inner--lr-bs-per--t-nspace,
    body .l-inner--lr-bs-per--b-nspace,
    body .l-inner--lr-bs-per--tb-nspace {
        width: 85%;
        margin: 0 calc((100% - 85%) / 2);
        height: 100%;
    }
    body .l-inner--lr-shrt1-per,
    body .l-inner--lr-shrt1-per--t-nspace,
    body .l-inner--lr-shrt1-per--b-nspace,
    body .l-inner--lr-shrt1-per--tb-nspace {
        width: 80%;
        margin: 0 calc((100% - 80%) / 2);
        height: 100%;
    }
    body .l-inner--lr-shrt2-per,
    body .l-inner--lr-shrt2-per--t-nspace,
    body .l-inner--lr-shrt2-per--b-nspace,
    body .l-inner--lr-shrt2-per--tb-nspace {
        width: 75%;
        margin: 0 calc((100% - 75%) / 2);
        height: 100%;
    }
    body .l-inner--lr-lng1-per,
    body .l-inner--lr-lng1-per--t-nspace,
    body .l-inner--lr-lng1-per--b-nspace,
    body .l-inner--lr-lng1-per--tb-nspace {
        width: 87.5%;
        margin: 0 calc((100% - 87.5%) / 2);
        height: 100%;
    }
    body .l-inner--lr-lng2-per,
    body .l-inner--lr-lng2-per--t-nspace,
    body .l-inner--lr-lng2-per--b-nspace,
    body .l-inner--lr-lng2-per--tb-nspace {
        width: 95%;
        margin: 0 calc((100% - 95%) / 2);
        height: 100%;
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .l-inner,
    body .l-inner--t-nspace,
    body .l-inner--b-nspace,
    body .l-inner--tb-nspace,
    body .l-inner--lr-stretch,
    body .l-inner--lr-stretch--t-nspace,
    body .l-inner--lr-stretch--b-nspace,
    body .l-inner--lr-stretch--tb-nspace,
    body .l-inner--l-fix-r-stretch,
    body .l-inner--r-fix-l-stretch,
    body .l-inner--lr-bs-per,
    body .l-inner--lr-bs-per--t-nspace,
    body .l-inner--lr-bs-per--b-nspace,
    body .l-inner--lr-bs-per--tb-nspace,
    body .l-inner--lr-shrt1-per,
    body .l-inner--lr-shrt1-per--t-nspace,
    body .l-inner--lr-shrt1-per--b-nspace,
    body .l-inner--lr-shrt1-per--tb-nspace,
    body .l-inner--lr-shrt2-per,
    body .l-inner--lr-shrt2-per--t-nspace,
    body .l-inner--lr-shrt2-per--b-nspace,
    body .l-inner--lr-shrt2-per--tb-nspace,
    body .l-inner--lr-lng1-per,
    body .l-inner--lr-lng1-per--t-nspace,
    body .l-inner--lr-lng1-per--b-nspace,
    body .l-inner--lr-lng1-per--tb-nspace,
    body .l-inner--lr-lng2-per,
    body .l-inner--lr-lng2-per--t-nspace,
    body .l-inner--lr-lng2-per--b-nspace,
    body .l-inner--lr-lng2-per--tb-nspace {
        margin: 0;
        width: 100%;
    }
    body .l-inner,
    body .l-inner--t-nspace,
    body .l-inner--b-nspace,
    body .l-inner--tb-nspace,
    body .l-inner--lr-bs-per,
    body .l-inner--lr-bs-per--t-nspace,
    body .l-inner--lr-bs-per--b-nspace,
    body .l-inner--lr-bs-per--tb-nspace,
    body .l-inner--lr-shrt1-per--t-nspace,
    body .l-inner--lr-shrt1-per--b-nspace,
    body .l-inner--lr-shrt1-per--tb-nspace,
    body .l-inner--lr-shrt2-per--t-nspace,
    body .l-inner--lr-shrt2-per--b-nspace,
    body .l-inner--lr-shrt2-per--tb-nspace,
    body .l-inner--lr-lng1-per,
    body .l-inner--lr-lng1-per--t-nspace,
    body .l-inner--lr-lng1-per--b-nspace,
    body .l-inner--lr-lng1-per--tb-nspace {
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
    }
    body .l-inner--lr-lng2-per,
    body .l-inner--lr-lng2-per--t-nspace,
    body .l-inner--lr-lng2-per--b-nspace,
    body .l-inner--lr-lng2-per--tb-nspace {
        padding-left: calc(calc(100 / 750 * 40 * 1vw) / 2);
        padding-right: calc(calc(100 / 750 * 40 * 1vw) / 2);
    }
    body .l-inner--l-fix-r-stretch,
    body .l-inner--l-fix-r-stretch--tb-nspace,
    body .l-inner--l-fix-r-stretch--t-nspace,
    body .l-inner--l-fix-r-stretch--b-nspace,
    body .l-inner--l-fix-bs-per-r-stretch,
    body .l-inner--l-fix-bs-per-r-stretch--tb-nspace,
    body .l-inner--l-fix-bs-per-r-stretch--t-nspace,
    body .l-inner--l-fix-bs-per-r-stretch--b-nspace,
    body .l-inner--l-fix-shrt1-per-r-stretc,
    body .l-inner--l-fix-shrt1-per-r-stretch--tb-nspace,
    body .l-inner--l-fix-shrt1-per-r-stretch--t-nspace,
    body .l-inner--l-fix-shrt1-per-r-stretch--b-nspace,
    body .l-inner--l-fix-shrt2-per-r-stretch,
    body .l-inner--l-fix-shrt2-per-r-stretch--tb-nspace,
    body .l-inner--l-fix-shrt2-per-r-stretch--t-nspace,
    body .l-inner--l-fix-shrt2-per-r-stretch--b-nspace,
    body .l-inner--l-fix-lng1-per-r-stretch,
    body .l-inner--l-fix-lng1-per-r-stretch--tb-nspace,
    body .l-inner--l-fix-lng1-per-r-stretch--t-nspace,
    body .l-inner--l-fix-lng1-per-r-stretch--b-nspace,
    body .l-inner--l-fix-lng2-per-r-stretch,
    body .l-inner--l-fix-lng2-per-r-stretch--tb-nspace,
    body .l-inner--l-fix-lng2-per-r-stretch--t-nspace,
    body .l-inner--l-fix-lng2-per-r-stretch--b-nspace {
        padding-left: calc(100 / 750 * 40 * 1vw);
    }
    body .l-inner--l-fix-r-stretch.--sp-default,
    body .l-inner--l-fix-r-stretch--tb-nspace.--sp-default,
    body .l-inner--l-fix-r-stretch--t-nspace.--sp-default,
    body .l-inner--l-fix-r-stretch--b-nspace.--sp-default,
    body .l-inner--l-fix-bs-per-r-stretch.--sp-default,
    body .l-inner--l-fix-bs-per-r-stretch--tb-nspace.--sp-default,
    body .l-inner--l-fix-bs-per-r-stretch--t-nspace.--sp-default,
    body .l-inner--l-fix-bs-per-r-stretch--b-nspace.--sp-default,
    body .l-inner--l-fix-shrt1-per-r-stretc.--sp-default,
    body .l-inner--l-fix-shrt1-per-r-stretch--tb-nspace.--sp-default,
    body .l-inner--l-fix-shrt1-per-r-stretch--t-nspace.--sp-default,
    body .l-inner--l-fix-shrt1-per-r-stretch--b-nspace.--sp-default,
    body .l-inner--l-fix-shrt2-per-r-stretch.--sp-default,
    body .l-inner--l-fix-shrt2-per-r-stretch--tb-nspace.--sp-default,
    body .l-inner--l-fix-shrt2-per-r-stretch--t-nspace.--sp-default,
    body .l-inner--l-fix-shrt2-per-r-stretch--b-nspace.--sp-default,
    body .l-inner--l-fix-lng1-per-r-stretch.--sp-default,
    body .l-inner--l-fix-lng1-per-r-stretch--tb-nspace.--sp-default,
    body .l-inner--l-fix-lng1-per-r-stretch--t-nspace.--sp-default,
    body .l-inner--l-fix-lng1-per-r-stretch--b-nspace.--sp-default,
    body .l-inner--l-fix-lng2-per-r-stretch.--sp-default,
    body .l-inner--l-fix-lng2-per-r-stretch--tb-nspace.--sp-default,
    body .l-inner--l-fix-lng2-per-r-stretch--t-nspace.--sp-default,
    body .l-inner--l-fix-lng2-per-r-stretch--b-nspace.--sp-default {
        margin-left: calc(100 / 750 * 40 * 1vw);
        width: calc(100% - calc(100 / 750 * 40 * 1vw));
    }
    body .l-inner--r-fix-l-stretch,
    body .l-inner--r-fix-l-stretch--tb-nspace,
    body .l-inner--r-fix-l-stretch--t-nspace,
    body .l-inner--r-fix-l-stretch--b-nspace,
    body .l-inner--r-fix-bs-per-l-stretch,
    body .l-inner--r-fix-bs-per-l-stretch--tb-nspace,
    body .l-inner--r-fix-bs-per-l-stretch--t-nspace,
    body .l-inner--r-fix-bs-per-l-stretch--b-nspace,
    body .l-inner--r-fix-shrt1-per-l-stretch,
    body .l-inner--r-fix-shrt1-per-l-stretch--tb-nspace,
    body .l-inner--r-fix-shrt1-per-l-stretch--t-nspace,
    body .l-inner--r-fix-shrt1-per-l-stretch--b-nspace,
    body .l-inner--r-fix-shrt2-per-l-stretch,
    body .l-inner--r-fix-shrt2-per-l-stretch--tb-nspace,
    body .l-inner--r-fix-shrt2-per-l-stretch--t-nspace,
    body .l-inner--r-fix-shrt2-per-l-stretch--b-nspace,
    body .l-inner--r-fix-lng1-per-l-stretch,
    body .l-inner--r-fix-lng1-per-l-stretch--tb-nspace,
    body .l-inner--r-fix-lng1-per-l-stretch--t-nspace,
    body .l-inner--r-fix-lng1-per-l-stretch--b-nspace,
    body .l-inner--r-fix-lng2-per-l-stretch,
    body .l-inner--r-fix-lng2-per-l-stretch--tb-nspace,
    body .l-inner--r-fix-lng2-per-l-stretch--t-nspace,
    body .l-inner--r-fix-lng2-per-l-stretch--b-nspace {
        padding-right: calc(100 / 750 * 40 * 1vw);
    }
    body .l-inner--r-fix-l-stretch.--sp-default,
    body .l-inner--r-fix-l-stretch--tb-nspace.--sp-default,
    body .l-inner--r-fix-l-stretch--t-nspace.--sp-default,
    body .l-inner--r-fix-l-stretch--b-nspace.--sp-default,
    body .l-inner--r-fix-bs-per-l-stretch.--sp-default,
    body .l-inner--r-fix-bs-per-l-stretch--tb-nspace.--sp-default,
    body .l-inner--r-fix-bs-per-l-stretch--t-nspace.--sp-default,
    body .l-inner--r-fix-bs-per-l-stretch--b-nspace.--sp-default,
    body .l-inner--r-fix-shrt1-per-l-stretch.--sp-default,
    body .l-inner--r-fix-shrt1-per-l-stretch--tb-nspace.--sp-default,
    body .l-inner--r-fix-shrt1-per-l-stretch--t-nspace.--sp-default,
    body .l-inner--r-fix-shrt1-per-l-stretch--b-nspace.--sp-default,
    body .l-inner--r-fix-shrt2-per-l-stretch.--sp-default,
    body .l-inner--r-fix-shrt2-per-l-stretch--tb-nspace.--sp-default,
    body .l-inner--r-fix-shrt2-per-l-stretch--t-nspace.--sp-default,
    body .l-inner--r-fix-shrt2-per-l-stretch--b-nspace.--sp-default,
    body .l-inner--r-fix-lng1-per-l-stretch.--sp-default,
    body .l-inner--r-fix-lng1-per-l-stretch--tb-nspace.--sp-default,
    body .l-inner--r-fix-lng1-per-l-stretch--t-nspace.--sp-default,
    body .l-inner--r-fix-lng1-per-l-stretch--b-nspace.--sp-default,
    body .l-inner--r-fix-lng2-per-l-stretch.--sp-default,
    body .l-inner--r-fix-lng2-per-l-stretch--tb-nspace.--sp-default,
    body .l-inner--r-fix-lng2-per-l-stretch--t-nspace.--sp-default,
    body .l-inner--r-fix-lng2-per-l-stretch--b-nspace.--sp-default {
        margin-right: calc(100 / 750 * 40 * 1vw);
        width: calc(100% - calc(100 / 750 * 40 * 1vw));
    }
    body .l-inner--tb-nspace {
        padding: 0 calc(100 / 750 * 40 * 1vw);
    }
}

/*================================================
ヘッダー、フッター、
--------------------------------------------------
レイアウトのみ。サイズを記載する場合は変数で外で管理
背景やその他の装飾は_top.scss等に記載
================================================ */
/*----------------------------
グリッドシステム
----------------------------*/
body header .flex-lib-container,
body footer .flex-lib-container,
body .flex-lib-container {
    box-sizing: border-box;
    display: flex;
    margin-left: -1.58%;
    margin-right: -1.58%;
}
body header .flex-lib-container > .grid__col-1,
body footer .flex-lib-container > .grid__col-1,
body .flex-lib-container > .grid__col-1 {
    box-sizing: border-box;
    flex: 0 0 5.1733333333%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-2,
body footer .flex-lib-container > .grid__col-2,
body .flex-lib-container > .grid__col-2 {
    box-sizing: border-box;
    flex: 0 0 13.5066666667%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-3,
body footer .flex-lib-container > .grid__col-3,
body .flex-lib-container > .grid__col-3 {
    box-sizing: border-box;
    flex: 0 0 21.84%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-4,
body footer .flex-lib-container > .grid__col-4,
body .flex-lib-container > .grid__col-4 {
    box-sizing: border-box;
    flex: 0 0 30.1733333333%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-5,
body footer .flex-lib-container > .grid__col-5,
body .flex-lib-container > .grid__col-5 {
    box-sizing: border-box;
    flex: 0 0 38.5066666667%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-6,
body footer .flex-lib-container > .grid__col-6,
body .flex-lib-container > .grid__col-6 {
    box-sizing: border-box;
    flex: 0 0 46.84%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-7,
body footer .flex-lib-container > .grid__col-7,
body .flex-lib-container > .grid__col-7 {
    box-sizing: border-box;
    flex: 0 0 55.1733333333%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-8,
body footer .flex-lib-container > .grid__col-8,
body .flex-lib-container > .grid__col-8 {
    box-sizing: border-box;
    flex: 0 0 63.5066666667%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-9,
body footer .flex-lib-container > .grid__col-9,
body .flex-lib-container > .grid__col-9 {
    box-sizing: border-box;
    flex: 0 0 71.84%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-10,
body footer .flex-lib-container > .grid__col-10,
body .flex-lib-container > .grid__col-10 {
    box-sizing: border-box;
    flex: 0 0 80.1733333333%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-11,
body footer .flex-lib-container > .grid__col-11,
body .flex-lib-container > .grid__col-11 {
    box-sizing: border-box;
    flex: 0 0 88.5066666667%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-lib-container > .grid__col-12,
body footer .flex-lib-container > .grid__col-12,
body .flex-lib-container > .grid__col-12 {
    box-sizing: border-box;
    flex: 0 0 96.84%;
    margin-left: 1.58%;
    margin-right: 1.58%;
    margin-bottom: 3.16%;
}
body header .flex-container,
body header .flex-container--sp-row,
body footer .flex-container,
body footer .flex-container--sp-row,
body .flex-container,
body .flex-container--sp-row {
    display: flex;
    flex-direction: row;
}
@media only screen and (max-width: 767px) {
    body header .flex-container,
    body header .flex-container--sp-row {
        flex-direction: column;
    }
}
@media only screen and (max-width: 767px) {
    body footer .flex-container,
    body footer .flex-container--sp-row {
        flex-direction: column;
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .flex-container,
    body header .flex-container--sp-row,
    body footer .flex-container--sp-row,
    body .flex-container--sp-row {
        flex-direction: column;
    }
    body .flex-container .flex-container__item,
    body .flex-container--sp-row .flex-container__item {
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {
    body header .flex-container--sp-row {
        flex-direction: row;
    }
}
@media only screen and (max-width: 767px) {
    body footer .flex-container--sp-row {
        flex-direction: row;
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .flex-container--sp-row {
        flex-direction: row;
    }
}
body header .grid-container,
body footer .grid-container,
body .grid-container {
    display: grid;
}
@media only screen and (max-width: 767px) {
    body header .grid-container {
        padding-left: 0;
        padding-right: 0;
        display: flex;
        flex-direction: column;
    }
}
@media only screen and (max-width: 767px) {
    body footer .grid-container {
        padding-left: 0;
        padding-right: 0;
        display: flex;
        flex-direction: column;
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body .grid-container {
        padding-left: 0;
        padding-right: 0;
        display: flex;
        flex-direction: column;
    }
}

/*================================================
ヘッダー レイアウトのみ
--------------------------------------------------
・レイアウトのみ。サイズを記載する場合は変数で外で管理
・settingの変数は、できるだけ、プロジェクトで記載
================================================ */
body #l-header {
    position: absolute;
    width: 100%;
    /*=========================================================================
  スマホのサイズ以上だけの設定
  =========================================================================*/
    /*=========================================================================
  HEADER ブレイクポイント 01
  =========================================================================*/
    /*=========================================================================
  HEADER ブレイクポイント 02
  =========================================================================*/
    /*=========================================================================
  HEADER ブレイクポイント 03
  =========================================================================*/
    /*=========================================================================
  HEADER ブレイクポイント 04
  =========================================================================*/
    /*=========================================================================
  SPの形になるブレイクポイント
  =========================================================================*/
}
body #l-header a {
    text-decoration: none;
}
body #l-header .l-header__wrap {
    display: flex;
    justify-content: space-between;
    height: 100px;
}
body #l-header .l-header__primary {
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
body #l-header .l-header__secondary {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}
body #l-header .l-header__secondary.l-header__secondary--two-tier {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    height: 100%;
    width: 100%;
}
body #l-header .l-header__secondary .l-header__secondary__top {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
body
    #l-header
    .l-header__secondary
    .l-header__secondary__top
    nav.l-header-nav-top {
    display: flex;
    flex-direction: column;
}
body
    #l-header
    .l-header__secondary
    .l-header__secondary__top
    nav.l-header-nav-top
    ul.l-header-nav-top-menu {
    width: 100%;
    display: flex;
    flex-direction: column;
}
body #l-header .l-cta-right-end_wrap .gnavi {
    padding-right: 0;
}
body #l-header .gnavi__lists-list {
    height: 100%;
}
body #l-header .gnavi__lists {
    height: 100%;
}
body #l-header .gnavi__lists li a:not(.js-add-c-dd-expand) {
    overflow-wrap: break-word;
}
body #l-header .l-logo_wrap a {
    line-height: 1;
}
@media only screen and (min-width: calc(767px + 1px)) {
    body #l-header .l-header__wrap {
        align-items: flex-end;
    }
    body #l-header .l-header__wrap.cta-right-end {
        align-items: center;
    }
    body #l-header .l-header__wrap .gnavi {
        padding-right: 2em;
    }
    body #l-header li a:not(.js-add-c-dd-expand) {
        align-items: flex-end;
    }
    body
        #l-header
        .l-header-bp.cta-right-end
        .gnavi:not(.l-multilingua)
        li
        a:not(.js-add-c-dd-expand) {
        align-items: center;
    }
    body #l-header li:not(.header-btn-cta) a:not(.js-add-c-dd-expand) {
        padding-bottom: 0.7em;
    }
    body #l-header li.header-btn-cta a:not(.js-add-c-dd-expand) {
        margin-bottom: 0.7em;
    }
    body #l-header .l-header__secondary .l-header__secondary__top {
        flex-direction: row;
        align-items: center;
    }
    body
        #l-header
        .l-header__secondary
        .l-header__secondary__top
        nav.l-header-nav-top {
        flex-direction: row;
    }
    body
        #l-header
        .l-header__secondary
        .l-header__secondary__top
        nav.l-header-nav-top
        ul.l-header-nav-top-menu {
        flex-direction: row;
    }
}
@media only screen and (max-width: 1470px) {
    body #l-header .l-header__primary {
        width: 23%;
    }
    body #l-header .l-header__secondary {
        width: 77%;
    }
}
@media only screen and (max-width: 767px) {
    body #l-header .logo {
        width: 80%;
        line-height: 1;
    }
}
@media only screen and (max-width: 460px) {
    body #l-header .logo {
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {
    body #l-header .l-header__wrap {
        flex-direction: column;
        justify-content: flex-start;
        align-items: normal;
        height: 17.5vw;
    }
    body #l-header .l-header__wrap.cta-right-end {
        flex-direction: row;
    }
    body #l-header .l-header__primary {
        width: calc(100% - 17.5vw);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding-right: calc(100 / 750 * 40 * 1vw);
    }
    body #l-header .cta-right-end .l-header__primary {
        width: 100%;
    }
    body #l-header .l-header__secondary {
        width: 100%;
    }
    body #l-header .l-logo_wrap {
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }
}

/*================================================
フッター全て
--------------------------------------------------
レイアウトのみ。サイズを記載する場合は変数で外で管理
================================================ */
@media only screen and (max-width: calc(767 * 1px)) {
    body #l-footer #footer {
        height: auto;
        display: block;
    }
    body #l-footer #footer img {
        width: 100%;
        height: auto;
        margin: 0;
        padding: 0;
    }
}
body #l-footer .l-footer-copyright {
    width: 100%;
    margin: 0;
    padding: 0;
}
body #l-footer .l-footer-copyright span {
    font-family: "Fira Sans", "Noto Sans JP", "Hiragino Kaku Gothic ProN",
        "Hiragino Sans", Meiryo, sans-serif;
    font-size: 14px;
    line-height: 1;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body #l-footer .l-footer-copyright span {
        font-size: calc(14 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body #l-footer .l-footer-copyright span {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body #l-footer .l-footer-copyright span {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
        z-index: 30;
    }
}

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

--------------------------------------------------
・
・
================================================ */
/*--------------------------------------------------------
高さ-100%
--------------------------------------------------------*/
.l-h-mv-full.top-mv {
    height: calc(100vh - 46px / 2 - 0px);
}
.l-h-mv-full:not(.top-mv) {
    height: 100vh;
}

/*--------------------------------------------------------
高さ $G_L_H_MV_H1_PC-pc の設定
--------------------------------------------------------*/
.l-h-mv-h1 {
    height: 600px;
    overflow: hidden;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .l-h-mv-h1 {
        height: calc(600 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .l-h-mv-h1 {
        height: calc(600 / 767 * 100vw);
    }
}

/*--------------------------------------------------------
高さ $G_L_H_MV_H2_PC の設定
--------------------------------------------------------*/
.l-h-mv-h2 {
    height: 480px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .l-h-mv-h2 {
        height: calc(480 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .l-h-mv-h2 {
        height: calc(480 / 767 * 100vw);
    }
}

/* プロジェクトの共通モジュールの記述
---------------------------------------------------------------------- */
/* プロジェクトのみの記述
---------------------------------------------------------------------- */
.content-wrap {
    overflow: hidden;
}

a.cta--download,
a.cta--form {
    color: white !important;
    text-decoration: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 0 0 0 rgba(160.0156862745, 101.6509803922, 26.368627451, 0);
    transition: background-position 0.8s ease, background-size 1s ease;
    padding: 0.5em 2vw;
    min-width: 15em;
    font-size: 28px;
}
a.cta--download svg,
a.cta--form svg {
    width: 1.25em;
    height: auto;
    margin-right: 0.5em;
}
@media only screen and (max-width: calc(767 * 1px)) {
    a.cta--download,
    a.cta--form {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
a.cta--download:hover,
a.cta--form:hover {
    opacity: 1;
    background-image: initial;
    box-shadow: 0 5px 10px
        rgba(160.0156862745, 101.6509803922, 26.368627451, 0.4);
    background-position: bottom right;
    background-size: 200%;
}
@media only screen and (max-width: calc(767 * 1px)) {
    a.cta--download,
    a.cta--form {
        min-width: initial;
        width: 100%;
    }
}

a.cta--download {
    background-image: url("../images/btn-bg-orange.webp");
}
a.cta--download:hover {
    background-image: url("../images/btn-bg-orange.webp");
}

a.cta--form {
    background-image: url("../images/btn-bg-green.webp");
}
a.cta--form:hover {
    background-image: url("../images/btn-bg-green.webp");
}

.cta-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2em;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .cta-wrapper {
        flex-direction: column;
        gap: 1em;
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
}
.scroll-infinity__wrap .scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0;
}
.scroll-infinity__wrap .scroll-infinity__list.scroll-infinity__list--left {
    animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__wrap .scroll-infinity__list .scroll-infinity__item {
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: auto;
    min-width: 0;
    width: 100%;
    aspect-ratio: 1824/780;
    display: block;
    overflow: hidden;
}
.scroll-infinity__wrap .scroll-infinity__list .scroll-infinity__item picture {
    display: block;
    line-height: 1;
    height: 100%;
}
.scroll-infinity__wrap
    .scroll-infinity__list
    .scroll-infinity__item
    picture
    > img {
    aspect-ratio: 1824/780;
    width: auto;
    height: 100%;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .scroll-infinity__wrap .scroll-infinity__list .scroll-infinity__item {
        aspect-ratio: 1556/1170;
    }
    .scroll-infinity__wrap
        .scroll-infinity__list
        .scroll-infinity__item
        picture
        img {
        aspect-ratio: 1556/1170;
        padding-bottom: 75.1928020566%;
    }
}

/*
---------------------------------------------------------------
LAYOUT
---------------------------------------------------------------
*/
.l-inner-max-content {
    padding-left: 4.4vw;
    padding-right: 4.4vw;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .l-inner-max-content {
        padding-left: 4.4vw;
        padding-right: 4.4vw;
    }
}

.flex-list {
    display: flex;
    justify-content: space-between;
}
.flex-list .flex-list__item {
    position: relative;
    flex: 1;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .flex-list {
        flex-direction: column;
    }
}

/*
---------------------------------------------------------------
モジュール上書き
---------------------------------------------------------------
*/
body .c-media-text-content--horizontal,
body .c-media-text-content--horizontal-arrow {
    padding-top: 0;
    padding-bottom: 0;
    border: none;
}
body .c-media-text-content--horizontal .c-media-text-content__img,
body .c-media-text-content--horizontal-arrow .c-media-text-content__img {
    margin-right: 0;
}
body .c-media-text-content--horizontal:last-child,
body .c-media-text-content--horizontal-arrow:last-child {
    border: none;
}

body.c-attentions-wrap {
    margin-top: 10px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.c-attentions-wrap {
        margin-top: calc(10 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.c-attentions-wrap {
        margin-top: calc(calc(100 / 750 * 10 * 1vw) / 0.75);
    }
}
body.c-attentions-wrap .c-attention {
    line-height: 1.5;
    color: #444444;
    font-size: 14px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.c-attentions-wrap .c-attention {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}

/*
---------------------------------------------------------------
HEADING
---------------------------------------------------------------
*/
.heading-wrap {
    text-align: center;
}
.heading-wrap .heading {
    margin-bottom: 30px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    .heading-wrap .heading {
        margin-bottom: calc(30 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .heading-wrap .heading {
        margin-bottom: calc(calc(100 / 750 * 30 * 1vw) / 0.75);
    }
}
.heading-wrap .heading .heading-sub {
    font-size: 28px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .heading-wrap .heading .heading-sub {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
.heading-wrap .heading .heading-main {
    font-size: 48px;
    line-height: 1.25;
}
@media only screen and (max-width: calc(767 * 1px)) {
    .heading-wrap .heading .heading-main {
        font-size: calc(100 / 750 * calc(44 * 1) * 1vw);
    }
}

picture {
    margin: 0;
    padding: 0;
    display: block;
    line-height: 1;
}

/*
---------------------------------------------------------------
CTA
---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
ボタン
---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
SIMPLE PARALLAX
---------------------------------------------------------------
*/
.simpleParallax {
    width: 100%;
    height: 100%;
}

.parallax-img img {
    width: 100%;
}

/*
---------------------------------------------------------------
PJ：ラインナップ
---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
PJ：ラインナップ　タクソノミー一覧
---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
PJ：TABLE
---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
プラグイン：Arkhe Block
FAQ
---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
左：スティッカー

---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
CANCEL POLICY
---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
ドットライン　リストメニュー
---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
IMG + TXT Layerd
---------------------------------------------------------------
*/
/*
---------------------------------------------------------------
POST META
---------------------------------------------------------------
*/
/*=========================================================================
HEADER

--------------------------------------------------
▼　使用するファイル
・HTML   ：header_1line_btn-right-end.php
・CSS    ：このファイル
・CSS    ：_common-md-l-header_1line-A1.scss
・CSS    ：project/global-setting/gs-header-design-setting

--------------------------------------------------
・#mypj 以降はネストで記載しない
・サイズ、色、背景やその他の装飾
・settingの変数は、ここにで記載
=========================================================================*/
/*----------------------------
プロジェクトの設定の上書き
----------------------------*/
body {
    /*=========================================================================
  HEADER ブレイクポイント 01
  =========================================================================*/
    /*=========================================================================
  SPの形になるブレイクポイント
  =========================================================================*/
}
@media only screen and (max-width: 767px) {
    body #l-header {
        /*
    ・JSで追加したタグ
    ・ハンバーガーメニューをクリックした時にbodyタグにつけたクラス
    ・スクロールチェーン対応用
    ----------------------------------------------*/
        /* ハンバーガーアイコン
    ----------------------------------------------*/
        /* 第一階層 ナビゲーション設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第二階層 以降 のナビゲーションの 共通 設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第三階層 のナビゲーションの 設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*=========================================================================
    ヘッダー
    =========================================================================*/
        /*=========================================================================
    フッター
    =========================================================================*/
    }
    body #l-header .nav-toggle {
        display: none;
    }
    body #l-header.js-toggle-open {
        overflow-y: hidden;
    }
    body #l-header .btn-burger {
        display: flex;
    }
    body #l-header .btn-burger {
        right: 0;
    }
    body #l-header .gnavi {
        display: none;
        background-color: white;
        position: fixed;
        z-index: -1;
        opacity: 0;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        padding-top: 17.5vw;
        transition: all 0.3s ease-out;
    }
    body
        #l-header
        .c-dd-nav__ul__menu-item.has-child
        > a:not(.js-add-c-dd-expand) {
        margin-right: 56px;
    }
    body #l-header .has-child .js-add-c-dd-expand {
        position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 56px;
        height: auto !important;
        right: 0;
        top: 0;
        z-index: 2;
        padding: 1.5em 1em;
        color: #6bb5cb;
    }
    body #l-header .has-child .js-add-c-dd-expand .lines-vertical,
    body #l-header .has-child .js-add-c-dd-expand .lines-horizontal {
        position: absolute;
        display: block;
        transition: all 0.3s;
        background: #fff;
        left: 50%;
        top: 50%;
        width: 40%;
        height: 1px;
        transform: translate(-50%, -50%);
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
    body #l-header .has-child .js-add-c-dd-expand .lines-horizontal {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    body #l-header .has-child .js-add-c-dd-expand .lines-vertical {
        transform: translate(-50%, -50%) rotate(90deg);
    }
    body #l-header .has-child.active > .js-add-c-dd-expand .lines-vertical {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    body #l-header .gnavi__wrap {
        height: 100% !important;
    }
    body #l-header .gnavi__lists-list {
        position: relative;
        box-sizing: border-box;
        height: 100vh !important;
        padding-top: 100px;
    }
    body #l-header .gnavi__lists {
        box-sizing: border-box;
        display: block;
        /*ナビの数が増えた場合縦スクロール*/
        position: relative;
        z-index: 999;
        width: 100%;
        height: 100%; /*表示する高さ*/
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 100px;
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
    }
    body #l-header .c-dd-nav__ul > .c-dd-nav__ul__menu-item {
        height: auto;
    }
    body
        #l-header
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.current-menu-item
        > a:not(.js-add-c-dd-expand):after {
        content: none;
    }
    body #l-header .c-dd-nav__ul > .c-dd-nav__ul__menu-item:hover > a:after {
        content: none;
    }
    body
        #l-header
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item.current-menu-item
        > a,
    body #l-header .c-dd-nav__ul > .c-dd-nav__ul__menu-item a {
        color: #000000;
    }
    body
        #l-header
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        > a:not(.js-add-c-dd-expand) {
        padding: 1.5em 1em 1.5em 1em;
    }
    body
        #l-header
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        > a:not(.js-add-c-dd-expand):after {
        content: none;
    }
    body #l-header .c-dd-nav__ul__menu-item.has-child span {
        position: static;
    }
    body #l-header .c-dd-nav__ul__menu-item.has-child span::before {
        content: none;
    }
    body #l-header .c-dd-nav__ul__menu-item.has-child.active span::before {
        transform: rotate(-45deg);
        left: auto;
    }
    body #l-header .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta {
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
        padding-top: 60px;
        padding-bottom: 60px;
    }
}
@media only screen and (max-width: 767px) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body #l-header .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta {
        padding-top: calc(60 / calc(1162 - 1) * 100vw);
        padding-bottom: calc(60 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: 767px) and (max-width: calc(767 * 1px)) {
    body #l-header .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta {
        padding-top: calc(calc(100 / 750 * 60 * 1vw) / 0.75);
        padding-bottom: calc(calc(100 / 750 * 60 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: 767px) {
    body #l-header .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta a {
        margin-right: auto;
        margin-left: auto;
        width: 100%;
    }
    body
        #l-header
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a:not(.js-add-c-dd-expand) {
        text-align: left;
        padding: 1.5em 1em 1.5em calc(1em * 2);
    }
    body #l-header ul ul .c-dd-nav__ul__menu-item.has-child::before {
        content: none;
    }
    body #l-header ul ul .c-dd-nav__ul__menu-item.has-child.active::before {
        transform: rotate(-45deg);
    }
    body #l-header .c-dd-nav__ul__menu-item.has-child .sub-menu,
    body #l-header .c-dd-nav__ul__menu-item.has-child .sub-menu .sub-menu {
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
        visibility: visible;
        opacity: 1;
        display: none;
        transition: none;
    }
    body
        #l-header
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a:not(.js-add-c-dd-expand) {
        padding: 1.5em 1em 1.5em calc(1em * 3);
    }
    body #l-header .gnavi__wrap {
        /* 第１階層 ナビゲーション設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第２階層 以降 のナビゲーションの 共通 設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /* 第３階層の位置
    */
    }
    body #l-header .gnavi__wrap .c-dd-nav__ul .c-dd-nav__ul__menu-item a,
    body
        #l-header
        .gnavi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        .sub-menu
        .c-dd-nav__ul__menu-item
        a,
    body
        #l-header
        .gnavi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        .sub-menu
        .c-dd-nav__ul__menu-item
        .sub-menu
        .c-dd-nav__ul__menu-item
        a {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
    body #l-header .gnavi__wrap .c-dd-nav__ul .c-dd-nav__ul__menu-item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    }
    body
        #l-header
        .gnavi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item:first-child {
        border-top: 1px solid rgba(0, 0, 0, 0.2);
    }
    body #l-header .gnavi__wrap .c-dd-nav__ul > .c-dd-nav__ul__menu-item a {
        background-color: white;
    }
    body
        #l-header
        .gnavi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        a:hover {
        background-color: white;
    }
    body
        #l-header
        .gnavi__wrap
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item {
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    }
    body
        #l-header
        .gnavi__wrap
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a {
        background-color: white;
    }
    body
        #l-header
        .gnavi__wrap
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a:hover {
        background-color: white;
    }
    body
        #l-header
        .gnavi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .sub-menu
        .c-dd-nav__ul__menu-item
        a {
        background-color: white;
    }
    body
        #l-header
        .gnavi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .sub-menu
        .c-dd-nav__ul__menu-item
        a:hover {
        background-color: white;
    }
    body #l-header .f-navi__wrap {
        /* 第１階層 ナビゲーション設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第２階層 以降 のナビゲーションの 共通 設定
    ----------------------------------------------*/
        /* ナビゲーションのリンク設定 */
        /*　第３階層 以降 のナビゲーションの 共通 設定
    ----------------------------------------------*/
    }
    body #l-header .f-navi__wrap .c-dd-nav__ul .c-dd-nav__ul__menu-item a,
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a,
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        .c-dd-nav__ul__menu-item
        a {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav
        .c-dd-nav__ul
        .c-dd-nav__ul__menu-item {
        border-bottom: 1px solid #cccccc;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item:first-child
        a {
        border-top: 1px solid #cccccc;
    }
    body #l-header .f-navi__wrap .c-dd-nav__ul > .c-dd-nav__ul__menu-item a {
        background-color: #000000;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item
        a:hover {
        background-color: #111111;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul
        > .c-dd-nav__ul__menu-item:first-child {
        border-top: solid 1px #cccccc;
    }
    body #l-header .f-navi__wrap .c-dd-nav__ul .c-dd-nav__ul__menu-item {
        border-bottom: solid 1px #cccccc;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        a:not(.js-add-c-dd-expand)
        span {
        position: static;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        a:not(.js-add-c-dd-expand)
        span::before {
        height: 5px;
        width: 5px;
        border-top: 2px solid white;
        border-right: 2px solid white;
        right: calc(calc(40 / 750 * 750 / 750) * 100 * 1%);
        top: calc(1.5em + 0em);
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item {
        border-bottom: 1px solid #cccccc;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item:first-child {
        border-top: solid 1px #cccccc;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item:last-child {
        border: none;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item
        a {
        background-color: #111111;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .c-dd-nav__ul__menu-item
        a:hover {
        background-color: #f7f7f7;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .sub-menu
        .c-dd-nav__ul__menu-item
        a {
        background-color: #f7f7f7;
    }
    body
        #l-header
        .f-navi__wrap
        .c-dd-nav__ul__menu-item.has-child
        .sub-menu
        .sub-menu
        .c-dd-nav__ul__menu-item
        a:hover {
        background-color: #f7f7f7;
    }
    body
        #l-header
        .f-navi__wrap
        ul
        ul
        .c-dd-nav__ul__menu-item.has-child::before {
        width: 5px;
        height: 5px;
        right: calc(calc(40 / 750 * 750 / 750) * 100 * 1%);
        top: calc(1.5em + 0em);
        border-top: 2px solid white;
        border-right: 2px solid white;
    }
}
body #l-header {
    position: relative;
    /* 初期状態 */
    width: 100%;
    z-index: 1000; /* ヘッダーを最前面に配置 */
    transition: all 0.3s ease-out;
}
body.js-header-layered-style #l-header,
body.js-toggle-open #l-header {
    background-color: rgba(0, 0, 0, 0);
    position: absolute;
    top: 0;
}
body .l-header__primary {
    height: 100%;
}
body .l-header__secondary {
    width: calc(100% - 180px);
}
body #l-header .l-header__wrap {
    align-items: center;
}
body .l-logo_wrap {
    width: 100%;
    height: 100%;
    padding-top: 1em;
    padding-bottom: 1em;
    display: flex;
    align-items: flex-start;
}
body .l-logo_wrap a {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}
body .l-logo_wrap a img {
    width: auto;
    height: 100%;
}
body .gnavi__wrap {
    color: #fff;
    text-align: center;
    height: 100px;
}
body .gnavi__lists > .menu-item {
    font-weight: 500;
}
body #l-header .l-header__wrap .gnavi {
    padding-right: 0;
}
body #l-header li a:not(.js-add-c-dd-expand) {
    align-items: center;
}
body #l-header #menu-header-menu > li > a:not(.js-add-c-dd-expand) {
    padding-bottom: 0;
    margin-bottom: 0;
}
body #l-header li.header-btn-cta {
    margin-left: 1.4em;
}
body #l-header li.header-btn-cta a {
    width: 100%;
    height: 100%;
    border-radius: 0;
    padding-left: calc(1.6vw + 2em);
    padding-right: calc(1.6vw + 2em);
    padding-top: 0;
}
body #l-header li.header-btn-cta a span {
    font-size: 16px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body #l-header li.header-btn-cta a span {
        font-size: calc(16 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body #l-header li.header-btn-cta a span {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
body .c-dd-nav__ul > .c-dd-nav__ul__menu-item.header-btn-cta a:hover {
    background-image: linear-gradient(45deg, #caa152 0%, #b68932 80%);
    background-size: 200% auto;
    background-position: center;
    box-shadow: 0 5px 10px
        rgba(160.0156862745, 101.6509803922, 26.368627451, 0.4);
}
@media only screen and (max-width: 1470px) {
    body .l-header__primary {
        width: 23%;
    }
    body .l-header__secondary {
        width: 77%;
    }
}
@media only screen and (max-width: 767px) {
    body {
        /*
    ---------------------------------------------------------
    調整 今後全て共通　
    ハンバーガーメニューをクリックするとロゴがズレるため）
    ---------------------------------------------------------
     */
        /* --------------------------------------------------- */
    }
    body.js-toggle-open #l-header .l-header__primary {
        padding-left: 5.3333333333vw;
        left: 0;
    }
    body .l-header__wrap {
        display: block;
    }
    body #l-header .l-header__primary {
        width: 100%;
        height: auto;
        padding-left: 0;
        padding-right: calc(5.3333333333vw + 76px);
    }
    body #l-header .l-header__secondary {
        width: 100%;
    }
    body #l-header .l-logo_wrap {
        height: 17.5vw;
    }
    body #l-header .l-logo_wrap a {
        box-sizing: border-box;
    }
    body #l-header .l-logo_wrap a img {
        padding: 1em 0;
    }
    body .gnavi__wrap {
        color: #fff;
        text-align: center;
    }
    body #l-header #menu-header-menu > li > a:not(.js-add-c-dd-expand) {
        padding-bottom: 1.5em;
    }
    body #l-header li.header-btn-cta {
        margin-left: 0;
        border-bottom: none !important;
    }
    body #l-header li.header-btn-cta > a:not(.js-add-c-dd-expand) {
        width: 100%;
        align-items: center;
        justify-content: center;
    }
    body #l-header li.header-btn-cta > a:not(.js-add-c-dd-expand) span {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}

body {
    /*
  ---------------------------------------------------------------
  PC
  ---------------------------------------------------------------
  */
    /*
  ---------------------------------------------------------------
  SP
  ---------------------------------------------------------------
  */
    /*
  ---------------------------------------------------------------
  SP MENU OPEN
  ---------------------------------------------------------------
  */
}
body .cloned-btns {
    display: none;
}
body.js-toggle-open #l-header #js-add-gnavi {
    display: block;
    opacity: 1;
}
body:not(.js-toggle-open) #l-header #js-add-gnavi {
    display: none;
    opacity: 0;
}
body #l-header .l-header__wrap .l-header__primary .l-logo_wrap {
    align-items: center;
}
body #l-header .l-header__wrap .l-header__primary .l-logo_wrap a {
    display: block;
    height: initial;
}
body #l-header .l-header__wrap .l-header__primary .l-logo_wrap a img {
    width: 100%;
    height: auto;
}
body #l-header .l-header__wrap .btn-burger {
    display: none;
    opacity: 0;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav {
    padding-right: 0;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item
    a:not(.js-add-c-dd-expand) {
    padding-bottom: 0;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-login {
    height: initial;
    display: flex;
    align-items: center;
    line-height: 1.2;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-login
    a {
    height: initial;
    border: 1px solid #cccccc;
    padding: 0.5em 1.6vw;
    margin-left: 1.6vw;
    transition: all 0.3s ease-out;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-login
    a
    svg {
    width: 1em;
    height: auto;
    margin-right: 0.5em;
    transition: all 0.3s ease-out;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-login
    a:hover {
    border: 1px solid #000000;
    background-color: #000000;
    color: white;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-login
    a:hover
    svg {
    fill: white;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-login:hover
    a:after {
    display: none;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-cta {
    margin-left: 1.6vw;
    padding-left: 0;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-cta
    a.cta--download {
    flex-direction: column;
    padding-left: 1.4vw;
    padding-right: 1.4vw;
    margin-bottom: 0;
    min-width: initial;
    line-height: 1.2;
    font-size: 16px;
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-cta
    a.cta--download
    svg {
    width: 1.5em;
    margin-bottom: 0.3em;
    margin-right: 0;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body
        #l-header
        .l-header__wrap
        .l-header__secondary
        .gnavi__wrap
        #menu-header-nav
        .menu-item.header-btn-cta
        a.cta--download {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
body
    #l-header
    .l-header__wrap
    .l-header__secondary
    .gnavi__wrap
    #menu-header-nav
    .menu-item.header-btn-cta
    a.cta--download:hover {
    background-image: url("../images/btn-bg-orange.webp");
    background-position: bottom right;
    background-size: 200%;
    box-shadow: none;
}
@media only screen and (max-width: 1280px) {
    body #l-header .l-header__primary {
        width: 20%;
    }
    body #l-header .l-header__secondary {
        width: 80%;
    }
}
@media only screen and (max-width: 1200px) {
    body
        #l-header
        .l-header__wrap
        .l-header__secondary
        .gnavi__wrap
        #menu-header-nav
        .menu-item.header-btn-login {
        height: 100%;
    }
    body
        #l-header
        .l-header__wrap
        .l-header__secondary
        .gnavi__wrap
        #menu-header-nav
        .menu-item.header-btn-login
        a {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        border: none;
        border-left: 1px solid #cccccc;
    }
    body
        #l-header
        .l-header__wrap
        .l-header__secondary
        .gnavi__wrap
        #menu-header-nav
        .menu-item.header-btn-login
        a
        svg {
        width: 1.4em;
        margin-bottom: 0.4em;
        margin-right: 0;
    }
    body
        #l-header
        .l-header__wrap
        .l-header__secondary
        .gnavi__wrap
        #menu-header-nav
        .menu-item.header-btn-cta {
        margin-left: 0;
        padding-left: 0;
    }
}
@media only screen and (max-width: 767px) {
    body #l-header .l-header__wrap .l-header__primary {
        width: 100%;
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body #l-header .l-header__wrap {
        height: 17.5vw;
        align-items: flex-start;
    }
    body #l-header .l-header__wrap .l-header__primary {
        width: calc(100% - 17.5vw * 3);
        padding-right: 0;
    }
    body #l-header .l-header__wrap .l-header__primary .l-logo_wrap {
        padding-top: 4vw;
        padding-right: 4vw;
    }
    body #l-header .l-header__wrap .btn-burger {
        background-color: #009f7a;
    }
    body #l-header .l-header__wrap .btn-burger .icon,
    body #l-header .l-header__wrap .btn-burger .icon:before,
    body #l-header .l-header__wrap .btn-burger .icon:after {
        background-color: white;
    }
    body #l-header .l-header__wrap .cloned-btns {
        width: calc(17.5vw * 2);
        height: 17.5vw;
        display: flex;
        position: absolute;
        top: 0;
        right: 0;
    }
    body #l-header .l-header__wrap .cloned-btns li.__cloned a {
        font-size: 2vw;
        padding-left: 1em;
        padding-right: 1em;
        padding-bottom: 0;
        display: flex;
        gap: 0.5em;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        width: 17.5vw;
    }
    body #l-header .l-header__wrap .cloned-btns li.__cloned a span {
        font-size: 2vw;
        line-height: 1;
        text-align: center;
    }
    body #l-header .l-header__wrap .cloned-btns li.__cloned a svg {
        width: auto;
        height: 2em;
    }
    body #l-header .l-header__wrap .cloned-btns li.header-btn-login {
        border-left: 1px solid #cccccc;
    }
    body #l-header .l-header__wrap .cloned-btns li.header-btn-login a {
        color: #000000;
    }
    body #l-header .l-header__wrap .cloned-btns li.header-btn-login a span {
        line-height: 2;
    }
    body #l-header .l-header__wrap .cloned-btns li.header-btn-cta a {
        width: calc(17.5vw);
    }
    body #l-header .l-header__wrap .cloned-btns li.header-btn-cta a span {
        text-shadow: 0 0 0.5em rgba(234, 107, 0, 0.5),
            0 0 1em rgba(234, 107, 0, 0.5), 0 0 1.5em #ea6b00;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi
        .gnavi__wrap
        #menu-header-nav
        .c-dd-nav__ul__menu-item.header-btn-login {
        padding-top: 60px;
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
        border: none;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body
        #l-header
        #js-add-gnavi
        .gnavi
        .gnavi__wrap
        #menu-header-nav
        .c-dd-nav__ul__menu-item.header-btn-login {
        padding-top: calc(60 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    body
        #l-header
        #js-add-gnavi
        .gnavi
        .gnavi__wrap
        #menu-header-nav
        .c-dd-nav__ul__menu-item.header-btn-login {
        padding-top: calc(calc(100 / 750 * 60 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body
        #l-header
        #js-add-gnavi
        .gnavi
        .gnavi__wrap
        #menu-header-nav
        .c-dd-nav__ul__menu-item.header-btn-login
        a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        border: 1px solid #cccccc;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi
        .gnavi__wrap
        #menu-header-nav
        .c-dd-nav__ul__menu-item.header-btn-login
        a
        span {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
        line-height: 1.2;
    }
    body
        #l-header
        #js-add-gnavi
        .gnavi
        .gnavi__wrap
        #menu-header-nav
        .c-dd-nav__ul__menu-item.header-btn-login
        a
        svg {
        width: 1.25em;
        margin-right: 0.5em;
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.sp-mode #l-header .btn-burger {
        margin: 0;
        top: 0;
        display: flex;
        opacity: 1;
    }
    body.js-toggle-open.sp-mode #l-header .btn-burger {
        background-color: white;
        margin: 0;
        top: 0;
    }
    body.js-toggle-open.sp-mode #l-header .btn-burger .icon:after,
    body.js-toggle-open.sp-mode #l-header .btn-burger .icon:before {
        background-color: #000000;
    }
    body.js-toggle-open.sp-mode #l-header #js-add-gnavi .gnavi {
        background-color: white;
    }
}

/*================================================
プロジェクト用：FOOTER
--------------------------------------------------
・#mypj 以降はネストで記載しない
・サイズ、色、背景やその他の装飾
・settingの変数は、ここにで記載
================================================ */
body {
    /*
  ---------------------------------------------------------------
  PC FIX FOOTER
  ---------------------------------------------------------------
  */
}
body #sp-fix-footer {
    position: fixed;
    bottom: -150px;
    left: 0;
    right: 0;
    z-index: 888;
    background: white;
    transition: bottom 0.5s ease;
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
}
body #sp-fix-footer.is-visible {
    bottom: 0;
}
body #sp-fix-footer .l-inner--tb-nspace {
    padding: calc(calc(100 / 750 * 40 * 1vw) / 2);
}
body #sp-fix-footer .cta-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
body #sp-fix-footer .cta-wrapper a {
    font-size: 16px;
    padding: 0.5em 1vw;
    border-radius: 5px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body #sp-fix-footer .cta-wrapper a {
        font-size: calc(16 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body #sp-fix-footer .cta-wrapper a {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
body #sp-fix-footer .cta-wrapper a svg {
    width: 1em;
}
@media (min-width: 768px) {
    body #sp-fix-footer {
        display: none;
    }
}
body footer {
    background-color: white;
    color: #000000;
    font-size: 12px;
    text-align: center;
    padding: 1em 0;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body footer {
        font-size: calc(100 / 750 * calc(20 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body footer {
        padding-bottom: 20vw;
    }
}

/*=========================================================================
ハンバーガーアイコン
=========================================================================*/
.js-header-layered-style .js-btn-burger-scroll,
.js-toggle-open .js-btn-burger-scroll,
.js-btn-burger-scroll {
    background-color: #000000;
    border: 0 solid #000000;
}

/*-------------------------------------------------------
   共通
------------------------------------------------------- */
#mv {
    position: relative;
}
#mv.home {
    width: 100%;
}

/*-------------------------------------------------------
HOME
------------------------------------------------------- */
#mv.home {
    z-index: 900;
    height: calc(100vh - 100px + 2em);
}
#mv.home .mv-content {
    position: absolute;
    display: flex;
    justify-content: space-between;
    z-index: 910;
    width: 100%;
    bottom: 0;
}
#mv.home .mv-content .l-inner-max-content {
    padding-top: 2em;
    padding-bottom: 3em;
    width: 70%;
    box-shadow: 0 0 2em rgba(0, 159, 122, 0.1);
}
#mv.home .mv-content .l-inner-max-content:before {
    content: "";
    position: absolute;
    width: 200%;
    height: 100%;
    top: 0;
    right: 0;
    background-color: white;
}
#mv.home
    .mv-content
    .l-inner-max-content
    #mv-site-settings-main-copy
    .main-copy-wrap
    .sub-copy {
    margin-top: 20px;
    font-size: 1.55vw;
    line-height: 1.5;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    #mv.home
        .mv-content
        .l-inner-max-content
        #mv-site-settings-main-copy
        .main-copy-wrap
        .sub-copy {
        margin-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    #mv.home
        .mv-content
        .l-inner-max-content
        #mv-site-settings-main-copy
        .main-copy-wrap
        .sub-copy {
        margin-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
#mv.home .mv-content .l-inner-max-content .mv-cta {
    display: flex;
    margin-top: 30px;
    margin-left: calc(4.4vw * -1);
    overflow: visible;
    padding-left: 4.4vw;
    width: calc(100% + 4.4vw);
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    #mv.home .mv-content .l-inner-max-content .mv-cta {
        margin-top: calc(30 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    #mv.home .mv-content .l-inner-max-content .mv-cta {
        margin-top: calc(calc(100 / 750 * 30 * 1vw) / 0.75);
    }
}
#mv.home .mv-content .l-inner-max-content .mv-cta .cta-wrapper {
    width: 100%;
    justify-content: space-between;
    gap: 1em;
}
#mv.home .mv-content .l-inner-max-content .mv-cta .cta-wrapper a {
    width: calc((100% - 1em) / 2);
    min-width: initial;
    padding-left: 1vw;
    padding-right: 1vw;
    font-size: 28px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    #mv.home .mv-content .l-inner-max-content .mv-cta .cta-wrapper a {
        font-size: calc(28 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    #mv.home .mv-content .l-inner-max-content .mv-cta .cta-wrapper a {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
#mv.home .mv-content .mv-bach {
    width: calc(100% - 70%);
    position: absolute;
    bottom: 4vw;
    right: 2vw;
}
#mv.home .mv-content .mv-bach picture {
    display: block;
    width: 100%;
    text-align: right;
}
#mv.home .mv-content .mv-bach picture img {
    width: 20vw;
}
#mv.home .scroll-infinity {
    height: calc(100% - 90px);
}
#mv.home .scroll-infinity .scroll-infinity__wrap {
    height: 100%;
}
#mv.home .scroll-infinity .scroll-infinity__wrap .scroll-infinity__list {
    height: 100%;
}
#mv.home
    .scroll-infinity
    .scroll-infinity__wrap
    .scroll-infinity__list
    .scroll-infinity__item {
    width: auto;
}
@media only screen and (max-width: calc(767 * 1px)) {
    #mv.home .mv-content .l-inner-max-content {
        width: 95.6vw;
        padding-left: 8.8vw;
    }
    #mv.home
        .mv-content
        .l-inner-max-content
        #mv-site-settings-main-copy
        .main-copy-wrap
        .sub-copy {
        font-size: 3.8vw;
    }
    #mv.home .mv-content .l-inner-max-content .mv-cta .cta-wrapper a {
        min-width: 100%;
    }
    #mv.home .mv-content .mv-bach {
        bottom: initial;
        top: -24vw;
        right: -1vw;
    }
    #mv.home .mv-content .mv-bach picture img {
        width: 30vw;
    }
}

body.home {
    /* =================================================================================

  10 Concept

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

  20 ABOUT

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

  40 Financial Planner

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

  50 Trouble

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

  60 Merit

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

  70 Flow

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

  80 Plan

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

  90 FAQ

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

  100 footer CTA

  ================================================================================= */
}
body.home #concept-sec {
    background-image: url("../images/concept-bg-pattern.png");
    background-repeat: repeat;
    margin-top: calc(90px * -1);
    padding-top: calc(90px + 80 * 1px);
}
body.home #concept-sec .content-header .heading-wrap .heading .heading-main {
    line-height: 1.75;
}
body.home
    #concept-sec
    .content-header
    .heading-wrap
    .heading
    .heading-main
    .txt-dots {
    background-image: radial-gradient(
        circle at center,
        #009f7a 20%,
        transparent 20%
    );
    background-position: top right;
    background-repeat: repeat-x;
    padding-top: 0.25em;
    letter-spacing: -0.075em;
    background-size: 0.925em 0.3em;
}
body.home
    #concept-sec
    .content-header
    .heading-wrap
    .heading
    .heading-main
    .txt-marker-yellow,
body.home
    #concept-sec
    .content-header
    .heading-wrap
    .heading
    .heading-main
    .txt-marker-white {
    z-index: 10;
}
body.home #concept-sec .concept-content {
    text-align: center;
}
body.home #concept-sec .concept-content p {
    font-size: 22px;
    margin-bottom: 30px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #concept-sec .concept-content p {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #concept-sec .concept-content p {
        margin-bottom: calc(30 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #concept-sec .concept-content p {
        margin-bottom: calc(calc(100 / 750 * 30 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #concept-sec {
        margin-top: -90px;
        padding-top: calc(90px + 14vw);
    }
    body.home #concept-sec .concept-content {
        text-align: left;
    }
}
body.home #about-sec {
    background-color: #3ec7b3;
}
body.home #about-sec .about-header {
    position: relative;
    height: 570px;
}
body.home #about-sec .about-header .heading-wrap {
    width: 100%;
    position: absolute;
    bottom: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 21;
}
body.home #about-sec .about-header .heading-wrap .heading {
    margin-bottom: 0;
}
body.home #about-sec .about-header .heading-wrap .heading .heading-main {
    color: white;
    text-shadow: 0 0 0.5em rgba(0, 0, 0, 0.5), 0 0 1.5em rgba(0, 0, 0, 0.5),
        0 0 1em rgba(0, 0, 0, 0.5), 0 0 1.5em rgba(0, 0, 0, 0.5),
        0 0 2em rgba(0, 0, 0, 0.5);
}
body.home #about-sec .about-header .read {
    position: absolute;
    z-index: 22;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #00af95;
    opacity: 0.9;
}
body.home #about-sec .about-header .read:after {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 60px;
    z-index: 24;
    background-color: white;
}
body.home #about-sec .about-header .read p {
    padding-top: 40px;
    padding-bottom: 80px;
    position: relative;
    z-index: 25;
    text-align: center;
    color: white;
    line-height: 1.5;
    font-size: 28px;
    font-weight: 600;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #about-sec .about-header .read p {
        padding-top: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #about-sec .about-header .read p {
        padding-top: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #about-sec .about-header .read p {
        padding-bottom: calc(80 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #about-sec .about-header .read p {
        padding-bottom: calc(calc(100 / 750 * 80 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #about-sec .about-header .read p {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
body.home #about-sec .about-header .mv {
    position: relative;
    z-index: 20;
    width: 100%;
    height: 100%;
}
body.home #about-sec .about-header .mv picture {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
body.home #about-sec .about-header .mv picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
body.home #about-sec .about-content .flex-list {
    margin-top: -2.5em;
    display: flex;
    gap: 2em;
    background-color: white;
    position: relative;
    padding: 2.5em 3.75em;
    z-index: 24;
}
body.home
    #about-sec
    .about-content
    .flex-list
    .flex-list__item
    .heading-about-list {
    margin-top: 20px;
    font-size: 28px;
    text-align: center;
    line-height: 1.25;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #about-sec
        .about-content
        .flex-list
        .flex-list__item
        .heading-about-list {
        margin-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #about-sec
        .about-content
        .flex-list
        .flex-list__item
        .heading-about-list {
        margin-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #about-sec
        .about-content
        .flex-list
        .flex-list__item
        .heading-about-list {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
body.home #about-sec .about-content .flex-list .flex-list__item p {
    margin-top: 10px;
    font-size: 18px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #about-sec .about-content .flex-list .flex-list__item p {
        margin-top: calc(10 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #about-sec .about-content .flex-list .flex-list__item p {
        margin-top: calc(calc(100 / 750 * 10 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #about-sec .about-content .flex-list .flex-list__item p {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #about-sec .about-header {
        height: 90vw;
    }
    body.home #about-sec .about-header .heading-wrap {
        bottom: 65%;
    }
    body.home #about-sec .about-header .read p {
        padding-top: 10vw;
        padding-bottom: 20vw;
    }
    body.home #about-sec .about-content .flex-list {
        margin-top: -15vw;
        padding: calc(100 / 750 * 40 * 1vw);
    }
}
body.home #fp-sec {
    margin-top: 120px;
    position: relative;
    z-index: 40;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #fp-sec {
        margin-top: calc(120 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #fp-sec {
        margin-top: calc(calc(100 / 750 * 120 * 1vw) / 0.75);
    }
}
body.home #fp-sec .fp-header {
    padding-top: 40px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #fp-sec .fp-header {
        padding-top: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #fp-sec .fp-header {
        padding-top: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
body.home #fp-sec .fp-header .heading-wrap {
    text-align: left;
}
body.home #fp-sec .fp-header .heading-wrap .heading {
    margin-bottom: 0;
}
body.home #fp-sec .fp-header .heading-wrap .heading .heading-main,
body.home #fp-sec .fp-header .heading-wrap .heading .heading-sub {
    color: #009f7a;
}
body.home #fp-sec .fp-header .heading-wrap .heading .heading-sub {
    line-height: 1.5;
    display: block;
}
body.home #fp-sec .fp-header .heading-wrap .heading .heading-main {
    display: inline-block;
    background-color: white;
    padding: 0.2em 0.2em 0.2em 0;
    letter-spacing: -0.04em;
}
body.home #fp-sec .fp-header .read {
    font-size: 18px;
    line-height: 1.5;
    width: 75%;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #fp-sec .fp-header .read {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
body.home #fp-sec .fp-content {
    position: initial;
}
body.home #fp-sec .fp-content .l-inner--l-fix-r-stretch--t-nspace {
    position: initial;
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow {
    position: initial;
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__body,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body {
    flex: initial;
    width: 662px;
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .profile,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .profile {
    position: relative;
    margin-top: 20px;
    background-color: white;
    padding: 1em 3.75em;
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .profile:before,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .profile:before {
    content: "";
    position: absolute;
    top: 2em;
    left: 0;
    width: 4px;
    height: calc(100% - 2em);
    background-color: #009f7a;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile {
        margin-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile {
        margin-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .profile
    .name,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .profile
    .name {
    font-size: 36px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile
        .name,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile
        .name {
        font-size: calc(100 / 750 * calc(44 * 1) * 1vw);
    }
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .profile
    .position,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .profile
    .position {
    padding-top: 20px;
    font-size: 18px;
    line-height: 1.5;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile
        .position,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile
        .position {
        padding-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile
        .position,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile
        .position {
        padding-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile
        .position,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile
        .position {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .profile
    .flex-list,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .profile
    .flex-list {
    padding-top: 20px;
    justify-content: flex-start;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile
        .flex-list,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile
        .flex-list {
        padding-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile
        .flex-list,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile
        .flex-list {
        padding-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .profile
    .flex-list
    .flex-list__item:first-child,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .profile
    .flex-list
    .flex-list__item:first-child {
    width: 5em;
    flex: initial;
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .profile
    .flex-list
    .flex-list__item:last-child
    ul,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .profile
    .flex-list
    .flex-list__item:last-child
    ul {
    list-style: disc;
    margin-left: 1em;
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__img,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__img {
    position: absolute;
    z-index: -1;
    left: 50%;
    width: 50%;
    height: 80%;
    top: 0;
}
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal
    .c-media-text-content__img
    img,
body.home
    #fp-sec
    .fp-content
    .l-inner--l-fix-r-stretch--t-nspace
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__img
    img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
@media only screen and (max-width: 1200px) {
    body.home #fp-sec .fp-header .heading-wrap .heading .heading-sub {
        display: inline-block;
        background-color: white;
        padding: 0.2em 0.2em 0.2em 0;
        letter-spacing: -0.04em;
    }
    body.home #fp-sec .fp-header .read br {
        display: none;
    }
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body {
        width: 50%;
    }
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__img
        img,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__img
        img {
        object-position: 40% top;
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #fp-sec .fp-header {
        padding-top: 0;
    }
    body.home #fp-sec .fp-header .heading-wrap .heading .heading-main,
    body.home #fp-sec .fp-header .heading-wrap .heading .heading-sub {
        line-height: 1.25;
        text-align: center;
        display: block;
    }
    body.home #fp-sec .fp-header .heading-wrap .heading .heading-sub {
        background-color: initial;
        padding: 0;
        letter-spacing: -0.04em;
    }
    body.home
        #fp-sec
        .fp-header
        .heading-wrap
        .heading
        .heading-main
        .tb_sp_only {
        display: none;
    }
    body.home #fp-sec .fp-header .read {
        width: 100%;
        padding-top: 2vw;
        padding-bottom: 4vw;
    }
    body.home #fp-sec .fp-content .l-inner--l-fix-r-stretch--t-nspace {
        padding-bottom: 0;
        padding-left: 0;
        width: 100%;
    }
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow {
        flex-direction: column-reverse;
    }
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body {
        margin-top: -12vw;
        width: calc(100% - calc(100 / 750 * 40 * 1vw));
    }
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile {
        padding: calc(100 / 750 * 40 * 1vw);
        margin-top: 0;
    }
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile:before,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile:before {
        top: calc(100 / 750 * 40 * 1vw);
        height: calc(100% - calc(100 / 750 * 40 * 1vw) * 2);
    }
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .profile:before,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .profile:before {
        width: 6px;
    }
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__img,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__img {
        position: relative;
        top: initial;
        left: initial;
        width: 100%;
        height: 55vw;
        overflow: hidden;
    }
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal
        .c-media-text-content__img
        img,
    body.home
        #fp-sec
        .fp-content
        .l-inner--l-fix-r-stretch--t-nspace
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__img
        img {
        transform: scale(1.05);
        transform-origin: 100% 100%;
    }
}
body.home #trouble-sec {
    background-color: #f8f8f8;
    position: relative;
    z-index: 50;
}
body.home
    #trouble-sec
    .trouble-header
    .heading-wrap
    .heading
    .heading-main
    .txt-dots {
    background-image: radial-gradient(
        circle at center,
        #009f7a 20%,
        transparent 20%
    );
    background-position: top right;
    background-repeat: repeat-x;
    padding-top: 0.25em;
    letter-spacing: -0.075em;
    background-size: 0.925em 0.3em;
}
body.home #trouble-sec .trouble-content .flex-list {
    padding-bottom: 40px;
    gap: 2em;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #trouble-sec .trouble-content .flex-list {
        padding-bottom: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #trouble-sec .trouble-content .flex-list {
        padding-bottom: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
body.home #trouble-sec .trouble-content .flex-list .flex-list__item img {
    display: block;
    line-height: 1;
}
body.home #trouble-sec .trouble-content .flex-list .flex-list__item h3 {
    background-color: #009f7a;
    color: white;
    padding: 0.2em 1em 0.1em;
    font-size: 22px;
    text-align: center;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #trouble-sec .trouble-content .flex-list .flex-list__item h3 {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
body.home #trouble-sec .trouble-content .flex-list .flex-list__item p {
    margin-top: 20px;
    font-size: 18px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #trouble-sec .trouble-content .flex-list .flex-list__item p {
        margin-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #trouble-sec .trouble-content .flex-list .flex-list__item p {
        margin-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #trouble-sec .trouble-content .flex-list .flex-list__item p {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
body.home #trouble-sec .trouble-content .copy {
    font-size: 28px;
    padding-top: 40px;
    padding-bottom: 40px;
    position: relative;
    font-weight: 600;
    text-align: center;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #trouble-sec .trouble-content .copy {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #trouble-sec .trouble-content .copy {
        padding-top: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #trouble-sec .trouble-content .copy {
        padding-top: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #trouble-sec .trouble-content .copy {
        padding-bottom: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #trouble-sec .trouble-content .copy {
        padding-bottom: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
body.home #trouble-sec .trouble-content .copy:after,
body.home #trouble-sec .trouble-content .copy:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 4px;
    left: 0;
    background-color: #009f7a;
}
body.home #trouble-sec .trouble-content .copy:before {
    top: 0;
}
body.home #trouble-sec .trouble-content .copy:after {
    bottom: 0;
}
body.home #trouble-sec .trouble-content .copy span {
    display: block;
    position: relative;
}
body.home #trouble-sec .trouble-content .copy span:after {
    content: "";
    position: absolute;
    z-index: 50;
    width: calc(46 * 1px);
    height: calc(23 * 1px);
    bottom: calc((23 * 1px + 40px) * -1 * 1.25);
    left: 50%;
    transform: translateX(-50%);
    background-image: url("../images/_svg/trouble-arrow.svg");
    background-repeat: no-repeat;
    background-size: contain;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #trouble-sec .trouble-content .flex-list {
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
    }
    body.home #trouble-sec .trouble-content .copy {
        padding-left: calc(100 / 750 * 40 * 1vw);
        padding-right: calc(100 / 750 * 40 * 1vw);
        text-align: left;
    }
    body.home #trouble-sec .trouble-content .copy:after,
    body.home #trouble-sec .trouble-content .copy:before {
        width: calc(100% - calc(100 / 750 * 40 * 1vw) * 2);
        left: calc(100 / 750 * 40 * 1vw);
    }
    body.home #trouble-sec .trouble-content .copy span:after {
        content: "";
        position: absolute;
        z-index: 50;
        width: calc(46 * 1vw * 0.15);
        height: calc(23 * 1vw * 0.15);
        bottom: calc((23 * 1vw + 2vw) * -1 * 4.2 * 0.15);
        left: 50%;
        transform: translateX(-50%);
        background-image: url("../images/_svg/trouble-arrow.svg");
        background-repeat: no-repeat;
        background-size: contain;
    }
}
body.home #merit-sec {
    position: relative;
    z-index: 60;
}
body.home #merit-sec:before {
    content: "";
    position: absolute;
    top: 0;
    left: 5%;
    width: 95%;
    height: 30%;
    background-color: #1db29c;
    z-index: 61;
}
body.home #merit-sec:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 15%;
    background-color: #f8f8f8;
    z-index: 60;
}
body.home #merit-sec .merit-header {
    position: relative;
    z-index: 62;
}
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal
    .c-media-text-content__img,
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__img {
    width: 300px;
    padding-right: 2em;
}
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal
    .c-media-text-content__img
    img,
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__img
    img {
    width: auto;
    height: 90%;
}
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal
    .c-media-text-content__body,
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body {
    flex: 1;
}
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .heading-wrap
    .heading,
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .heading-wrap
    .heading {
    margin-bottom: 0;
    text-align: left;
}
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .heading-wrap
    .heading
    .heading-sub,
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .heading-wrap
    .heading
    .heading-sub {
    display: block;
    color: white;
    font-size: 28px;
    line-height: 1.25;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .heading-wrap
        .heading
        .heading-sub,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .heading-wrap
        .heading
        .heading-sub {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .heading-wrap
    .heading
    .heading-main,
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .heading-wrap
    .heading
    .heading-main {
    padding-bottom: 20px;
    display: inline-block;
    font-size: 48px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .heading-wrap
        .heading
        .heading-main,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .heading-wrap
        .heading
        .heading-main {
        padding-bottom: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .heading-wrap
        .heading
        .heading-main,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .heading-wrap
        .heading
        .heading-main {
        padding-bottom: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        .heading-wrap
        .heading
        .heading-main,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        .heading-wrap
        .heading
        .heading-main {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal
    .c-media-text-content__body
    .heading-wrap
    .heading
    .heading-main:after,
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    .heading-wrap
    .heading
    .heading-main:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 6px;
    background-color: white;
    bottom: 0;
    left: 0;
}
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal
    .c-media-text-content__body
    p,
body.home
    #merit-sec
    .merit-header
    .merit-header--inner
    .c-media-text-content--horizontal-arrow
    .c-media-text-content__body
    p {
    color: white;
    font-size: 18px;
    padding-top: 20px;
    padding-bottom: 40px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        p,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        p {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        p,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        p {
        padding-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        p,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        p {
        padding-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        p,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        p {
        padding-bottom: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        p,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        p {
        padding-bottom: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
body.home #merit-sec .merit-content {
    position: relative;
    z-index: 64;
    background-color: white;
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
}
body.home #merit-sec .merit-content .merit-company,
body.home #merit-sec .merit-content .merit-employee {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 3.75em;
    padding-right: 3.75em;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #merit-sec .merit-content .merit-company,
    body.home #merit-sec .merit-content .merit-employee {
        padding-top: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #merit-sec .merit-content .merit-company,
    body.home #merit-sec .merit-content .merit-employee {
        padding-top: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #merit-sec .merit-content .merit-company,
    body.home #merit-sec .merit-content .merit-employee {
        padding-bottom: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #merit-sec .merit-content .merit-company,
    body.home #merit-sec .merit-content .merit-employee {
        padding-bottom: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
body.home #merit-sec .merit-content .merit-company .heading,
body.home #merit-sec .merit-content .merit-employee .heading {
    text-align: center;
}
body.home #merit-sec .merit-content .merit-company .heading .heading-main,
body.home #merit-sec .merit-content .merit-employee .heading .heading-main {
    font-size: 48px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #merit-sec .merit-content .merit-company .heading .heading-main,
    body.home #merit-sec .merit-content .merit-employee .heading .heading-main {
        font-size: calc(100 / 750 * calc(50 * 1) * 1vw);
    }
}
body.home #merit-sec .merit-content .merit-company .heading .txt-marker-yellow,
body.home #merit-sec .merit-content .merit-company .heading .txt-marker-white,
body.home #merit-sec .merit-content .merit-employee .heading .txt-marker-yellow,
body.home #merit-sec .merit-content .merit-employee .heading .txt-marker-white {
    z-index: 66;
}
body.home #merit-sec .merit-content .merit-company .flex-list,
body.home #merit-sec .merit-content .merit-employee .flex-list {
    gap: 2em;
}
body.home #merit-sec .merit-content .merit-company .flex-list img,
body.home #merit-sec .merit-content .merit-employee .flex-list img {
    display: block;
    width: 55%;
    margin: 0 auto;
}
body.home #merit-sec .merit-content .merit-company .flex-list h4,
body.home #merit-sec .merit-content .merit-employee .flex-list h4 {
    font-size: 28px;
    line-height: 1.25;
    text-align: center;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #merit-sec .merit-content .merit-company .flex-list h4,
    body.home #merit-sec .merit-content .merit-employee .flex-list h4 {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
body.home #merit-sec .merit-content .merit-company .flex-list p,
body.home #merit-sec .merit-content .merit-employee .flex-list p {
    padding-top: 10px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #merit-sec .merit-content .merit-company .flex-list p,
    body.home #merit-sec .merit-content .merit-employee .flex-list p {
        padding-top: calc(10 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #merit-sec .merit-content .merit-company .flex-list p,
    body.home #merit-sec .merit-content .merit-employee .flex-list p {
        padding-top: calc(calc(100 / 750 * 10 * 1vw) / 0.75);
    }
}
body.home #merit-sec .merit-content .merit-company .flex-list h4 {
    min-height: calc(28px * 1.25 * 2);
}
body.home #merit-sec .merit-content .merit-employee {
    background-color: #edf9fd;
}
@media only screen and (max-width: 1293px) {
    body.home #merit-sec:before {
        left: 1%;
        width: 99%;
    }
}
@media only screen and (max-width: 1186px) {
    body.home #merit-sec:before {
        left: 0;
        width: 100%;
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #merit-sec:before {
        left: 5%;
        width: 95%;
        height: 30%;
    }
    body.home #merit-sec .l-inner--b-nspace {
        padding-left: calc(calc(100 / 750 * 40 * 1vw) * 2);
        padding-right: calc(calc(100 / 750 * 40 * 1vw) * 2);
    }
    body.home #merit-sec .l-inner--t-nspace {
        padding-left: calc(calc(100 / 750 * 40 * 1vw) * 2);
        padding-right: calc(calc(100 / 750 * 40 * 1vw) * 2);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #merit-sec:before {
        height: 20%;
    }
    body.home #merit-sec:after {
        height: 10%;
    }
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow {
        flex-direction: row;
    }
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__img,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__img {
        width: 35%;
    }
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__img
        img,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__img
        img {
        width: 100%;
        height: auto;
        margin-top: 2vw;
    }
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body {
        width: calc(100% - 35%);
    }
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal
        .c-media-text-content__body
        p,
    body.home
        #merit-sec
        .merit-header
        .merit-header--inner
        .c-media-text-content--horizontal-arrow
        .c-media-text-content__body
        p {
        width: 152%;
        margin-left: -27vw;
    }
    body.home #merit-sec .merit-content .merit-company,
    body.home #merit-sec .merit-content .merit-employee {
        padding: calc(calc(100 / 750 * 40 * 1vw) * 2) calc(100 / 750 * 40 * 1vw);
    }
    body.home #merit-sec .merit-content .merit-company .flex-list,
    body.home #merit-sec .merit-content .merit-employee .flex-list {
        gap: 1em;
    }
    body.home #merit-sec .merit-content .merit-company .flex-list img,
    body.home #merit-sec .merit-content .merit-employee .flex-list img {
        width: 50%;
    }
    body.home #merit-sec .merit-content .merit-company .flex-list p,
    body.home #merit-sec .merit-content .merit-employee .flex-list p {
        text-align: left;
    }
    body.home #merit-sec .merit-content .merit-company .flex-list h4 {
        min-height: initial;
    }
}
body.home #flow-sec {
    position: relative;
    z-index: 70;
}
body.home #flow-sec .flow-content .copy {
    text-align: center;
    font-size: 28px;
    padding-bottom: 40px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #flow-sec .flow-content .copy {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #flow-sec .flow-content .copy {
        padding-bottom: calc(40 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #flow-sec .flow-content .copy {
        padding-bottom: calc(calc(100 / 750 * 40 * 1vw) / 0.75);
    }
}
body.home #flow-sec .flow-content .copy .ribbon-base {
    color: white;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0.6em;
    padding-bottom: 0.3em;
    padding-left: 1em;
    padding-right: 1em;
    position: relative;
    background-color: #2a5195;
    display: block;
    width: calc(80% - 52px * 2);
    line-height: 1;
    font-weight: 600;
}
body.home #flow-sec .flow-content .copy .ribbon-base .txt-dots {
    background-image: radial-gradient(
        circle at center,
        #eaff00 20%,
        transparent 20%
    );
    background-position: top right;
    background-repeat: repeat-x;
    padding-top: 0.25em;
    letter-spacing: -0.075em;
    background-size: 0.925em 0.3em;
}
body.home #flow-sec .flow-content .copy .ribbon-base:before,
body.home #flow-sec .flow-content .copy .ribbon-base:after {
    content: "";
    position: absolute;
    width: 52px;
    height: calc(52px * 1.0384615385);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    bottom: calc(52px * 1.0384615385 * 0.15 * -1);
}
body.home #flow-sec .flow-content .copy .ribbon-base:before {
    left: calc(52px * 0.75 * -1);
    background-image: url("../images/flow-ttl-ribbon-l.png");
}
body.home #flow-sec .flow-content .copy .ribbon-base:after {
    right: calc(52px * 0.75 * -1);
    background-image: url("../images/flow-ttl-ribbon-r.png");
}
body.home #flow-sec .flow-content .flex-list {
    gap: 2em;
    flex-wrap: wrap;
    justify-content: flex-start;
}
body.home #flow-sec .flow-content .flex-list .flex-list__item {
    width: calc((100% - 4em) / 3);
    flex: initial;
}
body.home #flow-sec .flow-content .flex-list .flex-list__item:before {
    content: "";
    position: absolute;
    top: 30%;
    right: calc((62 / 2 * 1px + 1em) * -1);
    width: calc(62 * 1px);
    height: calc(31 * 1px);
    background-image: url("../images/_svg/flow-arrow-horizontal.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
body.home
    #flow-sec
    .flow-content
    .flex-list
    .flex-list__item:nth-child(3):before,
body.home
    #flow-sec
    .flow-content
    .flex-list
    .flex-list__item:last-child:before {
    display: none;
}
body.home #flow-sec .flow-content .flex-list .flex-list__item img {
    display: block;
    margin: 0 auto;
    width: 30%;
}
body.home
    #flow-sec
    .flow-content
    .flex-list
    .flex-list__item
    .heading-flow-item {
    position: relative;
    margin-top: 20px;
    margin-bottom: 30px;
    padding-bottom: 20px;
    line-height: 1.25;
    text-align: center;
    font-size: 28px;
    color: #2a5195;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #flow-sec
        .flow-content
        .flex-list
        .flex-list__item
        .heading-flow-item {
        margin-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #flow-sec
        .flow-content
        .flex-list
        .flex-list__item
        .heading-flow-item {
        margin-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #flow-sec
        .flow-content
        .flex-list
        .flex-list__item
        .heading-flow-item {
        margin-bottom: calc(30 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #flow-sec
        .flow-content
        .flex-list
        .flex-list__item
        .heading-flow-item {
        margin-bottom: calc(calc(100 / 750 * 30 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home
        #flow-sec
        .flow-content
        .flex-list
        .flex-list__item
        .heading-flow-item {
        padding-bottom: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #flow-sec
        .flow-content
        .flex-list
        .flex-list__item
        .heading-flow-item {
        padding-bottom: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #flow-sec
        .flow-content
        .flex-list
        .flex-list__item
        .heading-flow-item {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
body.home
    #flow-sec
    .flow-content
    .flex-list
    .flex-list__item
    .heading-flow-item:before,
body.home
    #flow-sec
    .flow-content
    .flex-list
    .flex-list__item
    .heading-flow-item:after {
    content: "";
    position: absolute;
}
body.home
    #flow-sec
    .flow-content
    .flex-list
    .flex-list__item
    .heading-flow-item:before {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #65d3e3;
}
body.home
    #flow-sec
    .flow-content
    .flex-list
    .flex-list__item
    .heading-flow-item:after {
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 10px solid #65d3e3;
    border-bottom: 0;
}
body.home #flow-sec .flow-content .flex-list .flex-list__item p {
    margin-top: 20px;
    line-height: 1.5;
    font-size: 18px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #flow-sec .flow-content .flex-list .flex-list__item p {
        margin-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #flow-sec .flow-content .flex-list .flex-list__item p {
        margin-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #flow-sec .flow-content .flex-list .flex-list__item p {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #flow-sec {
        border-top: 1px solid #cccccc;
    }
    body.home #flow-sec .flow-content .l-inner--t-nspace {
        padding-bottom: 26vw;
    }
    body.home #flow-sec .flow-content .copy .ribbon-base {
        width: calc(100% - 9.46vw * 2 * 1);
    }
    body.home #flow-sec .flow-content .copy .ribbon-base:before,
    body.home #flow-sec .flow-content .copy .ribbon-base:after {
        width: calc(9.46vw * 1);
        height: calc(9.46vw * 1.0384615385 * 1);
        bottom: calc(9.46vw * 1.0384615385 * 0.15 * -1 * 1);
    }
    body.home #flow-sec .flow-content .copy .ribbon-base:before {
        left: calc(9.46vw * 0.75 * -1 * 1);
        background-image: url("../images/flow-ttl-ribbon-l.png");
    }
    body.home #flow-sec .flow-content .copy .ribbon-base:after {
        right: calc(9.46vw * 0.75 * -1 * 1);
        background-image: url("../images/flow-ttl-ribbon-r.png");
    }
    body.home #flow-sec .flow-content .swiper-container {
        padding: 0 2em;
    }
    body.home #flow-sec .flow-content .swiper-wrapper.flex-list {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 0;
    }
    body.home
        #flow-sec
        .flow-content
        .swiper-wrapper.flex-list
        .swiper-slide.flex-list__item {
        width: 100%;
        flex: none;
    }
    body.home
        #flow-sec
        .flow-content
        .swiper-wrapper.flex-list
        .swiper-slide.flex-list__item:before {
        display: none;
    }
    body.home #flow-sec .flow-content .swiper-pagination {
        bottom: -10vw;
    }
}
body.home #plan-sec {
    position: relative;
    z-index: 80;
    background-color: #e8f7f5;
}
body.home #plan-sec .plan-content {
    /* スクロールアイコン */
}
body.home #plan-sec .plan-content table {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    table-layout: fixed;
}
body.home #plan-sec .plan-content table td {
    padding-left: 1em;
    padding-right: 1em;
    background-color: #fff;
}
body.home #plan-sec .plan-content table td {
    padding-top: 1em;
    padding-bottom: 1em;
    text-align: center;
    border-bottom: 1px solid #cccccc;
}
body.home #plan-sec .plan-content table thead {
    text-align: center;
}
body.home #plan-sec .plan-content table thead tr > :first-child {
    width: 140px;
    background-color: #e8f7f5;
}
body.home #plan-sec .plan-content table thead tr th {
    position: relative;
    font-weight: 400;
    text-align: center;
    padding: 0;
}
body.home #plan-sec .plan-content table thead tr th.plan1,
body.home #plan-sec .plan-content table thead tr th.plan2,
body.home #plan-sec .plan-content table thead tr th.plan3 {
    width: 33.3333%;
}
body.home #plan-sec .plan-content table thead tr th .type {
    border-radius: 3px;
    padding: 0.25em 0.5em 0.1em;
    background-color: white;
    font-weight: 600;
}
body.home #plan-sec .plan-content table thead tr th .type.--recommend {
    background-color: #eaff00;
}
body.home #plan-sec .plan-content table thead tr th.plan1 .detail {
    background: #3ec7b3;
}
body.home #plan-sec .plan-content table thead tr th.plan2 .detail {
    background: #009f7a;
}
body.home #plan-sec .plan-content table thead tr th.plan3 .detail {
    background: #007a5f;
}
body.home #plan-sec .plan-content table thead tr th .detail {
    padding-top: 1em;
    padding-left: 1em;
    padding-right: 1em;
    padding-bottom: 1em;
}
body.home #plan-sec .plan-content table thead tr th .label-recommend {
    position: absolute;
    top: 0.25em;
    left: 0.25em;
    z-index: 82;
    width: 3.5em;
}
body.home #plan-sec .plan-content table thead tr th .plan-ttl {
    margin-top: 20px;
    margin-bottom: 10px;
    color: #fff;
    font-weight: 600;
    font-size: 28px;
    letter-spacing: -0.06em;
    line-height: 1.1;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-ttl {
        margin-top: calc(20 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-ttl {
        margin-top: calc(calc(100 / 750 * 20 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-ttl {
        margin-bottom: calc(10 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-ttl {
        margin-bottom: calc(calc(100 / 750 * 10 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-ttl {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
body.home #plan-sec .plan-content table thead tr th .plan-ttl span {
    font-size: 0.6em;
    line-height: 1.1;
}
body.home #plan-sec .plan-content table thead tr th .plan-description {
    color: white;
    white-space: wrap;
    line-height: 1.25;
    font-size: 14px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-description {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body.home #plan-sec .plan-content table thead tr th .plan-price {
    font-size: 36px;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: -0.06em;
    color: white;
    margin-top: 10px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-price {
        font-size: calc(100 / 750 * calc(44 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-price {
        margin-top: calc(10 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-price {
        margin-top: calc(calc(100 / 750 * 10 * 1vw) / 0.75);
    }
}
body.home #plan-sec .plan-content table thead tr th .plan-price .month,
body.home #plan-sec .plan-content table thead tr th .plan-price .yen {
    font-size: 14px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content table thead tr th .plan-price .month,
    body.home #plan-sec .plan-content table thead tr th .plan-price .yen {
        font-size: calc(100 / 750 * calc(20 * 1) * 1vw);
    }
}
body.home #plan-sec .plan-content table thead tr th .plan-price .month {
    margin-right: 0.5em;
}
body.home #plan-sec .plan-content table thead tr th .plan-price .yen {
    margin-left: 0.5em;
}
body.home #plan-sec .plan-content table tbody th {
    text-align: left;
    font-size: 1em;
    border-bottom: 1px solid #cccccc;
    background-color: #e8f7f5;
    padding: 1em 0.5em;
    line-height: 1.5;
    width: 140px;
    font-size: 16px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content table tbody th {
        font-size: calc(100 / 750 * calc(24 * 1) * 1vw);
    }
}
body.home #plan-sec .plan-content table tbody td {
    position: relative;
}
body.home #plan-sec .plan-content table tbody td:nth-child(n + 3):before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    height: 40%;
    width: 1px;
    background-color: #efefef;
}
body.home #plan-sec .plan-content table tbody td img.status {
    width: 1em;
    height: 1em;
}
body.home #plan-sec .plan-content table .btn {
    background: #fff;
    color: white;
    font-weight: 600;
    padding: 0.75em 1em;
    line-height: 1.1;
    border-radius: 5px;
    display: block;
    text-decoration: none;
    font-size: 16px;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content table .btn {
        font-size: calc(100 / 750 * calc(28 * 1) * 1vw);
    }
}
body.home #plan-sec .plan-content table .btn.btn-plan1 {
    background: #3ec7b3;
    color: #fff;
}
body.home #plan-sec .plan-content table .btn.btn-plan2 {
    background: #009f7a;
    color: #fff;
}
body.home #plan-sec .plan-content table .btn.btn-plan3 {
    background: #007a5f;
    color: #fff;
}
body.home #plan-sec .plan-content .scroll-container {
    position: relative;
}
body.home #plan-sec .plan-content .icon-scroll {
    position: absolute; /* 親要素（.scroll-container）を基準に配置 */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 130px;
    height: auto;
    z-index: 89;
    pointer-events: none; /* ユーザー操作を無効化 */
    opacity: 1; /* 初期状態で表示 */
    transition: opacity 0.5s ease; /* フェードアウトのアニメーション */
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content .icon-scroll {
        width: 30vw;
    }
}
body.home #plan-sec .plan-content .scroll-box {
    cursor: grab; /* 通常時のカーソルを手のマークに変更 */
    cursor: -webkit-grab; /* Safari対応 */
    overflow-x: auto;
    overflow-y: visible;
    display: flex;
    justify-content: flex-start;
}
body.home #plan-sec .plan-content .scroll-box.--sp-only-scroll {
    cursor: initial;
    cursor: initial;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content .scroll-box.--sp-only-scroll {
        cursor: grab; /* 通常時のカーソルを手のマークに変更 */
        cursor: -webkit-grab; /* Safari対応 */
    }
}
body.home #plan-sec .plan-content .scroll-box:active {
    cursor: grabbing; /* マウス押下中のカーソル */
    cursor: -webkit-grabbing; /* Safari対応 */
}
body.home #plan-sec .plan-content .scroll-box:active.--sp-only-scroll {
    cursor: initial;
    cursor: initial;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content .scroll-box:active.--sp-only-scroll {
        cursor: grabbing; /* マウス押下中のカーソル */
        cursor: -webkit-grabbing; /* Safari対応 */
    }
}
body.home #plan-sec .plan-content .scroll-box.dragging {
    cursor: grabbing; /* ドラッグ中のカーソルスタイル */
    cursor: -webkit-grabbing; /* Safari対応 */
}
body.home #plan-sec .plan-content .scroll-box.dragging.--sp-only-scroll {
    cursor: initial;
    cursor: initial;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content .scroll-box.dragging.--sp-only-scroll {
        cursor: grabbing; /* ドラッグ中のカーソルスタイル */
        cursor: -webkit-grabbing; /* Safari対応 */
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #plan-sec .plan-content .l-inner--t-nspace {
        padding-right: 0;
    }
    body.home #plan-sec .plan-content table {
        margin-right: calc(100 / 750 * 40 * 1vw);
        table-layout: fixed;
    }
    body.home #plan-sec .plan-content table td {
        white-space: nowrap; /* 横スクロールを強制 */
        padding: 1em;
    }
    body.home #plan-sec .plan-content table th.sticky-col {
        position: sticky;
        top: 0;
        left: 0;
        z-index: 84;
        border-bottom: 1px solid #dbdbdb;
    }
    body.home #plan-sec .plan-content table thead tr > :first-child {
        width: 25vw;
    }
    body.home #plan-sec .plan-content table thead tr th.plan1,
    body.home #plan-sec .plan-content table thead tr th.plan2,
    body.home #plan-sec .plan-content table thead tr th.plan3 {
        width: 40vw;
    }
    body.home #plan-sec .plan-content table thead tr th.plan1 .label-recommend,
    body.home #plan-sec .plan-content table thead tr th.plan2 .label-recommend,
    body.home #plan-sec .plan-content table thead tr th.plan3 .label-recommend {
        top: -9vw;
        width: 12vw;
    }
    body.home #plan-sec .plan-content table tbody th {
        width: 25vw;
    }
}
body.home #faq-sec {
    position: relative;
    z-index: 90;
}
body.home #footer-cta-sec {
    position: relative;
    z-index: 100;
    padding-top: 180px;
    padding-bottom: 60px;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #footer-cta-sec {
        padding-top: calc(180 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #footer-cta-sec {
        padding-top: calc(calc(100 / 750 * 180 * 1vw) / 0.75);
    }
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #footer-cta-sec {
        padding-bottom: calc(60 / calc(1162 - 1) * 100vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #footer-cta-sec {
        padding-bottom: calc(calc(100 / 750 * 60 * 1vw) / 0.75);
    }
}
body.home #footer-cta-sec .footer-cta-inner {
    position: relative;
    z-index: 104;
    padding: 2.5em 3.75em;
    background-color: white;
}
body.home #footer-cta-sec .footer-cta-inner .footer-cta-header .heading-wrap {
    text-align: center;
}
body.home
    #footer-cta-sec
    .footer-cta-inner
    .footer-cta-header
    .heading-wrap
    .heading {
    text-align: center;
    color: #009f7a;
}
body.home
    #footer-cta-sec
    .footer-cta-inner
    .footer-cta-header
    .heading-wrap
    .heading
    .heading-sub {
    position: relative;
    font-size: 28px;
    display: inline-block;
    line-height: 1;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #footer-cta-sec
        .footer-cta-inner
        .footer-cta-header
        .heading-wrap
        .heading
        .heading-sub {
        font-size: calc(100 / 750 * calc(32 * 1) * 1vw);
    }
}
body.home
    #footer-cta-sec
    .footer-cta-inner
    .footer-cta-header
    .heading-wrap
    .heading
    .heading-sub:before,
body.home
    #footer-cta-sec
    .footer-cta-inner
    .footer-cta-header
    .heading-wrap
    .heading
    .heading-sub:after {
    content: "";
    position: absolute;
    width: calc(13 * 1px);
    height: calc(45 * 1px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
body.home
    #footer-cta-sec
    .footer-cta-inner
    .footer-cta-header
    .heading-wrap
    .heading
    .heading-sub:before {
    left: calc(13 * -2 * 1px);
    background-image: url("../images/_svg/icon_fukidasi-line-double-l_green.svg");
}
body.home
    #footer-cta-sec
    .footer-cta-inner
    .footer-cta-header
    .heading-wrap
    .heading
    .heading-sub:after {
    right: calc(16 * -2 * 1px);
    background-image: url("../images/_svg/icon_fukidasi-line-double-r_green.svg");
}
body.home
    #footer-cta-sec
    .footer-cta-inner
    .footer-cta-header
    .heading-wrap
    .heading
    .heading-main {
    font-size: 36px;
    display: block;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home
        #footer-cta-sec
        .footer-cta-inner
        .footer-cta-header
        .heading-wrap
        .heading
        .heading-main {
        font-size: calc(100 / 750 * calc(34 * 1) * 1vw);
    }
}
body.home #footer-cta-sec .footer-cta-inner .footer-cta-content {
    display: flex;
    justify-content: center;
    gap: 1em;
}
body.home #footer-cta-sec .footer-cta-inner .footer-cta-content a {
    font-size: 28px;
    padding: 0.5em 1em;
    background-color: white;
    color: #000000;
    border-radius: 5px;
    text-decoration: none;
}
@media only screen and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #footer-cta-sec .footer-cta-inner .footer-cta-content a {
        font-size: calc(28 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #footer-cta-sec .footer-cta-inner .footer-cta-content a {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
body.home #footer-cta-sec .cta-bg {
    position: absolute;
    z-index: 100;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
body.home #footer-cta-sec .cta-bg .scroll-infinity {
    height: 100%;
}
body.home #footer-cta-sec .cta-bg .scroll-infinity .scroll-infinity__wrap {
    height: 100%;
}
body.home
    #footer-cta-sec
    .cta-bg
    .scroll-infinity
    .scroll-infinity__wrap
    .scroll-infinity__list {
    height: 100%;
}
body.home
    #footer-cta-sec
    .cta-bg
    .scroll-infinity
    .scroll-infinity__wrap
    .scroll-infinity__list
    .scroll-infinity__item {
    width: auto;
}
@media only screen and (max-width: calc(767 * 1px)) {
    body.home #footer-cta-sec .footer-cta-inner {
        position: relative;
        z-index: 104;
        padding: calc(calc(100 / 750 * 40 * 1vw) * 1.5)
            calc(100 / 750 * 40 * 1vw);
    }
    body.home
        #footer-cta-sec
        .footer-cta-inner
        .footer-cta-header
        .heading-wrap
        .heading
        .heading-sub:before,
    body.home
        #footer-cta-sec
        .footer-cta-inner
        .footer-cta-header
        .heading-wrap
        .heading
        .heading-sub:after {
        width: calc(16 * 1vw * 0.15);
        height: calc(45 * 1vw * 0.15);
        bottom: -0.1em;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    body.home
        #footer-cta-sec
        .footer-cta-inner
        .footer-cta-header
        .heading-wrap
        .heading
        .heading-sub:before {
        left: calc(12 * -2 * 1vw * 0.15);
        background-image: url("../images/_svg/icon_fukidasi-line-double-l_green.svg");
    }
    body.home
        #footer-cta-sec
        .footer-cta-inner
        .footer-cta-header
        .heading-wrap
        .heading
        .heading-sub:after {
        right: calc(12 * -2 * 1vw * 0.15);
        background-image: url("../images/_svg/icon_fukidasi-line-double-r_green.svg");
    }
    body.home #footer-cta-sec .footer-cta-inner .footer-cta-content {
        display: flex;
        justify-content: center;
        gap: 1em;
    }
    body.home #footer-cta-sec .footer-cta-inner .footer-cta-content a {
        font-size: 28px;
        padding: 0.5em 1em;
        background-color: white;
        color: #000000;
        border-radius: 5px;
        text-decoration: none;
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc((calc(1162 - 1)) * 1px)) {
    body.home #footer-cta-sec .footer-cta-inner .footer-cta-content a {
        font-size: calc(28 / 1162 * 1 * 100 * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) and (max-width: calc(767 * 1px)) {
    body.home #footer-cta-sec .footer-cta-inner .footer-cta-content a {
        font-size: calc(100 / 750 * calc(40 * 1) * 1vw);
    }
}
@media only screen and (max-width: calc(767 * 1px)) {
    .wp-block-media-text {
        display: flex;
        flex-direction: column; /* 垂直方向に並べる */
        margin-top: 1.5em;
    }
    .wp-block-media-text .wp-block-media-text__media {
        width: 100%; /* メディア部分を全幅 */
        margin-bottom: 1rem; /* 下に余白を追加 */
    }
    .wp-block-media-text .wp-block-media-text__content {
        width: 100%; /* テキスト部分を全幅 */
        padding-left: 0;
        padding-right: 0;
    }
}
.clear {
    clear: both;
}

/* JSでの状態変化
---------------------------------------------------------------------- */
/* ======================================================================

MW WP Form お問い合わせページ
ラジオボタンをクリックしたら色を変える。

====================================================================== */
.wpcf7-list-item label.js-type-radio-current {
    border: 2px solid #009f7a !important;
}

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

c-right-end-cta-button.js・・・・・js-sp_menu_open_onlyを付与される。

ヘッダーのセカンダリーのボタンで、cta-right-end-btnクラスのあるものは、一旦消す。
スマホのメニューがオープンになったら、表示

====================================================================== */
.js-sp_menu_open_only {
    display: none;
}

body.js-toggle-open .js-sp_menu_open_only {
    display: block;
}

/*======================================================================
// スクロールするとふわっと出現してくるあの表現
// https://www.tipswork.net/css/853/
======================================================================*/
/*----------------------------
js-scroll_up ｜下から上へ出現
----------------------------*/
.js-scroll_up {
    transition: 1s ease-in-out;
    transform: translateY(50px);
    opacity: 0;
}

.js-scroll_up.on {
    transform: translateY(0);
    opacity: 1;
}

/*----------------------------
js-scroll_left ｜左から出現
----------------------------*/
.js-scroll_left {
    -webkit-transition: 1s ease-in-out;
    -moz-transition: 1s ease-in-out;
    -o-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
    transform: translateX(calc(50px * -1));
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}

.js-scroll_left.on {
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    transform: translateX(0);
}

/*----------------------------
js-scroll_right ｜右から出現
----------------------------*/
.js-scroll_right {
    -webkit-transition: 1s ease-in-out;
    -moz-transition: 1s ease-in-out;
    -o-transition: 1s ease-in-out;
    transition: 1s ease-in-out;
    transform: translateX(50px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}

.js-scroll_right.on {
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    transform: translateX(0);
}

.showdelay0 {
    transition-delay: 0s;
}

.showdelay1 {
    transition-delay: 0.2s;
}

.showdelay2 {
    transition-delay: 0.4s;
}

.showdelay3 {
    transition-delay: 0.6s;
}

.showdelay5 {
    transition-delay: 0.8s;
}

.showdelay6 {
    transition-delay: 1s;
}

.showdelay7 {
    transition-delay: 1.2s;
}

.showdelay8 {
    transition-delay: 1.4s;
}

.showdelay9 {
    transition-delay: 1.6s;
}

.showdelay10 {
    transition-delay: 1.8s;
}

.showdelay11 {
    transition-delay: 2s;
}

@media only screen and (max-width: calc(767 * 1px)) {
    .showdelay0 {
        transition-delay: 0s !important;
    }
    .showdelay1 {
        transition-delay: 0s !important;
    }
    .showdelay2 {
        transition-delay: 0s !important;
    }
    .showdelay3 {
        transition-delay: 0s !important;
    }
    .showdelay4 {
        transition-delay: 0s !important;
    }
    .showdelay4 {
        transition-delay: 0s !important;
    }
    .showdelay6 {
        transition-delay: 0s !important;
    }
    .showdelay7 {
        transition-delay: 0s !important;
    }
    .showdelay8 {
        transition-delay: 0s !important;
    }
    .showdelay9 {
        transition-delay: 0s !important;
    }
    .showdelay10 {
        transition-delay: 0s !important;
    }
    .showdelay11 {
        transition-delay: 0s !important;
    }
}
/* ======================================================================

下から一文字ずつ登場するテキストアニメーション　下から表示される
https://give-shot.jp/tokyocss/under-in-text/

====================================================================== */
@keyframes js-txt-up-start-anim-wrap {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes js-txt-up-start-anim-span {
    0% {
        transform: translateY(110%); /*表示範囲外から*/
        opacity: 0;
    }
    60% {
        transform: translateY(0); /*下がる*/
    }
    100% {
        transform: translateY(0); /*待機*/
        opacity: 1;
    }
}
/*** アニメーションする要素の親 ***/
.js-txt-up-start {
    display: inline-flex !important; /*　横並びに */
    overflow: hidden; /* はみ出たものを非表示に */
    flex-wrap: wrap;
}

/*** アニメーションを適用する要素 ***/
.c-heading__main.js-txt-up-start {
    opacity: 0;
    animation: 1.5s js-txt-up-start-anim-wrap ease; /* アニメーション */
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.js-txt-up-start span {
    opacity: 0;
}

.js-txt-up-start span.view {
    transform: translateY(110%); /*デフォルトで下に隠す*/
    opacity: 0;
    display: block; /*ブロック要素に*/
    animation: 1.5s js-txt-up-start-anim-span ease; /* アニメーション */
    animation-delay: 0.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    color: #000000;
}

.js-txt-up-start.--white span.view {
    color: #ffffff;
}

/*** 各span(文字)に遅延時間delayを設定 ***/
.js-txt-up-start span.view:nth-child(1) {
    animation-delay: calc(0.2s + 0s);
}

.js-txt-up-start span.view:nth-child(2) {
    animation-delay: calc(0.2s + 0.03s);
}

.js-txt-up-start span.view:nth-child(3) {
    animation-delay: calc(0.2s + 0.06s);
}

.js-txt-up-start span.view:nth-child(4) {
    animation-delay: calc(0.2s + 0.09s);
}

.js-txt-up-start span.view:nth-child(5) {
    animation-delay: calc(0.2s + 0.12s);
}

.js-txt-up-start span.view:nth-child(6) {
    animation-delay: calc(0.2s + 0.15s);
}

.js-txt-up-start span.view:nth-child(7) {
    animation-delay: calc(0.2s + 0.18s);
}

.js-txt-up-start span.view:nth-child(8) {
    animation-delay: calc(0.2s + 0.21s);
}

.js-txt-up-start span.view:nth-child(9) {
    animation-delay: calc(0.2s + 0.24s);
}

.js-txt-up-start span.view:nth-child(10) {
    animation-delay: calc(0.2s + 0.27s);
}

.js-txt-up-start span.view:nth-child(11) {
    animation-delay: calc(0.2s + 0.3s);
}

.js-txt-up-start span.view:nth-child(12) {
    animation-delay: calc(0.2s + 0.33s);
}

.js-txt-up-start span.view:nth-child(13) {
    animation-delay: calc(0.2s + 0.36s);
}

.js-txt-up-start span.view:nth-child(14) {
    animation-delay: calc(0.2s + 0.39s);
}

.js-txt-up-start span.view:nth-child(15) {
    animation-delay: calc(0.2s + 0.42s);
}

.js-txt-up-start span.view:nth-child(16) {
    animation-delay: calc(0.2s + 0.45s);
}

.js-txt-up-start span.view:nth-child(17) {
    animation-delay: calc(0.2s + 0.48s);
}

.js-txt-up-start span.view:nth-child(18) {
    animation-delay: calc(0.2s + 0.51s);
}

.js-txt-up-start span.view:nth-child(19) {
    animation-delay: calc(0.2s + 0.54s);
}

.js-txt-up-start span.view:nth-child(20) {
    animation-delay: calc(0.2s + 0.57s);
}

.js-txt-up-start span.view:nth-child(21) {
    animation-delay: calc(0.2s + 0.6s);
}

.js-txt-up-start span.view:nth-child(22) {
    animation-delay: calc(0.2s + 0.63s);
}

.js-txt-up-start span.view:nth-child(23) {
    animation-delay: calc(0.2s + 0.66s);
}

.js-txt-up-start span.view:nth-child(24) {
    animation-delay: calc(0.2s + 0.69s);
}

.js-txt-up-start span.view:nth-child(25) {
    animation-delay: calc(0.2s + 0.72s);
}

.js-txt-up-start span.view:nth-child(26) {
    animation-delay: calc(0.2s + 0.75s);
}

.js-txt-up-start span.view:nth-child(27) {
    animation-delay: calc(0.2s + 0.78s);
}

.js-txt-up-start span.view:nth-child(28) {
    animation-delay: calc(0.2s + 0.81s);
}

.js-txt-up-start span.view:nth-child(29) {
    animation-delay: calc(0.2s + 0.84s);
}

.js-txt-up-start span.view:nth-child(30) {
    animation-delay: calc(0.2s + 0.87s);
}

.js-txt-up-start span.view:nth-child(31) {
    animation-delay: calc(0.2s + 0.9s);
}

.js-txt-up-start span.view:nth-child(32) {
    animation-delay: calc(0.2s + 0.93s);
}

.js-txt-up-start span.view:nth-child(33) {
    animation-delay: calc(0.2s + 0.96s);
}

.js-txt-up-start span.view:nth-child(34) {
    animation-delay: calc(0.2s + 0.99s);
}

.js-txt-up-start span.view:nth-child(35) {
    animation-delay: calc(0.2s + 1.02s);
}

.js-txt-up-start span.view:nth-child(36) {
    animation-delay: calc(0.2s + 1.05s);
}

.js-txt-up-start span.view:nth-child(37) {
    animation-delay: calc(0.2s + 1.08s);
}

.js-txt-up-start span.view:nth-child(38) {
    animation-delay: calc(0.2s + 1.11s);
}

.js-txt-up-start span.view:nth-child(39) {
    animation-delay: calc(0.2s + 1.14s);
}

.js-txt-up-start span.view:nth-child(40) {
    animation-delay: calc(0.2s + 1.17s);
}

.js-txt-up-start span.view:nth-child(41) {
    animation-delay: calc(0.2s + 1.2s);
}

.js-txt-up-start span.view:nth-child(42) {
    animation-delay: calc(0.2s + 1.23s);
}

.js-txt-up-start span.view:nth-child(43) {
    animation-delay: calc(0.2s + 1.26s);
}

.js-txt-up-start span.view:nth-child(44) {
    animation-delay: calc(0.2s + 1.29s);
}

.js-txt-up-start span.view:nth-child(45) {
    animation-delay: calc(0.2s + 1.32s);
}

.js-txt-up-start span.view:nth-child(46) {
    animation-delay: calc(0.2s + 1.35s);
}

.js-txt-up-start span.view:nth-child(47) {
    animation-delay: calc(0.2s + 1.38s);
}

.js-txt-up-start span.view:nth-child(48) {
    animation-delay: calc(0.2s + 1.41s);
}

.js-txt-up-start span.view:nth-child(49) {
    animation-delay: calc(0.2s + 1.44s);
}

.js-txt-up-start span.view:nth-child(50) {
    animation-delay: calc(0.2s + 1.47s);
}

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

下から一文字ずつ登場するテキストアニメーション　上に消える
https://give-shot.jp/tokyocss/under-in-text/

====================================================================== */
@keyframes js-txt-up-end-anim-span {
    0% {
        transform: translateY(0); /*通常の位置*/
        opacity: 1;
    }
    30% {
        opacity: 0;
    }
    60% {
        transform: translateY(-110%); /*上がる*/
        opacity: 0;
    }
    100% {
        transform: translateY(-110%); /*待機*/
        opacity: 0;
    }
}
/*** アニメーションする要素の親 ***/
.js-txt-up-end {
    display: inline-flex !important; /*　横並びに */
    overflow: hidden; /* はみ出たものを非表示に */
}

/*** アニメーションを適用する要素 ***/
.js-txt-up-end span {
    transform: translateY(0); /*デフォルトで下に隠す*/
    opacity: 1;
    display: block; /*ブロック要素に*/
    animation: 1s js-txt-up-end-anim-span ease; /* アニメーション */
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    color: #000000;
}

.js-txt-up-end.--white span {
    color: #ffffff;
}

/*** 各span(文字)に遅延時間delayを設定 ***/
.js-txt-up-end span:nth-child(1) {
    animation-delay: calc(0s + 0s);
}

.js-txt-up-end span:nth-child(2) {
    animation-delay: calc(0s + 0.03s);
}

.js-txt-up-end span:nth-child(3) {
    animation-delay: calc(0s + 0.06s);
}

.js-txt-up-end span:nth-child(4) {
    animation-delay: calc(0s + 0.09s);
}

.js-txt-up-end span:nth-child(5) {
    animation-delay: calc(0s + 0.12s);
}

.js-txt-up-end span:nth-child(6) {
    animation-delay: calc(0s + 0.15s);
}

.js-txt-up-end span:nth-child(7) {
    animation-delay: calc(0s + 0.18s);
}

.js-txt-up-end span:nth-child(8) {
    animation-delay: calc(0s + 0.21s);
}

.js-txt-up-end span:nth-child(9) {
    animation-delay: calc(0s + 0.24s);
}

.js-txt-up-end span:nth-child(10) {
    animation-delay: calc(0s + 0.27s);
}

.js-txt-up-end span:nth-child(11) {
    animation-delay: calc(0s + 0.3s);
}

.js-txt-up-end span:nth-child(12) {
    animation-delay: calc(0s + 0.33s);
}

.js-txt-up-end span:nth-child(13) {
    animation-delay: calc(0s + 0.36s);
}

.js-txt-up-end span:nth-child(14) {
    animation-delay: calc(0s + 0.39s);
}

.js-txt-up-end span:nth-child(15) {
    animation-delay: calc(0s + 0.42s);
}

.js-txt-up-end span:nth-child(16) {
    animation-delay: calc(0s + 0.45s);
}

.js-txt-up-end span:nth-child(17) {
    animation-delay: calc(0s + 0.48s);
}

.js-txt-up-end span:nth-child(18) {
    animation-delay: calc(0s + 0.51s);
}

.js-txt-up-end span:nth-child(19) {
    animation-delay: calc(0s + 0.54s);
}

.js-txt-up-end span:nth-child(20) {
    animation-delay: calc(0s + 0.57s);
}

.js-txt-up-end span:nth-child(21) {
    animation-delay: calc(0s + 0.6s);
}

.js-txt-up-end span:nth-child(22) {
    animation-delay: calc(0s + 0.63s);
}

.js-txt-up-end span:nth-child(23) {
    animation-delay: calc(0s + 0.66s);
}

.js-txt-up-end span:nth-child(24) {
    animation-delay: calc(0s + 0.69s);
}

.js-txt-up-end span:nth-child(25) {
    animation-delay: calc(0s + 0.72s);
}

.js-txt-up-end span:nth-child(26) {
    animation-delay: calc(0s + 0.75s);
}

.js-txt-up-end span:nth-child(27) {
    animation-delay: calc(0s + 0.78s);
}

.js-txt-up-end span:nth-child(28) {
    animation-delay: calc(0s + 0.81s);
}

.js-txt-up-end span:nth-child(29) {
    animation-delay: calc(0s + 0.84s);
}

.js-txt-up-end span:nth-child(30) {
    animation-delay: calc(0s + 0.87s);
}

.js-txt-up-end span:nth-child(31) {
    animation-delay: calc(0s + 0.9s);
}

.js-txt-up-end span:nth-child(32) {
    animation-delay: calc(0s + 0.93s);
}

.js-txt-up-end span:nth-child(33) {
    animation-delay: calc(0s + 0.96s);
}

.js-txt-up-end span:nth-child(34) {
    animation-delay: calc(0s + 0.99s);
}

.js-txt-up-end span:nth-child(35) {
    animation-delay: calc(0s + 1.02s);
}

.js-txt-up-end span:nth-child(36) {
    animation-delay: calc(0s + 1.05s);
}

.js-txt-up-end span:nth-child(37) {
    animation-delay: calc(0s + 1.08s);
}

.js-txt-up-end span:nth-child(38) {
    animation-delay: calc(0s + 1.11s);
}

.js-txt-up-end span:nth-child(39) {
    animation-delay: calc(0s + 1.14s);
}

.js-txt-up-end span:nth-child(40) {
    animation-delay: calc(0s + 1.17s);
}

.js-txt-up-end span:nth-child(41) {
    animation-delay: calc(0s + 1.2s);
}

.js-txt-up-end span:nth-child(42) {
    animation-delay: calc(0s + 1.23s);
}

.js-txt-up-end span:nth-child(43) {
    animation-delay: calc(0s + 1.26s);
}

.js-txt-up-end span:nth-child(44) {
    animation-delay: calc(0s + 1.29s);
}

.js-txt-up-end span:nth-child(45) {
    animation-delay: calc(0s + 1.32s);
}

.js-txt-up-end span:nth-child(46) {
    animation-delay: calc(0s + 1.35s);
}

.js-txt-up-end span:nth-child(47) {
    animation-delay: calc(0s + 1.38s);
}

.js-txt-up-end span:nth-child(48) {
    animation-delay: calc(0s + 1.41s);
}

.js-txt-up-end span:nth-child(49) {
    animation-delay: calc(0s + 1.44s);
}

.js-txt-up-end span:nth-child(50) {
    animation-delay: calc(0s + 1.47s);
}

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

下から一文字ずつ登場するテキストアニメーション　下に消える
https://give-shot.jp/tokyocss/under-in-text/

====================================================================== */
@keyframes js-txt-down-end-anim-span {
    0% {
        transform: translateY(0); /*通常の位置*/
        opacity: 1;
    }
    30% {
        opacity: 0;
    }
    60% {
        transform: translateY(110%); /*下がる*/
        opacity: 0;
    }
    100% {
        transform: translateY(110%); /*待機*/
        opacity: 0;
    }
}
/*** アニメーションする要素の親 ***/
.js-txt-down-end {
    display: inline-flex !important; /*　横並びに */
    overflow: hidden; /* はみ出たものを非表示に */
}

/*** アニメーションを適用する要素 ***/
.js-txt-down-end span {
    transform: translateY(0); /*デフォルトで下に隠す*/
    opacity: 1;
    display: block; /*ブロック要素に*/
    animation: 1s js-txt-down-end-anim-span ease; /* アニメーション */
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    color: #000000;
}

.js-txt-down-end.--white span {
    color: #ffffff;
}

/*** 各span(文字)に遅延時間delayを設定 ***/
.js-txt-down-end span:nth-child(1) {
    animation-delay: calc(0s + 0s);
}

.js-txt-down-end span:nth-child(2) {
    animation-delay: calc(0s + 0.03s);
}

.js-txt-down-end span:nth-child(3) {
    animation-delay: calc(0s + 0.06s);
}

.js-txt-down-end span:nth-child(4) {
    animation-delay: calc(0s + 0.09s);
}

.js-txt-down-end span:nth-child(5) {
    animation-delay: calc(0s + 0.12s);
}

.js-txt-down-end span:nth-child(6) {
    animation-delay: calc(0s + 0.15s);
}

.js-txt-down-end span:nth-child(7) {
    animation-delay: calc(0s + 0.18s);
}

.js-txt-down-end span:nth-child(8) {
    animation-delay: calc(0s + 0.21s);
}

.js-txt-down-end span:nth-child(9) {
    animation-delay: calc(0s + 0.24s);
}

.js-txt-down-end span:nth-child(10) {
    animation-delay: calc(0s + 0.27s);
}

.js-txt-down-end span:nth-child(11) {
    animation-delay: calc(0s + 0.3s);
}

.js-txt-down-end span:nth-child(12) {
    animation-delay: calc(0s + 0.33s);
}

.js-txt-down-end span:nth-child(13) {
    animation-delay: calc(0s + 0.36s);
}

.js-txt-down-end span:nth-child(14) {
    animation-delay: calc(0s + 0.39s);
}

.js-txt-down-end span:nth-child(15) {
    animation-delay: calc(0s + 0.42s);
}

.js-txt-down-end span:nth-child(16) {
    animation-delay: calc(0s + 0.45s);
}

.js-txt-down-end span:nth-child(17) {
    animation-delay: calc(0s + 0.48s);
}

.js-txt-down-end span:nth-child(18) {
    animation-delay: calc(0s + 0.51s);
}

.js-txt-down-end span:nth-child(19) {
    animation-delay: calc(0s + 0.54s);
}

.js-txt-down-end span:nth-child(20) {
    animation-delay: calc(0s + 0.57s);
}

.js-txt-down-end span:nth-child(21) {
    animation-delay: calc(0s + 0.6s);
}

.js-txt-down-end span:nth-child(22) {
    animation-delay: calc(0s + 0.63s);
}

.js-txt-down-end span:nth-child(23) {
    animation-delay: calc(0s + 0.66s);
}

.js-txt-down-end span:nth-child(24) {
    animation-delay: calc(0s + 0.69s);
}

.js-txt-down-end span:nth-child(25) {
    animation-delay: calc(0s + 0.72s);
}

.js-txt-down-end span:nth-child(26) {
    animation-delay: calc(0s + 0.75s);
}

.js-txt-down-end span:nth-child(27) {
    animation-delay: calc(0s + 0.78s);
}

.js-txt-down-end span:nth-child(28) {
    animation-delay: calc(0s + 0.81s);
}

.js-txt-down-end span:nth-child(29) {
    animation-delay: calc(0s + 0.84s);
}

.js-txt-down-end span:nth-child(30) {
    animation-delay: calc(0s + 0.87s);
}

.js-txt-down-end span:nth-child(31) {
    animation-delay: calc(0s + 0.9s);
}

.js-txt-down-end span:nth-child(32) {
    animation-delay: calc(0s + 0.93s);
}

.js-txt-down-end span:nth-child(33) {
    animation-delay: calc(0s + 0.96s);
}

.js-txt-down-end span:nth-child(34) {
    animation-delay: calc(0s + 0.99s);
}

.js-txt-down-end span:nth-child(35) {
    animation-delay: calc(0s + 1.02s);
}

.js-txt-down-end span:nth-child(36) {
    animation-delay: calc(0s + 1.05s);
}

.js-txt-down-end span:nth-child(37) {
    animation-delay: calc(0s + 1.08s);
}

.js-txt-down-end span:nth-child(38) {
    animation-delay: calc(0s + 1.11s);
}

.js-txt-down-end span:nth-child(39) {
    animation-delay: calc(0s + 1.14s);
}

.js-txt-down-end span:nth-child(40) {
    animation-delay: calc(0s + 1.17s);
}

.js-txt-down-end span:nth-child(41) {
    animation-delay: calc(0s + 1.2s);
}

.js-txt-down-end span:nth-child(42) {
    animation-delay: calc(0s + 1.23s);
}

.js-txt-down-end span:nth-child(43) {
    animation-delay: calc(0s + 1.26s);
}

.js-txt-down-end span:nth-child(44) {
    animation-delay: calc(0s + 1.29s);
}

.js-txt-down-end span:nth-child(45) {
    animation-delay: calc(0s + 1.32s);
}

.js-txt-down-end span:nth-child(46) {
    animation-delay: calc(0s + 1.35s);
}

.js-txt-down-end span:nth-child(47) {
    animation-delay: calc(0s + 1.38s);
}

.js-txt-down-end span:nth-child(48) {
    animation-delay: calc(0s + 1.41s);
}

.js-txt-down-end span:nth-child(49) {
    animation-delay: calc(0s + 1.44s);
}

.js-txt-down-end span:nth-child(50) {
    animation-delay: calc(0s + 1.47s);
}

.js-span {
    padding: 0.1em 0;
}

.js-span.js-add-space {
    width: 0.3em;
}

/*
ズームしながらのフェードイン、フェードアウト
https://junpei-sugiyama.com/swiper-zoom/
 */
@keyframes zoomUp {
    0% {
        transform: scale(1);
    }
    75% {
        opacity: 100;
    }
    100% {
        opacity: 0;
        transform: scale(1.2);
    }
}
.js-effect-zoomUp .swiper-slide-active img,
.js-effect-zoomUp .swiper-slide-duplicate-active img,
.js-effect-zoomUp .swiper-slide-prev img {
    animation: zoomUp 2s linear 0s normal both;
}
.js-effect-zoomUp .swiper-wrapper {
    background-color: black;
}
.js-effect-zoomUp .swiper-wrapper:before {
    opacity: 50%;
}
/* @media screen and (max-width: 768px) {
    .swiper-button-next,
    .swiper-button-prev {
        display: block;
    }
}

.swiper-button-next,
.swiper-button-prev {
    display: none;
} */
.swiper-wrapper:before {
    transition: all 0.3s ease-out;
    position: absolute;
    content: "";
    display: block;
    background-color: black;
    width: 100%;
    height: 100%;
    opacity: 0%;
    z-index: 210;
    pointer-events: none;
}

.l-h-mv-full .swiper-wrapper:before {
    transition: all 0.3s ease-out;
    position: absolute;
    content: "";
    display: block;
    background-color: black;
    width: 100%;
    height: 100%;
    opacity: 20%;
    z-index: 210;
}
