@charset "UTF-8";
/* --------------------------------------------
Setting Color - カラー設定
--------------------------------------------*/
:root {
  --TB: 1000px;
  --SP: 680px;
  --jp_go: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka,
    "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", "Meiryo", sans-serif;
  --en_go: "Roboto", sans-serif;
  --go: YakuHanJP, "Roboto", var(--jp_go);
  --ff: var(--go);
  --fz_pc: 16px;
  --fz_tb: 15px;
  --fz_sp: 14px;
  --lh: 1.9;
  --ls: 0.06em;
  --fwh: 700;
  --fwb: 500;
  --fwn: 400;
  --pow0: 16px;
  --pow1: 19px;
  --pow2: 23px;
  --pow3: 28px;
  --pow4: 33px;
  --pow5: 40px;
  --pow6: 48px;
  --pow7: 57px;
  --pow8: 69px;
  --pow9: 83px;
  --pow10: 99px;
  --l0: hsla(0, 0%, 0%, 1);
  --d0: hsla(0, 0%, 100%, 1);
  --l1: hsla(0, 0%, 1%, 1);
  --d1: hsla(0, 0%, 99%, 1);
  --l2: hsla(0, 0%, 2%, 1);
  --d2: hsla(0, 0%, 98%, 1);
  --l3: hsla(0, 0%, 3%, 1);
  --d3: hsla(0, 0%, 97%, 1);
  --l4: hsla(0, 0%, 4%, 1);
  --d4: hsla(0, 0%, 96%, 1);
  --l5: hsla(0, 0%, 5%, 1);
  --d5: hsla(0, 0%, 95%, 1);
  --l6: hsla(0, 0%, 6%, 1);
  --d6: hsla(0, 0%, 94%, 1);
  --l7: hsla(0, 0%, 7%, 1);
  --d7: hsla(0, 0%, 93%, 1);
  --l8: hsla(0, 0%, 8%, 1);
  --d8: hsla(0, 0%, 92%, 1);
  --l9: hsla(0, 0%, 9%, 1);
  --d9: hsla(0, 0%, 91%, 1);
  --l10: hsla(0, 0%, 10%, 1);
  --d10: hsla(0, 0%, 90%, 1);
  --l11: hsla(0, 0%, 11%, 1);
  --d11: hsla(0, 0%, 89%, 1);
  --l12: hsla(0, 0%, 12%, 1);
  --d12: hsla(0, 0%, 88%, 1);
  --l13: hsla(0, 0%, 13%, 1);
  --d13: hsla(0, 0%, 87%, 1);
  --l14: hsla(0, 0%, 14%, 1);
  --d14: hsla(0, 0%, 86%, 1);
  --l15: hsla(0, 0%, 15%, 1);
  --d15: hsla(0, 0%, 85%, 1);
  --l16: hsla(0, 0%, 16%, 1);
  --d16: hsla(0, 0%, 84%, 1);
  --l17: hsla(0, 0%, 17%, 1);
  --d17: hsla(0, 0%, 83%, 1);
  --l18: hsla(0, 0%, 18%, 1);
  --d18: hsla(0, 0%, 82%, 1);
  --l19: hsla(0, 0%, 19%, 1);
  --d19: hsla(0, 0%, 81%, 1);
  --l20: hsla(0, 0%, 20%, 1);
  --d20: hsla(0, 0%, 80%, 1);
  --l21: hsla(0, 0%, 21%, 1);
  --d21: hsla(0, 0%, 79%, 1);
  --l22: hsla(0, 0%, 22%, 1);
  --d22: hsla(0, 0%, 78%, 1);
  --l23: hsla(0, 0%, 23%, 1);
  --d23: hsla(0, 0%, 77%, 1);
  --l24: hsla(0, 0%, 24%, 1);
  --d24: hsla(0, 0%, 76%, 1);
  --l25: hsla(0, 0%, 25%, 1);
  --d25: hsla(0, 0%, 75%, 1);
  --l26: hsla(0, 0%, 26%, 1);
  --d26: hsla(0, 0%, 74%, 1);
  --l27: hsla(0, 0%, 27%, 1);
  --d27: hsla(0, 0%, 73%, 1);
  --l28: hsla(0, 0%, 28%, 1);
  --d28: hsla(0, 0%, 72%, 1);
  --l29: hsla(0, 0%, 29%, 1);
  --d29: hsla(0, 0%, 71%, 1);
  --l30: hsla(0, 0%, 30%, 1);
  --d30: hsla(0, 0%, 70%, 1);
  --l31: hsla(0, 0%, 31%, 1);
  --d31: hsla(0, 0%, 69%, 1);
  --l32: hsla(0, 0%, 32%, 1);
  --d32: hsla(0, 0%, 68%, 1);
  --l33: hsla(0, 0%, 33%, 1);
  --d33: hsla(0, 0%, 67%, 1);
  --l34: hsla(0, 0%, 34%, 1);
  --d34: hsla(0, 0%, 66%, 1);
  --l35: hsla(0, 0%, 35%, 1);
  --d35: hsla(0, 0%, 65%, 1);
  --l36: hsla(0, 0%, 36%, 1);
  --d36: hsla(0, 0%, 64%, 1);
  --l37: hsla(0, 0%, 37%, 1);
  --d37: hsla(0, 0%, 63%, 1);
  --l38: hsla(0, 0%, 38%, 1);
  --d38: hsla(0, 0%, 62%, 1);
  --l39: hsla(0, 0%, 39%, 1);
  --d39: hsla(0, 0%, 61%, 1);
  --l40: hsla(0, 0%, 40%, 1);
  --d40: hsla(0, 0%, 60%, 1);
  --l41: hsla(0, 0%, 41%, 1);
  --d41: hsla(0, 0%, 59%, 1);
  --l42: hsla(0, 0%, 42%, 1);
  --d42: hsla(0, 0%, 58%, 1);
  --l43: hsla(0, 0%, 43%, 1);
  --d43: hsla(0, 0%, 57%, 1);
  --l44: hsla(0, 0%, 44%, 1);
  --d44: hsla(0, 0%, 56%, 1);
  --l45: hsla(0, 0%, 45%, 1);
  --d45: hsla(0, 0%, 55%, 1);
  --l46: hsla(0, 0%, 46%, 1);
  --d46: hsla(0, 0%, 54%, 1);
  --l47: hsla(0, 0%, 47%, 1);
  --d47: hsla(0, 0%, 53%, 1);
  --l48: hsla(0, 0%, 48%, 1);
  --d48: hsla(0, 0%, 52%, 1);
  --l49: hsla(0, 0%, 49%, 1);
  --d49: hsla(0, 0%, 51%, 1);
  --l50: hsla(0, 0%, 50%, 1);
  --d50: hsla(0, 0%, 50%, 1);
  --l51: hsla(0, 0%, 51%, 1);
  --d51: hsla(0, 0%, 49%, 1);
  --l52: hsla(0, 0%, 52%, 1);
  --d52: hsla(0, 0%, 48%, 1);
  --l53: hsla(0, 0%, 53%, 1);
  --d53: hsla(0, 0%, 47%, 1);
  --l54: hsla(0, 0%, 54%, 1);
  --d54: hsla(0, 0%, 46%, 1);
  --l55: hsla(0, 0%, 55%, 1);
  --d55: hsla(0, 0%, 45%, 1);
  --l56: hsla(0, 0%, 56%, 1);
  --d56: hsla(0, 0%, 44%, 1);
  --l57: hsla(0, 0%, 57%, 1);
  --d57: hsla(0, 0%, 43%, 1);
  --l58: hsla(0, 0%, 58%, 1);
  --d58: hsla(0, 0%, 42%, 1);
  --l59: hsla(0, 0%, 59%, 1);
  --d59: hsla(0, 0%, 41%, 1);
  --l60: hsla(0, 0%, 60%, 1);
  --d60: hsla(0, 0%, 40%, 1);
  --l61: hsla(0, 0%, 61%, 1);
  --d61: hsla(0, 0%, 39%, 1);
  --l62: hsla(0, 0%, 62%, 1);
  --d62: hsla(0, 0%, 38%, 1);
  --l63: hsla(0, 0%, 63%, 1);
  --d63: hsla(0, 0%, 37%, 1);
  --l64: hsla(0, 0%, 64%, 1);
  --d64: hsla(0, 0%, 36%, 1);
  --l65: hsla(0, 0%, 65%, 1);
  --d65: hsla(0, 0%, 35%, 1);
  --l66: hsla(0, 0%, 66%, 1);
  --d66: hsla(0, 0%, 34%, 1);
  --l67: hsla(0, 0%, 67%, 1);
  --d67: hsla(0, 0%, 33%, 1);
  --l68: hsla(0, 0%, 68%, 1);
  --d68: hsla(0, 0%, 32%, 1);
  --l69: hsla(0, 0%, 69%, 1);
  --d69: hsla(0, 0%, 31%, 1);
  --l70: hsla(0, 0%, 70%, 1);
  --d70: hsla(0, 0%, 30%, 1);
  --l71: hsla(0, 0%, 71%, 1);
  --d71: hsla(0, 0%, 29%, 1);
  --l72: hsla(0, 0%, 72%, 1);
  --d72: hsla(0, 0%, 28%, 1);
  --l73: hsla(0, 0%, 73%, 1);
  --d73: hsla(0, 0%, 27%, 1);
  --l74: hsla(0, 0%, 74%, 1);
  --d74: hsla(0, 0%, 26%, 1);
  --l75: hsla(0, 0%, 75%, 1);
  --d75: hsla(0, 0%, 25%, 1);
  --l76: hsla(0, 0%, 76%, 1);
  --d76: hsla(0, 0%, 24%, 1);
  --l77: hsla(0, 0%, 77%, 1);
  --d77: hsla(0, 0%, 23%, 1);
  --l78: hsla(0, 0%, 78%, 1);
  --d78: hsla(0, 0%, 22%, 1);
  --l79: hsla(0, 0%, 79%, 1);
  --d79: hsla(0, 0%, 21%, 1);
  --l80: hsla(0, 0%, 80%, 1);
  --d80: hsla(0, 0%, 20%, 1);
  --l81: hsla(0, 0%, 81%, 1);
  --d81: hsla(0, 0%, 19%, 1);
  --l82: hsla(0, 0%, 82%, 1);
  --d82: hsla(0, 0%, 18%, 1);
  --l83: hsla(0, 0%, 83%, 1);
  --d83: hsla(0, 0%, 17%, 1);
  --l84: hsla(0, 0%, 84%, 1);
  --d84: hsla(0, 0%, 16%, 1);
  --l85: hsla(0, 0%, 85%, 1);
  --d85: hsla(0, 0%, 15%, 1);
  --l86: hsla(0, 0%, 86%, 1);
  --d86: hsla(0, 0%, 14%, 1);
  --l87: hsla(0, 0%, 87%, 1);
  --d87: hsla(0, 0%, 13%, 1);
  --l88: hsla(0, 0%, 88%, 1);
  --d88: hsla(0, 0%, 12%, 1);
  --l89: hsla(0, 0%, 89%, 1);
  --d89: hsla(0, 0%, 11%, 1);
  --l90: hsla(0, 0%, 90%, 1);
  --d90: hsla(0, 0%, 10%, 1);
  --l91: hsla(0, 0%, 91%, 1);
  --d91: hsla(0, 0%, 9%, 1);
  --l92: hsla(0, 0%, 92%, 1);
  --d92: hsla(0, 0%, 8%, 1);
  --l93: hsla(0, 0%, 93%, 1);
  --d93: hsla(0, 0%, 7%, 1);
  --l94: hsla(0, 0%, 94%, 1);
  --d94: hsla(0, 0%, 6%, 1);
  --l95: hsla(0, 0%, 95%, 1);
  --d95: hsla(0, 0%, 5%, 1);
  --l96: hsla(0, 0%, 96%, 1);
  --d96: hsla(0, 0%, 4%, 1);
  --l97: hsla(0, 0%, 97%, 1);
  --d97: hsla(0, 0%, 3%, 1);
  --l98: hsla(0, 0%, 98%, 1);
  --d98: hsla(0, 0%, 2%, 1);
  --l99: hsla(0, 0%, 99%, 1);
  --d99: hsla(0, 0%, 1%, 1);
  --l100: hsla(0, 0%, 100%, 1);
  --d100: hsla(0, 0%, 0%, 1);
  --Title: var(--l0);
  --Text: var(--l20);
  --SubText: var(--l35);
  --Border: var(--l75);
  --Light: var(--l80);
  --Key1: #4b7ebf;
  --Key2: #67b8c0;
  --Key3: #cb3434;
  --Attention: var(--Key3);
  --Base1: var(--l97);
  --Base2: var(--l94);
  --Base3: var(--l91);
  --White: var(--l100);
  --Grad: linear-gradient(10deg, var(--Key1) 0%, var(--Key2) 100%);
  --GradHover: linear-gradient(20deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow0: 15px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow0: 14px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow1: 18px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow1: 16px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow2: 22px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow2: 19px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow3: 26px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow3: 21px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow4: 31px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow4: 24px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow5: 37px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow5: 28px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow6: 45px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow6: 32px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow7: 54px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow7: 37px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow8: 64px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow8: 43px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow9: 77px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow9: 49px;
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --pow10: 93px;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --pow10: 57px;
  }
}
:root.is-invert {
  --Title: var(--d3);
  --Text: var(--d20);
  --SubText: var(--d35);
  --Border: var(--d51);
  --Light: var(--d80);
  --Key1: #4b7ebf;
  --Key2: #67b8c0;
  --Key3: #cb3434;
  --Attention: var(--Key3);
  --Base1: var(--d100);
  --Base2: var(--d97);
  --Base3: var(--d93);
  --White: var(--d100);
  --Grad: linear-gradient(10deg, var(--Key1) 0%, var(--Key2) 100%);
  --GradHover: linear-gradient(20deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);
}

