@charset "utf-8";
/* color
----------------------------------------------- */
.text-blue-800 {
  color: #00203d;
}
.text-blue-700 {
  color: #003e70;
}
.text-blue-600 {
  color: #0c59a1;
}
.text-blue-500 {
  color: #0e6ec8;
}
.text-blue-400 {
  color: #2d8ae2;
}
.text-blue-300 {
  color: #5daaf3;
}
.text-blue-200 {
  color: #9ecefc;
}
.text-blue-100 {
  color: #e4f2ff;
}
.text-gray-900 {
  color: #22262a;
}
.text-gray-800 {
  color: #3a4045;
}
.text-gray-700 {
  color: #575f66;
}
.text-gray-600 {
  color: #737b82;
}
.text-gray-500 {
  color: #9299a0;
}
.text-gray-400 {
  color: #b0b8bf;
}
.text-gray-300 {
  color: #d0d6dc;
}
.text-gray-200 {
  color: #ebeef2;
}
.text-gray-180 {
  color: #edf0f4;
}
.text-gray-100 {
  color: #f5f7fa;
}
.text-gray-50 {
  color: #fafbfc;
}
.text-gray-40 {
  color: #fbfcfd;
}
.text-gray-30 {
  color: #fcfdfe;
}
.text-gray-20 {
  color: #fdfdfe;
}
.text-gray-10 {
  color: #fefefe;
}
.text-red-800 {
  color: #300;
}
.text-red-700 {
  color: #680000;
}
.text-red-600 {
  color: #a20000;
}
.text-red-500 {
  color: #cd2d2d;
}
.text-red-400 {
  color: #e77373;
}
.text-red-300 {
  color: #fab4b4;
}
.text-red-200 {
  color: #fadddd;
}
.text-red-100 {
  color: #faeded;
}
.text-yellow-800 {
  color: #331e00;
}
.text-yellow-700 {
  color: #734500;
}
.text-yellow-600 {
  color: #a36200;
}
.text-yellow-500 {
  color: #f2960d;
}
.text-yellow-400 {
  color: #ffc060;
}
.text-yellow-300 {
  color: #ffe0aa;
}
.text-yellow-200 {
  color: #fff2da;
}
.text-yellow-100 {
  color: #faf5ed;
}
.text-green-800 {
  color: #00291b;
}
.text-green-700 {
  color: #005f37;
}
.text-green-600 {
  color: #009060;
}
.text-green-500 {
  color: #0db67e;
}
.text-green-400 {
  color: #52d3a8;
}
.text-green-300 {
  color: #99e7cd;
}
.text-green-200 {
  color: #cef3e7;
}
.text-green-100 {
  color: #ebfaf5;
}
.text-white {
  color: #fff;
}
.text-black {
  color: #231815;
}
:root {
  --blue-800: #00203d;
  --text-blue-800: #00203d;
  --blue-700: #003e70;
  --text-blue-700: #003e70;
  --blue-600: #0c59a1;
  --text-blue-600: #0c59a1;
  --blue-500: #0e6ec8;
  --text-blue-500: #0e6ec8;
  --blue-400: #2d8ae2;
  --text-blue-400: #2d8ae2;
  --blue-300: #5daaf3;
  --text-blue-300: #5daaf3;
  --blue-200: #9ecefc;
  --text-blue-200: #9ecefc;
  --blue-100: #e4f2ff;
  --text-blue-100: #e4f2ff;
  --gray-900: #22262a;
  --text-gray-900: #22262a;
  --gray-800: #3a4045;
  --text-gray-800: #3a4045;
  --gray-700: #575f66;
  --text-gray-700: #575f66;
  --gray-600: #737b82;
  --text-gray-600: #737b82;
  --gray-500: #9299a0;
  --text-gray-500: #9299a0;
  --gray-400: #b0b8bf;
  --text-gray-400: #b0b8bf;
  --gray-300: #d0d6dc;
  --text-gray-300: #d0d6dc;
  --gray-200: #ebeef2;
  --text-gray-200: #ebeef2;
  --gray-180: #edf0f4;
  --text-gray-180: #edf0f4;
  --gray-100: #f5f7fa;
  --text-gray-100: #f5f7fa;
  --gray-50: #fafbfc;
  --text-gray-50: #fafbfc;
  --gray-40: #fbfcfd;
  --text-gray-40: #fbfcfd;
  --gray-30: #fcfdfe;
  --text-gray-30: #fcfdfe;
  --gray-20: #fdfdfe;
  --text-gray-20: #fdfdfe;
  --gray-10: #fefefe;
  --text-gray-10: #fefefe;
  --red-800: #300;
  --text-red-800: #300;
  --red-700: #680000;
  --text-red-700: #680000;
  --red-600: #a20000;
  --text-red-600: #a20000;
  --red-500: #cd2d2d;
  --text-red-500: #cd2d2d;
  --red-400: #e77373;
  --text-red-400: #e77373;
  --red-300: #fab4b4;
  --text-red-300: #fab4b4;
  --red-200: #fadddd;
  --text-red-200: #fadddd;
  --red-100: #faeded;
  --text-red-100: #faeded;
  --yellow-800: #331e00;
  --text-yellow-800: #331e00;
  --yellow-700: #734500;
  --text-yellow-700: #734500;
  --yellow-600: #a36200;
  --text-yellow-600: #a36200;
  --yellow-500: #f2960d;
  --text-yellow-500: #f2960d;
  --yellow-400: #ffc060;
  --text-yellow-400: #ffc060;
  --yellow-300: #ffe0aa;
  --text-yellow-300: #ffe0aa;
  --yellow-200: #fff2da;
  --text-yellow-200: #fff2da;
  --yellow-100: #faf5ed;
  --text-yellow-100: #faf5ed;
  --green-800: #00291b;
  --text-green-800: #00291b;
  --green-700: #005f37;
  --text-green-700: #005f37;
  --green-600: #009060;
  --text-green-600: #009060;
  --green-500: #0db67e;
  --text-green-500: #0db67e;
  --green-400: #52d3a8;
  --text-green-400: #52d3a8;
  --green-300: #99e7cd;
  --text-green-300: #99e7cd;
  --green-200: #cef3e7;
  --text-green-200: #cef3e7;
  --green-100: #ebfaf5;
  --text-green-100: #ebfaf5;
  --white: #fff;
  --text-white: #fff;
  --black: #231815;
  --text-black: #231815;
}
.callout {
  color: #f15a24;
}
.calloutLight {
  color: #f7931e;
}
.kmblue400 {
  color: #9ecefc;
}
.kmblue300 {
  color: #c4e2fe;
}
.kmblue200 {
  color: #d4eaff;
}
.kmblue100 {
  color: #e4f2ff;
}
.base700 {
  color: #3a5156;
}
.base600 {
  color: #52717a;
}
.base500 {
  color: #799399;
}
.base400 {
  color: #a1b6bf;
}
.base300 {
  color: #bdccd4;
}
.base200 {
  color: #d9dfe2;
}
.base100 {
  color: #f5f7fa;
}
.border400 {
  color: #b0b8bf;
}
.border300 {
  color: #d0d6dc;
}
.border200 {
  color: #ebeef2;
}
.border100 {
  color: #f5f7fa;
}
.brand {
  color: #003e70;
}
.textColor {
  color: #22262a;
}
.grayText {
  color: #898989;
}
.darkGrayText {
  color: #454545;
}
.bg {
  color: #e4f2ff;
}
.bgDark {
  color: #ccd7e1;
}
.primary {
  color: #00578e;
}
.important {
  color: #f2960d;
}
.attention {
  color: #0db67e;
}
.linkDefault {
  color: #3d9af1;
}
.linkHover {
  color: #0e6ec8;
}
.linkActive {
  color: #0e6ec8;
}
.blue800 {
  color: #00203d;
}
.blue700 {
  color: #003e70;
}
.blue600 {
  color: #0c59a1;
}
.blue500 {
  color: #0e6ec8;
}
.blue400 {
  color: #2d8ae2;
}
.blue300 {
  color: #5daaf3;
}
.blue200 {
  color: #9ecefc;
}
.blue100 {
  color: #e4f2ff;
}
.gray900 {
  color: #22262a;
}
.gray800 {
  color: #3a4045;
}
.gray700 {
  color: #575f66;
}
.gray600 {
  color: #737b82;
}
.gray500 {
  color: #9299a0;
}
.gray400 {
  color: #b0b8bf;
}
.gray300 {
  color: #d0d6dc;
}
.gray250 {
  color: #dee2e7;
}
.gray200 {
  color: #ebeef2;
}
.gray100 {
  color: #f5f7fa;
}
.red800 {
  color: #300;
}
.red700 {
  color: #680000;
}
.red600 {
  color: #a20000;
}
.red500 {
  color: #cd2d2d;
}
.red400 {
  color: #e77373;
}
.red300 {
  color: #fab4b4;
}
.red200 {
  color: #fadddd;
}
.red100 {
  color: #faeded;
}
.yellow800 {
  color: #331e00;
}
.yellow700 {
  color: #734500;
}
.yellow600 {
  color: #a36200;
}
.yellow500 {
  color: #f2960d;
}
.yellow400 {
  color: #ffc060;
}
.yellow300 {
  color: #ffe0aa;
}
.yellow200 {
  color: #fff2da;
}
.yellow100 {
  color: #faf5ed;
}
.green800 {
  color: #00291b;
}
.green700 {
  color: #005f37;
}
.green600 {
  color: #009060;
}
.green500 {
  color: #0db67e;
}
.green400 {
  color: #52d3a8;
}
.green300 {
  color: #99e7cd;
}
.green200 {
  color: #cef3e7;
}
.green100 {
  color: #ebfaf5;
}
.white {
  color: #fff;
}
.richBlack {
  color: #000;
}
.black {
  color: #231815;
}
.darkRed {
  color: #bd000e;
}
.red {
  color: #f00;
}
.green {
  color: #2bb24c;
}
.blue {
  color: #0071bc;
}
:root {
  --callout: #f15a24;
  --calloutLight: #f7931e;
  --kmblue400: #9ecefc;
  --kmblue300: #c4e2fe;
  --kmblue200: #d4eaff;
  --kmblue100: #e4f2ff;
  --base700: #3a5156;
  --base600: #52717a;
  --base500: #799399;
  --base400: #a1b6bf;
  --base300: #bdccd4;
  --base200: #d9dfe2;
  --base100: #f5f7fa;
  --border400: #b0b8bf;
  --border300: #d0d6dc;
  --border200: #ebeef2;
  --border100: #f5f7fa;
  --brand: #003e70;
  --textColor: #22262a;
  --grayText: #898989;
  --darkGrayText: #454545;
  --bg: #e4f2ff;
  --bgDark: #ccd7e1;
  --primary: #00578e;
  --important: #f2960d;
  --attention: #0db67e;
  --linkDefault: #3d9af1;
  --linkHover: #0e6ec8;
  --linkActive: #0e6ec8;
  --blue800: #00203d;
  --blue700: #003e70;
  --blue600: #0c59a1;
  --blue500: #0e6ec8;
  --blue400: #2d8ae2;
  --blue300: #5daaf3;
  --blue200: #9ecefc;
  --blue100: #e4f2ff;
  --gray900: #22262a;
  --gray800: #3a4045;
  --gray700: #575f66;
  --gray600: #737b82;
  --gray500: #9299a0;
  --gray400: #b0b8bf;
  --gray300: #d0d6dc;
  --gray250: #dee2e7;
  --gray200: #ebeef2;
  --gray100: #f5f7fa;
  --red800: #300;
  --red700: #680000;
  --red600: #a20000;
  --red500: #cd2d2d;
  --red400: #e77373;
  --red300: #fab4b4;
  --red200: #fadddd;
  --red100: #faeded;
  --yellow800: #331e00;
  --yellow700: #734500;
  --yellow600: #a36200;
  --yellow500: #f2960d;
  --yellow400: #ffc060;
  --yellow300: #ffe0aa;
  --yellow200: #fff2da;
  --yellow100: #faf5ed;
  --green800: #00291b;
  --green700: #005f37;
  --green600: #009060;
  --green500: #0db67e;
  --green400: #52d3a8;
  --green300: #99e7cd;
  --green200: #cef3e7;
  --green100: #ebfaf5;
  --white: #fff;
  --richBlack: #000;
  --black: #231815;
  --darkRed: #bd000e;
  --red: #f00;
  --green: #2bb24c;
  --blue: #0071bc;
}
.font-number {
  font-family: 'Roboto Condensed', -apple-system, 'Roboto', 'Noto Sans', 'Segoe UI', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', 'Open Sans', 'Meiryo', sans-serif;
}
.fs-13 {
  font-size: 13px;
}
.fs-14 {
  font-size: 14px;
}
.fs-15 {
  font-size: 15px;
}
.fs-15 {
  font-size: 15px;
}
svg * {
  font-family: 'Roboto', 'Noto Sans JP', 'Noto Sans Japanese', 'Segoe UI', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', 'Open Sans', 'Meiryo', sans-serif;
}
.palt {
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}
.no-palt {
  -moz-font-feature-settings: normal !important;
  -webkit-font-feature-settings: normal !important;
  font-feature-settings: normal !important;
  letter-spacing: normal !important;
}
.responsive {
  width: 100%;
  min-height: 0;
  max-width: 100%;
  height: auto;
  overflow: hidden;
  vertical-align: middle;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
* {
  box-sizing: border-box;
}
html {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}
body {
  font-size: 100%;
  font-weight: 400;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body,
html {
  padding: 0;
  margin: 0;
}
ol {
  padding-left: 1.65rem;
}
li {
  padding-left: 0;
}
ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}
img {
  border-style: none;
  display: block;
}
a {
  -webkit-text-decoration-skip: objects;
}
input {
  line-height: normal;
  -webkit-appearance: textfield;
  margin: 0;
}
button,
select {
  text-transform: none;
  outline: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
select {
  -moz-appearance: none;
  -webkit-appearance: none;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
fieldset {
  border: 0;
}
html,
body {
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
body {
  color: #22262a;
  line-height: 1.7;
  letter-spacing: 0.025em;
  font-family: 'Roboto', 'Noto Sans JP', 'Noto Sans Japanese', 'Segoe UI', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', 'Open Sans', 'Meiryo', sans-serif;
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  position: relative;
  margin: 0;
  padding: 0;
}
a {
  text-decoration: none;
  color: #3d9af1;
  transition: all 0.16s ease;
}
a:hover,
afocus {
  color: #0e6ec8;
}
a:active,
a .is-active {
  color: #0e6ec8;
}
hr {
  display: block;
  color: transparent;
  height: 1px;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid #dee2e7;
  mix-blend-mode: multiply;
}
img {
  -webkit-backface-visibility: hidden;
}
button {
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
}
.box {
  width: 100%;
}
.full-container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}
.section {
  margin-left: auto;
  margin-right: auto;
}
.section-header {
  margin-bottom: 40px;
}
@media screen and (max-width: 540px) {
  .section-header {
    margin-bottom: 20px;
  }
}
.section-image {
  margin-left: auto;
  margin-right: auto;
}
.section-image .c-animation {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
  margin-bottom: 20px;
}
.section-footer {
  margin-top: 60px;
}
.section-small {
  max-width: 720px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 0;
}
@media screen and (min-width: 541px) {
  .section-small {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 769px) {
  .section-small {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 960px) {
  .section-small {
    padding: 0;
  }
}
.section-small.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container-footer {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 0 20px;
}
@media screen and (min-width: 541px) {
  .container-footer {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 769px) {
  .container-footer {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 960px) {
  .container-footer {
    padding: 0 3vw;
  }
}
@media screen and (min-width: 1140px) {
  .container-footer {
    padding: 0 3vw;
  }
}
@media screen and (min-width: 1440px) {
  .container-footer {
    padding: 0 50px;
  }
}
.container-footer.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container-hero-nav {
  max-width: 1440px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 20px 20px;
}
@media screen and (min-width: 769px) {
  .container-hero-nav {
    padding: 20px 40px;
  }
}
@media screen and (min-width: 960px) {
  .container-hero-nav {
    padding: 20px 48px;
  }
}
@media screen and (min-width: 1140px) {
  .container-hero-nav {
    padding: 20px 60px;
  }
}
@media screen and (min-width: 1440px) {
  .container-hero-nav {
    padding: 20px 40px;
  }
}
.container-hero-nav.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container-hero-nav-column {
  max-width: 1440px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 20px 20px;
}
@media screen and (min-width: 769px) {
  .container-hero-nav-column {
    padding: 20px 40px;
  }
}
@media screen and (min-width: 960px) {
  .container-hero-nav-column {
    padding: 20px 48px;
  }
}
@media screen and (min-width: 1140px) {
  .container-hero-nav-column {
    padding: 20px 60px;
  }
}
@media screen and (min-width: 1440px) {
  .container-hero-nav-column {
    padding: 20px 40px;
  }
}
.container-hero-nav-column.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container-hero-nav-column-fullscreen {
  max-width: 1280px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 20px 20px;
}
@media screen and (min-width: 541px) {
  .container-hero-nav-column-fullscreen {
    padding: 20px 40px;
  }
}
@media screen and (min-width: 769px) {
  .container-hero-nav-column-fullscreen {
    padding: 20px 40px;
  }
}
@media screen and (min-width: 960px) {
  .container-hero-nav-column-fullscreen {
    padding: 20px 48px;
  }
}
@media screen and (min-width: 1140px) {
  .container-hero-nav-column-fullscreen {
    padding: 20px 60px;
  }
}
@media screen and (min-width: 1440px) {
  .container-hero-nav-column-fullscreen {
    padding: 20px 40px 0 80px;
  }
}
.container-hero-nav-column-fullscreen.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container-section {
  max-width: 1440px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 20px 20px;
}
@media screen and (min-width: 769px) {
  .container-section {
    padding: 20px 40px;
  }
}
@media screen and (min-width: 960px) {
  .container-section {
    padding: 20px 48px;
  }
}
@media screen and (min-width: 1140px) {
  .container-section {
    padding: 20px 60px;
  }
}
@media screen and (min-width: 1440px) {
  .container-section {
    padding: 20px 40px;
  }
}
.container-section.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container {
  max-width: 1440px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 4vw 20px;
}
@media screen and (min-width: 541px) {
  .container {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 769px) {
  .container {
    padding: 0 10vw;
  }
}
@media screen and (min-width: 960px) {
  .container {
    padding: 0 10vw;
  }
}
@media screen and (min-width: 1140px) {
  .container {
    padding: 0 60px;
  }
}
@media screen and (min-width: 1440px) {
  .container {
    padding: 0 80px;
  }
}
.container.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container-revised {
  max-width: 1440px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 4vw 20px;
}
@media screen and (min-width: 541px) {
  .container-revised {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 769px) {
  .container-revised {
    padding: 0 10vw;
  }
}
@media screen and (min-width: 960px) {
  .container-revised {
    padding: 0 10vw;
  }
}
@media screen and (min-width: 1140px) {
  .container-revised {
    padding: 0 60px;
  }
}
@media screen and (min-width: 1440px) {
  .container-revised {
    padding: 0 40px;
  }
}
.container-revised.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container-v {
  max-width: 1440px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 40px 20px;
}
@media screen and (min-width: 541px) {
  .container-v {
    padding: 40px 40px;
  }
}
@media screen and (min-width: 769px) {
  .container-v {
    padding: 40px 40px;
  }
}
@media screen and (min-width: 960px) {
  .container-v {
    padding: 40px 48px;
  }
}
@media screen and (min-width: 1140px) {
  .container-v {
    padding: 60px 60px;
  }
}
@media screen and (min-width: 1440px) {
  .container-v {
    padding: 60px 80px;
  }
}
.container-v.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container-wide {
  max-width: 1540px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 40px 20px;
}
@media screen and (min-width: 541px) {
  .container-wide {
    padding: 40px 40px;
  }
}
@media screen and (min-width: 769px) {
  .container-wide {
    padding: 40px 40px;
  }
}
@media screen and (min-width: 960px) {
  .container-wide {
    padding: 40px 48px;
  }
}
@media screen and (min-width: 1140px) {
  .container-wide {
    padding: 60px 60px;
  }
}
@media screen and (min-width: 1440px) {
  .container-wide {
    padding: 60px 80px;
  }
}
.container-wide.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.container-sources {
  max-width: 1440px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 0px 4vw 40px;
}
@media screen and (min-width: 541px) {
  .container-sources {
    padding: 0px 10vw 40px;
  }
}
@media screen and (min-width: 769px) {
  .container-sources {
    padding: 0px 10vw 40px;
  }
}
@media screen and (min-width: 960px) {
  .container-sources {
    padding: 0px 68px 48px;
  }
}
@media screen and (min-width: 1140px) {
  .container-sources {
    padding: 0px 80px 0px;
  }
}
@media screen and (min-width: 1440px) {
  .container-sources {
    padding: 0px 120px 0px;
  }
}
.container-sources.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.fluid {
  max-width: 1140px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 40px 20px;
}
@media screen and (min-width: 541px) {
  .fluid {
    padding: 40px 40px;
  }
}
@media screen and (min-width: 960px) {
  .fluid {
    padding: 40px 48px 60px;
  }
}
@media screen and (min-width: 1140px) {
  .fluid {
    padding: 60px 60px 60px;
  }
}
@media screen and (min-width: 1440px) {
  .fluid {
    padding: 60px 60px 60px;
  }
}
.fluid.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.form {
  max-width: 960px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 0px 0px;
}
@media screen and (min-width: 541px) {
  .form {
    padding: 40px 0px;
  }
}
@media screen and (min-width: 960px) {
  .form {
    padding: 40px 20px 60px;
  }
}
@media screen and (min-width: 1140px) {
  .form {
    padding: 0px 60px 0;
  }
}
@media screen and (min-width: 1440px) {
  .form {
    padding: 0 60px 0px;
  }
}
.form.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.content {
  max-width: 720px;
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 4vw 0;
}
@media screen and (min-width: 541px) {
  .content {
    padding: 4vw 0;
  }
}
@media screen and (min-width: 769px) {
  .content {
    padding: 0 0;
  }
}
@media screen and (min-width: 960px) {
  .content {
    padding: 0;
  }
}
.content.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.col {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  transition: padding 0.2s ease;
  padding: 12px;
}
@media screen and (min-width: 1140px) {
  .col {
    padding: 20px;
  }
}
.col.has-padding {
  padding-top: ;
  padding-bottom: ;
}
.cols {
  display: flex;
  flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px;
}
@media screen and (min-width: 769px) {
  .cols {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.cols.no-gutters > .col {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.no-gutter {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.reverse-container {
  color: #fff;
  color: rgba(255,255,255,0.96);
}
.fullscreen {
  height: 100%;
  height: 100vh;
}
.fullscreen-container {
  display: flex;
  max-width: 1660px;
  min-height: 0;
  margin-left: auto;
  margin-right: auto;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
  height: 100%;
  height: 100vh;
  transition: height 0.2s ease;
  padding: 72px 20px 32px;
}
@media screen and (min-width: 769px) {
  .fullscreen-container {
    padding: 72px 100px 40px;
  }
}
.fullscreen-container__top {
  margin-bottom: auto;
}
.fullscreen-container__content {
  padding-bottom: 60px;
}
.fullscreen-container__bottom {
  margin-top: auto;
  text-align: center;
}
.col {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 0%;
  min-width: 0;
}
@media screen and (max-width: 540px) {
  .col {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
.col-0 {
  flex-basis: 0;
  max-width: 0;
  display: none;
}
.col-1 {
  flex-basis: 8.333333% !important;
  max-width: 8.333333% !important;
}
.col-2 {
  flex-basis: 16.666666% !important;
  max-width: 16.666666% !important;
}
.col-3 {
  flex-basis: 25% !important;
  max-width: 25% !important;
}
.col-4 {
  flex-basis: 33.333333% !important;
  max-width: 33.333333% !important;
}
.col-5 {
  flex-basis: 41.666666% !important;
  max-width: 41.666666% !important;
}
.col-6 {
  flex-basis: 50% !important;
  max-width: 50% !important;
}
.col-7 {
  flex-basis: 58.333333% !important;
  max-width: 58.333333% !important;
}
.col-8 {
  flex-basis: 66.666666% !important;
  max-width: 66.666666% !important;
}
.col-9 {
  flex-basis: 75% !important;
  max-width: 75% !important;
}
.col-10 {
  flex-basis: 83.333333% !important;
  max-width: 83.333333% !important;
}
.col-11 {
  flex-basis: 91.666666% !important;
  max-width: 91.666666% !important;
}
.col-12 {
  flex-basis: 100% !important;
  max-width: 100% !important;
}
@media screen and (max-width: 540px) {
  .mobile-auto {
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
    flex-basis: 0% !important;
  }
  .mobile-0 {
    flex-basis: 0;
    max-width: 0;
    display: none;
  }
  .mobile-1 {
    flex-basis: 8.333333% !important;
    max-width: 8.333333% !important;
  }
  .mobile-2 {
    flex-basis: 16.666666% !important;
    max-width: 16.666666% !important;
  }
  .mobile-3 {
    flex-basis: 25% !important;
    max-width: 25% !important;
  }
  .mobile-4 {
    flex-basis: 33.333333% !important;
    max-width: 33.333333% !important;
  }
  .mobile-5 {
    flex-basis: 41.666666% !important;
    max-width: 41.666666% !important;
  }
  .mobile-6 {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .mobile-7 {
    flex-basis: 58.333333% !important;
    max-width: 58.333333% !important;
  }
  .mobile-8 {
    flex-basis: 66.666666% !important;
    max-width: 66.666666% !important;
  }
  .mobile-9 {
    flex-basis: 75% !important;
    max-width: 75% !important;
  }
  .mobile-10 {
    flex-basis: 83.333333% !important;
    max-width: 83.333333% !important;
  }
  .mobile-11 {
    flex-basis: 91.666666% !important;
    max-width: 91.666666% !important;
  }
  .mobile-12 {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (max-width: 768px) {
  .touch-auto {
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
    flex-basis: 0% !important;
  }
  .touch-0 {
    flex-basis: 0;
    max-width: 0;
    display: none;
  }
  .touch-1 {
    flex-basis: 8.333333% !important;
    max-width: 8.333333% !important;
  }
  .touch-2 {
    flex-basis: 16.666666% !important;
    max-width: 16.666666% !important;
  }
  .touch-3 {
    flex-basis: 25% !important;
    max-width: 25% !important;
  }
  .touch-4 {
    flex-basis: 33.333333% !important;
    max-width: 33.333333% !important;
  }
  .touch-5 {
    flex-basis: 41.666666% !important;
    max-width: 41.666666% !important;
  }
  .touch-6 {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .touch-7 {
    flex-basis: 58.333333% !important;
    max-width: 58.333333% !important;
  }
  .touch-8 {
    flex-basis: 66.666666% !important;
    max-width: 66.666666% !important;
  }
  .touch-9 {
    flex-basis: 75% !important;
    max-width: 75% !important;
  }
  .touch-10 {
    flex-basis: 83.333333% !important;
    max-width: 83.333333% !important;
  }
  .touch-11 {
    flex-basis: 91.666666% !important;
    max-width: 91.666666% !important;
  }
  .touch-12 {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (min-width: 541px) {
  .tablet-auto {
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
    flex-basis: 0% !important;
  }
  .tablet-0 {
    flex-basis: 0;
    max-width: 0;
    display: none;
  }
  .tablet-1 {
    flex-basis: 8.333333% !important;
    max-width: 8.333333% !important;
  }
  .tablet-2 {
    flex-basis: 16.666666% !important;
    max-width: 16.666666% !important;
  }
  .tablet-3 {
    flex-basis: 25% !important;
    max-width: 25% !important;
  }
  .tablet-4 {
    flex-basis: 33.333333% !important;
    max-width: 33.333333% !important;
  }
  .tablet-5 {
    flex-basis: 41.666666% !important;
    max-width: 41.666666% !important;
  }
  .tablet-6 {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .tablet-7 {
    flex-basis: 58.333333% !important;
    max-width: 58.333333% !important;
  }
  .tablet-8 {
    flex-basis: 66.666666% !important;
    max-width: 66.666666% !important;
  }
  .tablet-9 {
    flex-basis: 75% !important;
    max-width: 75% !important;
  }
  .tablet-10 {
    flex-basis: 83.333333% !important;
    max-width: 83.333333% !important;
  }
  .tablet-11 {
    flex-basis: 91.666666% !important;
    max-width: 91.666666% !important;
  }
  .tablet-12 {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (min-width: 769px) {
  .desktop-auto {
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
    flex-basis: 0% !important;
  }
  .desktop-0 {
    flex-basis: 0;
    max-width: 0;
    display: none;
  }
  .desktop-1 {
    flex-basis: 8.333333% !important;
    max-width: 8.333333% !important;
  }
  .desktop-2 {
    flex-basis: 16.666666% !important;
    max-width: 16.666666% !important;
  }
  .desktop-3 {
    flex-basis: 25% !important;
    max-width: 25% !important;
  }
  .desktop-4 {
    flex-basis: 33.333333% !important;
    max-width: 33.333333% !important;
  }
  .desktop-5 {
    flex-basis: 41.666666% !important;
    max-width: 41.666666% !important;
  }
  .desktop-6 {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .desktop-7 {
    flex-basis: 58.333333% !important;
    max-width: 58.333333% !important;
  }
  .desktop-8 {
    flex-basis: 66.666666% !important;
    max-width: 66.666666% !important;
  }
  .desktop-9 {
    flex-basis: 75% !important;
    max-width: 75% !important;
  }
  .desktop-10 {
    flex-basis: 83.333333% !important;
    max-width: 83.333333% !important;
  }
  .desktop-11 {
    flex-basis: 91.666666% !important;
    max-width: 91.666666% !important;
  }
  .desktop-12 {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (max-width: 959px) {
  .narrow-auto {
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
    flex-basis: 0% !important;
  }
  .narrow-0 {
    flex-basis: 0;
    max-width: 0;
    display: none;
  }
  .narrow-1 {
    flex-basis: 8.333333% !important;
    max-width: 8.333333% !important;
  }
  .narrow-2 {
    flex-basis: 16.666666% !important;
    max-width: 16.666666% !important;
  }
  .narrow-3 {
    flex-basis: 25% !important;
    max-width: 25% !important;
  }
  .narrow-4 {
    flex-basis: 33.333333% !important;
    max-width: 33.333333% !important;
  }
  .narrow-5 {
    flex-basis: 41.666666% !important;
    max-width: 41.666666% !important;
  }
  .narrow-6 {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .narrow-7 {
    flex-basis: 58.333333% !important;
    max-width: 58.333333% !important;
  }
  .narrow-8 {
    flex-basis: 66.666666% !important;
    max-width: 66.666666% !important;
  }
  .narrow-9 {
    flex-basis: 75% !important;
    max-width: 75% !important;
  }
  .narrow-10 {
    flex-basis: 83.333333% !important;
    max-width: 83.333333% !important;
  }
  .narrow-11 {
    flex-basis: 91.666666% !important;
    max-width: 91.666666% !important;
  }
  .narrow-12 {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (min-width: 960px) {
  .fluid-auto {
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
    flex-basis: 0% !important;
  }
  .fluid-0 {
    flex-basis: 0;
    max-width: 0;
    display: none;
  }
  .fluid-1 {
    flex-basis: 8.333333% !important;
    max-width: 8.333333% !important;
  }
  .fluid-2 {
    flex-basis: 16.666666% !important;
    max-width: 16.666666% !important;
  }
  .fluid-3 {
    flex-basis: 25% !important;
    max-width: 25% !important;
  }
  .fluid-4 {
    flex-basis: 33.333333% !important;
    max-width: 33.333333% !important;
  }
  .fluid-5 {
    flex-basis: 41.666666% !important;
    max-width: 41.666666% !important;
  }
  .fluid-6 {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .fluid-7 {
    flex-basis: 58.333333% !important;
    max-width: 58.333333% !important;
  }
  .fluid-8 {
    flex-basis: 66.666666% !important;
    max-width: 66.666666% !important;
  }
  .fluid-9 {
    flex-basis: 75% !important;
    max-width: 75% !important;
  }
  .fluid-10 {
    flex-basis: 83.333333% !important;
    max-width: 83.333333% !important;
  }
  .fluid-11 {
    flex-basis: 91.666666% !important;
    max-width: 91.666666% !important;
  }
  .fluid-12 {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (min-width: 1140px) {
  .wide-auto {
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
    flex-basis: 0% !important;
  }
  .wide-0 {
    flex-basis: 0;
    max-width: 0;
    display: none;
  }
  .wide-1 {
    flex-basis: 8.333333% !important;
    max-width: 8.333333% !important;
  }
  .wide-2 {
    flex-basis: 16.666666% !important;
    max-width: 16.666666% !important;
  }
  .wide-3 {
    flex-basis: 25% !important;
    max-width: 25% !important;
  }
  .wide-4 {
    flex-basis: 33.333333% !important;
    max-width: 33.333333% !important;
  }
  .wide-5 {
    flex-basis: 41.666666% !important;
    max-width: 41.666666% !important;
  }
  .wide-6 {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .wide-7 {
    flex-basis: 58.333333% !important;
    max-width: 58.333333% !important;
  }
  .wide-8 {
    flex-basis: 66.666666% !important;
    max-width: 66.666666% !important;
  }
  .wide-9 {
    flex-basis: 75% !important;
    max-width: 75% !important;
  }
  .wide-10 {
    flex-basis: 83.333333% !important;
    max-width: 83.333333% !important;
  }
  .wide-11 {
    flex-basis: 91.666666% !important;
    max-width: 91.666666% !important;
  }
  .wide-12 {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (min-width: 1440px) {
  .hd-auto {
    flex-grow: 1 !important;
    flex-shrink: 0 !important;
    flex-basis: 0% !important;
  }
  .hd-0 {
    flex-basis: 0;
    max-width: 0;
    display: none;
  }
  .hd-1 {
    flex-basis: 8.333333% !important;
    max-width: 8.333333% !important;
  }
  .hd-2 {
    flex-basis: 16.666666% !important;
    max-width: 16.666666% !important;
  }
  .hd-3 {
    flex-basis: 25% !important;
    max-width: 25% !important;
  }
  .hd-4 {
    flex-basis: 33.333333% !important;
    max-width: 33.333333% !important;
  }
  .hd-5 {
    flex-basis: 41.666666% !important;
    max-width: 41.666666% !important;
  }
  .hd-6 {
    flex-basis: 50% !important;
    max-width: 50% !important;
  }
  .hd-7 {
    flex-basis: 58.333333% !important;
    max-width: 58.333333% !important;
  }
  .hd-8 {
    flex-basis: 66.666666% !important;
    max-width: 66.666666% !important;
  }
  .hd-9 {
    flex-basis: 75% !important;
    max-width: 75% !important;
  }
  .hd-10 {
    flex-basis: 83.333333% !important;
    max-width: 83.333333% !important;
  }
  .hd-11 {
    flex-basis: 91.666666% !important;
    max-width: 91.666666% !important;
  }
  .hd-12 {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
/* Footer */
.footer {
  display: flex;
  margin-top: auto;
  margin-bottom: 0;
  flex-direction: column;
  color: #22262a;
  position: relative;
  padding: 0;
}
.footer-service {
  background-color: #9ecefc;
  width: 100%;
}
.footer-service-container {
  background: linear-gradient(130deg, #5daaf3 15%, transparent 0) no-repeat 50% 50%, linear-gradient(42deg, #9ecefc 15%, transparent 0) no-repeat 50% 50% #e4f2ff;
  width: 100%;
  height: 100%;
  display: flex;
}
.footer-service .wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 90px;
  margin-bottom: 60px;
}
@media screen and (max-width: 540px) {
  .footer-service .wrapper {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: 60px;
    margin-bottom: 40px;
    padding-left: 12px;
    padding-right: 12px;
  }
}
.footer-service__left {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 540px) {
  .footer-service__left {
    padding-right: 0;
  }
}
@media screen and (min-width: 541px) {
  .footer-service__left {
    padding-right: 10vw;
  }
}
@media screen and (min-width: 769px) {
  .footer-service__left {
    padding-right: 120px;
  }
}
.footer-service__right {
  display: flex;
  flex-direction: column;
  padding-right: 20px;
}
@media screen and (max-width: 540px) {
  .footer-service__right {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    grid-gap: 40px;
  }
}
.footer-service .c-nav {
  display: flex;
  flex-direction: column;
}
.footer-service .c-nav-link {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  opacity: 0.86;
  color: #22262a;
  display: inline-flex;
  padding: 12px 0;
  letter-spacing: 0.025em;
  white-space: nowrap;
}
.footer-service .c-nav-link:hover {
  color: #0e6ec8;
  opacity: 1;
}
.footer-service .c-nav-divider {
  display: inline-flex;
  width: 30px;
  border-top: 2px solid #9ecefc;
  margin-top: 10px;
  margin-bottom: 10px;
}
.footer-service .c-logo {
  width: 220px;
  margin-bottom: 54px;
}
@media screen and (max-width: 540px) {
  .footer-service .c-logo {
    width: 180px;
  }
}
.footer-service .c-logo img {
  width: 100%;
  height: 100%;
}
.footer-recommend.is-logo-only .c-logo {
  width: 380px;
  max-width: 42vw;
  margin-bottom: 0;
}
@media screen and (max-width: 540px) {
  .footer-recommend.is-logo-only .c-logo {
    width: 240px;
    max-width: 72vw;
  }
}
.footer-recommend .c-phrase {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 540px) {
  .footer-recommend .c-phrase {
    font-size: 6.2vw;
  }
}
.footer-recommend .c-text {
  font-size: 16px;
  line-height: 1.75;
  opacity: 0.96;
  margin-bottom: 2em;
}
.footer-recommend .c-btns {
  margin-top: 24px;
  margin-bottom: 20px;
}
.global-footer {
  border-top: 1px solid #d0d6dc;
  background: #fff;
  color: var(--gray900);
}
.global-footer .layout-footer {
  padding: 28px 0 20px 12px;
}
@media screen and (min-width: 541px) {
  .global-footer .layout-footer {
    padding: 22px 40px 20px;
  }
}
@media screen and (min-width: 960px) {
  .global-footer .layout-footer {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: 40px;
  }
}
.global-footer .layout-footer__copyright {
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 540px) {
  .global-footer .layout-footer__copyright {
    margin-bottom: 16px;
  }
}
.global-footer .layout-footer__copyright .c-logo {
  padding: 0;
  margin: 0;
  line-height: 0;
  margin-right: 12px;
  color: #0a3e6f;
}
.global-footer .layout-footer__copyright .c-permission {
  font-size: 11px;
  letter-spacing: 0.02em;
  color: var(--gray800);
  line-height: 1;
}
.global-footer .layout-footer__copyright .c-permission span {
  margin-top: 2px;
  display: inline-block;
}
.global-footer .layout-footer__links .c-links {
  display: flex;
}
.global-footer .layout-footer__links .c-links li {
  display: inline-block;
}
.global-footer .layout-footer__links .c-links li a {
  color: var(--gray800);
  margin-right: 2.4em;
  display: inline-block;
  position: relative;
  font-size: 12px;
  line-height: 1.15;
}
.global-footer .layout-footer__links .c-links li a:after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  margin-left: 4px;
  width: 11px;
  height: 12px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2212%22%20fill%3D%22none%22%3E%3Cpath%20fill%3D%22%230E6EC8%22%20fill-rule%3D%22evenodd%22%20d%3D%22M4.07.5h4.61c.79%200%201.44.65%201.44%201.44v5.48c0%20.8-.65%201.44-1.44%201.44h-4.6c-.8%200-1.45-.64-1.45-1.44V1.94c0-.8.65-1.44%201.44-1.44ZM9%207.42V1.94a.32.32%200%200%200-.32-.32h-4.6a.32.32%200%200%200-.33.32v5.48c0%20.18.15.32.32.32h4.61c.18%200%20.32-.14.32-.32ZM7.24%209.84c0-.3.26-.56.56-.56.3%200%20.56.25.56.56v.22c0%20.8-.64%201.44-1.44%201.44H1.44c-.8%200-1.44-.65-1.44-1.44V4.13C0%203.34.65%202.7%201.44%202.7h.22c.3%200%20.56.26.56.56%200%20.31-.25.56-.56.56h-.22a.32.32%200%200%200-.32.32v5.93c0%20.18.14.32.32.32h5.48c.18%200%20.32-.14.32-.32v-.22Z%22%20clip-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");
}
.grid {
  display: -ms-grid;
  display: grid;
}
@media screen and (max-width: 768px) {
  .grid {
    grid-gap: 40px 40px;
  }
}
@media screen and (min-width: 769px) {
  .grid {
    grid-gap: 40px 40px;
  }
}
@media screen and (min-width: 960px) {
  .grid {
    grid-gap: 40px 60px;
  }
}
.grid > .grid:nth-child(2) {
  -ms-grid-column: 2;
}
.grid > .grid>*:nth-child(2) {
  -ms-grid-row: 2;
}
.grid .grid-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.grid .grid-col:nth-child(1) {
  -ms-grid-column: 1;
}
.grid .grid-col:nth-child(2) {
  -ms-grid-column: 3;
}
.grid .grid-col:nth-child(3) {
  -ms-grid-column: 5;
}
.grid .grid-col >p {
  max-width: 100%;
}
@media screen and (min-width: 541px) {
  .grid.is-2 {
    -ms-grid-columns: 1fr 40px 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .grid.is-2>*:nth-child(2) {
    -ms-grid-column: 3;
  }
}
@media screen and (min-width: 769px) {
  .grid.is-3 {
    -ms-grid-columns: 1fr 40px 1fr 40px 1fr;
    grid-template-columns: 1fr 1fr 1fr;
  }
  .grid.is-3>*:nth-child(2) {
    -ms-grid-column: 3;
  }
  .grid.is-3>*:nth-child(3) {
    -ms-grid-column: 5;
  }
}
@media screen and (max-width: 768px) {
  .grid.is-gap-wide {
    grid-gap: 40px 60px;
  }
}
@media screen and (min-width: 769px) {
  .grid.is-gap-wide {
    grid-gap: 40px 60px;
  }
}
@media screen and (min-width: 960px) {
  .grid.is-gap-wide {
    grid-gap: 60px 120px;
  }
}
.grid.is-gap-narrow {
  grid-gap: 0px;
}
.grid.is-slash-3 {
  grid-gap: 20px;
  -ms-grid-columns: 1fr 52px 1fr 52px 1fr;
  grid-template-columns: 1fr 52px 1fr 52px 1fr;
}
@media screen and (max-width: 540px) {
  .grid.is-slash-3 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    grid-gap: 0;
  }
}
.grid.is-slash-3 .grid-col {
  padding-top: 20px;
  padding-bottom: 20px;
  justify-content: flex-start;
}
.grid .slash {
  color: #b0b8bf;
  padding-right: 12px;
  display: flex;
}
@media screen and (max-width: 540px) {
  .grid .slash {
    display: none;
  }
}
.grid .slash svg {
  width: 40px;
  height: 100%;
}
.grid.is-image-and-text {
  -ms-grid-columns: 2fr 40px 1fr;
  grid-template-columns: 2fr 1fr;
}
@media screen and (max-width: 540px) {
  .grid.is-image-and-text {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    grid-gap: 0;
  }
}
.grid.is-text-and-image {
  -ms-grid-columns: 1fr 40px 2fr;
  grid-template-columns: 1fr 2fr;
}
.grid.is-text-and-image figure {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 540px) {
  .grid.is-text-and-image {
    display: flex;
    flex-direction: column-reverse;
    grid-gap: 0;
  }
  .grid.is-text-and-image .grid-col {
    padding-top: 0px;
    padding-bottom: 0px;
  }
}
/* Header */
.header {
  display: flex;
  width: 100vw;
  flex-direction: column;
  background: rgba(255,255,255,0);
  top: 0;
  position: fixed;
  z-index: 300;
}
.header-nav {
  width: 100%;
  display: flex;
  align-items: center;
  height: 54px;
}
@media screen and (min-width: 541px) {
  .header-nav {
    height: 72px;
  }
}
@media screen and (min-width: 1440px) {
  .header-nav {
    height: 80px;
  }
}
.header-nav .wrapper {
  display: flex;
  justify-content: stretch;
  align-items: center;
  flex: 1;
}
.header-nav__left {
  display: flex;
  margin-left: 0;
  margin-right: auto;
  align-items: center;
}
.header-nav__center {
  display: flex;
  margin-left: 0;
  margin-right: 0;
  align-items: center;
  justify-content: left;
  flex: 1;
}
@media screen and (min-width: 541px) {
  .header-nav__center {
    padding-left: 32px;
  }
}
@media screen and (max-width: 1279px) {
  .header-nav__center .c-item[data-menu-item='home'] {
    display: none !important;
  }
}
@media screen and (max-width: 1179px) {
  .header-nav__center .c-item {
    display: none !important;
  }
}
.header-nav__right {
  display: flex;
  margin-left: auto;
  margin-right: 32px;
  align-items: center;
}
@media screen and (min-width: 400px) {
  .header-nav__right {
    margin-right: 42px;
  }
}
@media screen and (min-width: 960px) {
  .header-nav__right {
    margin-right: 30px;
  }
}
.header-nav .c-logo {
  display: inline-flex;
  width: 36vw;
}
@media screen and (max-width: 959px) {
  .header-nav .c-logo {
    margin-left: -8px;
  }
}
@media screen and (min-width: 960px) {
  .header-nav .c-logo {
    margin-top: -4px;
  }
}
@media screen and (min-width: 541px) {
  .header-nav .c-logo {
    width: 160px;
  }
}
@media screen and (min-width: 960px) {
  .header-nav .c-logo {
    width: 180px;
  }
}
.header-nav .c-logo img,
.header-nav .c-logo svg {
  width: 200px;
  height: auto;
  overflow: hidden;
}
.header-nav-items {
  display: flex;
  align-items: center;
}
.header-nav-items .c-item {
  display: inline-flex;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .header-nav-items .c-item[data-menu-item='home'] {
    display: none;
  }
}
@media screen and (max-width: 1080px) {
  .header-nav-items .c-item[data-menu-item='scenes'] .arrow-down {
    display: none;
  }
}
@media screen and (max-width: 1080px) {
  .header-nav-items .c-item[data-menu-item='customers'] .arrow-down {
    display: none;
  }
}
.header-nav-items .c-item.active .c-item-link {
  padding-top: 13px;
  padding-bottom: 13px;
  color: #0c59a1;
  border-color: #0c59a1;
}
.header-nav-items .c-item-link {
  position: relative;
  display: inline-flex;
  line-height: 1;
  font-size: 13px;
  opacity: 0.96;
  font-weight: 700;
  color: #22262a;
  transition: all 0.2s ease;
  cursor: pointer;
}
@media screen and (min-width: 1200px) {
  .header-nav-items .c-item-link {
    margin-right: 4px;
  }
}
.header-nav-items .c-item-link:hover {
  color: #0e6ec8;
}
.header-nav-items .c-item-link:hover .badge:after {
  background: #0c59a1;
}
@media screen and (max-width: 959px) {
  .header-nav-items .c-item-link {
    padding: 12px 12px;
  }
}
@media screen and (min-width: 960px) {
  .header-nav-items .c-item-link {
    padding: 12px 12px;
  }
}
@media screen and (min-width: 1140px) {
  .header-nav-items .c-item-link {
    padding: 12px 13px;
  }
}
@media screen and (min-width: 1440px) {
  .header-nav-items .c-item-link {
    padding: 12px 14px;
  }
}
.header-nav-items .arrow-down {
  width: 13px;
  height: 13px;
  overflow: hidden;
  display: inline-block;
}
.header-nav-items button.c-item-link {
  padding-top: 19px;
  padding-bottom: 15px;
  font-size: 13px;
}
.header-nav-items .c-btn--contact {
  font-size: 13px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 959px) {
  .header-nav-items .c-btn--contact {
    margin-right: 24px;
  }
}
@media screen and (min-width: 541px) {
  .header-nav-items .c-btn--contact {
    margin-right: 48px;
  }
}
@media screen and (min-width: 960px) {
  .header-nav-items .c-btn--contact {
    margin-right: 0px;
  }
}
@media screen and (max-width: 540px) {
  .header-nav-items .c-btn--contact {
    margin-right: 28px;
    padding: 4px 12px;
  }
}
.header-nav-items .c-btn--login {
  font-weight: normal;
  font-size: 13px;
  letter-spacing: 0;
  white-space: nowrap;
}
@media screen and (min-width: 541px) {
  .header-nav-items .c-btn--login {
    margin-right: 12px;
  }
}
@media screen and (min-width: 1140px) {
  .header-nav-items .c-btn--login {
    margin-right: 16px;
  }
}
@media screen and (max-width: 959px) {
  .header-nav-items[data-item='nav-center'] {
    display: none;
  }
}
.badge {
  position: relative;
}
.badge:after {
  content: '';
  margin-left: 3px;
  position: absolute;
  font-size: 12px;
  padding: 0 4px;
  color: #fff;
  font-weight: 700;
  font-family: Arial, sans-serif;
  background: #cd2d2d;
  border-radius: 14px;
  overflow: hidden;
  line-height: 1;
  text-align: center;
}
.badge-1:after {
  content: '1';
}
.badge-2:after {
  content: '2';
}
.badge-3:after {
  content: '3';
}
.badge-4:after {
  content: '4';
}
.c-item.active .badge:after {
  background: #0c59a1;
}
#overlay-menu .badge {
  margin-top: 0;
}
.header-banner {
  width: 100%;
  display: block;
  text-align: center;
  transition: all 0.16s ease;
  z-index: 100;
  overflow: hidden;
  border-bottom: 1px solid #d0d6dc;
}
@media screen and (max-width: 959px) {
  .header-banner {
    text-align: left;
  }
}
.header-banner-container {
  display: block;
  padding: 9px 8px 6px;
  line-height: 1.3;
  font-size: 13px;
  flex-wrap: nowrap;
  mask-image: linear-gradient(to right, transparent, #fff 0px, #fff 80%, transparent 100%);
  overflow: hidden;
}
@media screen and (max-width: 540px) {
  .header-banner-container {
    font-size: 12px;
    border-bottom: none;
    padding: 16px 8px 4px 0px;
    margin-right: 44px;
  }
}
@media screen and (max-width: 540px) {
  .header-banner-container {
    overflow-x: auto;
  }
}
.header-banner .c-text {
  display: block;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .header-banner .c-text {
    width: calc(100vw + 44px);
  }
}
.header-banner .c-fig {
  font-family: 'Roboto Condensed', -apple-system, 'Roboto', 'Noto Sans', 'Segoe UI', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', 'Open Sans', 'Meiryo', sans-serif;
  font-size: 1.15em;
  letter-spacing: 0.075em;
}
.header-banner .c-link {
  margin-left: 20px;
  font-weight: 700;
}
.header-banner .c-link::after {
  transition: all 0.1s ease;
  content: '»';
  margin-right: 4px;
}
.header-banner .c-link:hover::after {
  margin-left: 4px;
  margin-right: 0;
}
.hero-nav-bg {
  width: 100vw;
  overflow: hidden;
}
.hero-nav-bg--thumbnail {
  height: 100%;
  overflow: hidden;
  background-size: cover;
  backgrond-position: right;
  background-repeat: no-repeat !important;
}
@media screen and (max-width: 768px) {
  .hero-nav-bg--thumbnail {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .hero-nav-bg--thumbnail {
    position: absolute;
    width: 60%;
    left: 40%;
  }
}
@media screen and (min-width: 960px) {
  .hero-nav-bg--thumbnail {
    width: 70%;
    left: 30%;
  }
}
.hero-nav-bg--gradation {
  position: absolute;
  overflow: hidden;
  left: 0%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .hero-nav-bg--gradation {
    background: transparent;
  }
}
@media screen and (min-width: 769px) {
  .hero-nav-bg--gradation {
    width: 100%;
    transform: skew(-8deg);
    background: linear-gradient(to right, #e4f2ff 54%, rgba(228,242,255,0.9) 62%, rgba(228,242,255,0) 90%);
  }
}
@media screen and (min-width: 960px) {
  .hero-nav-bg--gradation {
    background: linear-gradient(to right, #e4f2ff 44%, rgba(228,242,255,0.9) 52%, rgba(228,242,255,0) 90%);
  }
}
@media screen and (max-width: 540px) {
  .container-nav-and-contents {
    display: block;
  }
  .container-nav-and-contents .entries {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }
  .container-nav-and-contents .entries .entry .c-title {
    font-size: 14px;
  }
}
@media screen and (min-width: 541px) {
  .container-nav-and-contents {
    display: grid;
  }
}
@media screen and (min-width: 769px) {
  .container-nav-and-contents {
    grid-template-columns: 200px 1fr;
    padding-right: 20px;
    grid-column-gap: 32px;
  }
  .container-nav-and-contents__entries .entries {
    grid-template-columns: 1fr 1fr;
    grid-row-gap: 40px;
  }
}
@media screen and (min-width: 960px) {
  .container-nav-and-contents {
    grid-template-columns: 240px 1fr;
    padding-right: 40px;
    grid-column-gap: 40px;
  }
  .container-nav-and-contents .entries {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 32px;
    grid-row-gap: 48px;
  }
}
@media screen and (min-width: 1440px) {
  .container-nav-and-contents .entries {
    grid-template-columns: 1fr 1fr 1fr;
    grid-row-gap: 64px;
  }
}
@media screen and (max-width: 768px) {
  .container-hero-nav-column-fullscreen .hero-entry__image img {
    border-radius: 8px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 769px) {
  .container-hero-nav-column-fullscreen .hero-entry__image {
    display: none;
  }
}
.container-hero-nav-column-fullscreen .hero-nav__title {
  margin-top: 0px;
}
.container-hero-nav-column-fullscreen .hero-nav__title .c-title-upper {
  padding-left: 2px;
  font-size: 14px;
  color: #003e70;
}
.container-hero-nav-column-fullscreen .hero-nav__title .c-title-bottom {
  color: #575f66;
}
.container-hero-nav-column-fullscreen .hero-nav__title li {
  display: inline-block;
}
.container-hero-nav-column-fullscreen .hero-nav__title li a {
  font-weight: bold;
  color: #003e70;
}
.container-hero-nav-column-fullscreen .hero-nav__title li span {
  padding-left: 6px;
  padding-right: 6px;
  color: #003e70;
  font-weight: normal;
}
.container-hero-nav-column-fullscreen .hero-entry {
  margin-top: 0px;
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
  background: transparent;
  box-shadow: none;
  display: block;
}
@media screen and (max-width: 768px) {
  .container-hero-nav-column-fullscreen .hero-entry {
    padding-top: 0;
  }
}
@media screen and (min-width: 769px) {
  .container-hero-nav-column-fullscreen .hero-entry__wrapper {
    width: 72%;
  }
}
@media screen and (min-width: 960px) {
  .container-hero-nav-column-fullscreen .hero-entry__wrapper {
    width: 60%;
  }
}
.container-hero-nav-column-fullscreen .hero-entry__title {
  margin-bottom: 20px;
}
@media screen and (max-width: 959px) {
  .container-hero-nav-column-fullscreen .hero-entry__title h1 {
    font-size: 24px;
  }
}
.container-hero-nav-column-fullscreen .hero-entry__text {
  justify-content: start;
  padding-top: 16px;
  padding-bottom: 28px;
  margin-bottom: 0px;
}
.container-hero-nav-column-fullscreen .hero-entry .c-title {
  line-height: 1.35;
}
.container-hero-nav-column-fullscreen .hero-entry .c-info {
  font-size: 12px;
}
.container-hero-nav-column-fullscreen .hero-entry__nav {
  font-size: 12px;
  margin-bottom: 8px;
}
.container-hero-nav-column-fullscreen .hero-entry__nav li {
  display: inline-block;
}
.container-hero-nav-column-fullscreen .hero-entry__nav li a {
  font-weight: bold;
}
.container-hero-nav-column-fullscreen .hero-entry__nav li span {
  padding-left: 6px;
  padding-right: 6px;
  color: #2d8ae2;
}
.container-hero-nav-column .hero-nav__title {
  text-align: center;
}
.container-hero-nav-column .hero-nav__title .c-title-upper {
  padding-left: 2px;
  font-size: 14px;
  color: #003e70;
}
.container-hero-nav-column .hero-nav__title .c-title-bottom {
  color: #575f66;
}
.container-hero-nav-column .hero-nav__title li {
  display: inline-block;
}
.container-hero-nav-column .hero-nav__title li a {
  font-weight: bold;
  color: #003e70;
}
.container-hero-nav-column .hero-nav__title li span {
  padding-left: 6px;
  padding-right: 6px;
  color: #003e70;
  font-weight: normal;
}
.container-hero-nav-column .hero-entry {
  padding-left: 0;
  padding-right: 0;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  background: transparent;
  box-shadow: none;
  display: block;
  padding-top: 64px;
}
.container-hero-nav-column .hero-entry__title {
  margin-bottom: 28px;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .container-hero-nav-column .hero-entry__title h1 {
    font-size: 24px;
  }
}
@media screen and (min-width: 960px) {
  .container-hero-nav-column .hero-entry__wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 40px;
  }
}
.container-hero-nav-column .hero-entry__thumbnail {
  padding-top: 0;
  margin-top: 0;
  align-items: start;
}
@media screen and (min-width: 960px) {
  .container-hero-nav-column .hero-entry__thumbnail {
    padding-bottom: 60px;
  }
}
.container-hero-nav-column .hero-entry__text {
  justify-content: start;
  padding-top: 24px;
}
.container-hero-nav-column .hero-entry .c-info {
  font-size: 12px;
}
.container-hero-nav-column .hero-entry__nav {
  font-size: 12px;
  margin-bottom: 8px;
}
.container-hero-nav-column .hero-entry__nav li {
  display: inline-block;
}
.container-hero-nav-column .hero-entry__nav li a {
  font-weight: bold;
}
.container-hero-nav-column .hero-entry__nav li span {
  padding-left: 6px;
  padding-right: 6px;
  color: #2d8ae2;
}
.hero-entry {
  margin-left: 20px;
  margin-right: 20px;
  max-width: ;
  padding: 0 40px;
  margin-top: -12px;
  margin-bottom: 12px;
  border-radius: 8px;
  background: #fff;
  max-width: ;
  display: grid;
  grid-column-gap: 40px;
  grid-row-gap: 20px;
  grid-template-columns: 1fr;
  box-shadow: 0px 2px 5px rgba(33,33,33,0.06) , 0px 4px 7px rgba(66,66,66,0.1);
}
@media screen and (max-width: 540px) {
  .hero-entry {
    margin-left: 0;
    margin-right: 0;
    margin-top: -20px;
    padding: 60px 28px 20px;
    display: flex;
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 541px) {
  .hero-entry {
    grid-column-gap: 40px;
    grid-template-columns: 6fr 4fr;
  }
}
@media screen and (min-width: 960px) {
  .hero-entry {
    grid-column-gap: 40px;
    grid-template-columns: 6.5fr 3.5fr;
  }
}
@media screen and (min-width: 1140px) {
  .hero-entry {
    grid-column-gap: 60px;
    grid-template-columns: 6fr 4fr;
  }
}
@media screen and (min-width: 1440px) {
  .hero-entry {
    grid-column-gap: 72px;
    grid-template-columns: 6fr 4fr;
  }
}
.hero-entry__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #22262a;
  padding-top: 60px;
  padding-bottom: 40px;
}
@media screen and (max-width: 540px) {
  .hero-entry__text {
    padding-top: 48px;
    padding-bottom: 20px;
  }
}
.hero-entry__text .c-category {
  font-size: 18px;
  font-weight: 700;
  opacity: 0.5;
}
.hero-entry__text .c-headings {
  line-height: 1.5;
  margin-bottom: 28px;
}
.hero-entry__text .c-title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 540px) {
  .hero-entry__text .c-title {
    font-size: 6vw;
  }
}
.hero-entry__text .c-subtitle {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .hero-entry__text .c-subtitle {
    font-size: 16px;
  }
}
.hero-entry__text .c-date {
  display: inline-block;
}
.hero-entry__text .c-date span {
  font-family: 'Roboto Condensed', -apple-system, 'Roboto', 'Noto Sans', 'Segoe UI', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', 'Open Sans', 'Meiryo', sans-serif;
  font-size: 1.075em;
  letter-spacing: 0.05em;
  margin-top: 20px;
  opacity: 0.65;
}
.hero-entry__text .c-lead {
  line-height: 1.75;
  margin-bottom: 28px;
}
.hero-entry__text .c-lead p {
  font-size: 16px;
  margin-bottom: 0.75em;
}
.hero-entry__text .c-link {
  font-size: 16px;
  color: #3d9af1;
  font-weight: 700;
}
.hero-entry__thumbnail {
  display: flex;
  align-items: center;
}
.hero-entry__thumbnail .c-thumbnail img {
  max-width: 100%;
  border-radius: 8px;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
}
a.hero-entry:hover {
  box-shadow: 0px 4px 20px rgba(33,33,33,0.08) , 0px 8px 28px rgba(66,66,66,0.16);
}
a.hero-entry:hover .c-link {
  color: #0e6ec8 !important;
}
.hero-events-spacer {
  margin-bottom: 40px;
}
.hero-events {
  margin-left: auto;
  margin-right: auto;
  padding-top: 40px;
  padding-bottom: 60px;
  max-width: 1140px;
  display: grid;
  grid-column-gap: 32px;
  grid-row-gap: 20px;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 769px) {
  .hero-events {
    grid-gap: 40px;
    grid-template-columns: 4fr 6fr;
  }
}
@media screen and (min-width: 960px) {
  .hero-events {
    grid-gap: 40px;
    grid-template-columns: 1fr 1fr;
  }
}
.hero-events__thumbnail {
  border-radius: 8px;
}
.hero-events__thumbnail .c-thumbnail {
  border-radius: 8px;
  padding-top: 56.25%;
  background-color: #fff;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
}
.hero-events__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #22262a;
}
.hero-events__text .c-title {
  font-size: 28px;
}
@media screen and (max-width: 540px) {
  .hero-events__text .c-title {
    font-size: 5.6vw;
  }
}
.hero-events__text .c-subtitle {
  font-size: 28px;
}
@media screen and (max-width: 540px) {
  .hero-events__text .c-subtitle {
    font-size: 5.6vw;
  }
}
.hero-events__text .c-companyName {
  font-weight: 700;
  font-size: 18px;
}
@media screen and (max-width: 540px) {
  .hero-events__text .c-companyName {
    font-size: 4vw;
  }
}
.hero-events__text .c-shortInfo {
  font-size: 13px;
}
.hero-usage {
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  position: relative;
  padding: 0 40px;
  margin-top: -12px;
  margin-bottom: -40px;
}
@media screen and (max-width: 768px) {
  .hero-usage {
    padding: 0 20px;
  }
}
@media screen and (max-width: 540px) {
  .hero-usage {
    padding: 0;
    margin-top: 40px;
  }
}
.hero-usage .c-baloon {
  position: absolute;
  right: 10px;
  top: -20px;
}
.hero-usage-container {
  padding: 60px 60px 0;
  background: #fff;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .hero-usage-container {
    padding: 40px 20px 40px;
  }
}
.hero-usage__thumbnail {
  display: flex;
  justify-content: center;
}
.hero-usage__thumbnail .c-thumbnail {
  height: 56.25%;
  max-width: 600px;
  max-height: 200px;
  border-radius: 8px;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
  overflow: hidden;
}
.hero-usage__thumbnail .c-thumbnail img {
  max-width: 600px;
  max-height: 200px;
}
.hero-usage__text {
  color: #22262a;
  text-align: center;
}
.hero-usage__text .c-headings {
  margin: 32px 0;
}
.hero-usage__text .c-date {
  font-size: 1.05em;
  font-weight: 700;
}
.hero-usage__text .c-info {
  font-size: 1.05em;
  font-weight: 700;
}
.hero-usage__text .c-btn {
  padding: 32px 0;
}
.hero-usage__text .c-btn .c-btn-bottom {
  margin-top: 12px;
  font-size: 12px;
  font-weight: 700;
}
.hero-nav {
  position: relative;
}
@media screen and (max-width: 540px) {
  .hero-nav {
    padding: 54px 0 24px;
  }
}
@media screen and (min-width: 541px) {
  .hero-nav {
    padding: 68px 0 20px;
  }
}
.hero-nav__phrase {
  display: block;
  padding-top: 28px;
  padding-bottom: 0px;
  padding-left: 4px;
  font-size: 15px;
}
.hero-nav__tabs {
  display: flex;
  padding-top: 28px;
  padding-bottom: 0px;
  padding-left: 4px;
}
@media screen and (max-width: 540px) {
  .hero-nav__tabs {
    display: none;
  }
}
.hero-nav__tabs .c-link-item {
  cursor: pointer;
  position: relative;
  display: inline-block;
  white-space: nowrap;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 8px 0 4px;
  margin-right: 40px;
  color: #22262a;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
  border-bottom: 2px solid transparent;
}
.hero-nav__tabs .c-link-item::after {
  content: "";
  position: absolute;
  height: 2px;
  left: 0;
  bottom: 0px;
  width: 100%;
  background-color: #0e6ec8;
  transform: scaleX(0);
  transform-origin: left;
  transition: all 0.2s ease-out;
}
.hero-nav__tabs .c-link-item:hover::after {
  transform: scaleX(1);
}
.hero-nav__tabs .c-link-item.active::after {
  transform: scaleX(1);
}
.hero-nav__title {
  color: #0e6ec8;
  z-index: 3;
  position: relative;
}
.hero-nav__title .c-title {
  letter-spacing: 0;
  line-height: 1;
  font-size: 10vw;
}
@media screen and (min-width: 541px) {
  .hero-nav__title .c-title {
    font-size: 8vw;
  }
}
@media screen and (min-width: 769px) {
  .hero-nav__title .c-title {
    font-size: 48px;
  }
}
@media screen and (min-width: 960px) {
  .hero-nav__title .c-title {
    font-size: 54px;
  }
}
.hero-nav__title .c-title-upper {
  font-size: 20px;
  font-weight: 700;
  color: #003e70;
}
.hero-nav__title .c-title--middle {
  letter-spacing: 0;
  line-height: 1.25;
  font-size: 8vw;
}
@media screen and (min-width: 541px) {
  .hero-nav__title .c-title--middle {
    font-size: 6vw;
  }
}
@media screen and (min-width: 769px) {
  .hero-nav__title .c-title--middle {
    font-size: 32px;
  }
}
@media screen and (min-width: 960px) {
  .hero-nav__title .c-title--middle {
    font-size: 36px;
  }
}
.hero-nav-bg {
  position: absolute;
  top: 0;
  left: 0;
  transform: skewY(-4deg);
  transform-origin: bottom left;
  z-index: -1;
  width: 100%;
  height: 200px;
  background: #e4f2ff;
}
.is-loading .hero-nav-bg {
  height: 260px;
}
.is-loaded .hero-nav-bg {
  animation: heroLoadingSlide 1000ms forwards;
}
@-moz-keyframes heroLoadingSlide {
  0% {
    height: 260px;
  }
  100% {
    height: 200px;
  }
}
@-webkit-keyframes heroLoadingSlide {
  0% {
    height: 260px;
  }
  100% {
    height: 200px;
  }
}
@-o-keyframes heroLoadingSlide {
  0% {
    height: 260px;
  }
  100% {
    height: 200px;
  }
}
@keyframes heroLoadingSlide {
  0% {
    height: 260px;
  }
  100% {
    height: 200px;
  }
}
#overlay-menu {
  z-index: 400;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  display: none;
  opacity: 0;
  background: rgba(255,255,255,0.94);
/* -webkit-backdrop-filter: contrast(2) blur(0px)
	backdrop-filter:contrast(2) blur(0px)
	transform: translateZ(0) //use gpu */
  transition: all 0.5s ease;
}
@media screen and (min-width: 541px) {
  #overlay-menu {
    max-width: 60vw;
  }
}
@media screen and (min-width: 769px) {
  #overlay-menu {
    max-width: 30vw;
  }
}
.overlay-menu {
  width: 100%;
  height: 100vh;
  display: flex;
  transition: all 0.5s ease;
  flex-direction: column;
  justify-content: center;
}
.overlay-menu-container {
  transition: all 0.5s ease;
  display: block;
  height: 100%;
  text-align: left;
  margin-left: 4vw;
  margin-right: auto;
}
@media screen and (max-width: 540px) {
  .overlay-menu-container {
    padding-top: 44px;
  }
}
.overlay-menu .c-logo {
  width: 160px;
}
@media screen and (min-width: 541px) {
  .overlay-menu .c-logo {
    display: none;
  }
}
.overlay-menu .c-nav {
  display: flex;
  margin-top: 36px;
  flex-direction: column;
}
.overlay-menu .c-nav-link {
  font-size: 15px;
  display: inline-flex;
  position: relative;
  padding: 8px 12px;
  font-weight: bold;
  color: #22262a;
}
@media screen and (min-width: 541px) {
  .overlay-menu .c-nav-link {
    padding: 12px 12px;
  }
}
.overlay-menu .c-nav-link:hover {
  color: #0e6ec8;
}
.overlay-menu .c-btns {
  margin-top: 28px;
/* margin-left: -12px */
  text-align: center;
}
.overlay-menu .c-nav-divider {
  display: inline-flex;
  width: 30px;
  border-top: 2px solid #9ecefc;
  margin-left: 12px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.is-menu-expand #overlay-menu {
  animation-duration: 0.3s;
  animation-name: overlay-fade-in;
  opacity: 1;
  display: flex;
/* -webkit-backdrop-filter:contrast(4) blur(30px)
		backdrop-filter:contrast(4) blur(30px) */
  width: 100%;
}
.is-menu-expand .c-anim {
  animation: overlay-item-slideUp 0.3s ease-in-out;
}
.is-menu-expand .c-anim:nth-child(1) {
  animation-delay: 10ms;
}
.is-menu-expand .c-anim:nth-child(2) {
  animation-delay: 20ms;
}
.is-menu-expand .c-anim:nth-child(3) {
  animation-delay: 30ms;
}
.is-menu-expand .c-anim:nth-child(4) {
  animation-delay: 40ms;
}
.is-menu-expand .c-anim:nth-child(5) {
  animation-delay: 50ms;
}
.is-menu-expand .c-anim:nth-child(6) {
  animation-delay: 60ms;
}
.is-menu-expand .c-anim:nth-child(7) {
  animation-delay: 70ms;
}
.is-menu-expand .c-anim:nth-child(8) {
  animation-delay: 80ms;
}
.is-menu-expand .c-anim:nth-child(9) {
  animation-delay: 90ms;
}
.is-menu-expand .c-anim:nth-child(10) {
  animation-delay: 100ms;
}
.is-menu-expand .c-anim:nth-child(11) {
  animation-delay: 110ms;
}
.is-menu-expand .c-anim:nth-child(12) {
  animation-delay: 120ms;
}
@-moz-keyframes overlay-fade-in {
  0% {
    display: none;
    width: 0;
    opacity: 0;
  }
  1% {
    display: flex;
    width: 0;
    opacity: 0;
  }
  100% {
    display: flex;
    width: 100%;
    opacity: 1;
  }
}
@-webkit-keyframes overlay-fade-in {
  0% {
    display: none;
    width: 0;
    opacity: 0;
  }
  1% {
    display: flex;
    width: 0;
    opacity: 0;
  }
  100% {
    display: flex;
    width: 100%;
    opacity: 1;
  }
}
@-o-keyframes overlay-fade-in {
  0% {
    display: none;
    width: 0;
    opacity: 0;
  }
  1% {
    display: flex;
    width: 0;
    opacity: 0;
  }
  100% {
    display: flex;
    width: 100%;
    opacity: 1;
  }
}
@keyframes overlay-fade-in {
  0% {
    display: none;
    width: 0;
    opacity: 0;
  }
  1% {
    display: flex;
    width: 0;
    opacity: 0;
  }
  100% {
    display: flex;
    width: 100%;
    opacity: 1;
  }
}
@-moz-keyframes overlay-item-slideUp {
  0% {
    margin-top: 2px;
    margin-bottom: 4px;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    margin-bottom: 0;
    opacity: 1;
  }
}
@-webkit-keyframes overlay-item-slideUp {
  0% {
    margin-top: 2px;
    margin-bottom: 4px;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    margin-bottom: 0;
    opacity: 1;
  }
}
@-o-keyframes overlay-item-slideUp {
  0% {
    margin-top: 2px;
    margin-bottom: 4px;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    margin-bottom: 0;
    opacity: 1;
  }
}
@keyframes overlay-item-slideUp {
  0% {
    margin-top: 2px;
    margin-bottom: 4px;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    margin-bottom: 0;
    opacity: 1;
  }
}
/* buttons
----------------------------------------------- */
.btn {
  padding: 14px 32px;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
  cursor: pointer;
  justify-content: center;
  user-select: none;
  overflow: hidden;
  line-height: 1;
  font-weight: 400;
  border-radius: 999px;
  background-size: 100% 100%;
  background-position: center top;
}
@media screen and (max-width: 540px) {
  .btn {
    padding: 13px 24px 13px;
    font-size: 14px;
  }
}
.btn:hover,
.btn:focus {
  box-shadow: 0 2px 12px 0 rgba(0,0,0,0.2);
}
.btn:active,
.btn .active {
  box-shadow: 0 2px 12px 0 rgba(0,0,0,0.2);
}
.btn:focus-visible {
  outline: 1px solid #999;
}
.btn.fixed-width {
  width: 240px;
}
.btns-left {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btns-left .btn {
  margin: 0 20px 12px 0;
}
.btns-left > .btn:last-child {
  margin-right: 0;
}
.btns-center {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
.btns-center .btn {
  margin: 0 20px 12px 20px;
}
.btn-gradation-border {
  color: #0c59a1 !important;
  border: 2px solid transparent;
  background-color: #fff;
}
.btn-gradation-border:hover {
  border-color: #2d8ae2 !important;
  color: #2d8ae2 !important;
}
.btn-gradation-border:focus {
  color: #0c59a1 !important;
}
.btn-download {
  color: #0c59a1;
  font-weight: 700;
  border: 2px solid #0c59a1;
  background-color: #fff;
}
.btn-download:hover {
  color: #2d8ae2;
  border-color: #2d8ae2;
}
.btn-download:focus {
  color: #0c59a1;
  border-color: #2d8ae2;
}
.btn-border {
  color: #3d9af1;
  font-weight: 700;
  border: 2px solid #d0d6dc;
  background-color: #fff;
}
.btn-border:hover {
  border-color: #fff;
}
.btn-border:focus {
  border-color: #3d9af1;
}
.btn-clear {
  color: #3d9af1;
  border: 1px solid transparent;
  background-color: #fff;
}
.btn-clear:hover {
  border-color: #fff;
}
.btn-clear:focus {
  border-color: #3d9af1;
}
.btn-primary {
  color: #0e6ec8;
  font-weight: 700;
  border: 2px solid #0e6ec8;
  background-color: #fff;
}
.btn-primary:hover {
  border-color: #0e6ec8;
}
.btn-primary:focus {
  border-color: #3d9af1;
}
.btn-primary-reverse {
  color: #232323;
  font-weight: 700;
  background: #fff;
  border: 1px solid #d0d6dc;
}
.btn-secondary {
  color: #fff !important;
  font-weight: 700;
  background-color: #0e6ec8;
  border: 1px solid #0e6ec8;
  background-image: linear-gradient(165deg, #0e6ec8 0%, #0c59a1 100%);
}
.btn-secondary:focus {
  border-color: #073764;
}
.btn-white {
  background: #fff;
  box-shadow: 0 1px 3px 1px rgba(0,0,0,0.2);
}
.btn-white:hover {
  color: #0e6ec8;
}
.btn-gray {
  color: #0c59a1;
  background: #f5f7fa;
}
.btn-gray:hover {
  color: #0e6ec8;
}
.btn-callout {
  color: #fff !important;
  font-weight: 700;
  background-color: #f15a24;
  border: 1px solid #f15a24;
  background-image: linear-gradient(165deg, #f15a24 0%, #f7931e 100%);
}
.btn-callout:focus {
  border-color: #822808;
}
.btn-disabled {
  color: #999;
  border: 1px solid #f5f5f5;
  background-color: #f5f5f5;
  cursor: not-allowed !important;
}
.btn-disabled:hover,
.btn-disabled:focus {
  color: #999;
  border-color: #efefef;
}
.btn-disabled:active,
.btn-disabled .active {
  color: #999;
  border-color: #efefef;
}
.card-company {
  padding: 60px 48px 40px;
  border: 1px solid #d0d6dc;
  border-radius: 8px;
}
@media screen and (max-width: 540px) {
  .card-company {
    padding: 40px 24px 30px;
  }
}
.card-scenes .grid:nth-child(2) {
  margin-top: -60px;
}
@media screen and (max-width: 768px) {
  .card-scenes .grid:nth-child(2) {
    margin-top: 0;
  }
}
.card-scene-header {
  display: flex;
  flex-direction: column;
  padding: 0 8px 40px;
}
.card-scene {
  display: flex;
  flex-direction: column;
  background: linear-gradient(60deg, #fff, #ebeef2);
  border-radius: 12px;
  position: relative;
}
.card-scene .card-bg {
  position: absolute;
  border-top-right-radius: 12px;
  display: flex;
  justify-content: flex-end;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.card-scene .card-bg .c-bg {
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  width: 90%;
  height: 90%;
  background-size: contain;
  opacity: 1;
  background-position: right top;
  background-repeat: no-repeat;
}
@media screen and (min-width: 541px) {
  .card-scene .card-bg .c-bg {
    width: 70%;
    height: 70%;
  }
}
@media screen and (min-width: 960px) {
  .card-scene .card-bg .c-bg {
    width: 90%;
    height: 90%;
  }
}
@media screen and (min-width: 1140px) {
  .card-scene .card-bg .c-bg {
    width: 100%;
    height: 100%;
  }
}
.card-scene .card-container {
  padding: 48px 40px;
}
@media screen and (max-width: 768px) {
  .card-scene .card-container {
    padding: 48px 24px;
  }
}
@media screen and (max-width: 540px) {
  .card-scene .card-container {
    padding: 48px 20px;
  }
}
.card-scene.is-reverse {
  background: transparent;
  border: 1px solid #ebeef2;
}
.card-scene__header {
  padding-top: 20px;
  padding-bottom: 32px;
  font-size: 22px;
  max-width: 100%;
  font-size: 20px;
  max-width: 74%;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media screen and (min-width: 541px) {
  .card-scene__header {
    font-size: 20px;
    max-width: 100%;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 1140px) {
  .card-scene__header {
    font-size: 20px;
    max-width: 74%;
    padding-top: 40px;
    padding-bottom: 20px;
  }
}
.card-scene__header .c-case {
  color: #52717a;
  margin-bottom: 0.125em;
}
.card-scene__header .c-title {
  color: #22262a;
}
.card-scene__text {
  max-width: 100%;
}
@media screen and (min-width: 541px) {
  .card-scene__text {
    max-width: 86%;
  }
}
@media screen and (min-width: 769px) {
  .card-scene__text {
    max-width: 100%;
  }
}
.card-scene__text .c-text {
  color: #22262a;
  font-size: 14px;
  margin-bottom: 0.75em;
}
.card-scene__link {
  padding-top: 8px;
  font-weight: 700;
}
.checkmark,
.checkmarks > * {
  position: relative;
  padding-left: 2em;
}
.checkmark::after,
.checkmarks > *::after {
  display: block;
  content: '';
  position: absolute;
  top: 0.36em;
  left: 0.125em;
  width: 0.8em;
  height: 0.32em;
  border-left: 3px solid #2d8ae2;
  border-bottom: 3px solid #2d8ae2;
  transform: rotate(-45deg);
}
.divider {
  content: '';
  display: inline-block;
  width: 3.125rem;
  height: 4px;
  margin-top: 20px;
  margin-bottom: 20px;
  background: linear-gradient(105deg, #2d8ae2 50%, #0c59a1 0);
  border-radius: 1em;
}
.divider-v,
.divider-v-short {
  display: inline-block;
  width: 4px;
  height: 60px;
  margin-top: 20px;
  background: linear-gradient(105deg, #0c59a1 50%, #2d8ae2 0);
  border-radius: 8px;
}
.divider-v-short {
  height: 48px;
  width: 3px;
}
.divider-footnote {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  margin-top: 32px;
  margin-bottom: 32px;
  background: linear-gradient(105deg, #2d8ae2 50%, #0c59a1 0);
  border-radius: 1em;
}
.divider-title {
  color: #0c59a1;
  position: relative;
  display: flex;
  line-height: 1.35;
}
@media screen and (max-width: 540px) {
  .divider-title {
    flex-direction: column;
  }
}
.divider-title::after {
  content: '';
  position: relative;
  margin-left: 0.5em;
  top: 0.65em;
  opacity: 0.65;
  flex: 1;
  display: block;
  border-top: 2px solid currentColor;
}
@media screen and (max-width: 540px) {
  .divider-title::after {
    flex-direction: column;
    margin-left: 0;
  }
}
.dropdown {
  display: none;
  left: 50%;
  padding-top: 0.75rem;
  position: absolute;
  top: 86%;
  visibility: visible;
  transform: translateX(-50%);
}
.dropdown-container {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0px 4px 20px rgba(33,33,33,0.08) , 0px 8px 28px rgba(66,66,66,0.16);
  min-width: 400px;
  max-width: 560px;
  padding: 12px 12px;
}
.dropdown-container::after {
  content: '';
  background: #fff;
  position: absolute;
  top: 0.25rem;
  left: calc(50% - 0px);
  width: 1rem;
  height: 1rem;
  transform: translateX(-50%) translateX(-8px) rotate(45deg);
  border-top-left-radius: 4px;
  will-change: transform;
  transition-property: transform;
}
.dropdown__link {
  display: block;
  color: #22262a;
  padding: 12px 20px;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
}
.dropdown__link:hover {
  background: #e4f2ff;
  border-radius: 4px;
}
.dropdown--header {
  font-size: 1.1em;
  line-height: 1.5;
  font-weight: 700;
  white-space: nowrap;
}
.dropdown--text {
  font-size: 0.86em;
}
.dropdown.is-expand {
  display: block;
  animation: dropdownFadeIn 0.4s both ease;
}
.dropdown-card {
  display: -ms-grid;
  display: grid;
  z-index: 310;
  -ms-grid-columns: 120px 20px 360px;
  grid-template-columns: 120px 360px;
  grid-gap: 20px;
}
.dropdown-card__thumbnail {
  width: 120px;
  border-radius: 4px;
}
.dropdown-card__thumbnail .c-thumbnail {
  padding-bottom: 56.25%;
  border-radius: 4px;
  background-size: cover;
}
.dropdown-card__text {
  -ms-grid-column: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.35;
  padding-right: 20px;
}
.dropdown-card__text .c-companyName {
  font-size: 13px;
  margin-bottom: 4px;
  font-weight: 700;
}
.dropdown-card__text .c-title {
  font-size: 15px;
  font-weight: normal;
}
@-moz-keyframes dropdownFadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@-webkit-keyframes dropdownFadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@-o-keyframes dropdownFadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@keyframes dropdownFadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
img {
  width: auto;
  min-height: 0;
  max-width: 100%;
  height: auto;
  overflow: hidden;
  vertical-align: middle;
}
figure {
  margin: 3em 0;
  text-align: center;
}
figure img {
  width: 100%;
  border-radius: 8px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 540px) {
  figure img {
    margin-left: 0;
    margin-right: 0;
    padding: 0;
  }
}
figure.is-small img {
  max-width: 400px;
}
figure.is-middle img {
  max-width: 600px;
}
figure.is-wide {
  margin-left: -120px;
  margin-right: -120px;
}
figure.is-wide img {
  max-width: 100%;
}
figure.is-round {
  border-radius: 8px;
  background-color: #ebeef2;
}
img.is-border,
figure.is-border {
  border-radius: 2px;
  box-shadow: 0px 0px 2px rgba(0,0,0,0.3);
}
figure {
  position: relative;
}
figure.is-frame {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  border: 4px solid #ebeef2;
  padding: 4px;
}
figure .c-baloon {
  position: absolute;
  z-index: 3;
  top: -32px;
  left: -6px;
  width: 48px;
  height: 48px;
}
@media screen and (min-width: 541px) {
  figure .c-baloon {
    top: -32px;
    left: -32px;
    width: 64px;
    height: 64px;
  }
}
figcaption {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 1em;
  margin-bottom: 1em;
  opacity: 0.7;
}
button[data-item='menu-btn'] {
  width: 0;
  height: 48px;
  cursor: pointer;
  user-select: none;
  overflow: hidden;
  padding: 0 !important;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
  background-color: rgba(239,239,239,0);
  -webkit-tap-highlight-color: rgba(239,239,239,0);
  border-radius: 4px;
  position: fixed;
  z-index: 410;
  top: 4px;
  right: 10px;
}
@media screen and (min-width: 541px) {
  button[data-item='menu-btn'] {
    top: 12px;
    right: 10px;
  }
}
button[data-item='menu-btn']:hover {
  background-color: #fff;
}
@media screen and (min-width: 541px) {
  button[data-item='menu-btn']:hover {
    transform: scale(1.24);
  }
}
button[data-item='menu-btn']:active {
  background-color: rgba(239,239,239,0);
}
@media screen and (max-width: 1180px) {
  button[data-item='menu-btn'] {
    width: 48px !important;
  }
}
button[data-item='menu-btn'] span {
  position: absolute;
  width: 19.200000000000003px;
  height: 2px;
  left: 14.399999999999999px;
  right: 33.6px;
  background-color: #22262a;
  border-radius: 2px;
}
button[data-item='menu-btn'] span:nth-child(1) {
  top: 16px;
}
button[data-item='menu-btn'] span:nth-child(2) {
  top: 22px;
}
button[data-item='menu-btn'] span:nth-child(3) {
  top: 28px;
}
@media screen and (max-width: 1180px) and (min-width: 541px) {
  button[data-item='menu-btn'] {
    transform: scale(1.2);
  }
}
body.is-menu-expand button[data-item='menu-btn'] span:nth-child(1),
body.is-overlays-active button[data-item='menu-btn'] span:nth-child(1) {
  animation: toggleMenu1 300ms ease-out forwards;
}
body.is-menu-expand button[data-item='menu-btn'] span:nth-child(2),
body.is-overlays-active button[data-item='menu-btn'] span:nth-child(2) {
  animation: toggleMenu2 300ms ease-out forwards;
}
body.is-menu-expand button[data-item='menu-btn'] span:nth-child(3),
body.is-overlays-active button[data-item='menu-btn'] span:nth-child(3) {
  animation: toggleMenu3 300ms ease-out forwards;
}
body.is-reversal-header button[data-item='menu-btn'] {
  background-color: rgba(255,255,255,0);
}
body.is-reversal-header button[data-item='menu-btn']:hover {
  background-color: rgba(255,255,255,0.2);
}
body.is-reversal-header button[data-item='menu-btn'] span {
  background-color: #fff;
}
@-moz-keyframes toggleMenu1 {
  0% {
    top: 16px;
  }
  50% {
    top: 22px;
  }
  100% {
    transform: rotate(45deg);
    top: 22px;
  }
}
@-webkit-keyframes toggleMenu1 {
  0% {
    top: 16px;
  }
  50% {
    top: 22px;
  }
  100% {
    transform: rotate(45deg);
    top: 22px;
  }
}
@-o-keyframes toggleMenu1 {
  0% {
    top: 16px;
  }
  50% {
    top: 22px;
  }
  100% {
    transform: rotate(45deg);
    top: 22px;
  }
}
@keyframes toggleMenu1 {
  0% {
    top: 16px;
  }
  50% {
    top: 22px;
  }
  100% {
    transform: rotate(45deg);
    top: 22px;
  }
}
@-moz-keyframes toggleMenu2 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes toggleMenu2 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-o-keyframes toggleMenu2 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes toggleMenu2 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-moz-keyframes toggleMenu3 {
  0% {
    top: 28px;
  }
  50% {
    top: 22px;
  }
  100% {
    transform: rotate(-45deg);
    top: 22px;
  }
}
@-webkit-keyframes toggleMenu3 {
  0% {
    top: 28px;
  }
  50% {
    top: 22px;
  }
  100% {
    transform: rotate(-45deg);
    top: 22px;
  }
}
@-o-keyframes toggleMenu3 {
  0% {
    top: 28px;
  }
  50% {
    top: 22px;
  }
  100% {
    transform: rotate(-45deg);
    top: 22px;
  }
}
@keyframes toggleMenu3 {
  0% {
    top: 28px;
  }
  50% {
    top: 22px;
  }
  100% {
    transform: rotate(-45deg);
    top: 22px;
  }
}
/* content / program
----------------------------------------------- */
.speaker {
  margin-top: 28px;
  padding-left: 2px;
  border: none;
/* modifiers */
}
@media screen and (min-width: 541px) {
  .speaker {
    display: flex;
  }
}
.speaker__thumbnail img {
  width: 80px;
  border-radius: 3px;
  margin-right: 20px;
}
@media screen and (min-width: 541px) {
  .speaker__thumbnail img {
    width: 86px;
    margin-right: 24px;
  }
}
.speaker__content {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  margin-bottom: auto;
  padding-bottom: 8px;
}
@media screen and (min-width: 541px) {
  .speaker__content {
    padding-top: 8px;
  }
}
.speaker__content--name {
  font-size: 14px;
  margin-bottom: 2px;
  font-weight: bold;
}
@media screen and (min-width: 541px) {
  .speaker__content--name {
    font-size: 15.5px;
  }
}
.speaker__content--position {
  font-size: 12px;
  line-height: 1.5;
}
@media screen and (min-width: 541px) {
  .speaker__content--position {
    font-size: 13px;
  }
}
.speaker__content--position span {
  display: inline-block;
  padding-right: 0.75em;
}
.speaker__content--profile {
  line-height: 1.5;
  position: relative;
  margin-top: 24px;
  font-size: 12px;
  opacity: 0.72;
}
.speaker__content--profile::before {
  position: absolute;
  content: '';
  width: 20%;
  max-width: 96px;
  height: 1px;
  top: -14px;
  border-top: 1px solid var(--gray-300);
}
.speaker.is-large {
  margin-top: 40px;
  margin-bottom: 40px;
}
.speaker.is-large .speaker__thumbnail img {
  width: 90px;
  margin-right: 24px;
}
@media screen and (min-width: 541px) {
  .speaker.is-large .speaker__thumbnail img {
    width: 108px;
    margin-right: 32px;
  }
}
@media screen and (min-width: 541px) {
  .speaker.is-small .speaker__thumbnail img {
    width: 72px;
    margin-right: 20px;
  }
}
.speaker.is-small .speaker__content {
  padding-top: 0;
  padding-bottom: 0;
}
@media screen and (min-width: 541px) {
  .speaker.is-very-small .speaker__thumbnail img {
    width: 60px;
    margin-right: 16px;
  }
}
.speaker.is-very-small .speaker__content {
  padding-top: 0;
  padding-bottom: 0;
}
.debug-windowSize {
  display: inline-block;
  z-index: 10000;
  position: fixed;
  text-align: right;
  bottom: 0;
  right: 0;
  padding: 8px 12px;
  line-height: 1;
  color: #f00;
  font-family: 'Arial', sans-serif;
}
.debug-windowSize .c-mq {
  font-size: 18px;
  font-weight: 700;
  opacity: 0.7;
  background: #fff;
}
.debug-windowSize .c-size {
  display: inline-block;
  font-size: 24px;
  background: rgba(255,255,255,0.7);
}
.entries-wrapper {
  margin: 72px 0;
}
.entries-wrapper .entry {
  background: #fff;
}
.entries {
  display: grid;
  grid-column-gap: 40px;
  grid-row-gap: 60px;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 541px) {
  .entries {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 769px) {
  .entries {
    grid-column-gap: 32px;
    grid-row-gap: 54px;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 960px) {
  .entries {
    grid-row-gap: 72px;
  }
}
@media screen and (min-width: 769px) {
  .entries.is-2 {
    grid-column-gap: 60px;
    grid-row-gap: 54px;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1140px) {
  .entries.is-2 {
    grid-column-gap: 72px;
    grid-row-gap: 54px;
    grid-template-columns: 1fr 1fr;
  }
}
.entry {
  line-height: 1.5;
  color: #22262a;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
  border-radius: 4px;
}
.entry__thumbnail {
  border-radius: 4px;
  position: relative;
  margin-bottom: 12px;
}
.entry__thumbnail .c-thumbnail {
  padding-top: 56.25%;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
  border-radius: 4px;
}
.entry__thumbnail .c-tags {
  position: absolute;
  bottom: 4px;
  left: 4px;
  z-index: 2;
  text-align: right;
}
.entry__thumbnail .c-tags .c-tag {
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  background: #fff;
/* color #fff */
  border: 1px solid #22262a;
  color: #000;
  padding: 5px 12px 6px;
  border-radius: 3px;
  font-weight: bold;
  margin-right: 2px;
}
.entry__thumbnail .c-overlay {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
  color: #fff;
  border-radius: 4px;
  opacity: 0;
  font-weight: 700;
  font-size: 17px;
}
.entry__thumbnail .c-overlay-container {
  transition: all 0.2s cubic-bezier(0.38, 0, 0.125, 1);
  margin-top: 10px;
}
.entry__thumbnail .c-baloon {
  position: absolute;
  z-index: 3;
  top: -32px;
  left: -14px;
  width: 48px;
  height: 48px;
}
@media screen and (min-width: 541px) {
  .entry__thumbnail .c-baloon {
    top: -32px;
    left: -32px;
    width: 64px;
    height: 64px;
  }
}
.entry .c-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  opacity: 0.9;
  margin-bottom: 0.75em;
}
.entry .c-outer-link {
  display: inline-block;
  height: 24px;
  vertical-align: middle;
  opacity: 0.7;
  margin-left: 4px;
  color: #0c59a1;
}
.entry .c-outer-link svg {
  height: 20px;
  width: 20px;
}
.entry .c-category-and-date {
  font-size: 13px;
  line-height: 1.35;
  margin-bottom: 5px;
}
.entry .c-category-and-date .c--attention {
  display: inline-block;
  color: #a20000;
  font-size: 11.5px;
  font-weight: 600;
  background: #cd2d2d;
  color: #fff;
  padding: 3.5px 12px;
  line-height: 1;
  margin-right: 8px;
  border-radius: 32px;
}
.entry .c-category-and-date .c--category {
  display: inline-block;
  opacity: 0.75;
}
.entry .c-category-and-date .c--divider {
  display: inline-block;
  position: relative;
  margin-left: 6px;
  margin-right: 6px;
}
.entry .c-category-and-date .c--divider::before {
  content: '';
  position: absolute;
  top: -11px;
  left: 0;
  width: 1px;
  height: 12px;
  background: #d0d6dc;
}
.entry .c-category-and-date .c--date {
  opacity: 0.75;
  display: inline-block;
}
.entry .c-category-and-date .c--text {
  margin-top: 2px;
}
.entry .c-category {
  font-size: 13px;
  opacity: 0.75;
  margin-bottom: 0.125em;
}
.entry .c-date {
  font-size: 13px;
  opacity: 0.75;
}
.entry:hover {
  color: #0c59a1 !important;
}
.entry:hover .entry__thumbnail .c-thumbnail {
  opacity: 0.66;
}
.entry:hover .c--attention {
  background-color: #0c59a1;
}
.entry:hover .c-baloon {
  animation: baloonPop 1s infinite ease;
}
.entry:hover .c-outer-link {
  opacity: 1;
}
.entry-cards .entry-container {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 0.75fr 1fr;
  grid-template-columns: 0.75fr 1fr;
}
@-moz-keyframes baloonPop {
  0% {
    top: -20px;
  }
  50% {
    top: -28px;
  }
  100% {
    top: -20px;
  }
}
@-webkit-keyframes baloonPop {
  0% {
    top: -20px;
  }
  50% {
    top: -28px;
  }
  100% {
    top: -20px;
  }
}
@-o-keyframes baloonPop {
  0% {
    top: -20px;
  }
  50% {
    top: -28px;
  }
  100% {
    top: -20px;
  }
}
@keyframes baloonPop {
  0% {
    top: -20px;
  }
  50% {
    top: -28px;
  }
  100% {
    top: -20px;
  }
}
.faq__item {
  list-style-type: decimal-leading-zero;
  margin-left: 2em;
  margin-bottom: 0.5em;
  padding-left: 1em;
  color: #0c59a1;
  letter-spacing: 0.05em;
  font-family: arial, sans-serif;
  font-weight: 700;
  font-size: 17px;
  margin-bottom: 40px;
}
.faq__item--ask {
  color: #22262a;
  margin-bottom: 0.2em;
}
.faq__item--answer {
  color: #22262a;
  font-weight: 400;
  font-size: 15px;
}
.hidden {
  display: none !important;
  visibility: hidden !important;
}
label {
  font-weight: 700;
  font-size: 13.5px !important;
  max-width: 100%;
  margin-bottom: 0;
}
.contentHeader {
  margin-bottom: 10px;
  padding: 15px 0;
}
.form-wrapper {
  background-color: #fafafa;
  min-height: 480px;
  border-radius: 12px;
  height: 100%;
}
.form-container {
  min-height: 480px;
}
.form-group::after {
  content: '';
  display: block;
  margin: 0 15px 0 15px;
  padding-bottom: 7px;
  height: auto;
  width: 100%;
}
.form-group ul {
  margin: 0;
  padding: 0 0 0 1em;
}
.formInputOuter {
  display: inline-block;
  width: 100%;
}
.formInputOuter label {
  margin-left: 3px;
  font-weight: normal;
}
.formInputOuter span.value span {
  display: inline-block;
  margin-right: 1em;
}
.formHeading {
  margin-top: 6px;
  margin-bottom: 2px;
  padding-right: 8px;
}
.formHeading label {
  margin-bottom: 0;
}
.formHeading span {
  display: inline-block;
}
.formInputInner::before {
  padding-right: 5px;
}
.formInputInner::after {
  padding-left: 5px;
}
.formInputInner.zip::before {
  content: "〒";
}
.formInputInner.zip input {
  width: 8em;
}
form .description {
  font-size: 12px;
  line-height: 1.15;
  opacity: 0.86;
}
.formInputInner.last_name,
.formInputInner.first_name,
.formInputInner.last_kana,
.formInputInner.first_kana {
  display: block;
  float: left;
  width: 50%;
}
.formInputInner.last_name,
.formInputInner.last_kana,
.formInputInner.last_name p.description,
.formInputInner.last_kana p.description {
  padding-right: 5px;
}
.formInputInner.first_name,
.formInputInner.first_kana,
.formInputInner.first_name p.description,
.formInputInner.first_kana p.description {
  padding-left: 5px;
}
.formInputInner.state,
.formInputInner.city,
.formInputInner.address_one,
.formInputInner.address_two {
  margin-top: 10px;
}
.formInputOuter.zip input,
.formInputOuter.zip select {
  display: inline-block;
}
p.description {
  margin: 7px 0 0 0;
}
p.error {
  margin-top: 6px;
}
.contentFormAfter {
  box-sizing: border-box;
  width: 100%;
  height: 250px;
  margin: 10px 0 20px 0;
  padding: 12px;
  overflow-x: hidden;
  overflow-y: scroll;
  border: solid 1px #ccc;
  font-size: 90%;
}
.contentFormAfter h1,
.contentFormAfter h2,
.contentFormAfter h3,
.contentFormAfter h4,
.contentFormAfter h5 {
  font-size: 110%;
  font-weight: bold;
}
.contentHeader:empty,
.contentFormAfter:empty {
  display: none;
}
.form-control {
  max-width: 100%;
  display: block;
  width: 100%;
  height: 40px;
  padding: 8px 14px;
  font-size: 15px;
  line-height: 1.5;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  -webkit-transition: border-color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.btn-lg {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding: 18px 60px;
  font-size: 16px;
}
.formBlockMailmag p.formDescription {
  margin: 2px 0;
  font-size: 12px;
}
.ui-datepicker-header {
  margin-bottom: 5px;
}
#ui-datepicker-div {
  padding: 7px;
  background: #fff;
  border: solid 1px #ccc;
  display: none;
}
#ui-datepicker-div tr th,
#ui-datepicker-div tr td {
  width: 2em;
  text-align: center;
}
.ui-datepicker-week-end {
  background-color: #dde6ff;
}
.ui-datepicker-prev {
  float: left;
}
.ui-datepicker-next {
  float: right;
}
.ui-datepicker-title {
  text-align: center;
}
.pd-captcha.hidden {
  display: inherit !important;
  visibility: inherit !important;
}
.pd-captcha .formHeading {
  display: none;
}
.pd-captcha .col-sm-9 {
  width: 100%;
}
.g-recaptcha {
  margin: 0 auto;
  width: 304px;
}
.important {
  color: #f00;
}
.required .formHeading::after {
  font-size: 11px;
}
select {
  -webkit-writing-mode: horizontal-tb !important;
  text-rendering: auto;
  color: -internal-light-dark(#000, #fff);
  letter-spacing: normal;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0px;
  text-shadow: none;
  display: inline-block;
  text-align: start;
  appearance: menulist;
  box-sizing: border-box;
  align-items: center;
  white-space: pre;
}
@media all and (min-width: 768px) {
  .formInputOuter.zip {
    overflow: hidden;
  }
  .formInputInner.state {
    padding-right: 10px;
  }
  .formInputInner.city input {
    width: 12em;
  }
  .state select {
    width: 8em;
  }
  p.description {
    white-space: pre;
  }
}
@media screen and (min-width: 769px) {
  .formInputInner.state,
  .formInputInner.city,
  .formInputInner.address_one,
  .formInputInner.address_two {
    float: left;
  }
  .formInputInner.address_one,
  .formInputInner.address_two {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .formInputInner.state {
    margin-top: 10px;
  }
}
@media screen and (max-width: 540px) {
  body,
  .form-control {
    font-size: 16px;
  }
  .contentHeader h1 {
    font-size: 20px;
  }
}
.required .formHeading::after {
  content: "●必須";
  display: inline-block;
  font-size: 11px;
  color: #d00;
  margin-left: 8px;
  letter-spacing: 0.05em;
}
.errors,
.alert-danger {
  color: #f00;
}
.error input,
.error textarea,
.error select,
.error span.value label {
  background-color: #ffe1e1;
}
p.error {
  color: #f00;
}
input.form-control::placeholder-shown {
  color: #aaa !important;
}
input.form-control::-webkit-input-placeholder {
  color: #aaa !important;
}
input.form-control::-ms-input-placeholder {
  color: #aaa !important;
}
input.form-control::-moz-placeholder {
  color: #aaa !important;
}
.phone > .formInputInner {
  width: 50%;
}
@media screen and (max-width: 540px) {
  .phone > .formInputInner {
    width: 100%;
  }
}
.function-title {
  font-size: 7.2vw;
  margin-top: 1em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 541px) {
  .function-title {
    font-size: 40px;
  }
}
@media screen and (min-width: 769px) {
  .function-title {
    font-size: 40px;
  }
}
@media screen and (min-width: 960px) {
  .function-title {
    font-size: 40px;
  }
}
@media screen and (min-width: 1140px) {
  .function-title {
    font-size: 48px;
  }
}
.binders-image-container {
  background: linear-gradient(to bottom, #fafafa, #fff);
  border-radius: 4px;
  padding: 20px 0 0;
  margin-bottom: 20px;
}
@media screen and (max-width: 540px) {
  .binders-image-container {
    margin-left: -12px;
    margin-right: -12px;
  }
}
.binders-image-container>.c-animation {
  position: relative;
}
.binders-image-container>.c-animation:before {
  content: ' ';
  display: block;
  padding-top: 61.11%;
}
.binders-image-container>.c-animation>svg {
  position: absolute;
  top: 0;
  left: 0;
}
iframe {
  width: 1px;
  min-width: 100%;
  background-color: transparent;
  border-radius: 12px;
  padding: 20px 20px 0;
}
@media screen and (max-width: 540px) {
  iframe {
    padding: 20px 0;
  }
}
.embed-movie {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.embed-movie iframe {
  background-color: transparent;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: none;
  border-radius: 8px;
  padding: 0;
}
.IndexWrapper {
  margin: 20px 0 64px;
}
@media screen and (max-width: 540px) {
  .IndexWrapper {
    margin: 0 0 3rem;
  }
}
.Index .c-title {
  padding-bottom: 3px;
  font-size: 13px;
  color: #666;
}
.Index ul {
  margin-top: 8px !important;
  margin-right: 8px !important;
  padding: 20px 16px 18px 24px;
  background: #f5f7fa;
  background: transparent;
  border: 2px solid #ebeef2;
  border-radius: 8px;
}
.Index ul li {
  position: relative;
  display: block;
  color: #232323;
  margin-left: 1.25em;
  line-height: 1.35;
  padding: 4.5px 0;
}
.Index ul li:before {
  content: '';
  position: absolute;
  top: 0.81em !important;
  left: calc(-0.86em);
  width: 6px !important;
  height: 6px !important;
  border-radius: 5px;
  background: #737b82 !important;
}
.Index ul li a {
  padding: 4px 4px;
  display: block;
  color: #2d8ae2;
}
.hero-nav .IndexWrapper {
  margin: 0;
}
.hero-nav .Index .c-title {
  font-size: 18px;
  color: #22262a;
}
.hero-nav .Index ul {
  border: none;
  padding: 0 0 0 8px;
}
.hero-nav .Index li {
  padding: 0 0;
}
.hero-nav .Index li:before {
  background: #0c59a1 !important;
}
.hero-nav .Index li a {
  color: #0c59a1 !important;
}
.km-spec {
  border: 2px solid #003e70;
  border-radius: 12px;
  height: 100%;
}
.km-spec .c-header {
  background: #003e70;
  text-align: center;
  color: #fff;
  padding: 20px;
  margin-top: -2px;
  line-height: 1.35;
  border-radius: 12px;
}
.km-spec .c-titleUpper {
  font-size: 15px;
  padding-bottom: 8px;
}
.km-spec .c-title {
  font-size: 20px;
  font-weight: 700;
}
.km-spec .c-image {
  padding: 20px 20px;
}
.km-spec .c-text {
  font-size: 17px;
  line-height: 1.75;
  padding: 0 20px 20px;
}
.link-card {
  display: inline-flex;
  border: 1px solid #efefef;
  padding: 1rem !important;
  border-radius: 4px;
}
.loading {
  background: #e4f2ff;
  display: flex;
  position: fixed;
  z-index: 10000;
  top: 72px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  transform: scale(1);
  transition: all 100ms ease;
  transform-origin: center center;
  justify-content: center;
  align-items: center;
}
.loading-container p {
  text-align: center;
  font-size: 14px;
}
.is-loaded .loading {
  animation: loadingFadeOut 1000ms forwards;
}
.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
}
.loader {
  opacity: 0.35;
  color: #0e6ec8;
  font-size: 10px;
  text-indent: -99999em;
  margin: 0 auto 100px;
  position: relative;
  width: 10em;
  height: 10em;
  box-shadow: inset 0 0 0 1em;
  transform: translateZ(0);
  scale: 0.5;
}
.loader:before {
  width: 5.2em;
  height: 10.2em;
  background: #e4f2ff;
  border-radius: 10.2em 0 0 10.2em;
  top: -0.1em;
  left: -0.1em;
  transform-origin: 5.1em 5.1em;
  animation: load2 1s infinite ease 0.5s;
}
.loader:after {
  width: 5.2em;
  height: 10.2em;
  background: #e4f2ff;
  border-radius: 0 10.2em 10.2em 0;
  top: -0.1em;
  left: 4.9em;
  transform-origin: 0.1em 5.1em;
  animation: load2 1s infinite ease;
}
.loader:before,
.loader:after {
  position: absolute;
  content: '';
}
@-moz-keyframes loadingFadeOut {
  0% {
    opacity: 1;
    transform: skewY(0deg);
    top: 72px;
  }
  99% {
    transform: skewY(-4deg);
    top: 72px;
    opacity: 0;
    width: 100%;
    height: 100%;
  }
  100% {
    opacity: 0;
    display: none;
    width: 0;
    height: 0;
  }
}
@-webkit-keyframes loadingFadeOut {
  0% {
    opacity: 1;
    transform: skewY(0deg);
    top: 72px;
  }
  99% {
    transform: skewY(-4deg);
    top: 72px;
    opacity: 0;
    width: 100%;
    height: 100%;
  }
  100% {
    opacity: 0;
    display: none;
    width: 0;
    height: 0;
  }
}
@-o-keyframes loadingFadeOut {
  0% {
    opacity: 1;
    transform: skewY(0deg);
    top: 72px;
  }
  99% {
    transform: skewY(-4deg);
    top: 72px;
    opacity: 0;
    width: 100%;
    height: 100%;
  }
  100% {
    opacity: 0;
    display: none;
    width: 0;
    height: 0;
  }
}
@keyframes loadingFadeOut {
  0% {
    opacity: 1;
    transform: skewY(0deg);
    top: 72px;
  }
  99% {
    transform: skewY(-4deg);
    top: 72px;
    opacity: 0;
    width: 100%;
    height: 100%;
  }
  100% {
    opacity: 0;
    display: none;
    width: 0;
    height: 0;
  }
}
@-moz-keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load2 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.profile-card {
  margin-top: 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
}
.profile-card__thumbnail {
  width: 72px;
  background: #f5f7fa;
  border-radius: 72px;
  margin-bottom: 8px;
  margin-right: 20px;
}
.profile-card__rectangle {
  margin-bottom: 8px;
  margin-right: 20px;
}
.profile-card__rectangle img {
  width: 112px;
}
.profile-card__rectangle.is-large img {
  width: 160px;
}
@media screen and (max-width: 540px) {
  .profile-card__rectangle img {
    width: 72px;
  }
}
.profile-card__rectangle .c-thumbnail img {
  border-radius: 4px;
}
.profile-card__content {
  font-size: 14px;
  line-height: 1.5;
}
@media screen and (max-width: 540px) {
  .profile-card {
    display: block;
  }
  .profile-card__thumbnail {
    width: 60px;
    height: 60px;
  }
}
.submenu {
  margin-bottom: 24px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .submenu button,
  .submenu .nav-btn {
    text-align: center !important;
    display: inline-block;
    width: auto !important;
    padding: 13px 16px 12px !important;
  }
  .submenu button[data-entry-tag],
  .submenu .nav-btn[data-entry-tag] {
    display: none;
  }
  .submenu button span,
  .submenu .nav-btn span {
    display: none;
  }
}
@media screen and (max-width: 540px) {
  .submenu {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .submenu button[data-entry-tag],
  .submenu .nav-btn[data-entry-tag] {
    display: none;
  }
  .submenu button span,
  .submenu .nav-btn span {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .submenu {
    position: sticky;
    top: 120px;
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.submenu span {
  margin-left: 2px;
  font-family: Roboto, sanf-serif;
  opacity: 0.6;
  font-size: 0.86em;
}
.submenu span:before,
.submenu span:after {
  padding-right: 1px;
  content: '(';
}
.submenu span:after {
  padding-left: 1px;
  content: ')';
}
.submenu button,
.submenu .nav-btn {
  color: #000;
  height: 42px;
  overflow: hidden;
  display: inline-block;
  margin-top: 1px;
  margin-bottom: 1px;
  font-size: 14px;
  line-height: 1;
  font-weight: bold;
  padding: 13px 16px 12px;
  border-radius: 6px;
  cursor: pointer;
  width: 188px;
  text-align: left;
}
.submenu button[data-entry-tag],
.submenu .nav-btn[data-entry-tag] {
  font-weight: normal;
  padding-left: 28px;
}
.submenu button:hover,
.submenu .nav-btn:hover {
  background: #f5f7fa;
/* color #0e6ec8 */
}
.submenu button:active,
.submenu .nav-btn:active {
  background: #ebeef2;
  color: #0c59a1;
}
.submenu button.is-active,
.submenu .nav-btn.is-active {
  background: #0e6ec8;
  color: #fff;
  cursor: default;
}
.submenu button.is-active span,
.submenu .nav-btn.is-active span {
  opacity: 1;
}
.timetable {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 8px;
}
.timetable ul {
  display: grid;
  grid-template-columns: 7em 1fr;
  grid-gap: 0px;
}
@media screen and (max-width: 540px) {
  .timetable ul {
    display: block;
  }
}
.timetable ul li {
  padding: 20px 8px 0;
  display: flex;
  flex-direction: column;
  flex: 1;
  line-height: 1.5;
  font-size: 15px;
}
.timetable ul li .c-theme {
  color: #0e6ec8;
  font-weight: 700;
  margin-top: 2px;
  margin-bottom: 1em;
}
.timetable ul li h4 {
  margin-top: -0.05em;
  line-height: 1.5;
  font-size: 19px;
  margin-bottom: 1em;
}
.timetable ul li h5 {
  margin-top: -1em;
  font-size: 15px;
  margin-bottom: 1em;
}
.timetable ul li p {
  font-size: 14px;
  line-height: 1.5;
}
.timetable ul li:nth-child(1) {
  padding: 20px;
  text-align: center;
  background: #ebeef2;
  color: #575f66;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  font-family: 'Roboto Condensed', -apple-system, 'Roboto', 'Noto Sans', 'Segoe UI', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', 'Open Sans', 'Meiryo', sans-serif;
  font-weight: 700;
  line-height: 1.5;
  font-size: 1.1em;
}
@media screen and (max-width: 540px) {
  .timetable ul li:nth-child(1) {
    padding: 12px 16px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    text-align: left;
  }
}
.timetable ul li:nth-child(2) {
  padding-left: 24px;
  padding-right: 20px;
  background: #fafafa;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
@media screen and (max-width: 540px) {
  .timetable ul li:nth-child(2) {
    padding: 20px 16px 8px;
    text-align: left;
  }
}
.timetable .c-footer {
  font-size: 13px;
  margin-bottom: 20px;
}
.info {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0;
}
@media screen and (min-width: 541px) {
  .info ul:last-child {
    border-bottom: 1px solid #d0d6dc;
  }
}
.info ul {
  display: grid;
  grid-template-columns: 108px 1fr;
  grid-gap: 32px;
  border-top: 1px solid #d0d6dc;
}
@media screen and (max-width: 540px) {
  .info ul {
    display: block;
    border: none;
  }
}
.info ul li {
  padding: 20px 0 16px;
  line-height: 1.75;
  font-size: 15px;
}
.info ul li p {
  margin-top: 0;
  margin-bottom: 8px;
  line-height: 1.75;
}
.info ul li p .small {
  font-size: 0.86em;
}
.info ul li:nth-child(1) {
  font-weight: 700;
  line-height: 1.5;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 0;
  border-bottom: 1px solid #d0d6dc;
}
@media screen and (min-width: 541px) {
  .info ul li:nth-child(1) {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 4px;
    border-bottom: none;
  }
}
@media screen and (max-width: 540px) {
  .info ul li:nth-child(2) {
    padding-top: 12px;
  }
}
.info .c-footer {
  font-size: 13px;
  margin-bottom: 20px;
}
.info .c-notice {
  font-size: 0.86em;
  margin-left: 1.375em;
  line-height: 1.5;
  margin-top: 2px;
  margin-bottom: 2px;
}
.info .c-notice::before {
  content: '※';
  margin-left: -1.3em;
  padding-right: 0.3em;
}
.spec {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0;
}
@media screen and (min-width: 541px) {
  .spec ul:last-child {
    border-bottom: 1px solid #d0d6dc;
  }
}
.spec ul {
  display: grid;
  grid-template-columns: 108px 1fr;
  grid-gap: 32px;
  border-top: 1px solid #d0d6dc;
}
@media screen and (max-width: 540px) {
  .spec ul {
    display: block;
    border: none;
  }
}
.spec ul li {
  padding: 20px 0 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  line-height: 1.5;
  font-size: 15px;
}
.spec ul li p {
  margin-top: 0;
  margin-bottom: 8px;
  line-height: 1.5;
}
.spec ul li p .small {
  font-size: 0.86em;
}
.spec ul li:nth-child(1) {
  font-weight: 700;
  line-height: 1.5;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 0;
  border-bottom: 1px solid #d0d6dc;
}
@media screen and (min-width: 541px) {
  .spec ul li:nth-child(1) {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 4px;
    border-bottom: none;
  }
}
@media screen and (max-width: 540px) {
  .spec ul li:nth-child(2) {
    padding-top: 12px;
  }
}
.spec .c-footer {
  font-size: 13px;
  margin-bottom: 20px;
}
.spec .c-notice {
  font-size: 0.86em;
  margin-left: 1.375em;
  line-height: 1.5;
  margin-top: 2px;
  margin-bottom: 2px;
}
.spec .c-notice::before {
  content: '※';
  margin-left: -1.3em;
  padding-right: 0.3em;
}
.table-scroll {
  border-radius: 4px;
  margin: 0 1rem 3rem;
  -webkit-overflow-scrolling: touch;
  overflow: auto;
  overflow-y: hidden;
  max-width: 100%;
  white-space: nowrap;
}
@media screen and (max-width: 540px) {
  .table-scroll {
    margin-left: 0;
    margin-right: 0;
  }
}
table.table {
  border: 1px solid #9ecefc;
  border-radius: 8px;
  border-spacing: 0;
  border-collapse: separate;
  text-align: left;
  letter-spacing: 0;
  font-size: 0.96em;
  width: 100%;
  overflow: hidden;
}
th {
  color: #fff;
  padding: 16px 8px 16px 16px;
  border-bottom: 1px solid #9ecefc;
  background: #2d8ae2;
}
tr {
  border-bottom: 1px solid #9ecefc;
}
tr:last-child td {
  border-bottom: none;
}
td {
  padding: 16px 8px 16px 16px;
  border-bottom: 1px solid #9ecefc;
}
[data-display-state='hide'] {
  overflow: hidden;
  height: 0;
  opacity: 0;
  display: none;
}
[data-display-state='show'] {
  animation: FadeUpContentAnimation 0.5s both ease;
}
[data-animation-class='is-fadeOutUp'] {
  overflow: hidden;
  height: 0;
  opacity: 0;
  display: none;
}
@-moz-keyframes FadeUpContentAnimation {
  0% {
    display: none;
    margin-top: 24px;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    display: block;
    opacity: 1;
  }
}
@-webkit-keyframes FadeUpContentAnimation {
  0% {
    display: none;
    margin-top: 24px;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    display: block;
    opacity: 1;
  }
}
@-o-keyframes FadeUpContentAnimation {
  0% {
    display: none;
    margin-top: 24px;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    display: block;
    opacity: 1;
  }
}
@keyframes FadeUpContentAnimation {
  0% {
    display: none;
    margin-top: 24px;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    display: block;
    opacity: 1;
  }
}
.video-inline {
  max-width: 100%;
  border-radius: 4px;
}
.content .section,
.content-plain .section {
  margin-top: 40px;
  margin-bottom: 80px;
}
.content h2,
.content-plain h2,
.content .h2,
.content-plain .h2 {
  line-height: 1.5;
  display: flex;
  align-items: center;
  font-size: 22px;
  margin-top: 48px;
  padding: 12px 0 12px 14px;
  margin-bottom: 24px;
  min-height: 56px;
  border-left: 4px solid #0c59a1;
  letter-spacing: 0.05em;
/* &::after
			margin-top: 6px
			content: ''
			margin-left: -4px
			margin-right: -4px
			height: 5px
			display: block
			background-color theme.base200
			border-radius: 10px */
}
@media screen and (min-width: 769px) {
  .content h2,
  .content-plain h2,
  .content .h2,
  .content-plain .h2 {
    border-left-width: 6px;
    font-size: 26px;
    margin-top: 64px;
    padding: 12px 0 12px 22px;
    margin-bottom: 28px;
    min-height: 68px;
  }
}
.content h3,
.content-plain h3,
.content .h3,
.content-plain .h3 {
  margin-top: 32px;
  font-size: 19px;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .content h3,
  .content-plain h3,
  .content .h3,
  .content-plain .h3 {
    font-size: 20px;
  }
}
.content h4,
.content-plain h4,
.content .h4,
.content-plain .h4 {
  margin-top: 32px;
  font-size: 17px;
  margin-bottom: 4px;
  letter-spacing: 0.0275em;
  line-height: 1.5;
}
.content h5,
.content-plain h5,
.content .h5,
.content-plain .h5 {
  margin-top: 2em;
  font-size: 15.5px;
  margin-bottom: 1.25em;
  line-height: 1.35;
}
.content p,
.content-plain p {
  font-size: 16px;
  letter-spacing: 0.0275em;
  line-height: 1.9;
  margin: 0 0 1.2em 0;
}
.content p a,
.content-plain p a {
  color: #0e6ec8;
  border-bottom: 1px solid currentColor;
}
.content p a:hover,
.content-plain p a:hover {
  color: #0e6ec8;
}
.content .bullet,
.content-plain .bullet {
  position: relative;
  padding: 0;
  padding-left: 1.8em;
  margin-bottom: 0.66em;
}
.content .bullet::before,
.content-plain .bullet::before {
  content: '';
  width: 0.34em;
  height: 0.34em;
  border-radius: 9999px;
  background: #0e6ec8;
  position: absolute;
  top: 0.65em;
  left: 0.6em;
}
.content .arrow-right,
.content-plain .arrow-right {
  position: relative;
  padding: 0;
  padding-left: 1.8em;
  margin-bottom: 0.66em;
}
.content .arrow-right::before,
.content-plain .arrow-right::before {
  content: '→';
  font-weight: bold;
  color: #0e6ec8;
  position: absolute;
  top: 0;
  left: 0.25em;
}
.content aside,
.content-plain aside {
  font-size: 0.86em;
  border: 3px solid #ebeef2;
  padding: 1em;
  font-weight: bold;
  color: #575f66;
  border-radius: 8px;
  margin: 24px 2px;
}
.content .question,
.content-plain .question {
  font-weight: 700;
  font-size: 1.05em;
  line-height: 1.725;
  margin-top: 1em;
  color: #003e70;
  position: relative;
  padding: 0;
  padding-left: 2.25em;
}
.content .question::before,
.content-plain .question::before {
  content: '';
  width: 1.75em;
  height: 12px;
  border-top: 1px solid currentColor;
  position: absolute;
  top: 0.8em;
  left: 0;
}
.content p + .question,
.content-plain p + .question,
.content aside + .question,
.content-plain aside + .question {
  margin-top: 40px;
}
.content .label,
.content-plain .label {
  display: inline-block;
  font-weight: 700;
  border: 1px solid #0c59a1;
  padding: 7px 1em;
  border-radius: 4px;
  color: #003e70;
  margin-top: 2em;
  font-size: 1em;
}
.content .label-brackets,
.content-plain .label-brackets {
  display: inline-block;
  position: relative;
  font-weight: 700;
  padding: 8px 1em;
  border-radius: 2px;
  color: #0e6ec8;
  margin-top: 1.2em;
  font-size: 1.05em;
  margin-bottom: 0;
}
.content .label-brackets:before,
.content-plain .label-brackets:before {
  content: '';
  position: absolute;
  display: inline-block;
  top: 6px;
  left: 0;
  width: 0.5em;
  height: 1em;
  border-left: 2px solid #2d8ae2;
  border-top: 2px solid #2d8ae2;
}
.content .label-brackets:after,
.content-plain .label-brackets:after {
  content: '';
  position: absolute;
  display: inline-block;
  right: 0;
  bottom: 8px;
  width: 0.5em;
  height: 1em;
  border-right: 2px solid #2d8ae2;
  border-bottom: 2px solid #2d8ae2;
}
.content table,
.content-plain table {
  margin-top: 48px;
  margin-bottom: 48px;
  border-spacing: 0;
  border-collapse: collapse;
/* display: block; */
/* width: max-content; */
  width: 100%;
  max-width: 100%;
  overflow: auto;
}
.content tr,
.content-plain tr {
  padding: 6px 13px;
  border: 1px solid #d0d6dc;
}
.content th,
.content-plain th {
  text-align: left;
  font-weight: bold;
  font-size: 16.5px;
  line-height: 1.2;
  padding: 16px;
  background: #fff;
  background-color: #f5f7fa;
  color: #22262a;
  border-bottom: none;
}
.content td,
.content-plain td {
  font-size: 14.5px;
  padding: 16px;
  border-bottom: none;
}
.content .h2-titleUpper,
.content-plain .h2-titleUpper {
  margin-top: 3em;
  display: block;
  font-size: 24px;
  font-weight: 700;
  color: #0e6ec8;
  line-height: 1;
}
.content blockquote,
.content-plain blockquote {
  margin: 3em 1em;
  border-radius: 12px;
  box-shadow: 0 1px 2px 0 rgba(60,64,67,0.16) , 0 2px 6px 2px rgba(60,64,67,0.12);
  padding: 32px 32px 12px 32px;
}
.content blockquote h2,
.content-plain blockquote h2,
.content blockquote h3,
.content-plain blockquote h3,
.content blockquote h4,
.content-plain blockquote h4,
.content blockquote h5,
.content-plain blockquote h5 {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .content blockquote,
  .content-plain blockquote {
    margin: 3em 0;
    padding: 32px 20px 16px 20px;
  }
}
.content--column ul {
  margin-top: 20px;
  margin-bottom: 20px;
  list-style-type: disc;
}
.content--column ul li {
  position: relative;
  display: block;
  color: #232323;
  margin-left: 1.25em;
  line-height: 1.5;
  padding: 4.5px 0 9px;
}
.content--column ul li:before {
  content: '';
  position: absolute;
  top: 0.96em;
  left: calc(-0.86em);
  width: 5px;
  height: 5px;
  border-radius: 5px;
  background: #0e6ec8;
}
.external-link {
  line-height: 1.4;
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding-right: 1.25em;
  margin-top: 1em;
}
.external-link:after {
  position: absolute;
  content: '';
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  color: currentColor;
  transform: rotate(45deg);
  top: calc(50% - 0.25em);
  right: 4px;
}
h1,
h2,
h3,
h4,
h5,
h6,
.heading-0,
.heading-1,
.heading-2,
.heading-3,
.heading-4,
.heading-5 {
  font-family: 'Roboto', 'Noto Sans JP', 'Noto Sans Japanese', 'Segoe UI', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Hiragino Kaku Gothic ProN', 'HiraKakuProN-W3', 'Open Sans', 'Meiryo', sans-serif;
  margin: 0;
  padding: 0;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
.heading-0,
.heading-1,
.heading-2 {
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}
.heading-0 {
  font-size: 8vw;
  margin-bottom: 10px;
  line-height: 120%;
}
@media screen and (min-width: 541px) {
  .heading-0 {
    margin-bottom: 20px;
    font-size: 40px;
  }
}
@media screen and (min-width: 960px) {
  .heading-0 {
    margin-bottom: 20px;
    font-size: 46px;
  }
}
@media screen and (min-width: 1140px) {
  .heading-0 {
    margin-bottom: 20px;
    font-size: 50px;
  }
}
@media screen and (min-width: 1440px) {
  .heading-0 {
    margin-bottom: 16px;
    font-size: 54px;
  }
}
.heading-1 {
  font-size: 6.5vw;
  margin-bottom: 10px;
}
@media screen and (min-width: 541px) {
  .heading-1 {
    font-size: 32px;
  }
}
@media screen and (min-width: 769px) {
  .heading-1 {
    font-size: 36px;
  }
}
@media screen and (min-width: 769px) {
  .heading-1.is-large {
    font-size: 40px;
  }
}
.heading-2 {
  font-size: 5.4vw;
  margin-bottom: 8px;
}
@media screen and (min-width: 541px) {
  .heading-2 {
    font-size: 24px;
  }
}
@media screen and (min-width: 769px) {
  .heading-2 {
    font-size: 32px;
  }
}
.heading-3 {
  font-size: 18px;
  margin-bottom: 16px;
}
@media screen and (max-width: 540px) {
  .heading-3 {
    line-height: 1.5;
  }
}
@media screen and (min-width: 541px) {
  .heading-3 {
    font-size: 22px;
  }
}
@media screen and (min-width: 769px) {
  .heading-3 {
    font-size: 24px;
  }
}
.heading-4 {
  font-size: 18px;
  margin-bottom: 12px;
}
@media screen and (min-width: 541px) {
  .heading-4 {
    font-size: 18px;
  }
}
@media screen and (min-width: 769px) {
  .heading-4 {
    font-size: 20px;
  }
}
.heading-5 {
  font-size: 16px;
  margin-bottom: 16px;
}
.heading-upper,
.heading-bottom {
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 540px) {
  .heading-upper,
  .heading-bottom {
    font-size: 15px;
  }
}
.text-large {
  font-size: 1.125em;
}
.text-default {
  font-size: 1em;
}
.text-small {
  font-size: 0.875em;
}
p,
.p {
  font-size: 15px;
  margin: 0;
  padding: 0;
}
p.very-small,
.p.very-small {
  font-size: 0.86em !important;
  line-height: 1.7;
  letter-spacing: 0;
}
p.small,
.p.small {
  font-size: 0.86em !important;
  line-height: 1.7;
}
p.large,
.p.large {
  font-size: 1.125em !important;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 540px) {
  p.large,
  .p.large {
    font-size: 1em !important;
  }
}
p.narrow,
.p.narrow {
  line-height: 1.5;
}
p.very-narrow,
.p.very-narrow {
  line-height: 1.35;
}
.is-arrow::after {
  transition: all 0.1s ease;
  content: '»';
  margin-right: 4px;
  font-weight: 400;
}
.is-arrow:hover::after {
  margin-left: 4px;
  margin-right: 0;
}
.border-bottom {
  border-bottom: 1px solid currentColor;
}
.wbr {
  word-break: keep-all;
  overflow-wrap: break-word;
}
@-moz-keyframes gradientAnimation {
  0% {
    background-position: 100% 50%;
  }
  30% {
    background-position: 50% 50%;
  }
  70% {
    background-position: 50% 50%;
  }
  100% {
    background-position: 50% 50%;
  }
}
@-webkit-keyframes gradientAnimation {
  0% {
    background-position: 100% 50%;
  }
  30% {
    background-position: 50% 50%;
  }
  70% {
    background-position: 50% 50%;
  }
  100% {
    background-position: 50% 50%;
  }
}
@-o-keyframes gradientAnimation {
  0% {
    background-position: 100% 50%;
  }
  30% {
    background-position: 50% 50%;
  }
  70% {
    background-position: 50% 50%;
  }
  100% {
    background-position: 50% 50%;
  }
}
@keyframes gradientAnimation {
  0% {
    background-position: 100% 50%;
  }
  30% {
    background-position: 50% 50%;
  }
  70% {
    background-position: 50% 50%;
  }
  100% {
    background-position: 50% 50%;
  }
}
@-moz-keyframes slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-webkit-keyframes slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-o-keyframes slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@-moz-keyframes fade-in {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes fade-in {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes bounceScale {
  0% {
    width: 0%;
    height: 0%;
  }
  30% {
    width: 128%;
    height: 128%;
  }
  50% {
    width: 96%;
    height: 96%;
  }
  70% {
    width: 105%;
    height: 105%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@-webkit-keyframes bounceScale {
  0% {
    width: 0%;
    height: 0%;
  }
  30% {
    width: 128%;
    height: 128%;
  }
  50% {
    width: 96%;
    height: 96%;
  }
  70% {
    width: 105%;
    height: 105%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@-o-keyframes bounceScale {
  0% {
    width: 0%;
    height: 0%;
  }
  30% {
    width: 128%;
    height: 128%;
  }
  50% {
    width: 96%;
    height: 96%;
  }
  70% {
    width: 105%;
    height: 105%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@keyframes bounceScale {
  0% {
    width: 0%;
    height: 0%;
  }
  30% {
    width: 128%;
    height: 128%;
  }
  50% {
    width: 96%;
    height: 96%;
  }
  70% {
    width: 105%;
    height: 105%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@-moz-keyframes bounceScaleSmall {
  0% {
    transform: scale(0);
  }
  70% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}
@-webkit-keyframes bounceScaleSmall {
  0% {
    transform: scale(0);
  }
  70% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}
@-o-keyframes bounceScaleSmall {
  0% {
    transform: scale(0);
  }
  70% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes bounceScaleSmall {
  0% {
    transform: scale(0);
  }
  70% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(1);
  }
}
[data-id="functions"] #toptab {
  display: block;
  width: 100%;
  margin: 4rem auto 0 auto;
}
[data-id="functions"] #toptab.tab-col-3 {
  width: 100%;
  margin: 0 auto;
}
[data-id="functions"] #toptab.tab-col-3 .ftop-tabs_block {
  max-width: 410px;
  padding: 38px 5px;
  margin: 20px;
}
@media screen and (max-width: 540px) {
  [data-id="functions"] #toptab {
    margin: 1.5rem auto 0 auto;
  }
}
[data-id="functions"] .ftop-title {
  margin-top: 1em;
  margin-bottom: 2rem;
  font-size: 32px;
  text-align: center;
}
[data-id="functions"] .ftop-tabs.pc {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  max-width: 1340px;
  padding: 0 20px;
  margin: 0 auto;
}
[data-id="functions"] .ftop-tabs.sp {
  display: none;
}
[data-id="functions"] .ftop-tabs_block {
  position: relative;
  width: 295px;
  padding: 42px 5px 36px;
  margin-bottom: 2rem;
  border: 3px solid #0c59a1;
  border-radius: 6px;
  box-shadow: 0 0 6px #b0b8bf;
}
[data-id="functions"] .ftop-tabs_block:hover .ftop-tabs_link {
  font-weight: bold;
  color: #0e6ec8;
}
[data-id="functions"] .ftop-tabs_block:hover .ftop-tabs_link:after {
  transform: translateY(0.25rem);
}
[data-id="functions"] .ftop-tabs_no {
  position: absolute;
  top: -10px;
  left: 10px;
  z-index: -1;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 70px;
  font-weight: bold;
  color: #e4f2ff;
}
[data-id="functions"] .ftop-tabs_title {
  padding: 0 0 35px 0;
  font-size: 21px;
  font-weight: bold;
  line-height: 1.2;
  color: #22262a;
  text-align: center;
}
[data-id="functions"] .ftop-tabs_title span {
  color: #0e6ec8;
}
[data-id="functions"] .ftop-tabs_title.pc {
  display: block;
}
[data-id="functions"] .ftop-tabs_title.sp {
  display: none;
}
@media screen and (max-width: 1200px) {
  [data-id="functions"] .tab-col-3 .ftop-tabs_title {
    font-size: 20px;
  }
}
[data-id="functions"] .ftop-tabs_link {
  text-align: center;
  text-decoration: underline;
  color: #22262a;
}
[data-id="functions"] .ftop-tabs_link a {
  position: relative;
  color: #22262a;
  text-decoration: underline;
}
[data-id="functions"] .ftop-tabs_link:after {
  display: inline-block;
  width: 7px;
  height: 8px;
  margin-left: 10px;
  vertical-align: middle;
  content: '';
  background-image: url("/km/assets-new/images/function/ftop_arrow.svg");
  background-repeat: no-repeat;
  transition: 0.5s;
}
[data-id="functions"] .section-no {
  position: relative;
  z-index: -1;
  margin-bottom: -131px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 115px;
  font-weight: bold;
  color: #e4f2ff;
  text-align: center;
}
[data-id="functions"] .share-top {
  width: 100%;
  margin: 40px auto;
}
[data-id="functions"] .share-top img {
  width: 80%;
  margin: 0 auto;
}
[data-id="functions"] .share-bottom {
  text-align: center;
}
[data-id="functions"] .share-bottom p {
  display: inline-block;
  font-size: 15px;
  text-align: left;
}
[data-id="functions"] .sources-read {
  margin-top: 1.7rem;
}
[data-id="functions"] .f-form {
  width: 100%;
  margin: 40px auto;
}
[data-id="functions"] .f-form .bold {
  font-weight: bold;
}
[data-id="functions"] .f-form .blk {
  color: #22262a;
}
[data-id="functions"] .f-form-main iframe {
  height: 765px;
  background: #fff !important;
}
[data-id="functions"] .f-form_msg {
  width: 900px;
  margin: 0 auto 40px auto;
}
[data-id="functions"] .f-form_msg p {
  font-size: 13.5px;
  text-align: center;
}
[data-id="functions"] .f-form_msg p.left {
  text-align: left;
}
[data-id="functions"] .f-form_msg .udl {
  text-decoration: underline;
}
[data-id="functions"] .sp {
  display: none;
}
[data-id="functions"] .tablet {
  display: block;
}
@media screen and (max-width: 960px) {
  [data-id="functions"] .tablet {
    display: none;
  }
}
[data-id="functions"] .pc {
  display: block;
}
[data-id="functions"] .ftop-tabs_title_br {
  display: none;
}
[data-id="functions"] .section.scenes-section {
  padding-top: 50px;
  margin-top: -50px;
}
@media screen and (max-width: 1140px) {
  [data-id="functions"] #toptab.tab-col-3,
  [data-id="functions"] .scenes-section {
    width: 100%;
    padding: 0 20px;
  }
}
@media screen and (max-width: 1140px) {
  [data-id="functions"] .f-form,
  [data-id="functions"] .f-form_msg {
    width: 96%;
  }
}
@media screen and (max-width: 1140px) {
  [data-id="functions"] .ftop-tabs.pc {
    justify-content: center;
    max-width: 720px;
    margin: 0 auto;
  }
  [data-id="functions"] .ftop-tabs_block {
    width: calc(100% / 2 - 40px);
    max-width: 215px;
    margin: 7.5px;
  }
  [data-id="functions"] .ftop-tabs_block:nth-of-type(3) .ftop-tabs_title {
    margin: 0.6em 0;
  }
  [data-id="functions"] #toptab.tab-col-3 .ftop-tabs_block:nth-of-type(3) .ftop-tabs_title {
    margin: auto;
  }
  [data-id="functions"] #toptab.tab-col-3 .ftop-tabs_block .ftop-tabs_title {
    font-size: 16px;
  }
  [data-id="functions"] .f-form-main iframe {
    height: 755px;
  }
  [data-id="functions"] .ftop-tabs_title_br {
    display: block;
  }
}
@media screen and (max-width: 995px) {
  [data-id="functions"] #toptab.tab-col-3 .ftop-tabs_block .ftop-tabs_title {
    font-size: 15px;
  }
}
@media screen and (max-width: 960px) {
  [data-id="functions"] #toptab.tab-col-3 .ftop-tabs_block .ftop-tabs_title {
    font-size: 20px;
  }
}
@media screen and (max-width: 540px) {
  [data-id="functions"] #toptab.tab-col-3 .ftop-tabs_block .ftop-tabs_title {
    font-size: 16px;
  }
}
@media screen and (max-width: 960px) {
  [data-id="functions"] #toptab {
    width: 100%;
  }
  [data-id="functions"] .ftop-tabs.pc {
    flex-wrap: wrap;
  }
  [data-id="functions"] .f-form_msg p.left {
    padding: 0 40px;
  }
  [data-id="functions"] .share-top {
    width: 100%;
  }
  [data-id="functions"] .share-top img {
    width: 100%;
  }
}
@media screen and (max-width: 960px) {
  [data-id="functions"] .f-form,
  [data-id="functions"] .f-form_msg {
    width: 100%;
  }
}
[data-id="functions"] .ftop-title_br {
  display: none;
}
@media screen and (max-width: 810px) {
  [data-id="functions"] .f-form-main iframe {
    height: 795px;
  }
}
@media screen and (max-width: 800px) {
  [data-id="functions"] .ftop-title_br {
    display: block;
  }
}
@media screen and (max-width: 590px) {
  [data-id="functions"] .f-form-main iframe {
    min-height: 795px;
  }
}
@media screen and (max-width: 580px) {
  [data-id="functions"] .f-form-main iframe {
    min-height: 1105px;
  }
}
@media screen and (max-width: 580px) {
  [data-id="functions"] .ftop-title {
    font-size: 30px;
  }
}
[data-id="functions"] .function-title_bk {
  display: none;
}
@media screen and (max-width: 600px) {
  [data-id="functions"] .function-title_bk {
    display: block;
  }
}
@media screen and (max-width: 540px) {
  [data-id="functions"] .ftop-tabs.pc {
    display: none;
  }
  [data-id="functions"] .ftop-tabs.sp {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 350px;
    margin: 0 auto;
  }
  [data-id="functions"] .ftop-tabs_block {
    width: 160px;
    height: auto;
    padding: 32px 14px 33px;
    margin-bottom: 7.5px;
  }
  [data-id="functions"] .ftop-tabs_block:nth-of-type(3) .ftop-tabs_title {
    margin: auto;
  }
  [data-id="functions"] .ftop-tabs_block:nth-child(even) {
    margin-right: 0;
  }
  [data-id="functions"] .ftop-tabs_link {
    font-size: 12px;
  }
  [data-id="functions"] .ftop-tabs_link:after {
    right: -15px;
  }
  [data-id="functions"] .ftop-tabs_no {
    font-size: 48px;
  }
  [data-id="functions"] .ftop-title {
    margin-bottom: 20px;
    font-size: 5vw;
  }
  [data-id="functions"] .ftop-tabs_title {
    padding: 0 0 12px 0;
    font-size: 15px;
    line-height: 1.3;
  }
  [data-id="functions"] .sources-read {
    width: 96%;
    margin: 0 auto 0 auto;
  }
  [data-id="functions"] .sources-read p {
    margin-left: 0;
  }
  [data-id="functions"] #organize {
    padding-top: 60px;
  }
  [data-id="functions"] .section-no {
    margin-bottom: -25%;
    font-size: 70px;
  }
  [data-id="functions"] .sections .function-title {
    margin-bottom: 10px;
    font-size: 6.5vw;
  }
  [data-id="functions"] .sections .heading-1 {
    font-size: 5.8vw;
  }
  [data-id="functions"] .sections .fluid {
    padding: 10px 20px;
  }
  [data-id="functions"] .container-sources .heading-4 {
    margin-top: 0 !important;
  }
  [data-id="functions"] .share-bottom {
    display: block;
    width: 96%;
  }
  [data-id="functions"] .share-bottom_block {
    width: 100%;
    margin-bottom: 40px;
  }
  [data-id="functions"] #use .heading-bottom {
    padding: 0 15px;
  }
  [data-id="functions"] .f-form {
    width: 96%;
  }
  [data-id="functions"] .f-form .function-title {
    font-size: 6.4vw;
  }
  [data-id="functions"] .f-form_msg {
    width: 100%;
    padding: 0 20px;
  }
  [data-id="functions"] .f-form_msg.f-form_msg_top {
    margin: 0 auto;
  }
  [data-id="functions"] .f-form_msg.f-form_msg_top p {
    text-align: left;
  }
  [data-id="functions"] .f-form_msg p.left {
    padding: 0;
  }
  [data-id="functions"] .sp {
    display: block;
  }
  [data-id="functions"] .pc {
    display: none;
  }
}
[data-id="functions"] .tab-col-3 .ftop-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1340px;
  padding: 0;
  margin: 0 auto;
}
[data-id="functions"] .scenes-main {
  display: block;
  margin-top: 90px;
}
[data-id="functions"] .scenes-section {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1230px;
  padding: 0 20px;
  margin: 40px auto 120px auto;
}
[data-id="functions"] .scenes-left {
  position: relative;
  width: 41.8%;
  padding: 30px 20px 20px;
  background: linear-gradient(to right bottom, #fff, #f5f7fa);
  border-radius: 5px;
}
[data-id="functions"] .scenes-left:after {
  position: absolute;
  top: 50%;
  right: -41px;
  width: 28px;
  height: 33px;
  content: "";
  background: url("/km/assets-new/images/scenes/arrow.png") no-repeat;
  background-size: 28px 33px;
}
[data-id="functions"] .scenes-left_no {
  position: absolute;
  top: -90px;
  left: 0;
  z-index: 2;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 100px;
  font-weight: bold;
  color: #e4f2ff;
}
[data-id="functions"] .scenes-left_title {
  position: relative;
  z-index: 3;
  font-size: 27px;
}
[data-id="functions"] .scenes-left_title span {
  color: #0e6ec8;
}
[data-id="functions"] .scenes-left_img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
}
[data-id="functions"] .scenes-sales-left_img1 img {
  width: 202px;
}
[data-id="functions"] .scenes-sales-left_img2 img {
  width: 218px;
}
[data-id="functions"] .scenes-sales-left_img3 img {
  width: 183px;
}
[data-id="functions"] .scenes-sales-left_img4 img {
  width: 181px;
}
[data-id="functions"] .scenes-sales-left_img5 img {
  width: 256px;
}
[data-id="functions"] .scenes-sales-left_img6 img {
  width: 264px;
}
[data-id="functions"] .scenes-planning-left_img1 img {
  width: 251px;
}
[data-id="functions"] .scenes-planning-left_img2 img {
  width: 219px;
}
[data-id="functions"] .scenes-planning-left_img3 img {
  width: 238px;
}
[data-id="functions"] .scenes-planning-left_img4 img {
  width: 204px;
}
[data-id="functions"] .scenes-planning-left_img5 img {
  width: 298px;
}
[data-id="functions"] .scenes-planning-left_img6 img {
  width: 330px;
}
@media screen and (max-width: 540px) {
  [data-id="functions"] .scenes-sales-left_img1 img {
    width: 172px;
  }
  [data-id="functions"] .scenes-sales-left_img2 img {
    width: 185px;
  }
  [data-id="functions"] .scenes-sales-left_img3 img {
    width: 155px;
  }
  [data-id="functions"] .scenes-sales-left_img4 img {
    width: 154px;
  }
  [data-id="functions"] .scenes-sales-left_img5 img {
    width: 218px;
  }
  [data-id="functions"] .scenes-sales-left_img6 img {
    width: 223px;
  }
  [data-id="functions"] .scenes-planning-left_img1 img {
    width: 210px;
  }
  [data-id="functions"] .scenes-planning-left_img2 img {
    width: 186px;
  }
  [data-id="functions"] .scenes-planning-left_img3 img {
    width: 203px;
  }
  [data-id="functions"] .scenes-planning-left_img4 img {
    width: 173px;
  }
  [data-id="functions"] .scenes-planning-left_img5 img {
    width: 256px;
  }
  [data-id="functions"] .scenes-planning-left_img6 img {
    width: 277px;
  }
}
[data-id="functions"] .scenes-right {
  width: 54%;
  padding: 60px 45px;
  background: #e4f2ff;
  border-radius: 5px;
}
[data-id="functions"] .scenes-right_title {
  margin-bottom: 20px;
  font-size: 24px;
  line-height: calc(33 / 24);
  color: #0a3e6f;
}
[data-id="functions"] .scenes-right_msg {
  margin-bottom: 20px;
}
[data-id="functions"] .scenes-right_msg p {
  font-size: 16px;
}
[data-id="functions"] .scenes-right_link a {
  position: relative;
  color: #22262a;
  text-decoration: underline;
}
[data-id="functions"] .scenes-right_link a:after {
  position: absolute;
  top: 40%;
  right: -20px;
  display: inline-block;
  width: 8px;
  height: 8px;
  vertical-align: middle;
  content: '';
  background-image: url("/km/assets-new/images/scenes/ftop_arrow.svg");
  background-repeat: no-repeat;
  transition: 0.5s;
}
[data-id="functions"] .scenes-right_link a:hover {
  font-weight: bold;
  color: #0e6ec8;
}
[data-id="functions"] .scenes-right_link a:hover:after {
  transform: translateX(0.25rem);
}
[data-id="functions"] .contact-link {
  width: 600px;
  margin: 80px auto;
}
[data-id="functions"] .contact-link-area {
  display: flex;
  justify-content: space-between;
}
[data-id="functions"] .contact-link-area_block {
  width: 260px;
}
[data-id="functions"] .contact-link-title {
  margin-bottom: 20px;
  font-size: 22px;
  text-align: center;
}
[data-id="functions"] .contact-link-title .orenge {
  color: #f15a24;
}
[data-id="functions"] .contact-link-title .blue {
  color: #0e6ec8;
}
[data-id="functions"] .contact-link_btn {
  border-radius: 40px;
}
[data-id="functions"] .contact-link_btn.orenge {
  background: linear-gradient(#f15a24, #f7931e);
}
[data-id="functions"] .contact-link_btn.blue {
  background: linear-gradient(#2d8ae2, #5daaf3);
}
[data-id="functions"] .contact-link_btn a {
  display: block;
  width: 260px;
  padding: 10px 0;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
[data-id="functions"] .contact-link_msg {
  margin-top: 32px;
}
[data-id="functions"] .contact-link_msg p {
  font-size: 16px;
  text-align: center;
}
[data-id="functions"] .sources-group:nth-child(1) .heading-4 {
  margin-top: 65px;
}
[data-id="functions"] .sources-group:nth-child(3) .heading-4 {
  margin-top: 30px;
}
@media screen and (max-width: 1210px) {
  [data-id="functions"] .scenes-left_title {
    font-size: 25px;
  }
}
@media screen and (max-width: 1140px) {
  [data-id="functions"] .scenes-left_title {
    font-size: 23px;
  }
}
@media screen and (max-width: 1040px) {
  [data-id="functions"] .scenes-left_title {
    font-size: 21px;
  }
}
@media screen and (max-width: 1140px) {
  [data-id="functions"] .scenes-section {
    width: 100%;
  }
  [data-id="functions"] .scenes-left:after {
    right: -40px;
  }
  [data-id="functions"] .tab-col-3 .ftop-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 100%;
    padding: 0;
    margin: 0 auto;
  }
  [data-id="functions"] #toptab.tab-col-3 .ftop-tabs_block {
    width: calc(100% / 3 - 40px);
    max-width: 400px;
    margin: 20px;
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 960px) {
  [data-id="functions"] #toptab.tab-col-3 {
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 40px 0 auto;
  }
  [data-id="functions"] #toptab.tab-col-3 .ftop-tabs_block {
    width: calc(100% / 2 - 5px);
    max-width: 215px;
    padding: 32px 5px 30px;
    margin: 10px;
  }
  [data-id="functions"] #toptab.tab-col-3 .ftop-tabs_no {
    font-size: 48px;
  }
  [data-id="functions"] .scenes-main {
    padding: 0 20px;
  }
  [data-id="functions"] .tab-col-3 .ftop-tabs {
    justify-content: center;
    max-width: 500px;
  }
  [data-id="functions"] .ftop-tabs_title.pc {
    display: none;
  }
  [data-id="functions"] .ftop-tabs_title.sp {
    display: block;
    padding: 0 0 12px 0;
    line-height: 1.3;
  }
  [data-id="functions"] .scenes-section {
    display: block;
    width: 100%;
    padding: 0;
    margin: 40px auto 120px auto;
  }
  [data-id="functions"] .scenes-left {
    position: relative;
    width: 100%;
    padding: 10px 5px 20px 10px;
    margin-bottom: 50px;
    border-radius: 5px;
  }
  [data-id="functions"] .scenes-left:after {
    position: absolute;
    top: 104%;
    left: 47%;
    width: 28px;
    height: 33px;
    content: "";
    background: url("/km/assets-new/images/scenes/arrow.png") no-repeat;
    background-size: 28px 33px;
    transform: rotate(90deg);
  }
  [data-id="functions"] .scenes-left_no {
    position: absolute;
    top: -70px;
    left: 0;
    z-index: 2;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 70px;
    font-weight: bold;
    color: #e4f2ff;
  }
  [data-id="functions"] .scenes-left_title {
    position: relative;
    z-index: 3;
    font-size: 22px;
    white-space: inherit;
  }
  [data-id="functions"] .scenes-left_title span {
    color: #0e6ec8;
  }
  [data-id="functions"] .scenes-left_img {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
  }
  [data-id="functions"] .scenes-right {
    width: 100%;
    padding: 40px 20px;
    background: #e4f2ff;
    border-radius: 5px;
  }
  [data-id="functions"] .scenes-right_title {
    margin-bottom: 20px;
    font-size: 18px;
    line-height: calc(33 / 24);
  }
  [data-id="functions"] .scenes-right_msg {
    margin-bottom: 20px;
  }
  [data-id="functions"] .scenes-right_msg p {
    font-size: 16px;
  }
  [data-id="functions"] .scenes-right_link a {
    font-size: 15px;
    color: #22262a;
    text-decoration: underline;
  }
  [data-id="functions"] .scenes-right_link span {
    display: inline-block;
    margin-left: 20px;
    font-size: 10px;
  }
  [data-id="functions"] .contact-link {
    width: 100%;
    margin: -40px auto 80px auto;
  }
  [data-id="functions"] .contact-link br.pc {
    display: none;
  }
  [data-id="functions"] .contact-link-area {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  [data-id="functions"] .contact-link-area_block {
    width: 100%;
    margin-bottom: 33px;
  }
  [data-id="functions"] .contact-link-title {
    margin-bottom: 20px;
    font-size: 18px;
    text-align: center;
  }
  [data-id="functions"] .contact-link-title .orenge {
    color: #f15a24;
  }
  [data-id="functions"] .contact-link-title .blue {
    color: #0e6ec8;
  }
  [data-id="functions"] .contact-link_btn {
    max-width: 295px;
    margin: 0 auto;
    border-radius: 40px;
  }
  [data-id="functions"] .contact-link_btn.orenge {
    background: linear-gradient(#f15a24, #f7931e);
  }
  [data-id="functions"] .contact-link_btn.blue {
    background: linear-gradient(#2d8ae2, #5daaf3);
  }
  [data-id="functions"] .contact-link_btn a {
    display: block;
    width: 100%;
    padding: 10px 0;
    font-weight: bold;
    color: #fff;
    text-align: center;
  }
  [data-id="functions"] .contact-link_msg {
    margin-top: 40px;
  }
  [data-id="functions"] .contact-link_msg p {
    font-size: 16px;
    font-weight: initial;
    text-align: center;
  }
  [data-id="functions"] #related .fluid {
    padding: 0 20px;
  }
}
@media screen and (max-width: 960px) {
  [data-id="functions"] .br_tab {
    display: none;
  }
}
@media screen and (max-width: 540px) {
  [data-id="functions"] #toptab.tab-col-3 .ftop-tabs_block {
    width: calc(100% / 2 - 5px);
    max-width: 160px;
  }
}
[data-id="functions"] .form-title {
  font-size: 40px;
}
@media screen and (min-width: 769px) {
  .c-mobile {
    display: none !important;
  }
}
.l-home-top {
  position: relative;
  background: var(--blue-100);
}
.l-home-top .container {
  overflow: hidden;
  position: relative;
  text-align: center;
  display: grid;
  max-width: 100%;
}
@media screen and (max-width: 540px) {
  .l-home-top .container {
    padding-bottom: 64px;
  }
}
@media screen and (min-width: 960px) {
  .l-home-top .container {
    padding-left: 5vw;
    padding-right: 5vw;
    padding-top: 0px;
    padding-bottom: 0px;
    min-height: 480px;
    text-align: left;
    max-width: 100%;
  }
}
@media screen and (min-width: 1180px) {
  .l-home-top .container {
    min-height: 540px;
  }
}
@media screen and (min-width: 1280px) {
  .l-home-top .container {
    max-width: 1520px;
    min-height: 640px;
  }
}
.l-home-top .l-home-content {
  z-index: 2;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.l-home-top .l-home-movie {
  width: 100%;
  max-width: 720px;
  margin-top: 16px;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 3/2;
}
@media screen and (max-width: 540px) {
  .l-home-top .l-home-movie {
    max-width: 82vw;
  }
}
@media screen and (min-width: 960px) {
  .l-home-top .l-home-movie {
    position: absolute;
    width: 42%;
    top: 24%;
    left: 54%;
  }
}
@media screen and (min-width: 1180px) {
  .l-home-top .l-home-movie {
    width: 46%;
    top: 22%;
    left: 51%;
  }
}
@media screen and (min-width: 1280px) {
  .l-home-top .l-home-movie {
    width: 46%;
    top: 26%;
    left: 51%;
  }
}
@media screen and (min-width: 1500px) {
  .l-home-top .l-home-movie {
    top: 20%;
    width: 50%;
    left: 50%;
  }
}
.l-home-top .l-home-movie .c-animation {
  opacity: 0;
/* scale 1.035 */
  transition: opacity 1s linear;
}
.l-home-top .l-home-movie .c-animation.is-animation-started {
  opacity: 1;
/* scale 1 */
}
.l-home-top h1 {
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  text-align: left;
  letter-spacing: 0.01em;
  line-height: 1.35;
  padding: 0;
  font-size: 6.8vw;
  margin-top: 44px;
}
@media screen and (min-width: 541px) {
  .l-home-top h1 {
    margin-top: 32px;
    font-size: 5.4vw;
  }
}
@media screen and (min-width: 960px) {
  .l-home-top h1 {
    margin-left: 0;
    margin-top: 64px;
    font-size: 3.8vw;
  }
}
@media screen and (min-width: 1180px) {
  .l-home-top h1 {
    margin-left: 0;
    margin-top: 90px;
    font-size: 3.6vw;
  }
}
@media screen and (min-width: 1500px) {
  .l-home-top h1 {
    font-size: 56px;
  }
}
.l-home-top .home-top-phrase {
  margin-top: 0px;
  margin-bottom: 24px;
}
@media screen and (min-width: 960px) {
  .l-home-top .home-top-phrase {
    margin-top: 24px;
    margin-bottom: 24px;
  }
}
@media screen and (min-width: 1180px) {
  .l-home-top .home-top-phrase {
    margin-top: 36px;
    margin-bottom: 40px;
  }
}
.l-home-top .home-top-phrase p {
  font-size: 3.8vw;
  line-height: 1.8;
  font-weight: bold;
}
@media screen and (min-width: 541px) {
  .l-home-top .home-top-phrase p {
    font-size: 17px;
    line-height: 1.9;
    font-size: 15px;
  }
}
@media screen and (min-width: 960px) {
  .l-home-top .home-top-phrase p {
    font-size: 12px;
  }
}
@media screen and (min-width: 1280px) {
  .l-home-top .home-top-phrase p {
    font-size: 17px;
  }
}
.l-home-top .btn-wrapper .btn-container {
  display: inline-flex;
  flex-direction: column;
  text-align: center;
  margin-right: 0;
}
@media screen and (min-width: 541px) {
  .l-home-top .btn-wrapper .btn-container {
    margin-right: 12px;
  }
}
.l-home-top .btn-wrapper .btn-container:last-child {
  margin-right: 0;
}
@media screen and (max-width: 540px) {
  .l-home-top .btn-wrapper .btn-container:last-child {
    margin-top: 16px;
  }
}
.l-home-top .btn-wrapper .btn-container span {
  font-size: 14px;
  line-height: 1;
  margin-bottom: 9px;
}
.l-home-top .btn-wrapper a {
  display: inline-block;
  max-width: 64vw;
  box-shadow: 0 2px 8px rgba(34,38,42,0.2);
}
@media screen and (min-width: 541px) {
  .l-home-top .btn-wrapper a {
    max-width: 212px;
  }
}
@media screen and (min-width: 1440px) {
  .l-home-top .btn-wrapper a {
    max-width: 220px;
  }
}
@media screen and (min-width: 1180px) {
  .l-home-top .btn-wrapper {
    margin-bottom: 0;
  }
}
.home-line {
  display: block;
}
.home-line span {
  display: inline-block;
}
.home-line-2 {
  padding-bottom: 8px;
}
.home-text--small {
  margin-left: 4px;
  margin-right: 4px;
  font-size: 0.76em;
}
#home-text--news {
  position: relative;
}
.a-border-bottom::after {
  content: "";
  position: absolute;
  height: 6px;
  bottom: -6px;
  left: 0;
  width: 100%;
  background-color: var(--text-blue-400);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease-in;
  border-radius: 999px;
}
@media screen and (max-width: 540px) {
  .a-border-bottom::after {
    height: 4px;
    bottom: -4px;
  }
}
.a-title-border-bottom {
  position: relative;
  z-index: 2;
/* display inline-block */
  color: transparent;
  background: linear-gradient(-60deg, #000 25%, #0c59a1, #0c59a1, #000 75%);
  background-size: 500% 100%;
  background-repeat: no-repeat;
  background-position: left;
  -webkit-background-clip: text;
/* animation gradientAnimation 1.8s ease-in forwards */
  background-blend-mode: multiply;
}
.a-title-border-bottom span {
  display: inline-block;
  color: transparent;
  background: linear-gradient(-60deg, #000 25%, #0c59a1, #0c59a1, #000 75%);
  background-size: 500% 100%;
  background-repeat: no-repeat;
  background-position: left;
  -webkit-background-clip: text;
}
.a-title-border-bottom::after {
  content: "";
  position: absolute;
  height: 0.3em;
  left: 0;
  bottom: 4px;
  width: 100%;
  background-color: rgba(255,192,96,0.6);
  mix-blend-mode: multiply;
  z-index: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s ease-in;
/* border-radius 999px */
}
.a-title-border-bottom--is-active::after {
  transform: scaleX(1);
}
.a-title-border-bottom--is-active .a-letter-upper-dot:nth-child(1)::after {
  animation-delay: 0.4s;
}
.a-title-border-bottom--is-active .a-letter-upper-dot:nth-child(2)::after {
  animation-delay: 0.5s;
}
.a-title-border-bottom--is-active .a-letter-upper-dot:nth-child(3)::after {
  animation-delay: 0.6s;
}
.a-title-border-bottom--is-active .a-letter-upper-dot:nth-child(4)::after {
  animation-delay: 0.7s;
}
.a-title-border-bottom--is-active .a-letter-upper-dot:nth-child(5)::after {
  animation-delay: 0.8s;
}
.a-title-border-bottom--is-active .a-letter-upper-dot::after {
  animation: bounceScaleSmall 0.4s forwards;
}
.a-letter-upper-dot {
  display: inline-block;
  position: relative;
}
.a-letter-upper-dot::after {
  z-index: 4;
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: -1px;
  border-radius: 999px;
  background-color: var(--text-yellow-500);
  left: calc(0.5em - 4px);
  transition: transform 0.3s ease;
  transform: scale(0);
  transform-origin: center center;
}
@media screen and (min-width: 541px) {
  .a-letter-upper-dot::after {
    width: 8px;
    height: 8px;
    top: 0px;
  }
}
.a-news-text--is-active.a-border-bottom::after {
  transform: scaleX(1);
}
.a-news-text--is-active .a-letter-upper-dot:nth-child(1)::after {
  animation-delay: 0.45s;
}
.a-news-text--is-active .a-letter-upper-dot:nth-child(2)::after {
  animation-delay: 0.65s;
}
.a-news-text--is-active .a-letter-upper-dot::after {
  animation: bounceScaleSmall 0.5s forwards;
}
.slide-up-container {
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  filter: blur(0);
  -webkit-filter: blur(0);
  overflow: hidden;
  width: max-width;
  white-space: nowrap;
  margin: 0;
  animation-delay: 0;
}
.slide-up {
  position: relative;
  display: inline-block;
  transform: translateY(100%);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.slide-up.is-slide-up-active {
  animation: slide-up 0.75s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}
.home-top-fade-in {
  opacity: 0;
}
.home-top-fade-in.is-fade-in-active {
  animation: fade-in 0.4s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}
:root {
  --lc-slide-default-width: 200px;
  --lc-iteration-time: 24s;
}
.carousel {
  position: relative;
  width: 100vw;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: filter;
  overflow: hidden;
  height: 10vmax;
  display: flex;
}
.carousel__bg {
  width: 100%;
  height: 100%;
  position: absolute;
}
.carousel__wrapper {
  opacity: 0;
  transition: opacity 1s linear;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
  margin: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: filter;
  overflow: hidden;
}
.carousel__slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 0 0 auto;
  width: 100vw;
  max-width: var(--lc-slide-width);
  box-sizing: border-box;
  position: relative;
  margin: 0;
  padding: 0 32px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: filter;
  overflow: hidden;
}
.carousel.is-animation-active .carousel__wrapper {
  opacity: 1;
}
.carousel.is-animation-active .carousel__wrapper .carousel__slide {
  animation: logoScroll var(--lc-iteration-time) linear infinite;
}
section h2 {
  font-size: 6.8vw;
  line-height: 1.6;
}
@media screen and (min-width: 541px) {
  section h2 {
    font-size: 36px;
  }
}
@media screen and (min-width: 1140px) {
  section h2 {
    font-size: 40px;
  }
}
section h3 {
  font-size: 22px;
  line-height: 1.5;
}
.c-placeholder img {
  border-radius: 4px;
  transition: all 0.1s ease-out;
}
.c-placeholder a:hover img {
  transform: scale(1.025);
}
section > .container {
  overflow: hidden;
  padding-top: 32px;
  padding-bottom: 72px;
}
@media screen and (min-width: 541px) {
  section > .container {
    padding-top: 72px;
    padding-bottom: 96px;
  }
}
@media screen and (min-width: 960px) {
  section > .container {
    padding-top: 72px;
    padding-bottom: 96px;
  }
}
.hover-link-group > * {
  transition: all 0.2s;
}
.hover-link-group:hover .c-placeholder {
  opacity: 0.66;
}
.hover-link-group a {
  color: var(--text-color-black);
}
.l-sources {
  padding-left: 5vw;
  padding-right: 5vw;
  background-image: linear-gradient(180deg, rgba(255,255,255,0) 0, rgba(158,206,252,0.25) 240px, rgba(158,206,252,0.25) 280px, rgba(255,255,255,0) 540px);
}
.l-sources h2 {
  line-height: 1.5;
}
.l-spec {
  background-image: linear-gradient(180deg, rgba(228,242,255,0.5), rgba(255,255,255,0) 240px);
}
.l-spec .container {
  padding-left: 8vw;
  padding-right: 8vw;
}
@media screen and (min-width: 541px) {
  .l-spec .container {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
.l-spec .cols .col-wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 520px;
  position: relative;
  border-radius: 12px;
}
.l-spec .cols .col-container {
  background: #fff;
  background-image: linear-gradient(172deg, rgba(228,242,255,0.5) 48%, rgba(255,255,255,0) 48%);
  box-shadow: inset 0px 0px 0px 3px var(--text-blue-600);
/* box-shadow: rgba(0, 62, 112, 0.3) 0px 0px 1px 0px, rgba(0, 62, 112, 0.15) 0px 0px 16px 2px */
  border-radius: 12px;
  padding: 32px 20px;
}
.l-spec h3 {
  text-align: center;
  display: block;
}
.l-spec .c-placeholder {
  padding: 28px 20px 24px;
}
.l-spec .title_upper {
  text-align: center;
  font-family: Roboto Condensed, Roboto, sans-serif;
  font-weight: bold;
  font-size: 54px;
  color: var(--text-blue-400);
  line-height: 1;
  margin-bottom: 4px;
}
.l-spec .col-footer {
  text-align: center;
/* position absolute
		bottom -26px
		left 50%
		transform: translateX(-50%) */
}
.l-spec .col-footer a {
  box-shadow: none;
  background: transparent;
  border: none;
  border-bottom: 1px solid currentColor;
  padding: 0;
  border-radius: 0;
}
.l-spec .c-placeholder img,
.l-spec .c-placeholder svg {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 280px;
}
.l-spec .section-footer {
  margin-top: 32px;
}
.l-functions {
  background-image: linear-gradient(180deg, rgba(228,242,255,0.5), rgba(255,255,255,0) 480px);
/* +BP(tablet)
		background-image none */
/* background-image linear-gradient(180deg, rgba(228, 242, 255,0.5), rgba(255,255,255,0) 480px) */
}
.l-functions .container .col-wrapper,
.l-functions .cols .col-wrapper {
  position: relative;
  text-align: center;
}
.l-functions .c-placeholder {
  margin: 20px 0 12px;
}
.l-functions .col-footer .btn-main {
  background: transparent;
  border: none;
  border-bottom: 1px solid currentColor;
  padding: 0;
  border-radius: 0;
}
.l-functions .section-footer {
  margin-top: 40px;
}
.l-usage {
  background-image: linear-gradient(180deg, rgba(228,242,255,0.5), rgba(255,255,255,0) 480px);
}
.l-usage .container {
  text-align: center;
}
@media screen and (min-width: 541px) {
  .l-usage .container {
    text-align: left;
  }
}
@media screen and (min-width: 960px) {
  .l-usage .container {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
.l-usage .cols {
  margin-left: auto;
  margin-right: auto;
  max-width: 540px;
}
@media screen and (min-width: 960px) {
  .l-usage .cols {
    max-width: 100%;
  }
}
.l-usage .col {
  margin-bottom: 40px;
}
.l-usage h3 {
  text-align: center;
  padding-top: 32px;
  padding-bottom: 8px;
  font-size: 24px;
}
.l-usage .c-title {
  background: var(--blue-100);
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}
.l-usage .c-placeholder {
  background-image: linear-gradient(172deg, #e4f2ff, rgba(255,255,255,0) 100%);
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  margin-bottom: 28px;
  margin-left: auto;
  margin-right: auto;
}
.l-usage .c-placeholder img {
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}
.l-usage .col-footer .hover-link-group a {
  color: var(--text-blue-600);
}
.l-usage h4 {
  font-size: 17px;
  margin-bottom: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 1140px) {
  .l-usage h4 {
    font-size: 20px;
  }
}
.l-usage .col-footer {
  margin-top: 28px;
}
.l-usage p {
  opacity: 0.8;
  font-size: 14px;
}
.l-customers {
  background-image: linear-gradient(180deg, rgba(228,242,255,0.5), rgba(255,255,255,0) 480px);
}
.l-customers .section-footer {
  margin-top: 24px;
  text-align: center;
}
.l-problems {
  background-image: linear-gradient(180deg, rgba(228,242,255,0.5), rgba(255,255,255,0) 480px);
}
.l-problems .container {
  padding-bottom: 0;
}
@media screen and (min-width: 1024px) {
  .l-problems .inner-cols {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 541px) {
  .l-problems .inner-col {
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
}
@media screen and (min-width: 1024px) {
  .l-problems .inner-col {
    display: block;
    width: 100%;
    padding: 0 8px;
  }
}
.l-problems .col-wrapper {
  margin: 12px auto;
  text-align: center;
  background: var(--text-blue-100);
  padding: 24px 48px;
  border-radius: 999px;
  max-width: 540px;
  min-width: 240px;
}
@media screen and (min-width: 541px) {
  .l-problems .col-wrapper {
    max-width: 50vw;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (min-width: 1024px) {
  .l-problems .col-wrapper {
    max-width: 540px;
    margin: 12px;
  }
}
.l-problems .col-wrapper h3 {
  line-height: 1.75;
  font-size: 4.4vw;
}
@media screen and (min-width: 541px) {
  .l-problems .col-wrapper h3 {
    font-size: 20px;
  }
}
@media screen and (min-width: 960px) {
  .l-problems .col-wrapper h3 {
    font-size: 1.75vw;
  }
}
@media screen and (min-width: 1140px) {
  .l-problems .col-wrapper h3 {
    font-size: 20px;
  }
}
.l-problems .c-placeholder img {
  margin-left: auto;
  margin-right: auto;
  max-width: 160px;
}
.l-solutions {
  margin-bottom: 72px;
  text-align: center;
  margin-top: 48px;
}
.l-solutions .container {
  overflow: initial;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
  width: 92vw;
  padding: 12px 16px 24px;
  border: 3px solid var(--text-blue-600);
  border-radius: 24px;
}
@media screen and (min-width: 541px) {
  .l-solutions .container {
    width: 86vw;
    max-width: 640px;
  }
}
@media screen and (min-width: 960px) {
  .l-solutions .container {
    width: 92vw;
    max-width: 1080px;
  }
}
@media screen and (min-width: 541px) {
  .l-solutions .container {
    width: 80vw;
  }
}
@media screen and (min-width: 960px) {
  .l-solutions .container {
    width: 92vw;
    padding: 12px 16px 32px;
  }
}
@media screen and (min-width: 1024px) {
  .l-solutions .container {
    width: 90vw;
  }
}
.l-solutions h2 {
  color: var(--text-blue-700);
  font-size: 21px;
}
@media screen and (min-width: 541px) {
  .l-solutions h2 {
    font-size: 28px;
  }
}
@media screen and (min-width: 1120px) {
  .l-solutions h2 {
    font-size: 32px;
  }
}
.l-solutions h3 {
  color: var(--text-blue-700);
  font-size: 20px;
}
@media screen and (min-width: 960px) {
  .l-solutions h3 {
    font-size: 1.75vw;
  }
}
@media screen and (min-width: 1140px) {
  .l-solutions h3 {
    font-size: 20px;
  }
}
@media screen and (min-width: 960px) {
  .l-solutions .inner-cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.l-solutions .inner-col {
  margin: 20px;
  right: bottom left;
  border-right: none;
  border-bottom: 1px solid var(--text-blue-600);
  padding: 24px 16px;
}
@media screen and (min-width: 960px) {
  .l-solutions .inner-col {
    margin: 0;
    padding: 0 24px 0;
    border-bottom: none;
    border-right: 1px solid var(--text-blue-600);
  }
}
.l-solutions .inner-col:last-child {
  border: none;
}
.l-solutions .c-placeholder {
  max-width: 240px;
  margin: 0 auto 0;
}
@media screen and (min-width: 541px) {
  .l-solutions .c-placeholder {
    margin: 16px auto 0;
  }
}
.l-solutions .divider-v {
  transform: rotate(90deg);
  margin-top: -40px;
}
.l-solutions .arrow-down {
  position: absolute;
  top: -3px;
  width: 72px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.l-callout-button-set {
  text-align: center;
}
.l-callout-button-set .container {
  padding: 24px 5vw 60px;
  margin-bottom: 60px;
}
.l-callout-button-set aside {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 12px;
}
.l-callout-button-set .inner-cols {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 769px) {
  .l-callout-button-set .inner-cols {
    display: inline-flex;
    flex: 0 0 auto;
  }
}
.l-callout-button-set .inner-col {
  padding: 24px 12px;
}
.l-callout-button-set a {
  box-shadow: 0 2px 8px rgba(34,38,42,0.2) !important;
}
.btn-main {
  cursor: pointer;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  white-space: nowrap;
  padding: 12px 24px;
  border-radius: 999px;
  transition: all 0.2s;
  color: var(--text-blue-600);
  box-shadow: inset var(--text-blue-600) 0px 0px 0px 2px;
  background: #fff;
  font-weight: bold;
  font-size: 13.5px;
  text-align: center;
}
.btn-main::after {
  content: '→';
  font-weight: normal;
  margin-left: 4px;
}
.btn-main:hover {
  transform: scale(1.0375);
}
.btn-main.is-primary,
.btn-main.is-callout {
  box-shadow: none;
  border: none;
  color: #fff !important;
  padding: 12px 24px;
  font-size: 15px;
  width: 280px;
  box-shadow: none;
}
.btn-main.is-primary::after,
.btn-main.is-callout::after {
  content: '';
  display: none !important;
}
.btn-main.is-primary {
  background: linear-gradient(60deg, var(--text-blue-600) 0%, var(--text-blue-500) 100%);
}
.btn-main.is-secondary {
  background: #fff;
  box-shadow: inset var(--blue-600) 0px 0px 0px 2px;
  color: var(--blue-600);
  border: none;
}
.btn-main.is-callout {
  background: linear-gradient(60deg, #f15a24 0%, #f7931e 100%);
}
.btn-main.is-small {
  width: auto;
  font-size: 12.5px;
  padding: 12.5px 24px;
}
@media screen and (max-width: 540px) {
  .btn-main.is-small {
    padding: 10px 12px;
  }
}
.section-footer .btn-main {
  padding: 12px 32px;
  font-size: 16px;
}
.stack-card {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1080px;
  text-align: left;
  margin-bottom: 48px;
  border-radius: 12px;
  background: #fff;
/* box-shadow: var(--text-blue-600) 0px 0px 0px 3px */
  background-image: linear-gradient(172deg, #e4f2ff 0%, rgba(228,242,255,0.4) 50%, rgba(228,242,255,0.05) 80%, rgba(228,242,255,0.5) 100%);
}
@media screen and (min-width: 541px) {
  .stack-card {
    margin-bottom: 90px;
  }
}
@media screen and (min-width: 1140px) {
  .stack-card {
    margin-top: 60px;
    margin-bottom: 60px;
    display: grid;
    grid-template-columns: 420px 1fr;
  }
}
.stack-card__content {
  padding: 32px 24px 48px;
}
@media screen and (min-width: 541px) {
  .stack-card__content {
    padding: 40px 40px 0;
  }
}
@media screen and (min-width: 1140px) {
  .stack-card__content {
    padding: 48px;
  }
}
.stack-card__content--wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.stack-card__content--wrapper .c-title {
  margin-bottom: 16px;
}
.stack-card__content--wrapper .c-title h3 {
  font-size: 5.6vw;
}
@media screen and (min-width: 541px) {
  .stack-card__content--wrapper .c-title h3 {
    font-size: 24px;
  }
}
.stack-card__content--icon {
  width: 44px;
  color: var(--text-blue-400);
  margin-bottom: 12px;
}
.stack-card__content--link {
  margin-top: 16px;
}
.stack-card__content--link a {
  box-shadow: none;
}
@media screen and (min-width: 1140px) {
  .stack-card__content--link {
    margin-top: 32px;
  }
}
.stack-card__content .c-placeholder {
  margin-top: 16vw;
  margin-bottom: 20vw;
  transform: scale(1.5);
  transform-origin: left 50%;
}
@media screen and (min-width: 541px) {
  .stack-card__content .c-placeholder {
    display: none;
  }
}
.stack-card__image .c-placeholder {
  opacity: 0;
  transition: translate 0.3s ease-out, opacity 0.5s ease-out;
  margin: 16px 20px;
  translate: 0 32px;
}
@media screen and (max-width: 540px) {
  .stack-card__image .c-placeholder {
    display: none;
  }
}
@media screen and (min-width: 541px) {
  .stack-card__image .c-placeholder {
    margin: 16px 40px;
    translate: 0 24px;
  }
}
@media screen and (min-width: 1140px) {
  .stack-card__image .c-placeholder {
    margin: 36px 0;
    translate: calc(54px + 24px) 0;
  }
}
.stack-card__image .c-placeholder.is-slide-in-right-to-left-active {
  opacity: 1;
}
@media screen and (min-width: 1140px) {
  .stack-card__image .c-placeholder.is-slide-in-right-to-left-active {
    translate: 54px 0;
  }
}
.stack-card .c-placeholder img {
  border-radius: 8px;
  box-shadow: rgba(0,62,112,0.3) 0px 0px 1px 0px, rgba(0,62,112,0.15) 0px 0px 16px 2px;
}
@media screen and (min-width: 541px) {
  .stack-card .c-placeholder img {
    border-radius: 16px;
  }
}
.section-header .c-title-upper {
  margin: 0;
  text-align: center;
  margin-bottom: 6px;
}
@media screen and (min-width: 541px) {
  .section-header .c-title-upper {
    margin-bottom: 8px;
  }
}
.section-header .c-title-upper span {
  display: inline-block;
  font-weight: bold;
  font-size: 20px;
  color: var(--gray-900);
  -moz-font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (min-width: 541px) {
  .section-header .c-title-upper span {
    font-size: 28px;
  }
}
.c-title-description {
  word-break: keep-all;
  overflow-wrap: break-word;
  text-align: center;
  margin-top: 16px;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.75;
}
@media screen and (min-width: 541px) {
  .c-title-description {
    font-size: 17px;
  }
}
@-moz-keyframes logoScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(var(--lc-slide-total-width));
  }
}
@-webkit-keyframes logoScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(var(--lc-slide-total-width));
  }
}
@-o-keyframes logoScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(var(--lc-slide-total-width));
  }
}
@keyframes logoScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(var(--lc-slide-total-width));
  }
}
[data-id='trials'] .hero-nav,
[data-id^='trials-'] .hero-nav {
  padding-top: 0;
}
[data-id='trials'] .hero-nav .c-title,
[data-id^='trials-'] .hero-nav .c-title {
  letter-spacing: 0;
  color: #232323;
  z-index: 3;
  position: relative;
  line-height: 1.45;
  font-size: 6vw;
}
@media screen and (min-width: 541px) {
  [data-id='trials'] .hero-nav .c-title,
  [data-id^='trials-'] .hero-nav .c-title {
    font-size: 5vw;
  }
}
@media screen and (min-width: 769px) {
  [data-id='trials'] .hero-nav .c-title,
  [data-id^='trials-'] .hero-nav .c-title {
    font-size: 5vw;
  }
}
@media screen and (min-width: 960px) {
  [data-id='trials'] .hero-nav .c-title,
  [data-id^='trials-'] .hero-nav .c-title {
    font-size: 2.6vw;
  }
}
@media screen and (min-width: 1140px) {
  [data-id='trials'] .hero-nav .c-title,
  [data-id^='trials-'] .hero-nav .c-title {
    font-size: 32px;
  }
}
@media screen and (min-width: 1440px) {
  [data-id='trials'] .hero-nav .c-title,
  [data-id^='trials-'] .hero-nav .c-title {
    font-size: 36px;
  }
}
[data-id='trials'] .hero-nav .c-title.small,
[data-id^='trials-'] .hero-nav .c-title.small,
[data-id='trials'] .hero-nav .c-title.text-sm,
[data-id^='trials-'] .hero-nav .c-title.text-sm {
  font-size: 5.2vw;
}
@media screen and (min-width: 769px) {
  [data-id='trials'] .hero-nav .c-title.small,
  [data-id^='trials-'] .hero-nav .c-title.small,
  [data-id='trials'] .hero-nav .c-title.text-sm,
  [data-id^='trials-'] .hero-nav .c-title.text-sm {
    font-size: 4.2vw;
  }
}
@media screen and (min-width: 960px) {
  [data-id='trials'] .hero-nav .c-title.small,
  [data-id^='trials-'] .hero-nav .c-title.small,
  [data-id='trials'] .hero-nav .c-title.text-sm,
  [data-id^='trials-'] .hero-nav .c-title.text-sm {
    font-size: 2.2vw;
  }
}
@media screen and (min-width: 1140px) {
  [data-id='trials'] .hero-nav .c-title.small,
  [data-id^='trials-'] .hero-nav .c-title.small,
  [data-id='trials'] .hero-nav .c-title.text-sm,
  [data-id^='trials-'] .hero-nav .c-title.text-sm {
    font-size: 28px;
  }
}
@media screen and (min-width: 1440px) {
  [data-id='trials'] .hero-nav .c-title.small,
  [data-id^='trials-'] .hero-nav .c-title.small,
  [data-id='trials'] .hero-nav .c-title.text-sm,
  [data-id^='trials-'] .hero-nav .c-title.text-sm {
    font-size: 32px;
  }
}
[data-id='trials'] .hero-nav .c-subtitle,
[data-id^='trials-'] .hero-nav .c-subtitle {
  font-size: 15px;
  color: #232323;
  line-height: 1.65;
  font-weight: normal;
}
@media screen and (min-width: 769px) {
  [data-id='trials'] .hero-nav .c-subtitle,
  [data-id^='trials-'] .hero-nav .c-subtitle {
    font-size: 18px;
  }
}
[data-id='trials'] .text-hl,
[data-id^='trials-'] .text-hl {
  transition: all 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  padding-left: 0px;
  padding-right: 0;
  padding-top: 2px;
  padding-bottom: 2px;
  border-radius: 2px;
}
[data-id='trials'] .text-hl.is-active,
[data-id^='trials-'] .text-hl.is-active {
  background-size: 100% 100%;
  background-image: linear-gradient(transparent, transparent 80%, #ffe0aa 80%, #ffe0aa 100%);
}
[data-id='trials'] .link-block,
[data-id^='trials-'] .link-block {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  color: #232323;
  background: #f5f7fa;
  border-radius: 16px;
  padding: 40px 20px 40px;
  text-align: center;
}
@media screen and (min-width: 541px) {
  [data-id='trials'] .link-block,
  [data-id^='trials-'] .link-block {
    padding: 40px 36px 48px;
  }
}
[data-id='trials'] .link-block:hover,
[data-id^='trials-'] .link-block:hover {
/* box-shadow: rgba(3, 102, 214, 0.2) 0px 0px 0px 1px; */
  background: #f9fafc;
/* box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.1) 0px 0px 0px 1px; */
}
[data-id='trials'] .link-block:hover .btn,
[data-id^='trials-'] .link-block:hover .btn {
  box-shadow: 0 2px 12px 0 rgba(0,0,0,0.2);
}
[data-id='trials'] .link-block__top,
[data-id^='trials-'] .link-block__top {
  flex: 0;
}
[data-id='trials'] .link-block__center,
[data-id^='trials-'] .link-block__center {
  padding: 32px 0 40px 0;
  flex: 1;
  display: flex;
  align-items: flex-end;
}
[data-id='trials'] .link-block__center img,
[data-id^='trials-'] .link-block__center img {
  width: 100%;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
[data-id='trials'] .link-block__bottom,
[data-id^='trials-'] .link-block__bottom {
  flex: 0;
}
@media screen and (min-width: 960px) {
  [data-id='trials'] .mx-n1-fluid,
  [data-id^='trials-'] .mx-n1-fluid {
    margin-left: -16px;
    margin-right: -16px;
  }
}
[data-id='trials'] .border-radius-1,
[data-id^='trials-'] .border-radius-1 {
  border-radius: 4px;
}
[data-id='trials'] .border-radius-2,
[data-id^='trials-'] .border-radius-2 {
  border-radius: 8px;
}
[data-id='trials'] .border-radius-3,
[data-id^='trials-'] .border-radius-3 {
  border-radius: 12px;
}
[data-id='trials'] .border-radius-4,
[data-id^='trials-'] .border-radius-4 {
  border-radius: 16px;
}
[data-id='trials'] .btn.is-large,
[data-id^='trials-'] .btn.is-large {
  padding: 18px 44px;
  font-size: 18px;
}
[data-id='trials'] .grid.is-text-and-image,
[data-id^='trials-'] .grid.is-text-and-image,
[data-id='trials'] .grid.is-image-and-text,
[data-id^='trials-'] .grid.is-image-and-text {
  grid-gap: 40px 24px;
}
@media screen and (max-width: 959px) {
  [data-id='trials'] .grid.is-text-and-image,
  [data-id^='trials-'] .grid.is-text-and-image,
  [data-id='trials'] .grid.is-image-and-text,
  [data-id^='trials-'] .grid.is-image-and-text {
    margin-left: auto;
    margin-right: auto;
    max-width: 720px;
    grid-template-columns: 1fr;
  }
}
[data-id='trials'] .box-text,
[data-id^='trials-'] .box-text {
  width: 100%;
}
[data-id='trials'] .box-text__wrapper,
[data-id^='trials-'] .box-text__wrapper {
  width: 100%;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
[data-id='trials'] .box-center,
[data-id^='trials-'] .box-center {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
[data-id='trials'] .box-center__wrapper,
[data-id^='trials-'] .box-center__wrapper {
  display: inline-block;
  text-align: left;
}
.text-hl.heading {
  transition: all 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  padding-left: 0;
  padding-right: 0;
  padding-top: 2px;
  padding-bottom: 2px;
  border-radius: 2px;
}
.text-hl.heading.is-active {
  background-size: 100% 100%;
  background-image: linear-gradient(transparent, transparent 80%, #ffe0aa 80%, #ffe0aa 100%);
}
.customer-header {
  margin-left: auto;
  margin-right: auto;
  max-width: 1140px;
  display: grid;
  grid-column-gap: 40px;
  grid-row-gap: 20px;
  grid-template-columns: 1fr;
  margin-top: 60px;
  margin-bottom: 60px;
}
@media screen and (min-width: 960px) {
  .customer-header {
    grid-gap: 40px;
    grid-template-columns: 3.5fr 7fr;
  }
}
@media screen and (min-width: 1140px) {
  .customer-header {
    grid-gap: 40px;
    grid-template-columns: 4.5fr 5.5fr;
  }
}
.customer-header__thumbnail {
  border-radius: 8px;
}
.customer-header__thumbnail .c-thumbnail {
  border-radius: 8px;
  padding-top: 56.25%;
  background-color: #fff;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 960px) {
  .customer-header__thumbnail .c-thumbnail {
    padding-top: 66.66%;
  }
}
.customer-header__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.customer-header__text .c-title {
  font-size: 24px;
}
@media screen and (max-width: 540px) {
  .customer-header__text .c-title {
    font-size: 5vw;
  }
}
.customer-header__text .c-subtitle {
  font-size: 28px;
}
@media screen and (max-width: 540px) {
  .customer-header__text .c-subtitle {
    font-size: 5.6vw;
  }
}
.customer-header__text .c-companyName {
  font-weight: normal;
  font-size: 15.5px;
/* margin-top 8px */
  margin-bottom: 8px;
  color: var(--gray700);
}
@media screen and (max-width: 540px) {
  .customer-header__text .c-companyName {
    font-size: 4vw;
  }
}
.customer-header__text .c-shortInfo {
  font-size: 13px;
}
.customer-header__text--link {
  margin-top: 12px;
  font-size: 14px;
  text-align: right;
}
.customer-compare {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 0.7fr 24px 1fr;
  gap: 4px;
}
@media screen and (max-width: 540px) {
  .customer-compare {
    grid-template-columns: 0.8fr 20px 1fr;
  }
}
.customer-compare__content {
  border-radius: 8px;
  padding: 20px 16px 14px;
}
@media screen and (max-width: 540px) {
  .customer-compare__content {
    padding: 20px 12px 14px;
  }
}
.customer-compare__content--before {
  background-color: var(--gray100);
}
.customer-compare__content--after {
  background-color: var(--blue100);
}
.customer-compare__content .c-header {
  font-size: 14px;
  line-height: 1.45;
  margin-bottom: 1rem;
}
.customer-compare__content .c-content {
  padding-left: 2px;
}
.customer-compare__content .c-content p {
  font-weight: bold;
  line-height: 1.45;
  margin-bottom: 0.5rem;
}
.customer-compare__content--arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.customer-compare__content--arrow .c-arrow {
  width: 0;
  height: 0;
  margin-left: -6px;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 12px solid var(--blue500);
}
.is-hide {
  display: none;
}
.is-inline,
.inline {
  display: inline;
}
.is-inline-block,
.inline-block {
  display: inline-block;
}
.is-inline-flex,
.inline-flex {
  display: inline-flex;
}
.is-block {
  display: block;
}
.is-flex {
  display: flex;
}
@media screen and (max-width: 540px) {
  .is-hide-mobile {
    display: none !important;
  }
  .is-inline-mobile {
    display: none;
  }
  .is-inline-block-mobile {
    display: none;
  }
  .is-inline-flex-mobile {
    display: none !important;
  }
  .is-block-mobile {
    display: none;
  }
}
.is-show-mobile {
  display: none;
}
@media screen and (max-width: 540px) {
  .is-show-mobile {
    display: inline !important;
  }
  .is-inline-mobile {
    display: inline !important;
  }
  .is-inline-flex-mobile {
    display: inline-flex !important;
  }
  .is-inline-block-mobile {
    display: inline-block !important;
  }
  .is-block-mobile {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .is-hide-touch {
    display: none !important;
  }
  .is-inline-touch {
    display: none;
  }
  .is-inline-block-touch {
    display: none;
  }
  .is-inline-flex-touch {
    display: none !important;
  }
  .is-block-touch {
    display: none;
  }
}
.is-show-touch {
  display: none;
}
@media screen and (max-width: 768px) {
  .is-show-touch {
    display: inline !important;
  }
  .is-inline-touch {
    display: inline !important;
  }
  .is-inline-flex-touch {
    display: inline-flex !important;
  }
  .is-inline-block-touch {
    display: inline-block !important;
  }
  .is-block-touch {
    display: block !important;
  }
}
@media screen and (min-width: 541px) {
  .is-hide-tablet {
    display: none !important;
  }
  .is-inline-tablet {
    display: none;
  }
  .is-inline-block-tablet {
    display: none;
  }
  .is-inline-flex-tablet {
    display: none !important;
  }
  .is-block-tablet {
    display: none;
  }
}
.is-show-tablet {
  display: none;
}
@media screen and (min-width: 541px) {
  .is-show-tablet {
    display: inline !important;
  }
  .is-inline-tablet {
    display: inline !important;
  }
  .is-inline-flex-tablet {
    display: inline-flex !important;
  }
  .is-inline-block-tablet {
    display: inline-block !important;
  }
  .is-block-tablet {
    display: block !important;
  }
}
@media screen and (min-width: 769px) {
  .is-hide-desktop {
    display: none !important;
  }
  .is-inline-desktop {
    display: none;
  }
  .is-inline-block-desktop {
    display: none;
  }
  .is-inline-flex-desktop {
    display: none !important;
  }
  .is-block-desktop {
    display: none;
  }
}
.is-show-desktop {
  display: none;
}
@media screen and (min-width: 769px) {
  .is-show-desktop {
    display: inline !important;
  }
  .is-inline-desktop {
    display: inline !important;
  }
  .is-inline-flex-desktop {
    display: inline-flex !important;
  }
  .is-inline-block-desktop {
    display: inline-block !important;
  }
  .is-block-desktop {
    display: block !important;
  }
}
@media screen and (max-width: 959px) {
  .is-hide-narrow {
    display: none !important;
  }
  .is-inline-narrow {
    display: none;
  }
  .is-inline-block-narrow {
    display: none;
  }
  .is-inline-flex-narrow {
    display: none !important;
  }
  .is-block-narrow {
    display: none;
  }
}
.is-show-narrow {
  display: none;
}
@media screen and (max-width: 959px) {
  .is-show-narrow {
    display: inline !important;
  }
  .is-inline-narrow {
    display: inline !important;
  }
  .is-inline-flex-narrow {
    display: inline-flex !important;
  }
  .is-inline-block-narrow {
    display: inline-block !important;
  }
  .is-block-narrow {
    display: block !important;
  }
}
@media screen and (min-width: 960px) {
  .is-hide-fluid {
    display: none !important;
  }
  .is-inline-fluid {
    display: none;
  }
  .is-inline-block-fluid {
    display: none;
  }
  .is-inline-flex-fluid {
    display: none !important;
  }
  .is-block-fluid {
    display: none;
  }
}
.is-show-fluid {
  display: none;
}
@media screen and (min-width: 960px) {
  .is-show-fluid {
    display: inline !important;
  }
  .is-inline-fluid {
    display: inline !important;
  }
  .is-inline-flex-fluid {
    display: inline-flex !important;
  }
  .is-inline-block-fluid {
    display: inline-block !important;
  }
  .is-block-fluid {
    display: block !important;
  }
}
@media screen and (min-width: 1140px) {
  .is-hide-wide {
    display: none !important;
  }
  .is-inline-wide {
    display: none;
  }
  .is-inline-block-wide {
    display: none;
  }
  .is-inline-flex-wide {
    display: none !important;
  }
  .is-block-wide {
    display: none;
  }
}
.is-show-wide {
  display: none;
}
@media screen and (min-width: 1140px) {
  .is-show-wide {
    display: inline !important;
  }
  .is-inline-wide {
    display: inline !important;
  }
  .is-inline-flex-wide {
    display: inline-flex !important;
  }
  .is-inline-block-wide {
    display: inline-block !important;
  }
  .is-block-wide {
    display: block !important;
  }
}
@media screen and (min-width: 1440px) {
  .is-hide-hd {
    display: none !important;
  }
  .is-inline-hd {
    display: none;
  }
  .is-inline-block-hd {
    display: none;
  }
  .is-inline-flex-hd {
    display: none !important;
  }
  .is-block-hd {
    display: none;
  }
}
.is-show-hd {
  display: none;
}
@media screen and (min-width: 1440px) {
  .is-show-hd {
    display: inline !important;
  }
  .is-inline-hd {
    display: inline !important;
  }
  .is-inline-flex-hd {
    display: inline-flex !important;
  }
  .is-inline-block-hd {
    display: inline-block !important;
  }
  .is-block-hd {
    display: block !important;
  }
}
.readable {
  display: block;
  height: 0px;
  overflow: hidden;
  opacity: 0.01;
}
.is-overflow-hidden {
  overflow: hidden;
}
.effect-fade-in-seq {
  opacity: 0;
  animation: opacity 30ms ease;
}
.effect-fade-in-seq.is-active {
  opacity: 1;
}
.initial-fade-in {
  opacity: 0;
  animation: initialFadeIn 0.3s ease forwards;
  animation-delay: 0.65s;
}
.text-hl {
  transition: all 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 1px;
  padding-bottom: 1px;
}
.text-hl.is-active {
  color: #000;
  background-size: 100% 100%;
  background-image: linear-gradient(#fff2da, #fff2da);
}
.hl {
  background: #fff2da;
  color: #000;
  padding: 0px 2px 0px 2px;
}
.custom-hl {
  border-bottom: 3px solid #fab4b4;
}
@-moz-keyframes initialFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes initialFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes initialFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes initialFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.flex {
  display: flex;
  flex-wrap: wrap;
}
.flex-reverse {
  flex-direction: row-reverse;
}
.flex-column-reverse {
  flex-direction: column-reverse;
}
.flex-column {
  flex-direction: column;
}
.justify-content-start {
  justify-content: start;
}
.justify-content-center {
  justify-content: center;
}
.align-items-center {
  align-items: center;
}
.align-items-left {
  align-items: left;
}
.align-items-start {
  align-items: start;
}
.align-content-center {
  align-content: center;
}
.flex-align-center {
  align-items: center;
  align-content: center;
}
@media screen and (max-width: 540px) {
  .flex-reverse-mobile {
    flex-direction: row-reverse;
  }
  .flex-column-reverse-mobile {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 768px) {
  .flex-reverse-touch {
    flex-direction: row-reverse;
  }
  .flex-column-reverse-touch {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 541px) {
  .flex-reverse-tablet {
    flex-direction: row-reverse;
  }
  .flex-column-reverse-tablet {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 769px) {
  .flex-reverse-desktop {
    flex-direction: row-reverse;
  }
  .flex-column-reverse-desktop {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 959px) {
  .flex-reverse-narrow {
    flex-direction: row-reverse;
  }
  .flex-column-reverse-narrow {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 960px) {
  .flex-reverse-fluid {
    flex-direction: row-reverse;
  }
  .flex-column-reverse-fluid {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 1140px) {
  .flex-reverse-wide {
    flex-direction: row-reverse;
  }
  .flex-column-reverse-wide {
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 1440px) {
  .flex-reverse-hd {
    flex-direction: row-reverse;
  }
  .flex-column-reverse-hd {
    flex-direction: column-reverse;
  }
}
/* margin  padding
----------------------------------------------- */
.m-0 {
  margin: 0 !important;
}
.p-0 {
  padding: 0 !important;
}
.m-1 {
  margin: 1rem !important;
}
.p-1 {
  padding: 1rem !important;
}
.ml-auto {
  margin-left: auto !important;
}
.mr-auto {
  margin-right: auto !important;
}
.mt-auto {
  margin-top: auto !important;
}
.mb-auto {
  margin-bottom: auto !important;
}
.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}
.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.mx-initial {
  margin-left: initial !important;
  margin-right: initial !important;
}
.my-initial {
  margin-top: initial !important;
  margin-bottom: initial !important;
}
.m-0 {
  margin: 0rem !important;
}
.mt-0 {
  margin-top: 0rem !important;
}
.mb-0 {
  margin-bottom: 0rem !important;
}
.ml-0 {
  margin-left: 0rem !important;
}
.mr-0 {
  margin-right: 0rem !important;
}
.mv-0,
.my-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}
.mh-0,
.mx-0 {
  margin-left: 0rem !important;
  margin-right: 0rem !important;
}
.p-0 {
  padding: 0rem !important;
}
.pt-0 {
  padding-top: 0rem !important;
}
.pb-0 {
  padding-bottom: 0rem !important;
}
.pl-0 {
  padding-left: 0rem !important;
}
.pr-0 {
  padding-right: 0rem !important;
}
.pv-0,
.py-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}
.ph-0,
.px-0 {
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}
.m-quarter {
  margin: 0.25rem !important;
}
.mt-quarter {
  margin-top: 0.25rem !important;
}
.mb-quarter {
  margin-bottom: 0.25rem !important;
}
.ml-quarter {
  margin-left: 0.25rem !important;
}
.mr-quarter {
  margin-right: 0.25rem !important;
}
.mv-quarter,
.my-quarter {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}
.mh-quarter,
.mx-quarter {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}
.p-quarter {
  padding: 0.25rem !important;
}
.pt-quarter {
  padding-top: 0.25rem !important;
}
.pb-quarter {
  padding-bottom: 0.25rem !important;
}
.pl-quarter {
  padding-left: 0.25rem !important;
}
.pr-quarter {
  padding-right: 0.25rem !important;
}
.pv-quarter,
.py-quarter {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}
.ph-quarter,
.px-quarter {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}
.m-half {
  margin: 0.5rem !important;
}
.mt-half {
  margin-top: 0.5rem !important;
}
.mb-half {
  margin-bottom: 0.5rem !important;
}
.ml-half {
  margin-left: 0.5rem !important;
}
.mr-half {
  margin-right: 0.5rem !important;
}
.mv-half,
.my-half {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}
.mh-half,
.mx-half {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}
.p-half {
  padding: 0.5rem !important;
}
.pt-half {
  padding-top: 0.5rem !important;
}
.pb-half {
  padding-bottom: 0.5rem !important;
}
.pl-half {
  padding-left: 0.5rem !important;
}
.pr-half {
  padding-right: 0.5rem !important;
}
.pv-half,
.py-half {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
.ph-half,
.px-half {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}
.m-1 {
  margin: 1rem !important;
}
.mt-1 {
  margin-top: 1rem !important;
}
.mb-1 {
  margin-bottom: 1rem !important;
}
.ml-1 {
  margin-left: 1rem !important;
}
.mr-1 {
  margin-right: 1rem !important;
}
.mv-1,
.my-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}
.mh-1,
.mx-1 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}
.p-1 {
  padding: 1rem !important;
}
.pt-1 {
  padding-top: 1rem !important;
}
.pb-1 {
  padding-bottom: 1rem !important;
}
.pl-1 {
  padding-left: 1rem !important;
}
.pr-1 {
  padding-right: 1rem !important;
}
.pv-1,
.py-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.ph-1,
.px-1 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
.m-2 {
  margin: 2rem !important;
}
.mt-2 {
  margin-top: 2rem !important;
}
.mb-2 {
  margin-bottom: 2rem !important;
}
.ml-2 {
  margin-left: 2rem !important;
}
.mr-2 {
  margin-right: 2rem !important;
}
.mv-2,
.my-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}
.mh-2,
.mx-2 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}
.p-2 {
  padding: 2rem !important;
}
.pt-2 {
  padding-top: 2rem !important;
}
.pb-2 {
  padding-bottom: 2rem !important;
}
.pl-2 {
  padding-left: 2rem !important;
}
.pr-2 {
  padding-right: 2rem !important;
}
.pv-2,
.py-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}
.ph-2,
.px-2 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}
.m-3 {
  margin: 3rem !important;
}
.mt-3 {
  margin-top: 3rem !important;
}
.mb-3 {
  margin-bottom: 3rem !important;
}
.ml-3 {
  margin-left: 3rem !important;
}
.mr-3 {
  margin-right: 3rem !important;
}
.mv-3,
.my-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}
.mh-3,
.mx-3 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}
.p-3 {
  padding: 3rem !important;
}
.pt-3 {
  padding-top: 3rem !important;
}
.pb-3 {
  padding-bottom: 3rem !important;
}
.pl-3 {
  padding-left: 3rem !important;
}
.pr-3 {
  padding-right: 3rem !important;
}
.pv-3,
.py-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}
.ph-3,
.px-3 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}
.m-4 {
  margin: 4rem !important;
}
.mt-4 {
  margin-top: 4rem !important;
}
.mb-4 {
  margin-bottom: 4rem !important;
}
.ml-4 {
  margin-left: 4rem !important;
}
.mr-4 {
  margin-right: 4rem !important;
}
.mv-4,
.my-4 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}
.mh-4,
.mx-4 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}
.p-4 {
  padding: 4rem !important;
}
.pt-4 {
  padding-top: 4rem !important;
}
.pb-4 {
  padding-bottom: 4rem !important;
}
.pl-4 {
  padding-left: 4rem !important;
}
.pr-4 {
  padding-right: 4rem !important;
}
.pv-4,
.py-4 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}
.ph-4,
.px-4 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}
.m-5 {
  margin: 5rem !important;
}
.mt-5 {
  margin-top: 5rem !important;
}
.mb-5 {
  margin-bottom: 5rem !important;
}
.ml-5 {
  margin-left: 5rem !important;
}
.mr-5 {
  margin-right: 5rem !important;
}
.mv-5,
.my-5 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}
.mh-5,
.mx-5 {
  margin-left: 5rem !important;
  margin-right: 5rem !important;
}
.p-5 {
  padding: 5rem !important;
}
.pt-5 {
  padding-top: 5rem !important;
}
.pb-5 {
  padding-bottom: 5rem !important;
}
.pl-5 {
  padding-left: 5rem !important;
}
.pr-5 {
  padding-right: 5rem !important;
}
.pv-5,
.py-5 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}
.ph-5,
.px-5 {
  padding-left: 5rem !important;
  padding-right: 5rem !important;
}
@media screen and (max-width: 540px) {
  .m-0-mobile {
    margin: 0rem !important;
  }
  .mt-0-mobile {
    margin-top: 0rem !important;
  }
  .mb-0-mobile {
    margin-bottom: 0rem !important;
  }
  .ml-0-mobile {
    margin-left: 0rem !important;
  }
  .mr-0-mobile {
    margin-right: 0rem !important;
  }
  .mv-0-mobile {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .mx-0-mobile {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
  .p-0-mobile {
    padding: 0rem !important;
  }
  .pt-0-mobile {
    padding-top: 0rem !important;
  }
  .pb-0-mobile {
    padding-bottom: 0rem !important;
  }
  .pl-0-mobile {
    padding-left: 0rem !important;
  }
  .pr-0-mobile {
    padding-right: 0rem !important;
  }
  .pv-0-mobile {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .ph-0-mobile {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .m-1-mobile {
    margin: 1rem !important;
  }
  .mt-1-mobile {
    margin-top: 1rem !important;
  }
  .mb-1-mobile {
    margin-bottom: 1rem !important;
  }
  .ml-1-mobile {
    margin-left: 1rem !important;
  }
  .mr-1-mobile {
    margin-right: 1rem !important;
  }
  .mv-1-mobile {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mx-1-mobile {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .p-1-mobile {
    padding: 1rem !important;
  }
  .pt-1-mobile {
    padding-top: 1rem !important;
  }
  .pb-1-mobile {
    padding-bottom: 1rem !important;
  }
  .pl-1-mobile {
    padding-left: 1rem !important;
  }
  .pr-1-mobile {
    padding-right: 1rem !important;
  }
  .pv-1-mobile {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .ph-1-mobile {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .m-2-mobile {
    margin: 2rem !important;
  }
  .mt-2-mobile {
    margin-top: 2rem !important;
  }
  .mb-2-mobile {
    margin-bottom: 2rem !important;
  }
  .ml-2-mobile {
    margin-left: 2rem !important;
  }
  .mr-2-mobile {
    margin-right: 2rem !important;
  }
  .mv-2-mobile {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mx-2-mobile {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .p-2-mobile {
    padding: 2rem !important;
  }
  .pt-2-mobile {
    padding-top: 2rem !important;
  }
  .pb-2-mobile {
    padding-bottom: 2rem !important;
  }
  .pl-2-mobile {
    padding-left: 2rem !important;
  }
  .pr-2-mobile {
    padding-right: 2rem !important;
  }
  .pv-2-mobile {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .ph-2-mobile {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .m-3-mobile {
    margin: 3rem !important;
  }
  .mt-3-mobile {
    margin-top: 3rem !important;
  }
  .mb-3-mobile {
    margin-bottom: 3rem !important;
  }
  .ml-3-mobile {
    margin-left: 3rem !important;
  }
  .mr-3-mobile {
    margin-right: 3rem !important;
  }
  .mv-3-mobile {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mx-3-mobile {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .p-3-mobile {
    padding: 3rem !important;
  }
  .pt-3-mobile {
    padding-top: 3rem !important;
  }
  .pb-3-mobile {
    padding-bottom: 3rem !important;
  }
  .pl-3-mobile {
    padding-left: 3rem !important;
  }
  .pr-3-mobile {
    padding-right: 3rem !important;
  }
  .pv-3-mobile {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .ph-3-mobile {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .m-4-mobile {
    margin: 4rem !important;
  }
  .mt-4-mobile {
    margin-top: 4rem !important;
  }
  .mb-4-mobile {
    margin-bottom: 4rem !important;
  }
  .ml-4-mobile {
    margin-left: 4rem !important;
  }
  .mr-4-mobile {
    margin-right: 4rem !important;
  }
  .mv-4-mobile {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mx-4-mobile {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .p-4-mobile {
    padding: 4rem !important;
  }
  .pt-4-mobile {
    padding-top: 4rem !important;
  }
  .pb-4-mobile {
    padding-bottom: 4rem !important;
  }
  .pl-4-mobile {
    padding-left: 4rem !important;
  }
  .pr-4-mobile {
    padding-right: 4rem !important;
  }
  .pv-4-mobile {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .ph-4-mobile {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .m-5-mobile {
    margin: 5rem !important;
  }
  .mt-5-mobile {
    margin-top: 5rem !important;
  }
  .mb-5-mobile {
    margin-bottom: 5rem !important;
  }
  .ml-5-mobile {
    margin-left: 5rem !important;
  }
  .mr-5-mobile {
    margin-right: 5rem !important;
  }
  .mv-5-mobile {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .mx-5-mobile {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .p-5-mobile {
    padding: 5rem !important;
  }
  .pt-5-mobile {
    padding-top: 5rem !important;
  }
  .pb-5-mobile {
    padding-bottom: 5rem !important;
  }
  .pl-5-mobile {
    padding-left: 5rem !important;
  }
  .pr-5-mobile {
    padding-right: 5rem !important;
  }
  .pv-5-mobile {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .ph-5-mobile {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
}
@media screen and (max-width: 768px) {
  .m-0-touch {
    margin: 0rem !important;
  }
  .mt-0-touch {
    margin-top: 0rem !important;
  }
  .mb-0-touch {
    margin-bottom: 0rem !important;
  }
  .ml-0-touch {
    margin-left: 0rem !important;
  }
  .mr-0-touch {
    margin-right: 0rem !important;
  }
  .mv-0-touch {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .mx-0-touch {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
  .p-0-touch {
    padding: 0rem !important;
  }
  .pt-0-touch {
    padding-top: 0rem !important;
  }
  .pb-0-touch {
    padding-bottom: 0rem !important;
  }
  .pl-0-touch {
    padding-left: 0rem !important;
  }
  .pr-0-touch {
    padding-right: 0rem !important;
  }
  .pv-0-touch {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .ph-0-touch {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .m-1-touch {
    margin: 1rem !important;
  }
  .mt-1-touch {
    margin-top: 1rem !important;
  }
  .mb-1-touch {
    margin-bottom: 1rem !important;
  }
  .ml-1-touch {
    margin-left: 1rem !important;
  }
  .mr-1-touch {
    margin-right: 1rem !important;
  }
  .mv-1-touch {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mx-1-touch {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .p-1-touch {
    padding: 1rem !important;
  }
  .pt-1-touch {
    padding-top: 1rem !important;
  }
  .pb-1-touch {
    padding-bottom: 1rem !important;
  }
  .pl-1-touch {
    padding-left: 1rem !important;
  }
  .pr-1-touch {
    padding-right: 1rem !important;
  }
  .pv-1-touch {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .ph-1-touch {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .m-2-touch {
    margin: 2rem !important;
  }
  .mt-2-touch {
    margin-top: 2rem !important;
  }
  .mb-2-touch {
    margin-bottom: 2rem !important;
  }
  .ml-2-touch {
    margin-left: 2rem !important;
  }
  .mr-2-touch {
    margin-right: 2rem !important;
  }
  .mv-2-touch {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mx-2-touch {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .p-2-touch {
    padding: 2rem !important;
  }
  .pt-2-touch {
    padding-top: 2rem !important;
  }
  .pb-2-touch {
    padding-bottom: 2rem !important;
  }
  .pl-2-touch {
    padding-left: 2rem !important;
  }
  .pr-2-touch {
    padding-right: 2rem !important;
  }
  .pv-2-touch {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .ph-2-touch {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .m-3-touch {
    margin: 3rem !important;
  }
  .mt-3-touch {
    margin-top: 3rem !important;
  }
  .mb-3-touch {
    margin-bottom: 3rem !important;
  }
  .ml-3-touch {
    margin-left: 3rem !important;
  }
  .mr-3-touch {
    margin-right: 3rem !important;
  }
  .mv-3-touch {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mx-3-touch {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .p-3-touch {
    padding: 3rem !important;
  }
  .pt-3-touch {
    padding-top: 3rem !important;
  }
  .pb-3-touch {
    padding-bottom: 3rem !important;
  }
  .pl-3-touch {
    padding-left: 3rem !important;
  }
  .pr-3-touch {
    padding-right: 3rem !important;
  }
  .pv-3-touch {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .ph-3-touch {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .m-4-touch {
    margin: 4rem !important;
  }
  .mt-4-touch {
    margin-top: 4rem !important;
  }
  .mb-4-touch {
    margin-bottom: 4rem !important;
  }
  .ml-4-touch {
    margin-left: 4rem !important;
  }
  .mr-4-touch {
    margin-right: 4rem !important;
  }
  .mv-4-touch {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mx-4-touch {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .p-4-touch {
    padding: 4rem !important;
  }
  .pt-4-touch {
    padding-top: 4rem !important;
  }
  .pb-4-touch {
    padding-bottom: 4rem !important;
  }
  .pl-4-touch {
    padding-left: 4rem !important;
  }
  .pr-4-touch {
    padding-right: 4rem !important;
  }
  .pv-4-touch {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .ph-4-touch {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .m-5-touch {
    margin: 5rem !important;
  }
  .mt-5-touch {
    margin-top: 5rem !important;
  }
  .mb-5-touch {
    margin-bottom: 5rem !important;
  }
  .ml-5-touch {
    margin-left: 5rem !important;
  }
  .mr-5-touch {
    margin-right: 5rem !important;
  }
  .mv-5-touch {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .mx-5-touch {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .p-5-touch {
    padding: 5rem !important;
  }
  .pt-5-touch {
    padding-top: 5rem !important;
  }
  .pb-5-touch {
    padding-bottom: 5rem !important;
  }
  .pl-5-touch {
    padding-left: 5rem !important;
  }
  .pr-5-touch {
    padding-right: 5rem !important;
  }
  .pv-5-touch {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .ph-5-touch {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
}
@media screen and (min-width: 541px) {
  .m-0-tablet {
    margin: 0rem !important;
  }
  .mt-0-tablet {
    margin-top: 0rem !important;
  }
  .mb-0-tablet {
    margin-bottom: 0rem !important;
  }
  .ml-0-tablet {
    margin-left: 0rem !important;
  }
  .mr-0-tablet {
    margin-right: 0rem !important;
  }
  .mv-0-tablet {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .mx-0-tablet {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
  .p-0-tablet {
    padding: 0rem !important;
  }
  .pt-0-tablet {
    padding-top: 0rem !important;
  }
  .pb-0-tablet {
    padding-bottom: 0rem !important;
  }
  .pl-0-tablet {
    padding-left: 0rem !important;
  }
  .pr-0-tablet {
    padding-right: 0rem !important;
  }
  .pv-0-tablet {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .ph-0-tablet {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .m-1-tablet {
    margin: 1rem !important;
  }
  .mt-1-tablet {
    margin-top: 1rem !important;
  }
  .mb-1-tablet {
    margin-bottom: 1rem !important;
  }
  .ml-1-tablet {
    margin-left: 1rem !important;
  }
  .mr-1-tablet {
    margin-right: 1rem !important;
  }
  .mv-1-tablet {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mx-1-tablet {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .p-1-tablet {
    padding: 1rem !important;
  }
  .pt-1-tablet {
    padding-top: 1rem !important;
  }
  .pb-1-tablet {
    padding-bottom: 1rem !important;
  }
  .pl-1-tablet {
    padding-left: 1rem !important;
  }
  .pr-1-tablet {
    padding-right: 1rem !important;
  }
  .pv-1-tablet {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .ph-1-tablet {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .m-2-tablet {
    margin: 2rem !important;
  }
  .mt-2-tablet {
    margin-top: 2rem !important;
  }
  .mb-2-tablet {
    margin-bottom: 2rem !important;
  }
  .ml-2-tablet {
    margin-left: 2rem !important;
  }
  .mr-2-tablet {
    margin-right: 2rem !important;
  }
  .mv-2-tablet {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mx-2-tablet {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .p-2-tablet {
    padding: 2rem !important;
  }
  .pt-2-tablet {
    padding-top: 2rem !important;
  }
  .pb-2-tablet {
    padding-bottom: 2rem !important;
  }
  .pl-2-tablet {
    padding-left: 2rem !important;
  }
  .pr-2-tablet {
    padding-right: 2rem !important;
  }
  .pv-2-tablet {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .ph-2-tablet {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .m-3-tablet {
    margin: 3rem !important;
  }
  .mt-3-tablet {
    margin-top: 3rem !important;
  }
  .mb-3-tablet {
    margin-bottom: 3rem !important;
  }
  .ml-3-tablet {
    margin-left: 3rem !important;
  }
  .mr-3-tablet {
    margin-right: 3rem !important;
  }
  .mv-3-tablet {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mx-3-tablet {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .p-3-tablet {
    padding: 3rem !important;
  }
  .pt-3-tablet {
    padding-top: 3rem !important;
  }
  .pb-3-tablet {
    padding-bottom: 3rem !important;
  }
  .pl-3-tablet {
    padding-left: 3rem !important;
  }
  .pr-3-tablet {
    padding-right: 3rem !important;
  }
  .pv-3-tablet {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .ph-3-tablet {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .m-4-tablet {
    margin: 4rem !important;
  }
  .mt-4-tablet {
    margin-top: 4rem !important;
  }
  .mb-4-tablet {
    margin-bottom: 4rem !important;
  }
  .ml-4-tablet {
    margin-left: 4rem !important;
  }
  .mr-4-tablet {
    margin-right: 4rem !important;
  }
  .mv-4-tablet {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mx-4-tablet {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .p-4-tablet {
    padding: 4rem !important;
  }
  .pt-4-tablet {
    padding-top: 4rem !important;
  }
  .pb-4-tablet {
    padding-bottom: 4rem !important;
  }
  .pl-4-tablet {
    padding-left: 4rem !important;
  }
  .pr-4-tablet {
    padding-right: 4rem !important;
  }
  .pv-4-tablet {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .ph-4-tablet {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .m-5-tablet {
    margin: 5rem !important;
  }
  .mt-5-tablet {
    margin-top: 5rem !important;
  }
  .mb-5-tablet {
    margin-bottom: 5rem !important;
  }
  .ml-5-tablet {
    margin-left: 5rem !important;
  }
  .mr-5-tablet {
    margin-right: 5rem !important;
  }
  .mv-5-tablet {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .mx-5-tablet {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .p-5-tablet {
    padding: 5rem !important;
  }
  .pt-5-tablet {
    padding-top: 5rem !important;
  }
  .pb-5-tablet {
    padding-bottom: 5rem !important;
  }
  .pl-5-tablet {
    padding-left: 5rem !important;
  }
  .pr-5-tablet {
    padding-right: 5rem !important;
  }
  .pv-5-tablet {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .ph-5-tablet {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
}
@media screen and (min-width: 769px) {
  .m-0-desktop {
    margin: 0rem !important;
  }
  .mt-0-desktop {
    margin-top: 0rem !important;
  }
  .mb-0-desktop {
    margin-bottom: 0rem !important;
  }
  .ml-0-desktop {
    margin-left: 0rem !important;
  }
  .mr-0-desktop {
    margin-right: 0rem !important;
  }
  .mv-0-desktop {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .mx-0-desktop {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
  .p-0-desktop {
    padding: 0rem !important;
  }
  .pt-0-desktop {
    padding-top: 0rem !important;
  }
  .pb-0-desktop {
    padding-bottom: 0rem !important;
  }
  .pl-0-desktop {
    padding-left: 0rem !important;
  }
  .pr-0-desktop {
    padding-right: 0rem !important;
  }
  .pv-0-desktop {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .ph-0-desktop {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .m-1-desktop {
    margin: 1rem !important;
  }
  .mt-1-desktop {
    margin-top: 1rem !important;
  }
  .mb-1-desktop {
    margin-bottom: 1rem !important;
  }
  .ml-1-desktop {
    margin-left: 1rem !important;
  }
  .mr-1-desktop {
    margin-right: 1rem !important;
  }
  .mv-1-desktop {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mx-1-desktop {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .p-1-desktop {
    padding: 1rem !important;
  }
  .pt-1-desktop {
    padding-top: 1rem !important;
  }
  .pb-1-desktop {
    padding-bottom: 1rem !important;
  }
  .pl-1-desktop {
    padding-left: 1rem !important;
  }
  .pr-1-desktop {
    padding-right: 1rem !important;
  }
  .pv-1-desktop {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .ph-1-desktop {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .m-2-desktop {
    margin: 2rem !important;
  }
  .mt-2-desktop {
    margin-top: 2rem !important;
  }
  .mb-2-desktop {
    margin-bottom: 2rem !important;
  }
  .ml-2-desktop {
    margin-left: 2rem !important;
  }
  .mr-2-desktop {
    margin-right: 2rem !important;
  }
  .mv-2-desktop {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mx-2-desktop {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .p-2-desktop {
    padding: 2rem !important;
  }
  .pt-2-desktop {
    padding-top: 2rem !important;
  }
  .pb-2-desktop {
    padding-bottom: 2rem !important;
  }
  .pl-2-desktop {
    padding-left: 2rem !important;
  }
  .pr-2-desktop {
    padding-right: 2rem !important;
  }
  .pv-2-desktop {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .ph-2-desktop {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .m-3-desktop {
    margin: 3rem !important;
  }
  .mt-3-desktop {
    margin-top: 3rem !important;
  }
  .mb-3-desktop {
    margin-bottom: 3rem !important;
  }
  .ml-3-desktop {
    margin-left: 3rem !important;
  }
  .mr-3-desktop {
    margin-right: 3rem !important;
  }
  .mv-3-desktop {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mx-3-desktop {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .p-3-desktop {
    padding: 3rem !important;
  }
  .pt-3-desktop {
    padding-top: 3rem !important;
  }
  .pb-3-desktop {
    padding-bottom: 3rem !important;
  }
  .pl-3-desktop {
    padding-left: 3rem !important;
  }
  .pr-3-desktop {
    padding-right: 3rem !important;
  }
  .pv-3-desktop {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .ph-3-desktop {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .m-4-desktop {
    margin: 4rem !important;
  }
  .mt-4-desktop {
    margin-top: 4rem !important;
  }
  .mb-4-desktop {
    margin-bottom: 4rem !important;
  }
  .ml-4-desktop {
    margin-left: 4rem !important;
  }
  .mr-4-desktop {
    margin-right: 4rem !important;
  }
  .mv-4-desktop {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mx-4-desktop {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .p-4-desktop {
    padding: 4rem !important;
  }
  .pt-4-desktop {
    padding-top: 4rem !important;
  }
  .pb-4-desktop {
    padding-bottom: 4rem !important;
  }
  .pl-4-desktop {
    padding-left: 4rem !important;
  }
  .pr-4-desktop {
    padding-right: 4rem !important;
  }
  .pv-4-desktop {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .ph-4-desktop {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .m-5-desktop {
    margin: 5rem !important;
  }
  .mt-5-desktop {
    margin-top: 5rem !important;
  }
  .mb-5-desktop {
    margin-bottom: 5rem !important;
  }
  .ml-5-desktop {
    margin-left: 5rem !important;
  }
  .mr-5-desktop {
    margin-right: 5rem !important;
  }
  .mv-5-desktop {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .mx-5-desktop {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .p-5-desktop {
    padding: 5rem !important;
  }
  .pt-5-desktop {
    padding-top: 5rem !important;
  }
  .pb-5-desktop {
    padding-bottom: 5rem !important;
  }
  .pl-5-desktop {
    padding-left: 5rem !important;
  }
  .pr-5-desktop {
    padding-right: 5rem !important;
  }
  .pv-5-desktop {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .ph-5-desktop {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
}
@media screen and (max-width: 959px) {
  .m-0-narrow {
    margin: 0rem !important;
  }
  .mt-0-narrow {
    margin-top: 0rem !important;
  }
  .mb-0-narrow {
    margin-bottom: 0rem !important;
  }
  .ml-0-narrow {
    margin-left: 0rem !important;
  }
  .mr-0-narrow {
    margin-right: 0rem !important;
  }
  .mv-0-narrow {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .mx-0-narrow {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
  .p-0-narrow {
    padding: 0rem !important;
  }
  .pt-0-narrow {
    padding-top: 0rem !important;
  }
  .pb-0-narrow {
    padding-bottom: 0rem !important;
  }
  .pl-0-narrow {
    padding-left: 0rem !important;
  }
  .pr-0-narrow {
    padding-right: 0rem !important;
  }
  .pv-0-narrow {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .ph-0-narrow {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .m-1-narrow {
    margin: 1rem !important;
  }
  .mt-1-narrow {
    margin-top: 1rem !important;
  }
  .mb-1-narrow {
    margin-bottom: 1rem !important;
  }
  .ml-1-narrow {
    margin-left: 1rem !important;
  }
  .mr-1-narrow {
    margin-right: 1rem !important;
  }
  .mv-1-narrow {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mx-1-narrow {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .p-1-narrow {
    padding: 1rem !important;
  }
  .pt-1-narrow {
    padding-top: 1rem !important;
  }
  .pb-1-narrow {
    padding-bottom: 1rem !important;
  }
  .pl-1-narrow {
    padding-left: 1rem !important;
  }
  .pr-1-narrow {
    padding-right: 1rem !important;
  }
  .pv-1-narrow {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .ph-1-narrow {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .m-2-narrow {
    margin: 2rem !important;
  }
  .mt-2-narrow {
    margin-top: 2rem !important;
  }
  .mb-2-narrow {
    margin-bottom: 2rem !important;
  }
  .ml-2-narrow {
    margin-left: 2rem !important;
  }
  .mr-2-narrow {
    margin-right: 2rem !important;
  }
  .mv-2-narrow {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mx-2-narrow {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .p-2-narrow {
    padding: 2rem !important;
  }
  .pt-2-narrow {
    padding-top: 2rem !important;
  }
  .pb-2-narrow {
    padding-bottom: 2rem !important;
  }
  .pl-2-narrow {
    padding-left: 2rem !important;
  }
  .pr-2-narrow {
    padding-right: 2rem !important;
  }
  .pv-2-narrow {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .ph-2-narrow {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .m-3-narrow {
    margin: 3rem !important;
  }
  .mt-3-narrow {
    margin-top: 3rem !important;
  }
  .mb-3-narrow {
    margin-bottom: 3rem !important;
  }
  .ml-3-narrow {
    margin-left: 3rem !important;
  }
  .mr-3-narrow {
    margin-right: 3rem !important;
  }
  .mv-3-narrow {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mx-3-narrow {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .p-3-narrow {
    padding: 3rem !important;
  }
  .pt-3-narrow {
    padding-top: 3rem !important;
  }
  .pb-3-narrow {
    padding-bottom: 3rem !important;
  }
  .pl-3-narrow {
    padding-left: 3rem !important;
  }
  .pr-3-narrow {
    padding-right: 3rem !important;
  }
  .pv-3-narrow {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .ph-3-narrow {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .m-4-narrow {
    margin: 4rem !important;
  }
  .mt-4-narrow {
    margin-top: 4rem !important;
  }
  .mb-4-narrow {
    margin-bottom: 4rem !important;
  }
  .ml-4-narrow {
    margin-left: 4rem !important;
  }
  .mr-4-narrow {
    margin-right: 4rem !important;
  }
  .mv-4-narrow {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mx-4-narrow {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .p-4-narrow {
    padding: 4rem !important;
  }
  .pt-4-narrow {
    padding-top: 4rem !important;
  }
  .pb-4-narrow {
    padding-bottom: 4rem !important;
  }
  .pl-4-narrow {
    padding-left: 4rem !important;
  }
  .pr-4-narrow {
    padding-right: 4rem !important;
  }
  .pv-4-narrow {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .ph-4-narrow {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .m-5-narrow {
    margin: 5rem !important;
  }
  .mt-5-narrow {
    margin-top: 5rem !important;
  }
  .mb-5-narrow {
    margin-bottom: 5rem !important;
  }
  .ml-5-narrow {
    margin-left: 5rem !important;
  }
  .mr-5-narrow {
    margin-right: 5rem !important;
  }
  .mv-5-narrow {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .mx-5-narrow {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .p-5-narrow {
    padding: 5rem !important;
  }
  .pt-5-narrow {
    padding-top: 5rem !important;
  }
  .pb-5-narrow {
    padding-bottom: 5rem !important;
  }
  .pl-5-narrow {
    padding-left: 5rem !important;
  }
  .pr-5-narrow {
    padding-right: 5rem !important;
  }
  .pv-5-narrow {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .ph-5-narrow {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
}
@media screen and (min-width: 960px) {
  .m-0-fluid {
    margin: 0rem !important;
  }
  .mt-0-fluid {
    margin-top: 0rem !important;
  }
  .mb-0-fluid {
    margin-bottom: 0rem !important;
  }
  .ml-0-fluid {
    margin-left: 0rem !important;
  }
  .mr-0-fluid {
    margin-right: 0rem !important;
  }
  .mv-0-fluid {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .mx-0-fluid {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
  .p-0-fluid {
    padding: 0rem !important;
  }
  .pt-0-fluid {
    padding-top: 0rem !important;
  }
  .pb-0-fluid {
    padding-bottom: 0rem !important;
  }
  .pl-0-fluid {
    padding-left: 0rem !important;
  }
  .pr-0-fluid {
    padding-right: 0rem !important;
  }
  .pv-0-fluid {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .ph-0-fluid {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .m-1-fluid {
    margin: 1rem !important;
  }
  .mt-1-fluid {
    margin-top: 1rem !important;
  }
  .mb-1-fluid {
    margin-bottom: 1rem !important;
  }
  .ml-1-fluid {
    margin-left: 1rem !important;
  }
  .mr-1-fluid {
    margin-right: 1rem !important;
  }
  .mv-1-fluid {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mx-1-fluid {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .p-1-fluid {
    padding: 1rem !important;
  }
  .pt-1-fluid {
    padding-top: 1rem !important;
  }
  .pb-1-fluid {
    padding-bottom: 1rem !important;
  }
  .pl-1-fluid {
    padding-left: 1rem !important;
  }
  .pr-1-fluid {
    padding-right: 1rem !important;
  }
  .pv-1-fluid {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .ph-1-fluid {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .m-2-fluid {
    margin: 2rem !important;
  }
  .mt-2-fluid {
    margin-top: 2rem !important;
  }
  .mb-2-fluid {
    margin-bottom: 2rem !important;
  }
  .ml-2-fluid {
    margin-left: 2rem !important;
  }
  .mr-2-fluid {
    margin-right: 2rem !important;
  }
  .mv-2-fluid {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mx-2-fluid {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .p-2-fluid {
    padding: 2rem !important;
  }
  .pt-2-fluid {
    padding-top: 2rem !important;
  }
  .pb-2-fluid {
    padding-bottom: 2rem !important;
  }
  .pl-2-fluid {
    padding-left: 2rem !important;
  }
  .pr-2-fluid {
    padding-right: 2rem !important;
  }
  .pv-2-fluid {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .ph-2-fluid {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .m-3-fluid {
    margin: 3rem !important;
  }
  .mt-3-fluid {
    margin-top: 3rem !important;
  }
  .mb-3-fluid {
    margin-bottom: 3rem !important;
  }
  .ml-3-fluid {
    margin-left: 3rem !important;
  }
  .mr-3-fluid {
    margin-right: 3rem !important;
  }
  .mv-3-fluid {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mx-3-fluid {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .p-3-fluid {
    padding: 3rem !important;
  }
  .pt-3-fluid {
    padding-top: 3rem !important;
  }
  .pb-3-fluid {
    padding-bottom: 3rem !important;
  }
  .pl-3-fluid {
    padding-left: 3rem !important;
  }
  .pr-3-fluid {
    padding-right: 3rem !important;
  }
  .pv-3-fluid {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .ph-3-fluid {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .m-4-fluid {
    margin: 4rem !important;
  }
  .mt-4-fluid {
    margin-top: 4rem !important;
  }
  .mb-4-fluid {
    margin-bottom: 4rem !important;
  }
  .ml-4-fluid {
    margin-left: 4rem !important;
  }
  .mr-4-fluid {
    margin-right: 4rem !important;
  }
  .mv-4-fluid {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mx-4-fluid {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .p-4-fluid {
    padding: 4rem !important;
  }
  .pt-4-fluid {
    padding-top: 4rem !important;
  }
  .pb-4-fluid {
    padding-bottom: 4rem !important;
  }
  .pl-4-fluid {
    padding-left: 4rem !important;
  }
  .pr-4-fluid {
    padding-right: 4rem !important;
  }
  .pv-4-fluid {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .ph-4-fluid {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .m-5-fluid {
    margin: 5rem !important;
  }
  .mt-5-fluid {
    margin-top: 5rem !important;
  }
  .mb-5-fluid {
    margin-bottom: 5rem !important;
  }
  .ml-5-fluid {
    margin-left: 5rem !important;
  }
  .mr-5-fluid {
    margin-right: 5rem !important;
  }
  .mv-5-fluid {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .mx-5-fluid {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .p-5-fluid {
    padding: 5rem !important;
  }
  .pt-5-fluid {
    padding-top: 5rem !important;
  }
  .pb-5-fluid {
    padding-bottom: 5rem !important;
  }
  .pl-5-fluid {
    padding-left: 5rem !important;
  }
  .pr-5-fluid {
    padding-right: 5rem !important;
  }
  .pv-5-fluid {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .ph-5-fluid {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
}
@media screen and (min-width: 1140px) {
  .m-0-wide {
    margin: 0rem !important;
  }
  .mt-0-wide {
    margin-top: 0rem !important;
  }
  .mb-0-wide {
    margin-bottom: 0rem !important;
  }
  .ml-0-wide {
    margin-left: 0rem !important;
  }
  .mr-0-wide {
    margin-right: 0rem !important;
  }
  .mv-0-wide {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .mx-0-wide {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
  .p-0-wide {
    padding: 0rem !important;
  }
  .pt-0-wide {
    padding-top: 0rem !important;
  }
  .pb-0-wide {
    padding-bottom: 0rem !important;
  }
  .pl-0-wide {
    padding-left: 0rem !important;
  }
  .pr-0-wide {
    padding-right: 0rem !important;
  }
  .pv-0-wide {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .ph-0-wide {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .m-1-wide {
    margin: 1rem !important;
  }
  .mt-1-wide {
    margin-top: 1rem !important;
  }
  .mb-1-wide {
    margin-bottom: 1rem !important;
  }
  .ml-1-wide {
    margin-left: 1rem !important;
  }
  .mr-1-wide {
    margin-right: 1rem !important;
  }
  .mv-1-wide {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mx-1-wide {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .p-1-wide {
    padding: 1rem !important;
  }
  .pt-1-wide {
    padding-top: 1rem !important;
  }
  .pb-1-wide {
    padding-bottom: 1rem !important;
  }
  .pl-1-wide {
    padding-left: 1rem !important;
  }
  .pr-1-wide {
    padding-right: 1rem !important;
  }
  .pv-1-wide {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .ph-1-wide {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .m-2-wide {
    margin: 2rem !important;
  }
  .mt-2-wide {
    margin-top: 2rem !important;
  }
  .mb-2-wide {
    margin-bottom: 2rem !important;
  }
  .ml-2-wide {
    margin-left: 2rem !important;
  }
  .mr-2-wide {
    margin-right: 2rem !important;
  }
  .mv-2-wide {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mx-2-wide {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .p-2-wide {
    padding: 2rem !important;
  }
  .pt-2-wide {
    padding-top: 2rem !important;
  }
  .pb-2-wide {
    padding-bottom: 2rem !important;
  }
  .pl-2-wide {
    padding-left: 2rem !important;
  }
  .pr-2-wide {
    padding-right: 2rem !important;
  }
  .pv-2-wide {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .ph-2-wide {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .m-3-wide {
    margin: 3rem !important;
  }
  .mt-3-wide {
    margin-top: 3rem !important;
  }
  .mb-3-wide {
    margin-bottom: 3rem !important;
  }
  .ml-3-wide {
    margin-left: 3rem !important;
  }
  .mr-3-wide {
    margin-right: 3rem !important;
  }
  .mv-3-wide {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mx-3-wide {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .p-3-wide {
    padding: 3rem !important;
  }
  .pt-3-wide {
    padding-top: 3rem !important;
  }
  .pb-3-wide {
    padding-bottom: 3rem !important;
  }
  .pl-3-wide {
    padding-left: 3rem !important;
  }
  .pr-3-wide {
    padding-right: 3rem !important;
  }
  .pv-3-wide {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .ph-3-wide {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .m-4-wide {
    margin: 4rem !important;
  }
  .mt-4-wide {
    margin-top: 4rem !important;
  }
  .mb-4-wide {
    margin-bottom: 4rem !important;
  }
  .ml-4-wide {
    margin-left: 4rem !important;
  }
  .mr-4-wide {
    margin-right: 4rem !important;
  }
  .mv-4-wide {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mx-4-wide {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .p-4-wide {
    padding: 4rem !important;
  }
  .pt-4-wide {
    padding-top: 4rem !important;
  }
  .pb-4-wide {
    padding-bottom: 4rem !important;
  }
  .pl-4-wide {
    padding-left: 4rem !important;
  }
  .pr-4-wide {
    padding-right: 4rem !important;
  }
  .pv-4-wide {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .ph-4-wide {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .m-5-wide {
    margin: 5rem !important;
  }
  .mt-5-wide {
    margin-top: 5rem !important;
  }
  .mb-5-wide {
    margin-bottom: 5rem !important;
  }
  .ml-5-wide {
    margin-left: 5rem !important;
  }
  .mr-5-wide {
    margin-right: 5rem !important;
  }
  .mv-5-wide {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .mx-5-wide {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .p-5-wide {
    padding: 5rem !important;
  }
  .pt-5-wide {
    padding-top: 5rem !important;
  }
  .pb-5-wide {
    padding-bottom: 5rem !important;
  }
  .pl-5-wide {
    padding-left: 5rem !important;
  }
  .pr-5-wide {
    padding-right: 5rem !important;
  }
  .pv-5-wide {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .ph-5-wide {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
}
@media screen and (min-width: 1440px) {
  .m-0-hd {
    margin: 0rem !important;
  }
  .mt-0-hd {
    margin-top: 0rem !important;
  }
  .mb-0-hd {
    margin-bottom: 0rem !important;
  }
  .ml-0-hd {
    margin-left: 0rem !important;
  }
  .mr-0-hd {
    margin-right: 0rem !important;
  }
  .mv-0-hd {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
  .mx-0-hd {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
  .p-0-hd {
    padding: 0rem !important;
  }
  .pt-0-hd {
    padding-top: 0rem !important;
  }
  .pb-0-hd {
    padding-bottom: 0rem !important;
  }
  .pl-0-hd {
    padding-left: 0rem !important;
  }
  .pr-0-hd {
    padding-right: 0rem !important;
  }
  .pv-0-hd {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
  .ph-0-hd {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
  .m-1-hd {
    margin: 1rem !important;
  }
  .mt-1-hd {
    margin-top: 1rem !important;
  }
  .mb-1-hd {
    margin-bottom: 1rem !important;
  }
  .ml-1-hd {
    margin-left: 1rem !important;
  }
  .mr-1-hd {
    margin-right: 1rem !important;
  }
  .mv-1-hd {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mx-1-hd {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
  }
  .p-1-hd {
    padding: 1rem !important;
  }
  .pt-1-hd {
    padding-top: 1rem !important;
  }
  .pb-1-hd {
    padding-bottom: 1rem !important;
  }
  .pl-1-hd {
    padding-left: 1rem !important;
  }
  .pr-1-hd {
    padding-right: 1rem !important;
  }
  .pv-1-hd {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .ph-1-hd {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  .m-2-hd {
    margin: 2rem !important;
  }
  .mt-2-hd {
    margin-top: 2rem !important;
  }
  .mb-2-hd {
    margin-bottom: 2rem !important;
  }
  .ml-2-hd {
    margin-left: 2rem !important;
  }
  .mr-2-hd {
    margin-right: 2rem !important;
  }
  .mv-2-hd {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mx-2-hd {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
  .p-2-hd {
    padding: 2rem !important;
  }
  .pt-2-hd {
    padding-top: 2rem !important;
  }
  .pb-2-hd {
    padding-bottom: 2rem !important;
  }
  .pl-2-hd {
    padding-left: 2rem !important;
  }
  .pr-2-hd {
    padding-right: 2rem !important;
  }
  .pv-2-hd {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .ph-2-hd {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
  .m-3-hd {
    margin: 3rem !important;
  }
  .mt-3-hd {
    margin-top: 3rem !important;
  }
  .mb-3-hd {
    margin-bottom: 3rem !important;
  }
  .ml-3-hd {
    margin-left: 3rem !important;
  }
  .mr-3-hd {
    margin-right: 3rem !important;
  }
  .mv-3-hd {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mx-3-hd {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
  }
  .p-3-hd {
    padding: 3rem !important;
  }
  .pt-3-hd {
    padding-top: 3rem !important;
  }
  .pb-3-hd {
    padding-bottom: 3rem !important;
  }
  .pl-3-hd {
    padding-left: 3rem !important;
  }
  .pr-3-hd {
    padding-right: 3rem !important;
  }
  .pv-3-hd {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .ph-3-hd {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
  }
  .m-4-hd {
    margin: 4rem !important;
  }
  .mt-4-hd {
    margin-top: 4rem !important;
  }
  .mb-4-hd {
    margin-bottom: 4rem !important;
  }
  .ml-4-hd {
    margin-left: 4rem !important;
  }
  .mr-4-hd {
    margin-right: 4rem !important;
  }
  .mv-4-hd {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mx-4-hd {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
  .p-4-hd {
    padding: 4rem !important;
  }
  .pt-4-hd {
    padding-top: 4rem !important;
  }
  .pb-4-hd {
    padding-bottom: 4rem !important;
  }
  .pl-4-hd {
    padding-left: 4rem !important;
  }
  .pr-4-hd {
    padding-right: 4rem !important;
  }
  .pv-4-hd {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
  .ph-4-hd {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
  .m-5-hd {
    margin: 5rem !important;
  }
  .mt-5-hd {
    margin-top: 5rem !important;
  }
  .mb-5-hd {
    margin-bottom: 5rem !important;
  }
  .ml-5-hd {
    margin-left: 5rem !important;
  }
  .mr-5-hd {
    margin-right: 5rem !important;
  }
  .mv-5-hd {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
  .mx-5-hd {
    margin-left: 5rem !important;
    margin-right: 5rem !important;
  }
  .p-5-hd {
    padding: 5rem !important;
  }
  .pt-5-hd {
    padding-top: 5rem !important;
  }
  .pb-5-hd {
    padding-bottom: 5rem !important;
  }
  .pl-5-hd {
    padding-left: 5rem !important;
  }
  .pr-5-hd {
    padding-right: 5rem !important;
  }
  .pv-5-hd {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  .ph-5-hd {
    padding-left: 5rem !important;
    padding-right: 5rem !important;
  }
}
.mh-initial {
  margin-left: initial;
  margin-right: initial;
}
@media screen and (max-width: 540px) {
  .mh-initial-mobile {
    margin-left: initial;
    margin-right: initial;
  }
}
@media screen and (max-width: 768px) {
  .mh-initial-touch {
    margin-left: initial;
    margin-right: initial;
  }
}
@media screen and (min-width: 541px) {
  .mh-initial-tablet {
    margin-left: initial;
    margin-right: initial;
  }
}
@media screen and (min-width: 769px) {
  .mh-initial-desktop {
    margin-left: initial;
    margin-right: initial;
  }
}
@media screen and (max-width: 959px) {
  .mh-initial-narrow {
    margin-left: initial;
    margin-right: initial;
  }
}
@media screen and (min-width: 960px) {
  .mh-initial-fluid {
    margin-left: initial;
    margin-right: initial;
  }
}
@media screen and (min-width: 1140px) {
  .mh-initial-wide {
    margin-left: initial;
    margin-right: initial;
  }
}
@media screen and (min-width: 1440px) {
  .mh-initial-hd {
    margin-left: initial;
    margin-right: initial;
  }
}
/* position
----------------------------------------------- */
.vertical-top {
  vertical-align: top;
}
.vertical-middle {
  vertical-align: middle;
}
.vertical-bottom {
  vertical-align: bottom;
}
.align-left,
.text-left {
  text-align: top;
}
.align-center,
.text-center {
  text-align: center;
}
.align-right,
.text-right {
  text-align: right;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.sticky {
  position: sticky;
}
.float-left {
  float: left;
}
.float-right {
  float: right;
}
.float-clear {
  clear: both;
}
@media screen and (max-width: 540px) {
  .vertical-top-mobile {
    vertical-align: top;
  }
  .vertical-middle-mobile {
    vertical-align: middle;
  }
  .vertical-bottom-mobile {
    vertical-align: bottom;
  }
  .align-left-mobile,
  .text-left-mobile {
    text-align: top;
  }
  .align-center-mobile,
  .text-center-mobile {
    text-align: center;
  }
  .align-right-mobile,
  .text-right-mobile {
    text-align: right;
  }
  .relative-mobile {
    position: relative;
  }
  .absolute-mobile {
    position: absolute;
  }
  .fixed-mobile {
    position: fixed;
  }
  .sticky-mobile {
    position: sticky;
  }
}
@media screen and (max-width: 768px) {
  .vertical-top-touch {
    vertical-align: top;
  }
  .vertical-middle-touch {
    vertical-align: middle;
  }
  .vertical-bottom-touch {
    vertical-align: bottom;
  }
  .align-left-touch,
  .text-left-touch {
    text-align: top;
  }
  .align-center-touch,
  .text-center-touch {
    text-align: center;
  }
  .align-right-touch,
  .text-right-touch {
    text-align: right;
  }
  .relative-touch {
    position: relative;
  }
  .absolute-touch {
    position: absolute;
  }
  .fixed-touch {
    position: fixed;
  }
  .sticky-touch {
    position: sticky;
  }
}
@media screen and (min-width: 541px) {
  .vertical-top-tablet {
    vertical-align: top;
  }
  .vertical-middle-tablet {
    vertical-align: middle;
  }
  .vertical-bottom-tablet {
    vertical-align: bottom;
  }
  .align-left-tablet,
  .text-left-tablet {
    text-align: top;
  }
  .align-center-tablet,
  .text-center-tablet {
    text-align: center;
  }
  .align-right-tablet,
  .text-right-tablet {
    text-align: right;
  }
  .relative-tablet {
    position: relative;
  }
  .absolute-tablet {
    position: absolute;
  }
  .fixed-tablet {
    position: fixed;
  }
  .sticky-tablet {
    position: sticky;
  }
}
@media screen and (min-width: 769px) {
  .vertical-top-desktop {
    vertical-align: top;
  }
  .vertical-middle-desktop {
    vertical-align: middle;
  }
  .vertical-bottom-desktop {
    vertical-align: bottom;
  }
  .align-left-desktop,
  .text-left-desktop {
    text-align: top;
  }
  .align-center-desktop,
  .text-center-desktop {
    text-align: center;
  }
  .align-right-desktop,
  .text-right-desktop {
    text-align: right;
  }
  .relative-desktop {
    position: relative;
  }
  .absolute-desktop {
    position: absolute;
  }
  .fixed-desktop {
    position: fixed;
  }
  .sticky-desktop {
    position: sticky;
  }
}
@media screen and (max-width: 959px) {
  .vertical-top-narrow {
    vertical-align: top;
  }
  .vertical-middle-narrow {
    vertical-align: middle;
  }
  .vertical-bottom-narrow {
    vertical-align: bottom;
  }
  .align-left-narrow,
  .text-left-narrow {
    text-align: top;
  }
  .align-center-narrow,
  .text-center-narrow {
    text-align: center;
  }
  .align-right-narrow,
  .text-right-narrow {
    text-align: right;
  }
  .relative-narrow {
    position: relative;
  }
  .absolute-narrow {
    position: absolute;
  }
  .fixed-narrow {
    position: fixed;
  }
  .sticky-narrow {
    position: sticky;
  }
}
@media screen and (min-width: 960px) {
  .vertical-top-fluid {
    vertical-align: top;
  }
  .vertical-middle-fluid {
    vertical-align: middle;
  }
  .vertical-bottom-fluid {
    vertical-align: bottom;
  }
  .align-left-fluid,
  .text-left-fluid {
    text-align: top;
  }
  .align-center-fluid,
  .text-center-fluid {
    text-align: center;
  }
  .align-right-fluid,
  .text-right-fluid {
    text-align: right;
  }
  .relative-fluid {
    position: relative;
  }
  .absolute-fluid {
    position: absolute;
  }
  .fixed-fluid {
    position: fixed;
  }
  .sticky-fluid {
    position: sticky;
  }
}
@media screen and (min-width: 1140px) {
  .vertical-top-wide {
    vertical-align: top;
  }
  .vertical-middle-wide {
    vertical-align: middle;
  }
  .vertical-bottom-wide {
    vertical-align: bottom;
  }
  .align-left-wide,
  .text-left-wide {
    text-align: top;
  }
  .align-center-wide,
  .text-center-wide {
    text-align: center;
  }
  .align-right-wide,
  .text-right-wide {
    text-align: right;
  }
  .relative-wide {
    position: relative;
  }
  .absolute-wide {
    position: absolute;
  }
  .fixed-wide {
    position: fixed;
  }
  .sticky-wide {
    position: sticky;
  }
}
@media screen and (min-width: 1440px) {
  .vertical-top-hd {
    vertical-align: top;
  }
  .vertical-middle-hd {
    vertical-align: middle;
  }
  .vertical-bottom-hd {
    vertical-align: bottom;
  }
  .align-left-hd,
  .text-left-hd {
    text-align: top;
  }
  .align-center-hd,
  .text-center-hd {
    text-align: center;
  }
  .align-right-hd,
  .text-right-hd {
    text-align: right;
  }
  .relative-hd {
    position: relative;
  }
  .absolute-hd {
    position: absolute;
  }
  .fixed-hd {
    position: fixed;
  }
  .sticky-hd {
    position: sticky;
  }
}
.is-full-width {
  width: 100%;
}
@media screen and (max-width: 540px) {
  .is-full-width-mobile {
    width: 100%;
  }
  .mobile-width-0 {
    width: 0%;
  }
  .mobile-width-10 {
    width: 10%;
  }
  .mobile-width-20 {
    width: 20%;
  }
  .mobile-width-30 {
    width: 30%;
  }
  .mobile-width-40 {
    width: 40%;
  }
  .mobile-width-50 {
    width: 50%;
  }
  .mobile-width-60 {
    width: 60%;
  }
  .mobile-width-70 {
    width: 70%;
  }
  .mobile-width-80 {
    width: 80%;
  }
  .mobile-width-90 {
    width: 90%;
  }
  .mobile-width-100 {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .is-full-width-touch {
    width: 100%;
  }
  .touch-width-0 {
    width: 0%;
  }
  .touch-width-10 {
    width: 10%;
  }
  .touch-width-20 {
    width: 20%;
  }
  .touch-width-30 {
    width: 30%;
  }
  .touch-width-40 {
    width: 40%;
  }
  .touch-width-50 {
    width: 50%;
  }
  .touch-width-60 {
    width: 60%;
  }
  .touch-width-70 {
    width: 70%;
  }
  .touch-width-80 {
    width: 80%;
  }
  .touch-width-90 {
    width: 90%;
  }
  .touch-width-100 {
    width: 100%;
  }
}
@media screen and (min-width: 541px) {
  .is-full-width-tablet {
    width: 100%;
  }
  .tablet-width-0 {
    width: 0%;
  }
  .tablet-width-10 {
    width: 10%;
  }
  .tablet-width-20 {
    width: 20%;
  }
  .tablet-width-30 {
    width: 30%;
  }
  .tablet-width-40 {
    width: 40%;
  }
  .tablet-width-50 {
    width: 50%;
  }
  .tablet-width-60 {
    width: 60%;
  }
  .tablet-width-70 {
    width: 70%;
  }
  .tablet-width-80 {
    width: 80%;
  }
  .tablet-width-90 {
    width: 90%;
  }
  .tablet-width-100 {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .is-full-width-desktop {
    width: 100%;
  }
  .desktop-width-0 {
    width: 0%;
  }
  .desktop-width-10 {
    width: 10%;
  }
  .desktop-width-20 {
    width: 20%;
  }
  .desktop-width-30 {
    width: 30%;
  }
  .desktop-width-40 {
    width: 40%;
  }
  .desktop-width-50 {
    width: 50%;
  }
  .desktop-width-60 {
    width: 60%;
  }
  .desktop-width-70 {
    width: 70%;
  }
  .desktop-width-80 {
    width: 80%;
  }
  .desktop-width-90 {
    width: 90%;
  }
  .desktop-width-100 {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .is-full-width-narrow {
    width: 100%;
  }
  .narrow-width-0 {
    width: 0%;
  }
  .narrow-width-10 {
    width: 10%;
  }
  .narrow-width-20 {
    width: 20%;
  }
  .narrow-width-30 {
    width: 30%;
  }
  .narrow-width-40 {
    width: 40%;
  }
  .narrow-width-50 {
    width: 50%;
  }
  .narrow-width-60 {
    width: 60%;
  }
  .narrow-width-70 {
    width: 70%;
  }
  .narrow-width-80 {
    width: 80%;
  }
  .narrow-width-90 {
    width: 90%;
  }
  .narrow-width-100 {
    width: 100%;
  }
}
@media screen and (min-width: 960px) {
  .is-full-width-fluid {
    width: 100%;
  }
  .fluid-width-0 {
    width: 0%;
  }
  .fluid-width-10 {
    width: 10%;
  }
  .fluid-width-20 {
    width: 20%;
  }
  .fluid-width-30 {
    width: 30%;
  }
  .fluid-width-40 {
    width: 40%;
  }
  .fluid-width-50 {
    width: 50%;
  }
  .fluid-width-60 {
    width: 60%;
  }
  .fluid-width-70 {
    width: 70%;
  }
  .fluid-width-80 {
    width: 80%;
  }
  .fluid-width-90 {
    width: 90%;
  }
  .fluid-width-100 {
    width: 100%;
  }
}
@media screen and (min-width: 1140px) {
  .is-full-width-wide {
    width: 100%;
  }
  .wide-width-0 {
    width: 0%;
  }
  .wide-width-10 {
    width: 10%;
  }
  .wide-width-20 {
    width: 20%;
  }
  .wide-width-30 {
    width: 30%;
  }
  .wide-width-40 {
    width: 40%;
  }
  .wide-width-50 {
    width: 50%;
  }
  .wide-width-60 {
    width: 60%;
  }
  .wide-width-70 {
    width: 70%;
  }
  .wide-width-80 {
    width: 80%;
  }
  .wide-width-90 {
    width: 90%;
  }
  .wide-width-100 {
    width: 100%;
  }
}
@media screen and (min-width: 1440px) {
  .is-full-width-hd {
    width: 100%;
  }
  .hd-width-0 {
    width: 0%;
  }
  .hd-width-10 {
    width: 10%;
  }
  .hd-width-20 {
    width: 20%;
  }
  .hd-width-30 {
    width: 30%;
  }
  .hd-width-40 {
    width: 40%;
  }
  .hd-width-50 {
    width: 50%;
  }
  .hd-width-60 {
    width: 60%;
  }
  .hd-width-70 {
    width: 70%;
  }
  .hd-width-80 {
    width: 80%;
  }
  .hd-width-90 {
    width: 90%;
  }
  .hd-width-100 {
    width: 100%;
  }
}
/* font and text
----------------------------------------------- */
.text-center {
  text-align: center !important;
}
.text-right {
  text-align: right !important;
}
.text-left {
  text-align: left !important;
}
.strong,
.font-bold {
  font-weight: bold !important;
}
.normal {
  font-weight: 400 !important;
}
.indent {
  text-indent: 1em;
}
.nowrap {
  white-space: nowrap;
}
.wrap {
  white-space: normal;
  min-width: 1.6rem; /*temporary*/
}
.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 540px) {
  .text-center-mobile {
    text-align: center !important;
  }
  .text-right-mobile {
    text-align: right !important;
  }
  .text-left-mobile {
    text-align: left !important;
  }
}
@media screen and (max-width: 768px) {
  .text-center-touch {
    text-align: center !important;
  }
  .text-right-touch {
    text-align: right !important;
  }
  .text-left-touch {
    text-align: left !important;
  }
}
@media screen and (min-width: 541px) {
  .text-center-tablet {
    text-align: center !important;
  }
  .text-right-tablet {
    text-align: right !important;
  }
  .text-left-tablet {
    text-align: left !important;
  }
}
@media screen and (min-width: 769px) {
  .text-center-desktop {
    text-align: center !important;
  }
  .text-right-desktop {
    text-align: right !important;
  }
  .text-left-desktop {
    text-align: left !important;
  }
}
@media screen and (max-width: 959px) {
  .text-center-narrow {
    text-align: center !important;
  }
  .text-right-narrow {
    text-align: right !important;
  }
  .text-left-narrow {
    text-align: left !important;
  }
}
@media screen and (min-width: 960px) {
  .text-center-fluid {
    text-align: center !important;
  }
  .text-right-fluid {
    text-align: right !important;
  }
  .text-left-fluid {
    text-align: left !important;
  }
}
@media screen and (min-width: 1140px) {
  .text-center-wide {
    text-align: center !important;
  }
  .text-right-wide {
    text-align: right !important;
  }
  .text-left-wide {
    text-align: left !important;
  }
}
@media screen and (min-width: 1440px) {
  .text-center-hd {
    text-align: center !important;
  }
  .text-right-hd {
    text-align: right !important;
  }
  .text-left-hd {
    text-align: left !important;
  }
}
.underline {
  border-bottom: 1px solid currentColor;
}
@media screen and (max-width: 767.98px) {
  .hidden-sm {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .hidden-lg {
    display: none;
  }
}
.flex-row {
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .flex-row {
    flex-direction: column;
  }
}
.text-blue {
  color: #0e6ec8;
}
.text-orange {
  color: #f15a24;
}
.fw-normal {
  font-weight: normal;
}
.fw-bold {
  font-weight: bold;
}
.text-sm {
  font-size: 0.8125rem;
}
.btn-orange {
  color: #fff;
  border: 1px solid #f15a24;
  background: #f15a24;
  background: linear-gradient(90deg, #f15a24 0%, #f7931e 100%);
  font-weight: bold;
}
.btn-orange:hover,
.btn-orange:active {
  color: #fff;
}
.btn-blue {
  color: #fff;
  border: 1px solid #0e6ec8;
  background: #2d8ae2;
  background: linear-gradient(90deg, #2d8ae2 0%, #5daaf3 100%);
  font-weight: bold;
}
.btn-blue:hover,
.btn-blue:active {
  color: #fff;
}
.btn-arrow {
  border: 1px solid #d0d6dc;
  background-color: #fff;
  color: #3d9af1;
  font-size: 0.9375rem;
  font-weight: bold;
}
@media screen and (max-width: 539.98px) {
  .header-nav .c-logo img {
    width: 126px;
  }
}
.home-panel-container .fluid {
  max-width: 1320px;
}
.home-02 {
  width: 90%;
  max-width: 1320px;
  margin: 2rem auto 0;
}
.home-02-col {
  position: relative;
}
.home-02-col-number {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  font-size: 4.375rem;
  font-weight: bold;
  font-family: arial, sans-serif;
  line-height: 1;
  color: #e4f2ff;
  pointer-events: none;
}
.home-02-title {
  position: relative;
  z-index: 1;
  margin: 1.25rem -1rem 1rem;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.075;
}
.home-02-col img {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767.98px) {
  .home-panel-02 {
    padding-bottom: 6vh;
  }
}
@media screen and (min-width: 768px) {
  .home-02-col {
    flex: 1;
  }
  .home-02-col:not(:first-child) {
    margin-left: 1.5rem;
  }
  .home-02-title {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 960px) {
  .home-02-col:not(:first-child) {
    margin-left: 3rem;
  }
  .home-02-title {
    margin-left: -1.75rem;
    margin-right: -1.75rem;
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1140px) {
  .home-02-title {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1320px) {
  .home-02 {
    width: auto;
  }
}
@media screen and (max-height: 704.98px) {
  .home-02-title-lg {
    display: none;
  }
}
@media screen and (min-height: 705px) {
  .home-02-title-sm {
    display: none;
  }
}
.home-03 {
  margin-top: 0.5rem;
  margin-bottom: 2rem;
}
.home-03-col {
  text-align: left;
  margin-bottom: 3.25rem;
  color: inherit;
  transition: 0.5s;
}
.home-03-col img {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0.25rem;
  transition: 0.5s;
}
.home-03-col:hover {
  color: #0c59a1;
}
.home-03-col:hover img {
  opacity: 0.66;
}
@media screen and (max-width: 767.98px) {
  .home-panel-03 {
    padding-bottom: 10vh;
  }
  .home-03 {
    margin-top: 1rem;
    margin-bottom: 0;
  }
  .home-03-col img {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .home-03-col {
    flex: 1;
  }
  .home-03-col:not(:first-child) {
    margin-left: 2rem;
  }
}
@media screen and (min-width: 1400px) {
  .home-panel-03 {
    padding-left: 0;
    padding-right: 0;
  }
}
.home-panel-04 {
  padding-bottom: 8vh;
}
.home-04 {
  max-width: 1010px;
  margin-bottom: 2rem;
}
.home-04-title {
  font-size: 1.5rem;
  font-weight: bold;
}
.home-04-subtitle {
  margin: 2rem 0;
  font-size: 1.25rem;
  font-weight: bold;
}
.home-04-buttons {
  margin-bottom: 1rem;
  font-size: 1.375rem;
  line-height: 1.25;
}
.home-04-buttons .btn {
  margin-top: 1.25rem;
  width: 260px;
}
@media screen and (max-width: 767.98px) {
  .home-panel-04 {
    padding-bottom: 8vh;
  }
  .home-04-title {
    font-size: 1.25rem;
  }
  .home-04-subtitle {
    font-size: 1.125rem;
  }
  .home-04 {
    margin-top: 1rem;
  }
  .home-04-buttons {
    margin-bottom: 0;
    padding-top: 1rem;
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 768px) {
  .home-04-col {
    padding: 2rem;
  }
  .home-04-col:not(:first-child),
  .home-04-buttons > div:not(:first-child) {
    margin-left: 1rem;
  }
}
@media screen and (min-width: 960px) {
  .home-04-col:not(:first-child),
  .home-04-buttons > div:not(:first-child) {
    margin-left: 2rem;
  }
}
@media screen and (min-width: 1120px) {
  .home-04-col:not(:first-child),
  .home-04-buttons > div:not(:first-child) {
    margin-left: 4rem;
  }
}
.home-panel-05 {
  padding-bottom: 15vh;
}
.home-05 {
  margin-bottom: 2rem;
}
.home-05-title {
  margin: 0.75rem -1rem 1.75rem;
  font-size: 1.25rem;
  font-weight: bold;
}
@media screen and (max-width: 767.98px) {
  .home-panel-05 {
    padding-bottom: 6vh;
  }
  .home-05 {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
  }
  .home-panel-05-buttons {
    margin-bottom: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .home-05-col:not(:first-child) {
    margin-left: 1rem;
  }
  .home-05-title {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 960px) {
  .home-05-col:not(:first-child) {
    margin-left: 2rem;
  }
  .home-05-title {
    margin-left: -1.75rem;
    margin-right: -1.75rem;
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1140px) {
  .home-05-title {
    font-size: 1.25rem;
  }
  .home-05-col:not(:first-child) {
    margin-left: 3rem;
  }
}
@media screen and (min-width: 1400px) {
  .home-panel-05 {
    padding-left: 0;
    padding-right: 0;
  }
}
.home-panel-06-buttons {
  margin-top: 3rem;
}
.home-panel-06 .section-header {
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767.98px) {
  .home-panel-06 {
    padding-top: 20px;
    padding-bottom: 12vh;
  }
  .home-panel-06 .section-header {
    margin-bottom: 2.25rem;
  }
  .home-panel-06-buttons {
    margin-top: 2rem;
  }
}
/**
 * WPでの上部メニューを非表示にする
 */
body[data-id^="wp-"] .c-item {
  display: none;
}
.grid-triplet {
  max-width: 720px;
  display: grid;
  margin-left: auto;
  margin-right: auto;
  grid-template-columns: auto;
  gap: 20px;
}
@media screen and (min-width: 960px) {
  .grid-triplet {
    max-width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
  }
}