/* -----------------------
メディアクエリ
@include global.media(pc) {} 
@include global.media(tb) {}
@include global.media(sp) {}
-----------------------*/
/* -----------------------

flex基本設定
 @include global.flex(space-between,center);

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

blogのindexなどのリスト組。ulなどwrapper要素ににつける
 @include global.list(3,2rem);

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

Grid for IE11
@include global.flex(space-between,center);

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

fontサイズを設定する (weightやfamilyは端折らず記載する)
@include global.font(var(--pow0), var(--fwn), var(--ls), var(--lh), var(--ff));

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

cleafix
@include clearfix;
-----------------------*/
/* -----------------------

icon画像を設定する
@include icon(150px, 12px, "../image/common/logo");

-----------------------*/
/* -----------------------
ボタンのカラー設定
@include mixin.ButtonColor(背景色, 罫線色, 文字色, svg色, ホバー背景色, ホバー罫線色, ホバー文字色, ホバーsvg色);
-----------------------*/
/* -----------------------
ガイド
-----------------------*/
@layer legacy;
@layer html;
@layer body;
@layer body2;
/* --------------------------------------------
Reset
--------------------------------------------*/
@layer body2 {
  body {
    padding-top: 0;
  }
  .l-main div, .l-main span, .l-main object, .l-main iframe,
  .l-main h1, .l-main h2, .l-main h3, .l-main h4, .l-main h5, .l-main h6, .l-main p, .l-main blockquote, .l-main pre,
  .l-main abbr, .l-main address, .l-main cite, .l-main code,
  .l-main del, .l-main dfn, .l-main em, .l-main img, .l-main ins, .l-main kbd, .l-main q, .l-main samp,
  .l-main small, .l-main strong, .l-main sub, .l-main sup, .l-main var,
  .l-main b, .l-main i,
  .l-main dl, .l-main dt, .l-main dd, .l-main ol, .l-main ul, .l-main li,
  .l-main fieldset, .l-main form, .l-main label, .l-main legend,
  .l-main table, .l-main caption, .l-main tbody, .l-main tfoot, .l-main thead, .l-main tr, .l-main th, .l-main td,
  .l-main article, .l-main aside, .l-main dialog, .l-main figure, .l-main footer, .l-main header,
  .l-main hgroup, .l-main menu, .l-main nav, .l-main section, .l-main menu,
  .l-main time, .l-main mark, .l-main audio, .l-main video, .l-header div, .l-header span, .l-header object, .l-header iframe,
  .l-header h1, .l-header h2, .l-header h3, .l-header h4, .l-header h5, .l-header h6, .l-header p, .l-header blockquote, .l-header pre,
  .l-header abbr, .l-header address, .l-header cite, .l-header code,
  .l-header del, .l-header dfn, .l-header em, .l-header img, .l-header ins, .l-header kbd, .l-header q, .l-header samp,
  .l-header small, .l-header strong, .l-header sub, .l-header sup, .l-header var,
  .l-header b, .l-header i,
  .l-header dl, .l-header dt, .l-header dd, .l-header ol, .l-header ul, .l-header li,
  .l-header fieldset, .l-header form, .l-header label, .l-header legend,
  .l-header table, .l-header caption, .l-header tbody, .l-header tfoot, .l-header thead, .l-header tr, .l-header th, .l-header td,
  .l-header article, .l-header aside, .l-header dialog, .l-header figure, .l-header footer, .l-header header,
  .l-header hgroup, .l-header menu, .l-header nav, .l-header section, .l-header menu,
  .l-header time, .l-header mark, .l-header audio, .l-header video, .l-footer div, .l-footer span, .l-footer object, .l-footer iframe,
  .l-footer h1, .l-footer h2, .l-footer h3, .l-footer h4, .l-footer h5, .l-footer h6, .l-footer p, .l-footer blockquote, .l-footer pre,
  .l-footer abbr, .l-footer address, .l-footer cite, .l-footer code,
  .l-footer del, .l-footer dfn, .l-footer em, .l-footer img, .l-footer ins, .l-footer kbd, .l-footer q, .l-footer samp,
  .l-footer small, .l-footer strong, .l-footer sub, .l-footer sup, .l-footer var,
  .l-footer b, .l-footer i,
  .l-footer dl, .l-footer dt, .l-footer dd, .l-footer ol, .l-footer ul, .l-footer li,
  .l-footer fieldset, .l-footer form, .l-footer label, .l-footer legend,
  .l-footer table, .l-footer caption, .l-footer tbody, .l-footer tfoot, .l-footer thead, .l-footer tr, .l-footer th, .l-footer td,
  .l-footer article, .l-footer aside, .l-footer dialog, .l-footer figure, .l-footer footer, .l-footer header,
  .l-footer hgroup, .l-footer menu, .l-footer nav, .l-footer section, .l-footer menu,
  .l-footer time, .l-footer mark, .l-footer audio, .l-footer video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background-color: transparent;
  }
  .l-main article, .l-main aside, .l-main dialog, .l-main figure, .l-main footer, .l-main header,
  .l-main hgroup, .l-main nav, .l-main section, .l-header article, .l-header aside, .l-header dialog, .l-header figure, .l-header footer, .l-header header,
  .l-header hgroup, .l-header nav, .l-header section, .l-footer article, .l-footer aside, .l-footer dialog, .l-footer figure, .l-footer footer, .l-footer header,
  .l-footer hgroup, .l-footer nav, .l-footer section {
    display: block;
  }
  .l-main ul, .l-header ul, .l-footer ul {
    list-style: none;
  }
  .l-main blockquote, .l-main q, .l-header blockquote, .l-header q, .l-footer blockquote, .l-footer q {
    quotes: none;
  }
  .l-main blockquote:before, .l-main blockquote:after,
  .l-main q:before, .l-main q:after, .l-header blockquote:before, .l-header blockquote:after,
  .l-header q:before, .l-header q:after, .l-footer blockquote:before, .l-footer blockquote:after,
  .l-footer q:before, .l-footer q:after {
    content: "";
    content: none;
  }
  .l-main a, .l-header a, .l-footer a {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
  }
}
/* --------------------------------------------
Basic & Module（触らない）
--------------------------------------------*/
@layer body2 {
  .l-main th,
  .l-main td,
  .l-main h1,
  .l-main h2,
  .l-main h3,
  .l-main h4,
  .l-main h5,
  .l-main h6,
  .l-main pre,
  .l-main input,
  .l-main textarea,
  .l-main option,
  .l-main div,
  .l-main p,
  .l-main dt,
  .l-main dd,
  .l-main li,
  .l-main address, .l-header th,
  .l-header td,
  .l-header h1,
  .l-header h2,
  .l-header h3,
  .l-header h4,
  .l-header h5,
  .l-header h6,
  .l-header pre,
  .l-header input,
  .l-header textarea,
  .l-header option,
  .l-header div,
  .l-header p,
  .l-header dt,
  .l-header dd,
  .l-header li,
  .l-header address, .l-footer th,
  .l-footer td,
  .l-footer h1,
  .l-footer h2,
  .l-footer h3,
  .l-footer h4,
  .l-footer h5,
  .l-footer h6,
  .l-footer pre,
  .l-footer input,
  .l-footer textarea,
  .l-footer option,
  .l-footer div,
  .l-footer p,
  .l-footer dt,
  .l-footer dd,
  .l-footer li,
  .l-footer address {
    font-family: var(--ff);
    font-weight: var(--fwn);
    font-style: normal;
    color: var(--Title);
    box-sizing: border-box;
  }
}
@layer html {
  .l-main, .l-header, .l-footer {
    width: 100%;
    height: auto;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    font-family: var(--ff);
    font-size: var(--fz_pc);
    -ms-overflow-style: none;
    /* IE10+ */
  }
  @media only screen and (max-width: 1000px) {
    .l-main, .l-header, .l-footer {
      font-size: var(--fz_tb);
    }
  }
  @media only screen and (max-width: 680px) {
    .l-main, .l-header, .l-footer {
      font-size: var(--fz_sp);
    }
  }
  .l-main::-webkit-scrollbar, .l-header::-webkit-scrollbar, .l-footer::-webkit-scrollbar {
    display: none;
  }
}
@layer body {
  .l-main, .l-header, .l-footer {
    width: 100%;
    z-index: 0;
    height: auto;
    position: relative;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    background-color: var(--Base1);
  }
  .l-main.ready *, .l-header.ready *, .l-footer.ready * {
    transition: none;
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    -ms-transition: none;
  }
}
@layer body {
  .l-main *, .l-header *, .l-footer * {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    -webkit-font-feature-settings: "palt" 1;
    font-feature-settings: "palt" 1;
    box-sizing: border-box;
  }
  .l-main ::selection, .l-header ::selection, .l-footer ::selection {
    color: var(--Title);
    background: var(--Light);
  }
  .l-main ::-moz-selection, .l-header ::-moz-selection, .l-footer ::-moz-selection {
    color: var(--Title);
    background: var(--Light);
  }
  .l-main img, .l-header img, .l-footer img {
    display: block;
    width: 100%;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
  }
  .l-main table, .l-header table, .l-footer table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  .l-main span,
  .l-main i, .l-header span,
  .l-header i, .l-footer span,
  .l-footer i {
    font-size: inherit;
    color: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  .l-main a, .l-header a, .l-footer a {
    display: inline-block;
    cursor: pointer;
    color: var(--Title);
  }
  .l-main select,
  .l-main input,
  .l-main textarea,
  .l-main button, .l-header select,
  .l-header input,
  .l-header textarea,
  .l-header button, .l-footer select,
  .l-footer input,
  .l-footer textarea,
  .l-footer button {
    cursor: pointer;
    box-sizing: border-box;
    outline: none;
    border-radius: 0;
    appearance: button;
    border: none;
    background-color: transparent;
  }
  .l-main textarea, .l-header textarea, .l-footer textarea {
    resize: vertical;
    overflow: auto;
  }
  .l-main input + label, .l-header input + label, .l-footer input + label {
    cursor: pointer;
  }
  .l-main .show_pc, .l-header .show_pc, .l-footer .show_pc {
    display: block;
  }
  @media only screen and (max-width: 1000px) {
    .l-main .show_pc, .l-header .show_pc, .l-footer .show_pc {
      display: none;
    }
  }
  @media only screen and (max-width: 680px) {
    .l-main .show_pc, .l-header .show_pc, .l-footer .show_pc {
      display: none;
    }
  }
  .l-main .show_pctb, .l-header .show_pctb, .l-footer .show_pctb {
    display: block;
  }
  @media only screen and (max-width: 1000px) {
    .l-main .show_pctb, .l-header .show_pctb, .l-footer .show_pctb {
      display: block;
    }
  }
  @media only screen and (max-width: 680px) {
    .l-main .show_pctb, .l-header .show_pctb, .l-footer .show_pctb {
      display: none;
    }
  }
  .l-main .show_tbsp, .l-header .show_tbsp, .l-footer .show_tbsp {
    display: none;
  }
  @media only screen and (max-width: 1000px) {
    .l-main .show_tbsp, .l-header .show_tbsp, .l-footer .show_tbsp {
      display: block;
    }
  }
  @media only screen and (max-width: 680px) {
    .l-main .show_tbsp, .l-header .show_tbsp, .l-footer .show_tbsp {
      display: block;
    }
  }
  .l-main .show_tb, .l-header .show_tb, .l-footer .show_tb {
    display: none;
  }
  @media only screen and (max-width: 1000px) {
    .l-main .show_tb, .l-header .show_tb, .l-footer .show_tb {
      display: block;
    }
  }
  @media only screen and (max-width: 680px) {
    .l-main .show_tb, .l-header .show_tb, .l-footer .show_tb {
      display: none;
    }
  }
  .l-main .show_sp, .l-header .show_sp, .l-footer .show_sp {
    display: none;
  }
  @media only screen and (max-width: 1000px) {
    .l-main .show_sp, .l-header .show_sp, .l-footer .show_sp {
      display: none;
    }
  }
  @media only screen and (max-width: 680px) {
    .l-main .show_sp, .l-header .show_sp, .l-footer .show_sp {
      display: block;
    }
  }
  .l-main .sitemap a, .l-header .sitemap a, .l-footer .sitemap a {
    display: block;
    margin-bottom: 1rem;
  }
  .l-main .sitemap a span, .l-header .sitemap a span, .l-footer .sitemap a span {
    min-width: 100px;
    text-align: center;
    display: inline-block;
    border: 1px solid #eee;
    padding: 0.5rem 1rem;
  }
  .l-main .sitemap div, .l-header .sitemap div, .l-footer .sitemap div {
    margin-left: 2rem;
  }
}
.p-logo, .p-logo__w, .p-logo__harmonize {
  position: relative;
  display: block;
  font-size: 0;
  line-height: 0;
  user-select: none;
  overflow: hidden;
}
.p-logo:before, .p-logo__w:before, .p-logo__harmonize:before {
  content: "";
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
  padding-top: 52.5%;
}
.p-logo svg, .p-logo__w svg, .p-logo__harmonize svg {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
  top: 0;
  left: 0;
}
.p-logo > span, .p-logo__w > span, .p-logo__harmonize > span {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: -9999px;
  top: 0;
  left: 0;
  display: block;
}
.p-logo__harmonize {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-logo__harmonize:before {
  padding-top: 27%;
}
.p-logo__harmonize svg {
  display: none;
}
.p-title__page, .b-contact__index__title, .b-contact__title {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  position: relative;
}
.p-title__page::before, .b-contact__index__title::before, .b-contact__title::before {
  content: "";
  display: block;
  width: 4rem;
  height: 4px;
  background-color: var(--Key1);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media only screen and (max-width: 680px) {
  .p-title__page::before, .b-contact__index__title::before, .b-contact__title::before {
    left: 50%;
    transform-origin: center center;
    transform: translate3d(-50%, 0%, 0) rotate(0deg) scale(1, 1);
  }
}
.p-title__page .main, .b-contact__index__title .main, .b-contact__title .main {
  font-size: var(--pow5);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: block;
  text-transform: uppercase;
}
.p-title__sec, .b-common__relate__title, .b-common__relate2__title {
  display: block;
  margin-bottom: 2rem;
}
.p-title__sec__wrap {
  display: inline-block;
}
.p-title__sec .main, .b-common__relate__title .main, .b-common__relate2__title .main {
  font-size: var(--pow6);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: block;
  text-transform: uppercase;
  background: -webkit-linear-gradient(var(--Key1), var(--Key2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-title__sec .sub, .b-common__relate__title .sub, .b-common__relate2__title .sub {
  font-size: var(--pow0);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: block;
  margin-top: 0.8em;
  color: var(--SubText);
}
.p-title__sub {
  display: block;
}
.p-title__sub__wrap {
  display: inline-block;
  font-size: 0;
  position: relative;
  padding-left: 1.5rem;
}
.p-title__sub__wrap:before {
  content: "";
  width: 0.5rem;
  height: 80%;
  position: absolute;
  top: 10%;
  left: 0;
  background: -webkit-linear-gradient(var(--Key1), var(--Key2));
  display: block;
}
.p-title__sub .main {
  font-size: var(--pow3);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
  text-transform: uppercase;
  display: inline-block;
  vertical-align: baseline;
}
.p-title__sub .sub {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  color: var(--SubText);
  margin-left: 1em;
  display: inline-block;
  vertical-align: text-bottom;
}
.p-title__sub2 {
  display: block;
}
.p-title__sub2__wrap {
  display: inline-block;
  font-size: 0;
  position: relative;
  padding-left: 2rem;
}
.p-title__sub2__wrap:before {
  content: "";
  width: 1rem;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  background: -webkit-linear-gradient(var(--Key1), var(--Key2));
  transform: translate(0, -50%);
  display: block;
}
.p-title__sub2 .main {
  font-size: var(--pow2);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 0.9;
  text-transform: uppercase;
  display: inline-block;
  vertical-align: baseline;
}
.p-title__sub2 .sub {
  font-size: calc(1rem - 3px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  color: var(--SubText);
  margin-left: 1em;
  display: inline-block;
  vertical-align: text-bottom;
}
@media only screen and (max-width: 680px) {
  .p-title__sub2 .sub {
    font-size: 10px;
  }
}

.p-lead {
  font-size: var(--pow3);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
}
.p-lead__l {
  font-size: var(--pow5);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.8;
}
.p-lead__s, .b-common__layout__list .textBox .lead {
  font-size: var(--pow1);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.9;
}

.p-text, .b-company__partner dd, .b-company__group p, .b-company__base .add, .b-contact__index__lead, .b-contact__lead, .b-contact__attention p, .b-contact__dlwrap dt, .b-contact__dlwrap dd > span, .b-contact__check, .b-contact__thanks__text, .b-common__cv__text, .b-common__detail__mvtable__lead, .b-common__detail__date p, .b-common__detail__lead, .b-common__layout__text, .b-common__layout__date span, .b-common__layout__vision__li p, .b-common__layout__dl dl > *, .b-common__layout__table th,
.b-common__layout__table td, .b-common__layout__imagetext .text, .b-common__layout__accordion dd, .b-common__layout__interview .textBox p, .b-common__layout__timetable .text, .b-common__layout__orgchart p, .b-common__layout__cloudterm dd, .b-common__layout__cloudterm__text, .b-top__solution__list__wrap .text, .b-top__solution__listSub__wrap .text, .b-top__news__nav__link, .b-common__index__thum__ul.news .b-common__index__thum__title, .b-common__index__thum__date, .b-common__index.news .b-common__index__link .date, .b-common__index.news .b-common__index__link .title, .p-table table th > span,
.p-table table td > span {
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.p-text a, .b-company__partner dd a, .b-company__group p a, .b-company__base .add a, .b-contact__index__lead a, .b-contact__lead a, .b-contact__attention p a, .b-contact__dlwrap dt a, .b-contact__dlwrap dd > span a, .b-contact__check a, .b-contact__thanks__text a, .b-common__cv__text a, .b-common__detail__mvtable__lead a, .b-common__detail__date p a, .b-common__detail__lead a, .b-common__layout__text a, .b-common__layout__date span a, .b-common__layout__vision__li p a, .b-common__layout__dl dl > * a, .b-common__layout__table th a,
.b-common__layout__table td a, .b-common__layout__imagetext .text a, .b-common__layout__accordion dd a, .b-common__layout__interview .textBox p a, .b-common__layout__timetable .text a, .b-common__layout__orgchart p a, .b-common__layout__cloudterm dd a, .b-common__layout__cloudterm__text a, .b-top__solution__list__wrap .text a, .b-top__solution__listSub__wrap .text a, .b-top__news__nav__link a, .b-common__index__thum__ul.news .b-common__index__thum__title a, .b-common__index__thum__date a, .b-common__index.news .b-common__index__link .date a, .b-common__index.news .b-common__index__link .title a, .p-table table th > span a,
.p-table table td > span a {
  text-decoration: underline;
  color: inherit;
}
@media only screen and (min-width: 1000px) {
  .p-text a:hover, .b-company__partner dd a:hover, .b-company__group p a:hover, .b-company__base .add a:hover, .b-contact__index__lead a:hover, .b-contact__lead a:hover, .b-contact__attention p a:hover, .b-contact__dlwrap dt a:hover, .b-contact__dlwrap dd > span a:hover, .b-contact__check a:hover, .b-contact__thanks__text a:hover, .b-common__cv__text a:hover, .b-common__detail__mvtable__lead a:hover, .b-common__detail__date p a:hover, .b-common__detail__lead a:hover, .b-common__layout__text a:hover, .b-common__layout__date span a:hover, .b-common__layout__vision__li p a:hover, .b-common__layout__dl dl > * a:hover, .b-common__layout__table th a:hover,
  .b-common__layout__table td a:hover, .b-common__layout__imagetext .text a:hover, .b-common__layout__accordion dd a:hover, .b-common__layout__interview .textBox p a:hover, .b-common__layout__timetable .text a:hover, .b-common__layout__orgchart p a:hover, .b-common__layout__cloudterm dd a:hover, .b-common__layout__cloudterm__text a:hover, .b-top__solution__list__wrap .text a:hover, .b-top__solution__listSub__wrap .text a:hover, .b-top__news__nav__link a:hover, .b-common__index__thum__ul.news .b-common__index__thum__title a:hover, .b-common__index__thum__date a:hover, .b-common__index.news .b-common__index__link .date a:hover, .b-common__index.news .b-common__index__link .title a:hover, .p-table table th > span a:hover,
  .p-table table td > span a:hover {
    text-decoration: none;
  }
}

.p-cap, .b-common__layout__timetable .teacher, .b-common__layout__relate a .text, .b-common__layout__search__li dt, .b-top__pickup__list__wrap .textBox .text, .b-top__link__list__link .text, section.dummy > span, .js-gallery__text, .p-attention ul li {
  font-size: calc(1rem - 1px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.p-cap a, .b-common__layout__timetable .teacher a, .b-common__layout__relate a .text a, .b-common__layout__search__li dt a, .b-top__pickup__list__wrap .textBox .text a, .b-top__link__list__link .text a, section.dummy > span a, .js-gallery__text a, .p-attention ul li a {
  text-decoration: underline;
  color: inherit;
}
@media only screen and (min-width: 1000px) {
  .p-cap a:hover, .b-common__layout__timetable .teacher a:hover, .b-common__layout__relate a .text a:hover, .b-common__layout__search__li dt a:hover, .b-top__pickup__list__wrap .textBox .text a:hover, .b-top__link__list__link .text a:hover, section.dummy > span a:hover, .js-gallery__text a:hover, .p-attention ul li a:hover {
    text-decoration: none;
  }
}

.p-min, .b-company__base .tag span, .b-documents__detail__head__lead, .b-documents__detail__head__dl dd, .b-common__detail__documents__lead, .b-common__detail__documents__dl dd, .b-common__layout__cap li, .b-common__layout__cap li::before, .b-common__layout__list .textBox .text, .b-common__layout__list2 .textBox .text, .b-common__layout__list3 .textBox .text, .b-common__layout__profile .text, .b-common__layout__relate2 .description, .b-common__index.documents .b-common__index__dl dd, .b-common__index__lead {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.p-min a, .b-company__base .tag span a, .b-documents__detail__head__lead a, .b-documents__detail__head__dl dd a, .b-common__detail__documents__lead a, .b-common__detail__documents__dl dd a, .b-common__layout__cap li a, .b-common__layout__cap li::before a, .b-common__layout__list .textBox .text a, .b-common__layout__list2 .textBox .text a, .b-common__layout__list3 .textBox .text a, .b-common__layout__profile .text a, .b-common__layout__relate2 .description a, .b-common__index.documents .b-common__index__dl dd a, .b-common__index__lead a {
  text-decoration: underline;
  color: inherit;
}
@media only screen and (min-width: 1000px) {
  .p-min a:hover, .b-company__base .tag span a:hover, .b-documents__detail__head__lead a:hover, .b-documents__detail__head__dl dd a:hover, .b-common__detail__documents__lead a:hover, .b-common__detail__documents__dl dd a:hover, .b-common__layout__cap li a:hover, .b-common__layout__cap li::before a:hover, .b-common__layout__list .textBox .text a:hover, .b-common__layout__list2 .textBox .text a:hover, .b-common__layout__list3 .textBox .text a:hover, .b-common__layout__profile .text a:hover, .b-common__layout__relate2 .description a:hover, .b-common__index.documents .b-common__index__dl dd a:hover, .b-common__index__lead a:hover {
    text-decoration: none;
  }
}

.p-image__r150 {
  position: relative;
  display: block;
}
.p-image__r150 > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r150 > span::before {
  content: "";
  padding-top: 150%;
  width: 100%;
  display: block;
}
.p-image__r150__link {
  position: relative;
  display: block;
}
.p-image__r150__link > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r150__link > span::before {
  content: "";
  padding-top: 150%;
  width: 100%;
  display: block;
}
.p-image__r150__link::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  background-color: #111111;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-image__r150__link:after {
  content: attr(data-text);
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 20px;
  position: absolute;
  z-index: 2;
  margin-top: -10px;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  color: #ffffff;
  opacity: 0;
  will-change: opacity;
  letter-spacing: 0.3em;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, letter-spacing 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r150__link:hover:before {
    opacity: 0.8;
  }
  .p-image__r150__link:hover:after {
    opacity: 1;
    letter-spacing: 0.16em;
  }
}
.p-image__r150__videolink {
  position: relative;
  display: block;
}
.p-image__r150__videolink > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r150__videolink > span::before {
  content: "";
  padding-top: 150%;
  width: 100%;
  display: block;
}
.p-image__r150__videolink::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  z-index: 1;
  visibility: visible;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.p-image__r150__videolink:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 2;
  visibility: visible;
  opacity: 0.8;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r150__videolink:hover:before {
    opacity: 0.8;
  }
  .p-image__r150__videolink:hover:after {
    opacity: 0.8;
  }
}
.p-image__r125 {
  position: relative;
  display: block;
}
.p-image__r125 > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r125 > span::before {
  content: "";
  padding-top: 125%;
  width: 100%;
  display: block;
}
.p-image__r125__link {
  position: relative;
  display: block;
}
.p-image__r125__link > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r125__link > span::before {
  content: "";
  padding-top: 125%;
  width: 100%;
  display: block;
}
.p-image__r125__link::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  background-color: #111111;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-image__r125__link:after {
  content: attr(data-text);
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 20px;
  position: absolute;
  z-index: 2;
  margin-top: -10px;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  color: #ffffff;
  opacity: 0;
  will-change: opacity;
  letter-spacing: 0.3em;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, letter-spacing 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r125__link:hover:before {
    opacity: 0.8;
  }
  .p-image__r125__link:hover:after {
    opacity: 1;
    letter-spacing: 0.16em;
  }
}
.p-image__r125__videolink {
  position: relative;
  display: block;
}
.p-image__r125__videolink > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r125__videolink > span::before {
  content: "";
  padding-top: 125%;
  width: 100%;
  display: block;
}
.p-image__r125__videolink::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  z-index: 1;
  visibility: visible;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.p-image__r125__videolink:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 2;
  visibility: visible;
  opacity: 0.8;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r125__videolink:hover:before {
    opacity: 0.8;
  }
  .p-image__r125__videolink:hover:after {
    opacity: 0.8;
  }
}
.p-image__r100, .b-documents__detail__head__image, .b-common__detail__case__client__interviewer .image, .b-common__detail__documents__image, .b-common__layout__bnr .docimage, .b-common__layout__list2 .imageBox .image, .b-common__layout__profile .image, .b-common__layout__interview .image, .b-common__layout__message .image, .b-top__solution__list__wrap .image, .b-common__index.documents .b-common__index__image, .js-floating__box__image {
  position: relative;
  display: block;
}
.p-image__r100 > span, .b-documents__detail__head__image > span, .b-common__detail__case__client__interviewer .image > span, .b-common__detail__documents__image > span, .b-common__layout__bnr .docimage > span, .b-common__layout__list2 .imageBox .image > span, .b-common__layout__profile .image > span, .b-common__layout__interview .image > span, .b-common__layout__message .image > span, .b-top__solution__list__wrap .image > span, .b-common__index.documents .b-common__index__image > span, .js-floating__box__image > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r100 > span::before, .b-documents__detail__head__image > span::before, .b-common__detail__case__client__interviewer .image > span::before, .b-common__detail__documents__image > span::before, .b-common__layout__bnr .docimage > span::before, .b-common__layout__list2 .imageBox .image > span::before, .b-common__layout__profile .image > span::before, .b-common__layout__interview .image > span::before, .b-common__layout__message .image > span::before, .b-top__solution__list__wrap .image > span::before, .b-common__index.documents .b-common__index__image > span::before, .js-floating__box__image > span::before {
  content: "";
  padding-top: 100%;
  width: 100%;
  display: block;
}
.p-image__r100__link, .b-common__index__thum__ul.documents .b-common__index__thum__image {
  position: relative;
  display: block;
}
.p-image__r100__link > span, .b-common__index__thum__ul.documents .b-common__index__thum__image > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r100__link > span::before, .b-common__index__thum__ul.documents .b-common__index__thum__image > span::before {
  content: "";
  padding-top: 100%;
  width: 100%;
  display: block;
}
.p-image__r100__link::before, .b-common__index__thum__ul.documents .b-common__index__thum__image::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  background-color: #111111;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-image__r100__link:after, .b-common__index__thum__ul.documents .b-common__index__thum__image:after {
  content: attr(data-text);
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 20px;
  position: absolute;
  z-index: 2;
  margin-top: -10px;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  color: #ffffff;
  opacity: 0;
  will-change: opacity;
  letter-spacing: 0.3em;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, letter-spacing 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r100__link:hover:before, .b-common__index__thum__ul.documents .b-common__index__thum__image:hover:before {
    opacity: 0.8;
  }
  .p-image__r100__link:hover:after, .b-common__index__thum__ul.documents .b-common__index__thum__image:hover:after {
    opacity: 1;
    letter-spacing: 0.16em;
  }
}
.p-image__r100__videolink {
  position: relative;
  display: block;
}
.p-image__r100__videolink > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r100__videolink > span::before {
  content: "";
  padding-top: 100%;
  width: 100%;
  display: block;
}
.p-image__r100__videolink::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  z-index: 1;
  visibility: visible;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.p-image__r100__videolink:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 2;
  visibility: visible;
  opacity: 0.8;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r100__videolink:hover:before {
    opacity: 0.8;
  }
  .p-image__r100__videolink:hover:after {
    opacity: 0.8;
  }
}
.p-image__r75, .b-top__solution__listSub__wrap .image {
  position: relative;
  display: block;
}
.p-image__r75 > span, .b-top__solution__listSub__wrap .image > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r75 > span::before, .b-top__solution__listSub__wrap .image > span::before {
  content: "";
  padding-top: 75%;
  width: 100%;
  display: block;
}
.p-image__r75__link {
  position: relative;
  display: block;
}
.p-image__r75__link > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r75__link > span::before {
  content: "";
  padding-top: 75%;
  width: 100%;
  display: block;
}
.p-image__r75__link::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  background-color: #111111;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-image__r75__link:after {
  content: attr(data-text);
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 20px;
  position: absolute;
  z-index: 2;
  margin-top: -10px;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  color: #ffffff;
  opacity: 0;
  will-change: opacity;
  letter-spacing: 0.3em;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, letter-spacing 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r75__link:hover:before {
    opacity: 0.8;
  }
  .p-image__r75__link:hover:after {
    opacity: 1;
    letter-spacing: 0.16em;
  }
}
.p-image__r75__videolink {
  position: relative;
  display: block;
}
.p-image__r75__videolink > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r75__videolink > span::before {
  content: "";
  padding-top: 75%;
  width: 100%;
  display: block;
}
.p-image__r75__videolink::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  z-index: 1;
  visibility: visible;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.p-image__r75__videolink:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 2;
  visibility: visible;
  opacity: 0.8;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r75__videolink:hover:before {
    opacity: 0.8;
  }
  .p-image__r75__videolink:hover:after {
    opacity: 0.8;
  }
}
.p-image__r66, .b-company__index__linklist__image, .b-common__layout__imagetext .image, .b-common__layout__gallery .image, .b-common__layout__list .imageBox .image, .b-common__layout__list3 .imageBox .image, .b-common__layout__product .imageBox .image, .b-common__layout__relate2 .image, .b-common__layout__cloudterm2 .imageBox .image, .b-common__relate__linklist__image, .b-common__relate2__linklist__image {
  position: relative;
  display: block;
}
.p-image__r66 > span, .b-company__index__linklist__image > span, .b-common__layout__imagetext .image > span, .b-common__layout__gallery .image > span, .b-common__layout__list .imageBox .image > span, .b-common__layout__list3 .imageBox .image > span, .b-common__layout__product .imageBox .image > span, .b-common__layout__relate2 .image > span, .b-common__layout__cloudterm2 .imageBox .image > span, .b-common__relate__linklist__image > span, .b-common__relate2__linklist__image > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r66 > span::before, .b-company__index__linklist__image > span::before, .b-common__layout__imagetext .image > span::before, .b-common__layout__gallery .image > span::before, .b-common__layout__list .imageBox .image > span::before, .b-common__layout__list3 .imageBox .image > span::before, .b-common__layout__product .imageBox .image > span::before, .b-common__layout__relate2 .image > span::before, .b-common__layout__cloudterm2 .imageBox .image > span::before, .b-common__relate__linklist__image > span::before, .b-common__relate2__linklist__image > span::before {
  content: "";
  padding-top: 66.66%;
  width: 100%;
  display: block;
}
.p-image__r66__link, .b-top__pickup__list__wrap .imageBox .image, .l-header__nav__child__image, .b-common__index__thum__image {
  position: relative;
  display: block;
}
.p-image__r66__link > span, .b-top__pickup__list__wrap .imageBox .image > span, .l-header__nav__child__image > span, .b-common__index__thum__image > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r66__link > span::before, .b-top__pickup__list__wrap .imageBox .image > span::before, .l-header__nav__child__image > span::before, .b-common__index__thum__image > span::before {
  content: "";
  padding-top: 66.66%;
  width: 100%;
  display: block;
}
.p-image__r66__link::before, .b-top__pickup__list__wrap .imageBox .image::before, .l-header__nav__child__image::before, .b-common__index__thum__image::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  background-color: #111111;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-image__r66__link:after, .b-top__pickup__list__wrap .imageBox .image:after, .l-header__nav__child__image:after, .b-common__index__thum__image:after {
  content: attr(data-text);
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 20px;
  position: absolute;
  z-index: 2;
  margin-top: -10px;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  color: #ffffff;
  opacity: 0;
  will-change: opacity;
  letter-spacing: 0.3em;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, letter-spacing 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r66__link:hover:before, .b-top__pickup__list__wrap .imageBox .image:hover:before, .l-header__nav__child__image:hover:before, .b-common__index__thum__image:hover:before {
    opacity: 0.8;
  }
  .p-image__r66__link:hover:after, .b-top__pickup__list__wrap .imageBox .image:hover:after, .l-header__nav__child__image:hover:after, .b-common__index__thum__image:hover:after {
    opacity: 1;
    letter-spacing: 0.16em;
  }
}
.p-image__r66__videolink {
  position: relative;
  display: block;
}
.p-image__r66__videolink > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r66__videolink > span::before {
  content: "";
  padding-top: 66.66%;
  width: 100%;
  display: block;
}
.p-image__r66__videolink::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  z-index: 1;
  visibility: visible;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.p-image__r66__videolink:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 2;
  visibility: visible;
  opacity: 0.8;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r66__videolink:hover:before {
    opacity: 0.8;
  }
  .p-image__r66__videolink:hover:after {
    opacity: 0.8;
  }
}
.p-image__r56, .b-common__detail__mv {
  position: relative;
  display: block;
}
.p-image__r56 > span, .b-common__detail__mv > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r56 > span::before, .b-common__detail__mv > span::before {
  content: "";
  padding-top: 56.25%;
  width: 100%;
  display: block;
}
.p-image__r56__link {
  position: relative;
  display: block;
}
.p-image__r56__link > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r56__link > span::before {
  content: "";
  padding-top: 56.25%;
  width: 100%;
  display: block;
}
.p-image__r56__link::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  background-color: #111111;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-image__r56__link:after {
  content: attr(data-text);
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 20px;
  position: absolute;
  z-index: 2;
  margin-top: -10px;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  color: #ffffff;
  opacity: 0;
  will-change: opacity;
  letter-spacing: 0.3em;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, letter-spacing 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r56__link:hover:before {
    opacity: 0.8;
  }
  .p-image__r56__link:hover:after {
    opacity: 1;
    letter-spacing: 0.16em;
  }
}
.p-image__r56__videolink {
  position: relative;
  display: block;
}
.p-image__r56__videolink > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r56__videolink > span::before {
  content: "";
  padding-top: 56.25%;
  width: 100%;
  display: block;
}
.p-image__r56__videolink::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  z-index: 1;
  visibility: visible;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.p-image__r56__videolink:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 2;
  visibility: visible;
  opacity: 0.8;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r56__videolink:hover:before {
    opacity: 0.8;
  }
  .p-image__r56__videolink:hover:after {
    opacity: 0.8;
  }
}
.p-image__r50 {
  position: relative;
  display: block;
}
.p-image__r50 > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r50 > span::before {
  content: "";
  padding-top: 50%;
  width: 100%;
  display: block;
}
.p-image__r50__link {
  position: relative;
  display: block;
}
.p-image__r50__link > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r50__link > span::before {
  content: "";
  padding-top: 50%;
  width: 100%;
  display: block;
}
.p-image__r50__link::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  background-color: #111111;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-image__r50__link:after {
  content: attr(data-text);
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 20px;
  position: absolute;
  z-index: 2;
  margin-top: -10px;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  color: #ffffff;
  opacity: 0;
  will-change: opacity;
  letter-spacing: 0.3em;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, letter-spacing 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r50__link:hover:before {
    opacity: 0.8;
  }
  .p-image__r50__link:hover:after {
    opacity: 1;
    letter-spacing: 0.16em;
  }
}
.p-image__r50__videolink {
  position: relative;
  display: block;
}
.p-image__r50__videolink > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r50__videolink > span::before {
  content: "";
  padding-top: 50%;
  width: 100%;
  display: block;
}
.p-image__r50__videolink::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  z-index: 1;
  visibility: visible;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.p-image__r50__videolink:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 2;
  visibility: visible;
  opacity: 0.8;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r50__videolink:hover:before {
    opacity: 0.8;
  }
  .p-image__r50__videolink:hover:after {
    opacity: 0.8;
  }
}
.p-image__r33, .l-footer__banner__wrap ul li a {
  position: relative;
  display: block;
}
.p-image__r33 > span, .l-footer__banner__wrap ul li a > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r33 > span::before, .l-footer__banner__wrap ul li a > span::before {
  content: "";
  padding-top: 33.33%;
  width: 100%;
  display: block;
}
.p-image__r33__link {
  position: relative;
  display: block;
}
.p-image__r33__link > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r33__link > span::before {
  content: "";
  padding-top: 33.33%;
  width: 100%;
  display: block;
}
.p-image__r33__link::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 1;
  background-color: #111111;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-image__r33__link:after {
  content: attr(data-text);
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 20px;
  position: absolute;
  z-index: 2;
  margin-top: -10px;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  display: block;
  color: #ffffff;
  opacity: 0;
  will-change: opacity;
  letter-spacing: 0.3em;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, letter-spacing 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r33__link:hover:before {
    opacity: 0.8;
  }
  .p-image__r33__link:hover:after {
    opacity: 1;
    letter-spacing: 0.16em;
  }
}
.p-image__r33__videolink {
  position: relative;
  display: block;
}
.p-image__r33__videolink > span {
  position: relative;
  z-index: 0;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.p-image__r33__videolink > span::before {
  content: "";
  padding-top: 33.33%;
  width: 100%;
  display: block;
}
.p-image__r33__videolink::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  z-index: 1;
  visibility: visible;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.p-image__r33__videolink:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 2;
  visibility: visible;
  opacity: 0.8;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-image__r33__videolink:hover:before {
    opacity: 0.8;
  }
  .p-image__r33__videolink:hover:after {
    opacity: 0.8;
  }
}

.p-button, .b-contact__button, .b-contact__thanks__button, .b-common__cv .link .button, .b-common__detail__mvtable__link, .b-common__layout__link, .b-common__layout__imagetext .link, .b-common__layout__product .button, .b-top__mv__list__wrap .textBox .button, .b-top__solution__foot > ul > li .link, .b-top__news__button, .b-top__news__button2, .p-button__s, .b-company__base .link, .b-common__layout__list .textBox .link, .b-common__layout__list2 .textBox .link, .b-common__layout__list3 .textBox .link, .b-common__layout__product .textBox .link, .b-common__layout__relate a .button, .b-top__pickup__list__wrap .button, .b-top__solution__list__wrap .button, .b-top__solution__listSub__wrap .button, .b-top__link__list__link .button, .p-button__s__r, .p-button__r, .b-common__index__thum__button, .p-button__disable, .p-button__w, .p-button__sub, .b-contact__back, .p-button__sub__s, .b-top__news__link, .p-button__sub__s__r, .p-button__sub__r {
  display: block;
  font-size: 1rem;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  color: var(--White);
  fill: var(--White);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-button:before, .b-contact__button:before, .b-contact__thanks__button:before, .b-common__cv .link .button:before, .b-common__detail__mvtable__link:before, .b-common__layout__link:before, .b-common__layout__imagetext .link:before, .b-common__layout__product .button:before, .b-top__mv__list__wrap .textBox .button:before, .b-top__solution__foot > ul > li .link:before, .b-top__news__button:before, .b-top__news__button2:before, .p-button__s:before, .b-company__base .link:before, .b-common__layout__list .textBox .link:before, .b-common__layout__list2 .textBox .link:before, .b-common__layout__list3 .textBox .link:before, .b-common__layout__product .textBox .link:before, .b-common__layout__relate a .button:before, .b-top__pickup__list__wrap .button:before, .b-top__solution__list__wrap .button:before, .b-top__solution__listSub__wrap .button:before, .b-top__link__list__link .button:before, .p-button__s__r:before, .p-button__r:before, .b-common__index__thum__button:before, .p-button__disable:before, .p-button__w:before, .p-button__sub:before, .b-contact__back:before, .p-button__sub__s:before, .b-top__news__link:before, .p-button__sub__s__r:before, .p-button__sub__r:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--Grad);
  opacity: 1;
}
.p-button:after, .b-contact__button:after, .b-contact__thanks__button:after, .b-common__cv .link .button:after, .b-common__detail__mvtable__link:after, .b-common__layout__link:after, .b-common__layout__imagetext .link:after, .b-common__layout__product .button:after, .b-top__mv__list__wrap .textBox .button:after, .b-top__solution__foot > ul > li .link:after, .b-top__news__button:after, .b-top__news__button2:after, .p-button__s:after, .b-company__base .link:after, .b-common__layout__list .textBox .link:after, .b-common__layout__list2 .textBox .link:after, .b-common__layout__list3 .textBox .link:after, .b-common__layout__product .textBox .link:after, .b-common__layout__relate a .button:after, .b-top__pickup__list__wrap .button:after, .b-top__solution__list__wrap .button:after, .b-top__solution__listSub__wrap .button:after, .b-top__link__list__link .button:after, .p-button__s__r:after, .p-button__r:after, .b-common__index__thum__button:after, .p-button__disable:after, .p-button__w:after, .p-button__sub:after, .b-contact__back:after, .p-button__sub__s:after, .b-top__news__link:after, .p-button__sub__s__r:after, .p-button__sub__r:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--GradHover);
  opacity: 0;
}
@media only screen and (min-width: 1000px) {
  .p-button:hover, .b-contact__button:hover, .b-contact__thanks__button:hover, .b-common__cv .link .button:hover, .b-common__detail__mvtable__link:hover, .b-common__layout__link:hover, .b-common__layout__imagetext .link:hover, .b-common__layout__product .button:hover, .b-top__mv__list__wrap .textBox .button:hover, .b-top__solution__foot > ul > li .link:hover, .b-top__news__button:hover, .b-top__news__button2:hover, .p-button__s:hover, .b-company__base .link:hover, .b-common__layout__list .textBox .link:hover, .b-common__layout__list2 .textBox .link:hover, .b-common__layout__list3 .textBox .link:hover, .b-common__layout__product .textBox .link:hover, .b-common__layout__relate a .button:hover, .b-top__pickup__list__wrap .button:hover, .b-top__solution__list__wrap .button:hover, .b-top__solution__listSub__wrap .button:hover, .b-top__link__list__link .button:hover, .p-button__s__r:hover, .p-button__r:hover, .b-common__index__thum__button:hover, .p-button__disable:hover, .p-button__w:hover, .p-button__sub:hover, .b-contact__back:hover, .p-button__sub__s:hover, .b-top__news__link:hover, .p-button__sub__s__r:hover, .p-button__sub__r:hover {
    border-color: var(--Key1);
    color: var(--Key1);
    fill: var(--Key1);
  }
  .p-button:hover:before, .b-contact__button:hover:before, .b-contact__thanks__button:hover:before, .b-common__cv .link .button:hover:before, .b-common__detail__mvtable__link:hover:before, .b-common__layout__link:hover:before, .b-common__layout__imagetext .link:hover:before, .b-common__layout__product .button:hover:before, .b-top__mv__list__wrap .textBox .button:hover:before, .b-top__solution__foot > ul > li .link:hover:before, .b-top__news__button:hover:before, .b-top__news__button2:hover:before, .p-button__s:hover:before, .b-company__base .link:hover:before, .b-common__layout__list .textBox .link:hover:before, .b-common__layout__list2 .textBox .link:hover:before, .b-common__layout__list3 .textBox .link:hover:before, .b-common__layout__product .textBox .link:hover:before, .b-common__layout__relate a .button:hover:before, .b-top__pickup__list__wrap .button:hover:before, .b-top__solution__list__wrap .button:hover:before, .b-top__solution__listSub__wrap .button:hover:before, .b-top__link__list__link .button:hover:before, .p-button__s__r:hover:before, .p-button__r:hover:before, .b-common__index__thum__button:hover:before, .p-button__disable:hover:before, .p-button__w:hover:before, .p-button__sub:hover:before, .b-contact__back:hover:before, .p-button__sub__s:hover:before, .b-top__news__link:hover:before, .p-button__sub__s__r:hover:before, .p-button__sub__r:hover:before {
    opacity: 0;
  }
  .p-button:hover:after, .b-contact__button:hover:after, .b-contact__thanks__button:hover:after, .b-common__cv .link .button:hover:after, .b-common__detail__mvtable__link:hover:after, .b-common__layout__link:hover:after, .b-common__layout__imagetext .link:hover:after, .b-common__layout__product .button:hover:after, .b-top__mv__list__wrap .textBox .button:hover:after, .b-top__solution__foot > ul > li .link:hover:after, .b-top__news__button:hover:after, .b-top__news__button2:hover:after, .p-button__s:hover:after, .b-company__base .link:hover:after, .b-common__layout__list .textBox .link:hover:after, .b-common__layout__list2 .textBox .link:hover:after, .b-common__layout__list3 .textBox .link:hover:after, .b-common__layout__product .textBox .link:hover:after, .b-common__layout__relate a .button:hover:after, .b-top__pickup__list__wrap .button:hover:after, .b-top__solution__list__wrap .button:hover:after, .b-top__solution__listSub__wrap .button:hover:after, .b-top__link__list__link .button:hover:after, .p-button__s__r:hover:after, .p-button__r:hover:after, .b-common__index__thum__button:hover:after, .p-button__disable:hover:after, .p-button__w:hover:after, .p-button__sub:hover:after, .b-contact__back:hover:after, .p-button__sub__s:hover:after, .b-top__news__link:hover:after, .p-button__sub__s__r:hover:after, .p-button__sub__r:hover:after {
    opacity: 1;
  }
}
.p-button:before, .b-contact__button:before, .b-contact__thanks__button:before, .b-common__cv .link .button:before, .b-common__detail__mvtable__link:before, .b-common__layout__link:before, .b-common__layout__imagetext .link:before, .b-common__layout__product .button:before, .b-top__mv__list__wrap .textBox .button:before, .b-top__solution__foot > ul > li .link:before, .b-top__news__button:before, .b-top__news__button2:before, .p-button__s:before, .b-company__base .link:before, .b-common__layout__list .textBox .link:before, .b-common__layout__list2 .textBox .link:before, .b-common__layout__list3 .textBox .link:before, .b-common__layout__product .textBox .link:before, .b-common__layout__relate a .button:before, .b-top__pickup__list__wrap .button:before, .b-top__solution__list__wrap .button:before, .b-top__solution__listSub__wrap .button:before, .b-top__link__list__link .button:before, .p-button__s__r:before, .p-button__r:before, .b-common__index__thum__button:before, .p-button__disable:before, .p-button__w:before, .p-button__sub:before, .b-contact__back:before, .p-button__sub__s:before, .b-top__news__link:before, .p-button__sub__s__r:before, .p-button__sub__r:before, .p-button:after, .b-contact__button:after, .b-contact__thanks__button:after, .b-common__cv .link .button:after, .b-common__detail__mvtable__link:after, .b-common__layout__link:after, .b-common__layout__imagetext .link:after, .b-common__layout__product .button:after, .b-top__mv__list__wrap .textBox .button:after, .b-top__solution__foot > ul > li .link:after, .b-top__news__button:after, .b-top__news__button2:after, .p-button__s:after, .b-company__base .link:after, .b-common__layout__list .textBox .link:after, .b-common__layout__list2 .textBox .link:after, .b-common__layout__list3 .textBox .link:after, .b-common__layout__product .textBox .link:after, .b-common__layout__relate a .button:after, .b-top__pickup__list__wrap .button:after, .b-top__solution__list__wrap .button:after, .b-top__solution__listSub__wrap .button:after, .b-top__link__list__link .button:after, .p-button__s__r:after, .p-button__r:after, .b-common__index__thum__button:after, .p-button__disable:after, .p-button__w:after, .p-button__sub:after, .b-contact__back:after, .p-button__sub__s:after, .b-top__news__link:after, .p-button__sub__s__r:after, .p-button__sub__r:after {
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-button > span, .b-contact__button > span, .b-contact__thanks__button > span, .b-common__cv .link .button > span, .b-common__detail__mvtable__link > span, .b-common__layout__link > span, .b-common__layout__imagetext .link > span, .b-common__layout__product .button > span, .b-top__mv__list__wrap .textBox .button > span, .b-top__solution__foot > ul > li .link > span, .b-top__news__button > span, .b-top__news__button2 > span, .p-button__s > span, .b-company__base .link > span, .b-common__layout__list .textBox .link > span, .b-common__layout__list2 .textBox .link > span, .b-common__layout__list3 .textBox .link > span, .b-common__layout__product .textBox .link > span, .b-common__layout__relate a .button > span, .b-top__pickup__list__wrap .button > span, .b-top__solution__list__wrap .button > span, .b-top__solution__listSub__wrap .button > span, .b-top__link__list__link .button > span, .p-button__s__r > span, .p-button__r > span, .b-common__index__thum__button > span, .p-button__disable > span, .p-button__w > span, .p-button__sub > span, .b-contact__back > span, .p-button__sub__s > span, .b-top__news__link > span, .p-button__sub__s__r > span, .p-button__sub__r > span {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  width: auto;
  font-size: 1em;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.12em;
  line-height: 2;
  padding: 0.5em 1em;
  text-align: center;
  position: relative;
  z-index: 1;
  white-space: nowrap;
}
.p-button > span svg, .b-contact__button > span svg, .b-contact__thanks__button > span svg, .b-common__cv .link .button > span svg, .b-common__detail__mvtable__link > span svg, .b-common__layout__link > span svg, .b-common__layout__imagetext .link > span svg, .b-common__layout__product .button > span svg, .b-top__mv__list__wrap .textBox .button > span svg, .b-top__solution__foot > ul > li .link > span svg, .b-top__news__button > span svg, .b-top__news__button2 > span svg, .p-button__s > span svg, .b-company__base .link > span svg, .b-common__layout__list .textBox .link > span svg, .b-common__layout__list2 .textBox .link > span svg, .b-common__layout__list3 .textBox .link > span svg, .b-common__layout__product .textBox .link > span svg, .b-common__layout__relate a .button > span svg, .b-top__pickup__list__wrap .button > span svg, .b-top__solution__list__wrap .button > span svg, .b-top__solution__listSub__wrap .button > span svg, .b-top__link__list__link .button > span svg, .p-button__s__r > span svg, .p-button__r > span svg, .b-common__index__thum__button > span svg, .p-button__disable > span svg, .p-button__w > span svg, .p-button__sub > span svg, .b-contact__back > span svg, .p-button__sub__s > span svg, .b-top__news__link > span svg, .p-button__sub__s__r > span svg, .p-button__sub__r > span svg {
  width: 1.3em;
  height: 1.3em;
  display: inline-block;
  vertical-align: middle;
}
.p-button > span span, .b-contact__button > span span, .b-contact__thanks__button > span span, .b-common__cv .link .button > span span, .b-common__detail__mvtable__link > span span, .b-common__layout__link > span span, .b-common__layout__imagetext .link > span span, .b-common__layout__product .button > span span, .b-top__mv__list__wrap .textBox .button > span span, .b-top__solution__foot > ul > li .link > span span, .b-top__news__button > span span, .b-top__news__button2 > span span, .p-button__s > span span, .b-company__base .link > span span, .b-common__layout__list .textBox .link > span span, .b-common__layout__list2 .textBox .link > span span, .b-common__layout__list3 .textBox .link > span span, .b-common__layout__product .textBox .link > span span, .b-common__layout__relate a .button > span span, .b-top__pickup__list__wrap .button > span span, .b-top__solution__list__wrap .button > span span, .b-top__solution__listSub__wrap .button > span span, .b-top__link__list__link .button > span span, .p-button__s__r > span span, .p-button__r > span span, .b-common__index__thum__button > span span, .p-button__disable > span span, .p-button__w > span span, .p-button__sub > span span, .b-contact__back > span span, .p-button__sub__s > span span, .b-top__news__link > span span, .p-button__sub__s__r > span span, .p-button__sub__r > span span {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.6em;
  margin-right: 0.6em;
}
.p-button input, .b-contact__button input, .b-contact__thanks__button input, .b-common__cv .link .button input, .b-common__detail__mvtable__link input, .b-common__layout__link input, .b-common__layout__imagetext .link input, .b-common__layout__product .button input, .b-top__mv__list__wrap .textBox .button input, .b-top__solution__foot > ul > li .link input, .b-top__news__button input, .b-top__news__button2 input, .p-button__s input, .b-company__base .link input, .b-common__layout__list .textBox .link input, .b-common__layout__list2 .textBox .link input, .b-common__layout__list3 .textBox .link input, .b-common__layout__product .textBox .link input, .b-common__layout__relate a .button input, .b-top__pickup__list__wrap .button input, .b-top__solution__list__wrap .button input, .b-top__solution__listSub__wrap .button input, .b-top__link__list__link .button input, .p-button__s__r input, .p-button__r input, .b-common__index__thum__button input, .p-button__disable input, .p-button__w input, .p-button__sub input, .b-contact__back input, .p-button__sub__s input, .b-top__news__link input, .p-button__sub__s__r input, .p-button__sub__r input {
  font-size: 1em;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.12em;
  line-height: 2;
  padding: 0.5em 1em;
  color: inherit;
  text-align: center;
  display: block;
  width: 100%;
  position: relative;
  z-index: 1;
}
.p-button__sub, .b-contact__back, .p-button__sub__s, .b-top__news__link, .p-button__sub__s__r, .p-button__sub__r {
  border: 1px solid var(--SubText);
  color: var(--Base1);
  fill: var(--Base1);
}
.p-button__sub:before, .b-contact__back:before, .p-button__sub__s:before, .b-top__news__link:before, .p-button__sub__s__r:before, .p-button__sub__r:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--SubText);
  opacity: 1;
}
.p-button__sub:after, .b-contact__back:after, .p-button__sub__s:after, .b-top__news__link:after, .p-button__sub__s__r:after, .p-button__sub__r:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--Base1);
  opacity: 0;
}
@media only screen and (min-width: 1000px) {
  .p-button__sub:hover, .b-contact__back:hover, .p-button__sub__s:hover, .b-top__news__link:hover, .p-button__sub__s__r:hover, .p-button__sub__r:hover {
    border-color: var(--Border);
    color: var(--Border);
    fill: var(--Border);
  }
  .p-button__sub:hover:before, .b-contact__back:hover:before, .p-button__sub__s:hover:before, .b-top__news__link:hover:before, .p-button__sub__s__r:hover:before, .p-button__sub__r:hover:before {
    opacity: 0;
  }
  .p-button__sub:hover:after, .b-contact__back:hover:after, .p-button__sub__s:hover:after, .b-top__news__link:hover:after, .p-button__sub__s__r:hover:after, .p-button__sub__r:hover:after {
    opacity: 1;
  }
}
.p-button__sub__r > span {
  flex-direction: row-reverse;
}
.p-button__sub__s, .b-top__news__link, .p-button__sub__s__r {
  font-size: calc(1rem - 1px);
}
.p-button__sub__s__r > span {
  flex-direction: row-reverse;
}
.p-button__sub__s > span, .b-top__news__link > span, .p-button__sub__s__r > span {
  padding: 0.1em 0.5em;
}
.p-button__w {
  border: 1px solid var(--White);
  color: var(--White);
  fill: var(--White);
}
.p-button__w:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: transparent;
  opacity: 1;
}
.p-button__w:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--Key1);
  opacity: 0;
}
@media only screen and (min-width: 1000px) {
  .p-button__w:hover {
    border-color: var(--White);
    color: var(--White);
    fill: var(--White);
  }
  .p-button__w:hover:before {
    opacity: 0;
  }
  .p-button__w:hover:after {
    opacity: 1;
  }
}
.p-button__disable {
  pointer-events: none;
  cursor: default;
  border: 1px solid var(--Border);
  color: var(--Base1);
  fill: var(--Base1);
}
.p-button__disable:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--Border);
  opacity: 1;
}
.p-button__disable:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: var(--Border);
  opacity: 0;
}
@media only screen and (min-width: 1000px) {
  .p-button__disable:hover {
    border-color: var(--Border);
    color: var(--Base1);
    fill: var(--Base1);
  }
  .p-button__disable:hover:before {
    opacity: 0;
  }
  .p-button__disable:hover:after {
    opacity: 1;
  }
}
.p-button__r > span, .b-common__index__thum__button > span {
  flex-direction: row-reverse;
}
.p-button__s, .b-company__base .link, .b-common__layout__list .textBox .link, .b-common__layout__list2 .textBox .link, .b-common__layout__list3 .textBox .link, .b-common__layout__product .textBox .link, .b-common__layout__relate a .button, .b-top__pickup__list__wrap .button, .b-top__solution__list__wrap .button, .b-top__solution__listSub__wrap .button, .b-top__link__list__link .button, .p-button__s__r {
  font-size: calc(1rem - 1px);
}
.p-button__s__r > span {
  flex-direction: row-reverse;
}
.p-button__s > span, .b-company__base .link > span, .b-common__layout__list .textBox .link > span, .b-common__layout__list2 .textBox .link > span, .b-common__layout__list3 .textBox .link > span, .b-common__layout__product .textBox .link > span, .b-common__layout__relate a .button > span, .b-top__pickup__list__wrap .button > span, .b-top__solution__list__wrap .button > span, .b-top__solution__listSub__wrap .button > span, .b-top__link__list__link .button > span, .p-button__s__r > span {
  padding: 0.1em 0.5em;
}

.p-link, .l-header__contact__nav__link, .p-link__r {
  display: inline-block;
  color: var(--Key1);
  fill: var(--Key1);
  font-size: 1rem;
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 1000px) {
  .p-link:hover::after, .l-header__contact__nav__link:hover::after, .p-link__r:hover::after {
    width: 0%;
    left: 100%;
    transition: width 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
.p-link:after, .l-header__contact__nav__link:after, .p-link__r:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: var(--Key1);
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  will-change: width, left;
  transition: width 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-link > span, .l-header__contact__nav__link > span, .p-link__r > span {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 1em;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.06em;
  line-height: 2;
  text-align: center;
}
.p-link > span svg, .l-header__contact__nav__link > span svg, .p-link__r > span svg {
  width: 1.3em;
  height: 1.3em;
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5em;
}
.p-link > span span, .l-header__contact__nav__link > span span, .p-link__r > span span {
  display: inline-block;
  vertical-align: middle;
}
.p-link__r > span {
  flex-direction: row-reverse;
}
.p-link__r > span svg {
  margin-left: 0;
  margin-right: 0.5em;
}

.p-input input {
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.12em;
  line-height: 2.8rem;
  border: 1px solid var(--Border);
  padding: 0 0.9rem;
  width: 100%;
}

.p-textarea textarea {
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.12em;
  line-height: 1.8;
  border: 1px solid var(--Border);
  width: 100%;
  padding: 0.5rem 0.9rem;
  height: 14rem;
}

.p-checkbox label {
  position: relative;
  padding-left: 2.2rem;
  cursor: pointer;
  margin-right: 1.2rem;
}
.p-checkbox input {
  display: none;
}
.p-checkbox input + span {
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.12em;
  line-height: 2.8rem;
  display: inline-block;
}
.p-checkbox input + span::before {
  content: "";
  display: block;
  position: absolute;
  box-sizing: border-box;
  top: 50%;
  left: 0;
  margin-top: -0.75rem;
  width: 1.5rem;
  height: 1.5rem;
  border: 1px solid var(--Border);
  opacity: 1;
}
.p-checkbox input + span::after {
  content: "";
  display: block;
  position: absolute;
  box-sizing: border-box;
  top: 50%;
  left: calc((1.5rem - 0.9rem) / 2);
  width: 0.9rem;
  height: 0.45rem;
  background-color: transparent;
  opacity: 0;
  border-bottom: 3px solid var(--Key1);
  border-left: 2px solid var(--Key1);
  transform-origin: center center;
  transform: translate(0%, -75%) rotate(-45deg);
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-checkbox input:checked + span::after {
  opacity: 1;
}

.p-radio label {
  position: relative;
  padding-left: 2.4rem;
  cursor: pointer;
  margin-right: 1.2rem;
}
.p-radio input {
  display: none;
}
.p-radio input + span {
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.12em;
  line-height: 2.8rem;
  display: inline-block;
}
.p-radio input + span::before {
  content: "";
  display: block;
  position: absolute;
  box-sizing: border-box;
  top: 50%;
  left: 0;
  margin-top: -0.9rem;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid var(--Border);
  opacity: 1;
  border-radius: 100%;
}
.p-radio input + span::after {
  content: "";
  display: block;
  position: absolute;
  box-sizing: border-box;
  top: 50%;
  left: calc((1.8rem - 0.9rem) / 2);
  transform: translateY(-50%);
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 100%;
  opacity: 0;
  background-color: var(--Key1);
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.p-radio input:checked + span::after {
  opacity: 1;
}

.p-select {
  position: relative;
}
.p-select::before {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  border-bottom: 1px solid var(--SubText);
  border-right: 1px solid var(--SubText);
  transform: translate(0%, -50%) rotate(45deg);
  position: absolute;
  right: 1rem;
  top: 50%;
}
.p-select select {
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 2.8rem;
  border: 1px solid var(--Border);
  padding: 0 1rem;
  padding-right: 2rem;
  width: 100%;
  appearance: none;
}
.p-select select [disabled] {
  color: var(--SubText);
}

.p-search {
  width: 100%;
  background-color: transparent;
  position: relative;
  height: 3rem;
  border: 1px solid var(--Border);
  overflow: hidden;
  border-radius: 3px;
}
.p-search input[type=text] {
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.06em;
  line-height: calc(3rem - 2px);
  position: relative;
  padding: 0 3rem 0 1rem;
  width: 100%;
  color: var(--Text);
  background-color: var(--Base2);
  margin: 0;
  border: none;
}
.p-search input[type=text]::placeholder {
  color: var(--SubText);
}
.p-search input[type=submit] {
  cursor: pointer;
  background-color: transparent;
  border: none;
  text-indent: -9999px;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background-size: 2.5rem;
  background-image: url(../image/common/icon-search.svg);
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  background-color: var(--SubText);
  right: 0rem;
  top: 50%;
  margin-top: -1.5rem;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-search input[type=submit]:hover {
    background-color: var(--Border);
  }
}

.p-table table {
  border-top: 1px solid var(--Light);
  width: 100%;
}
.p-table table tr {
  border-bottom: 1px solid var(--Light);
}
.p-table table th {
  white-space: nowrap;
  background-color: var(--Base2);
  width: 20%;
}
@media only screen and (max-width: 680px) {
  .p-table table th {
    width: 10px;
  }
}
.p-table table th,
.p-table table td {
  padding: 1rem;
  text-align: left;
  vertical-align: top;
}
.p-table table th > span,
.p-table table td > span {
  line-height: 1.8;
}
.p-table table th > span {
  font-weight: var(--fwb);
}

.p-attention ul li {
  color: var(--SubText);
  margin-bottom: 0.6em;
}
.p-attention ul li:last-child {
  margin-bottom: 0;
}
.p-attention ul li > span {
  position: relative;
  display: block;
  padding-left: 1.2em;
}
.p-attention ul li > span:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.p-pankuzu {
  list-style-type: none;
  display: inline-block;
  white-space: nowrap;
}
.p-pankuzu li {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}
.p-pankuzu p,
.p-pankuzu div,
.p-pankuzu a {
  font-size: 13px;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.02em;
  line-height: 2rem;
  color: var(--Text);
  fill: var(--Text);
  display: block;
  text-transform: uppercase;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1000px) {
  .p-pankuzu p,
  .p-pankuzu div,
  .p-pankuzu a {
    letter-spacing: 0;
    line-height: 2.8rem;
  }
}
@media only screen and (max-width: 680px) {
  .p-pankuzu p,
  .p-pankuzu div,
  .p-pankuzu a {
    letter-spacing: 0;
    font-size: 10px;
  }
}
.p-pankuzu p > span,
.p-pankuzu div > span,
.p-pankuzu a > span {
  overflow: hidden;
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 200px;
  vertical-align: middle;
}
@media only screen and (max-width: 680px) {
  .p-pankuzu p > span,
  .p-pankuzu div > span,
  .p-pankuzu a > span {
    max-width: 200px;
  }
}
.p-pankuzu a {
  padding-right: 12px;
  position: relative;
}
.p-pankuzu a::before, .p-pankuzu a::after {
  content: "";
  width: 5px;
  background-color: var(--Text);
  height: 1px;
  position: absolute;
  right: 0;
  top: 50%;
  transform-origin: right center;
}
.p-pankuzu a::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-pankuzu a::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media only screen and (min-width: 1000px) {
  .p-pankuzu a:hover {
    opacity: 0.5;
  }
}
.p-pankuzu div {
  color: var(--SubText);
}
.p-pankuzu svg {
  width: 1.3em;
  height: 1.3em;
  display: inline-block;
  vertical-align: text-bottom;
}
.p-pankuzu__w * {
  color: #ffffff;
}
.p-pankuzu__w li + li::before, .p-pankuzu__w li + li::after {
  background-color: rgba(255, 255, 255, 0.5);
}

.p-pager__num ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  flex-wrap: nowrap;
  gap: 0.5rem;
}
.p-pager__num ul li a,
.p-pager__num ul li div {
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0em;
  line-height: 1;
}
@media only screen and (max-width: 1000px) {
  .p-pager__num ul li a,
  .p-pager__num ul li div {
    font-size: 13px;
  }
}
@media only screen and (max-width: 680px) {
  .p-pager__num ul li a,
  .p-pager__num ul li div {
    font-size: 12px;
  }
}
.p-pager__num ul li a {
  color: var(--SubText);
  background-color: var(--Base2);
}
@media only screen and (min-width: 1000px) {
  .p-pager__num ul li a:hover {
    color: var(--White);
    background-color: var(--Key2);
  }
}
.p-pager__num ul li div {
  font-weight: var(--fwb);
  color: var(--White);
  background-color: var(--Key1);
}
.p-pager__num ul li.next a,
.p-pager__num ul li.next div, .p-pager__num ul li.prev a,
.p-pager__num ul li.prev div {
  padding: 0;
  background-color: transparent;
  position: relative;
  width: 3rem;
  height: 2rem;
}
@media only screen and (max-width: 1000px) {
  .p-pager__num ul li.next a,
  .p-pager__num ul li.next div, .p-pager__num ul li.prev a,
  .p-pager__num ul li.prev div {
    width: 2rem;
  }
}
.p-pager__num ul li.next a::before,
.p-pager__num ul li.next div::before, .p-pager__num ul li.prev a::before,
.p-pager__num ul li.prev div::before {
  content: "";
  box-sizing: border-box;
  display: block;
  width: 1rem;
  height: 1rem;
  border-bottom: 4px solid var(--Key1);
  border-left: 4px solid var(--Key1);
  position: absolute;
  left: 50%;
  top: 50%;
  transform-origin: center center;
  transform: translate(-50%, -50%) rotate(45deg) scale(1, 1);
}
.p-pager__num ul li.next a, .p-pager__num ul li.prev a {
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .p-pager__num ul li.next a:hover::before, .p-pager__num ul li.prev a:hover::before {
    border-bottom: 4px solid var(--Key2);
    border-left: 4px solid var(--Key2);
  }
}
.p-pager__num ul li.next div::before, .p-pager__num ul li.prev div::before {
  border-bottom: 4px solid var(--Border);
  border-left: 4px solid var(--Border);
}
.p-pager__num ul li.next a::before,
.p-pager__num ul li.next div::before {
  transform: translate(-50%, -50%) rotate(-135deg) scale(1, 1);
}
.p-pager__arr ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 4rem;
}
@media only screen and (max-width: 680px) {
  .p-pager__arr ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: 0;
    flex-wrap: nowrap;
  }
}
.p-pager__arr ul li:nth-child(1) a span {
  padding-left: 1.2em;
}
.p-pager__arr ul li:nth-child(1) a span:before {
  content: "";
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  top: 50%;
  left: 0;
  border-top: 1px solid var(--Title);
  border-left: 1px solid var(--Title);
  transform-origin: center center;
  transform: translate(0, -50%) rotate(-45deg);
}
.p-pager__arr ul li:nth-child(3) a span {
  padding-right: 1.2em;
}
.p-pager__arr ul li:nth-child(3) a span:before {
  content: "";
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  top: 50%;
  right: 0;
  border-top: 1px solid var(--Title);
  border-right: 1px solid var(--Title);
  transform-origin: center center;
  transform: translate(0, -50%) rotate(45deg);
}
.p-pager__arr ul a {
  padding: 1rem 2rem;
}
@media only screen and (min-width: 1000px) {
  .p-pager__arr ul a:hover span:after {
    opacity: 1;
  }
}
@media only screen and (max-width: 680px) {
  .p-pager__arr ul a {
    padding: 1rem 0.5rem;
  }
}
.p-pager__arr ul a span {
  font-size: 13px;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  display: inline-block;
  position: relative;
}
@media only screen and (max-width: 1000px) {
  .p-pager__arr ul a span {
    font-size: 13px;
  }
}
@media only screen and (max-width: 680px) {
  .p-pager__arr ul a span {
    font-size: 12px;
  }
}
.p-pager__arr ul a span:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -5px;
  left: 0%;
  background-color: var(--Title);
  opacity: 0;
}

.p-sns ul, .l-footer__sns ul {
  font-size: 0;
}
.p-sns ul li, .l-footer__sns ul li {
  display: inline-block;
}
.p-sns ul li a, .l-footer__sns ul li a {
  border-radius: 100%;
}
.p-sns ul li a svg, .l-footer__sns ul li a svg {
  width: 2.5rem;
  height: 2.5rem;
}

.p-share {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  flex-wrap: nowrap;
  gap: 0.5rem;
}
.p-share li {
  font-size: 0;
}
.p-share__copy {
  font-size: 12px;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 20px;
  background-color: var(--SubText);
  color: var(--White);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  border-radius: 4px;
  padding: 0 0.8em;
  gap: 0.5em;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0mss;
}
@media only screen and (min-width: 1000px) {
  .p-share__copy:hover {
    background-color: var(--Border);
  }
}
@media only screen and (max-width: 680px) {
  .p-share__copy {
    padding: 0 0.5em;
    font-size: 11px;
    gap: 0.3em;
  }
}
.p-share__copy svg {
  fill: var(--White);
  width: 1.2em;
  height: 1.2em;
}
@media only screen and (max-width: 680px) {
  .p-share__copy svg {
    display: none;
  }
}

.p-cv {
  font-size: 1rem;
  display: inline-block;
  text-align: left;
}
.p-cv__wrap {
  display: block;
  position: relative;
  padding-left: 3em;
}
.p-cv__svg {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 2.5em;
  display: block;
}
.p-cv__svg:before {
  content: "";
  padding-top: 100%;
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
}
.p-cv__svg svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-cv__title {
  font-size: 1.5em;
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.06em;
  line-height: 1;
  display: block;
}
.p-cv__title__jp {
  font-size: 1.1em;
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.06em;
  line-height: 1;
}
.p-cv__subtitle {
  font-size: max(10px, 0.8em);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.02em;
  line-height: 1;
  display: block;
  margin-top: 0.4em;
}

.p-info {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.9;
}
.p-info a {
  color: inherit;
}
.p-info a.map {
  text-decoration: underline;
}
@media only screen and (min-width: 1000px) {
  .p-info a.map:hover {
    text-decoration: none;
  }
}

:root {
  --ml: 5vw;
  --mr: 5vw;
}
@media only screen and (min-width: 2222.2222222222px) {
  :root {
    --ml: calc((100vw - 2000px) * 0.5);
    --mr: calc((100vw - 2000px) * 0.5);
  }
}
@media only screen and (max-width: 1000px) {
  :root {
    --ml: 5vw;
    --mr: 5vw;
  }
}
@media only screen and (max-width: 680px) {
  :root {
    --ml: 5vw;
    --mr: 5vw;
  }
}

.e-common_width, .b-common__cv__wrap, .l-footer__main__wrap, .l-footer__sub__wrap, .l-footer__banner__wrap, .l-footer__foot__wrap, .l-header__nav__child__inner, .l-header__contact__nav__inner, section .section__wrap {
  width: 90%;
  max-width: 2000px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 1000px) {
  .e-common_width, .b-common__cv__wrap, .l-footer__main__wrap, .l-footer__sub__wrap, .l-footer__banner__wrap, .l-footer__foot__wrap, .l-header__nav__child__inner, .l-header__contact__nav__inner, section .section__wrap {
    width: 90%;
  }
}
@media only screen and (max-width: 680px) {
  .e-common_width, .b-common__cv__wrap, .l-footer__main__wrap, .l-footer__sub__wrap, .l-footer__banner__wrap, .l-footer__foot__wrap, .l-header__nav__child__inner, .l-header__contact__nav__inner, section .section__wrap {
    width: 90%;
  }
}

.js-sa__op {
  opacity: 0;
  will-change: opacity;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__op.sa-active {
  opacity: 1;
}
.js-sa__up {
  opacity: 0;
  transform: translate(0px, 2rem);
  will-change: opacity, transform;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__up.sa-active {
  opacity: 1;
  transform: translate(0px, 0px);
}
.js-sa__scale {
  opacity: 0;
  will-change: opacity, transform;
  transform-origin: center center;
  transform: translate(0px, 0px) scale(0.9, 0.9);
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__scale.sa-active {
  opacity: 1;
  transform: translate(0px, 0px) scale(1, 1);
}
.js-sa__list__op.sa-active li {
  opacity: 1;
}
.js-sa__list__op li {
  opacity: 0;
  will-change: opacity;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__list__op li:nth-child(1) {
  transition-delay: 0ms;
}
.js-sa__list__op li:nth-child(2) {
  transition-delay: 60ms;
}
.js-sa__list__op li:nth-child(3) {
  transition-delay: 120ms;
}
.js-sa__list__op li:nth-child(4) {
  transition-delay: 180ms;
}
.js-sa__list__op li:nth-child(5) {
  transition-delay: 240ms;
}
.js-sa__list__op li:nth-child(6) {
  transition-delay: 300ms;
}
.js-sa__list__op li:nth-child(7) {
  transition-delay: 360ms;
}
.js-sa__list__op li:nth-child(8) {
  transition-delay: 420ms;
}
.js-sa__list__op li:nth-child(9) {
  transition-delay: 480ms;
}
.js-sa__list__op li:nth-child(10) {
  transition-delay: 540ms;
}
.js-sa__list__op li:nth-child(11) {
  transition-delay: 600ms;
}
.js-sa__list__op li:nth-child(12) {
  transition-delay: 660ms;
}
.js-sa__list__op li:nth-child(13) {
  transition-delay: 720ms;
}
.js-sa__list__op li:nth-child(14) {
  transition-delay: 780ms;
}
.js-sa__list__op li:nth-child(15) {
  transition-delay: 840ms;
}
.js-sa__list__op li:nth-child(16) {
  transition-delay: 900ms;
}
.js-sa__list__op li:nth-child(17) {
  transition-delay: 960ms;
}
.js-sa__list__op li:nth-child(18) {
  transition-delay: 1020ms;
}
.js-sa__list__op li:nth-child(19) {
  transition-delay: 1080ms;
}
.js-sa__list__op li:nth-child(20) {
  transition-delay: 1140ms;
}
.js-sa__list__up.sa-active li {
  opacity: 1;
  transform: translate(0px, 0px);
}
.js-sa__list__up li {
  opacity: 0;
  transform: translate(0px, 2rem);
  will-change: opacity, transform;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-sa__list__up li:nth-child(1) {
  transition-delay: 0ms;
}
.js-sa__list__up li:nth-child(2) {
  transition-delay: 60ms;
}
.js-sa__list__up li:nth-child(3) {
  transition-delay: 120ms;
}
.js-sa__list__up li:nth-child(4) {
  transition-delay: 180ms;
}
.js-sa__list__up li:nth-child(5) {
  transition-delay: 240ms;
}
.js-sa__list__up li:nth-child(6) {
  transition-delay: 300ms;
}
.js-sa__list__up li:nth-child(7) {
  transition-delay: 360ms;
}
.js-sa__list__up li:nth-child(8) {
  transition-delay: 420ms;
}
.js-sa__list__up li:nth-child(9) {
  transition-delay: 480ms;
}
.js-sa__list__up li:nth-child(10) {
  transition-delay: 540ms;
}
.js-sa__list__up li:nth-child(11) {
  transition-delay: 600ms;
}
.js-sa__list__up li:nth-child(12) {
  transition-delay: 660ms;
}
.js-sa__list__up li:nth-child(13) {
  transition-delay: 720ms;
}
.js-sa__list__up li:nth-child(14) {
  transition-delay: 780ms;
}
.js-sa__list__up li:nth-child(15) {
  transition-delay: 840ms;
}
.js-sa__list__up li:nth-child(16) {
  transition-delay: 900ms;
}
.js-sa__list__up li:nth-child(17) {
  transition-delay: 960ms;
}
.js-sa__list__up li:nth-child(18) {
  transition-delay: 1020ms;
}
.js-sa__list__up li:nth-child(19) {
  transition-delay: 1080ms;
}
.js-sa__list__up li:nth-child(20) {
  transition-delay: 1140ms;
}
.js-sa.delay, .delay.js-sa__op, .delay.js-sa__up, .delay.js-sa__scale {
  transition-delay: 0ms;
}
.js-sa.delay.sa-active, .delay.sa-active.js-sa__op, .delay.sa-active.js-sa__up, .delay.sa-active.js-sa__scale {
  transition-delay: 300ms;
}

.js-slide {
  position: relative;
}
.js-slide__ul {
  position: relative;
}
.js-slide__ul:before {
  content: "";
  padding-top: 50%;
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
}
.js-slide__li {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 0;
  will-change: opacity;
  transition: opacity 1200ms cubic-bezier(0.25, 0.1, 0.25, 1) 100ms;
}
.js-slide__li.is-active {
  opacity: 1;
  z-index: 100;
  transition: opacity 1000ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-slide__image {
  width: 100%;
  height: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.js-slide__ctrl {
  position: relative;
  text-align: center;
  padding-top: 10px;
  flex: 0;
}
.js-slide__ctrl__wrap {
  display: inline-block;
}
.js-slide__arrow {
  display: inline-block;
  vertical-align: middle;
  width: 2rem;
  height: 2rem;
  overflow: hidden;
  text-indent: -9999px;
  position: relative;
  transform-origin: center center;
  transform: rotate(0deg);
}
.js-slide__arrow:nth-child(1) {
  transform: rotate(180deg);
}
.js-slide__arrow:before {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  border-top: 1px solid var(--Key1);
  border-right: 1px solid var(--Key1);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-slide__dots {
  display: inline-block;
  font-size: 0;
  margin: 0 5px;
}
.js-slide__dots li {
  padding: 0;
  display: inline-block;
}
.js-slide__dots .is-active button:before {
  opacity: 1;
}
.js-slide__dots .is-active button:after {
  width: 8px;
  height: 8px;
  background-color: var(--Key1);
}
.js-slide__dots button {
  display: block;
  width: 2rem;
  height: 2rem;
  overflow: hidden;
  text-indent: 9999px;
  background-color: transparent;
  position: relative;
  border: none;
  outline: none;
  will-change: opacity;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-slide__dots button:hover:after {
    width: 8px;
    height: 8px;
  }
}
.js-slide__dots button:before {
  content: "";
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid var(--Key1);
  background-color: var(--White);
  border-radius: 100%;
  opacity: 0;
  will-change: opacity;
  transition: border-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}
.js-slide__dots button:after {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--Border);
  border-radius: 100%;
  transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, width 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, height 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}

.js-slick {
  text-align: center;
}
.js-slick *:focus {
  outline: none;
}
.js-slick .slick-arrow {
  display: inline-block;
  vertical-align: middle;
  width: 2rem;
  height: 2rem;
  overflow: hidden;
  text-indent: -9999px;
  position: relative;
  transform-origin: center center;
  transform: rotate(0deg);
}
.js-slick .slick-arrow.slick-prev {
  transform: rotate(180deg);
}
.js-slick .slick-arrow:before {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  border-top: 1px solid var(--Key1);
  border-right: 1px solid var(--Key1);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-slick .slick-dots {
  display: inline-block;
  font-size: 0;
  margin: 0 5px;
}
.js-slick .slick-dots li {
  padding: 0;
  display: inline-block;
}
.js-slick .slick-dots .slick-active button:before {
  opacity: 1;
}
.js-slick .slick-dots .slick-active button:after {
  width: 8px;
  height: 8px;
  background-color: var(--Key1);
}
.js-slick .slick-dots button {
  display: block;
  width: 2rem;
  height: 2rem;
  overflow: hidden;
  text-indent: 9999px;
  background-color: transparent;
  position: relative;
  border: none;
  outline: none;
  will-change: opacity;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-slick .slick-dots button:hover:after {
    width: 8px;
    height: 8px;
  }
}
.js-slick .slick-dots button:before {
  content: "";
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid var(--Key1);
  background-color: var(--White);
  border-radius: 100%;
  opacity: 0;
  will-change: opacity;
  transition: border-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}
.js-slick .slick-dots button:after {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--Border);
  border-radius: 100%;
  transition: background-color 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, opacity 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, width 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, height 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}

.js-map {
  width: 100%;
  position: relative;
}
.js-map:before {
  content: "";
  padding-top: 40%;
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
}
.js-map__wrap {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

.p-map {
  width: 100%;
  position: relative;
}
.p-map:before {
  content: "";
  padding-top: 40%;
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
}
.p-map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

.js-video {
  width: 100%;
  display: block;
  position: relative;
}
.js-video.is-cover .js-video__wrap::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.js-video.is-cover .js-video__wrap:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-video.is-cover.is-pause:hover .js-video__wrap::before {
    opacity: 0.8;
  }
}
.js-video.is-cover.is-pause .js-video__wrap::before {
  z-index: 1;
  visibility: visible;
  opacity: 0.5;
}
.js-video.is-cover.is-pause .js-video__wrap:after {
  z-index: 2;
  visibility: visible;
  opacity: 0.8;
}
.js-video.bg:before {
  content: "";
  width: 100%;
  padding-top: 100%;
  display: block;
}
.js-video.bg .js-video__wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.js-video.bg .js-video__player {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}
.js-video__wrap {
  position: relative;
}
.js-video__player {
  width: 100%;
  position: relative;
  z-index: 0;
  display: block;
}

.js-youtube {
  width: 100%;
  display: block;
  position: relative;
}
.js-youtube.is-play .js-youtube__cover {
  z-index: 0;
  visibility: hidden;
  opacity: 0;
}
.js-youtube__cover {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  visibility: visible;
  z-index: 2;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-youtube__cover:hover::before {
    opacity: 0.8;
  }
}
.js-youtube__cover::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #111111;
  opacity: 0.5;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  cursor: pointer;
}
.js-youtube__cover:after {
  content: "";
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../image/common/icon-play.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 1;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-youtube__player {
  z-index: 1;
  position: relative;
  display: block;
}

.js-tab {
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.js-tab__wrap {
  position: relative;
  z-index: 1;
}
.js-tab__head * {
  user-select: none;
}
.js-tab__body__wrap {
  position: relative;
  overflow: hidden;
}
.js-tab__nav {
  user-select: none;
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-tab__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  will-change: opacity, visibility, z-index;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, z-index 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-tab__content.is-active {
  position: relative;
  z-index: 1000;
  opacity: 1;
  visibility: visible;
}
.js-modal,
.js-gallery {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  width: 100%;
  height: 100%;
  display: none;
}
.js-modal:before,
.js-gallery:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--Title);
  z-index: 0;
  opacity: 0.95;
}
.js-modal__loading,
.js-gallery__loading {
  position: fixed;
  width: 3rem;
  height: 3rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.js-modal__loading > span,
.js-gallery__loading > span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  border: 1px solid var(--White);
  border-bottom: 1px solid var(--Border);
  animation: ModalLoading 800ms infinite linear;
}
.js-modal__wrap,
.js-gallery__wrap {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  max-height: 100vh;
  padding-top: 6rem;
  padding-bottom: 6rem;
  z-index: 100;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.js-modal__close,
.js-gallery__close {
  width: 3rem;
  height: 3rem;
  position: fixed;
  right: 5vw;
  top: 5vw;
  background-color: transparent;
  overflow: hidden;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-modal__close:hover:before, .js-modal__close:hover:after,
  .js-gallery__close:hover:before,
  .js-gallery__close:hover:after {
    background-color: var(--Border);
  }
}
.js-modal__close:before, .js-modal__close:after,
.js-gallery__close:before,
.js-gallery__close:after {
  content: "";
  width: 140%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
  background-color: var(--SubText);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__close:after,
.js-gallery__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media only screen and (min-width: 1000px) {
  .js-modal__close__foot:hover > span::after,
  .js-gallery__close__foot:hover > span::after {
    width: 0%;
    left: 100%;
    transition: width 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms, left 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  }
}
.js-modal__close__foot > span,
.js-gallery__close__foot > span {
  position: relative;
  display: inline-block;
  padding-left: 1.5rem;
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 2;
  overflow: hidden;
}
.js-modal__close__foot > span:after,
.js-gallery__close__foot > span:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: var(--SubText);
  width: 100%;
  left: 0;
  transition: width 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, left 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__close__foot > span > span,
.js-gallery__close__foot > span > span {
  width: 1rem;
  height: 1rem;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  overflow: hidden;
  display: block;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__close__foot > span > span:before, .js-modal__close__foot > span > span:after,
.js-gallery__close__foot > span > span:before,
.js-gallery__close__foot > span > span:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
  background-color: var(--SubText);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-modal__close__foot > span > span:after,
.js-gallery__close__foot > span > span:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.js-modal__content {
  width: 90vw;
  max-width: 70rem;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  display: none;
}
.js-modal__content__wrap {
  background-color: var(--Base1);
  border: 1px solid var(--SubText);
  padding: 6rem 4rem;
}
@media only screen and (max-width: 1000px) {
  .js-modal__content__wrap {
    padding: 5rem 3rem;
  }
}
@media only screen and (max-width: 680px) {
  .js-modal__content__wrap {
    padding: 4rem 2rem;
  }
}
.js-modal__content__head {
  text-align: center;
}
.js-modal__content__main {
  padding-top: 3rem;
  text-align: left;
}
.js-modal__content__foot {
  text-align: center;
  padding-top: 4rem;
}

.js-gallery__content {
  width: 90vw;
  max-width: 70rem;
  position: relative;
  display: none;
  text-align: center;
}
.js-gallery__content__wrap {
  display: inline-block;
  text-align: left;
  position: relative;
}
.js-gallery__player {
  margin-left: auto;
  margin-right: auto;
}
.js-gallery__text {
  color: var(--White);
  padding-top: 6px;
}
.js-gallery__ctrl {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  padding-top: 1rem;
  display: none;
}
.js-gallery__ctrl__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.js-gallery__ctrl__nav {
  font-size: 0;
}
.js-gallery__ctrl__nav > * {
  display: inline-block;
  margin-right: 10px;
  cursor: pointer;
  will-change: opacity;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-gallery__ctrl__nav > *:hover {
    opacity: 0.5;
  }
}
.js-gallery__ctrl__nav > * span {
  width: 1.5rem;
  height: 1.5rem;
  display: block;
  position: relative;
  text-indent: -9999px;
  overflow: hidden;
}
.js-gallery__ctrl__nav > * span:before, .js-gallery__ctrl__nav > * span:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--Border);
  position: absolute;
  top: 50%;
  left: 50%;
}
.js-gallery__ctrl__nav__arrow.is-prev {
  transform-origin: center center;
  transform: rotate(180deg);
}
.js-gallery__ctrl__nav__arrow span:before {
  width: 50%;
  transform-origin: right center;
  transform: translate(-50%, -50%) rotate(45deg);
}
.js-gallery__ctrl__nav__arrow span:after {
  width: 50%;
  transform-origin: right center;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.js-gallery__ctrl__nav__close span:before {
  transform-origin: center center;
  transform: translate(-50%, -50%) rotate(45deg);
}
.js-gallery__ctrl__nav__close span:after {
  transform-origin: center center;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.js-gallery__ctrl__num__wrap {
  font-size: 1rem;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 1;
  color: var(--Border);
}

@keyframes ModalLoading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.js-masonry {
  position: relative;
  width: calc(100% - 1px + 10px);
  margin-left: -5px;
}
.js-masonry > * {
  width: 25%;
  padding-left: 5px;
  padding-right: 5px;
}
.js-masonry__item {
  position: absolute;
  width: 0;
  top: 0;
  left: 0;
  padding-bottom: 10px;
}

.js-floating {
  position: fixed;
  bottom: 0;
  right: 3.5rem;
  width: 400px;
  user-select: none;
  opacity: 0;
  z-index: 4999;
  transform: translate(400px, 0%);
  visibility: hidden;
  transition: opacity 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms, visibility 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms, transform 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 200ms;
  will-change: transform, opacity, visibility;
}
@media only screen and (max-width: 680px) {
  .js-floating {
    width: calc(100% - 3.5rem);
    transform: translate(0%, 150%);
  }
}
.js-floating.is-active {
  visibility: visible;
  transition: visible 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 200ms, opacity 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 200ms, transform 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0ms;
  opacity: 1;
  transform: translate(0%, 0%);
}
.js-floating:before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  box-shadow: 0 0 6px 6px rgba(100, 100, 100, 0.1);
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 3px;
  overflow: hidden;
}
.js-floating__link {
  display: block;
  position: relative;
  z-index: 1;
  background: -webkit-linear-gradient(var(--Key2), var(--Key1));
  border: 1px solid var(--White);
  border-bottom: none;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 680px) {
  .js-floating__link {
    border-left: none;
  }
}
.js-floating__box {
  display: block;
  padding: 4px 0 4px 4px;
}
.js-floating__box__wrap {
  display: table;
  width: 100%;
}
.js-floating__box__image {
  display: table-cell;
  vertical-align: middle;
  width: 100px;
}
@media only screen and (max-width: 1000px) {
  .js-floating__box__image {
    width: 80px;
  }
}
.js-floating__box__detail {
  display: table-cell;
  vertical-align: middle;
  padding-left: 1rem;
  padding-right: 1rem;
  color: var(--White);
}
.js-floating__box__title {
  font-size: 18px;
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.12em;
  line-height: 1;
  display: block;
  white-space: nowrap;
}
@media only screen and (max-width: 1000px) {
  .js-floating__box__title {
    font-size: 17px;
    letter-spacing: var(--ls);
  }
}
@media only screen and (max-width: 680px) {
  .js-floating__box__title {
    font-size: 15px;
    letter-spacing: 0.02em;
  }
}
.js-floating__box__title .tag {
  background-color: var(--White);
  color: var(--Key1);
  font-size: 16px;
  line-height: 1;
  display: inline-block;
  vertical-align: inherit;
  padding: 2px 2px 2px 2px;
  margin-right: 0.5em;
  border-radius: 3px;
  letter-spacing: 0.12em;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1000px) {
  .js-floating__box__title .tag {
    font-size: 15px;
  }
}
@media only screen and (max-width: 680px) {
  .js-floating__box__title .tag {
    font-size: 14px;
  }
}
.js-floating__box__text {
  font-size: 13px;
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.06em;
  line-height: 1.6;
  margin-top: 0.5em;
  display: block;
  position: relative;
}
@media only screen and (max-width: 1000px) {
  .js-floating__box__text {
    font-size: 12px;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 680px) {
  .js-floating__box__text {
    font-size: 12px;
  }
}
.js-floating__close {
  width: 20px;
  height: 20px;
  position: absolute;
  background-color: var(--White);
  padding: 4px;
  top: 0;
  right: 0;
  display: block;
  z-index: 10;
  border: 1px solid var(--White);
  transition: border-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .js-floating__close:hover {
    background-color: var(--SubText);
  }
  .js-floating__close:hover span:before, .js-floating__close:hover span:after {
    background-color: var(--White);
  }
}
.js-floating__close span {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.js-floating__close span:before, .js-floating__close span:after {
  content: "";
  width: 100%;
  left: 0%;
  top: 50%;
  height: 1px;
  background-color: var(--Key1);
  position: absolute;
  transform-origin: center center;
  transform: rotate(-45deg);
  transition: background-color 300ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-floating__close span:after {
  transform: rotate(45deg);
}

body.is-load #wrapAll {
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}

#wrapAll {
  position: relative;
  z-index: 0;
  overflow: hidden;
  opacity: 0;
  will-change: opacity;
  background-color: var(--Base1);
}

.l-main {
  min-height: 100vh;
  background-color: var(--Base1);
  position: relative;
  z-index: 1;
}

section .section__wrap {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media only screen and (max-width: 1000px) {
  section .section__wrap {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media only screen and (max-width: 680px) {
  section .section__wrap {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.b-common__index {
  width: 100%;
  position: relative;
  padding: 5rem 0 5rem 0;
}
@media only screen and (max-width: 1000px) {
  .b-common__index {
    padding: 4rem 0;
  }
}
.b-common__index__thum {
  position: relative;
  border-bottom: 1px solid var(--Light);
  padding: 1rem 0;
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum {
    padding: 1.5rem 0;
  }
}
.b-common__index__thum__ul {
  border-top: 1px solid var(--Light);
  padding-bottom: 2rem;
}
.b-common__index__thum__ul + .p-pager__num {
  padding-top: 2rem;
}
.b-common__index__thum__ul.news .b-common__index__thum__wrap .textBox {
  padding: 0;
}
.b-common__index__thum__ul.news .b-common__index__thum__title {
  line-height: 1.9;
}
.b-common__index__thum__ul.service {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  width: calc(100% - 1px + 1rem);
  margin-left: -0.5rem;
  border-top: none;
}
.b-common__index__thum__ul.service > * {
  width: 33.3333333333%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
@media only screen and (max-width: 1000px) {
  .b-common__index__thum__ul.service {
    width: calc(100% - 1px + 1rem);
    margin-left: -0.5rem;
  }
  .b-common__index__thum__ul.service > * {
    width: 50%;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum__ul.service {
    width: calc(100% - 1px + 0);
    margin-left: 0;
    width: 100%;
    margin-left: 0;
  }
  .b-common__index__thum__ul.service > * {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.b-common__index__thum__ul.service .b-common__index__thum {
  border-bottom: none;
  padding-top: 0;
  padding-bottom: 0;
}
.b-common__index__thum__ul.service .b-common__index__thum__li {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum__ul.service .b-common__index__thum__li {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
.b-common__index__thum__ul.service .b-common__index__thum__wrap {
  display: block;
  border-radius: 6px;
  overflow: hidden;
}
.b-common__index__thum__ul.service .b-common__index__thum__wrap .imageBox {
  padding-right: 0;
  width: 100%;
  padding-bottom: 0;
}
.b-common__index__thum__ul.service .b-common__index__thum__wrap .textBox {
  padding: 1rem 1rem 1.5rem 1rem;
  background-color: var(--White);
}
.b-common__index__thum__ul.service .b-common__index__thum__image {
  min-width: 0;
}
.b-common__index__thum__ul.service .b-common__index__thum__title {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  -webkit-line-clamp: 3;
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum__ul.service .b-common__index__thum__title {
    font-size: var(--pow2);
  }
}
.b-common__index__thum__ul.service .b-common__index__thum__text {
  -webkit-line-clamp: 3;
  font-size: calc(1rem - 1px);
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum__ul.service .b-common__index__thum__text {
    font-size: 1rem;
  }
}
.b-common__index__thum__ul.documents .b-common__index__thum__image {
  background-color: var(--Base2);
}
.b-common__index__thum__ul.documents .b-common__index__thum__image > span {
  position: relative;
}
.b-common__index__thum__ul.documents .b-common__index__thum__image > span .documents {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 10%;
  left: 10%;
}
.b-common__index__thum__ul.documents .b-common__index__thum__image > span .documents img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  filter: drop-shadow(1px 1px 6px rgba(0, 0, 0, 0.1));
}
.b-common__index__thum__link {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
}
@media only screen and (min-width: 1000px) {
  .b-common__index__thum__link:hover + .b-common__index__thum__wrap .b-common__index__thum__date, .b-common__index__thum__link:hover + .b-common__index__thum__wrap .b-common__index__thum__title, .b-common__index__thum__link:hover + .b-common__index__thum__wrap .b-common__index__thum__text {
    color: var(--Key1);
  }
  .b-common__index__thum__link:hover + .b-common__index__thum__wrap .b-common__index__thum__table table tr th,
  .b-common__index__thum__link:hover + .b-common__index__thum__wrap .b-common__index__thum__table table tr td {
    color: var(--Key1);
  }
}
.b-common__index__thum__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum__wrap {
    display: block;
  }
}
.b-common__index__thum__wrap a {
  position: relative;
  z-index: 2;
}
.b-common__index__thum__wrap .imageBox {
  flex: 1;
  padding-right: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum__wrap .imageBox {
    padding-right: 0;
    padding-bottom: 1rem;
    width: 100%;
  }
}
.b-common__index__thum__wrap .textBox {
  flex: 1.5;
  padding: 1rem 0;
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum__wrap .textBox {
    width: 100%;
    padding: 0;
  }
}
.b-common__index__thum__image {
  min-width: 400px;
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum__image {
    min-width: 0;
  }
}
.b-common__index__thum__date {
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 10px;
  margin-right: 0.5em;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__index__thum__category {
  display: inline-block;
  vertical-align: middle;
  font-size: 0;
  margin-bottom: 10px;
}
.b-common__index__thum__category a {
  display: inline;
  margin-right: 0.5em;
  font-size: calc(1rem - 1px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  color: var(--Key1);
  display: inline-block;
  border: 1px solid var(--Key1);
  background-color: var(--White);
  padding: 0.2em 0.3em 0.1em 0.3em;
  border-radius: 2px;
  vertical-align: top;
}
@media only screen and (min-width: 1000px) {
  .b-common__index__thum__category a:hover {
    color: var(--White);
    background: var(--Grad);
  }
}
.b-common__index__thum__title {
  display: block;
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1000px) {
  .b-common__index__thum__title {
    letter-spacing: 0;
  }
}
.b-common__index__thum__subtitle {
  display: block;
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  color: var(--Key1);
  margin-top: 0.5rem;
}
@media only screen and (max-width: 1000px) {
  .b-common__index__thum__subtitle {
    letter-spacing: 0;
  }
}
.b-common__index__thum__text {
  font-size: var(--pow0);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
  padding-top: 0.5rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1000px) {
  .b-common__index__thum__text {
    letter-spacing: 0;
  }
}
.b-common__index__thum__tag {
  display: block;
  font-size: 0;
  padding-top: 0.5rem;
}
.b-common__index__thum__tag a {
  display: inline-block;
  margin-top: 0.5em;
  margin-right: 0.5em;
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: inline-block;
  background-color: var(--Base2);
  padding: 0.3em 0.9em;
  border-radius: 30px;
  vertical-align: top;
}
@media only screen and (min-width: 1000px) {
  .b-common__index__thum__tag a:hover {
    background-color: var(--Key1);
    color: var(--White);
  }
}
.b-common__index__thum__table {
  padding-top: 1rem;
  margin-bottom: 0.5rem;
}
.b-common__index__thum__table table {
  border-top: 1px dashed var(--Light);
  width: 100%;
}
.b-common__index__thum__table table tr {
  border-bottom: 1px dashed var(--Light);
}
.b-common__index__thum__table table th {
  white-space: nowrap;
  background-color: var(--Base2);
  width: 20%;
}
@media only screen and (max-width: 680px) {
  .b-common__index__thum__table table th {
    width: 10px;
  }
}
.b-common__index__thum__table table th,
.b-common__index__thum__table table td {
  padding: 0.5rem;
  text-align: left;
  vertical-align: top;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__index__thum__table table th > span,
.b-common__index__thum__table table td > span {
  font-size: calc(1rem - 1px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
}
.b-common__index__thum__table table th {
  text-align: center;
  vertical-align: middle;
}
.b-common__index__thum__table table th > span {
  font-weight: var(--fwb);
  font-size: calc(1rem - 3px);
  font-weight: 700;
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
  color: var(--SubText);
}
.b-common__index__thum__table table td ul li {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  flex-wrap: nowrap;
  gap: 0.5rem;
}
.b-common__index__thum__table table td ul li + li {
  margin-top: 0.5rem;
}
.b-common__index__thum__table table td ul li > span {
  position: relative;
  display: block;
}
.b-common__index__thum__table table td ul li > span:before {
  position: absolute;
  top: 0;
  left: 0;
}
.b-common__index__thum__table table td ul li svg {
  width: 1.3em;
  height: 1.3em;
  fill: var(--Key1);
  margin-top: 2px;
}
.b-common__index__thum__button {
  margin-top: 1rem;
}
.b-common__index.news .b-common__index__ul {
  border-top: 1px solid var(--Light);
  margin-bottom: 2rem;
}
.b-common__index.news .b-common__index__li {
  border-bottom: 1px solid var(--Light);
}
.b-common__index.news .b-common__index__link {
  padding: 1.5rem 0 1.5rem 0;
  display: block;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-common__index.news .b-common__index__link:hover {
    color: var(--Key1);
  }
}
.b-common__index.news .b-common__index__link[target=_blank] .title svg {
  display: inline-block;
}
.b-common__index.news .b-common__index__link .date {
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}
.b-common__index.news .b-common__index__link .category {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  color: var(--Key1);
  display: inline-block;
  border: 1px solid var(--Key1);
  background-color: var(--White);
  padding: 0.2em 0.3em;
  border-radius: 2px;
  vertical-align: top;
  margin-right: 0.5em;
}
.b-common__index.news .b-common__index__link .category.bg {
  color: var(--White);
  background: var(--Grad);
}
.b-common__index.news .b-common__index__link .title {
  display: block;
  line-height: 1.9;
  margin-top: 0.5em;
}
@media only screen and (max-width: 1000px) {
  .b-common__index.news .b-common__index__link .title {
    letter-spacing: 0;
  }
}
.b-common__index.news .b-common__index__link .title svg {
  display: none;
  width: 1.2em;
  height: 1.2em;
  vertical-align: sub;
  fill: var(--Key1);
}
.b-common__index.service .b-common__index__ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem 1rem;
}
@media only screen and (max-width: 680px) {
  .b-common__index.service .b-common__index__ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}
.b-common__index.service .b-common__index__li {
  overflow: hidden;
  border-radius: 0.5rem;
}
.b-common__index.service .b-common__index__li .imageBox {
  position: relative;
}
@media only screen and (min-width: 1000px) {
  .b-common__index.service .b-common__index__li .imageBox:hover::before {
    opacity: 0.8;
  }
  .b-common__index.service .b-common__index__li .imageBox:hover::after {
    opacity: 1;
  }
}
.b-common__index.service .b-common__index__li .textBox {
  background-color: var(--White);
  padding: 1rem 1.5rem;
}
.b-common__index.service .b-common__index__title {
  font-size: var(--pow1);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__index.documents .b-common__index__li {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  gap: 3rem;
  border-bottom: 1px solid var(--Border);
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__index.documents .b-common__index__li {
    display: block;
  }
}
.b-common__index.documents .b-common__index__li .imageBox {
  flex: 1;
}
.b-common__index.documents .b-common__index__li .imageBox::after {
  content: "資料をダウンロード";
}
@media only screen and (max-width: 680px) {
  .b-common__index.documents .b-common__index__li .imageBox {
    margin-bottom: 1rem;
  }
}
.b-common__index.documents .b-common__index__li .textBox {
  flex: 1.5;
}
@media only screen and (min-width: 1000px) {
  .b-common__index.documents .b-common__index__li .textBox:hover .b-common__index__dl dt,
  .b-common__index.documents .b-common__index__li .textBox:hover .b-common__index__dl dd {
    color: var(--Key1);
  }
}
.b-common__index.documents .b-common__index__lead {
  margin-bottom: 1rem;
}
.b-common__index.documents .b-common__index__dl {
  margin-bottom: 1rem;
}
.b-common__index.documents .b-common__index__dl dl {
  border-top: 1px dotted var(--Border);
  padding: 0.5rem 0;
}
.b-common__index.documents .b-common__index__dl dt {
  font-size: var(--pow0);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0.5rem;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__index.documents .b-common__index__dl dt svg {
  width: 1.2em;
  height: 1.2em;
  fill: var(--Key1);
}
.b-common__index.documents .b-common__index__dl dd {
  color: var(--SubText);
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__index.blog .b-common__index__li, .b-common__index.case .b-common__index__li, .b-common__index.seminar .b-common__index__li {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 3rem;
  border-bottom: 1px solid var(--Border);
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__index.blog .b-common__index__li, .b-common__index.case .b-common__index__li, .b-common__index.seminar .b-common__index__li {
    display: block;
  }
}
.b-common__index.blog .b-common__index__li .imageBox, .b-common__index.case .b-common__index__li .imageBox, .b-common__index.seminar .b-common__index__li .imageBox {
  flex: 1;
  position: relative;
}
@media only screen and (max-width: 680px) {
  .b-common__index.blog .b-common__index__li .imageBox, .b-common__index.case .b-common__index__li .imageBox, .b-common__index.seminar .b-common__index__li .imageBox {
    margin-bottom: 1rem;
  }
}
.b-common__index.blog .b-common__index__li .textBox, .b-common__index.case .b-common__index__li .textBox, .b-common__index.seminar .b-common__index__li .textBox {
  flex: 1.5;
}
.b-common__index.blog .b-common__index__title, .b-common__index.case .b-common__index__title, .b-common__index.seminar .b-common__index__title {
  margin-bottom: 0.5rem;
}
.b-common__index.blog .b-common__index__info, .b-common__index.case .b-common__index__info, .b-common__index.seminar .b-common__index__info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
.b-common__index.blog .b-common__index__seminar, .b-common__index.case .b-common__index__seminar, .b-common__index.seminar .b-common__index__seminar {
  margin-top: 1rem;
}
.b-common__index.blog .b-common__index__seminar dl, .b-common__index.case .b-common__index__seminar dl, .b-common__index.seminar .b-common__index__seminar dl {
  display: table;
  width: 100%;
}
.b-common__index.blog .b-common__index__seminar dl > *, .b-common__index.case .b-common__index__seminar dl > *, .b-common__index.seminar .b-common__index__seminar dl > * {
  display: table-cell;
  vertical-align: middle;
}
.b-common__index.blog .b-common__index__seminar dt, .b-common__index.case .b-common__index__seminar dt, .b-common__index.seminar .b-common__index__seminar dt {
  width: 5rem;
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--SubText);
}
.b-common__index.blog .b-common__index__seminar dd, .b-common__index.case .b-common__index__seminar dd, .b-common__index.seminar .b-common__index__seminar dd {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__index__wrap {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 1000px) {
  .b-common__index__wrap {
    padding: 0 5vw;
  }
}
.b-common__index__ul + .p-pager__num {
  margin-top: 4rem;
}
.b-common__index__li {
  overflow: hidden;
}
.b-common__index__li a {
  display: block;
  position: relative;
}
.b-common__index__li .imageBox {
  position: relative;
  border-radius: 3px;
  overflow: hidden;
  align-self: flex-start;
}
.b-common__index__li .imageBox::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  top: 0;
  left: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  z-index: 5;
}
.b-common__index__li .imageBox::after {
  content: "詳しくみる";
  color: var(--White);
  font-size: calc(1rem - 2px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  position: absolute;
  width: 100%;
  text-align: center;
  top: 50%;
  transform-origin: center center;
  transform: translate(0%, -50%);
  opacity: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  z-index: 8;
}
@media only screen and (min-width: 1000px) {
  .b-common__index__li .imageBox:hover::before {
    opacity: 0.6;
  }
  .b-common__index__li .imageBox:hover::after {
    opacity: 1;
  }
}
.b-common__index__li .textBox a {
  display: block;
  position: relative;
}
@media only screen and (min-width: 1000px) {
  .b-common__index__li .textBox a:hover .b-common__index__title .main {
    color: var(--Key1);
  }
  .b-common__index__li .textBox a:hover .b-common__index__lead {
    color: var(--Key1);
  }
}
.b-common__index__image {
  display: block;
}
.b-common__index__image .js-lazy_bgi {
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.b-common__index__image .js-lazy_bgi::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 66.666%;
}
.b-common__index__title {
  margin-bottom: 0.5rem;
}
.b-common__index__title .main {
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  font-size: var(--pow1);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__index__lead {
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 680px) {
  .b-common__index__lead {
    display: none;
  }
}
.b-common__index__info dl {
  display: table;
  width: 100%;
}
.b-common__index__info dl > * {
  display: table-cell;
  vertical-align: middle;
}
.b-common__index__info dt {
  width: 5rem;
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--SubText);
}
.b-common__index__info dd {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__index__category {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0.5rem;
  width: auto;
}
.b-common__index__category a {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  color: var(--Key1);
  border: 1px solid var(--Key1);
  background-color: var(--White);
  padding: 0.2em 0.3em;
  border-radius: 2px;
  vertical-align: top;
  margin-right: 0.5em;
  color: var(--Key1);
}
.b-common__index__category.bg {
  color: var(--White);
  background: var(--Grad);
}
.b-common__index__date {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
}
.b-common__index__tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  gap: 0.5rem;
  margin-top: 1rem;
}
.b-common__index__tag a {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  border-radius: 3rem;
  background-color: var(--Base2);
  padding: 0 1rem;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 680px) {
  .b-common__index__tag a {
    font-size: 10px;
  }
}
@media only screen and (min-width: 1000px) {
  .b-common__index__tag a:hover {
    background-color: var(--Key1);
    color: var(--White);
  }
}
.b-common__index__nothing {
  background-color: #eee;
  padding: 5rem;
  text-align: center;
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9990;
  width: 100%;
  background-color: var(--Base1);
  overflow: visible;
}
@media only screen and (min-width: 1000px) {
  .l-header a:hover {
    text-decoration: none;
  }
}
.l-header.is-not_shadow:before {
  opacity: 0;
}
.l-header:before {
  content: "";
  width: 100%;
  height: 100%;
  box-shadow: 1px 1px 3px 3px rgba(136, 136, 136, 0.1);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 1;
  will-change: opacity;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__wrap {
  position: relative;
  z-index: 1;
}
.l-header__main__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 1000px) {
  .l-header__main__wrap {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    padding-left: 5vw;
    padding-right: 3.8rem;
  }
}
.l-header__main__wrap > div:nth-child(1) {
  padding-left: 5vw;
}
@media only screen and (max-width: 1000px) {
  .l-header__main__wrap > div:nth-child(1) {
    padding-left: 0;
  }
}
.l-header__main__wrap > div:nth-child(2) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  width: auto;
}
.l-header__sub {
  background-color: var(--Base2);
}
@media only screen and (max-width: 1000px) {
  .l-header__sub {
    display: none;
  }
}
.l-header__sub__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 1000px) {
  .l-header__sub__wrap {
    min-width: 0;
  }
}
.l-header__sub__wrap > div:nth-child(1) p {
  font-size: 11px;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
}
.l-header__logo {
  width: 5rem;
  position: relative;
  top: 1px;
}
@media only screen and (max-width: 680px) {
  .l-header__logo {
    width: 4.5rem;
  }
}
.l-header__nav {
  text-align: right;
  box-shadow: none;
}
@media only screen and (max-width: 1000px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav__ul {
  font-size: 0;
}
.l-header__nav__li {
  display: inline-block;
  vertical-align: middle;
}
@media only screen and (min-width: 1000px) {
  .l-header__nav__li:hover > .link {
    color: var(--Key1);
    fill: var(--Key1);
  }
}
.l-header__nav__li.has-child.is-open [class$=__child] {
  visibility: visible;
  opacity: 1;
  transform: translate(0, 0);
}
.l-header__nav__li.has-child.is-open > .link {
  background-color: var(--White);
}
.l-header__nav__li.has-child > .link svg {
  width: 1.2em;
  height: 1.2em;
  transform: rotate(90deg);
}
.l-header__nav__li > .link {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3.8rem;
  width: auto;
  padding: 0 0.6em;
  position: relative;
  z-index: 1;
  overflow: hidden;
  font-size: 14px;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1200px) {
  .l-header__nav__li > .link {
    font-size: 1.2vw;
    letter-spacing: 0;
    padding: 0 0.4em;
  }
}
.l-header__nav__li > .link:before {
  content: "";
  width: 6px;
  height: 6px;
  background-color: var(--Key1);
  position: absolute;
  top: 100%;
  left: 50%;
  margin-top: -3px;
  transform: translate(-50%, -50%) rotate(45deg);
  transform-origin: center center;
  opacity: 0;
  will-change: opacity;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__nav__li > .link:after {
  content: "";
  position: absolute;
  width: calc(100% - 1.4em);
  height: 3px;
  background-color: var(--Key1);
  bottom: 0;
  left: 0.6em;
  opacity: 0;
  will-change: opacity;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__nav__li > .link > span {
  display: inline-block;
  position: relative;
}
.l-header__nav__child {
  font-size: 1rem;
  text-align: left;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding-bottom: 6px;
  visibility: hidden;
  opacity: 0;
  z-index: 0;
  transform: translate(0, 0);
  will-change: opacity, transform, visibility;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__nav__child:before {
  content: "";
  height: calc(100% + 4rem);
  width: 100%;
  position: absolute;
  background-color: transparent;
  bottom: -2rem;
  left: 0;
}
.l-header__nav__child:after {
  content: "";
  position: fixed;
  z-index: 0;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: var(--SubText);
  opacity: 0.3;
}
.l-header__nav__child__wrap {
  position: relative;
  z-index: 1;
  background-color: var(--White);
  border-top: none;
  box-shadow: 1px 1px 3px 3px rgba(136, 136, 136, 0.1);
  padding-top: 2rem;
  padding-bottom: 4rem;
}
.l-header__nav__child__inner {
  display: table;
}
.l-header__nav__child__inner > div {
  display: table-cell;
  vertical-align: top;
  text-align: left;
}
.l-header__nav__child__inner > div:nth-child(1) {
  width: 20rem;
  padding-right: 4rem;
}
.l-header__nav__child__inner > div:nth-child(2) {
  padding-top: 1rem;
}
.l-header__nav__child__nav {
  box-shadow: none;
}
.l-header__nav__child__image {
  margin-bottom: 1rem;
}
.l-header__nav__child__link {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0.7em;
}
.l-header__nav__child__link > span {
  display: inline-block;
  font-size: var(--pow1);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  position: relative;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__nav__child__link > span:hover {
    color: var(--Key1);
    fill: var(--Key1);
  }
}
.l-header__nav__child__link svg {
  width: 1.3em;
  height: 1.3em;
}
.l-header__nav__child__text {
  margin-top: 1rem;
  text-align: justify;
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.l-header__nav__child__nav + [class$=__nav] {
  padding-top: 1.5rem;
  margin-top: 1.5rem;
}
.l-header__nav__child__nav__title {
  margin-bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 4px;
}
.l-header__nav__child__nav__title > span {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  display: inline-block;
  position: relative;
}
.l-header__nav__child__nav__title svg {
  width: 1.7em;
  height: 1.7em;
}
.l-header__nav__child__nav__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  width: calc(100% - 1px + 1rem);
  margin-left: -0.5rem;
}
.l-header__nav__child__nav__ul > * {
  width: 50%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.l-header__nav__child__nav__li:nth-child(1) a, .l-header__nav__child__nav__li:nth-child(2) a {
  border-top: 1px solid var(--Light);
}
.l-header__nav__child__nav__li a {
  font-size: calc(1rem - 1px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  padding: 1em 0;
  border-bottom: 1px solid var(--Light);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__nav__child__nav__li a:hover {
    color: var(--Key1);
    fill: var(--Key1);
    background-color: var(--Base1);
  }
}
.l-header__nav__child__nav__li a span {
  position: relative;
  display: block;
}
.l-header__nav__child__nav__li a svg {
  width: 1.2em;
  height: 1.2em;
}
.l-header__contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3.8rem;
  width: auto;
  padding: 0 1em;
  position: relative;
  font-size: calc(1rem - 1px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  background: var(--Key1);
  color: var(--White);
  fill: var(--White);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__contact:hover {
    background: var(--Light);
    color: var(--White);
    fill: var(--White);
  }
  .l-header__contact:hover:before {
    opacity: 0;
  }
}
@media only screen and (max-width: 1000px) {
  .l-header__contact {
    height: 3.8rem;
  }
  .l-header__contact:hover {
    color: var(--White);
    text-decoration: none;
  }
}
@media only screen and (max-width: 680px) {
  .l-header__contact {
    font-size: 1rem;
  }
  .l-header__contact:hover {
    color: var(--White);
    text-decoration: none;
  }
}
.l-header__contact:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--Grad);
  z-index: 0;
  display: block;
  will-change: opacity;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__contact > span {
  display: inline-block;
  position: relative;
  padding-left: 2em;
  position: relative;
  z-index: 1;
}
.l-header__contact > span svg {
  position: absolute;
  width: 1.7em;
  height: 1.7em;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.l-header__contact.is-open {
  background: var(--Light);
  color: var(--White);
  fill: var(--White);
}
.l-header__contact.is-open:before {
  opacity: 0;
}
.l-header__contact.is-open + .l-header__contact__nav {
  visibility: visible;
  opacity: 1;
  transform: translate(0, 0);
}
.l-header__contact__nav {
  font-size: 1rem;
  text-align: left;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding-bottom: 6px;
  visibility: hidden;
  opacity: 0;
  z-index: 0;
  transform: translate(0, 0);
  will-change: opacity, transform, visibility;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__contact__nav:before {
  content: "";
  height: calc(100% + 4rem);
  width: 100%;
  position: absolute;
  background-color: transparent;
  bottom: -2rem;
  left: 0;
}
.l-header__contact__nav:after {
  content: "";
  position: fixed;
  z-index: 0;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: var(--SubText);
  opacity: 0.3;
}
.l-header__contact__nav__wrap {
  position: relative;
  z-index: 1;
  background-color: var(--Base2);
  border-top: none;
  box-shadow: 1px 1px 3px 3px rgba(136, 136, 136, 0.1);
  padding-top: 3rem;
  padding-bottom: 2rem;
}
.l-header__contact__nav__inner {
  text-align: right;
}
.l-header__contact__nav__inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  text-align: left;
}
@media only screen and (max-width: 680px) {
  .l-header__contact__nav__inner ul {
    flex-direction: column;
  }
}
.l-header__contact__nav__inner ul li {
  width: 33.33%;
  border-right: 1px solid var(--Light);
  margin-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .l-header__contact__nav__inner ul li {
    width: 100%;
    border-right: 0px solid var(--Light);
    border-bottom: 1px solid var(--Light);
    margin-bottom: 0rem;
  }
}
.l-header__contact__nav__inner ul li:first-child {
  border-left: 1px solid var(--Light);
}
@media only screen and (max-width: 680px) {
  .l-header__contact__nav__inner ul li:first-child {
    border-top: 1px solid var(--Light);
    border-left: 0px solid var(--Light);
  }
}
.l-header__contact__nav__inner ul li:nth-child(4n) {
  border-left: 1px solid var(--Light);
}
@media only screen and (max-width: 680px) {
  .l-header__contact__nav__inner ul li:nth-child(4n) {
    border-left: 0px solid var(--Light);
  }
}
.l-header__contact__nav__inner ul li a {
  padding: 0.5rem 1.5rem;
  display: block;
  position: relative;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__contact__nav__inner ul li a:hover {
    color: var(--Key1);
    fill: var(--Key1);
  }
}
@media only screen and (max-width: 680px) {
  .l-header__contact__nav__inner ul li a {
    padding: 1rem 1rem;
  }
  .l-header__contact__nav__inner ul li a:hover {
    color: var(--Key1);
    text-decoration: none;
  }
}
.l-header__contact__nav__inner ul li a dl dt {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1.7;
  display: block;
  position: relative;
  color: inherit;
}
.l-header__contact__nav__inner ul li a dl dt:first-line {
  font-size: 1.1em;
}
.l-header__contact__nav__inner ul li a dl dd {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
  margin-top: 0.5em;
  color: inherit;
}
.l-header__contact__nav__inner ul li a svg {
  width: 1.3em;
  height: 1.3em;
  display: inline;
  vertical-align: middle;
  fill: inherit;
}
.l-header__contact__nav__link {
  font-size: calc(1rem - 1px);
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 680px) {
  .l-header__contact__nav__link {
    margin-top: 1rem;
  }
}
.l-header__search {
  position: relative;
}
@media only screen and (max-width: 1000px) {
  .l-header__search {
    display: none;
  }
}
.l-header__search.is-open [class$=__button] {
  background-color: var(--Border);
  color: var(--White);
  fill: var(--White);
}
.l-header__search.is-open [class$=__button]:after {
  opacity: 1;
}
.l-header__search.is-open [class$=__form] {
  visibility: visible;
  opacity: 1;
  transform: translate(0, 0);
}
.l-header__search__button {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3.8rem;
  width: 3.8rem;
  padding: 0;
  position: relative;
  background-color: var(--SubText);
  color: var(--White);
  fill: var(--White);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__search__button:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: var(--Border);
  right: 0;
  top: 100%;
  opacity: 0;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__search__button:hover {
    color: var(--White);
    text-decoration: none;
  }
}
.l-header__search__button > span {
  text-align: center;
  font-size: calc(1rem - 3px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0em;
  line-height: 1;
}
.l-header__search__button > span svg {
  width: 2em;
  height: 2em;
  margin-left: auto;
  display: block;
  margin-right: auto;
  margin-bottom: 3px;
}
.l-header__search__form {
  position: absolute;
  top: 100%;
  right: -1rem;
  overflow: hidden;
  padding: 0 1rem 1rem 1rem;
  visibility: hidden;
  overflow: hidden;
  opacity: 0;
  z-index: 0;
  transform: translate(0, 0);
  will-change: opacity, transform, visibility;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__search__form__wrap {
  padding: 2rem;
  background-color: var(--Border);
  box-shadow: 1px 1px 3px 3px rgba(136, 136, 136, 0.1);
}
.l-header__search__form__wrap .p-search {
  width: 20rem;
  border: 1px solid var(--SubText);
}
.l-header__subnav {
  box-shadow: none;
}
.l-header__subnav__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin-bottom: 0;
}
.l-header__subnav__li a {
  padding: 0.5em 1em;
  position: relative;
  font-size: 12px;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  color: var(--Text);
  transition: -color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__subnav__li a:hover {
    color: var(--Key1);
  }
  .l-header__subnav__li a:hover svg {
    fill: var(--Key1);
  }
}
@media only screen and (max-width: 680px) {
  .l-header__subnav__li a:hover {
    color: var(--Key1);
    text-decoration: none;
  }
}
.l-header__subnav__li a span {
  display: inline-block;
  position: relative;
}
.l-header__subnav__li a svg {
  width: 1em;
  height: 1em;
  fill: var(--Text);
  transition: fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__hbg__icon {
  width: 3.8rem;
  height: 3.8rem;
  display: none;
  z-index: 9999;
  position: fixed;
  top: 0;
  right: 0;
}
@media only screen and (max-width: 1000px) {
  .l-header__hbg__icon {
    display: block;
  }
}
.l-header__hbg__icon a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  background-color: var(--SubText);
  transition: background-color 200ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
}
.l-header__hbg__icon a ul {
  width: 100%;
  height: 100%;
  display: block;
  width: 44%;
  height: 22%;
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, calc(-50% - 0.4em));
  font-size: 10px;
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.16em;
  line-height: 10px;
  color: var(--White);
}
@media only screen and (max-width: 680px) {
  .l-header__hbg__icon a ul {
    letter-spacing: 0.1em;
  }
}
.l-header__hbg__icon a ul:before, .l-header__hbg__icon a ul:after {
  position: absolute;
  white-space: nowrap;
  left: 50%;
  top: 155%;
  transform-origin: center center;
  transform: translate(-50%, 0) scale(0.8);
  display: block;
  will-change: opacity, transform;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, transform 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__hbg__icon a ul:before {
  content: "MENU";
  opacity: 1;
  transform: translate(-50%, 0) scale(0.8);
}
.l-header__hbg__icon a ul:after {
  content: "CLOSE";
  opacity: 0;
  transform: translate(-50%, 1em) scale(0.8);
}
.l-header__hbg__icon a ul li {
  position: absolute;
  width: 100%;
  height: 1px;
  display: block;
  left: 50%;
  transform-origin: center center;
  will-change: opacity, transform, top, left, width;
  background-color: var(--White);
  transition: transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, width 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__hbg__icon a ul li:nth-child(1) {
  top: 0;
  transform: translate(-50%, 0%) rotate(0deg);
  z-index: 1;
}
.l-header__hbg__icon a ul li:nth-child(2) {
  width: 100%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  z-index: 1;
}
.l-header__hbg__icon a ul li:nth-child(3) {
  width: 100%;
  top: 100%;
  z-index: 1;
  transform: translate(-50%, -50%) rotate(0deg);
}
.l-header__hbg__modal {
  opacity: 0;
  visibility: hidden;
  z-index: 9998;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  will-change: opacity, visibility;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__hbg__modal * {
  user-select: none;
}
.l-header__hbg__modal:before {
  content: "";
  background-color: var(--SubText);
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 0.6;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-header__hbg__modal__wrap {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 23rem;
  background-color: var(--White);
  will-change: transform;
  transform: translate(100%, 0);
  transition: transform 400ms cubic-bezier(0.42, 0, 0.58, 1) 0ms, background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  filter: drop-shadow(-2px -2px 4px rgba(51, 51, 51, 0.2));
  overflow: hidden;
}
.l-header__hbg__modal__inner {
  padding-top: 7.6rem;
  padding-bottom: 7.6rem;
  padding-left: 1.9rem;
  padding-right: 1.9rem;
}
.l-header__hbg__modal__nav__ul {
  border-top: 1px solid var(--Light);
  list-style: none;
  padding-left: 0;
}
.l-header__hbg__modal__nav__li {
  border-bottom: 1px solid var(--Light);
}
.l-header__hbg__modal__nav__li.has-child.is-open [class$=__child] {
  left: 0;
}
.l-header__hbg__modal__nav__li > a {
  color: #212529;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1em 0;
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
}
.l-header__hbg__modal__nav__li > a span {
  display: block;
  position: relative;
}
.l-header__hbg__modal__nav__li > a svg {
  width: 1.2em;
  height: 1.2em;
}
.l-header__hbg__modal__nav__child {
  position: fixed;
  top: 0;
  right: 0;
  width: 23rem;
  min-height: 100%;
  height: 100%;
  background-color: var(--Base1);
  z-index: 5000;
  will-change: left;
  left: 23rem;
  transition: left 400ms cubic-bezier(0.42, 0, 0.58, 1) 0ms;
}
.l-header__hbg__modal__nav__child__wrap {
  padding-top: 5.7rem;
  padding-bottom: 11.4rem;
  padding-left: 1.9rem;
  padding-right: 1.9rem;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  height: 100%;
  position: relative;
  z-index: 0;
  overscroll-behavior: contain;
}
.l-header__hbg__modal__nav__child__back {
  height: 3.8rem;
  padding: 0 1em;
  position: relative;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  font-size: calc(1rem - 1px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  background-color: var(--Key1);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 6px;
  color: var(--White);
  fill: var(--White);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__hbg__modal__nav__child__back:hover {
    background-color: var(--Light);
    color: var(--White);
    fill: var(--White);
  }
}
@media only screen and (max-width: 1000px) {
  .l-header__hbg__modal__nav__child__back {
    height: 3.8rem;
  }
}
@media only screen and (max-width: 680px) {
  .l-header__hbg__modal__nav__child__back {
    font-size: 1rem;
  }
}
.l-header__hbg__modal__nav__child__back span {
  display: inline-block;
  position: relative;
}
.l-header__hbg__modal__nav__child__back svg {
  width: 1.7em;
  height: 1.7em;
}
.l-header__hbg__modal__nav__child__link {
  color: #000;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.l-header__hbg__modal__nav__child__link span {
  padding-right: 2em;
  display: inline-block;
  font-size: var(--pow1);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  position: relative;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__hbg__modal__nav__child__link span:hover {
    color: var(--Key1);
    fill: var(--Key1);
  }
}
.l-header__hbg__modal__nav__child__link svg {
  width: 1.3em;
  height: 1.3em;
}
.l-header__hbg__modal__nav__child__nav {
  margin-top: 3rem;
}
.l-header__hbg__modal__nav__child__nav__title {
  margin-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 4px;
}
.l-header__hbg__modal__nav__child__nav__title > span {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  display: inline-block;
  position: relative;
}
.l-header__hbg__modal__nav__child__nav__title svg {
  width: 1.7em;
  height: 1.7em;
}
.l-header__hbg__modal__nav__child__nav__ul {
  border-top: 1px solid var(--Light);
  list-style: none;
  padding-left: 0;
}
.l-header__hbg__modal__nav__child__nav__li a {
  color: #212529;
  font-size: calc(1rem - 1px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  padding: 1em 0;
  border-bottom: 1px solid var(--Light);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__hbg__modal__nav__child__nav__li a:hover {
    color: var(--Key1);
    fill: var(--Key1);
    background-color: var(--Base1);
  }
}
@media only screen and (max-width: 1000px) {
  .l-header__hbg__modal__nav__child__nav__li a {
    letter-spacing: 0;
  }
}
.l-header__hbg__modal__nav__child__nav__li a span {
  position: relative;
  display: block;
}
.l-header__hbg__modal__nav__child__nav__li a svg {
  width: 1.2em;
  height: 1.2em;
}
.l-header__hbg__modal__contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 3.8rem;
  width: auto;
  padding: 0 1em;
  position: relative;
  margin-top: 2rem;
  border-radius: 3px;
  font-size: calc(1rem - 1px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  background-color: var(--Key1);
  color: var(--White);
  fill: var(--White);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__hbg__modal__contact:hover {
    background-color: var(--Light);
    color: var(--White);
    fill: var(--White);
  }
}
@media only screen and (max-width: 1000px) {
  .l-header__hbg__modal__contact {
    height: 3.8rem;
  }
}
@media only screen and (max-width: 680px) {
  .l-header__hbg__modal__contact {
    font-size: 1rem;
  }
}
.l-header__hbg__modal__contact > span {
  display: inline-block;
  position: relative;
  padding-left: 2em;
}
.l-header__hbg__modal__contact > span svg {
  position: absolute;
  width: 1.7em;
  height: 1.7em;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.l-header__hbg__modal__contact.is-open + .l-header__hbg__modal__contact__nav {
  left: 0;
}
.l-header__hbg__modal__contact__nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 23rem;
  min-height: 100%;
  height: 100%;
  background-color: var(--Base1);
  z-index: 5000;
  will-change: left;
  left: 23rem;
  transition: left 400ms cubic-bezier(0.42, 0, 0.58, 1) 0ms;
}
.l-header__hbg__modal__contact__nav__wrap {
  padding-top: 5.7rem;
  padding-bottom: 11.4rem;
  padding-left: 1.9rem;
  padding-right: 1.9rem;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  height: 100%;
  position: relative;
  z-index: 0;
}
.l-header__hbg__modal__contact__nav__inner ul {
  border-top: 1px solid var(--Light);
}
.l-header__hbg__modal__contact__nav__inner ul li {
  border-bottom: 1px solid var(--Light);
}
.l-header__hbg__modal__contact__nav__inner ul li a {
  padding: 1rem 0;
  display: block;
  position: relative;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__hbg__modal__contact__nav__inner ul li a:hover {
    color: var(--Key1);
    fill: var(--Key1);
  }
}
.l-header__hbg__modal__contact__nav__inner ul li a dl dt {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1.7;
  display: block;
  position: relative;
  color: inherit;
}
.l-header__hbg__modal__contact__nav__inner ul li a dl dd {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
  margin-top: 0.5em;
  color: inherit;
}
.l-header__hbg__modal__contact__nav__inner ul li a svg {
  width: 1.3em;
  height: 1.3em;
  display: inline;
  vertical-align: middle;
  fill: inherit;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
.l-header__hbg__modal__contact__nav__back {
  height: 3.8rem;
  padding: 0 1em;
  position: relative;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  font-size: calc(1rem - 1px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  background-color: var(--Key1);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 6px;
  color: var(--White);
  fill: var(--White);
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-header__hbg__modal__contact__nav__back:hover {
    background-color: var(--Light);
    color: var(--White);
    fill: var(--White);
  }
}
@media only screen and (max-width: 1000px) {
  .l-header__hbg__modal__contact__nav__back {
    height: 3.8rem;
  }
}
@media only screen and (max-width: 680px) {
  .l-header__hbg__modal__contact__nav__back {
    font-size: 1rem;
  }
}
.l-header__hbg__modal__contact__nav__back span {
  display: inline-block;
  position: relative;
}
.l-header__hbg__modal__contact__nav__back svg {
  width: 1.7em;
  height: 1.7em;
}
.l-header__hbg__modal .p-search {
  margin-top: 1rem;
}
.l-header__hbg__modal__subnav {
  padding-top: 1rem;
}
@media only screen and (max-width: 1000px) {
  .l-header__hbg__modal__subnav {
    display: none;
  }
}
@media only screen and (max-width: 680px) {
  .l-header__hbg__modal__subnav {
    display: none;
  }
}
.l-header__hbg__modal__subnav__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  width: calc(100% + 1rem);
  margin-left: -0.5rem;
}
.l-header__hbg__modal__subnav__li {
  position: relative;
  margin-bottom: 0.2rem;
}
.l-header__hbg__modal__subnav__li a {
  padding: 0.5rem;
  position: relative;
  font-size: calc(1rem - 1px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: 0.02em;
  line-height: 1;
  color: var(--SubText);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.l-header__hbg__modal__subnav__li a span {
  display: inline-block;
  position: relative;
}
.l-header__hbg__modal__subnav__li a svg {
  width: 1.2em;
  height: 1.2em;
  fill: var(--SubText);
}
.l-header__pankuzu {
  position: relative;
  z-index: 10;
  width: 100%;
  background-color: var(--Base2);
  overflow: hidden;
}
.l-header__pankuzu.is-over > .wrap {
  padding-right: calc(var(--mr) + 2.5rem);
}
@media only screen and (max-width: 1000px) {
  .l-header__pankuzu.is-over > .wrap {
    padding-right: calc(5vw + 2.5rem);
  }
}
.l-header__pankuzu.is-over .ctrl {
  display: block;
}
.l-header__pankuzu.is-over.is-end .ctrl svg {
  transform: translate(-50%, -50%) rotate(180deg);
}
.l-header__pankuzu > .wrap {
  padding: 0em var(--mr) 0em var(--ml);
}
@media only screen and (max-width: 1000px) {
  .l-header__pankuzu > .wrap {
    padding: 0em 5vw;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .l-header__pankuzu > .wrap::-webkit-scrollbar {
    display: none;
    -webkit-appearance: none;
  }
}
.l-header__pankuzu .ctrl {
  width: 2.5rem;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-color: var(--Base3);
  box-shadow: 1px 1px 3px 3px rgba(136, 136, 136, 0.2);
  display: none;
}
.l-header__pankuzu .ctrl svg {
  width: 100%;
  height: 100%;
  height: 1.4rem;
  width: 1.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
  transform: translate(-50%, -50%) rotate(0deg);
  will-change: transform;
}

.headerspacing {
  height: var(--HeaderHeight);
}

body .l-main,
body .l-header,
body .l-footer {
  will-change: left;
  left: 0;
  transition: left 400ms cubic-bezier(0.42, 0, 0.58, 1) 0ms;
}
body.is-nav_open .l-header__hbg__icon:before {
  opacity: 0;
}
body.is-nav_open .l-header__hbg__icon a {
  background-color: var(--Key1);
}
body.is-nav_open .l-header__hbg__icon a ul {
  color: var(--White);
}
body.is-nav_open .l-header__hbg__icon a ul:before {
  opacity: 0;
  transform: translate(-50%, -1em) scale(0.8);
}
body.is-nav_open .l-header__hbg__icon a ul:after {
  opacity: 1;
  transform: translate(-50%, 0) scale(0.8);
}
body.is-nav_open .l-header__hbg__icon a ul li {
  background-color: var(--White);
  transition: transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms, width 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms, top 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 0ms cubic-bezier(0.25, 0.1, 0.25, 1) 200ms, background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.is-nav_open .l-header__hbg__icon a ul li:nth-child(1) {
  top: 50%;
  width: 100%;
  transform: translate(-50%, 0) rotate(45deg);
}
body.is-nav_open .l-header__hbg__icon a ul li:nth-child(2) {
  opacity: 0;
  top: 50%;
  transform: translate(-50%, 0) rotate(0deg);
}
body.is-nav_open .l-header__hbg__icon a ul li:nth-child(3) {
  top: 50%;
  width: 100%;
  transform: translate(-50%, 0) rotate(-45deg);
}
body.is-nav_open .l-header__hbg__modal {
  visibility: visible;
  opacity: 1;
  z-index: 9998;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
body.is-nav_open .l-header__hbg__modal__wrap {
  transform: translate(0, 0);
  overflow: auto;
  overscroll-behavior: contain;
}
body.is-nav_open .l-header__hbg__modal__wrap.noscroll {
  overflow: hidden;
}

section.dummy {
  background-color: var(--Border);
  height: 500px;
  position: relative;
}
section.dummy > span {
  color: var(--White);
  text-align: center;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.l-footer__pankuzu {
  background-color: var(--Base2);
  overflow: hidden;
  position: relative;
}
.l-footer__pankuzu:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform: translate(0%, -100%);
  box-shadow: 0px 1px 3px 3px rgba(136, 136, 136, 0.1);
}
.l-footer__pankuzu:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform-origin: left bottom;
  transform: translate(100%, 0%) rotate(180deg);
  box-shadow: 0px 1px 3px 3px rgba(204, 204, 204, 0.1);
}
.l-footer__pankuzu.is-over > .wrap {
  padding-right: calc(5vw + 2.5rem);
}
.l-footer__pankuzu.is-over .ctrl {
  display: block;
}
.l-footer__pankuzu.is-over.is-end .ctrl svg {
  transform: translate(-50%, -50%) rotate(180deg);
}
.l-footer__pankuzu > .wrap {
  padding: 0em 5vw;
}
@media only screen and (max-width: 1000px) {
  .l-footer__pankuzu > .wrap {
    padding: 0em 5vw;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .l-footer__pankuzu > .wrap::-webkit-scrollbar {
    display: none;
    -webkit-appearance: none;
  }
}
.l-footer__pankuzu .ctrl {
  width: 2.5rem;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-color: var(--Base3);
  box-shadow: 1px 1px 3px 3px rgba(136, 136, 136, 0.2);
  display: none;
}
.l-footer__pankuzu .ctrl svg {
  width: 100%;
  height: 100%;
  height: 1.4rem;
  width: 1.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
  transform: translate(-50%, -50%) rotate(0deg);
  will-change: transform;
}
.l-footer__wrap {
  padding-top: 4rem;
}
@media only screen and (max-width: 680px) {
  .l-footer__wrap {
    padding-top: 0;
  }
}
@media only screen and (max-width: 680px) {
  .l-footer__main__wrap {
    width: 100%;
  }
}
.l-footer__sub {
  padding-top: 2rem;
  background-color: var(--Base3);
}
@media only screen and (max-width: 680px) {
  .l-footer__sub {
    padding-top: 2rem;
    margin-top: 0;
  }
}
.l-footer__sub__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  width: 90%;
  padding-bottom: 3rem;
}
@media only screen and (max-width: 680px) {
  .l-footer__sub__wrap {
    display: block;
    padding-bottom: 2rem;
  }
}
.l-footer__nav__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__wrap {
    display: block;
    margin-bottom: 0;
  }
}
.l-footer__nav__inner + div {
  margin-top: 4rem;
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__inner + div {
    margin-top: 0;
  }
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__inner {
    border-bottom: 1px solid var(--Light);
  }
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__inner.is-open [class$=__head] svg {
    transform: translate(0%, 0%) rotate(-90deg);
  }
}
.l-footer__nav__head {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  padding-bottom: 0.6em;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid var(--Border);
  margin-bottom: 1rem;
}
@media only screen and (max-width: 1000px) {
  .l-footer__nav__head {
    font-size: calc(1rem - 1px);
    border-bottom: 0px solid var(--Border);
    margin-bottom: 0rem;
  }
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__head {
    padding: 1rem 5vw;
  }
}
.l-footer__nav__head span {
  display: block;
  position: relative;
}
.l-footer__nav__head svg {
  display: none;
  width: 1.5em;
  height: 1.5em;
  will-change: transform;
  transform-origin: center center;
  transition: transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  transform: translate(0%, 0%) rotate(0deg);
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__head svg {
    display: block;
  }
}
@media only screen and (min-width: 1000px) {
  .l-footer__nav__body {
    display: block !important;
  }
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__body {
    display: none;
    padding: 1rem 5vw;
    border-top: 1px dotted var(--Light);
    background-color: var(--White);
  }
}
.l-footer__nav__title {
  margin-bottom: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 4px;
  color: var(--Key1);
  margin-top: 1rem;
  display: none;
}
.l-footer__nav__title > span {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  display: inline-block;
  position: relative;
}
.l-footer__nav__title svg {
  width: 1.7em;
  height: 1.7em;
  fill: var(--Key1);
  display: none;
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
  }
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__li {
    width: 55%;
  }
  .l-footer__nav__li:nth-child(even) {
    width: 45%;
  }
}
.l-footer__nav__li a {
  font-size: calc(1rem - 1px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 0.6em 0;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  color: var(--Text);
  white-space: nowrap;
  gap: 0.3rem;
}
@media only screen and (min-width: 1000px) {
  .l-footer__nav__li a:hover {
    color: var(--Key1);
    background-color: var(--Base1);
  }
  .l-footer__nav__li a:hover svg {
    fill: var(--Key1);
  }
}
@media only screen and (max-width: 1000px) {
  .l-footer__nav__li a {
    white-space: normal;
    font-size: calc(1rem - 2px);
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 680px) {
  .l-footer__nav__li a {
    white-space: normal;
    font-size: calc(1rem - 1px);
    padding: 0.8em 0;
  }
}
.l-footer__nav__li a svg {
  fill: var(--Text);
  width: 1.2em;
  height: 1.2em;
  transition: fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-footer__subnav {
  width: 60%;
}
@media only screen and (max-width: 680px) {
  .l-footer__subnav {
    width: 100%;
    margin-bottom: 1rem;
  }
}
.l-footer__subnav__head {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  padding-bottom: 0.5em;
}
@media only screen and (max-width: 1000px) {
  .l-footer__subnav__head {
    letter-spacing: 0;
  }
}
.l-footer__subnav__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0 1rem;
}
.l-footer__subnav__li a {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 0.6em 0;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  color: var(--Text);
}
@media only screen and (min-width: 1000px) {
  .l-footer__subnav__li a:hover {
    color: var(--Key1);
  }
  .l-footer__subnav__li a:hover svg {
    fill: var(--Key1);
  }
}
@media only screen and (max-width: 1000px) {
  .l-footer__subnav__li a {
    letter-spacing: 0;
    font-size: 11px;
    padding: 0.8em 0;
  }
}
.l-footer__subnav__li a span {
  position: relative;
  display: inline-block;
}
.l-footer__subnav__li a svg {
  width: 1.2em;
  height: 1.2em;
  fill: var(--Text);
  transition: fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-footer__footnav__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0 1rem;
}
@media only screen and (max-width: 680px) {
  .l-footer__footnav__ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 1rem;
  }
}
.l-footer__footnav__li a {
  font-size: calc(1rem - 3px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 0.6em 0;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  color: var(--White);
}
@media only screen and (min-width: 1000px) {
  .l-footer__footnav__li a:hover {
    color: var(--Key1);
  }
  .l-footer__footnav__li a:hover svg {
    fill: var(--Key1);
  }
}
@media only screen and (max-width: 1000px) {
  .l-footer__footnav__li a {
    letter-spacing: 0;
  }
}
.l-footer__footnav__li a svg {
  width: 1.2em;
  height: 1.2em;
  fill: var(--White);
  transition: fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.l-footer__banner__wrap {
  border-top: 1px solid var(--Light);
  border-bottom: 1px solid var(--Light);
  margin-top: 3rem;
  padding: 2rem 0;
}
@media only screen and (max-width: 680px) {
  .l-footer__banner__wrap {
    padding: 1.5rem 5vw 0 5vw;
    margin-top: 0;
    margin-bottom: 0;
    border-top: none;
    border-bottom: none;
    width: 100%;
  }
}
.l-footer__banner__wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  width: calc(100% + 1rem);
  margin-left: -0.5rem;
}
@media only screen and (max-width: 680px) {
  .l-footer__banner__wrap ul {
    width: calc(100% + 1rem);
    margin-left: -0.5rem;
  }
}
.l-footer__banner__wrap ul li {
  flex: 1;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
@media only screen and (max-width: 680px) {
  .l-footer__banner__wrap ul li {
    width: 50%;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    flex: inherit;
    margin-top: 0.5rem;
  }
}
.l-footer__banner__wrap ul li a {
  border: 2px solid var(--White);
  border-radius: 3px;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .l-footer__banner__wrap ul li a:hover {
    opacity: 0.5;
  }
}
@media only screen and (max-width: 680px) {
  .l-footer__icon {
    text-align: center;
  }
}
.l-footer__sns {
  display: inline-block;
  vertical-align: bottom;
}
.l-footer__sns ul li {
  margin-left: 0.5rem;
}
.l-footer__pmark {
  display: inline-block;
  vertical-align: bottom;
  margin-left: 1rem;
}
.l-footer__pmark svg {
  width: 5rem;
  height: 5rem;
  display: block;
}
@media only screen and (max-width: 680px) {
  .l-footer__pmark svg {
    width: 4rem;
    height: 4rem;
  }
}
.l-footer__foot {
  background-color: var(--SubText);
  padding: 1rem 0;
}
.l-footer__foot__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  width: 90%;
}
@media only screen and (max-width: 680px) {
  .l-footer__foot__wrap {
    display: block;
    text-align: center;
  }
}
.l-footer__copyright {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  color: var(--Light);
}
@media only screen and (max-width: 680px) {
  .l-footer__copyright {
    font-size: 10px;
    padding: 1rem 0;
  }
}
.l-footer .footerheading {
  background-color: #EDF2F9 !important;
}
.l-footer .footerheading__inner {
  width: 90%;
  margin: 0 auto;
}
.l-footer .font-weight-bold {
  font-weight: 700 !important;
}

.js-totop {
  position: fixed;
  z-index: 5000;
  bottom: 0;
  right: 0;
  padding: 1rem;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--White);
  background: var(--Grad);
  border-bottom: none;
  border-right: none;
  visibility: hidden;
  opacity: 0;
  transition: border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, background 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-totop.is-active {
  visibility: visible;
  opacity: 1;
}
.js-totop.is-absolute {
  position: absolute;
}
@media only screen and (min-width: 1000px) {
  .js-totop:hover {
    background: var(--GradHover);
    border-color: var(--Key1);
  }
  .js-totop:hover > span {
    border-color: var(--Key1);
  }
  .js-totop:hover > span:before {
    border-color: var(--Key1);
  }
}
.js-totop > span {
  width: 1.4rem;
  height: 1rem;
  border-top: 1px solid var(--White);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.js-totop > span:before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 1px solid var(--White);
  border-left: 1px solid var(--White);
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  position: relative;
  transform-origin: left top;
  transform: translate(0%, 0%) rotate(45deg);
  transition: border-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}

.b-top__mv {
  position: relative;
  z-index: 1;
}
.b-top__mv__wrap {
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.b-top__mv__list {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.b-top__mv__list__ul {
  width: 100%;
  min-height: 550px;
  height: 60vh;
}
.b-top__mv__list__ul:before {
  display: none;
}
.b-top__mv__list__li {
  position: absolute;
  width: 100%;
  height: 100%;
}
.b-top__mv__list__wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.b-top__mv__list__wrap a {
  display: inline;
}
.b-top__mv__list__wrap .imageBox {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.b-top__mv__list__wrap .imageBox:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--Grad);
  opacity: 0.2;
  z-index: 1;
  pointer-events: none;
}
.b-top__mv__list__wrap .imageBox:before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
  position: absolute;
  z-index: 1;
  background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
  opacity: 1;
  pointer-events: none;
}
@media only screen and (max-width: 1000px) {
  .b-top__mv__list__wrap .imageBox:before {
    opacity: 1;
    background: rgba(0, 0, 0, 0.5);
  }
}
.b-top__mv__list__wrap .imageBox .image {
  width: 100%;
  height: 100%;
  position: relative;
}
.b-top__mv__list__wrap .imageBox .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.b-top__mv__list__wrap .imageBox .image span {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: block;
  width: 100%;
  height: 100%;
}
.b-top__mv__list__wrap .textBox {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  padding-bottom: 3rem;
  width: 90%;
  filter: drop-shadow(1px 1px 6px rgba(0, 0, 0, 0.5));
  color: var(--White);
  pointer-events: none;
}
@media only screen and (max-width: 1000px) {
  .b-top__mv__list__wrap .textBox {
    width: 80%;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__mv__list__wrap .textBox {
    width: 90%;
  }
}
.b-top__mv__list__wrap .textBox .title {
  white-space: normal;
  display: block;
  position: relative;
  color: var(--White);
  font-size: min(3.6vw, var(--pow7));
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media only screen and (max-width: 1000px) {
  .b-top__mv__list__wrap .textBox .title {
    text-align: center;
    font-size: var(--pow6);
  }
}
.b-top__mv__list__wrap .textBox .text {
  font-size: var(--pow1);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 0.5em;
  text-align: justify;
  word-break: break-all;
  color: var(--White);
  width: 50%;
  max-width: 500px;
}
@media only screen and (max-width: 1000px) {
  .b-top__mv__list__wrap .textBox .text {
    width: 100%;
    max-width: 100%;
    font-size: calc(1rem + 1px);
  }
}
.b-top__mv__list__wrap .textBox .button {
  width: 50%;
  max-width: 500px;
  margin-top: 2rem;
  pointer-events: all;
}
@media only screen and (min-width: 1000px) {
  .b-top__mv__list__wrap .textBox .button:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__mv__list__wrap .textBox .button {
    width: 100%;
    max-width: 100%;
  }
  .b-top__mv__list__wrap .textBox .button:hover {
    text-decoration: none;
  }
}
.b-top__mv .js-slide__ctrl {
  position: absolute;
  bottom: 3rem;
  left: var(--ml);
  z-index: 2000;
}
.b-top__mv .js-slide__ctrl__wrap {
  display: inline-flex;
}
@media only screen and (max-width: 1000px) {
  .b-top__mv .js-slide__ctrl {
    text-align: center;
    width: 100%;
    left: 0;
  }
}
.b-top__mv .js-slide__arrow {
  display: inline-block;
  vertical-align: middle;
  width: 2rem;
  height: 2rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 100%;
  border: 1px solid var(--Key1);
  text-indent: -9999px;
  position: relative;
  transform-origin: center center;
  transform: rotate(0deg);
  outline: none;
}
@media only screen and (min-width: 1000px) {
  .b-top__mv .js-slide__arrow:hover {
    background: var(--Grad);
    border-color: var(--White);
  }
  .b-top__mv .js-slide__arrow:hover:before {
    border-color: var(--White);
  }
}
.b-top__mv .js-slide__arrow:nth-child(1) {
  transform: rotate(180deg);
}
.b-top__mv .js-slide__arrow:before {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center center;
  border-top: 1px solid var(--Key1);
  border-right: 1px solid var(--Key1);
  transform: translate(-66%, -50%) rotate(45deg);
}
.b-top__mv .js-slide__dots {
  display: inline-block;
  font-size: 0;
  margin: 0 5px;
}
.b-top__mv .js-slide__dots li {
  padding: 0;
  display: inline-block;
  margin: 0 2px;
}
@media only screen and (min-width: 1000px) {
  .b-top__mv .js-slide__dots .is-active button:hover:before {
    opacity: 1;
  }
  .b-top__mv .js-slide__dots .is-active button:hover:after {
    width: 100%;
    height: 2px;
  }
}
.b-top__mv .js-slide__dots .is-active button:before {
  opacity: 1;
}
.b-top__mv .js-slide__dots .is-active button:after {
  opacity: 1;
  width: 100%;
  height: 2px;
  left: 0;
  transition: width 6000ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms, left 0ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}
.b-top__mv .js-slide__dots button {
  display: block;
  width: 4.5vw;
  height: 2rem;
  overflow: hidden;
  text-indent: 9999px;
  background-color: transparent;
  position: relative;
  border: none;
  outline: none;
  will-change: opacity;
  transition: opacity 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-top__mv .js-slide__dots button:hover:before {
    opacity: 0.5;
  }
  .b-top__mv .js-slide__dots button:hover:after {
    width: 0%;
    height: 2px;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__mv .js-slide__dots button {
    width: 10vw;
  }
}
.b-top__mv .js-slide__dots button:before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(0%, -50%);
  border: none;
  background-color: var(--Light);
  border-radius: 0%;
  z-index: 0;
  opacity: 1;
  will-change: opacity;
  transition: opacity 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}
.b-top__mv .js-slide__dots button:after {
  content: "";
  display: block;
  width: 0%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(0%, -50%);
  border: none;
  background: var(--Grad);
  border-radius: 0%;
  z-index: 1;
  opacity: 1;
  will-change: width, left;
  transition: width 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 400ms, left 400ms cubic-bezier(0.445, 0.05, 0.55, 0.95) 0ms;
}
.b-top__pickup {
  position: relative;
  z-index: 0;
  background-color: var(--White);
}
.b-top__pickup .section__wrap {
  padding-top: 4rem;
  padding-bottom: 2rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 680px) {
  .b-top__pickup .section__wrap {
    width: 100%;
    javascript: void(0);
    max-width: 100%;
    padding-top: 3rem;
    padding-bottom: 2rem;
  }
}
.b-top__pickup__list .slick-dots > li:first-child:last-child {
  display: none;
}
.b-top__pickup__list__ul {
  width: calc(100% + 2rem);
  margin-left: -1rem;
  display: flex;
}
.b-top__pickup__list__ul:not(.slick-initialized) {
  visibility: hidden;
}
@media only screen and (max-width: 680px) {
  .b-top__pickup__list__ul {
    width: 100%;
    margin-left: 0;
  }
}
.b-top__pickup__list__li {
  padding: 1rem 1rem 2rem 1rem;
  width: 25%;
}
@media only screen and (max-width: 680px) {
  .b-top__pickup__list__li {
    padding: 1rem 2.5vw 2rem 2.5vw;
  }
}
.b-top__pickup__list__wrap .imageBox {
  display: block;
  position: relative;
}
.b-top__pickup__list__wrap .imageBox .image {
  position: relative;
  z-index: 0;
  border: 1px solid var(--Light);
}
.b-top__pickup__list__wrap .imageBox .tag {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.06em;
  line-height: 1;
  display: inline-block;
  color: var(--White);
  background: var(--Grad);
  padding: 0.2em 0.3em;
  position: absolute;
  top: 1px;
  left: 1px;
  z-index: 1;
}
.b-top__pickup__list__wrap .textBox {
  padding-top: 0.5rem;
  display: block;
  text-align: left;
  color: var(--Title);
}
.b-top__pickup__list__wrap .textBox .title {
  display: block;
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.02em;
  line-height: 1.7;
  word-break: break-all;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-top__pickup__list__wrap .textBox .text {
  display: block;
  word-break: break-all;
  padding: 0.5rem 0;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-top__pickup__list__wrap .button:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__pickup__list__wrap .button:hover {
    text-decoration: none;
  }
}
.b-top__solution .p-title__sec {
  text-align: center;
}
.b-top__solution .section__wrap {
  max-width: 100%;
  width: 100%;
}
.b-top__solution .section__wrap.inset {
  width: 90%;
  padding-top: 4rem;
}
@media only screen and (max-width: 680px) {
  .b-top__solution .section__wrap.inset {
    width: 100%;
    padding-top: 3rem;
  }
}
.b-top__solution .section__wrap.inset .b-top__solution__listSub {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 680px) {
  .b-top__solution .section__wrap.inset .b-top__solution__listSub {
    width: 90%;
  }
}
.b-top__solution__list {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 680px) {
  .b-top__solution__list {
    margin-bottom: 0;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.b-top__solution__list__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  width: calc(100% - 1px + 0);
  margin-left: 0;
}
.b-top__solution__list__ul > * {
  width: 33.3333333333%;
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (max-width: 680px) {
  .b-top__solution__list__ul {
    width: 100%;
    margin-left: 0;
    display: block;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__solution__list__li {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 5vw;
    width: 100%;
  }
}
.b-top__solution__list__wrap {
  position: relative;
}
.b-top__solution__list__wrap .imageBox {
  display: block;
  position: relative;
}
.b-top__solution__list__wrap .imageBox:before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
  position: absolute;
  z-index: 1;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
  opacity: 1;
}
@media only screen and (max-width: 1000px) {
  .b-top__solution__list__wrap .imageBox:before {
    opacity: 1;
  }
}
.b-top__solution__list__wrap .textBox {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  padding: 2rem 2rem 5rem 2rem;
  color: var(--White);
}
@media only screen and (max-width: 680px) {
  .b-top__solution__list__wrap .textBox {
    padding: 1rem 1rem 4rem 1rem;
  }
}
.b-top__solution__list__wrap .image {
  display: block;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 1000px) {
  .b-top__solution__list__wrap .image > span:before {
    padding-top: 120%;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__solution__list__wrap .image > span:before {
    padding-top: 100%;
  }
}
.b-top__solution__list__wrap .title {
  display: block;
}
.b-top__solution__list__wrap .title .main {
  font-size: calc(1rem + 1px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  font-size: var(--pow5);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  margin-top: 0.5rem;
  white-space: nowrap;
  display: inline-block;
  padding-right: 1.5em;
  position: relative;
  color: var(--White);
  fill: var(--White);
  z-index: 1;
  filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.3));
}
@media only screen and (max-width: 1000px) {
  .b-top__solution__list__wrap .title .main {
    font-size: var(--pow3);
  }
}
@media only screen and (max-width: 680px) {
  .b-top__solution__list__wrap .title .main {
    font-size: var(--pow4);
  }
}
.b-top__solution__list__wrap .title .main svg {
  width: 1.1em;
  height: 1.1em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0%, -50%);
  display: block;
}
.b-top__solution__list__wrap .text {
  font-weight: var(--fwh);
  display: block;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  color: var(--White);
  filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.3));
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.b-top__solution__list__wrap .button {
  margin-top: 1.5rem;
  filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.3));
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  width: calc(100% - 4rem);
  z-index: 2;
}
@media only screen and (min-width: 1000px) {
  .b-top__solution__list__wrap .button:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__solution__list__wrap .button:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__solution__list__wrap .button {
    bottom: 1rem;
    left: 1rem;
    width: calc(100% - 2rem);
  }
}
.b-top__solution__listSub {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.b-top__solution__listSub__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  width: calc(100% - 1px + 2rem);
  margin-left: -1rem;
}
.b-top__solution__listSub__ul > * {
  width: 50%;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media only screen and (max-width: 680px) {
  .b-top__solution__listSub__ul {
    width: 100%;
    margin-left: 0;
    display: block;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__solution__listSub__li {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.b-top__solution__listSub__li:nth-child(3) [class$=__wrap], .b-top__solution__listSub__li:nth-child(4) [class$=__wrap] {
  border-top: none;
}
@media only screen and (max-width: 680px) {
  .b-top__solution__listSub__li:nth-child(2) [class$=__wrap] {
    border-top: none;
  }
}
.b-top__solution__listSub__wrap {
  display: table;
  width: 100%;
  border-top: 1px solid var(--Light);
  border-bottom: 1px solid var(--Light);
}
.b-top__solution__listSub__wrap .imageBox {
  display: table-cell;
  vertical-align: middle;
  width: 30%;
  padding: 1rem 0;
}
.b-top__solution__listSub__wrap .textBox {
  display: table-cell;
  vertical-align: middle;
  padding: 1rem 0rem 1rem 2rem;
}
@media only screen and (max-width: 1000px) {
  .b-top__solution__listSub__wrap .textBox {
    padding: 1rem 0rem 1rem 1rem;
  }
}
.b-top__solution__listSub__wrap .title .main {
  display: block;
  font-size: min(1.7vw, var(--pow2));
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  display: inline-block;
  padding-right: 1.5em;
  position: relative;
  color: var(--Key1);
  fill: var(--Key1);
}
@media only screen and (max-width: 1000px) {
  .b-top__solution__listSub__wrap .title .main {
    font-size: 2vw;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__solution__listSub__wrap .title .main {
    font-size: var(--pow1);
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 4px;
  }
}
.b-top__solution__listSub__wrap .title .main svg {
  width: 1.1em;
  height: 1.1em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0%, -50%);
  display: block;
}
.b-top__solution__listSub__wrap .text {
  display: block;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 680px) {
  .b-top__solution__listSub__wrap .text {
    letter-spacing: 0;
    line-height: 1.8;
  }
}
.b-top__solution__listSub__wrap .button {
  margin-top: 1.5rem;
}
@media only screen and (min-width: 1000px) {
  .b-top__solution__listSub__wrap .button:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__solution__listSub__wrap .button:hover {
    text-decoration: none;
  }
}
.b-top__solution__foot {
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: 4rem;
}
@media only screen and (max-width: 1000px) {
  .b-top__solution__foot {
    padding-top: 2rem;
    width: 90%;
  }
}
.b-top__solution__foot > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  width: calc(100% - 1px + 1rem);
  margin-left: -0.5rem;
}
.b-top__solution__foot > ul > * {
  width: 50%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
@media only screen and (max-width: 680px) {
  .b-top__solution__foot > ul {
    width: 100%;
    margin-left: 0;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__solution__foot > ul > li {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .b-top__solution__foot > ul > li + li {
    margin-top: 10px;
  }
}
@media only screen and (min-width: 1000px) {
  .b-top__solution__foot > ul > li .link:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__solution__foot > ul > li .link:hover {
    text-decoration: none;
  }
}
.b-top__news {
  background-color: var(--White);
}
.b-top__news__wrap {
  display: table;
  width: 100%;
}
@media only screen and (max-width: 680px) {
  .b-top__news__wrap {
    display: block;
    width: 100%;
  }
}
.b-top__news__head {
  display: table-cell;
  vertical-align: top;
  width: 18rem;
}
@media only screen and (max-width: 1000px) {
  .b-top__news__head {
    width: 16rem;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__news__head {
    display: block;
    width: 100%;
    text-align: center;
  }
}
.b-top__news__head__foot {
  display: block;
  margin-top: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-top__news__head__foot {
    display: none;
  }
}
.b-top__news__body {
  display: table-cell;
  vertical-align: top;
  padding-left: 5vw;
}
@media only screen and (max-width: 680px) {
  .b-top__news__body {
    display: block;
    width: 100%;
    padding-left: 0;
  }
}
.b-top__news__body__foot {
  display: none;
}
@media only screen and (max-width: 680px) {
  .b-top__news__body__foot {
    display: block;
    margin-top: 2rem;
  }
}
.b-top__news__list {
  position: relative;
}
.b-top__news__nav {
  text-align: left;
}
@media only screen and (max-width: 680px) {
  .b-top__news__nav {
    margin-bottom: 2rem;
    display: none;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__news__nav__ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    border-top: 1px solid var(--Light);
    border-left: 1px solid var(--Light);
  }
}
@media only screen and (max-width: 680px) {
  .b-top__news__nav__li {
    width: 50%;
    border-right: 1px solid var(--Light);
    border-bottom: 1px solid var(--Light);
  }
}
.b-top__news__nav__link {
  line-height: 1;
  display: block;
  padding: 0.8rem 0;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-top__news__nav__link:hover {
    color: var(--Key1);
  }
}
@media only screen and (max-width: 680px) {
  .b-top__news__nav__link {
    padding: 0;
    letter-spacing: 0;
    font-size: calc(1rem - 1px);
  }
}
.b-top__news__nav__link.is-active {
  color: var(--Key1);
  font-weight: var(--fwb);
}
.b-top__news__nav__link.is-active > span {
  padding-left: 1em;
}
.b-top__news__nav__link.is-active > span:before {
  opacity: 1;
}
@media only screen and (max-width: 680px) {
  .b-top__news__nav__link.is-active > span:before {
    background-color: var(--Key1);
  }
}
.b-top__news__nav__link > span {
  display: inline-block;
  position: relative;
  padding-left: 0;
}
@media only screen and (max-width: 680px) {
  .b-top__news__nav__link > span {
    padding: 1rem;
  }
}
.b-top__news__nav__link > span:before {
  content: "";
  width: 0.4em;
  height: 100%;
  position: absolute;
  background-color: var(--Key1);
  top: 0;
  left: 0;
  opacity: 0;
}
@media only screen and (max-width: 680px) {
  .b-top__news__nav__link > span:before {
    background-color: var(--Base3);
    opacity: 1;
  }
}
@media only screen and (min-width: 1000px) {
  .b-top__news__button:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__news__button:hover {
    color: var(--White);
    text-decoration: none;
  }
}
.b-top__news__button2 {
  margin-top: 1rem;
}
@media only screen and (min-width: 1000px) {
  .b-top__news__button2:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__news__button2:hover {
    color: var(--White);
    text-decoration: none;
  }
}
.b-top__news__link {
  margin-top: 1rem;
}
@media only screen and (min-width: 1000px) {
  .b-top__news__link:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__news__link:hover {
    color: var(--White);
    text-decoration: none;
  }
}
.b-top__link__list__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  width: calc(100% - 1px + 3rem);
  margin-left: -1.5rem;
}
.b-top__link__list__ul > * {
  width: 25%;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__ul {
    width: calc(100% - 1px + 3rem);
    margin-left: -1.5rem;
  }
  .b-top__link__list__ul > * {
    width: 50%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__link__list__ul {
    display: block;
    width: 100%;
    margin-left: 0;
  }
}
.b-top__link__list__li {
  border-right: 1px dotted var(--Light);
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__li {
    border-right: none;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__link__list__li {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    border-bottom: 1px dotted var(--Light);
  }
}
.b-top__link__list__li:last-child {
  border-right: none;
}
@media only screen and (max-width: 680px) {
  .b-top__link__list__li:last-child {
    border-bottom: none;
  }
}
.b-top__link__list__link {
  display: block;
}
@media only screen and (min-width: 1000px) {
  .b-top__link__list__link:hover .title {
    color: var(--Key1);
    fill: var(--Key1);
  }
  .b-top__link__list__link:hover .text {
    color: var(--Key1);
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__link {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__link__list__link {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.b-top__link__list__link .wrap {
  position: relative;
  display: block;
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__link .wrap {
    padding-left: 9rem;
  }
}
@media only screen and (max-width: 680px) {
  .b-top__link__list__link .wrap {
    padding-left: 8rem;
  }
}
.b-top__link__list__link .svg {
  width: 40%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: relative;
  border-radius: 100%;
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__link .svg {
    position: absolute;
    width: 8rem;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
  }
}
@media only screen and (max-width: 680px) {
  .b-top__link__list__link .svg {
    width: 7rem;
  }
}
.b-top__link__list__link .svg:before {
  content: "";
  padding-top: 100%;
  width: 100%;
  display: block;
  position: relative;
  z-index: 0;
}
.b-top__link__list__link .svg svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  fill: var(--Key1);
}
.b-top__link__list__link .title {
  font-size: calc(1rem + 1px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  z-index: 1;
  display: block;
  text-align: center;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__link .title {
    margin-top: 0;
    text-align: left;
    color: var(--Key1);
    fill: var(--Key1);
  }
}
.b-top__link__list__link .title > span {
  display: inline-block;
  position: relative;
  padding-right: 0;
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__link .title > span {
    padding-right: 1.5em;
  }
}
.b-top__link__list__link .title > span svg {
  width: 1.2em;
  height: 1.2em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0%, -50%);
  display: none;
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__link .title > span svg {
    display: block;
  }
}
.b-top__link__list__link .text {
  position: relative;
  z-index: 1;
  display: block;
  word-break: break-all;
  margin-bottom: 10px;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__link .text {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 1000px) {
  .b-top__link__list__link .button:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-top__link__list__link .button {
    display: none;
  }
  .b-top__link__list__link .button:hover {
    text-decoration: none;
  }
}

.b-common__pagecv {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  position: relative;
  z-index: 3;
  min-height: 240px;
}
@media only screen and (max-width: 680px) {
  .b-common__pagecv {
    min-height: 220px;
  }
}
.b-common__pagecv .textBox {
  filter: drop-shadow(1px 1px 6px rgba(0, 0, 0, 0.5));
  width: 100%;
  padding: 2rem 10vw;
}
@media only screen and (max-width: 680px) {
  .b-common__pagecv .textBox {
    padding: 1rem var(--ml);
  }
}
.b-common__pagecv__title {
  position: relative;
}
.b-common__pagecv__title .main {
  font-size: var(--pow5);
  font-weight: var(--fwh);
  font-family: "san-serif";
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: block;
  color: var(--White);
}
@media only screen and (max-width: 1000px) {
  .b-common__pagecv__title .main {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 680px) {
  .b-common__pagecv__title .main {
    font-size: var(--pow5);
    font-weight: var(--fwh);
    font-family: var(--ff);
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 0.5rem;
  }
}
.b-common__pagecv__title .sub {
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.8;
  color: var(--White);
  display: block;
}
@media only screen and (max-width: 1000px) {
  .b-common__pagecv__title .sub {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 680px) {
  .b-common__pagecv__title .sub {
    font-size: var(--pow2);
    font-weight: var(--fwh);
    font-family: "san-serif";
    letter-spacing: 0;
    line-height: 1.8;
  }
}
.b-common__pagecv__image {
  position: absolute;
  z-index: 0;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}
.b-common__pagecv__image:before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
  position: absolute;
  z-index: 1;
  background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 100%);
  opacity: 1;
}
@media only screen and (max-width: 1000px) {
  .b-common__pagecv__image:before {
    opacity: 1;
    background: rgba(0, 0, 0, 0.5);
  }
}
.b-common__pagecv__image .js-lazy_bgi {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  display: block;
}
.b-common__subnav + .b-common__column__box {
  margin-top: -2.5rem;
}
.b-common__subnav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  border-right: 1px dotted var(--Border);
}
@media only screen and (max-width: 680px) {
  .b-common__subnav ul {
    display: none;
  }
}
.b-common__subnav ul li {
  flex: auto;
}
.b-common__subnav ul li a {
  font-size: calc(1rem - 3px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  padding: 0.8rem 1rem;
  display: block;
  text-align: center;
  border-left: 1px dotted var(--Border);
}
.b-common__subnav ul li a:before {
  content: "▼";
  color: var(--Key1);
  display: inline-block;
  margin-right: 0.5rem;
  font-size: 0.8em;
}
@media only screen and (max-width: 680px) {
  .b-common__subnav ul li a:before {
    display: none;
  }
}
@media only screen and (min-width: 1000px) {
  .b-common__subnav ul li a:hover {
    background-color: var(--Base2);
    color: var(--Key1);
  }
}
.b-common__subnav .p-select {
  display: none;
}
@media only screen and (max-width: 1000px) {
  .b-common__subnav .p-select {
    display: block;
  }
}
.b-common__cv {
  background-color: var(--Key1);
  background-color: var(--Text);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
.b-common__cv:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #111111;
  opacity: 0.5;
  z-index: 0;
}
@media only screen and (max-width: 680px) {
  .b-common__cv:before {
    opacity: 0.8;
  }
}
.b-common__cv__wrap {
  position: relative;
  z-index: 1;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 1000px) {
  .b-common__cv__wrap {
    max-width: 40rem;
  }
}
@media only screen and (max-width: 680px) {
  .b-common__cv__wrap {
    padding-top: 4rem;
    padding-bottom: 6rem;
    width: 85%;
  }
}
.b-common__cv__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 1000px) {
  .b-common__cv__inner {
    display: block;
  }
}
.b-common__cv__head {
  width: 30%;
  min-width: 22rem;
}
@media only screen and (max-width: 1000px) {
  .b-common__cv__head {
    width: 100%;
    min-width: 0;
    margin-bottom: 2rem;
  }
}
.b-common__cv__body {
  width: 55%;
}
@media only screen and (max-width: 1000px) {
  .b-common__cv__body {
    width: 100%;
  }
}
.b-common__cv__title {
  font-size: var(--pow4);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
  color: var(--White);
  text-align: justify;
  text-shadow: 1px 1px 2px rgba(17, 17, 17, 0.6);
}
@media only screen and (max-width: 680px) {
  .b-common__cv__title {
    letter-spacing: 0.02em;
    font-size: min(var(--pow4), 5.5vw);
  }
}
.b-common__cv__text {
  font-weight: var(--fwb);
  text-shadow: 1px 1px 2px rgba(17, 17, 17, 0.6);
  display: block;
  margin-top: 1rem;
  text-align: justify;
  color: var(--White);
}
@media only screen and (max-width: 680px) {
  .b-common__cv__text {
    margin-top: 0.5rem;
  }
}
.b-common__cv__content {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  width: calc(100% + 2rem);
  margin-left: -1rem;
}
.b-common__cv__content > div {
  width: 50%;
}
@media only screen and (max-width: 680px) {
  .b-common__cv__content > div {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
.b-common__cv__content > div:nth-child(1) {
  width: 100%;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__cv__content > div:nth-child(1) {
    margin-bottom: 1.5rem;
  }
}
.b-common__cv__content > div:nth-child(1) .link .button {
  font-size: var(--pow1);
}
.b-common__cv__content > div:nth-child(1) .link .main {
  font-size: var(--pow1);
}
@media only screen and (max-width: 680px) {
  .b-common__cv__content > div:last-child {
    margin-bottom: 0;
  }
}
.b-common__cv .link {
  display: block;
  padding: 0 1rem;
}
.b-common__cv .link .wrap {
  display: block;
}
.b-common__cv .link .main {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.6;
  color: var(--White);
  margin-bottom: 1rem;
  display: block;
  text-shadow: 1px 1px 2px rgba(17, 17, 17, 0.6);
}
@media only screen and (max-width: 680px) {
  .b-common__cv .link .main {
    margin-bottom: 0.6rem;
  }
}
.b-common__cv .link .main > span {
  position: relative;
  display: inline-block;
  text-align: left;
  position: relative;
  padding-left: 1.5rem;
}
.b-common__cv .link .main > span:before {
  content: "";
  width: 0.5rem;
  height: 80%;
  position: absolute;
  top: 50%;
  left: 0;
  background-color: var(--White);
  display: block;
  transform: translate(0, -50%);
  box-shadow: 1px 1px 3px 3px rgba(17, 17, 17, 0.2);
}
.b-common__cv .link .button {
  display: block;
  box-shadow: 1px 1px 3px 3px rgba(17, 17, 17, 0.2);
}
@media only screen and (min-width: 1000px) {
  .b-common__cv .link .button:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 1000px) {
  .b-common__cv .link .button:hover {
    text-decoration: none;
  }
}
.b-common__cv .link .button > span {
  padding: 0.5em 1em;
}
.b-common__cv .link .button > span svg {
  width: 1.6em;
  height: 1.6em;
}
.b-common__column {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
}
@media only screen and (max-width: 1000px) {
  .b-common__column {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    flex-direction: column-reverse;
  }
}
.b-common__column__aside {
  width: calc(14rem + 10vw);
  padding: 0 5vw;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 1000px) {
  .b-common__column__aside {
    display: block;
    position: relative;
    top: auto;
    bottom: auto;
    height: auto;
    width: 100%;
    background-color: var(--Base2);
    padding: 4rem 5vw;
    border-top: 1px solid var(--Border);
  }
}
.b-common__column__aside__inner {
  padding: 5rem 0;
}
@media only screen and (max-width: 680px) {
  .b-common__column__aside__inner {
    padding: 2rem 0;
  }
}
.b-common__column__aside__title {
  position: relative;
  border-bottom: 1px solid var(--Light);
  padding-bottom: 1rem;
}
@media only screen and (max-width: 680px) {
  .b-common__column__aside__title {
    border-bottom: 0px solid var(--Border);
  }
}
.b-common__column__aside__title .main {
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: block;
  border-left: 6px solid var(--Key1);
  padding-left: 1rem;
}
.b-common__column__aside__subtitle {
  font-size: var(--pow0);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  color: var(--Key1);
  margin-top: 2.5rem;
  border-bottom: 1px dotted var(--Border);
  padding-bottom: 1rem;
}
.b-common__column__aside__subtitle + .b-common__column__aside__nav {
  margin-top: 0;
}
.b-common__column__aside__nav__title {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 4px;
  margin-top: 2.5rem;
  font-size: var(--pow0);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  color: var(--Key1);
  padding-bottom: 1rem;
}
.b-common__column__aside__nav__title svg {
  width: 1.7em;
  height: 1.7em;
  fill: var(--Key1);
}
.b-common__column__aside__nav__title + .b-common__column__aside__nav {
  border-top: 1px dotted var(--Border);
}
.b-common__column__aside__nav__li {
  border-bottom: 1px dotted var(--Border);
}
.b-common__column__aside__nav__li > a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0.8rem 0.5rem;
  padding-left: 1.5rem;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  position: relative;
}
.b-common__column__aside__nav__li > a.isActive {
  background-color: var(--Base2);
  color: var(--Key1);
}
@media only screen and (max-width: 680px) {
  .b-common__column__aside__nav__li > a.isActive {
    background-color: var(--Base1);
  }
}
.b-common__column__aside__nav__li > a.isActive::before {
  border-bottom: 2px solid var(--Key1);
  border-right: 2px solid var(--Key1);
}
.b-common__column__aside__nav__li > a.isActive svg {
  fill: var(--Key1);
}
@media only screen and (min-width: 1000px) {
  .b-common__column__aside__nav__li > a:hover {
    background-color: var(--Base3);
    color: var(--Key1);
  }
  .b-common__column__aside__nav__li > a:hover::before {
    border-bottom: 2px solid var(--Key1);
    border-right: 2px solid var(--Key1);
  }
  .b-common__column__aside__nav__li > a:hover svg {
    fill: var(--Key1);
  }
}
.b-common__column__aside__nav__li > a::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 50%;
  display: block;
  width: 6px;
  height: 6px;
  border-bottom: 2px solid var(--Border);
  border-right: 2px solid var(--Border);
  transform-origin: center center;
  transform: translate(0%, -50%) rotate(-45deg) scale(1, 1);
  transition: border 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__column__aside__nav__li > a[target=_blank] svg {
  display: block;
  fill: var(--SubText);
  width: 1em;
  height: 1em;
}
.b-common__column__aside__nav__li > a svg {
  display: none;
}
.b-common__column__aside__nav__li .title {
  padding-top: 1rem;
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__column__aside__nav__li .tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  gap: 0.5rem;
  margin-top: 1rem;
}
.b-common__column__aside__nav__li .tag a {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  border-radius: 3rem;
  background-color: var(--Base2);
  padding: 0 1rem;
}
.b-common__column__aside__nav__li .tag a::before {
  content: "#";
}
.b-common__column__aside__nav__li svg {
  width: 1.2em;
  height: 1.2em;
  fill: var(--Text);
  transition: fill 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__column__aside__nav__alllink {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0.8rem 0.5rem;
  padding-left: 1.5rem;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  position: relative;
}
.b-common__column__aside__nav__alllink.isActive {
  background-color: var(--Base2);
  color: var(--Key1);
}
@media only screen and (max-width: 680px) {
  .b-common__column__aside__nav__alllink.isActive {
    background-color: var(--Base1);
  }
}
.b-common__column__aside__nav__alllink.isActive::before {
  border-bottom: 2px solid var(--Key1);
  border-right: 2px solid var(--Key1);
}
.b-common__column__aside__nav__alllink.isActive svg {
  fill: var(--Key1);
}
@media only screen and (min-width: 1000px) {
  .b-common__column__aside__nav__alllink:hover {
    background-color: var(--Base3);
    color: var(--Key1);
  }
  .b-common__column__aside__nav__alllink:hover::before {
    border-bottom: 2px solid var(--Key1);
    border-right: 2px solid var(--Key1);
  }
  .b-common__column__aside__nav__alllink:hover svg {
    fill: var(--Key1);
  }
}
.b-common__column__aside__nav__alllink .title {
  padding-top: 1rem;
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__column__aside__nav__alllink::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 50%;
  display: block;
  width: 6px;
  height: 6px;
  border-bottom: 2px solid var(--Border);
  border-right: 2px solid var(--Border);
  transform-origin: center center;
  transform: translate(0%, -50%) rotate(-45deg) scale(1, 1);
  transition: border 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__column__aside__nav__alllink[target=_blank] svg {
  display: block;
  fill: var(--SubText);
  width: 1em;
  height: 1em;
}
.b-common__column__aside__nav__alllink svg {
  display: none;
}
.b-common__column__aside__nav .p-button__r {
  margin-top: 1rem;
  width: 100%;
}
.b-common__column__aside__ankernav {
  margin-top: 1rem;
}
.b-common__column__aside__ankernav__ul {
  position: relative;
  z-index: 10;
}
.b-common__column__aside__ankernav__li {
  margin-bottom: 1rem;
  position: relative;
}
.b-common__column__aside__ankernav__li::before {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  background-color: var(--Key1);
  left: 0rem;
  top: 50%;
  transform: translateY(-50%);
  transition: width 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__column__aside__ankernav__li.isActive::before {
  width: 0.5rem;
}
.b-common__column__aside__ankernav__li.isActive a {
  color: var(--Text);
  transform: translateX(1.2rem) scale(1);
}
.b-common__column__aside__ankernav__li a {
  display: block;
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--SubText);
  position: relative;
  transform: translateX(0) scale(0.8);
  transform-origin: left center;
  transition: transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-common__column__aside__ankernav__li a:hover {
    color: var(--Key1);
  }
}
.b-common__column__aside__searchnav {
  margin-top: 1rem;
}
.b-common__column__aside__searchnav__li + li {
  margin-top: 2rem;
}
.b-common__column__aside__searchnav__li .title {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--Key1);
  margin-bottom: 0.5rem;
}
.b-common__column__aside__searchnav__li .tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  gap: 0.5rem;
  margin-top: 1rem;
}
.b-common__column__aside__searchnav__li .tag a {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  border-radius: 3rem;
  background-color: var(--Base2);
  padding: 0 0.5rem;
}
@media only screen and (max-width: 680px) {
  .b-common__column__aside__searchnav__li .tag a {
    background-color: var(--White);
  }
}
.b-common__column__aside__searchnav__li .tag a::before {
  content: "#";
}
.b-common__column__aside__searchnav__li svg {
  width: 1.2em;
  height: 1.2em;
  fill: var(--Text);
  transition: fill 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__column__aside__searchnav__li .p-input input,
.b-common__column__aside__searchnav__li .p-select select,
.b-common__column__aside__searchnav__li .p-checkbox input + span::before {
  background-color: var(--White);
}
.b-common__column__aside__searchnav__li .p-checkbox label {
  display: block;
}
.b-common__column__aside__searchnav .p-button__r {
  margin-top: 1rem;
  width: 100%;
}
.b-common__column__main {
  width: calc(100% - calc(14rem + 10vw) - 5vw);
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 1000px) {
  .b-common__column__main {
    width: 100%;
  }
}
.b-common__column.message .b-common__layout__text {
  max-width: 90%;
  margin-right: auto;
  margin-left: auto;
  padding: 4rem;
  background-color: #fff;
  z-index: 10;
  position: relative;
  border-radius: 4px;
  box-sizing: 6px 6px 6px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 680px) {
  .b-common__column.message .b-common__layout__text {
    padding: 2rem;
    width: 100%;
    max-width: 100%;
  }
}
.b-common__detail {
  width: 100%;
  position: relative;
  padding: 5rem 0 5rem 0;
}
@media only screen and (max-width: 1000px) {
  .b-common__detail {
    padding: 4rem 0;
  }
}
.b-common__detail.bg {
  position: relative;
}
.b-common__detail.bg:before {
  content: "";
  position: absolute;
  background-color: var(--Base2);
  top: 0;
  left: calc(calc(14rem + 10vw) * -1);
  width: 100vw;
  height: 100%;
}
@media only screen and (max-width: 1000px) {
  .b-common__detail.bg:before {
    left: 0;
  }
}
.b-common__detail__wrap {
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 1000px) {
  .b-common__detail__wrap {
    padding: 0 5vw;
  }
}
.b-common__detail__mv {
  margin-bottom: 4rem;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.b-common__detail__info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 1rem;
  margin-bottom: 2rem;
}
.b-common__detail__mvtable {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 2rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 1000px) {
  .b-common__detail__mvtable {
    display: block;
  }
}
.b-common__detail__mvtable__image {
  flex: 1;
}
.b-common__detail__mvtable__image span {
  display: block;
  text-align: right;
  font-size: calc(1rem - 3px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--SubText);
  margin-top: 0.5rem;
}
.b-common__detail__mvtable__lead {
  margin-top: 2rem;
}
@media only screen and (max-width: 1000px) {
  .b-common__detail__mvtable__table {
    margin-top: 2rem;
  }
}
.b-common__detail__mvtable__table table {
  border-top: 1px dashed var(--Light);
  border-top: 1px solid var(--Light);
  width: 100%;
}
.b-common__detail__mvtable__table table tr {
  border-bottom: 1px dashed var(--Light);
  border-bottom: 1px solid var(--Light);
}
.b-common__detail__mvtable__table table th {
  white-space: nowrap;
  background-color: var(--Base2);
  width: 20%;
}
@media only screen and (max-width: 680px) {
  .b-common__detail__mvtable__table table th {
    width: 10px;
  }
}
.b-common__detail__mvtable__table table th,
.b-common__detail__mvtable__table table td {
  text-align: left;
  vertical-align: top;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__detail__mvtable__table table th a,
.b-common__detail__mvtable__table table td a {
  color: var(--Key1);
  text-decoration: underline;
  word-break: break-all;
}
@media only screen and (min-width: 1000px) {
  .b-common__detail__mvtable__table table th a:hover,
  .b-common__detail__mvtable__table table td a:hover {
    text-decoration: none;
  }
}
.b-common__detail__mvtable__table table th {
  padding: 1rem 1rem;
  text-align: center;
  vertical-align: middle;
}
.b-common__detail__mvtable__table table th > span {
  font-size: calc(1rem - 3px);
  font-weight: 700;
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
  color: var(--SubText);
}
.b-common__detail__mvtable__table table td {
  padding: 1rem;
}
.b-common__detail__mvtable__table table td span {
  font-size: calc(1rem - 1px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
}
.b-common__detail__mvtable__table table td ul li {
  font-size: inherit;
  color: inherit;
}
.b-common__detail__mvtable__table table td ul li > span {
  position: relative;
  display: block;
  padding-left: 1.2em;
}
.b-common__detail__mvtable__table table td ul li > span:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.b-common__detail__mvtable__link {
  margin-top: 1rem;
  font-size: var(--pow1);
}
.b-common__detail__category {
  display: inline-block;
  vertical-align: middle;
  font-size: 0;
}
.b-common__detail__category a {
  display: inline;
  margin-right: 0.5em;
  font-size: calc(1rem - 1px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  color: var(--Key1);
  display: inline-block;
  border: 1px solid var(--Key1);
  background-color: var(--White);
  padding: 0.2em 0.3em 0.1em 0.3em;
  border-radius: 2px;
  vertical-align: top;
}
@media only screen and (min-width: 1000px) {
  .b-common__detail__category a:hover {
    color: var(--White);
    background: var(--Grad);
  }
}
.b-common__detail__date {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  width: auto;
  gap: 1.5rem;
}
.b-common__detail__date p {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  width: auto;
  gap: 0.5rem;
}
.b-common__detail__date p svg {
  width: 1.5em;
  height: 1.5em;
}
.b-common__detail__agenda {
  background-color: var(--White);
  margin-top: 4rem;
}
.b-common__detail__agenda__title {
  font-size: var(--pow0);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  padding: 0.5rem 1.5rem;
  color: var(--White);
  background-color: var(--Key1);
}
.b-common__detail__agenda a {
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  border-top: 1px dotted var(--Border);
  display: block;
  padding: 1rem 1.5rem;
  position: relative;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-common__detail__agenda a:hover {
    color: var(--Key1);
  }
  .b-common__detail__agenda a:hover::before {
    border-bottom: 2px solid var(--Key1);
    border-right: 2px solid var(--Key1);
  }
}
.b-common__detail__agenda a::before {
  content: "・";
  color: var(--Key1);
  margin-right: 1rem;
}
.b-common__detail__agenda a .sub {
  color: var(--Key1);
  display: inline-block;
  margin-right: 0.5rem;
}
.b-common__detail__agenda a .sub:before {
  content: "[";
}
.b-common__detail__agenda a .sub:after {
  content: "]";
}
.b-common__detail__title {
  font-size: var(--pow3);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.b-common__detail__sectitle {
  margin-bottom: 3rem;
}
.b-common__detail__sectitle__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  flex-direction: column-reverse;
}
.b-common__detail__sectitle .main {
  font-size: var(--pow3);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  display: block;
}
@media only screen and (max-width: 680px) {
  .b-common__detail__sectitle .main br {
    display: none;
  }
}
.b-common__detail__sectitle .sub {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: block;
  color: var(--Key1);
  margin-bottom: 1rem;
}
.b-common__detail__case__client__title {
  width: 100%;
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  color: var(--Key1);
  margin-bottom: 1rem;
}
.b-common__detail__case__client__interviewer {
  margin-top: 3rem;
}
.b-common__detail__case__client__interviewer__li {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 2rem;
}
.b-common__detail__case__client__interviewer__li + li {
  margin-top: 1rem;
}
.b-common__detail__case__client__interviewer .imageBox {
  text-align: center;
  width: 80px;
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
@media only screen and (max-width: 680px) {
  .b-common__detail__case__client__interviewer .imageBox {
    width: 60px;
  }
}
.b-common__detail__case__client__interviewer .image {
  border-radius: 100%;
  overflow: hidden;
}
.b-common__detail__case__client__interviewer .textBox {
  flex: 1;
}
.b-common__detail__case__client__interviewer__name {
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  margin-bottom: 0.5rem;
}
.b-common__detail__case__client__interviewer__title {
  font-size: calc(1rem - 3px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.8;
  color: var(--Key1);
}
.b-common__detail__seminar {
  margin-top: 4rem;
}
.b-common__detail__seminar__target {
  margin-top: 4rem;
}
.b-common__detail__seminar__target__title {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  color: var(--White);
  background-color: var(--Key1);
  padding: 0.8rem 2rem;
}
.b-common__detail__seminar__target ul {
  background-color: var(--White);
  padding: 1rem 2rem;
  border-radius: 3px;
}
.b-common__detail__seminar__target li {
  font-size: var(--pow0);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.8;
  position: relative;
  padding-left: 2rem;
}
.b-common__detail__seminar__target li + li {
  margin-top: 1rem;
}
.b-common__detail__seminar__target li::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  display: block;
  position: absolute;
  left: 0;
  top: 0.3em;
  background: var(--Key1);
}
.b-common__detail__documents {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 3rem;
}
@media only screen and (max-width: 680px) {
  .b-common__detail__documents {
    display: block;
  }
}
.b-common__detail__documents .imageBox {
  flex: 1;
  position: relative;
}
.b-common__detail__documents .imageBox::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  top: 0;
  left: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__detail__documents .imageBox::after {
  content: "詳しくみる";
  color: var(--White);
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  position: absolute;
  width: 100%;
  text-align: center;
  top: 50%;
  transform-origin: center center;
  transform: translate(0%, -50%);
  opacity: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 680px) {
  .b-common__detail__documents .imageBox {
    margin-bottom: 1rem;
  }
}
.b-common__detail__documents .textBox {
  flex: 1.5;
}
.b-common__detail__documents__title {
  margin-bottom: 0.5rem;
  font-size: var(--pow2);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
@media only screen and (max-width: 680px) {
  .b-common__detail__documents__title {
    font-size: var(--pow1);
    font-weight: var(--fwb);
    font-family: var(--ff);
    letter-spacing: var(--ls);
    line-height: var(--lh);
  }
}
.b-common__detail__documents__lead {
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  margin-bottom: 1rem;
}
.b-common__detail__documents__dl {
  margin-bottom: 1rem;
}
.b-common__detail__documents__dl dl {
  border-top: 1px dotted var(--Border);
  padding: 0.5rem 0;
}
.b-common__detail__documents__dl dt {
  font-size: var(--pow0);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0.5rem;
}
.b-common__detail__documents__dl dt svg {
  width: 1.2em;
  height: 1.2em;
  fill: var(--Key1);
}
.b-common__detail__documents__dl dd {
  color: var(--SubText);
}
.b-common__detail__tag {
  display: block;
  font-size: 0;
  padding-top: 0.5rem;
}
.b-common__detail__tag a {
  display: inline-block;
  margin-top: 0.5em;
  margin-right: 0.5em;
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: inline-block;
  background-color: var(--Base2);
  padding: 0.3em 0.9em;
  border-radius: 30px;
  vertical-align: top;
}
@media only screen and (min-width: 1000px) {
  .b-common__detail__tag a:hover {
    background-color: var(--Key1);
    color: var(--White);
  }
}
.b-common__detail .p-share {
  text-align: center;
  margin-top: 3rem;
}
.b-common__detail .p-pager__arr {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid var(--Light);
}
@media only screen and (max-width: 680px) {
  .b-common__detail .p-pager__arr {
    margin-top: 2rem;
    padding-top: 2rem;
  }
}
.b-common__layout > * {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.b-common__layout > *:first-child {
  margin-top: 0;
}
.b-common__layout > *:last-child {
  margin-bottom: 0;
}
.b-common__layout .p-share {
  text-align: center;
  margin-top: 3rem;
}
.b-common__layout .p-pager__arr {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid var(--Light);
}
@media only screen and (max-width: 680px) {
  .b-common__layout .p-pager__arr {
    margin-top: 2rem;
    padding-top: 2rem;
  }
}
.b-common__layout__title {
  font-size: var(--pow3);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  margin-top: 6rem;
  margin-bottom: 2rem;
  background-color: var(--Base2);
  padding: 0.5rem 1rem;
  border-radius: 4px;
}
.b-common__layout__title + * {
  margin-top: 0;
}
.b-common__layout__subtitle {
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.04em;
  line-height: 1.8;
  margin-top: 5rem;
  margin-bottom: 2rem;
  position: relative;
  padding-left: 2rem;
}
.b-common__layout__subtitle::before {
  content: "";
  display: block;
  width: 1rem;
  height: 4px;
  position: absolute;
  left: 0;
  top: 50%;
  transform-origin: center center;
  transform: translate3d(0%, -50%, 0) rotate(0deg) scale(1, 1);
  background-color: var(--Key1);
}
.b-common__layout__subtitle + * {
  margin-top: 0;
}
.b-common__layout__minititle {
  margin-top: 4rem;
  margin-bottom: 2rem;
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__layout__minititle + * {
  margin-top: 0;
}
.b-common__layout__lead {
  font-size: var(--pow0);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.b-common__layout__text {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.b-common__layout__text small {
  font-size: 0.8em;
  color: var(--SubText);
}
.b-common__layout__text a {
  color: var(--Key1);
  font-weight: var(--fwb);
  line-height: 2.4;
}
.b-common__layout__sign {
  margin-top: 2rem;
  text-align: right;
  font-size: var(--pow2);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__layout__sign small {
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  display: block;
  color: var(--SubText);
}
.b-common__layout__date {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-end;
  width: 100%;
  flex-direction: column;
  gap: 1rem;
  text-align: right;
  margin-top: 3rem;
}
.b-common__layout__date small {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--SubText);
}
.b-common__layout__image {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.b-common__layout__image span {
  display: block;
  text-align: right;
  font-size: calc(1rem - 3px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--SubText);
  margin-top: 0.5rem;
}
.b-common__layout__link {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.b-common__layout__bnr {
  display: block;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 4px;
  background-color: #fff;
  box-shadow: 0 0 6px 6px rgba(100, 100, 100, 0.1);
  opacity: 1;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-common__layout__bnr:hover {
    opacity: 0.6;
  }
  .b-common__layout__bnr:hover .title svg {
    transform-origin: center center;
    transform: translateX(10px);
  }
}
.b-common__layout__bnr .wrap {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 0rem;
  background: -webkit-linear-gradient(var(--Key2), var(--Key1));
}
@media only screen and (max-width: 680px) {
  .b-common__layout__bnr .wrap {
    display: block;
  }
}
.b-common__layout__bnr .image {
  align-self: stretch;
}
.b-common__layout__bnr .image .js-lazy_bgi {
  display: block;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.b-common__layout__bnr .image .js-lazy_bgi::before {
  content: "";
  width: 100%;
  display: block;
  padding-top: 100%;
}
.b-common__layout__bnr .docimage {
  background-color: var(--Base2);
}
.b-common__layout__bnr .docimage > span {
  position: relative;
}
.b-common__layout__bnr .docimage > span .documents {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 10%;
  left: 10%;
}
.b-common__layout__bnr .docimage > span .documents img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  filter: drop-shadow(1px 1px 6px rgba(0, 0, 0, 0.1));
}
.b-common__layout__bnr .textBox {
  align-self: center;
  padding: 2rem 3rem;
}
.b-common__layout__bnr .title {
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.12em;
  line-height: 1;
  display: block;
  margin-bottom: 1rem;
  color: var(--White);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 1rem;
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__bnr .title {
    font-size: 17px;
    letter-spacing: var(--ls);
  }
}
@media only screen and (max-width: 680px) {
  .b-common__layout__bnr .title {
    font-size: 15px;
    letter-spacing: 0.02em;
  }
}
.b-common__layout__bnr .title svg {
  height: 1.3em;
  width: 1.3em;
  transform: translateX(0px);
  fill: var(--White);
  transition: transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__layout__bnr .text {
  color: var(--White);
  font-size: calc(1rem - 2px);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.06em;
  line-height: var(--lh);
  margin-top: 0.5em;
  display: block;
  position: relative;
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__bnr .text {
    font-size: 12px;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 680px) {
  .b-common__layout__bnr .text {
    font-size: 12px;
  }
}
.b-common__layout__cap li {
  position: relative;
  padding-left: 1rem;
  color: var(--SubText);
}
.b-common__layout__cap li + li {
  margin-top: 3px;
}
.b-common__layout__cap li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.b-common__layout__cap li a {
  color: var(--Key1);
}
.b-common__layout__ul {
  background-color: var(--White);
  padding: 2rem;
  border-radius: 4px;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__ul {
    padding: 1rem;
  }
}
.b-common__layout__ul li {
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  position: relative;
  padding-left: 2rem;
}
.b-common__layout__ul li + li {
  margin-top: 2rem;
}
.b-common__layout__ul li::before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-color: var(--Key1);
  display: block;
  position: absolute;
  left: 0;
  top: 0.4rem;
  border-radius: 100%;
}
.b-common__layout__ol {
  list-style-type: none;
  counter-reset: ol;
  background-color: var(--White);
  padding: 2rem;
  border-radius: 4px;
}
.b-common__layout__ol li {
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  position: relative;
  padding-left: 2rem;
}
.b-common__layout__ol li + li {
  margin-top: 2rem;
}
.b-common__layout__ol li::before {
  counter-increment: ol;
  content: counter(ol) ".";
  font-weight: bold;
  font-size: 1.4em;
  position: absolute;
  top: -0.2em;
  left: 0;
  color: var(--Key1);
}
.b-common__layout__vision {
  border: 1px solid var(--Border);
  background-color: var(--Base2);
  padding: 2rem;
  border-radius: 4px;
}
.b-common__layout__vision__li + li {
  margin-top: 2rem;
}
.b-common__layout__vision__li h3 {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__layout__dl {
  border-top: 1px solid var(--Border);
}
.b-common__layout__dl dl {
  display: table;
  width: 100%;
  background-color: var(--White);
  border-bottom: 1px solid var(--Border);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__dl dl {
    display: block;
  }
}
.b-common__layout__dl dl > * {
  display: table-cell;
  vertical-align: top;
  padding: 1rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__dl dl > * {
    display: block;
  }
}
.b-common__layout__dl dl > * a {
  color: var(--Key1);
  font-weight: bold;
}
.b-common__layout__dl dl dt {
  width: 14rem;
  background-color: var(--Base2);
  font-weight: var(--fwb);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__dl dl dt {
    width: 100%;
    padding: 0.5rem 1rem;
  }
}
.b-common__layout__dl dl dd {
  background-color: var(--White);
}
.b-common__layout__dl dl dd small {
  display: block;
  font-size: 0.8em;
  color: var(--SubText);
  margin-top: 0.5em;
}
.b-common__layout__table th,
.b-common__layout__table td {
  padding: 0.8rem;
  border-bottom: 1px solid #eee;
}
.b-common__layout__table th {
  font-size: var(--pow0);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__layout__table td {
  background-color: var(--Base1);
}
.b-common__layout__table thead {
  background-color: #eee;
}
.b-common__layout__linktable {
  border-top: 1px solid var(--Border);
}
.b-common__layout__linktable + .p-pager__num {
  margin-top: 2rem;
}
.b-common__layout__linktable__li {
  border-bottom: 1px solid var(--Border);
}
.b-common__layout__linktable__link {
  display: block;
  padding: 2rem 0;
  background-color: var(--Base);
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-common__layout__linktable__link:hover {
    background-color: var(--Base2);
  }
  .b-common__layout__linktable__link:hover dt,
  .b-common__layout__linktable__link:hover dd {
    color: var(--Key1);
  }
  .b-common__layout__linktable__link:hover dt svg,
  .b-common__layout__linktable__link:hover dd svg {
    fill: var(--Key1);
  }
}
@media only screen and (max-width: 680px) {
  .b-common__layout__linktable__link {
    padding: 1rem 0;
  }
}
.b-common__layout__linktable__link dl {
  display: table;
  width: 100%;
}
.b-common__layout__linktable__link dl > * {
  display: table-cell;
  vertical-align: middle;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__linktable__link dl > * {
    vertical-align: top;
  }
}
.b-common__layout__linktable__link dt {
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  width: 12rem;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__linktable__link dt {
    width: 9rem;
    font-size: calc(1rem - 2px);
  }
}
.b-common__layout__linktable__link dd {
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0 0.5rem;
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__layout__linktable__link dd svg {
  width: 1.3em;
  height: 1.3em;
  transition: fill 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__layout__linktable__link dd small {
  font-size: 0.8em;
  color: var(--SubText);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__linktable__link dd small {
    width: 100%;
  }
}
.b-common__layout__imagetext {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 2rem;
  padding: 2rem;
  background-color: #fff;
  border-radius: 0.5rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__imagetext {
    display: block;
  }
}
.b-common__layout__imagetext .imageBox {
  flex: 1;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__imagetext .imageBox {
    width: 100%;
  }
}
.b-common__layout__imagetext .image span {
  background-size: contain;
}
.b-common__layout__imagetext .textBox {
  flex: 1;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__imagetext .textBox {
    width: 100%;
  }
}
.b-common__layout__imagetext .title {
  margin-bottom: 0.5rem;
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__layout__imagetext .text {
  margin-bottom: 0.5rem;
}
.b-common__layout__gallery ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.b-common__layout__youtube {
  position: relative;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}
.b-common__layout__youtube::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}
.b-common__layout__youtube iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.b-common__layout__list li {
  margin-bottom: 3rem;
}
.b-common__layout__list .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 4rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__list .wrap {
    display: block;
  }
}
.b-common__layout__list .imageBox {
  display: block;
  width: 40%;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__list .imageBox {
    width: 100%;
    margin-bottom: 1rem;
  }
}
.b-common__layout__list .textBox {
  flex: 1;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__list .textBox {
    width: 100%;
  }
}
.b-common__layout__list .textBox .title {
  margin-bottom: 1rem;
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: block;
  text-transform: uppercase;
}
.b-common__layout__list .textBox .lead {
  margin-bottom: 1rem;
  display: none;
}
.b-common__layout__list .textBox .linklist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  gap: 0.5rem;
  margin-top: 1rem;
}
.b-common__layout__list2 {
  padding: 2rem 2rem;
  background-color: var(--White);
  border-radius: 0.5rem;
}
.b-common__layout__list2__title {
  text-align: center;
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--Key1);
  margin-bottom: 2rem;
}
.b-common__layout__list2 ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__list2 ul {
    display: block;
  }
}
@media only screen and (max-width: 680px) {
  .b-common__layout__list2 li + li {
    margin-top: 1.5rem;
  }
}
.b-common__layout__list2 .imageBox {
  margin-bottom: 2rem;
  display: block;
  border-radius: 100%;
  overflow: hidden;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__list2 .textBox {
    flex: 1;
  }
}
.b-common__layout__list2 .textBox .title {
  text-align: center;
  margin-bottom: 0.5rem;
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: block;
  text-transform: uppercase;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__list2 .textBox .title {
    margin-bottom: 0.5rem;
  }
}
.b-common__layout__list2 .textBox .linklist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  gap: 0.5rem;
  margin-top: 1rem;
}
.b-common__layout__list3 ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 4rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__list3 ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.b-common__layout__list3 .imageBox {
  margin-bottom: 1.5rem;
  display: block;
  overflow: hidden;
}
.b-common__layout__list3 .textBox .title {
  text-align: center;
  margin-bottom: 0.5rem;
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: block;
  text-transform: uppercase;
}
.b-common__layout__list3 .textBox .linklist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  gap: 0.5rem;
  margin-top: 1rem;
}
.b-common__layout__problems {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__problems {
    grid-template-columns: repeat(1, 1fr);
  }
}
.b-common__layout__problems__box {
  border-radius: 4px;
  overflow: hidden;
}
.b-common__layout__problems__title {
  background-color: var(--Key1);
  color: var(--White);
  text-align: center;
  font-size: var(--pow0);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  padding: 0.5rem;
}
.b-common__layout__problems__ul {
  background-color: var(--White);
  padding: 1rem;
}
.b-common__layout__problems__li {
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  position: relative;
  padding-left: 2rem;
}
.b-common__layout__problems__li + li {
  margin-top: 1rem;
}
.b-common__layout__problems__li::before {
  content: "";
  width: 1rem;
  height: 1rem;
  background-color: var(--Base3);
  display: block;
  position: absolute;
  left: 0;
  top: 0.4rem;
  border-radius: 100%;
}
.b-common__layout__accordion {
  border-bottom: 1px solid var(--Light);
}
.b-common__layout__accordion dl {
  border-top: 1px solid var(--Light);
  position: relative;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-common__layout__accordion dl:hover {
    background-color: var(--White);
  }
}
.b-common__layout__accordion dt {
  padding: 2rem 1rem;
  padding-right: 3rem;
  position: relative;
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  cursor: pointer;
}
.b-common__layout__accordion dt .accordion__icon {
  position: absolute;
  width: 2rem;
  height: 2rem;
  right: 1rem;
  top: 50%;
  background-color: var(--White);
  border-radius: 100%;
  border: 1px solid var(--Light);
  transform: translate(0%, -50%);
}
.b-common__layout__accordion dt .accordion__icon::before, .b-common__layout__accordion dt .accordion__icon::after {
  content: "";
  width: 1rem;
  height: 2px;
  background-color: var(--Light);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: transform 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__layout__accordion dt .accordion__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.b-common__layout__accordion dt.is-active .accordion__icon::before {
  transform: translate(-50%, -50%) rotate(135deg);
}
.b-common__layout__accordion dt.is-active .accordion__icon::after {
  transform: translate(-50%, -50%) rotate(225deg);
}
.b-common__layout__accordion dd {
  background-color: var(--Base);
  padding: 0 1rem;
  padding-bottom: 2rem;
  display: none;
}
.b-common__layout__profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  background-color: var(--Base2);
  padding: 2rem;
  border-radius: 1rem;
  gap: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__profile {
    display: block;
  }
}
.b-common__layout__profile .image {
  width: 200px;
  border-radius: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__profile .image {
    width: 80px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
  }
}
.b-common__layout__profile .textBox {
  flex: 1;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__profile .textBox {
    width: 100%;
  }
}
.b-common__layout__profile .name {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__profile .name {
    text-align: center;
  }
}
.b-common__layout__profile .title {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--Key1);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__profile .title {
    text-align: center;
  }
}
.b-common__layout__interview__li + li {
  margin-top: 2rem;
}
.b-common__layout__interview__li.r .imageBox {
  order: 2;
}
.b-common__layout__interview__li.r .textBox {
  order: 1;
}
.b-common__layout__interview__li.r .textBox::before {
  left: auto;
  right: 0;
  transform: translate(50%, 0%) rotate(45deg) scale(1, 1);
}
.b-common__layout__interview__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  gap: 2rem;
}
.b-common__layout__interview .imageBox {
  text-align: center;
  width: 100px;
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__interview .imageBox {
    width: 60px;
  }
}
.b-common__layout__interview .image {
  border-radius: 100%;
  overflow: hidden;
  margin-bottom: 0.5rem;
}
.b-common__layout__interview .textBox {
  flex: 1;
  background-color: var(--White);
  padding: 1rem;
  border-radius: 0.5rem;
  position: relative;
}
.b-common__layout__interview .textBox::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  display: block;
  position: absolute;
  left: 0;
  top: 1.5rem;
  transform-origin: center center;
  transform: translate(-50%, 0%) rotate(45deg) scale(1, 1);
  background-color: var(--White);
}
.b-common__layout__timetable {
  border-top: 1px solid var(--Border);
}
.b-common__layout__timetable dl {
  display: table;
  width: 100%;
  padding: 2rem 0;
  border-bottom: 1px solid var(--Border);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__timetable dl {
    display: block;
  }
}
.b-common__layout__timetable dl > * {
  display: table-cell;
  vertical-align: top;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__timetable dl > * {
    display: block;
  }
}
.b-common__layout__timetable dt {
  width: 12rem;
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 2;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__timetable dt {
    width: 100%;
    margin-bottom: 1rem;
  }
}
.b-common__layout__timetable .title {
  margin-bottom: 1rem;
}
.b-common__layout__timetable .title .main {
  font-size: var(--pow2);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-common__layout__timetable .title .sub {
  font-size: var(--pow0);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--Key1);
  display: block;
}
.b-common__layout__timetable .text {
  margin-bottom: 1rem;
}
.b-common__layout__timetable .teacher {
  color: var(--SubText);
  text-align: right;
}
.b-common__layout__product {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.b-common__layout__product ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__product ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}
.b-common__layout__product .imageBox {
  margin-bottom: 1rem;
  display: block;
  overflow: hidden;
}
.b-common__layout__product .textBox .title {
  text-align: center;
  font-size: var(--pow0);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: block;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.b-common__layout__product .textBox .text {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: block;
  color: var(--SubText);
  text-align: center;
}
.b-common__layout__product .textBox .linklist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  gap: 0.5rem;
  margin-top: 1rem;
}
.b-common__layout__product .button {
  margin-top: 2rem;
}
.b-common__layout__relate ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__relate ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.b-common__layout__relate a {
  display: block;
  position: relative;
}
@media only screen and (min-width: 1000px) {
  .b-common__layout__relate a:hover .title {
    color: var(--Key1);
    fill: var(--Key1);
  }
  .b-common__layout__relate a:hover .text {
    color: var(--Key1);
  }
}
@media only screen and (max-width: 680px) {
  .b-common__layout__relate a {
    padding-left: 9rem;
  }
}
.b-common__layout__relate a .svg {
  width: 40%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: relative;
  border-radius: 100%;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__relate a .svg {
    width: 7rem;
    height: 7rem;
    position: absolute;
    left: 0;
    top: 0;
  }
}
.b-common__layout__relate a .svg svg {
  width: 100%;
  height: 100%;
  fill: var(--Key1);
}
.b-common__layout__relate a .title {
  font-size: calc(1rem + 1px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  z-index: 1;
  display: block;
  text-align: center;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__relate a .title {
    margin-top: 0;
    text-align: left;
    color: var(--Key1);
    fill: var(--Key1);
  }
}
.b-common__layout__relate a .title > span {
  display: inline-block;
  position: relative;
  padding-right: 0;
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__relate a .title > span {
    padding-right: 1.5em;
  }
}
.b-common__layout__relate a .title svg {
  width: 1.2em;
  height: 1.2em;
  display: none;
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__relate a .title svg {
    display: inline-block;
  }
}
.b-common__layout__relate a .text {
  position: relative;
  z-index: 1;
  display: block;
  word-break: break-all;
  margin-bottom: 10px;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__relate a .text {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__relate a .button {
    display: none;
  }
}
.b-common__layout__relate2 ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__relate2 ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.b-common__layout__relate2 a {
  display: block;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media only screen and (min-width: 1000px) {
  .b-common__layout__relate2 a:hover .title {
    color: var(--Key1);
    fill: var(--Key1);
  }
  .b-common__layout__relate2 a:hover .text {
    color: var(--Key1);
  }
}
.b-common__layout__relate2 .textBox {
  background-color: var(--White);
  padding: 1rem;
}
.b-common__layout__relate2 .title {
  font-size: calc(1rem + 1px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  margin-bottom: 0.5rem;
  z-index: 1;
  display: block;
  transition: color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__relate2 .title {
    margin-top: 0;
    text-align: left;
    color: var(--Key1);
    fill: var(--Key1);
  }
}
.b-common__layout__message {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0rem;
  position: relative;
  margin-bottom: -6rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__message {
    width: calc(100% + 10vw);
    margin-left: -5vw;
    margin-bottom: 0;
  }
}
.b-common__layout__message::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 80%;
  bottom: 10%;
  left: 0;
  background-color: var(--Base2);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__message::before {
    bottom: -2rem;
    height: 90%;
  }
}
.b-common__layout__message .image {
  position: relative;
  z-index: 10;
}
.b-common__layout__message .image span {
  transform: scale(1.2, 1.2) translateY(-3rem);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__message .image span {
    transform: scale(1.5) translate(-1rem, 0rem);
  }
}
.b-common__layout__message .textBox {
  align-self: center;
  position: relative;
  z-index: 10;
  padding-left: 4rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__message .textBox {
    padding-left: 7vw;
  }
}
.b-common__layout__message .title {
  font-size: var(--pow5);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
  color: var(--Key1);
  margin-bottom: 1.5rem;
  white-space: nowrap;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__message .title {
    font-size: var(--pow3);
  }
}
.b-common__layout__message .name {
  font-size: var(--pow3);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__message .name {
    font-size: var(--pow1);
    margin-bottom: 0.5rem;
  }
}
.b-common__layout__message .text {
  font-size: calc(1rem - 2px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--SubText);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__message .text {
    font-size: 10px;
  }
}
.b-common__layout__orgchart p {
  border: 1px solid var(--Key1);
  padding: 1rem;
  width: 10rem;
  position: relative;
  text-align: center;
  white-space: nowrap;
  background-color: var(--White);
}
.b-common__layout__orgchart li {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  white-space: nowrap;
  gap: 4rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__orgchart li {
    display: block;
  }
}
.b-common__layout__orgchart li + li {
  margin-top: 1rem;
}
.b-common__layout__orgchart li ul {
  flex: 1;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__orgchart li ul {
    padding-left: 3rem;
    margin-top: 1rem;
  }
}
.b-common__layout__orgchart__subul {
  position: relative;
}
.b-common__layout__orgchart__subul::before {
  content: "";
  display: block;
  height: 1px;
  width: 2rem;
  background-color: var(--Key1);
  position: absolute;
  left: -4rem;
  top: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__orgchart__subul::before {
    display: none;
  }
}
.b-common__layout__orgchart__subul::after {
  content: "";
  display: block;
  height: calc(100% - 4rem);
  width: 1px;
  background-color: var(--Key1);
  position: absolute;
  left: -2rem;
  top: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__orgchart__subul::after {
    left: 1rem;
    top: -1rem;
    height: calc(100% - 1rem);
  }
}
.b-common__layout__orgchart__subli p {
  width: 15rem;
}
.b-common__layout__orgchart__subli p::before {
  content: "";
  display: block;
  height: 1px;
  width: 2rem;
  background-color: var(--Key1);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-100%, 0%) rotate(0deg) scale(1, 1);
}
.b-common__layout__sitemap__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__sitemap__wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}
.b-common__layout__sitemap__head {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  padding: 1rem 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  background-color: var(--Key1);
  color: var(--White);
  margin-bottom: 1rem;
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__sitemap__head {
    font-size: calc(1rem - 1px);
  }
}
@media only screen and (max-width: 680px) {
  .b-common__layout__sitemap__head {
    padding: 1rem 5vw;
  }
}
.b-common__layout__sitemap__head span {
  display: block;
  position: relative;
}
.b-common__layout__sitemap__head svg {
  display: none;
}
.b-common__layout__sitemap__title {
  margin-bottom: 1rem;
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 4px;
  color: var(--Key1);
}
.b-common__layout__sitemap__title > span {
  font-size: 1rem;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1;
  display: inline-block;
  position: relative;
}
.b-common__layout__sitemap__title svg {
  width: 1.7em;
  height: 1.7em;
  fill: var(--Key1);
}
.b-common__layout__sitemap__ul {
  border-top: 1px dotted var(--Border);
}
.b-common__layout__sitemap__li {
  border-bottom: 1px dotted var(--Border);
}
.b-common__layout__sitemap__li a {
  font-size: calc(1rem - 1px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 1rem 1rem;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  color: var(--Text);
  white-space: nowrap;
  gap: 0.3rem;
}
@media only screen and (min-width: 1000px) {
  .b-common__layout__sitemap__li a:hover {
    color: var(--Key1);
    background-color: var(--Base1);
  }
  .b-common__layout__sitemap__li a:hover svg {
    fill: var(--Key1);
  }
}
@media only screen and (max-width: 1000px) {
  .b-common__layout__sitemap__li a {
    font-size: calc(1rem - 2px);
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 680px) {
  .b-common__layout__sitemap__li a {
    font-size: calc(1rem - 1px);
    padding: 0.8em 0;
  }
}
.b-common__layout__sitemap__li a svg {
  fill: var(--Text);
  width: 1.2em;
  height: 1.2em;
  transition: fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-common__layout__sns {
  margin-bottom: 3rem;
}
.b-common__layout__sns__ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__sns__ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.b-common__layout__sns__link {
  display: block;
  border-radius: 0.5rem;
  overflow: hidden;
  border: 1px solid var(--Border);
  display: block;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  background-color: var(--White);
}
@media only screen and (min-width: 1000px) {
  .b-common__layout__sns__link:hover {
    opacity: 0.6;
  }
}
@media only screen and (max-width: 680px) {
  .b-common__layout__sns__link {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    flex-wrap: nowrap;
  }
}
.b-common__layout__sns__logo {
  padding: 2rem 2rem;
}
.b-common__layout__sns__logo svg {
  fill: var(--White);
  width: 4rem;
  height: 4rem;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__sns__logo svg {
    width: 3rem;
    height: 3rem;
  }
}
.b-common__layout__sns .textBox {
  padding: 0.5rem;
  border-top: 1px solid var(--Border);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__sns .textBox {
    border-top: 0px solid var(--Border);
    flex: 1;
    padding: 0 1rem;
  }
}
.b-common__layout__sns__title {
  font-size: var(--pow0);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  text-align: center;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__sns__title {
    text-align: left;
  }
}
.b-common__layout__sns__title svg {
  width: 1.2em;
  height: 1.2em;
  width: 3em;
  height: 3em;
}
.b-common__layout__sns__dev {
  font-size: 12px;
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--SubText);
  text-align: center;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__sns__dev {
    text-align: left;
  }
}
.b-common__layout__search {
  border-top: 1px dotted var(--Border);
}
.b-common__layout__search + .p-pager__num {
  margin-top: 3rem;
}
.b-common__layout__search__li {
  border-bottom: 1px dotted var(--Border);
  background-color: #fff;
  padding: 1rem;
}
.b-common__layout__search__li a {
  display: block;
}
.b-common__layout__search__li dt {
  width: 10rem;
}
.b-common__layout__search__li dd {
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--Key1);
}
.b-common__layout__search__li dd span {
  text-decoration: underline;
}
.b-common__layout__search__li dd small {
  font-size: 0.8em;
  color: var(--SubText);
  display: block;
}
.b-common__layout__cloudterm {
  border-top: 1px solid var(--Border);
}
.b-common__layout__cloudterm dl {
  border-bottom: 1px solid var(--Border);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  padding: 1rem 0;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__cloudterm dl {
    display: block;
    padding: 0;
  }
}
.b-common__layout__cloudterm dt {
  width: 10rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__cloudterm dt {
    width: 100%;
    background-color: var(--Base2);
    padding: 1rem 1rem;
  }
}
.b-common__layout__cloudterm dd {
  flex: 1;
  padding-top: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__cloudterm dd {
    padding: 1.5rem 1rem;
  }
}
.b-common__layout__cloudterm dd small {
  font-size: 0.8em;
  color: var(--SubText);
  display: block;
}
.b-common__layout__cloudterm dd li + li {
  margin-top: 1rem;
}
.b-common__layout__cloudterm__box {
  padding-bottom: 3rem;
}
.b-common__layout__cloudterm__box + div {
  padding-top: 3rem;
  border-top: 1px dotted var(--Border);
}
.b-common__layout__cloudterm__title {
  font-size: var(--pow1);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  margin-bottom: 1rem;
}
.b-common__layout__cloudterm__text {
  margin-bottom: 1rem;
}
.b-common__layout__cloudterm__li + li {
  margin-top: 0.5rem;
}
.b-common__layout__cloudterm__link {
  display: block;
  font-size: var(--pow0);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  gap: 0 0.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.b-common__layout__cloudterm__link svg {
  width: 1.3em;
  height: 1.3em;
  transition: fill 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  fill: var(--Key1);
}
.b-common__layout__cloudterm__link small {
  font-size: 0.8em;
  color: var(--SubText);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__cloudterm__link small {
    width: 100%;
  }
}
.b-common__layout__cloudterm2 {
  margin-top: 4rem;
  margin-bottom: 4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 2rem;
}
@media only screen and (max-width: 680px) {
  .b-common__layout__cloudterm2 {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}
.b-common__layout__cloudterm2 a {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 1rem;
  border-bottom: 1px dotted var(--Border);
  padding: 0.5rem;
  transition: background-color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (min-width: 1000px) {
  .b-common__layout__cloudterm2 a:hover {
    background-color: var(--Base2);
  }
}
.b-common__layout__cloudterm2 a:nth-child(1), .b-common__layout__cloudterm2 a:nth-child(2) {
  border-top: 1px dotted var(--Border);
}
@media only screen and (max-width: 680px) {
  .b-common__layout__cloudterm2 a:nth-child(2) {
    border-top: 0px dotted var(--Border);
  }
}
.b-common__layout__cloudterm2 .imageBox {
  display: block;
  overflow: hidden;
  width: 120px;
}
.b-common__layout__cloudterm2__title {
  flex: 1;
  font-size: var(--pow0);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.5;
  display: block;
  text-transform: uppercase;
  color: var(--Key1);
}
.b-common__relate__title {
  text-align: center;
  margin-bottom: 2rem;
}
.b-common__relate__linklist__ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media only screen and (max-width: 680px) {
  .b-common__relate__linklist__ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
.b-common__relate__linklist__li a {
  display: block;
  padding: 0.5rem;
  background-color: var(--White);
}
.b-common__relate__linklist__li .textBox {
  text-align: center;
  padding: 1rem;
}
.b-common__relate__linklist__title .main {
  font-size: calc(1rem - 1px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: block;
  color: var(--Key1);
  margin-bottom: 0.5rem;
}
.b-common__relate__linklist__title .sub {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: block;
}
.b-common__relate2__title {
  text-align: center;
  margin-bottom: 2rem;
}
.b-common__relate2__linklist__ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.b-common__relate2__linklist__li a {
  display: block;
  border: 1px solid var(--Border);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 2rem;
  padding: 0.5rem;
}
.b-common__relate2__linklist__li .textBox {
  flex: 1;
}
.b-common__relate2__linklist__image {
  width: 30%;
}
.b-common__relate2__linklist__title .main {
  font-size: calc(1rem - 1px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: block;
  color: var(--Key1);
  margin-bottom: 0.5rem;
}
.b-common__relate2__linklist__title .sub {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: block;
}

.b-documents__detail__title {
  margin-bottom: 2rem;
  font-size: var(--pow3);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-documents__detail__subtitle {
  margin-bottom: 2rem;
  font-size: var(--pow3);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-documents__detail__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 3rem;
}
@media only screen and (max-width: 680px) {
  .b-documents__detail__head {
    display: block;
  }
}
.b-documents__detail__head .imageBox {
  flex: 1;
  position: relative;
}
.b-documents__detail__head .imageBox::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  top: 0;
  left: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-documents__detail__head .imageBox::after {
  content: "詳しくみる";
  color: var(--White);
  font-size: calc(1rem - 2px);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  position: absolute;
  width: 100%;
  text-align: center;
  top: 50%;
  transform-origin: center center;
  transform: translate(0%, -50%);
  opacity: 0;
  transition: opacity 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 680px) {
  .b-documents__detail__head .imageBox {
    margin-bottom: 1rem;
  }
}
.b-documents__detail__head .textBox {
  flex: 1.5;
}
.b-documents__detail__head__title {
  margin-bottom: 0.5rem;
  font-size: var(--pow1);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
@media only screen and (max-width: 680px) {
  .b-documents__detail__head__title {
    font-size: var(--pow0);
    font-weight: var(--fwb);
    font-family: var(--ff);
    letter-spacing: var(--ls);
    line-height: var(--lh);
  }
}
.b-documents__detail__head__lead {
  transition: color 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, visibility 400ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
  margin-bottom: 1rem;
}
.b-documents__detail__head__dl {
  margin-bottom: 1rem;
}
.b-documents__detail__head__dl dl {
  border-top: 1px dotted var(--Border);
  padding: 0.5rem 0;
}
.b-documents__detail__head__dl dt {
  font-size: var(--pow0);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 0.5rem;
}
.b-documents__detail__head__dl dt svg {
  width: 1.2em;
  height: 1.2em;
  fill: var(--Key1);
}
.b-documents__detail__head__dl dd {
  color: var(--SubText);
}
.b-contact__index.bg {
  background-color: var(--Base2);
}
.b-contact__index__wrap {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 680px) {
  .b-contact__index__wrap {
    width: 100%;
  }
}
.b-contact__index__title {
  text-align: center;
}
.b-contact__index__title::before {
  left: 50%;
  transform-origin: center center;
  transform: translate(-50%, 0%) rotate(0deg) scale(1, 1);
}
.b-contact__index__lead {
  margin-bottom: 2rem;
  display: block;
  text-align: center;
}
.b-contact__index__lead span {
  display: inline-block;
  text-align: left;
}
.b-contact__index__lead a {
  color: var(--Key1);
}
.b-contact__index__list {
  padding-top: 3rem;
}
.b-contact__index__list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  width: calc(100% - 1px + 2rem);
  margin-left: -1rem;
  text-align: left;
}
.b-contact__index__list ul > * {
  width: 33.3333333333%;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media only screen and (max-width: 1000px) {
  .b-contact__index__list ul {
    width: calc(100% - 1px + 2rem);
    margin-left: -1rem;
  }
  .b-contact__index__list ul > * {
    width: 50%;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media only screen and (max-width: 680px) {
  .b-contact__index__list ul {
    width: calc(100% - 1px + 0);
    margin-left: 0;
    width: 100%;
    margin-left: 0;
  }
  .b-contact__index__list ul > * {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.b-contact__index__list ul li {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-contact__index__list ul li {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.b-contact__index__list ul li a {
  padding: 1.5rem 1.5rem 1.5rem 2rem;
  background-color: var(--Base2);
  border: 1px solid var(--Light);
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  display: block;
  position: relative;
  transition: background-color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, color 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms, fill 200ms cubic-bezier(0.25, 0.1, 0.25, 1) 0ms;
}
.b-contact__index__list ul li a:before {
  content: "";
  position: absolute;
  height: 100%;
  width: 0.5rem;
  top: 0;
  left: 0;
  background: var(--Grad);
}
@media only screen and (min-width: 1000px) {
  .b-contact__index__list ul li a:hover {
    background-color: var(--White);
    color: var(--Key1);
    fill: var(--Key1);
  }
}
.b-contact__index__list ul li a dl dt {
  font-size: calc(1rem + 1px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: 0.1em;
  line-height: 1.7;
  display: block;
  position: relative;
  color: inherit;
}
.b-contact__index__list ul li a dl dt:first-line {
  font-size: 1.2em;
}
.b-contact__index__list ul li a dl dd {
  font-size: var(--pow0);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1.7;
  margin-top: 0.5em;
  color: inherit;
}
.b-contact__index__list ul li a svg {
  width: 1.3em;
  height: 1.3em;
  display: inline;
  vertical-align: middle;
  fill: inherit;
}
.b-contact__index .b-common__detail__sectitle__wrap {
  text-align: center;
  display: block;
}
.b-contact__index .b-common__layout__linktable__link b {
  color: var(--Key1);
  font-size: 1.2em;
}
.b-contact__index .b-common__layout__linktable__link small {
  display: block;
  width: 100%;
}
.b-contact__wrap {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 680px) {
  .b-contact__wrap {
    width: 100%;
  }
}
.b-contact__title {
  text-align: center;
}
.b-contact__title::before {
  left: 50%;
  transform-origin: center center;
  transform: translate(-50%, 0%) rotate(0deg) scale(1, 1);
}
.b-contact__lead {
  margin-bottom: 2rem;
  display: block;
  text-align: center;
}
.b-contact__lead span {
  display: inline-block;
  text-align: left;
}
.b-contact__lead a {
  color: var(--Key1);
}
.b-contact__attention {
  padding: 2rem 3rem;
  border: 1px solid var(--Border);
  background-color: var(--Base2);
  margin-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-contact__attention {
    padding: 1rem;
  }
}
.b-contact__attention h3 {
  text-align: center;
  margin-bottom: 1rem;
  font-size: var(--pow1);
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--Key1);
}
@media only screen and (max-width: 680px) {
  .b-contact__attention h3 {
    margin-bottom: 0.5rem;
  }
}
.b-contact__dlwrap {
  margin-bottom: 2rem;
}
.b-contact__dlwrap.confirm dt.req::before {
  display: none;
}
.b-contact__dlwrap dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  padding: 1rem 0;
  gap: 1rem;
  border-bottom: 1px solid var(--Border);
}
@media only screen and (max-width: 680px) {
  .b-contact__dlwrap dl {
    display: block;
  }
}
.b-contact__dlwrap dt {
  line-height: 2.8;
  width: 15rem;
}
@media only screen and (max-width: 1000px) {
  .b-contact__dlwrap dt {
    width: 12rem;
  }
}
@media only screen and (max-width: 680px) {
  .b-contact__dlwrap dt {
    width: 100%;
  }
}
.b-contact__dlwrap dt.req {
  position: relative;
  padding-right: 2rem;
}
.b-contact__dlwrap dt.req::before {
  position: absolute;
  right: 0;
  top: 10px;
  content: "必須";
  background-color: var(--Key1);
  color: #fff;
  font-size: 12px;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  display: block;
  padding: 0 6px;
  border-radius: 3px;
}
.b-contact__dlwrap dd {
  flex: 1;
}
.b-contact__dlwrap dd > span {
  display: block;
  padding-top: 0.35rem;
}
.b-contact__dlwrap .p-cap {
  margin-top: 0.5rem;
}
.b-contact__dlwrap .error {
  font-size: 12px;
  font-weight: var(--fwb);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  color: var(--Attention);
  margin-top: 3px;
}
.b-contact__check {
  padding: 2rem 3rem;
  border: 1px solid var(--Border);
  background-color: var(--Base2);
  margin-bottom: 2rem;
  text-align: center;
}
@media only screen and (max-width: 680px) {
  .b-contact__check {
    padding: 1rem;
    text-align: left;
  }
}
.b-contact__buttonwrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 1rem;
}
@media only screen and (max-width: 680px) {
  .b-contact__buttonwrap {
    flex-direction: column-reverse;
  }
}
.b-contact__buttonwrap > * {
  flex: 1;
  max-width: 60%;
}
@media only screen and (max-width: 680px) {
  .b-contact__buttonwrap > * {
    width: 100%;
    max-width: 100%;
  }
}
.b-contact__thanks {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.b-contact__thanks__title {
  text-align: center;
  font-size: var(--pow3);
  font-weight: var(--fwn);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  margin-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-contact__thanks__title {
    font-size: var(--pow2);
  }
}
.b-contact__thanks__text {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 680px) {
  .b-contact__thanks__text br {
    display: none;
  }
}
.b-contact__thanks__buttonwrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}
.b-contact__thanks__buttonwrap > * {
  flex: 1;
  max-width: 60%;
}
.mw_wp_form_confirm .b-contact__dlwrap {
  padding-bottom: 4rem;
}

.b-company__index__linklist__ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media only screen and (max-width: 680px) {
  .b-company__index__linklist__ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
.b-company__index__linklist__li a {
  display: block;
  padding: 0.5rem;
  background-color: var(--White);
}
.b-company__index__linklist__li .textBox {
  text-align: center;
  padding: 1.5rem 1rem;
}
.b-company__index__linklist__title .main {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  display: block;
}
.b-company__index__linklist__title .sub {
  display: none;
  font-size: calc(1rem - 1px);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: 1;
  color: var(--Key1);
}
.b-company__partner {
  border-top: 1px solid var(--Border);
}
.b-company__partner dl {
  border-bottom: 1px solid var(--Border);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  padding: 1rem 0;
}
@media only screen and (max-width: 680px) {
  .b-company__partner dl {
    display: block;
    padding: 0;
  }
}
.b-company__partner dt {
  width: 10rem;
}
@media only screen and (max-width: 680px) {
  .b-company__partner dt {
    width: 100%;
    background-color: var(--Base2);
    padding: 1rem 1rem;
  }
}
.b-company__partner dd {
  flex: 1;
}
@media only screen and (max-width: 680px) {
  .b-company__partner dd {
    padding: 1.5rem 1rem;
  }
}
.b-company__partner dd small {
  font-size: 0.8em;
  color: var(--SubText);
  display: block;
}
.b-company__partner dd li + li {
  margin-top: 1rem;
}
.b-company__group h2 {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}
.b-company__group p strong {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
}
.b-company__group p a {
  color: var(--Key1);
  font-weight: var(--fwb);
  display: inline-block;
  display: block;
}
.b-company__group p + p {
  margin-top: 1rem;
}
@media only screen and (max-width: 680px) {
  .b-company__base {
    border-top: 1px solid var(--Border);
  }
}
.b-company__base__box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  border-top: 1px solid var(--Border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media only screen and (max-width: 680px) {
  .b-company__base__box {
    display: block;
    padding-top: 0rem;
    border-top: 0px solid var(--Border);
    border-bottom: 1px solid var(--Border);
  }
}
.b-company__base__title {
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  width: 10rem;
}
@media only screen and (max-width: 680px) {
  .b-company__base__title {
    background-color: var(--Base2);
    width: 100%;
    padding: 1rem;
    margin-bottom: 2rem;
  }
}
.b-company__base__ul {
  flex: 1;
}
.b-company__base li + li {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px dotted var(--Border);
}
@media only screen and (max-width: 680px) {
  .b-company__base li {
    padding: 0 1rem;
  }
}
.b-company__base .title {
  margin-bottom: 0.5rem;
  font-size: var(--pow1);
  font-weight: var(--fwh);
  font-family: var(--ff);
  letter-spacing: var(--ls);
  line-height: var(--lh);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 2rem;
}
.b-company__base .add {
  margin-bottom: 0.5rem;
}
.b-company__base .tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  gap: 0.5rem;
  margin-top: 1rem;
}
.b-company__base .tag span {
  display: block;
  background-color: var(--Base2);
  padding: 0 1rem;
  border-radius: 3rem;
}

.acf-test {
  padding: 3rem;
  background-color: #eee;
}
.acf-test__title {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.acf-test__text {
  color: blue;
}

html :where(.wp-block) {
  max-width: initial;
}
