﻿@import url(https://fonts.googleapis.com/css?family=Timmana);@import url(https://use.typekit.net/fsc0lcp.css);@import url(https://fonts.googleapis.com/css?family=Noto+Sans|Roboto:300,400,500,700);@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,700);@charset "UTF-8";
/* ==========================================================================
Foundation
========================================================================== */
@font-face {
  font-family: 'NotoSans';
  font-style: normal;
  font-weight: 400;
  src: url("/cms/sc/common/fonts/NotoSansCJKjp/NotoSansCJKjp-demilight.eot");
  src: local("Noto Sans CJK JP demilight"), url("/cms/sc/common/fonts/NotoSansCJKjp/NotoSansCJKjp-demilight.woff") format("woff"), url("/cms/sc/common/fonts/NotoSansCJKjp/NotoSansCJKjp-demilight.otf") format("opentype");
  font-display: swap; }

@font-face {
  font-family: 'NotoSans';
  font-style: medium;
  font-weight: 500;
  src: url("/cms/sc/common/fonts/NotoSansCJKjp/NotoSansCJKjp-midium.eot");
  src: local("Noto Sans CJK JP midium"), url("/cms/sc/common/fonts/NotoSansCJKjp/NotoSansCJKjp-midium.woff") format("woff"), url("/cms/sc/common/fonts/NotoSansCJKjp/NotoSansCJKjp-midium.otf") format("opentype");
  font-display: swap; }

@font-face {
  font-family: 'NotoSans';
  font-style: bold;
  font-weight: 700;
  src: url("/cms/sc/common/fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.eot");
  src: local("Noto Sans CJK JP Bold"), url("/cms/sc/common/fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff") format("woff"), url("/cms/sc/common/fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf") format("opentype");
  font-display: swap; }

@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 100;
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Thin.eot");
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Thin.woff") format("woff");
  font-display: swap; }

@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 200;
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Light.eot");
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Light.woff") format("woff");
  font-display: swap; }

@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 300;
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-DemiLight.eot");
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-DemiLight.woff") format("woff");
  font-display: swap; }

@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 400;
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Regular.eot");
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Regular.woff") format("woff");
  font-display: swap; }

@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 500;
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Medium.eot");
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Medium.woff") format("woff");
  font-display: swap; }

@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 700;
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Bold.eot");
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Bold.woff") format("woff");
  font-display: swap; }

@font-face {
  font-family: 'YakuHanJP';
  font-style: normal;
  font-weight: 900;
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Black.eot");
  src: url("/cms/sc/common/fonts/YakuHanJP/YakuHanJP-Black.woff") format("woff");
  font-display: swap; }

/* Reset
----------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
l,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0; }

h1,
h2,
h3,
h4,
h5,
h6,
table,
input,
textarea,
select,
option,
button {
  font-size: 100%; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
main {
  display: block; }

input,
textarea {
  margin: 0;
  padding: 0; }

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption,
th {
  text-align: left; }

img,
a img {
  border: none; }

a {
  cursor: pointer; }

input:not([type='checkbox']) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

/* Base
----------------------------------------------------------------- */
html {
  height: 100%;
  line-height: 1.6; }

body {
  position: relative;
  min-height: 100%;
  -webkit-text-size-adjust: 100%;
  color: #333; }
  @media print, screen and (min-width: 48em) {
    body {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo";
      line-height: 1.75; } }
  @media only screen and (max-width: 47.9375em) {
    body {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo";
      line-height: 1.75; } }

a {
  text-decoration: none;
  color: #13aac2;
  transition: color 0.1s 0s ease; }
  @media print, screen and (min-width: 61.25em) {
    a:hover {
      color: #2ac4cf; } }
  @media print, screen and (min-width: 61.25em) {
    a[href^='tel'] {
      pointer-events: none;
      cursor: text; } }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4;
  font-weight: normal; }

@-webkit-keyframes blinkBg {
  0% {
    background-color: #fff; }
  25% {
    background-color: #f2f2f2; }
  100% {
    background-color: #fff; } }

@keyframes blinkBg {
  0% {
    background-color: #fff; }
  25% {
    background-color: #f2f2f2; }
  100% {
    background-color: #fff; } }

@-webkit-keyframes scaleUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.04, 1.1);
            transform: scale(1.04, 1.1); } }

@keyframes scaleUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.04, 1.1);
            transform: scale(1.04, 1.1); } }

@-webkit-keyframes scaleDownUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  99.99% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); } }

@keyframes scaleDownUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  99.99% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); } }

@-webkit-keyframes imgAniBugFix {
  0% {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
  99.99% {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
  100% {
    -webkit-backface-visibility: visible;
            backface-visibility: visible; } }

@keyframes imgAniBugFix {
  0% {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
  99.99% {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
  100% {
    -webkit-backface-visibility: visible;
            backface-visibility: visible; } }

@-webkit-keyframes zindex {
  0% {
    z-index: 2; }
  99.99% {
    z-index: 2; }
  100% {
    z-index: 1; } }

@keyframes zindex {
  0% {
    z-index: 2; }
  99.99% {
    z-index: 2; }
  100% {
    z-index: 1; } }

/* ==========================================================================
Layout
========================================================================== */
/* rootとなるクラス
 * body直下で使用
----------------------------------------------------------------- */
.l-root-container {
  position: relative;
  overflow: hidden; }
  @media only screen and (max-width: 47.9375em) {
    .l-root-container {
      padding-top: 48px; } }
  @media print, screen and (min-width: 48em) {
    .l-root-container {
      padding-top: 80px;
      transition: padding-top 0.2s ease; } }
  @media print, screen and (min-width: 61.25em) {
    .l-root-container {
      padding-top: 90px; } }
  @media print, screen and (min-width: 61.25em) {
    .l-root-container.scrolled {
      padding-top: 60px; } }

.l-root-container--home {
  padding-top: 0; }

.l-header {
  box-sizing: border-box;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  background-color: #fff;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
  margin-left: auto;
  margin-right: auto;
  width: 100%; }
  @media screen and (min-width: 1024px) {
    .l-header {
      right: 0;
      width: 100%;
      height: 90px;
      padding-left: 3.125%;
      transition: height 0.2s ease; } }
  .l-header.menuOpen {
    background-color: #13aac2; }
    @media screen and (min-width: 1024px) {
      .l-header.menuOpen {
        background-color: #fff; } }
    .l-header.menuOpen .l-header__logo > a:after {
      transition: opacity 0.3s ease;
      opacity: 1; }
      @media screen and (min-width: 1024px) {
        .l-header.menuOpen .l-header__logo > a:after {
          opacity: 0; } }
    .l-header.menuOpen .l-header__logo > a > img {
      transition: opacity 0.3s ease;
      opacity: 0; }
      @media screen and (min-width: 1024px) {
        .l-header.menuOpen .l-header__logo > a > img {
          opacity: 1; } }
  @media screen and (min-width: 1024px) {
    .l-header.scrolled {
      height: 60px; } }

.l-header__logo {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 48px;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 48em) {
    .l-header__logo {
      min-height: 80px; } }
  @media screen and (min-width: 1024px) {
    .l-header__logo {
      grid-area: logo;
      min-height: 0;
      padding-left: 0; } }
  .l-header__logo > a {
    display: block;
    width: 105px;
    position: relative; }
    @media print, screen and (min-width: 48em) {
      .l-header__logo > a {
        width: 160px; } }
    @media screen and (min-width: 1024px) {
      .l-header__logo > a {
        position: static;
        width: 210px; } }
    .l-header__logo > a:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: url(/cms/sc/common/img/img_logo_reverse.svg);
      background-repeat: no-repeat;
      background-size: cover;
      transition: opacity 0.1s ease;
      opacity: 0; }
      @media screen and (min-width: 1024px) {
        .l-header__logo > a:after {
          display: none; } }
    .l-header__logo > a > img {
      display: block;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
      @media only screen and (max-width: 47.9375em) {
        .l-header__logo > a > img {
          transition: opacity 0.1s ease; } }

@media screen and (min-width: 1024px) {
  .l-header__menu {
    top: 80px;
    height: calc(100vh - 80px);
    padding-top: 38px; } }

@media screen and (min-width: 1024px) {
  .l-header__menu {
    grid-area: menus;
    position: static;
    width: auto;
    height: auto;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    justify-content: center;
    transition: all 0.2s ease; } }

.l-header__menu.active {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  transition: all 0.3s ease; }

.l-header__button {
  background-color: #13aac2;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 48px;
  /* 
    親にflex, justify-content: space-betweenだとIEでうまくいかなかったため、
    marginを使って右に寄せます
  */
  margin: 0 0 0 auto; }
  @media print, screen and (min-width: 48em) {
    .l-header__button {
      flex-basis: 80px; } }
  @media screen and (min-width: 1024px) {
    .l-header__button {
      display: none; } }

@media screen and (min-width: 1024px) {
  .l-header.scrolled .l-header__menu {
    padding-top: 7px;
    padding-bottom: 8px; } }

@media screen and (min-width: 1024px) {
  .l-header.scrolled .p-sub-menu {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translate3d(0, -35px, 0);
            transform: translate3d(0, -35px, 0); } }

@media screen and (min-width: 1024px) {
  .browser-is-ie .l-header.scrolled .p-sub-menu {
    -webkit-transform: translate3d(50vw, -35px, 0);
            transform: translate3d(50vw, -35px, 0); } }

@media screen and (min-width: 1024px) {
  .l-header.scrolled .c-button--header > a {
    height: 100%; } }

.l-header__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transition: all 0.3s ease;
  visibility: hidden;
  background-color: #fff;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0); }
  @media screen and (min-width: 1024px) {
    .l-header__overlay {
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
      background: rgba(0, 0, 0, 0.2);
      opacity: 0;
      top: 110px; } }
  .l-header__overlay.active {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
    @media screen and (min-width: 1024px) {
      .l-header__overlay.active {
        opacity: 1; } }

.l-header__contact {
  box-sizing: border-box;
  padding-right: 3.125%;
  padding-left: 3.125%;
  margin-bottom: 40px; }
  @media screen and (min-width: 1024px) {
    .l-header__contact {
      margin-bottom: 0;
      margin-left: 20px;
      padding-right: 0;
      padding-left: 0; } }
  @media print, screen and (min-width: 80em) {
    .l-header__contact {
      margin-left: 40px; } }
  @media screen and (min-width: 1024px) {
    .l-header__contact.c-button {
      width: 130px; } }

.l-header__content {
  position: absolute;
  z-index: 1;
  top: 48px;
  left: 0;
  width: 100%;
  height: calc(100vh - 48px);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
  transition: all 0.1s ease;
  /* 
    親にflex, justify-content: space-betweenだとIEでうまくいかなかったため、
    marginを使って右に寄せます
  */
  margin: 0 0 0 auto; }
  @media print, screen and (min-width: 48em) {
    .l-header__content {
      top: 80px;
      height: calc(100vh - 80px); } }
  @media screen and (min-width: 1024px) {
    .l-header__content {
      display: flex;
      justify-content: flex-end;
      position: relative;
      top: 0;
      width: auto;
      height: auto;
      overflow: visible;
      opacity: 1;
      visibility: visible;
      -webkit-transform: none;
              transform: none; } }
  .l-header__content.active {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    transition: all 0.3s ease; }

.l-footer {
  position: relative;
  width: 100%;
  background-color: #fff; }

.l-footer__top {
  background: linear-gradient(to left bottom, #39c9d1, #13aac2);
  color: #fff;
  display: flex;
  flex-direction: column-reverse;
  padding-top: 20px;
  padding-right: 3.125%;
  padding-bottom: 30px;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 61.25em) {
    .l-footer__top {
      display: -ms-grid;
      display: grid;
      padding-top: 80px;
      padding-right: 3.125%;
      padding-bottom: 80px;
      padding-left: 3.125%;
      -ms-grid-rows: auto;
      -ms-grid-columns: 345px 11.25vw 1fr;
          grid-template: 'info sitemap' / 345px 1fr;
      gap: 11.25vw; } }
  @media print, screen and (min-width: 100em) {
    .l-footer__top {
      gap: 180px; } }
  @media print, screen and (min-width: 61.25em) {
    .l-footer__top .p-company-info {
      grid-area: info; } }
  @media print, screen and (min-width: 61.25em) {
    .l-footer__top .p-footer-sitemap {
      grid-area: sitemap; } }
  @media print, screen and (min-width: 61.25em) {
    .l-footer__top .p-company-info {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .l-footer__top .p-footer-sitemap {
    -ms-grid-row: 1;
    -ms-grid-column: 3; } }

@media only screen and (max-width: 47.9375em) {
  .l-footer__bottom {
    padding-top: 23px;
    padding-right: 3.125%;
    padding-bottom: 24px;
    padding-left: 3.125%; } }

@media print, screen and (min-width: 48em) {
  .l-footer__bottom {
    display: flex;
    justify-content: space-between;
    padding-top: 11px;
    padding-right: 3.125%;
    padding-bottom: 8px;
    padding-left: 3.125%; } }

.l-content-container {
  position: relative; }

.l-content-container--has_border {
  border-bottom: 1px solid #dfdfdf; }

.l-contact-area {
  padding-top: 35px;
  padding-bottom: 40px; }
  @media print, screen and (min-width: 61.25em) {
    .l-contact-area {
      padding-top: 75px;
      padding-bottom: 118px; } }

.l-contact-area--thin-padding {
  padding-top: 35px;
  padding-bottom: 40px; }
  @media print, screen and (min-width: 61.25em) {
    .l-contact-area--thin-padding {
      padding-top: 75px;
      padding-bottom: 0; } }

.l-contact-area__head {
  padding-right: 3.125%;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 61.25em) {
    .l-contact-area__head {
      padding-right: 3.125%;
      padding-left: 3.125%;
      margin-right: auto;
      margin-left: auto; } }
  @media print, screen and (min-width: 61.25em) {
    .l-contact-area__head {
      text-align: center; } }

.l-contact-area__title {
  display: block;
  font-weight: bold;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5; }
  @media print, screen and (min-width: 61.25em) {
    .l-contact-area__title {
      font-size: 26px;
      font-size: 1.625rem; } }

.l-contact-area__body {
  padding-right: 3.125%;
  padding-left: 3.125%;
  margin-top: 13px; }
  @media print, screen and (min-width: 61.25em) {
    .l-contact-area__body {
      max-width: 1400px;
      padding-right: 3.125%;
      padding-left: 3.125%;
      margin-right: auto;
      margin-left: auto; } }
  @media print, screen and (min-width: 61.25em) {
    .l-contact-area__body {
      margin-top: 30px; } }

/* 資料ダウンロードがない場合に使用 */
@media print, screen and (min-width: 61.25em) {
  .l-contact-area__body--no-document {
    max-width: 960px; } }

.l-contact-area__button {
  margin-top: 20px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3.125%;
  padding-left: 3.125%;
  width: auto;
  max-width: 320px; }
  @media print, screen and (min-width: 61.25em) {
    .l-contact-area__button {
      margin-top: 40px;
      padding-right: 0;
      padding-left: 0;
      max-width: 300px; } }

/**
 * Modifire
 */
.l-contact-area--border {
  border-top: 1px solid #cccccc; }

@media only screen and (max-width: 47.9375em) {
  .l-contact-area--bottom-padding {
    padding-bottom: 40px; } }

@media print, screen and (min-width: 48em) {
  .l-contact-area--bottom-padding {
    padding-bottom: 80px; } }

/* ==========================================================================
Object
========================================================================== */
.c-blank {
  display: inline-block;
  position: relative;
  padding-right: 20px;
  padding-left: 0; }
  .c-blank:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0.7em;
    width: 8px;
    height: 6px;
    background-color: #13aac2;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-blank:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0.7em + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #13aac2;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }
  @media print, screen and (min-width: 61.25em) {
    .c-blank:hover:after,
    a:hover .c-blank:after {
      background-color: #2ac4cf; } }
  @media print, screen and (min-width: 61.25em) {
    .c-blank:hover:before,
    a:hover .c-blank:before {
      border-color: #2ac4cf; } }
  .p-main-menu__item .c-blank {
    position: relative;
    padding-right: 20px; }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__item .c-blank {
        padding-right: 15px; } }
    @media print, screen and (min-width: 80em) {
      .p-main-menu__item .c-blank {
        padding-right: 20px; } }
    .p-main-menu__item .c-blank:before {
      top: 50%;
      right: 3.125%; }
      @media only screen and (max-width: 47.9375em) {
        .p-main-menu__item .c-blank:before {
          border-color: #333; } }
      @media print, screen and (min-width: 48em) {
        .p-main-menu__item .c-blank:before {
          border-color: #999999; } }
      @media print, screen and (min-width: 61.25em) {
        .p-main-menu__item .c-blank:before {
          right: 0; } }
    .p-main-menu__item .c-blank:after {
      top: calc(50% - 2px);
      right: 3.125%; }
      @media only screen and (max-width: 47.9375em) {
        .p-main-menu__item .c-blank:after {
          background-color: #333; } }
      @media print, screen and (min-width: 48em) {
        .p-main-menu__item .c-blank:after {
          background-color: #999999; } }
      @media print, screen and (min-width: 61.25em) {
        .p-main-menu__item .c-blank:after {
          right: 0; } }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__item .c-blank:hover:before {
        border-color: #2ac4cf; } }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__item .c-blank:hover:after {
        background-color: #2ac4cf; } }

.c-blank--on-colored-bg {
  opacity: 0.9; }
  .c-blank--on-colored-bg:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0.7em;
    width: 8px;
    height: 6px;
    background-color: #fff;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-blank--on-colored-bg:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0.7em + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #fff;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }
  .c-blank--on-colored-bg:hover:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0.7em;
    width: 8px;
    height: 6px;
    background-color: #fff;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-blank--on-colored-bg:hover:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0.7em + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #fff;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }

/*inline用*/
.c-blank--inline:after {
  display: none; }

.c-blank--inline:before {
  display: none; }

.c-blank--inline > span {
  position: relative;
  display: inline-block;
  width: 10px;
  height: 8px;
  margin-left: 8px; }
  .c-blank--inline > span:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0px;
    width: 8px;
    height: 6px;
    background-color: #13aac2;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-blank--inline > span:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0px + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #13aac2;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }
  .c-blank--inline > span:hover:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0px;
    width: 8px;
    height: 6px;
    background-color: #2ac4cf;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-blank--inline > span:hover:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0px + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #2ac4cf;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }

/* 見出し
----------------------------------------------------------------- */
/**
 * h1
 */
.c-heading-1 {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: 700;
  line-height: 1.5;
  color: #333; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-1 {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-1 {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-1 {
      font-size: 24px;
      font-size: 1.5rem; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-1 {
      font-size: 38px;
      font-size: 2.375rem; } }

/**
 * h2
 */
.c-heading-2 {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: 700;
  line-height: 1.5;
  color: #333; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-2 {
      font-size: 20px;
      font-size: 1.25rem; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-2 {
      font-size: 26px;
      font-size: 1.625rem; } }

/**
 * h3
 */
.c-heading-3 {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: 700;
  line-height: 1.5;
  color: #333; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-3 {
      font-size: 18px;
      font-size: 1.125rem; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-3 {
      font-size: 20px;
      font-size: 1.25rem; } }

/**
 * 見出しの上につくサブ見出し
 * hタグの中でspan要素に対して使用する
 */
.c-heading-sub {
  margin-bottom: 7px;
  /* これがつかないときも問題のないようにmargin-bottomで余白を取ります*/
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: 700;
  line-height: 1.5;
  color: #333;
  padding-left: 8px;
  border-left: 6px solid #13aac2;
  display: block; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-sub {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-sub {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-sub {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-sub {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-sub {
      margin-bottom: 12px; } }

.c-heading-sub-home {
  display: inline-block;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: 700;
  line-height: 1.5;
  color: #333;
  padding-bottom: 4px;
  border-bottom: 2px solid #333;
  margin-bottom: 10px; }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-sub-home {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-sub-home {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-heading-sub-home {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .c-heading-sub-home {
      font-size: 16px;
      font-size: 1rem; } }

/**
 * Modifire
 */
.c-heading-1--contact {
  text-align: center;
  color: #fff; }
  .c-heading-1--contact .c-heading-1__en span {
    color: #ffc500; }

@media print, screen and (min-width: 48em) {
  .c-heading-1--center-S {
    text-align: center; } }

.c-menu-name {
  font-weight: bold;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1; }
  @media only screen and (max-width: 47.9375em) {
    .c-menu-name {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .c-menu-name {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .c-menu-name {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .c-menu-name {
      font-size: 18px;
      font-size: 1.125rem;
      line-height: 1.8; } }

.c-menu-desc {
  line-height: 1.6;
  position: relative;
  color: #333; }
  @media only screen and (max-width: 47.9375em) {
    .c-menu-desc {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media only screen and (max-width: 47.9375em) {
    .c-menu-desc > br {
      display: none; } }

/* 各ブロック
 * l-content-containerの直下で使用
----------------------------------------------------------------- */
.c-content-block {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .c-content-block {
      padding-right: 3.125%;
      padding-left: 3.125%; } }
  @media print, screen and (min-width: 48em) {
    .c-content-block {
      padding-right: 3.125%;
      padding-left: 3.125%; } }

.c-content-block__inner {
  box-sizing: border-box;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .c-content-block__inner {
      width: 100%;
      margin-right: auto;
      margin-left: auto; } }

@media only screen and (max-width: 47.9375em) {
  .c-content-block__button {
    margin-top: 30px;
    margin-right: auto;
    margin-left: auto;
    max-width: 320px; } }

@media print, screen and (min-width: 48em) {
  .c-content-block__button {
    width: 200px;
    margin-right: auto;
    margin-top: 40px;
    margin-left: auto; } }

.c-content-block__bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f7f7f7; }

/**
 * Modifire
 */
.c-content-block--lead .c-content-block__inner {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto; }
  @media only screen and (max-width: 47.9375em) {
    .c-content-block--lead .c-content-block__inner {
      padding-top: 14px;
      padding-bottom: 16px; } }
  @media print, screen and (min-width: 48em) {
    .c-content-block--lead .c-content-block__inner {
      padding-top: 54px;
      padding-bottom: 56px; } }
  .c-content-block--lead .c-content-block__inner > *:first-child {
    margin-top: 0; }

.c-content-block--filter {
  padding: 0; }

.c-content-block--cards .c-content-block__inner {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto; }
  @media only screen and (max-width: 47.9375em) {
    .c-content-block--cards .c-content-block__inner {
      padding: 24px 0; } }
  @media print, screen and (min-width: 48em) {
    .c-content-block--cards .c-content-block__inner {
      padding-top: 60px;
      padding-bottom: 60px; } }
  .c-content-block--cards .c-content-block__inner > *:first-child {
    margin-top: 0; }

.c-content-block--free {
  padding-right: 0;
  padding-left: 0; }

.c-content-block--inside .c-content-block__inner, .c-content-block--seminar .c-content-block__inner, .c-content-block--banner .c-content-block__inner, .c-content-block--outline .c-content-block__inner, .c-content-block--page .c-content-block__inner {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto; }

@media only screen and (max-width: 47.9375em) {
  .c-content-block--button .c-content-block__bg {
    bottom: 26px; } }

@media print, screen and (min-width: 48em) {
  .c-content-block--button .c-content-block__bg {
    bottom: 30px; } }

.c-content-block--seminar .c-content-block__inner {
  padding-top: 40px; }

.c-content-block--border-top {
  border-top: 1px solid #cccccc; }

.c-content-block--detail .c-content-block__inner {
  max-width: 960px; }
  @media only screen and (max-width: 47.9375em) {
    .c-content-block--detail .c-content-block__inner {
      padding-top: 30px;
      padding-bottom: 55px; } }

@media print, screen and (min-width: 48em) {
  .c-content-block--detail {
    /*margin-top: 100px;*/
    padding-bottom: 100px;
    padding-top:100px;
    } }

.c-content-block--detail-view-button .c-content-block__inner {
  max-width: 960px; }
  @media only screen and (max-width: 47.9375em) {
    .c-content-block--detail-view-button .c-content-block__inner {
      padding-top: 54px;
      padding-bottom: 40px; } }

@media print, screen and (min-width: 48em) {
  .c-content-block--detail-view-button {
    padding-top: 78px; } }

@media only screen and (max-width: 47.9375em) {
  .c-content-block--detail-view-button .c-content-block__button {
    margin-top: 0; } }

@media only screen and (max-width: 47.9375em) {
  .c-content-block--banner .c-content-block__inner {
    padding-top: 20px;
    padding-bottom: 20px; } }

@media print, screen and (min-width: 48em) {
  .c-content-block--banner .c-content-block__inner {
    padding-top: 40px;
    padding-bottom: 40px; } }

@media only screen and (max-width: 47.9375em) {
  .c-content-block--outline .c-content-block__inner {
    padding-top: 12px;
    padding-bottom: 12px; } }

@media print, screen and (min-width: 48em) {
  .c-content-block--outline .c-content-block__inner {
    padding-top: 31px;
    padding-bottom: 33px; } }

.c-content-block--outline .c-content-block__inner > *:first-child {
  margin-top: 0; }

.c-content-block--aside {
  position: relative; }
  .c-content-block--aside .c-content-block__inner {
    max-width: 960px; }
    @media only screen and (max-width: 47.9375em) {
      .c-content-block--aside .c-content-block__inner {
        padding-top: 40px;
        padding-bottom: 40px; } }
  @media print, screen and (min-width: 48em) {
    .c-content-block--aside {
      padding-top: 78px;
      padding-bottom: 80px; } }

/* --aside よりpadding-bottomが狭い*/
.c-content-block--aside2 {
  position: relative; }
  .c-content-block--aside2 .c-content-block__inner {
    max-width: 960px; }
    @media only screen and (max-width: 47.9375em) {
      .c-content-block--aside2 .c-content-block__inner {
        padding-top: 40px;
        padding-bottom: 40px; } }
  @media print, screen and (min-width: 48em) {
    .c-content-block--aside2 {
      padding-top: 78px;
      padding-bottom: 62px; } }

/* --aside よりpadding-topが狭く、ネガティブマージン付き*/
.c-content-block--aside3 {
  position: relative; }
  .c-content-block--aside3 .c-content-block__inner {
    max-width: 960px; }
    @media only screen and (max-width: 47.9375em) {
      .c-content-block--aside3 .c-content-block__inner {
        padding-top: 0;
        padding-bottom: 40px; } }
  @media print, screen and (min-width: 48em) {
    .c-content-block--aside3 {
      padding-top: 0;
      padding-bottom: 80px;
      margin-top: -38px; } }

.c-content-block--history, .c-content-block--history-colored, .c-content-block--history-2 {
  padding-top: 20px;
  padding-bottom: 40px; }
  @media print, screen and (min-width: 48em) {
    .c-content-block--history, .c-content-block--history-colored, .c-content-block--history-2 {
      padding-top: 40px;
      padding-bottom: 80px; } }
  .c-content-block--history .c-content-block__inner, .c-content-block--history-colored .c-content-block__inner, .c-content-block--history-2 .c-content-block__inner {
    max-width: 960px; }

.c-content-block--history-colored {
  background: #fafafa; }

.c-content-block--history-2 {
  background: #fafafa;
  padding-top: 37px; }
  @media print, screen and (min-width: 48em) {
    .c-content-block--history-2 {
      padding-top: 74px; } }
  .c-content-block--history-2 .c-content-block__inner > *:first-child {
    margin-top: 0; }

.c-content-block--no-padding-t {
  padding-top: 0; }
  .c-content-block--no-padding-t .c-content-block__inner {
    padding-top: 0; }

.c-content-block--no-padding-b {
  padding-bottom: 0; }
  .c-content-block--no-padding-b .c-content-block__inner {
    padding-bottom: 0; }

.c-content-block__colored-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, #64c8cd, #13aac2); }

.c-content-block--page .c-content-block__inner {
  padding-top: 10px; }

/* コンテンツの各セクション
----------------------------------------------------------------- */
/**
 * h1の下にくるセクション
 */
.c-section-1 {
  /**
   * セクションのbodyの最初の要素のmargin-topを打ち消す
   */ }
  .c-section-1 > *:first-child {
    margin-top: 0; }
  @media only screen and (max-width: 47.9375em) {
    .c-section-1 {
      margin-top: 62px; } }
  @media print, screen and (min-width: 48em) {
    .c-section-1 {
      margin-top: 75px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-article-meta + .c-section-1 {
      margin-top: 10px; } }
  @media print, screen and (min-width: 48em) {
    .p-article-meta + .c-section-1 {
      margin-top: 25px; } }

/**
 * セミナーページの「こんな方へ」直下の.c-outlineをラップするセクション
 */
@media only screen and (max-width: 47.9375em) {
  .c-section-1--outline {
    margin-top: 20px; } }

@media print, screen and (min-width: 48em) {
  .c-section-1--outline {
    margin-top: 50px; } }

@media only screen and (max-width: 47.9375em) {
  .c-section-1--large {
    margin-top: 22px; } }

@media print, screen and (min-width: 48em) {
  .c-section-1--large {
    margin-top: 36px; } }

/**
 * c-heading-1 の直後のc-section-1に付与する
 */
@media only screen and (max-width: 47.9375em) {
  .c-section-1--lead {
    margin-top: 10px; } }

@media print, screen and (min-width: 48em) {
  .c-section-1--lead {
    margin-top: 25px; } }

/**
 * h1の次にh2が来るときに使用する
 */
@media only screen and (max-width: 47.9375em) {
  .c-section-1--lead-2 {
    margin-top: 20px; } }

@media print, screen and (min-width: 48em) {
  .c-section-1--lead-2 {
    margin-top: 45px; } }

@media only screen and (max-width: 47.9375em) {
  .c-section-1--lead-3 {
    margin-top: 38px; } }

@media print, screen and (min-width: 48em) {
  .c-section-1--lead-3 {
    margin-top: 75px; } }

/**
 * h2の下にくるセクション
 */
.c-section-2 > *:first-child {
  margin-top: 0; }

@media only screen and (max-width: 47.9375em) {
  .c-section-2 {
    margin-top: 64px; } }

@media print, screen and (min-width: 48em) {
  .c-section-2 {
    margin-top: 50px; } }

@media only screen and (max-width: 47.9375em) {
  .c-heading-2 + .c-section-2 {
    margin-top: 36px; } }

@media print, screen and (min-width: 48em) {
  .c-heading-2 + .c-section-2 {
    margin-top: 30px; } }

@media only screen and (max-width: 47.9375em) {
  .c-section-2--after-img {
    margin-top: 36px; } }

@media print, screen and (min-width: 48em) {
  .c-section-2--after-img {
    margin-top: 70px; } }

/**
 * h3の下にくるセクション
 */
.c-section-3 > *:first-child {
  margin-top: 0; }

@media only screen and (max-width: 47.9375em) {
  .c-section-3 {
    margin-top: 10px; } }

@media print, screen and (min-width: 48em) {
  .c-section-3 {
    margin-top: 18px; } }

/**
 * c-heading-3 の直後のc-section-3に付与する
 */
@media only screen and (max-width: 47.9375em) {
  .c-section-3--lead {
    margin-top: 10px; } }

@media print, screen and (min-width: 48em) {
  .c-section-3--lead {
    margin-top: 25px; } }

@media print, screen and (min-width: 48em) {
  .c-flex {
    display: flex;
    flex-wrap: wrap;
    margin-top: -40px;
    margin-right: -20px;
    margin-left: -20px; } }

@media print, screen and (min-width: 48em) {
  .c-flex__item {
    margin-top: 40px;
    margin-right: 20px;
    margin-left: 20px; } }

@media only screen and (max-width: 47.9375em) {
  .c-flex__item + .c-flex__item {
    margin-top: 15px; } }

@media print, screen and (min-width: 48em) {
  .c-flex--max2 .c-flex__item {
    width: calc(50% - 40px); } }

@media print, screen and (min-width: 48em) {
  .c-flex--max3 .c-flex__item {
    width: calc(25% - 40px); } }

.c-flex--case {
  margin: -10px 0 0 -10px; }
  .c-flex--case .c-flex__item {
    margin: 10px 0 0 10px; }
    @media print, screen and (min-width: 48em) {
      .c-flex--case .c-flex__item {
        width: calc(50% - 10px); } }
    @media print, screen and (min-width: 61.25em) {
      .c-flex--case .c-flex__item {
        width: calc(33.3% - 10px); } }

.c-flex--max4 {
  margin: -10px 0 0 -10px; }
  .c-flex--max4 .c-flex__item {
    margin: 10px 0 0 10px; }
    @media print, screen and (min-width: 48em) {
      .c-flex--max4 .c-flex__item {
        width: calc(50% - 10px); } }
    @media print, screen and (min-width: 61.25em) {
      .c-flex--max4 .c-flex__item {
        width: calc(33.3% - 10px); } }
    @media print, screen and (min-width: 80em) {
      .c-flex--max4 .c-flex__item {
        max-width: calc(25% - 10px); } }

@media print, screen and (min-width: 48em) {
  .c-flex--seminar {
    margin-top: -10px;
    margin-right: -5px;
    margin-left: -5px; } }

@media print, screen and (min-width: 48em) {
  .c-flex--seminar .c-flex__item {
    width: calc(33.3% - 10px);
    margin-top: 10px;
    margin-right: 5px;
    margin-left: 5px; } }

.c-flex--banner {
  display: flex;
  flex-wrap: wrap;
  margin-top: -10px;
  margin-right: -5px;
  margin-left: -5px; }
  @media print, screen and (min-width: 61.25em) {
    .c-flex--banner {
      margin-top: -40px;
      margin-right: -20px;
      margin-left: -20px; } }
  .c-flex--banner .c-flex__item {
    width: calc(50% - 10px);
    margin-top: 10px;
    margin-left: 5px;
    margin-right: 5px; }
    @media print, screen and (min-width: 61.25em) {
      .c-flex--banner .c-flex__item {
        width: calc(25% - 40px);
        margin-top: 40px;
        margin-left: 20px;
        margin-right: 20px; } }

.c-button {
  text-align: center;
  transition: opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease;
  transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%; }
  .c-button > a,
  .c-button > button,
  .c-button > div {
    box-sizing: border-box;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    font-weight: bold;
    border: none;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
    overflow: hidden;
    position: relative;
    display: block;
    border-radius: 3px;
    cursor: pointer;
    width: 100%;
    border-style: solid;
    border-width: 2px;
    border-color: #13aac2;
    background-color: #13aac2;
    color: #fff;
    font-size: 14px;
    font-size: 0.875rem; }
    @media only screen and (max-width: 47.9375em) {
      .c-button > a,
      .c-button > button,
      .c-button > div {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    @media print, screen and (min-width: 48em) {
      .c-button > a,
      .c-button > button,
      .c-button > div {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    @media only screen and (max-width: 47.9375em) {
      .c-button > a,
      .c-button > button,
      .c-button > div {
        padding-top: 8px;
        padding-right: 10px;
        padding-bottom: 8px;
        padding-left: 10px; } }
    @media print, screen and (min-width: 48em) {
      .c-button > a,
      .c-button > button,
      .c-button > div {
        padding: 8px;
        line-height: 1.75; } }
    @media print, screen and (min-width: 61.25em) {
      .c-button > a:after,
      .c-button > button:after,
      .c-button > div:after {
        content: '';
        position: absolute;
        z-index: 1;
        top: 0;
        right: 1px;
        width: 100%;
        height: 100%;
        display: block;
        background-color: #fff;
        -webkit-transform: translate3d(-100%, 0, 0);
                transform: translate3d(-100%, 0, 0);
        transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
        transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
        transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
    @media print, screen and (min-width: 61.25em) {
      .c-button > a:hover,
      .c-button > button:hover,
      .c-button > div:hover {
        color: #13aac2;
        transition: color 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), background-color 0s 0.4s linear; } }
    @media print, screen and (min-width: 61.25em) {
      .c-button > a:hover:after,
      .c-button > button:hover:after,
      .c-button > div:hover:after {
        right: 0;
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
        transition: -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
        transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
        transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
    @media print, screen and (min-width: 61.25em) {
      .c-button > a:hover > span:after,
      .c-button > button:hover > span:after,
      .c-button > div:hover > span:after {
        box-sizing: border-box;
        display: block;
        position: absolute;
        top: 50%;
        width: 8px;
        height: 8px;
        border-style: solid;
        border-width: 2px 2px 0 0;
        -webkit-transform: translate(0, -50%) rotate(45deg);
                transform: translate(0, -50%) rotate(45deg);
        border-color: #13aac2;
        transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        content: '';
        top: 0.95em;
        right: 0;
        -webkit-transform: translate3d(-5px, -50%, 0) rotate(45deg);
                transform: translate3d(-5px, -50%, 0) rotate(45deg);
        transition: all 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
    .c-button > a > span,
    .c-button > button > span,
    .c-button > div > span {
      display: inline-block;
      position: relative;
      z-index: 2;
      padding-right: 15px; }
      .c-button > a > span:after,
      .c-button > button > span:after,
      .c-button > div > span:after {
        box-sizing: border-box;
        display: block;
        position: absolute;
        top: 50%;
        width: 8px;
        height: 8px;
        border-style: solid;
        border-width: 2px 2px 0 0;
        -webkit-transform: translate(0, -50%) rotate(45deg);
                transform: translate(0, -50%) rotate(45deg);
        border-color: #fff;
        transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        content: '';
        right: 0; }
        @media only screen and (max-width: 47.9375em) {
          .c-button > a > span:after,
          .c-button > button > span:after,
          .c-button > div > span:after {
            top: 0.9em; } }
        @media print, screen and (min-width: 48em) {
          .c-button > a > span:after,
          .c-button > button > span:after,
          .c-button > div > span:after {
            top: 0.95em; } }
        @media print, screen and (min-width: 61.25em) {
          .c-button > a > span:after,
          .c-button > button > span:after,
          .c-button > div > span:after {
            transition: all 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
  .c-button.-home > a,
  .c-button.-home > button,
  .c-button.-home > div {
    background-color: #fff;
    color: #13aac2; }
    @media print, screen and (min-width: 48em) {
      .c-button.-home > a,
      .c-button.-home > button,
      .c-button.-home > div {
        border-color: transparent; } }
    .c-button.-home > a > span:after,
    .c-button.-home > button > span:after,
    .c-button.-home > div > span:after {
      box-sizing: border-box;
      display: block;
      position: absolute;
      top: 50%;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      -webkit-transform: translate(0, -50%) rotate(45deg);
              transform: translate(0, -50%) rotate(45deg);
      border-color: #13aac2;
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: ''; }
      @media only screen and (max-width: 47.9375em) {
        .c-button.-home > a > span:after,
        .c-button.-home > button > span:after,
        .c-button.-home > div > span:after {
          top: 0.9em; } }
      @media print, screen and (min-width: 48em) {
        .c-button.-home > a > span:after,
        .c-button.-home > button > span:after,
        .c-button.-home > div > span:after {
          top: 0.95em; } }
      @media print, screen and (min-width: 61.25em) {
        .c-button.-home > a > span:after,
        .c-button.-home > button > span:after,
        .c-button.-home > div > span:after {
          transition: all 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
    @media print, screen and (min-width: 61.25em) {
      .c-button.-home > a:hover,
      .c-button.-home > button:hover,
      .c-button.-home > div:hover {
        color: #fff;
        border-color: #fff; } }
  @media print, screen and (min-width: 61.25em) and (min-width: 61.25em) {
    .c-button.-home > a:hover > span:after,
    .c-button.-home > button:hover > span:after,
    .c-button.-home > div:hover > span:after {
      box-sizing: border-box;
      display: block;
      position: absolute;
      top: 50%;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      -webkit-transform: translate(0, -50%) rotate(45deg);
              transform: translate(0, -50%) rotate(45deg);
      border-color: #fff;
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: '';
      top: 0.95em;
      right: 0;
      -webkit-transform: translate3d(-5px, -50%, 0) rotate(45deg);
              transform: translate3d(-5px, -50%, 0) rotate(45deg);
      transition: all 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
    .c-button.-home > a:after,
    .c-button.-home > button:after,
    .c-button.-home > div:after {
      background-color: #13aac2; }

/**
 * Modifire
 */
.c-button--color_reverse > a, .c-button--type1 > a {
  border-color: #fff;
  background-color: #13aac2;
  color: #fff; }
  @media print, screen and (min-width: 61.25em) {
    .c-button--color_reverse > a:hover, .c-button--type1 > a:hover {
      color: #fff; } }

.c-button--border_has > a, .c-button--type1 > a {
  border: 1px solid #13aac2; }
  @media only screen and (max-width: 47.9375em) {
    .c-button--border_has > a, .c-button--type1 > a {
      padding-top: 12px;
      padding-bottom: 12px; } }

.c-button--blank > a:hover > span:after {
  -webkit-transform: translate3d(0, 0, 0) rotate(0);
          transform: translate3d(0, 0, 0) rotate(0);
  background-color: #fff; }

.c-button--blank > a:hover > span:before {
  border-color: #fff; }

.c-button--blank > a > span {
  padding-right: 20px;
  padding-left: 0; }
  .c-button--blank > a > span:after {
    right: 0px;
    top: 12px;
    width: 8px;
    height: 6px;
    background-color: #13aac2;
    border: none;
    -webkit-transform: translate3d(0, 0, 0) rotate(0);
            transform: translate3d(0, 0, 0) rotate(0); }
  .c-button--blank > a > span:before {
    content: '';
    position: absolute;
    right: -2px;
    top: 14px;
    width: 7px;
    height: 5px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #13aac2;
    -webkit-transform: translate3d(0, 0, 0) rotate(0);
            transform: translate3d(0, 0, 0) rotate(0);
    transition: all 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }

.c-button--contact > a > span {
  padding-right: 0;
  padding-left: 37px; }
  .c-button--contact > a > span:after {
    display: none; }
  .c-button--contact > a > span > svg {
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 23px;
    height: 14px;
    fill: #ffc500;
    transition: fill 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
    @media only screen and (max-width: 47.9375em) {
      .c-button--contact > a > span > svg {
        top: 0.2em; } }

@media print, screen and (min-width: 61.25em) {
  .c-button--contact > a:hover svg {
    fill: #fff; } }

.c-button--header > a {
  background-color: #ffc500;
  border: none;
  color: #333;
  box-shadow: none;
  border-radius: 0;
  padding-left: 14px;
  font-size: 14px; }
  @media print, screen and (min-width: 48em) {
    .c-button--header > a {
      display: flex;
      align-items: center;
      height: 100%; } }
  .c-button--header > a > span {
    padding-right: 15px; }
    .c-button--header > a > span:after {
      border-color: #333; }
  .c-button--header > a:after {
    background-color: #ffaa00; }
  @media print, screen and (min-width: 61.25em) {
    .c-button--header > a:hover {
      box-shadow: none;
      color: #333; } }
  .c-button--header > a:hover > span:after {
    border-color: #333; }

.c-button--cta > a {
  background-color: #ffc500;
  border: none;
  color: #333;
  padding: 10px; }
  @media print, screen and (min-width: 48em) {
    .c-button--cta > a {
      padding-top: 16px;
      padding-bottom: 16px; } }
  .c-button--cta > a > span:after {
    border-color: #333; }
  .c-button--cta > a:after {
    background-color: #ffaa00; }
  @media print, screen and (min-width: 61.25em) {
    .c-button--cta > a:hover {
      color: #333; }
      .c-button--cta > a:hover > span:after {
        border-color: #333; } }

/* 文章
----------------------------------------------------------------- */
.c-sentence {
  line-height: 1.75; }
  @media only screen and (max-width: 47.9375em) {
    .c-sentence {
      margin-top: 12px; } }
  @media print, screen and (min-width: 48em) {
    .c-sentence {
      margin-top: 24px;
      font-size: 18px;
      font-size: 1.125rem; } }
  @media only screen and (max-width: 47.9375em) {
    .c-figure + .c-sentence {
      margin-top: 14px; } }
  @media print, screen and (min-width: 48em) {
    .c-figure + .c-sentence {
      margin-top: 35px; } }

/**
* 中央寄せ
*/
.c-sentence--center, .c-sentence--lead {
  text-align: center; }

@media print, screen and (min-width: 48em) {
  .c-sentence--center-S {
    text-align: center; } }

/**
* 右寄せ
*/
.c-sentence--right {
  text-align: right; }

/**
 * 文字サイズ小
 */
@media print, screen and (min-width: 48em) {
  .c-sentence--muted {
    font-size: 16px;
    font-size: 1rem; } }

/**
* リード文
*/
@media only screen and (max-width: 47.9375em) {
  .c-sentence--lead {
    text-align: left;
    margin-top: 6px; } }

@media print, screen and (min-width: 48em) {
  .c-sentence--lead {
    margin-top: 24px;
    line-height: 1.7; } }

.c-sentence--lead > br {
  display: none; }
  @media print, screen and (min-width: 61.25em) {
    .c-sentence--lead > br {
      display: block; } }

/**
* Google Maps 埋め込みの下部につく
*/
.c-sentence--caption {
  margin-top: 12px;
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 48em) {
    .c-sentence--caption {
      font-size: 16px;
      font-size: 1rem; } }

/*
 * 固定ページに挿入する画像に指定する。
 */
.c-image {
  margin-bottom: 18px; }
  @media only screen and (max-width: 47.9375em) {
    .c-image {
      line-height: 1.6; } }
  @media print, screen and (min-width: 48em) {
    .c-image {
      line-height: 2.2; } }
  .c-image img {
    overflow: hidden;
    border-radius: 3px;
    display: block; }
    @media only screen and (max-width: 47.9375em) {
      .c-image img {
        width: 100%;
        height: auto; } }
    @media print, screen and (min-width: 48em) {
      .c-image img {
        max-width: 100%;
        height: auto; } }
  @media only screen and (max-width: 47.9375em) {
    .c-image + .c-image {
      margin-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    .c-image + .c-image {
      margin-top: 40px; } }

.c-image__caption {
  margin-top: 10px; }
  @media only screen and (max-width: 47.9375em) {
    .c-image__caption {
      font-size: 10px;
      font-size: 0.625rem; } }
  @media print, screen and (min-width: 48em) {
    .c-image__caption {
      text-align: right;
      font-size: 12px;
      font-size: 0.75rem; } }

.c-image--has_border {
  position: relative; }
  .c-image--has_border:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border: 1px solid #cccccc;
    border-radius: 3px; }

@media only screen and (max-width: 47.9375em) {
  .c-image--size_default img {
    width: auto;
    max-width: 100%; } }

.c-image--radius_none img {
  border-radius: 0; }

.c-arrow-link {
  position: relative; }
  .p-article-wp-area .c-arrow-link {
    text-decoration: none; }
  .c-arrow-link:after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #ffc500;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: ''; }
  @media print, screen and (min-width: 61.25em) {
    .c-arrow-link:hover:after {
      stroke: #2ac4cf;
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); } }
  .c-sentence .c-arrow-link {
    text-decoration: none; }

/* inline用 */
.c-arrow-link--inline {
  position: relative; }
  .p-article-wp-area .c-arrow-link--inline {
    text-decoration: none; }
  .c-arrow-link--inline:after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: ''; }
  @media print, screen and (min-width: 61.25em) {
    .c-arrow-link--inline:hover:after {
      stroke: #2ac4cf;
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); } }
  .c-sentence .c-arrow-link--inline {
    text-decoration: none; }

.c-arrow-link--type_service svg {
  top: -0.1em;
  stroke: #13aac2;
  stroke-width: 1px;
  width: 9px;
  height: 9px;
  padding-left: 6px; }

.c-arrow-link--type_faq {
  font-weight: bold; }

/* タイル形式で並ぶパネル
----------------------------------------------------------------- */
.c-grid-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  border-top: solid 1px #cccccc;
  border-bottom: solid 1px #cccccc; }

.c-grid-panel__item {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin-bottom: -1px;
  border-bottom: solid 1px #cccccc; }
  @media print, screen and (min-width: 61.25em) {
    .c-grid-panel__item {
      z-index: 0;
      transition: all 0s linear 0.2s; } }
  @media print, screen and (min-width: 61.25em) {
    .c-grid-panel__item .c-grid-panel__bg {
      transition: all 0.2s ease-in-out; } }
  @media print, screen and (min-width: 61.25em) {
    .c-grid-panel__item .p-home-theme__thumb img,
    .c-grid-panel__item .p-home-solution__thumb img {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      transition: all 0.2s ease-in-out; } }
  @media print, screen and (min-width: 61.25em) {
    .c-grid-panel__item .p-home-solution__content {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      transition: all 0.2s ease-in-out; } }
  @media print, screen and (min-width: 61.25em) {
    .c-grid-panel__item:hover {
      -webkit-animation: zindex 0.2s ease 0s 1 normal;
              animation: zindex 0.2s ease 0s 1 normal;
      transition: all 0s;
      z-index: 1; } }
  @media print, screen and (min-width: 61.25em) {
    .c-grid-panel__item:hover .c-grid-panel__bg {
      box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }
  @media print, screen and (min-width: 61.25em) {
    .c-grid-panel__item:hover .p-home-theme__thumb img,
    .c-grid-panel__item:hover .p-home-solution__thumb img {
      -webkit-transform: scale(1.1);
              transform: scale(1.1); } }

.c-grid-panel__bg {
  position: absolute;
  z-index: -1;
  top: 1px;
  right: 0;
  bottom: 0;
  left: 0; }

/**
 * Modifire
 */
@media print, screen and (min-width: 61.25em) {
  .c-grid-panel--max2 .c-grid-panel__item {
    width: 50%;
    border-right: solid 1px #cccccc; } }

@media print, screen and (min-width: 48em) {
  .c-grid-panel--max2 .c-grid-panel__item:nth-of-type(2n) {
    border-right: none; } }

@media print, screen and (min-width: 61.25em) {
  .c-grid-panel--max3 .c-grid-panel__item {
    width: 33.3%;
    border-right: solid 1px #cccccc; } }

@media print, screen and (min-width: 48em) {
  .c-grid-panel--max3 .c-grid-panel__item:nth-of-type(3n) {
    border-right: none; } }

@media print, screen and (min-width: 61.25em) {
  .c-grid-panel--theme .c-grid-panel__item {
    width: 33.3%;
    border-right: solid 1px #cccccc; } }

@media print, screen and (min-width: 61.25em) {
  .c-grid-panel--theme .c-grid-panel__item:nth-of-type(3n) {
    border-right: none; } }

@media only screen and (max-width: 47.9375em) {
  .c-grid-panel--solution .c-grid-panel__item {
    width: 100%; } }

@media print, screen and (min-width: 48em) {
  .c-grid-panel--solution .c-grid-panel__item {
    width: 50%;
    border-right: solid 1px #cccccc; } }

@media print, screen and (min-width: 61.25em) {
  .c-grid-panel--solution .c-grid-panel__item {
    width: 25%; } }

@media print, screen and (min-width: 48em) {
  .c-grid-panel--solution .c-grid-panel__item:nth-of-type(2n) {
    border-right: none; } }

@media print, screen and (min-width: 61.25em) {
  .c-grid-panel--solution .c-grid-panel__item:nth-of-type(2n) {
    border-right: solid 1px #cccccc; } }

@media print, screen and (min-width: 61.25em) {
  .c-grid-panel--solution .c-grid-panel__item:nth-of-type(4n) {
    border-right: none; } }

.c-grid-panel--link .c-grid-panel__item {
  display: flex; }

/* リスト
----------------------------------------------------------------- */
.c-list {
  margin-top: 20px; }
  @media only screen and (max-width: 47.9375em) {
    .c-list {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48em) {
    .c-list {
      font-size: 18px;
      font-size: 1.125rem;
      line-height: 2; } }

/**
 * 装飾付き（円）
 */
.c-list--disc > li, .c-list--solution > li {
  position: relative;
  padding-left: 20px; }
  .c-list--disc > li:before, .c-list--solution > li:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 5px;
    height: 5px;
    box-sizing: border-box;
    background-color: #ccc;
    border-radius: 50%; }
    @media only screen and (max-width: 47.9375em) {
      .c-list--disc > li:before, .c-list--solution > li:before {
        top: 0.7em; } }
    @media print, screen and (min-width: 48em) {
      .c-list--disc > li:before, .c-list--solution > li:before {
        top: 0.85em; } }

/**
 * 装飾付き（数字）
 */
.c-list--decimal {
  list-style-type: decimal;
  list-style-position: inside;
  text-indent: -1em;
  padding-left: 1em; }

@media only screen and (max-width: 47.9375em) {
  .c-list--muted, .c-list--note, .c-list--solution, .c-list--history {
    font-size: 14px;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 48em) {
  .c-list--muted, .c-list--note, .c-list--solution, .c-list--history {
    font-size: 16px;
    font-size: 1rem; } }

/**
 * 文字サイズ小
 */
@media only screen and (max-width: 47.9375em) {
  .c-list--muted.c-list--disc > li:before, .c-list--muted.c-list--solution > li:before {
    top: 0.55em; } }

@media print, screen and (min-width: 48em) {
  .c-list--muted.c-list--disc > li:before, .c-list--muted.c-list--solution > li:before {
    top: 0.75em; } }

.c-list--type_check li {
  position: relative;
  padding-left: 28px; }
  .c-list--type_check li:not(:first-of-type) {
    margin-top: 15px; }
  .c-list--type_check li::before {
    content: url(/cms/sc/common/img/icon_check.svg);
    position: absolute;
    width: 1.25rem;
    /* 20px */
    left: 0;
    top: 0.3rem; }
  @media print, screen and (min-width: 48em) {
    .c-list--type_check li {
      padding-left: 42px; }
      .c-list--type_check li:not(:first-of-type) {
        margin-top: 20px; }
      .c-list--type_check li::before {
        width: 26px; } }

.p-advantage-problems__list .c-list--type_check li:not(:first-of-type) {
  margin-top: 9px; }

@media print, screen and (min-width: 48em) {
  .p-advantage-problems__list .c-list--type_check:not(:first-of-type) {
    margin-top: 20px; } }

.p-advantage-fields .c-list--type_check {
  line-height: 1.5;
  font-size: 16px;
  font-size: 1rem; }
  @media print, screen and (min-width: 80em) {
    .p-advantage-fields .c-list--type_check {
      font-size: 18px;
      font-size: 1.125rem; } }

/**
 * 装飾付き（注釈つき）
 * <li><span>※</span>テキスト</li>
 */
.c-list--note li {
  display: flex; }
  .c-list--note li span {
    margin-right: 0.2rem; }

@media print, screen and (min-width: 48em) {
  .c-list--solution {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px; } }

.c-list--solution > li {
  box-sizing: border-box; }
  @media print, screen and (min-width: 48em) {
    .c-list--solution > li {
      width: calc(50% - 20px);
      margin-left: 20px; } }
  .c-list--solution > li a:hover::after {
    -webkit-transform: translateX(-5px) rotate(45deg);
            transform: translateX(-5px) rotate(45deg); }
  .c-list--solution > li a::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  .c-list--solution > li a[target='_blank']::after {
    border: none;
    width: auto;
    height: auto;
    transition: none;
    margin: 0 0 0 0.2rem;
    -webkit-transform: none;
            transform: none;
    position: static;
    content: url(/cms/sc/common/img/icon_blank-link.svg); }

@media print, screen and (min-width: 48em) {
  .c-list--sitemap {
    display: flex;
    flex-wrap: wrap;
    margin-left: -40px; } }

.c-list--sitemap > li {
  box-sizing: border-box;
  border-bottom: 1px solid #cccccc; }
  @media print, screen and (min-width: 48em) {
    .c-list--sitemap > li {
      width: calc(50% - 40px);
      margin-left: 40px; } }
  .c-list--sitemap > li:nth-child(1) {
    border-top: 1px solid #cccccc; }
  @media print, screen and (min-width: 48em) {
    .c-list--sitemap > li:nth-child(2) {
      border-top: 1px solid #cccccc; } }
  .c-list--sitemap > li a {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px; }

/**
 * 上マージンなし
 */
.c-list--no-margin {
  margin-top: 0; }

/**
 * 太字
 */
.c-list--bold {
  font-weight: 700; }

/**
 * これまでの歩み
 */
.c-list--history {
  margin-top: 0;
  line-height: inherit; }
  .c-list--history > li + li {
    margin-top: 12px; }

/**
 * 装飾付き（×印）
 */
/**
 * 装飾付き（チェックマーク）
 */
/* 画像
 * 詳細ページに挿入する画像に指定する。
----------------------------------------------------------------- */
@media only screen and (max-width: 47.9375em) {
  .c-figure {
    margin-top: 12px; } }

@media print, screen and (min-width: 48em) {
  .c-figure {
    margin-top: 35px; } }

.c-figure > img {
  display: block;
  max-width: 100%;
  margin: 0 auto; }

@media only screen and (max-width: 47.9375em) {
  table + .c-figure,
  .c-figure + .c-figure {
    margin-top: 20px; } }

@media print, screen and (min-width: 48em) {
  table + .c-figure,
  .c-figure + .c-figure {
    margin-top: 40px; } }

.c-figure--hover img {
  transition: opacity 0.2s ease; }

.c-figure--hover:hover img {
  opacity: 0.75; }

/**
 * 枠線つき
 */
.c-figure--border {
  position: relative; }
  .c-figure--border:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border: 1px solid #cccccc; }

.c-figure--banner {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 720px; }
  @media only screen and (max-width: 47.9375em) {
    .c-figure--banner {
      width: 90%; } }
  .c-figure--banner img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    transition: opacity 0.2s ease; }
  .c-figure--banner:hover img {
    opacity: 0.75; }

.c-highlighted-text {
  font-weight: 700;
  background: linear-gradient(transparent 80%, #ffc500 80%); }
  @media only screen and (max-width: 47.9375em) {
    .c-highlighted-text {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48em) {
    .c-highlighted-text {
      font-size: 18px;
      font-size: 1.125rem; } }

/* 詳細ページのアンカーリンク
----------------------------------------------------------------- */
.c-outline {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 47.9375em) {
    .c-outline {
      flex-direction: column;
      margin-top: 10px; } }
  @media print, screen and (min-width: 48em) {
    .c-outline {
      margin-top: -5px;
      margin-left: -30px; } }

@media print, screen and (min-width: 48em) {
  .c-outline__item {
    margin-top: 5px;
    margin-left: 30px; } }

.c-outline__link {
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 12px; }
  .c-outline__link::before {
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 50%;
    width: 5.66px;
    height: 5.66px;
    border-style: solid;
    border-width: 0 1.41px 1.41px 0;
    -webkit-transform: translate(0, -50%) rotate(45deg);
            transform: translate(0, -50%) rotate(45deg);
    border-color: #999999;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    top: 0.8rem;
    left: 0; }
  .c-outline__link::after {
    content: '';
    width: 8px;
    height: 1px;
    display: block;
    background: #999999;
    position: absolute;
    left: -1px;
    top: calc(0.8rem + 5px); }

/**
 * カテゴリページ
 */
.c-outline--cat {
  justify-content: center; }
  @media only screen and (max-width: 47.9375em) {
    .c-outline--cat {
      margin-top: 10px; } }
  @media print, screen and (min-width: 48em) {
    .c-outline--cat {
      margin-top: 50px;
      margin-right: auto;
      margin-left: auto; } }

/**
 * バナーが前に挿入されるとき
 */
.c-outline--banner {
  margin-top: 25px; }

/**
 * 組織体制・教育制度
 */
.c-outline--organization {
  margin-top: 57px; }

/**
 * 資料ダウンロード トップ
 */
.c-outline--document {
  max-width: 1000px; }

.c-case-card {
  display: block;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
  background: #fff;
  transition: box-shadow 0.2s ease;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  padding: 0; }
  @media print, screen and (min-width: 61.25em) {
    .c-case-card:hover .c-case-card__heading::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); } }
  @media print, screen and (min-width: 61.25em) {
    .c-case-card:hover[target='_blank']:hover .c-case-card__heading::after {
      -webkit-transform: none;
              transform: none; } }
  @media print, screen and (min-width: 61.25em) {
    .c-case-card:hover {
      box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }
  @media print, screen and (min-width: 61.25em) {
    .c-case-card:hover .c-case-card__head span {
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      transition: all 0.4s ease; } }
  @media print, screen and (min-width: 61.25em) {
    .c-case-card:hover .c-case-card__head_short span {
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      transition: all 0.4s ease; } }
  @media only screen and (max-width: 47.9375em) {
    .c-case-card:not(:first-of-type) {
      margin-top: 20px; } }

.c-case-card--new {
  position: relative; }
  .c-case-card--new:before {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    width: 50px;
    height: 50px;
    z-index: 1;
    background-image: url("/cms/sc/common/img/icon_badge-new.svg");
    background-repeat: no-repeat; }
    @media only screen and (max-width: 47.9375em) {
      .c-case-card--new:before {
        width: 30px;
        height: 30px; } }
    @media print, screen and (min-width: 48em) {
      .c-case-card--new:before {
        width: 50px;
        height: 50px; } }

.c-case-card__head {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  border-bottom: 1px solid #ccc;
  overflow: hidden;
  padding-top: 220px;
  box-sizing: border-box;
  height: 0;
  overflow: hidden; }
  .c-case-card__head span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; }

.c-case-card__head_short {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  border-bottom: 1px solid #ccc;
  overflow: hidden;
  padding-top: 120px;
  box-sizing: border-box;
  height: 0;
  overflow: hidden; }
  .c-case-card__head_short span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; }

.c-case-card__heading {
  font-weight: 700;
  margin-top: 8px; }
  .c-case-card__heading::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    top: -2px;
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  a[target='_blank'] .c-case-card__heading::after {
    content: url(/cms/sc/common/img/icon_blank-link.svg);
    transition: all 0s 0s ease;
    border: none;
    width: auto;
    height: auto;
    transition: none;
    margin: 0 0 0 0.2rem;
    -webkit-transform: none;
            transform: none;
    position: static; }
  @media print, screen and (min-width: 48em) {
    .c-case-card__heading {
      font-size: 18px;
      font-size: 1.125rem;
      line-height: 1.56; } }

.c-case-card__body {
  padding: 12px 16px;
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .c-case-card__body {
      box-sizing: border-box;
      padding: 32px 40px 33px 40px; } }

.c-case-card__logo {
  position: absolute;
  display: block;
  border: 1px solid #ccc;
  box-sizing: border-box;
  overflow: hidden;
  width: 140px;
  height: 70px;
  top: -36px;
  left: 40px; }
  @media only screen and (max-width: 47.9375em) {
    .c-case-card__logo {
      top: -56px;
      left: 16px; } }
  @media print, screen and (min-width: 48em) {
    .c-case-card__logo {
      width: 140px;
      height: 70px;
      top: -36px;
      left: 40px; } }
  .c-case-card__logo > span {
    width: 100%;
    height: 70px;
    display: block;
    background-position: 50% 50%;
    background-size: cover; }

.c-case-card__name {
  font-size: 13px;
  font-size: 0.8125rem;
  margin-top: 12px;
  color: #333; }

.c-case-card__tags {
  margin-top: 5px; }
  @media print, screen and (min-width: 48em) {
    .c-case-card__tags {
      margin-top: 17px; } }

.c-case-card__tag {
  padding: 3px 5px;
  display: flex;
  justify-content: flex-start;
  font-size: 13px;
  font-size: 0.75rem;
  color: #666;
  margin-top: 5px;
  margin-right: 5px; }

.c-case-card__tag--title .c-case-card__desc {
  color: #333;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .c-case-card__tag--title .c-case-card__desc {
      margin-top: 17px; } }

.c-case-card__tag--title {
  width: 64px;
  flex: none;
  position: relative;
  white-space: nowrap;
  border-right: 1px solid #ccc; }

.c-case-card__tag--content {
  padding-left: 13px;
  float: 1; }

.c-solution-card {
  display: -ms-grid;
  display: grid;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
  background: #fff;
  transition: box-shadow 0.2s ease; }
  .c-solution-card:hover {
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); }
    .c-solution-card:hover .c-solution-card__heading span::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); }
  @media only screen and (max-width: 47.9375em) {
    .c-solution-card {
      -ms-grid-rows: auto auto;
      -ms-grid-columns: 33px 1fr;
          grid-template: 'img heading' auto 'desc desc' auto / 33px 1fr;
      padding: 15px 15px 10px; } }
  @media print, screen and (min-width: 48em) {
    .c-solution-card {
      -ms-grid-rows: auto auto;
      -ms-grid-columns: 225px 1fr;
          grid-template: 'img heading' auto 'img desc' auto / 225px 1fr;
      padding: 33px 33px 33px 0; } }

.c-solution-card__img {
  grid-area: img;
  max-height: 90px; }
  @media print, screen and (min-width: 48em) {
    .c-solution-card__img img {
      max-height: 100%; } }

.c-solution-card__heading {
  grid-area: heading;
  font-weight: 700; }
  .c-solution-card__heading span::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  @media only screen and (max-width: 47.9375em) {
    .c-solution-card__heading {
      font-size: 16px;
      font-size: 1rem;
      padding-left: 10px; } }
  @media print, screen and (min-width: 48em) {
    .c-solution-card__heading {
      font-size: 18px;
      font-size: 1.125rem; } }

.c-solution-card__desc {
  grid-area: desc;
  color: #333; }

@media print, screen and (min-width: 48em) {
    .c-solution-card__img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1; }
    .c-solution-card__heading {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .c-solution-card__desc {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1; } }

@media only screen and (max-width: 47.9375em) {
    .c-solution-card__img {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
    .c-solution-card__heading {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .c-solution-card__desc {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2; } }

/* 本文内の製品カード
----------------------------------------------------------------- */
@media only screen and (max-width: 47.9375em) {
  .c-link-card-list > li + li {
    margin-top: 20px; } }

@media print, screen and (min-width: 48em) {
  .c-link-card-list > li + li {
    margin-top: 20px; } }

.c-link-card {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
  background: #fff;
  transition: box-shadow 0.2s ease; }
  @media print, screen and (min-width: 48em) {
    .c-link-card:hover {
      box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }
  @media print, screen and (min-width: 48em) {
    .c-link-card:hover:not(.c-link-card--blank) .c-link-card__heading span::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); } }
  @media only screen and (max-width: 47.9375em) {
    .c-link-card {
      display: block; } }
  @media print, screen and (min-width: 48em) {
    .c-link-card {
      display: flex;
      align-items: center;
      padding-right: 33px;
      padding-left: 0; } }

.c-link-card__img {
  box-sizing: border-box; }
  @media only screen and (max-width: 47.9375em) {
    .c-link-card__img {
      padding: 15px 15px 10px;
      border-bottom: 1px solid #cccccc; } }
  @media print, screen and (min-width: 48em) {
    .c-link-card__img {
      width: 225px;
      padding-right: 33px;
      padding-left: 33px; } }
  .c-link-card__img img {
    display: block;
    max-width: 100%; }
    @media only screen and (max-width: 47.9375em) {
      .c-link-card__img img {
        margin-right: auto;
        margin-left: auto; } }

@media only screen and (max-width: 47.9375em) {
  .c-link-card__content {
    padding: 15px 15px 10px; } }

@media print, screen and (min-width: 48em) {
  .c-link-card__content {
    flex: 1;
    padding: 33px 33px 33px 0; } }

.c-link-card__heading {
  font-weight: 700; }
  .c-link-card:not(.c-link-card--blank) .c-link-card__heading span::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  @media only screen and (max-width: 47.9375em) {
    .c-link-card__heading {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48em) {
    .c-link-card__heading {
      font-size: 18px;
      font-size: 1.125rem; } }

.c-link-card__desc {
  grid-area: desc;
  color: #333; }

.c-link-card--blank .c-link-card__heading span {
  padding-right: 20px;
  padding-left: 0;
  position: relative; }
  .c-link-card--blank .c-link-card__heading span:after {
    position: absolute;
    display: inline-block;
    content: '';
    right: 0;
    top: 0.7em;
    width: 8px;
    height: 6px;
    background-color: #13aac2;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    margin-right: 2px; }
  .c-link-card--blank .c-link-card__heading span:before {
    position: absolute;
    display: inline-block;
    content: '';
    top: calc(0.7em + 2px);
    right: 0;
    width: 8px;
    height: 6px;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: #13aac2;
    box-sizing: border-box;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }

.c-tags {
  display: flex;
  flex-wrap: wrap; }
  .p-seminar-info .c-tags {
    margin-top: 17px; }
  .p-detail-top .c-tags {
    margin-top: 15px; }

.c-tags__tag:first-of-type::before {
  content: '';
  display: inline-block;
  background: url(/cms/sc/common/img/icon_tag.svg) no-repeat;
  height: 1rem;
  width: 1rem;
  margin-right: 0.5rem; }

.c-tags__tag:not(:last-of-type)::after {
  content: ',';
  display: inline-block;
  margin-right: 0.5rem; }

.c-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%; }
  .c-map > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.c-video {
  position: relative;
  padding-top: 56.25%;
  width: 100%; }
  .c-video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%; }

.c-stick {
  width: 30px;
  height: 2px;
  background: #ffc500;
  margin: 9px 0 20px; }
  @media print, screen and (min-width: 61.25em) {
    .c-stick {
      margin: 20px auto; } }
  @media only screen and (max-width: 47.9375em) {
    .p-history .c-stick {
      margin: 0; } }
  @media print, screen and (min-width: 48em) {
    .p-history .c-stick {
      margin: 10px 0 0; } }
  @media only screen and (max-width: 47.9375em) {
    .p-policy-img .c-stick {
      margin: 10px 0 0; } }
  @media print, screen and (min-width: 48em) {
    .p-policy-img .c-stick {
      margin: 27px 0 0; } }

.c-tel {
  color: #333; }
  @media print, screen and (min-width: 61.25em) {
    .c-tel {
      pointer-events: none; } }

/* テーブル
/* tableタグにつけて使用する
----------------------------------------------------------------- */
.c-table {
  width: 100%;
  vertical-align: top;
  border-bottom: 1px solid #dce0e0; }
  @media only screen and (max-width: 47.9375em) {
    .c-table {
      margin-top: 12px; } }
  @media print, screen and (min-width: 48em) {
    .c-table {
      margin-top: 35px; } }
  @media only screen and (max-width: 47.9375em) {
    table + .c-table,
    .c-figure + .c-table {
      margin-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    table + .c-table,
    .c-figure + .c-table {
      margin-top: 40px; } }
  .c-table thead {
    font-weight: 700; }
    .c-table thead td {
      padding-top: 10px;
      padding-bottom: 12px; }
  .c-table tr {
    border-top: 1px solid #dce0e0; }
  .c-table th {
    vertical-align: top;
    background: #f3f4f4; }
  .c-table td {
    vertical-align: top; }
    .c-table td > *:first-child {
      margin-top: 0; }
  @media only screen and (max-width: 47.9375em) {
    .c-table {
      font-size: 14px;
      font-size: 0.875rem; }
      .c-table tr {
        display: block; }
      .c-table td {
        display: block;
        padding: 12px 15px 14px; }
      .c-table th {
        display: block;
        background: #f3f4f4;
        padding: 12px 15px 14px; } }
  @media print, screen and (min-width: 48em) {
    .c-table tbody th {
      padding-left: 19px;
      padding-top: 14px;
      padding-right: 19px; }
    .c-table tbody td {
      padding-top: 14px;
      padding-bottom: 16px; }
    .c-table td {
      padding-top: 14px; }
      .c-table td:first-of-type {
        padding-left: 20px; } }

/**
 * tableの下につける注釈
 */
.c-table-notice {
  padding-left: 1.3rem;
  position: relative;
  margin-top: 24px; }
  .c-table-notice::before {
    content: '\203B';
    position: absolute;
    top: 0;
    left: 0; }
  @media only screen and (max-width: 47.9375em) {
    .c-table-notice {
      font-size: 14px;
      font-size: 0.875rem; } }

/**
 * colgroup内のcolに適用
 */
.c-table__heading-col {
  width: 16.66%; }

/* ==========================================================================
Modifier
========================================================================== */
/**
 * 製品比較などで使う、SP時にスクロールができるtable
 * .c-table-containerでラップして使う
 */
.c-table--scrollable {
  min-width: 960px; }

/**
 * thの背景を無色にしたい場合に使用
 */
@media only screen and (max-width: 47.9375em) {
  .c-table--company tbody th,
  .c-table--company tbody td {
    padding-left: 0;
    padding-right: 0; } }

@media print, screen and (min-width: 48em) {
  .c-table--company tbody th,
  .c-table--company tbody td {
    padding-top: 22px;
    padding-bottom: 23px; } }

.c-table--company tbody th {
  background-color: transparent; }
  @media only screen and (max-width: 47.9375em) {
    .c-table--company tbody th {
      padding-bottom: 0; } }
  @media print, screen and (min-width: 48em) {
    .c-table--company tbody th {
      padding-left: 0; } }

/**
 * 見出しと内容のみの単純な表に使用する
 */
@media print, screen and (min-width: 48em) {
  .c-table--head-body {
    margin-top: 50px; } }

.c-table--head-body tbody th,
.c-table--head-body tbody td {
  color: #333; }
  @media only screen and (max-width: 47.9375em) {
    .c-table--head-body tbody th,
    .c-table--head-body tbody td {
      padding-left: 0;
      padding-right: 0; } }
  @media print, screen and (min-width: 48em) {
    .c-table--head-body tbody th,
    .c-table--head-body tbody td {
      font-size: 18px;
      font-size: 1.125rem; } }

.c-table--head-body tbody th {
  background: transparent;
  width: 85px; }
  @media only screen and (max-width: 47.9375em) {
    .c-table--head-body tbody th {
      padding-bottom: 0; } }
  @media print, screen and (min-width: 48em) {
    .c-table--head-body tbody th {
      padding-top: 11px;
      padding-left: 0;
      padding-bottom: 11px; } }

@media only screen and (max-width: 47.9375em) {
  .c-table--head-body tbody td {
    padding-bottom: 12px; } }

@media print, screen and (min-width: 48em) {
  .c-table--head-body tbody td {
    padding: 11px; } }

/* 導入事例詳細ページの会社情報に使うテーブル */
.c-table--attribute {
  margin-top: 30px; }
  @media print, screen and (min-width: 48em) {
    .c-table--attribute {
      margin-top: 40px; } }

.c-table--history {
  table-layout: fixed; }
  .c-table--history tbody th {
    background-color: transparent;
    padding: 15px 0 0;
    width: 100%;
    font-size: 18px;
    font-size: 1.125rem; }
  .c-table--history tbody td {
    padding-left: 0;
    padding-bottom: 18px; }
  .c-table--history dl {
    display: flex; }
    .c-table--history dl:not(:first-of-type) {
      margin-top: 12px; }
  .c-table--history dt {
    font-weight: 700;
    flex: 0 0 35px; }
  .c-table--history dd {
    margin-left: 15px; }
  @media print, screen and (min-width: 48em) {
    .c-table--history tbody th {
      width: 54px;
      font-size: 16px;
      font-size: 1rem;
      padding-top: 23px;
      padding-bottom: 23px; }
    .c-table--history tbody td {
      padding-left: 30px;
      padding-top: 23px;
      padding-bottom: 23px; }
    .c-table--history dt {
      text-align: right; }
    .c-table--history dd {
      margin-left: 50px; } }

.c-scrollable-table-container {
  overflow-x: auto; }

@media only screen and (max-width: 47.9375em) {
  .c-scrollable-table-note {
    font-size: 10px;
    font-size: 0.625rem; } }

@media print, screen and (min-width: 48em) {
  .c-scrollable-table-note {
    font-size: 12px;
    font-size: 0.75rem; } }

@media print, screen and (min-width: 64em) {
  .c-scrollable-table-note {
    display: none; } }

.c-scrollable-table {
  color: #333;
  vertical-align: top;
  border-bottom: 1px solid #dce0e0; }
  @media only screen and (max-width: 47.9375em) {
    .c-scrollable-table {
      min-width: 150%; } }
  @media print, screen and (min-width: 48em) {
    .c-scrollable-table {
      min-width: 960px; } }
  .c-scrollable-table thead {
    font-weight: 700; }
    .c-scrollable-table thead td {
      padding-top: 10px;
      padding-bottom: 12px; }
  .c-scrollable-table tbody th {
    padding-left: 1.1875rem;
    /* 19px */
    padding-right: 1.1875rem;
    /* 19px */
    padding-top: 14px;
    padding-bottom: 16px; }
  .c-scrollable-table tbody td {
    padding-top: 14px;
    padding-bottom: 16px; }
  .c-scrollable-table tr {
    border-top: 1px solid #dce0e0; }
  .c-scrollable-table th {
    vertical-align: top; }
  .c-scrollable-table td {
    vertical-align: top;
    padding-top: 14px; }
    .c-scrollable-table td:first-of-type {
      padding-left: 1.25rem; }
    .c-scrollable-table td:last-of-type {
      width: 19.5625rem; }
    .c-scrollable-table td:not(:last-of-type) {
      padding-right: 1rem; }
  @media only screen and (max-width: 47.9375em) {
    .c-scrollable-table {
      font-size: 14px;
      font-size: 0.875rem; } }

/**
 * colgroup内のcolに適用
 */
.c-scrollable-table__heading-col {
  background: #f3f4f4; }

.c-scrollable-table__40per {
  width: 40%; }

.c-scrollable-table__20per {
  width: 20%; }

.c-scrollable-table--col234center tr > *:nth-child(2),
.c-scrollable-table--col234center tr > *:nth-child(3),
.c-scrollable-table--col234center tr > *:nth-child(4) {
  text-align: center; }

.c-new-tab-link::after {
  content: url(/cms/sc/common/img/icon_blank-link.svg);
  transition: all 0s 0s ease;
  margin: 0 0 0 0.2rem; }

.c-webseminar-icon {
  display: flex;
  align-items: center; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card .c-webseminar-icon {
      margin-bottom: 10px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-seminar-card .c-webseminar-icon {
      margin-bottom: 8px; } }
  .c-webseminar-icon span {
    color: #000000;
    font-weight: bold;
    margin-left: 7px;
    background: linear-gradient(transparent 83%, #ffe600 83%);
    line-height: 1.1; }
    @media only screen and (max-width: 47.9375em) {
      .c-webseminar-icon span {
        font-size: 14px;
        font-size: 0.875rem; } }

.p-sub-menu {
  box-sizing: border-box;
  padding-top: 20px;
  padding-right: 3.125%;
  padding-bottom: 20px;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 61.25em) {
    .p-sub-menu {
      position: absolute;
      top: 20px;
      display: flex;
      padding: 0;
      transition: all 0.2s ease; } }
  @media print, screen and (min-width: 61.25em) {
    .browser-is-ie .p-sub-menu {
      justify-content: flex-end;
      z-index: 9999;
      width: 100%;
      right: 50vw;
      left: auto;
      -webkit-transform: translate3d(50vw, 0, 0);
              transform: translate3d(50vw, 0, 0);
      margin-right: 150px; } }
  @media print, screen and (min-width: 80em) {
    .browser-is-ie .p-sub-menu {
      margin-right: 170px; } }

.p-sub-menu__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: -10px;
  margin-bottom: 5px;
  margin-left: -25px;
  flex-direction: column; }
  @media print, screen and (min-width: 61.25em) {
    .p-sub-menu__list {
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      margin-top: 0;
      margin-bottom: 0;
      margin-left: 0; } }
  .p-sub-menu__list > li {
    margin-top: 10px;
    margin-left: 25px; }
    @media print, screen and (min-width: 61.25em) {
      .p-sub-menu__list > li {
        margin-top: 0;
        margin-left: 0; } }
    @media print, screen and (min-width: 61.25em) {
      .p-sub-menu__list > li + li {
        position: relative;
        margin-left: 6px;
        padding-left: 6px; } }
    @media print, screen and (min-width: 80em) {
      .p-sub-menu__list > li + li {
        margin-left: 18px; } }
    .p-sub-menu__list > li > a {
      display: block;
      font-size: 13px;
      font-weight: bold;
      line-height: 1.45;
      padding-bottom: 1px;
      color: #666; }
      @media print, screen and (min-width: 61.25em) {
        .p-sub-menu__list > li > a {
          font-size: 12px;
          white-space: nowrap; } }
      @media print, screen and (min-width: 80em) {
        .p-sub-menu__list > li > a {
          font-size: 12px; } }
      @media print, screen and (min-width: 61.25em) {
        .p-sub-menu__list > li > a:hover {
          color: #333; } }
    .p-sub-menu__list > li.zoom {
      position: relative;
      margin-left: 16px;
      padding-left: 16px; }
      @media print, screen and (max-width: 61.1875em) {
        .p-sub-menu__list > li.zoom {
          display: none; } }
      @media print, screen and (min-width: 80em) {
        .p-sub-menu__list > li.zoom {
          margin-left: 34px; } }
      .p-sub-menu__list > li.zoom::after {
        position: absolute;
        top: 0.2em;
        left: 0px;
        content: '';
        display: block;
        width: 12px;
        height: 12px;
        padding-right: 5px;
        background-image: url(/cms/sc/common/img/icon_zoom.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 0 0; }
        @media only screen and (max-width: 47.9375em) {
          .p-sub-menu__list > li.zoom::after {
            left: 0; } }

.p-sub-menu__group {
  margin-top: 20px;
  width: 100%;
  display: none; }
  @media screen and (min-width: 1024px) {
    .p-sub-menu__group {
      display: block;
      width: 250px;
      margin-top: 0;
      margin-left: 20px; } }
  @media print, screen and (min-width: 80em) {
    .p-sub-menu__group {
      margin-left: 40px; } }
  .p-sub-menu__group > a {
    display: block; }
    .p-sub-menu__group > a:hover > img {
      opacity: 0.5; }
    .p-sub-menu__group > a > img {
      display: block;
      transition: opacity 0.2s ease; }

.p-main-menu {
  border-top: 1px solid #cccccc; }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu {
      border-top: none; } }

.p-main-menu__list {
  display: flex; }
  @media print, screen and (max-width: 61.1875em) {
    .p-main-menu__list {
      flex-direction: column; } }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__list {
      display: flex; } }

.p-main-menu__item {
  border-bottom: 1px solid #cccccc; }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item {
      border-bottom: none; } }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item + .p-main-menu__item {
      margin-left: 10px; } }
  @media print, screen and (min-width: 80em) {
    .p-main-menu__item + .p-main-menu__item {
      margin-left: 25px; } }
  .p-main-menu__item > a {
    display: block;
    color: #333;
    position: relative;
    padding-top: 14px;
    padding-right: 3.125%;
    padding-bottom: 14px;
    padding-left: 3.125%; }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__item > a {
        padding: 0;
        position: static;
        margin-bottom: -4px;
        font-size: 12px;
        font-weight: bold; } }
    @media print, screen and (min-width: 80em) {
      .p-main-menu__item > a {
        font-size: 14px; } }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__item > a:hover {
        color: #13aac2; } }
  .p-main-menu__item.current:after {
    content: '';
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #13aac2;
    transition: all 0.2s ease; }
    .l-header.active .p-main-menu__item.current:after {
      bottom: -35px; }

@media print, screen and (max-width: 61.1875em) {
  .p-main-menu__item--search {
    order: -1; } }

.p-main-menu__item--hierarchy > a {
  position: relative;
  padding-right: calc(3.125% + 16px); }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item--hierarchy > a {
      padding-right: 16px; } }
  .p-main-menu__item--hierarchy > a:after {
    right: 0; }
    @media print, screen and (min-width: 61.25em) {
      .p-main-menu__item--hierarchy > a:after {
        box-sizing: border-box;
        display: block;
        position: absolute;
        top: 50%;
        width: 8px;
        height: 8px;
        border-style: solid;
        border-width: 0 2px 2px 0;
        -webkit-transform: translate(0, -50%) rotate(45deg);
                transform: translate(0, -50%) rotate(45deg);
        border-color: #999;
        transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        content: '';
        top: 45%; } }
    @media print, screen and (min-width: 80em) {
      .p-main-menu__item--hierarchy > a:after {
        top: 50%; } }
  .p-main-menu__item--hierarchy > a > span {
    display: block; }
    .p-main-menu__item--hierarchy > a > span > span {
      padding-left: 0;
      position: absolute;
      top: calc(50% - 6px);
      right: 3.125%;
      width: 12px;
      height: 12px;
      transition: -webkit-transform 0.3s ease;
      transition: transform 0.3s ease;
      transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
      .p-main-menu__item--hierarchy > a > span > span:before {
        content: '';
        display: inline-block;
        width: 2px;
        height: 12px;
        position: absolute;
        top: 0;
        left: calc(50% - 2px/2);
        background-color: #333; }
      .p-main-menu__item--hierarchy > a > span > span:after {
        content: '';
        display: inline-block;
        width: 12px;
        height: 2px;
        position: absolute;
        top: calc(50% - 2px/2);
        left: 0;
        background-color: #333;
        transition: all 0.3s ease; }
      @media print, screen and (min-width: 61.25em) {
        .p-main-menu__item--hierarchy > a > span > span {
          display: none; } }
  .p-main-menu__item--hierarchy > a:hover:after {
    border-color: #2ac4cf; }
  .p-main-menu__item--hierarchy > a.active > span > span {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
    .p-main-menu__item--hierarchy > a.active > span > span:after {
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      opacity: 0; }

.p-main-menu__item--hierarchy.active > a:after {
  -webkit-transform: translate3d(0, 1px, 0) rotate(45deg);
          transform: translate3d(0, 1px, 0) rotate(45deg); }

.p-hamburger {
  border: none;
  z-index: 10000;
  position: relative;
  width: 20px;
  height: 12px;
  padding: 0;
  background-color: transparent;
  cursor: pointer; }
  .p-hamburger span {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    position: absolute;
    top: 5px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: ease all 0.2s; }
    @media print, screen and (min-width: 61.25em) {
      .p-hamburger span {
        display: none; } }
  .p-hamburger:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: ease transform 0.2s; }
  .p-hamburger:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: ease transform 0.2s; }
  .l-header__button.active .p-hamburger span {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    @media only screen and (max-width: 47.9375em) {
      .l-header__button.active .p-hamburger span {
        opacity: 0;
        background-color: #fff; } }
  .l-header__button.active .p-hamburger:before {
    -webkit-transform: translateY(5px) rotate(-45deg);
            transform: translateY(5px) rotate(-45deg); }
    @media only screen and (max-width: 47.9375em) {
      .l-header__button.active .p-hamburger:before {
        background-color: #fff; } }
  .l-header__button.active .p-hamburger:after {
    -webkit-transform: translateY(-5px) rotate(45deg);
            transform: translateY(-5px) rotate(45deg); }
    @media only screen and (max-width: 47.9375em) {
      .l-header__button.active .p-hamburger:after {
        background-color: #fff; } }

.p-dropdown {
  height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
  background-color: #f7f7f7; }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown {
      width: 100vw;
      right: 0;
      height: auto;
      position: absolute;
      top: 100%;
      transition: all 0.4s ease; } }
  @media print, screen and (min-width: 61.25em) {
    .p-main-menu__item.active .p-dropdown {
      opacity: 1;
      visibility: visible;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0); } }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown:not(.p-dropdown--lv2) > ul > li {
      box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16); } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown__content {
    padding-top: 37px;
    padding-right: 3.125%;
    padding-bottom: 40px;
    padding-left: 3.125%; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown__list {
    display: flex;
    flex-wrap: wrap; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown__list > li {
    box-sizing: border-box;
    margin-bottom: 15px;
    border-bottom: none;
    margin-top: 1px;
    margin-right: 1px;
    margin-bottom: 1px;
    margin-left: 1px; } }

.p-dropdown__list > li:last-child {
  border-bottom: none; }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__list > li:last-child {
      margin-bottom: 0; } }

.p-dropdown__list > li > a {
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding-top: 10px;
  padding-right: 3.125%;
  padding-bottom: 10px;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__list > li > a {
      padding-top: 22px;
      padding-bottom: 22px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__list > li > a:hover {
      color: #2ac4cf; } }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__list > li > a:hover > span:after {
      -webkit-transform: translate3d(-5px, 0, 0) rotate(45deg);
              transform: translate3d(-5px, 0, 0) rotate(45deg); } }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__list > li > a:hover .p-dropdown__name.-blank:after {
      -webkit-transform: none;
              transform: none; } }

.p-dropdown__item {
  border-bottom: 1px solid #cccccc;
  font-size: 14px;
  font-size: 0.875rem;
  color: #333; }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__item {
      background-color: #fff;
      display: flex;
      align-items: center;
      justify-content: center; } }
  .p-dropdown__item > a {
    color: #333; }

.p-dropdown__item--hierarchy a {
  position: relative; }
  .p-dropdown__item--hierarchy a > span > span {
    position: absolute;
    top: calc(50% - 6px);
    right: 3.125%;
    width: 12px;
    height: 12px;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    right: 0; }
    .p-dropdown__item--hierarchy a > span > span:before {
      content: '';
      display: inline-block;
      width: 2px;
      height: 12px;
      position: absolute;
      top: 0;
      left: calc(50% - 2px/2);
      background-color: #333; }
    .p-dropdown__item--hierarchy a > span > span:after {
      content: '';
      display: inline-block;
      width: 12px;
      height: 2px;
      position: absolute;
      top: calc(50% - 2px/2);
      left: 0;
      background-color: #333;
      transition: all 0.3s ease; }
    @media print, screen and (min-width: 61.25em) {
      .p-dropdown__item--hierarchy a > span > span {
        display: none; } }
  .p-dropdown__item--hierarchy a.active > span > span {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
    .p-dropdown__item--hierarchy a.active > span > span:after {
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      opacity: 0; }

.p-dropdown__item--hierarchy .p-dropdown__item {
  border-bottom: none; }

.p-dropdown__thumb {
  display: none; }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__thumb {
      display: block;
      text-align: center; } }

.p-dropdown__name {
  position: relative;
  display: block; }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__name {
      white-space: nowrap;
      text-align: center;
      font-size: 13px;
      font-size: 0.8125rem;
      font-weight: bold;
      color: #13aac2; } }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__name:hover::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); } }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__name::after {
      box-sizing: border-box;
      display: inline-block;
      position: relative;
      top: -0.1em;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      margin-left: 8px;
      border-color: #13aac2;
      -webkit-transform: translate(0, 0) rotate(45deg);
              transform: translate(0, 0) rotate(45deg);
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: '';
      transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
  .p-dropdown__name.-blank::after {
    content: '';
    background: url(/cms/sc/common/img/icon_blank-link.svg);
    background-repeat: no-repeat;
    border: none;
    -webkit-transform: none;
            transform: none;
    width: 12px;
    height: 12px;
    top: 0.1em; }
  @media only screen and (max-width: 47.9375em) {
    .p-dropdown__name.-blank::after {
      display: inline-block;
      width: 8px;
      height: 8px;
      margin-left: 10px; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--lv1 {
    height: 0; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--lv1 .p-dropdown__content {
    max-height: calc(100vh - 90px - 150px);
    overflow-y: auto;
    overflow-x: hidden; } }

.p-dropdown--lv2 span {
  position: relative;
  padding-left: 14px; }
  .p-dropdown--lv2 span:before {
    position: absolute;
    left: 0;
    content: '';
    width: 5px;
    height: 0px;
    border-bottom: 1px solid #333;
    top: calc(50% - 1px);
    line-height: 1.5; }
    @media print, screen and (min-width: 61.25em) {
      .p-dropdown--lv2 span:before {
        display: none; } }

.p-dropdown--lv3 {
  height: auto; }
  .p-dropdown--lv3 span {
    position: relative;
    padding-left: 14px;
    margin-left: 1.25em; }
    .p-dropdown--lv3 span:before {
      position: absolute;
      left: 0;
      top: calc(50% - 3px);
      content: '';
      width: 5px;
      height: 5px;
      box-sizing: border-box;
      border-bottom: 1px solid #333;
      border-left: 1px solid #333; }
      @media print, screen and (min-width: 61.25em) {
        .p-dropdown--lv3 span:before {
          display: none; } }

.p-dropdown--lv4 {
  height: auto; }
  .p-dropdown--lv4 span {
    position: relative;
    padding-left: 14px;
    margin-left: 2.5em; }
    .p-dropdown--lv4 span:before {
      position: absolute;
      left: 0;
      top: calc(50% - 3px);
      content: '';
      width: 5px;
      height: 5px;
      box-sizing: border-box;
      border-bottom: 1px solid #333;
      border-left: 1px solid #333; }
      @media print, screen and (min-width: 61.25em) {
        .p-dropdown--lv4 span:before {
          display: none; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--solution .p-dropdown--lv2 {
    display: none; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--solution .p-dropdown__item {
    display: flex;
    width: calc(33.3% - 2px);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
    z-index: 0;
    transition: all 0s; } }

@media print, screen and (min-width: 87.5em) {
  .p-dropdown--solution .p-dropdown__item {
    width: calc(25% - 2px); } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--solution .p-dropdown__item:hover {
    -webkit-animation: zindex 0.2s ease 0s 1 normal;
            animation: zindex 0.2s ease 0s 1 normal;
    transition: all 0.2s ease-in-out;
    z-index: 1;
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--solution .p-dropdown__item > a {
    height: 100%;
    display: flex;
    flex-direction: column; } }

.p-dropdown--solution .p-dropdown__thumb {
  margin-top: auto;
  margin-bottom: auto;
  overflow: hidden; }

.p-dropdown--solution .p-dropdown__name {
  margin-top: auto;
  margin-bottom: 0; }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--solution .p-dropdown__list > li > a {
    padding-top: 28px;
    padding-bottom: 18px; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme .p-dropdown__item {
    width: calc(50% - 2px);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
    z-index: 0;
    transition: all 0s; } }

@media print, screen and (min-width: 87.5em) {
  .p-dropdown--theme .p-dropdown__item {
    width: calc(33.3% - 2px); } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme .p-dropdown__item > a {
    padding: 0; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme .p-dropdown__item:hover {
    -webkit-animation: zindex 0.2s ease 0s 1 normal;
            animation: zindex 0.2s ease 0s 1 normal;
    transition: all 0.2s ease-in-out;
    z-index: 1;
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme:not(.p-dropdown--lv2) .p-dropdown__item {
    padding-top: 24px;
    padding-right: 30px;
    padding-bottom: 24px;
    padding-left: 24px; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme:not(.p-dropdown--lv2) .p-dropdown__item {
    display: block; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme .p-dropdown__name {
    text-align: left;
    font-size: 18px;
    font-size: 1.125rem;
    margin-top: auto;
    margin-bottom: 0; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme .p-dropdown--lv2 {
    display: block;
    position: static;
    width: auto; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme .p-dropdown--lv2 .p-dropdown__list {
    display: block; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme .p-dropdown--lv2 .p-dropdown__item {
    box-shadow: none;
    margin: 0;
    width: auto;
    padding: 6px 0 0 0; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme .p-dropdown--lv2 .p-dropdown__name {
    position: relative;
    text-align: left;
    font-weight: normal;
    font-size: 14px;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--theme .p-dropdown--lv2 .p-dropdown__name:before {
    content: '';
    display: block;
    position: absolute;
    top: 0.7em;
    left: 0;
    width: 6px;
    height: 6px;
    background-color: rgba(19, 170, 194, 0.5);
    border-radius: 50%;
    border-bottom: none; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--recruit .p-dropdown__item {
    width: calc(50% - 2px);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
    z-index: 0;
    transition: all 0s; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--recruit .p-dropdown__item > a {
    padding: 0; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--recruit .p-dropdown__item:hover {
    -webkit-animation: zindex 0.2s ease 0s 1 normal;
            animation: zindex 0.2s ease 0s 1 normal;
    transition: all 0.2s ease-in-out;
    z-index: 1;
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--recruit:not(.p-dropdown--lv2) .p-dropdown__item {
    padding-top: 24px;
    padding-right: 30px;
    padding-bottom: 24px;
    padding-left: 24px; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--recruit:not(.p-dropdown--lv2) .p-dropdown__item {
    display: block; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown--recruit .p-dropdown__name {
    text-align: left;
    font-size: 18px;
    font-size: 1.125rem;
    margin-top: auto;
    margin-bottom: 0; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown__head {
    display: flex;
    justify-content: flex-start;
    align-items: center; } }

@media print, screen and (min-width: 61.25em) {
  .p-dropdown__head + .p-dropdown__list {
    margin-top: 12px; } }

.p-dropdown__heading {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  display: none; }
  @media only screen and (max-width: 47.9375em) {
    .p-dropdown__heading {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-dropdown__heading {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__heading {
      display: block;
      margin-right: 28px;
      font-size: 18px;
      font-size: 1.125rem;
      font-weight: bold; } }

.p-dropdown__cat-top {
  display: block;
  color: #333;
  border-bottom: 1px solid #ccc;
  padding-top: 10px;
  padding-right: 3.125%;
  padding-bottom: 10px;
  padding-left: 3.125%;
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__cat-top {
      border-bottom: 0;
      position: relative;
      padding: 0;
      color: #13aac2; } }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__cat-top:hover::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); } }
  @media print, screen and (min-width: 61.25em) {
    .p-dropdown__cat-top::after {
      box-sizing: border-box;
      display: inline-block;
      position: relative;
      top: -0.1em;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      margin-left: 8px;
      border-color: #13aac2;
      -webkit-transform: translate(0, 0) rotate(45deg);
              transform: translate(0, 0) rotate(45deg);
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: '';
      transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }

@media print, screen and (max-width: 61.1875em) {
  .p-dropdown.p-dropdown--search {
    height: auto;
    overflow: visible;
    background-color: transparent; } }

.p-dropdown.p-dropdown--search .p-dropdown__content {
  padding-right: 14%;
  padding-left: 14%; }
  @media print, screen and (max-width: 61.1875em) {
    .p-dropdown.p-dropdown--search .p-dropdown__content {
      padding-right: 5%;
      padding-left: 5%; } }

.p-dropdown.p-dropdown--search .p-search-bar {
  background-color: #fff; }
  @media print, screen and (max-width: 61.1875em) {
    .p-dropdown.p-dropdown--search .p-search-bar {
      background-color: #f7f7f7; } }

.p-mainvisual {
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual {
      display: flex;
      align-items: center;
      height: 50vh;
      min-height: 440px;
      max-height: 700px; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual.-type_a {
      min-height: 550px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual.-type_a .p-mainvisual__bg {
      display: none; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual.-type_a .p-mainvisual__bg {
      opacity: 1; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual.-type_b {
      min-height: 550px; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual.-type_b .p-mainvisual__bg {
      opacity: 1; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual.-type_c {
      min-height: 550px; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual.-type_c .p-mainvisual__bg {
      opacity: 1; } }

.p-mainvisual__bg {
  width: 100%; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__bg {
      height: 0;
      padding-top: 37.5%;
      background-image: url(/cms/sc/img/bg_mainvisual.jpg);
      background-size: cover;
      background-position: 30% 50%;
      background-repeat: no-repeat; } }
  .p-mainvisual__bg.-type_b {
    background-image: url(/cms/sc/img/bg_mainvisual_type_b.jpg); }
  .p-mainvisual__bg.-type_c {
    background-image: url(/cms/sc/img/bg_mainvisual_type_c.jpg); }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__bg {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      opacity: 0;
      -webkit-transform: scale(1.05);
              transform: scale(1.05);
      background-image: url(/cms/sc/img/bg_mainvisual.jpg);
      background-size: cover;
      background-position: 30% 50%;
      background-repeat: no-repeat; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__bg.active {
      transition: opacity 0.6s ease;
      -webkit-animation: _mainVisualBg 6s ease 0s 1;
              animation: _mainVisualBg 6s ease 0s 1;
      -webkit-transform: scale(1);
              transform: scale(1);
      opacity: 1; } }

@-webkit-keyframes _mainVisualBg {
  0% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes _mainVisualBg {
  0% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.p-mainvisual__inner {
  width: 100%;
  /* max-width: 1400px; */
  max-width: 960px;
  margin-right: auto;
  margin-left: auto; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__inner {
      padding: 0; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__inner {
      display: flex;
      padding-right: 100px;
      padding-left: 100px; } }

@media only screen and (max-width: 47.9375em) {
  .p-mainvisual__content {
    padding-top: 30px;
    padding-right: 3.125%;
    padding-left: 3.125%; } }

@media print, screen and (min-width: 48em) {
  .p-mainvisual__content {
    margin-top: -7vh;
    margin-right: -1.5vw;
    margin-left: auto;
    position: relative;
    z-index: 1; } }

@media print, screen and (min-width: 87.5em) {
  .p-mainvisual__content {
    margin-right: -1.5vw; } }

@media print, screen and (min-width: 100em) {
  .p-mainvisual__content {
    margin-right: -5.5vw; } }

.p-mainvisual__copy {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__copy {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__copy {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__copy {
      margin-bottom: 7px;
      font-size: 22px;
      font-size: 1.375rem;
      line-height: 1.36;
      text-align: center; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__copy {
      font-size: 41px;
      font-size: 2.5625rem;
      line-height: 1.463; } }
  .p-mainvisual__copy > span {
    position: relative; }
    @media only screen and (max-width: 47.9375em) {
      .p-mainvisual__copy > span {
        display: inline-block; } }
    @media print, screen and (min-width: 48em) {
      .p-mainvisual__copy > span {
        display: block;
        float: left;
        clear: both;
        opacity: 0;
        -webkit-transform: translate3d(30px, 0, 0);
                transform: translate3d(30px, 0, 0);
        text-align: left; } }
    .p-mainvisual__copy > span:nth-child(1) {
      width: 100%; }
    @media print, screen and (min-width: 48em) {
      .p-mainvisual__copy > span.active {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
        transition: all 0.6s ease; } }
  .p-mainvisual__copy:after {
    content: '';
    clear: both;
    display: block;
    width: 0;
    height: 0; }

.p-mainvisual__copy--sub {
  font-family: "Timmana", "Roboto", "arial", sans-serif;
  font-weight: 300;
  color: #ffc500;
  font-size: 22px;
  font-size: 1.375rem; }

.p-mainvisual__lead {
  font-weight: bold;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__lead {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__lead {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__lead {
      font-size: 14px;
      font-size: 0.875rem;
      text-align: center; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__lead {
      margin-top: 18px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__lead > span {
      line-height: 1.75; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__lead > span {
      opacity: 0;
      -webkit-transform: translate3d(30px, 0, 0);
              transform: translate3d(30px, 0, 0);
      line-height: 2;
      display: block;
      float: left;
      clear: both; } }
  .p-mainvisual__lead > span.active {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    transition: all 0.6s ease; }
  .p-mainvisual__lead:after {
    content: '';
    clear: both;
    display: block;
    width: 0;
    height: 0; }

.p-mainvisual__button {
  max-width: 320px;
  transition: 0s; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__button {
      margin-top: 15px;
      margin-right: auto;
      margin-left: auto; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__button {
      opacity: 0;
      -webkit-transform: translate3d(0, 20px, 0);
              transform: translate3d(0, 20px, 0);
      margin-top: 32px; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__button.active {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
      transition: all 0.4s ease; } }

.p-mainvisual.-bg-blur .p-mainvisual__bg {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: relative;
  background-z-index: 0;
  background-overflow: hidden; }
  .p-mainvisual.-bg-blur .p-mainvisual__bg::before {
    content: '';
    background: inherit;
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -o-filter: blur(10px);
    -ms-filter: blur(10px);
    filter: blur(10px);
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    z-index: -1; }
  .p-mainvisual.-bg-blur .p-mainvisual__bg:after {
    content: '';
    z-index: -1;
    position: absolute;
    background-color: #fff;
    width: 100%;
    height: 100%;
    opacity: 0.15; }
  .browser-is-ie .p-mainvisual.-bg-blur .p-mainvisual__bg::after {
    opacity: 0.5; }

.p-mainvisual__inner.-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2fr 1fr;
      grid-template-columns: 2fr 1fr;
  z-index: 20;
  max-width: 1200px; }
  .browser-is-ie .p-mainvisual__inner.-grid {
    display: flex; }
    @media only screen and (max-width: 47.9375em) {
      .browser-is-ie .p-mainvisual__inner.-grid {
        display: block;
        padding: 0; } }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual__inner.-grid {
      display: block;
      padding: 0; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__inner.-grid {
      height: 450px; } }
  .p-mainvisual__inner.-grid .p-mainvisual__content--img {
    width: 100%;
    background-image: url(/cms/sc/img/mainvisual__content-type_a.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%; }
    @media only screen and (max-width: 47.9375em) {
      .p-mainvisual__inner.-grid .p-mainvisual__content--img {
        padding-top: 37.5%; } }
  .p-mainvisual__inner.-grid .p-mainvisual__content {
    background-color: #fff;
    margin-top: 0;
    margin: 0; }
    @media only screen and (max-width: 47.9375em) {
      .p-mainvisual__inner.-grid .p-mainvisual__content {
        padding-top: 24px; } }
    @media print, screen and (min-width: 48em) {
      .p-mainvisual__inner.-grid .p-mainvisual__content {
        padding-top: 116px;
        padding-right: 26px;
        padding-left: 26px; } }
    @media print, screen and (min-width: 61.25em) {
      .p-mainvisual__inner.-grid .p-mainvisual__content {
        padding-top: 116px;
        padding-right: 56px;
        padding-left: 56px; } }
    @media print, screen and (min-width: 48em) {
      .p-mainvisual__inner.-grid .p-mainvisual__content .p-mainvisual__copy {
        font-size: 22px;
        font-size: 1.375rem;
        white-space: nowrap; } }
    @media print, screen and (min-width: 61.25em) {
      .p-mainvisual__inner.-grid .p-mainvisual__content .p-mainvisual__copy {
        font-size: 26px;
        font-size: 1.625rem; } }
  @media print, screen and (min-width: 48em) {
    .p-mainvisual__inner.-grid .p-mainvisual__button {
      width: 200px; } }

@media only screen and (max-width: 47.9375em) {
  .p-mainvisual.-type_b .p-mainvisual__bg {
    height: 0;
    padding-top: 37.5%; } }

.p-mainvisual.-type_b .p-mainvisual__inner {
  display: block;
  max-width: none; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual.-type_b .p-mainvisual__inner {
      padding: 0; } }

@media only screen and (max-width: 47.9375em) {
  .p-mainvisual.-type_b .p-mainvisual__content {
    padding-top: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-mainvisual.-type_b .p-mainvisual__content {
    background-color: #fff;
    width: 400px;
    margin-top: 0;
    margin-left: 0;
    padding: 40px;
    box-sizing: border-box; } }

@media print, screen and (min-width: 61.25em) {
  .p-mainvisual.-type_b .p-mainvisual__content {
    padding: 60px;
    width: 500px; } }

@media print, screen and (min-width: 48em) {
  .p-mainvisual.-type_b .p-mainvisual__content .p-mainvisual__copy {
    font-size: 22px;
    font-size: 1.375rem; } }

@media print, screen and (min-width: 61.25em) {
  .p-mainvisual.-type_b .p-mainvisual__content .p-mainvisual__copy {
    font-size: 26px;
    font-size: 1.625rem; } }

@media print, screen and (min-width: 48em) {
  .p-mainvisual.-type_b .p-mainvisual__button {
    width: 200px; } }

@media only screen and (max-width: 47.9375em) {
  .p-mainvisual.-type_c .p-mainvisual__bg {
    height: 0;
    padding-top: 37.5%; } }

.p-mainvisual.-type_c .p-mainvisual__inner {
  display: flex;
  justify-content: center;
  max-width: none; }
  @media only screen and (max-width: 47.9375em) {
    .p-mainvisual.-type_c .p-mainvisual__inner {
      padding: 0; } }

@media only screen and (max-width: 47.9375em) {
  .p-mainvisual.-type_c .p-mainvisual__content {
    padding-top: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-mainvisual.-type_c .p-mainvisual__content {
    background-color: #fff;
    width: 400px;
    margin-top: 0;
    margin-left: 0;
    padding-top: 42px;
    padding-right: 66px;
    padding-left: 66px;
    padding-bottom: 48px;
    box-sizing: border-box; } }

@media print, screen and (min-width: 61.25em) {
  .p-mainvisual.-type_c .p-mainvisual__content {
    width: 600px; } }

@media print, screen and (min-width: 48em) {
  .p-mainvisual.-type_c .p-mainvisual__content .p-mainvisual__copy {
    font-size: 22px;
    font-size: 1.375rem; } }

@media print, screen and (min-width: 61.25em) {
  .p-mainvisual.-type_c .p-mainvisual__content .p-mainvisual__copy {
    font-size: 26px;
    font-size: 1.625rem; } }

@media print, screen and (min-width: 61.25em) {
  .p-mainvisual.-type_c .p-mainvisual__content .p-mainvisual__copy .p-mainvisual__copy--sub {
    margin-bottom: 6px; } }

.p-mainvisual.-type_c .p-mainvisual__content .p-mainvisual__copy > span {
  text-align: center; }

@media print, screen and (min-width: 48em) {
  .p-mainvisual.-type_c .p-mainvisual__button {
    width: 200px;
    margin-right: auto;
    margin-left: auto; } }

.p-home-menu {
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-menu {
      margin-top: 30px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-menu__slider {
    overflow-x: hidden;
    padding-top: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-home-menu__slider {
    background: linear-gradient(to left bottom, #13aac2, #13b9c2 80%, #13aac2); } }

@media only screen and (max-width: 47.9375em) {
  .p-home-menu__content {
    width: calc(100vw * 10);
    background: linear-gradient(to left bottom, #13aac2, #13b9c2 80%, #13aac2);
    display: flex;
    position: relative; } }

@media print, screen and (min-width: 48em) {
  .p-home-menu__content {
    display: flex;
    justify-content: center;
    max-width: 1400px;
    padding-right: 3.125%;
    padding-left: 3.125%;
    padding-bottom: 126px;
    margin-right: auto;
    margin-left: auto; } }

@media print, screen and (min-width: 61.25em) {
  .p-home-menu__content {
    padding-right: 100px;
    padding-left: 100px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-menu__item {
    box-sizing: border-box;
    width: 10%;
    padding-right: 1.56%;
    padding-bottom: 20px;
    padding-left: 1.56%;
    margin-top: -20px;
    transition: -webkit-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; } }

@media print, screen and (min-width: 48em) {
  .p-home-menu__item {
    width: calc(20% - 32px);
    margin-top: -30px;
    margin-right: 16px;
    margin-left: 16px; } }

.p-home-menu__thumb {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-menu__thumb {
      position: relative;
      border: 1px solid #cccccc; } }
  @media print, screen and (min-width: 48em) {
    .p-home-menu__thumb {
      max-width: 248px; } }
  .p-home-menu__thumb > img {
    display: block;
    width: 100%;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
    @media print, screen and (min-width: 61.25em) {
      .p-home-menu__thumb > img {
        transition: all 0.2s ease; } }

.p-home-menu__label {
  color: #fff;
  font-size: 12px;
  font-size: 0.75rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-menu__label {
      text-align: center;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; } }
  @media print, screen and (min-width: 48em) {
    .p-home-menu__label {
      margin-top: 16px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-home-menu__label {
      transition: all 0.2s ease; } }

.p-home-menu__name {
  color: #fff;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-menu__name {
      text-align: center;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-home-menu__name {
      font-size: 16px;
      font-size: 1rem; } }

@media print, screen and (min-width: 61.25em) {
  .p-home-menu__link:hover .p-home-menu__thumb > img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    transition: all 0.4s ease; } }

@media print, screen and (min-width: 61.25em) {
  .browser-is-ie .p-home-menu__link:hover .p-home-menu__thumb > img {
    -webkit-transform: scale(1.1) rotate(0.1deg);
            transform: scale(1.1) rotate(0.1deg);
    -webkit-animation: imgAniBugFix 0.4s linear 0 1 normal;
            animation: imgAniBugFix 0.4s linear 0 1 normal; } }

@media print, screen and (min-width: 61.25em) {
  .p-home-menu__link:hover .p-home-menu__label > span {
    background-color: #2ac4cf;
    transition: all 0.4s ease; } }

.p-home-menu__ctrl {
  position: absolute;
  top: calc(50% - 15px);
  left: 0;
  width: 100%; }
  @media print, screen and (min-width: 48em) {
    .p-home-menu__ctrl {
      display: none; } }

.p-home-menu__left,
.p-home-menu__right {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px; }
  .p-home-menu__left:before,
  .p-home-menu__right:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.4; }
  .p-home-menu__left:after,
  .p-home-menu__right:after {
    top: 0; }

.p-home-menu__left {
  left: 10px; }
  .p-home-menu__left:after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 0 0 2px 2px;
    margin-right: 8px;
    border-color: #fff;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    margin-left: 0;
    top: 0;
    right: -5px; }

.p-home-menu__right {
  right: 10px; }
  .p-home-menu__right:after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #fff;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    margin-left: 0;
    top: 0;
    left: -1px; }

@media only screen and (max-width: 47.9375em) {
  .p-home-menu__ind {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    margin-bottom: 30px; } }

@media print, screen and (min-width: 48em) {
  .p-home-menu__ind {
    display: none; } }

.p-home-menu__ind > a {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 3px;
  margin-left: 3px;
  border-radius: 50%;
  opacity: 0.25;
  background-color: #13aac2; }
  .p-home-menu__ind > a.current {
    opacity: 1; }

.p-home-menu__desc {
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  text-align: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-menu__desc br {
      display: none; } }
  @media print, screen and (min-width: 48em) {
    .p-home-menu__desc {
      margin-top: 10px;
      text-align: left; } }

.p-home-menu__button {
  margin: 0 auto; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-menu__button {
      box-sizing: border-box;
      padding: 0 3.125%; } }
  @media print, screen and (min-width: 48em) {
    .p-home-menu__button {
      position: absolute;
      bottom: 48px; } }
  .p-home-menu__button > a {
    font-size: 14px;
    font-size: 0.875rem;
    width: 400px;
    padding-top: 8px;
    padding-bottom: 8px;
    margin: 0 auto; }
    @media only screen and (max-width: 47.9375em) {
      .p-home-menu__button > a {
        width: 100%; } }

.p-home-menu.-other .p-home-menu__item {
  margin-top: 70px; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-menu.-other .p-home-menu__item {
      margin-top: 24px; } }

.p-contact-block {
  position: relative;
  border: solid 4px #13aac2; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block {
      display: -ms-grid;
      display: grid;
          grid-template-areas: 'document tel' 'document mail';
      -ms-grid-columns: 460px 1fr;
      grid-template-columns: 460px 1fr;
      -ms-grid-rows: (143px)[2];
      grid-template-rows: repeat(2, 143px);
      border: solid 6px #13aac2; } }

/* 資料ダウンロードがない場合に使用 */
.p-contact-block--no-document {
  position: relative;
  border: solid 4px #13aac2; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block--no-document {
      display: block;
      border: solid 6px #13aac2; }
      .p-contact-block--no-document .p-contact-block__box {
        height: 143px; } }

.p-contact-block__button {
  margin-top: 12px;
  max-width: 320px;
  margin-right: auto;
  margin-left: auto; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__button {
      width: 300px;
      margin-top: 0; } }

.p-contact-block__icon > img {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.p-contact-block__title {
  font-weight: bold;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-size: 14px;
  text-align: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-contact-block__title {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-contact-block__title {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__title {
      font-size: 22px;
      text-align: left;
      margin-top: 0; } }

.p-contact-block__desc {
  font-size: 12px;
  line-height: 1.5;
  text-align: center; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__desc {
      font-size: 14px;
      line-height: 1.7;
      text-align: left; } }

.p-contact-block__box {
  padding: 20px 20px 20px 20px; }
  @media print, screen and (min-width: 87.5em) {
    .p-contact-block__box {
      padding: 0 52px; } }

/**
 * Modifire
 */
@media print, screen and (min-width: 80em) {
  .p-contact-block__box--document {
    grid-area: document;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 46px;
    border-right: 1px solid #13aac2; } }

.p-contact-block__box--document .p-contact-block__icon > img {
  max-width: 38px;
  max-height: 30px; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__box--document .p-contact-block__icon > img {
      max-width: none;
      max-height: none;
      margin-right: auto;
      margin-left: auto; } }

.p-contact-block__box--document .p-contact-block__title {
  margin-top: 8px; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__box--document .p-contact-block__title {
      text-align: center;
      margin-top: 3px; } }

.p-contact-block__box--document .p-contact-block__desc {
  margin-top: 6px; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__box--document .p-contact-block__desc {
      margin-top: 0;
      text-align: center; } }

.p-contact-block__box--document .p-contact-block__button {
  margin-right: auto;
  margin-left: auto; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__box--document .p-contact-block__button {
      margin-top: 12px; } }

.p-contact-block__box--tel {
  border-top: 1px solid #13aac2; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__box--tel {
      grid-area: tel;
      align-items: center;
      border-top: none; } }
  .p-contact-block__box--tel .p-contact-block__icon > img {
    max-width: 32px;
    max-height: 34px; }
    @media print, screen and (min-width: 80em) {
      .p-contact-block__box--tel .p-contact-block__icon > img {
        max-width: none;
        max-height: none;
        margin-left: 0; } }
  .p-contact-block__box--tel .p-contact-block__tel {
    display: block;
    font-weight: bold;
    font-family: "Roboto", "arial", sans-serif;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    line-height: 0.7;
    color: #333;
    margin-top: 15px;
    font-size: 32px;
    text-align: center; }
    @media print, screen and (min-width: 61.25em) {
      .p-contact-block__box--tel .p-contact-block__tel {
        pointer-events: none; } }
    @media print, screen and (min-width: 80em) {
      .p-contact-block__box--tel .p-contact-block__tel {
        width: 300px;
        margin-top: 0;
        margin-left: 20px;
        font-size: 45px;
        text-align: left; } }
    .p-contact-block__box--tel .p-contact-block__tel > span {
      display: block;
      margin-top: 10px;
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo";
      font-weight: normal;
      font-size: 14px;
      line-height: 1.6; }
  .p-contact-block__box--tel .p-contact-block__desc {
    margin-top: 6px; }

.p-contact-block__box--mail {
  align-items: center;
  border-top: 1px solid #13aac2; }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__box--mail {
      grid-area: mail; } }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__box--document {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1; }
    .p-contact-block__box--tel {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
    .p-contact-block__box--mail {
    -ms-grid-row: 2;
    -ms-grid-column: 2; } }
  .p-contact-block__box--mail .p-contact-block__icon > img {
    max-width: 30px;
    max-height: 31px; }
    @media print, screen and (min-width: 80em) {
      .p-contact-block__box--mail .p-contact-block__icon > img {
        max-width: none;
        max-height: none;
        margin-left: 0; } }
  @media print, screen and (min-width: 80em) {
    .p-contact-block__box--mail .p-contact-block__button {
      margin-left: 20px; } }

@media print, screen and (min-width: 80em) {
  .p-contact-block__box--tel,
  .p-contact-block__box--mail {
    display: flex;
    justify-content: space-between; } }

@media print, screen and (min-width: 80em) {
  .p-contact-block__box--tel .p-contact-block__icon,
  .p-contact-block__box--mail .p-contact-block__icon {
    width: 105px; } }

.p-contact-block__box--tel .p-contact-block__desc,
.p-contact-block__box--mail .p-contact-block__desc {
  margin-top: 6px; }

.p-contact-block__box--tel .p-contact-block__content,
.p-contact-block__box--mail .p-contact-block__content {
  flex: 1; }

.p-home-theme {
  position: relative;
  display: flex; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme {
      padding: 19px 19px 17px 19px; } }
  @media print, screen and (min-width: 80em) {
    .p-home-theme {
      padding: 59px 59px 35px 59px; } }

.p-home-theme__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.p-home-theme__content {
  width: 100%; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__content {
      display: -ms-grid;
      display: grid;
      width: auto;
      position: relative;
      z-index: 1;
      margin-left: 30px; } }

.p-home-theme__thumb {
  position: absolute;
  left: 3.125%;
  top: 10px; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__thumb {
      position: relative;
      left: 0;
      top: 0; } }
  .p-home-theme__thumb > img {
    border-radius: 50%;
    width: 30px;
    height: 30px; }
    @media print, screen and (min-width: 61.25em) {
      .p-home-theme__thumb > img {
        width: 100px;
        height: 100px; } }

.p-home-theme__front {
  position: relative;
  z-index: 1;
  padding-left: calc(3.125% + 40px);
  cursor: pointer; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__front {
      -ms-grid-column: 1;
      grid-column: 1;
      -ms-grid-row: 1;
      grid-row: 1;
      padding-left: 0;
      transition: all 0.2s ease; } }
  @media print, screen and (min-width: 61.25em) {
    .c-grid-panel__item:hover .p-home-theme__front {
      -webkit-transform: translate3d(0, -40px, 0);
              transform: translate3d(0, -40px, 0);
      opacity: 0;
      visibility: hidden;
      transition: all 0.4s ease; } }
  .p-home-theme__front > span {
    position: absolute;
    top: calc(50% - 6px);
    right: 3.125%;
    width: 12px;
    height: 12px;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
    .p-home-theme__front > span:before {
      content: '';
      display: inline-block;
      width: 2px;
      height: 12px;
      position: absolute;
      top: 0;
      left: calc(50% - 2px/2);
      background-color: #13aac2; }
    .p-home-theme__front > span:after {
      content: '';
      display: inline-block;
      width: 12px;
      height: 2px;
      position: absolute;
      top: calc(50% - 2px/2);
      left: 0;
      background-color: #13aac2;
      transition: all 0.3s ease; }
    @media print, screen and (min-width: 61.25em) {
      .p-home-theme__front > span {
        display: none; } }
  .p-home-theme__front.active > span {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
    .p-home-theme__front.active > span:after {
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      opacity: 0; }

.p-home-theme__back {
  height: 0;
  overflow: hidden; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__back {
      height: auto;
      overflow: visible;
      -webkit-transform: translate3d(0, 30px, 0);
              transform: translate3d(0, 30px, 0);
      opacity: 0;
      -ms-grid-column: 1;
      grid-column: 1;
      -ms-grid-row: 1;
      grid-row: 1;
      transition: all 0.2s ease; } }
  @media print, screen and (min-width: 61.25em) {
    .c-grid-panel__item:hover .p-home-theme__back {
      opacity: 1;
      -webkit-transform: translate3d(0, -10px, 0);
              transform: translate3d(0, -10px, 0);
      transition: all 0.4s ease; } }

.p-home-theme__backwrap {
  background-color: #f7f7f7;
  padding-right: 3.125%;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__backwrap {
      background-color: transparent;
      padding-right: 0;
      padding-left: 0; } }

.p-home-theme__name {
  color: #13aac2;
  font-weight: bold;
  display: inline-flex;
  position: relative;
  align-items: center;
  padding-right: 14px;
  padding-top: 13px;
  padding-bottom: 13px;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.85; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__name {
      padding-top: 0;
      padding-bottom: 0;
      font-size: 16px;
      font-size: 1rem;
      line-height: inherit; } }
  @media print, screen and (min-width: 48em) {
    .p-home-theme__name::after {
      box-sizing: border-box;
      display: block;
      position: absolute;
      top: 50%;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      -webkit-transform: translate(0, -50%) rotate(45deg);
              transform: translate(0, -50%) rotate(45deg);
      border-color: #13aac2;
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: '';
      right: 0; } }

.p-home-theme__desc {
  display: none; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__desc {
      display: block;
      margin-top: 10px;
      padding-top: 15px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__desc:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 30px;
      height: 2px;
      background-color: #ffc500; } }

.p-home-theme__list {
  line-height: 1.6;
  padding-top: 15px;
  padding-bottom: 15px; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__list {
      padding-top: 0;
      padding-bottom: 0; } }
  .p-home-theme__list > li {
    position: relative;
    font-size: 14px;
    font-size: 0.875rem; }
    @media print, screen and (min-width: 61.25em) {
      .p-home-theme__list > li {
        padding-left: 13px;
        font-size: 16px;
        font-size: 1rem; } }
    @media print, screen and (min-width: 61.25em) {
      .p-home-theme__list > li:before {
        content: '';
        position: absolute;
        top: 0.6em;
        left: 0;
        width: 5px;
        height: 5px;
        background-color: #ccc;
        border-radius: 50%; } }
    .p-home-theme__list > li + li {
      margin-top: 10px; }
      @media print, screen and (min-width: 61.25em) {
        .p-home-theme__list > li + li {
          margin-top: 5px; } }

.p-home-theme__button {
  display: none; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-theme__button {
      display: block;
      margin-top: 15px; } }
  .p-home-theme__button > a {
    width: 80px;
    height: 24px;
    display: flex;
    font-size: 12px;
    font-size: 0.75rem;
    color: #fff;
    background-color: #13aac2;
    align-items: center;
    justify-content: center;
    border-radius: 12px/50%; }
    @media print, screen and (min-width: 61.25em) {
      .p-home-theme__button > a:hover {
        background-color: #2ac4cf; } }

.p-home-solution__link {
  position: relative;
  box-sizing: border-box;
  display: block; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-solution__link {
      display: flex;
      align-items: center;
      padding: 14px 3.125% 11px 3.125%; } }
  @media print, screen and (min-width: 48em) {
    .p-home-solution__link {
      padding: 29px 29px 24px 29px; } }
  .p-home-solution__link:hover {
    color: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__name {
    margin-left: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__name {
    margin-top: 10px;
    text-align: center; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__desc {
    display: none; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__desc {
    text-align: center; } }

.p-home-solution__thumb {
  display: flex;
  align-items: center;
  justify-content: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-solution__thumb {
      width: 45px; } }
  @media print, screen and (min-width: 48em) {
    .p-home-solution__thumb {
      height: 90px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__item {
    display: flex;
    align-items: flex-start; } }

.p-home-solution__desc {
  color: #333; }
  @media print, screen and (min-width: 48em) {
    .p-home-solution__desc {
      margin-top: 6px;
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.7; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__thumb--ms > img {
    max-width: 44px;
    max-height: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__thumb--ms > img {
    max-width: 122px;
    max-height: 67px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__thumb--is > img {
    max-width: 33px;
    max-height: 31px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__thumb--is > img {
    max-width: 92px;
    max-height: 86px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__thumb--cs > img {
    max-width: 38px;
    max-height: 26px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__thumb--cs > img {
    max-width: 79px;
    max-height: 72px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__thumb--ss > img {
    max-width: 33px;
    max-height: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__thumb--ss > img {
    max-width: 92px;
    max-height: 65px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__thumb--as > img {
    max-width: 28px;
    max-height: 25px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__thumb--as > img {
    max-width: 78px;
    max-height: 70px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__thumb--os > img {
    max-width: 26px;
    max-height: 26px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__thumb--os > img {
    max-width: 72px;
    max-height: 70px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__thumb--dd > img {
    width: 31px;
    height: 25px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__thumb--dd > img {
    max-width: 86px;
    max-height: 68px; } }

@media only screen and (max-width: 47.9375em) {
  .p-home-solution__thumb--ps > img {
    max-width: 36px;
    max-height: 26px; } }

@media print, screen and (min-width: 48em) {
  .p-home-solution__thumb--ps > img {
    max-width: 98px;
    max-height: 83px; } }

.p-service-media__thumb {
  overflow: hidden; }
  .p-service-media__thumb > img {
    display: block;
    width: 100%;
    height: auto;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
    @media print, screen and (min-width: 61.25em) {
      .p-service-media__thumb > img {
        transition: all 0.2s ease; } }

@media print, screen and (min-width: 48em) {
  .p-service-media__content {
    margin-top: 16px; } }

@media only screen and (max-width: 47.9375em) {
  .p-service-media__name {
    margin-top: 4px; } }

@media print, screen and (min-width: 48em) {
  .p-service-media__name {
    text-align: center; } }

@media print, screen and (min-width: 48em) {
  .p-service-media__desc {
    margin-top: 5px;
    text-align: center; } }

@media print, screen and (min-width: 61.25em) {
  .p-service-media__link:hover .p-service-media__thumb > img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    transition: all 0.4s ease; } }

.p-company-info {
  margin-top: 25px; }
  @media print, screen and (min-width: 61.25em) {
    .p-company-info {
      margin-top: 0; } }

.p-company-info__logo {
  width: 200px; }
  .p-company-info__logo > img {
    width: 100%;
    display: block; }

.p-company-info__list li + li {
  margin-top: 12px; }

.p-company-info__name {
  font-size: 12px;
  font-size: 0.75rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-company-info__name {
      opacity: 0.9; } }

@media only screen and (max-width: 47.9375em) {
  .p-company-info__address {
    font-size: 13px;
    font-size: 0.8125rem;
    opacity: 0.9; } }

@media print, screen and (min-width: 48em) {
  .p-company-info__address {
    font-size: 12px;
    font-size: 0.75rem; } }

.p-company-info__address > a {
  color: #fff; }
  @media print, screen and (min-width: 61.25em) {
    .p-company-info__address > a[href^='tel'] {
      pointer-events: none; } }

@media print, screen and (min-width: 48em) {
  .p-footer-sitemap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr;
    gap: 20px; } }

@media print, screen and (min-width: 87.5em) {
  .p-footer-sitemap {
    -ms-grid-columns: 230px 230px 1fr;
        grid-template-columns: 230px 230px 1fr; } }

@media print, screen and (min-width: 100em) {
  .p-footer-sitemap {
    gap: 65px; } }

.p-footer-sitemap a {
  color: #fff;
  opacity: 0.7; }
  @media only screen and (max-width: 47.9375em) {
    .p-footer-sitemap a {
      font-size: 13px;
      font-size: 0.8125rem; } }
  .p-footer-sitemap a:hover {
    opacity: 1; }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-footer-sitemap {
        grid-template-areas: 'fm1-1 fm1-2 fm1-3';
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr; } }

@media print, screen and (min-width: 87.5em) {
  .p-footer-sitemap__group {
    -ms-grid-row: 1;
    grid-row: 1; } }

.p-footer-sitemap__group:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3; }
  @media print, screen and (min-width: 87.5em) {
    .p-footer-sitemap__group:nth-child(4) {
      -ms-grid-row: 1;
      grid-row: 1; } }

.p-footer-sitemap__group:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3; }
  @media print, screen and (min-width: 87.5em) {
    .p-footer-sitemap__group:nth-child(5) {
      -ms-grid-row: 1;
      grid-row: 1; } }

@media print, screen and (min-width: 48em) {
  .p-footer-sitemap__group--lv1 > li > a {
    font-size: 14px;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(1) {
    grid-area: fm1-1; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(1) {
    grid-area: fm2-1; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(2) {
    grid-area: fm1-2; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(2) {
    grid-area: fm2-2; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(3) {
    grid-area: fm1-3; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 3; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2; }
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(3) {
    -ms-grid-row: 1;
    -ms-grid-column: 3; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(3) {
    grid-area: fm2-3; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(4) {
    grid-area: fm1-4; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(4) {
    grid-area: fm2-4; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(5) {
    grid-area: fm1-5; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-footer-sitemap__group--lv1:nth-child(5) {
    grid-area: fm2-5; } }

.p-footer-sitemap__group--lv2 > li > a {
  font-size: 12px;
  font-size: 0.75rem; }

@media print, screen and (min-width: 48em) {
  .p-sitemap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
        grid-template-columns: 1fr 1fr 1fr;
    gap: 20px; } }

@media print, screen and (min-width: 87.5em) {
  .p-sitemap {
    -ms-grid-columns: 230px 230px 1fr;
        grid-template-columns: 230px 230px 1fr; } }

@media print, screen and (min-width: 100em) {
  .p-sitemap {
    gap: 65px; } }

.p-sitemap a {
  color: #333; }
  @media only screen and (max-width: 47.9375em) {
    .p-sitemap a {
      font-size: 13px;
      font-size: 0.8125rem; } }
  .p-sitemap a:hover {
    opacity: 1; }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-sitemap {
        grid-template-areas: 'fm1-1 fm1-2 fm1-3';
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr; } }

@media print, screen and (min-width: 87.5em) {
  .p-sitemap__group {
    -ms-grid-row: 1;
    grid-row: 1; } }

.p-sitemap__group:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3; }
  @media print, screen and (min-width: 87.5em) {
    .p-sitemap__group:nth-child(4) {
      -ms-grid-row: 1;
      grid-row: 1; } }

.p-sitemap__group:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3; }
  @media print, screen and (min-width: 87.5em) {
    .p-sitemap__group:nth-child(5) {
      -ms-grid-row: 1;
      grid-row: 1; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(1) {
    grid-area: fm1-1; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(1) {
    grid-area: fm2-1; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(2) {
    grid-area: fm1-2; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(2) {
    grid-area: fm2-2; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(3) {
    grid-area: fm1-3; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(3) {
    grid-area: fm2-3; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(4) {
    grid-area: fm1-4; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(4) {
    grid-area: fm2-4; } }

@media print, screen and (min-width: 48em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(5) {
    grid-area: fm1-5; } }

@media print, screen and (min-width: 87.5em) {
  .browser-is-ie .p-sitemap__group--lv1:nth-child(5) {
    grid-area: fm2-5; } }

.p-sitemap__group--lv2 > li > a {
  font-size: 14px;
  font-size: 0.875rem; }

@media only screen and (max-width: 47.9375em) {
  .p-copyright {
    font-size: 9px;
    font-size: 0.5625rem;
    opacity: 0.9; } }

@media print, screen and (min-width: 48em) {
  .p-copyright {
    font-size: 12px;
    font-size: 0.75rem; } }

.p-popup-panel {
  box-sizing: border-box;
  position: fixed;
  z-index: 9000;
  bottom: 0;
  right: 0;
  width: 100%;
  -webkit-transform: translate3d(0, 200%, 0);
          transform: translate3d(0, 200%, 0);
  transition: -webkit-transform 0.3s 0s ease;
  transition: transform 0.3s 0s ease;
  transition: transform 0.3s 0s ease, -webkit-transform 0.3s 0s ease;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16); }
  @media print, screen and (min-width: 48em) {
    .p-popup-panel {
      bottom: 20px;
      right: 20px;
      width: 410px;
      z-index: 30; } }
  .p-popup-panel.active {
    transition: -webkit-transform 0.6s 0s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.6s 0s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.6s 0s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.6s 0s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  .p-popup-panel:hover {
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); }

.p-popup-panel__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 3.125%;
  padding-left: 3.125%;
  transition: background-color ease 0.2s; }
  @media print, screen and (min-width: 48em) {
    .p-popup-panel__content {
      height: auto;
      padding-top: 25px;
      padding-bottom: 25px;
      padding-right: 30px;
      padding-left: 30px; }
      .p-popup-panel__content:hover img {
        opacity: 0.8; } }

.p-popup-panel__icon svg {
  margin-top: 5px;
  margin-bottom: 2px;
  vertical-align: middle; }

.p-popup-panel__title {
  color: #333;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-popup-panel__title {
      margin-left: 10px;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-popup-panel__title {
      margin-left: 25px;
      font-size: 18px;
      font-size: 1.125rem;
      line-height: 1.5; } }
  .p-popup-panel__title > span {
    position: relative;
    display: inline-block; }
    @media only screen and (max-width: 47.9375em) {
      .p-popup-panel__title > span {
        padding-right: 12px; } }
    @media print, screen and (min-width: 48em) {
      .p-popup-panel__title > span {
        padding-right: 24px; } }
    .p-popup-panel__title > span:after {
      right: 0;
      box-sizing: border-box;
      display: block;
      position: absolute;
      top: 50%;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      -webkit-transform: translate(0, -50%) rotate(45deg);
              transform: translate(0, -50%) rotate(45deg);
      border-color: #333;
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: '';
      transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  .p-popup-panel__title svg {
    position: relative;
    top: 0;
    width: 9px;
    height: 9px;
    margin-right: 7px;
    fill: #fff; }

.p-popup-panel__link {
  position: relative;
  overflow: hidden;
  display: block;
  background-color: #ffc500;
  font-size: 10px;
  font-size: 0.625rem; }
  @media print, screen and (min-width: 48em) {
    .p-popup-panel__link {
      font-size: 11px;
      font-size: 0.6875rem; } }
  @media print, screen and (min-width: 61.25em) {
    .p-popup-panel__link:hover:after {
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
      transition: -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
  @media print, screen and (min-width: 61.25em) {
    .p-popup-panel__link:hover .p-popup-panel__title > span:after {
      -webkit-transform: translate3d(-5px, -50%, 0) rotate(45deg);
              transform: translate3d(-5px, -50%, 0) rotate(45deg);
      transition: -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
  .p-popup-panel__link:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffaa00;
    -webkit-transform: translate3d(-101%, 0, 0);
            transform: translate3d(-101%, 0, 0);
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }

.p-popup-panel__close {
  box-sizing: border-box;
  position: absolute;
  top: -15px;
  z-index: 1;
  right: 0;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background-color: #333;
  transition: background-color ease 0.2s; }
  @media only screen and (max-width: 47.9375em) {
    .p-popup-panel__close {
      right: 15px; } }
  @media print, screen and (min-width: 48em) {
    .p-popup-panel__close {
      right: -15px; } }
  .p-popup-panel__close > span {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
    .p-popup-panel__close > span:before {
      content: '';
      display: inline-block;
      width: 1px;
      height: 15px;
      background-color: #fff;
      top: 8px;
      position: absolute;
      right: 15px; }
    .p-popup-panel__close > span:after {
      content: '';
      display: inline-block;
      width: 15px;
      height: 1px;
      background-color: #fff;
      position: absolute;
      top: 15px;
      left: 8px; }
  @media print, screen and (min-width: 48em) {
    .p-popup-panel__close:hover {
      background-color: #13aac2; } }
  @media print, screen and (min-width: 48em) {
    .p-popup-panel__close:hover > span {
      -webkit-transform: rotate(135deg) scale(1.1);
              transform: rotate(135deg) scale(1.1); } }

.p-simple-popup-panel {
  box-sizing: border-box;
  position: fixed;
  z-index: 9000;
  bottom: 0;
  right: 0;
  width: 100%;
  -webkit-transform: translate3d(0, 200%, 0);
          transform: translate3d(0, 200%, 0);
  transition: -webkit-transform 0.3s 0s ease;
  transition: transform 0.3s 0s ease;
  transition: transform 0.3s 0s ease, -webkit-transform 0.3s 0s ease;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
  @media print, screen and (min-width: 48em) {
    .p-simple-popup-panel {
      box-shadow: 0 0 0 1px #f0f0f0, 0 0 0 2px #c9c9c9;
      background: #fff;
      z-index: 9; } }
  .p-simple-popup-panel.active {
    transition: -webkit-transform 0.6s 0s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.6s 0s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    transition: transform 0.6s 0s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.6s 0s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

.p-simple-popup-panel__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 3.125%;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 48em) {
    .p-simple-popup-panel__content {
      text-align: center; }
      .p-simple-popup-panel__content:hover img {
        opacity: 0.8; } }

.p-simple-popup-panel__title {
  color: #333;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-simple-popup-panel__title {
      margin-right: auto;
      margin-left: auto; } }
  .p-simple-popup-panel__title > span {
    position: relative; }
    .p-simple-popup-panel__title > span::after {
      box-sizing: border-box;
      display: block;
      position: absolute;
      top: 50%;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      -webkit-transform: translate(0, -50%) rotate(45deg);
              transform: translate(0, -50%) rotate(45deg);
      border-color: #333;
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: '';
      display: inline-block;
      position: relative;
      top: 3px;
      margin-left: 5px;
      transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  @media only screen and (max-width: 47.9375em) {
    .p-simple-popup-panel__title {
      font-size: 14px;
      font-size: 0.875rem; }
      .p-simple-popup-panel__title > span::after {
        top: 3px; } }
  @media print, screen and (min-width: 48em) {
    .p-simple-popup-panel__title {
      flex: 1;
      font-size: 14px;
      line-height: 1.5; } }

.p-simple-popup-panel__link {
  position: relative;
  overflow: hidden;
  display: block;
  background-color: #ffc500;
  font-size: 10px;
  font-size: 0.625rem; }
  @media print, screen and (min-width: 48em) {
    .p-simple-popup-panel__link {
      font-size: 11px;
      font-size: 0.6875rem;
      width: 300px;
      height: 60px;
      margin: 15px auto 15px;
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
      border-radius: 3px;
      transition: box-shadow 0.2s ease-in-out; } }
  @media print, screen and (min-width: 48em) {
    .p-simple-popup-panel__link:hover {
      box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24);
      transition: box-shadow 0.1s ease-in-out; } }
  @media print, screen and (min-width: 61.25em) {
    .p-simple-popup-panel__link:hover:after {
      -webkit-transform: translate3d(0, 0, 0);
              transform: translate3d(0, 0, 0);
      transition: -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
  @media print, screen and (min-width: 61.25em) {
    .p-simple-popup-panel__link:hover .p-simple-popup-panel__title > span::after {
      -webkit-transform: translate3d(-5px, -50%, 0) rotate(45deg);
              transform: translate3d(-5px, -50%, 0) rotate(45deg);
      transition: -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
  .p-simple-popup-panel__link:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffaa00;
    -webkit-transform: translate3d(-101%, 0, 0);
            transform: translate3d(-101%, 0, 0);
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }

.p-simple-popup-panel__close {
  box-sizing: border-box;
  position: absolute;
  top: -15px;
  right: 0;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background-color: #333;
  transition: background-color ease 0.2s; }
  @media only screen and (max-width: 47.9375em) {
    .p-simple-popup-panel__close {
      right: 15px; } }
  @media print, screen and (min-width: 48em) {
    .p-simple-popup-panel__close {
      display: none; } }
  .p-simple-popup-panel__close > span {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease; }
    .p-simple-popup-panel__close > span:before {
      content: '';
      display: inline-block;
      width: 1px;
      height: 15px;
      background-color: #fff;
      top: 8px;
      position: absolute;
      right: 15px; }
    .p-simple-popup-panel__close > span:after {
      content: '';
      display: inline-block;
      width: 15px;
      height: 1px;
      background-color: #fff;
      position: absolute;
      top: 15px;
      left: 8px; }
  @media print, screen and (min-width: 48em) {
    .p-simple-popup-panel__close:hover {
      background-color: #13aac2; } }
  @media print, screen and (min-width: 48em) {
    .p-simple-popup-panel__close:hover > span {
      -webkit-transform: rotate(135deg) scale(1.1);
              transform: rotate(135deg) scale(1.1); } }

@media only screen and (max-width: 47.9375em) {
  .p-page-top {
    display: none; } }

@media print, screen and (min-width: 48em) {
  .p-page-top {
    opacity: 0;
    position: fixed;
    right: 40px;
    bottom: 20px;
    width: 58px;
    height: 58px;
    z-index: 8;
    visibility: hidden;
    transition: opacity 0.8s 0s ease, bottom 0.4s ease, visibility 0.8s 0s ease; } }

@media print, screen and (min-width: 80em) {
  .p-page-top {
    right: 40px;
    bottom: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-page-top > a {
    position: relative;
    text-align: center;
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding-top: 15px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
    border-radius: 3px;
    border-width: 2px;
    border-style: solid;
    border-color: #13aac2;
    overflow: hidden; } }

.p-page-top > a > span {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 50%;
  width: 8px;
  height: 8px;
  border-style: solid;
  border-width: 2px 0 0 2px;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
  border-color: #fff;
  transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  content: '';
  -webkit-transform: translate3d(0, -2px, 0) rotate(45deg);
          transform: translate3d(0, -2px, 0) rotate(45deg);
  margin: auto;
  right: 0;
  left: 0;
  transition: all 0.2s 0s cubic-bezier(0.215, 0.61, 0.355, 1); }

@media print, screen and (min-width: 48em) {
  .p-page-top > a:before {
    content: '';
    display: block;
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    display: block;
    border-radius: 3px;
    border: 1px solid #13aac2;
    box-sizing: border-box;
    z-index: -1;
    transition: background-color 0.3s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
    background-color: #13aac2; } }

@media print, screen and (min-width: 48em) {
  .p-page-top > a:after {
    content: '';
    display: block;
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    display: block;
    border-radius: 3px;
    border: 1px solid #ffc500;
    box-sizing: border-box;
    z-index: 0;
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    background-color: #fff;
    -webkit-transform: translate3d(0, 101%, 0);
            transform: translate3d(0, 101%, 0); } }

@media print, screen and (min-width: 48em) {
  .p-page-top > a:hover {
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }

@media print, screen and (min-width: 48em) {
  .p-page-top > a:hover > span {
    border-color: #13aac2; } }

@media print, screen and (min-width: 48em) {
  .p-page-top > a:hover:after {
    transition: -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0; } }

@media print, screen and (min-width: 61.25em) {
  .p-page-top > a:hover > span {
    -webkit-transform: translate3d(0, -7px, 0) rotate(45deg);
            transform: translate3d(0, -7px, 0) rotate(45deg);
    transition: all 0.4s 0s cubic-bezier(0.215, 0.61, 0.355, 1); } }

@media print, screen and (min-width: 48em) {
  .p-page-top.active {
    opacity: 1;
    visibility: visible; } }

/* ソリューション・製品アイコン
----------------------------------------------------------------- */
.p-icon-microsoft > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-microsoft > svg {
    max-width: 44px;
    max-height: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-microsoft > svg {
    max-width: 122px;
    max-height: 67px; } }

.p-icon-it > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-it > svg {
    max-width: 33px;
    max-height: 31px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-it > svg {
    max-width: 92px;
    max-height: 86px; } }

.p-icon-cloud > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-cloud > svg {
    max-width: 38px;
    max-height: 26px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-cloud > svg {
    max-width: 79px;
    max-height: 72px; } }

.p-icon-security > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-security > svg {
    max-width: 36px;
    max-height: 26px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-security > svg {
    max-width: 92px;
    max-height: 65px; } }

.p-icon-application > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-application > svg {
    max-width: 28px;
    max-height: 25px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-application > svg {
    max-width: 78px;
    max-height: 70px; } }

.p-icon-cybozu > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-cybozu > svg {
    max-width: 44px;
    max-height: 24px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-cybozu > svg {
    max-width: 122px;
    max-height: 67px; } }

.p-icon-outsourcing > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-outsourcing > svg {
    max-width: 26px;
    max-height: 26px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-outsourcing > svg {
    max-width: 72px;
    max-height: 70px; } }

.p-icon-itrs > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-itrs > svg {
    width: 31px;
    height: 25px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-itrs > svg {
    max-width: 86px;
    max-height: 68px; } }

.p-icon-sales > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-sales > svg {
    max-width: 36px;
    max-height: 26px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-sales > svg {
    max-width: 98px;
    max-height: 83px; } }

.p-icon-virtualization > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-virtualization > svg {
    max-width: 46px;
    max-height: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-virtualization > svg {
    max-width: 130px;
    max-height: 56px; } }

.p-icon-support > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-support > svg {
    max-width: 30px;
    max-height: 28px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-support > svg {
    max-width: 70px;
    max-height: 68px; } }

.p-icon-website > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-website > svg {
    max-width: 36px;
    max-height: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-website > svg {
    max-width: 95px;
    max-height: 50px; } }

.p-icon-telework > svg {
  fill: #13aac2; }

@media only screen and (max-width: 47.9375em) {
  .p-icon-telework > svg {
    max-width: 32px;
    max-height: 32px; } }

@media print, screen and (min-width: 48em) {
  .p-icon-telework > svg {
    max-width: 72px;
    max-height: 72.5px; } }

/* ポップアップアイコン
----------------------------------------------------------------- */
.p-icon-doc-download > svg {
  fill: #333; }
  @media only screen and (max-width: 47.9375em) {
    .p-icon-doc-download > svg {
      width: 35px;
      height: 24px; } }
  @media print, screen and (min-width: 48em) {
    .p-icon-doc-download > svg {
      width: 60px;
      height: 48px; } }

/* 詳細ページ下部の関連情報を表示するエリア
----------------------------------------------------------------- */
/**
 * ひとつの種類（ブログ、関連事例など）をくくる要素
 * __head, __bodyのみを子供にもつ
 */
.p-other-info__block:not(:first-of-type) {
  margin-top: 55px; }

.p-other-info__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between; }

.p-other-info__heading {
  font-weight: 700; }
  @media only screen and (max-width: 47.9375em) {
    .p-other-info__heading {
      margin-top: 10px;
      font-size: 18px;
      font-size: 1.125rem; } }
  @media print, screen and (min-width: 48em) {
    .p-other-info__heading {
      font-size: 20px;
      font-size: 1.25rem; } }

.p-other-info__view-all-text {
  flex: 0 0 104px;
  margin-left: 20px; }
  .p-other-info__view-all-text a::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    top: -2px;
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  .p-other-info__view-all-text a:hover::after {
    -webkit-transform: translateX(-5px) rotate(45deg);
            transform: translateX(-5px) rotate(45deg); }
  @media only screen and (max-width: 47.9375em) {
    .p-other-info__view-all-text {
      display: none; } }
  @media print, screen and (min-width: 48em) {
    .p-other-info__view-all-text {
      font-size: 16px;
      font-size: 1rem; } }

@media only screen and (max-width: 47.9375em) {
  .p-other-info__body {
    margin-top: 29px; } }

@media print, screen and (min-width: 48em) {
  .p-other-info__body {
    margin-top: 26px; } }

@media only screen and (max-width: 47.9375em) {
  .p-other-info__button {
    margin-top: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-other-info__button {
    display: none; } }

.p-breadcrumbs {
  width: 100%;
  box-sizing: border-box;
  padding-top: 9px;
  padding-bottom: 9px;
  z-index: 4;
  background-color: #f7f7f7; }
  @media only screen and (max-width: 47.9375em) {
    .p-breadcrumbs {
      display: none; } }
  @media print, screen and (min-width: 48em) {
    .p-breadcrumbs {
      display: flex; } }
  @media print, screen and (min-width: 87.5em) {
    .p-breadcrumbs {
      padding-right: 0;
      padding-left: 0; } }

.p-breadcrumbs__inner {
  display: flex;
  overflow: hidden; }
  @media print, screen and (min-width: 48em) {
    .p-breadcrumbs__inner {
      width: 100%;
      padding-right: 3.125%;
      padding-left: 3.125%; } }
  @media print, screen and (min-width: 87.5em) {
    .p-breadcrumbs__inner {
      margin-right: auto;
      margin-left: auto; } }

.p-breadcrumbs__item {
  position: relative;
  font-size: 13px;
  font-size: 0.8125rem;
  color: #333;
  white-space: nowrap; }
  .p-breadcrumbs__item > a {
    transition: color 0.1s 0s ease;
    color: #333; }
    @media print, screen and (min-width: 48em) {
      .p-breadcrumbs__item > a:hover {
        color: #2ac4cf;
        text-decoration: underline; } }
  .p-breadcrumbs__item br {
    display: none; }
  .p-breadcrumbs__item small {
    font-size: 13px;
    font-size: 0.8125rem;
    display: inline; }
  .p-breadcrumbs__item:last-child {
    overflow: hidden;
    text-overflow: ellipsis; }
    .p-breadcrumbs__item:last-child:after {
      display: none; }
  .p-breadcrumbs__item:after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 1px 1px 0 0;
    margin-left: 8px;
    border-color: #cccccc;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    margin-right: 16px;
    margin-left: 13px; }

.p-breadcrumbs--advantage {
  position: absolute; }

/* ページャー
----------------------------------------------------------------- */
.p-pager {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 600px;
  margin-right: auto;
  margin-left: auto; }
  @media only screen and (max-width: 47.9375em) {
    .p-pager {
      margin-top: 20px;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-pager {
      margin-top: 40px; } }

.p-pager__pages {
  display: flex;
  margin-right: auto;
  margin-left: auto; }

.p-pager__page {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 3px;
  background-color: #f7f7f7;
  margin-right: 5px;
  margin-left: 5px; }
  .p-pager__page.p-pager__page--current {
    display: flex; }

.p-pager__page--current {
  background-color: #13aac2;
  color: #fff;
  pointer-events: none; }
  .p-pager__page--current:hover {
    color: #fff; }

.p-pager__prev {
  margin-right: auto;
  margin-left: 0; }
  @media only screen and (max-width: 47.9375em) {
    .p-pager__prev {
      display: none; } }
  .p-pager__prev:before {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 0 0 2px 2px;
    margin-right: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    margin-right: 8px;
    margin-left: 0; }
  .p-pager__prev:hover::before {
    -webkit-transform: translateX(5px) rotate(45deg);
            transform: translateX(5px) rotate(45deg); }

.p-pager__next {
  margin-right: 0;
  margin-left: auto; }
  @media only screen and (max-width: 47.9375em) {
    .p-pager__next {
      display: none; } }
  .p-pager__next:after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: ''; }
  .p-pager__next:hover::after {
    -webkit-transform: translateX(-5px) rotate(45deg);
            transform: translateX(-5px) rotate(45deg); }

@media print, screen and (min-width: 48em) {
  .p-pager--no-margin {
    margin-top: 0; } }

.p-colored-bg-block__head {
  color: #fff;
  font-weight: 700; }
  @media print, screen and (min-width: 48em) {
    .p-colored-bg-block__head {
      text-align: center; } }

@media only screen and (max-width: 47.9375em) {
  .p-colored-bg-block__sub-heading {
    font-size: 14px;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 48em) {
  .p-colored-bg-block__sub-heading {
    font-size: 16px;
    font-size: 1rem; } }

@media only screen and (max-width: 47.9375em) {
  .p-colored-bg-block__heading {
    font-size: 16px;
    font-size: 1rem; } }

@media print, screen and (min-width: 48em) {
  .p-colored-bg-block__heading {
    font-size: 28px;
    font-size: 1.75rem; } }

.p-colored-bg-block__body {
  background: #fff; }
  .p-colored-bg-block__body > *:first-child {
    margin-top: 0; }
  @media only screen and (max-width: 47.9375em) {
    .p-colored-bg-block__body {
      margin-top: 40px;
      padding: 17px 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-colored-bg-block__body {
      margin-top: 35px;
      padding: 75px 80px; } }

.p-document-download-1__top {
  display: flex; }
  @media only screen and (max-width: 47.9375em) {
    .p-document-download-1__top {
      flex-direction: column-reverse;
      padding-bottom: 10px; } }

.p-document-download-1__bottom::before {
  content: '';
  display: block;
  background: #ccc;
  height: 1px; }

@media only screen and (max-width: 47.9375em) {
  .p-document-download-1__bottom {
    padding-top: 20px; }
    .p-document-download-1__bottom::before {
      width: calc(100% + 40px);
      position: relative;
      right: 20px;
      margin-bottom: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-document-download-1__bottom {
    margin-top: 40px; }
    .p-document-download-1__bottom .c-button {
      max-width: 300px;
      margin: 0 auto; }
    .p-document-download-1__bottom::before {
      width: 100%;
      margin-bottom: 40px; } }

@media only screen and (max-width: 47.9375em) {
  .p-document-download-1__image {
    margin-top: 63px;
    text-align: center; }
    .p-document-download-1__image img {
      width: 40%; } }

@media print, screen and (min-width: 48em) {
  .p-document-download-1__image img {
    max-width: 160px; } }

@media print, screen and (min-width: 48em) {
  .p-document-download-1__text {
    margin-left: 40px; } }

.mktoForm {
  width: 100% !important; }

.mktoFormRow,
.mktoFieldWrap,
.mktoFormCol,
.mktoButtonRow {
  width: 100%; }

.mktoForm input[type='url'],
.mktoForm input[type='text'],
.mktoForm input[type='date'],
.mktoForm input[type='tel'],
.mktoForm input[type='email'],
.mktoForm input[type='number'],
.mktoForm textarea.mktoField,
.mktoForm select.mktoField {
  width: 100% !important; }

.mktoButtonRow {
  text-align: center !important; }

.mktoButtonWrap {
  margin-left: 0 !important; }

.mktoHtmlText,
.mktoLabel {
  width: auto !important;
  text-align: left !important; }
  .mktoHtmlText + *,
  .mktoLabel + * {
    clear: both; }
  .mktoHtmlText *,
  .mktoLabel * {
    text-align: left !important; }

.mktoAsterix {
  width: 0;
  padding: 0 !important;
  position: relative;
  left: 5px; }

.mktoRadioList {
  width: auto !important; }
  .mktoRadioList input[type='radio'] + label {
    margin-left: 1em; }

.mktoLabel {
  cursor: pointer; }

.mktoFieldDescriptor + .mktoFormCol:not(.mktoFieldDescriptor) {
  width: auto; }
  .mktoFieldDescriptor + .mktoFormCol:not(.mktoFieldDescriptor) .mktoOffset {
    display: none; }

@media print, screen and (min-width: 48em) {
  .p-marketo {
    margin-top: 20px; } }

.p-marketo form.mktoForm {
  max-width: 100%;
  width: 100% !important; }
  .p-marketo form.mktoForm * {
    font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo";
    font-size: 16px;
    font-size: 1rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-marketo form.mktoForm b,
    .p-marketo form.mktoForm strong {
      padding-bottom: 0;
      padding-left: 0;
      padding-top: 0; } }
  .p-marketo form.mktoForm input[type='email'],
  .p-marketo form.mktoForm input[type='text'],
  .p-marketo form.mktoForm input[type='tel'],
  .p-marketo form.mktoForm input[type='number'],
  .p-marketo form.mktoForm textarea {
    min-width: 86px;
    box-shadow: none;
    background: #f7f7f7;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 13px 18px; }
    .p-marketo form.mktoForm input[type='email']::-webkit-input-placeholder,
    .p-marketo form.mktoForm input[type='text']::-webkit-input-placeholder,
    .p-marketo form.mktoForm input[type='tel']::-webkit-input-placeholder,
    .p-marketo form.mktoForm input[type='number']::-webkit-input-placeholder,
    .p-marketo form.mktoForm textarea::-webkit-input-placeholder {
      color: #ccc; }
    .p-marketo form.mktoForm input[type='email']:-ms-input-placeholder,
    .p-marketo form.mktoForm input[type='text']:-ms-input-placeholder,
    .p-marketo form.mktoForm input[type='tel']:-ms-input-placeholder,
    .p-marketo form.mktoForm input[type='number']:-ms-input-placeholder,
    .p-marketo form.mktoForm textarea:-ms-input-placeholder {
      color: #ccc; }
    .p-marketo form.mktoForm input[type='email']::-ms-input-placeholder,
    .p-marketo form.mktoForm input[type='text']::-ms-input-placeholder,
    .p-marketo form.mktoForm input[type='tel']::-ms-input-placeholder,
    .p-marketo form.mktoForm input[type='number']::-ms-input-placeholder,
    .p-marketo form.mktoForm textarea::-ms-input-placeholder {
      color: #ccc; }
    .p-marketo form.mktoForm input[type='email']::placeholder,
    .p-marketo form.mktoForm input[type='text']::placeholder,
    .p-marketo form.mktoForm input[type='tel']::placeholder,
    .p-marketo form.mktoForm input[type='number']::placeholder,
    .p-marketo form.mktoForm textarea::placeholder {
      color: #ccc; }
    .p-marketo form.mktoForm input[type='email']:focus,
    .p-marketo form.mktoForm input[type='text']:focus,
    .p-marketo form.mktoForm input[type='tel']:focus,
    .p-marketo form.mktoForm input[type='number']:focus,
    .p-marketo form.mktoForm textarea:focus {
      border: 1px solid #4d90fe; }
  .p-marketo form.mktoForm input[type='radio'] {
    cursor: pointer;
    width: 0;
    height: 0; }
    .p-marketo form.mktoForm input[type='radio'] + label {
      cursor: pointer; }
      .p-marketo form.mktoForm input[type='radio'] + label::before {
        content: '';
        position: absolute;
        margin-left: -1.5em;
        line-height: 1em;
        font-family: Arial, sans-serif;
        font-size: 13px;
        background: #fff;
        border-radius: 50%;
        width: 14px;
        height: 14px;
        box-shadow: none;
        border: 2px solid #cecece; }
    .p-marketo form.mktoForm input[type='radio']:checked + label {
      color: #13aac2;
      font-weight: 700; }
      .p-marketo form.mktoForm input[type='radio']:checked + label::before {
        width: 14px;
        height: 14px;
        background-size: 8px;
        background-position: 50%;
        background-repeat: no-repeat;
        background-image: url(/cms/sc/common/img/img_form-dot.svg);
        border: 2px solid #13aac2; }
        .browser-is-ie .p-marketo form.mktoForm input[type='radio']:checked + label::before {
          background-position: 55% 56%; }
  .p-marketo form.mktoForm input[type='checkbox'] {
    cursor: pointer;
    width: 0;
    height: 0; }
    .p-marketo form.mktoForm input[type='checkbox'] + label {
      display: inline-block;
      cursor: pointer;
      position: relative;
      padding-left: 36px;
      margin-left: 0;
      margin-bottom: 5px; }
      .p-marketo form.mktoForm input[type='checkbox'] + label:before {
        content: '';
        position: absolute;
        left: 0;
        width: 18px;
        height: 18px;
        border: 2px solid currentColor;
        box-sizing: border-box;
        color: #cecece;
        transition: all 0.2s ease;
        top: 0.35em; }
        @media only screen and (max-width: 47.9375em) {
          .p-marketo form.mktoForm input[type='checkbox'] + label:before {
            top: 6px; } }
        .browser-is-ie .p-marketo form.mktoForm input[type='checkbox'] + label:before {
          top: 2px; }
      .p-marketo form.mktoForm input[type='checkbox'] + label:after {
        content: '';
        position: absolute;
        display: block;
        color: transparent;
        transition: all 0.2s ease;
        top: calc(0.35em + 8px);
        width: 3px;
        height: 7px;
        left: 6px;
        border: solid 3px currentColor;
        border-left: 0;
        border-top: 0;
        -webkit-transform: translateY(-40%) rotate(30deg);
        transform: translateY(-40%) rotate(30deg); }
        @media only screen and (max-width: 47.9375em) {
          .p-marketo form.mktoForm input[type='checkbox'] + label:after {
            top: 14px; } }
        .browser-is-ie .p-marketo form.mktoForm input[type='checkbox'] + label:after {
          top: 10px; }
      @media print, screen and (min-width: 61.25em) {
        .p-marketo form.mktoForm input[type='checkbox'] + label:hover:before {
          color: #2ac4cf; } }
    .p-marketo form.mktoForm input[type='checkbox']:checked + label {
      font-weight: bold;
      -webkit-font-feature-settings: 'palt' 1;
              font-feature-settings: 'palt' 1;
      color: #13aac2; }
      @media only screen and (max-width: 47.9375em) {
        .p-marketo form.mktoForm input[type='checkbox']:checked + label {
          font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
      @media print, screen and (min-width: 48em) {
        .p-marketo form.mktoForm input[type='checkbox']:checked + label {
          font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
      .p-marketo form.mktoForm input[type='checkbox']:checked + label:before {
        color: #13aac2; }
      .p-marketo form.mktoForm input[type='checkbox']:checked + label:after {
        color: #13aac2;
        -webkit-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg); }
  .p-marketo form.mktoForm select {
    box-shadow: none;
    background-color: #f7f7f7;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 13px 18px; }
    .p-marketo form.mktoForm select:focus {
      border: 1px solid #4d90fe; }
  @media only screen and (max-width: 47.9375em) {
    .p-marketo form.mktoForm textarea {
      height: 160px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-marketo form.mktoForm .mktoFormRow .mktoFormCol {
      margin-top: 15px; } }
  .p-marketo form.mktoForm .mktoFormRow .mktoFormCol .mktoFieldWrap .mktoLabel {
    font-size: 16px;
    font-size: 1rem; }
    @media only screen and (max-width: 47.9375em) {
      .p-marketo form.mktoForm .mktoFormRow .mktoFormCol .mktoFieldWrap .mktoLabel {
        margin-bottom: 10px; } }
    @media only screen and (max-width: 480px) {
      .p-marketo form.mktoForm .mktoFormRow .mktoFormCol .mktoFieldWrap .mktoLabel .mktoAsterix {
        float: right; } }
  .p-marketo form.mktoForm .mktoGutter {
    float: none;
    width: 0 !important; }
    @media only screen and (max-width: 480px) {
      .p-marketo form.mktoForm .mktoGutter {
        height: 0;
        display: inline; } }
  .p-marketo form.mktoForm .mktoButtonRow {
    box-sizing: border-box;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    border: none;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
    overflow: hidden;
    position: relative;
    display: block;
    cursor: pointer;
    background-color: #ffc500;
    border-radius: 3px;
    color: #fff; }
    @media only screen and (max-width: 47.9375em) {
      .p-marketo form.mktoForm .mktoButtonRow {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    @media print, screen and (min-width: 48em) {
      .p-marketo form.mktoForm .mktoButtonRow {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    @media only screen and (max-width: 47.9375em) {
      .p-marketo form.mktoForm .mktoButtonRow {
        font-size: 13px;
        font-size: 0.8125rem;
        margin-top: 57px; } }
    @media print, screen and (min-width: 48em) {
      .p-marketo form.mktoForm .mktoButtonRow {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.75;
        width: 300px;
        margin-top: 40px;
        margin-right: auto;
        margin-left: auto; } }
    @media print, screen and (min-width: 48em) {
      .p-marketo form.mktoForm .mktoButtonRow:after {
        content: '';
        position: absolute;
        z-index: 1;
        top: 0;
        right: 1px;
        width: 100%;
        height: 100%;
        display: block;
        background-color: #ffaa00;
        -webkit-transform: translate3d(-100%, 0, 0);
                transform: translate3d(-100%, 0, 0);
        transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
        transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
        transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
    @media print, screen and (min-width: 48em) {
      .p-marketo form.mktoForm .mktoButtonRow:hover {
        color: #13aac2;
        transition: color 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), background-color 0s 0.4s linear; } }
    @media print, screen and (min-width: 61.25em) {
      .p-marketo form.mktoForm .mktoButtonRow:hover:after {
        right: 0;
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
        transition: -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
        transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
        transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); } }
    .p-marketo form.mktoForm .mktoButtonRow:hover .mktoButtonWrap button::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg);
      transition: -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.4s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
    .p-marketo form.mktoForm .mktoButtonRow .mktoButtonWrap {
      margin: 0 !important; }
      .p-marketo form.mktoForm .mktoButtonRow .mktoButtonWrap button {
        box-sizing: border-box;
        font-weight: bold;
        border: none;
        overflow: hidden;
        position: relative;
        display: block;
        cursor: pointer;
        border-style: solid;
        border-width: 2px;
        border-color: transparent;
        background-color: transparent;
        color: #333;
        display: inline-block;
        width: 100%;
        position: relative;
        z-index: 2;
        padding-right: 20px;
        transition: color 0.4s;
        font-size: 14px;
        font-size: 0.875rem;
        padding: 10px; }
        .p-marketo form.mktoForm .mktoButtonRow .mktoButtonWrap button::after {
          box-sizing: border-box;
          display: inline-block;
          position: relative;
          top: -0.1em;
          width: 8px;
          height: 8px;
          border-style: solid;
          border-width: 2px 2px 0 0;
          margin-left: 8px;
          border-color: #333;
          -webkit-transform: translate(0, 0) rotate(45deg);
                  transform: translate(0, 0) rotate(45deg);
          transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
          transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
          transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
          content: '';
          transition: all 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
        @media print, screen and (min-width: 48em) {
          .p-marketo form.mktoForm .mktoButtonRow .mktoButtonWrap button {
            padding: 16px 15px; } }

.p-privacy-policy {
  border: 1px solid #ccc;
  padding: 20px 10px;
  margin-top: 20px; }
  @media print, screen and (min-width: 48em) {
    .p-privacy-policy {
      padding: 36px;
      margin-top: 50px; } }

.p-privacy-policy__heading {
  text-align: center;
  font-weight: 700; }
  @media print, screen and (min-width: 48em) {
    .p-privacy-policy__heading {
      font-size: 18px;
      font-size: 1.125rem; } }

.p-privacy-policy__desc {
  margin-top: 10px;
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 48em) {
    .p-privacy-policy__desc {
      font-size: 16px;
      font-size: 1rem;
      margin-top: 16px; } }

.p-home-block {
  padding-top: 35px; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block {
      padding-top: 75px; } }

.p-home-block__head {
  padding-right: 3.125%;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block__head {
      padding-right: 3.125%;
      padding-left: 3.125%;
      margin-right: auto;
      margin-left: auto; } }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block__head {
      text-align: center; } }

.p-home-block__title {
  display: block;
  font-weight: bold;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5; }
  .p-home-block__title br {
    display: none; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block__title {
      font-size: 26px;
      font-size: 1.625rem; }
      .p-home-block__title br {
        display: inline; } }

.p-home-block__body {
  margin-top: 13px; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block__body {
      margin-top: 30px; } }

.p-home-block__button {
  margin-top: 20px;
  margin-right: auto;
  margin-left: auto; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-block__button {
      box-sizing: border-box;
      padding: 0 3.125%; } }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block__button {
      margin-top: 45px; } }
  .p-home-block__button > a {
    font-size: 14px;
    font-size: 0.875rem;
    width: 200px;
    padding-top: 8px;
    padding-bottom: 8px;
    margin: 0 auto; }
    @media only screen and (max-width: 47.9375em) {
      .p-home-block__button > a {
        width: 100%; } }

@media print, screen and (min-width: 61.25em) {
  .p-home-block__button--thin-mt {
    margin-top: 20px; } }

/**
 * Modifire
 */
.p-home-block--inside .p-home-block__body, .p-home-block--news .p-home-block__body {
  padding-right: 3.125%;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block--inside .p-home-block__body, .p-home-block--news .p-home-block__body {
      max-width: 1400px;
      padding-right: 3.125%;
      padding-left: 3.125%;
      margin-right: auto;
      margin-left: auto; } }

.p-home-block--bg {
  overflow: hidden; }
  .p-home-block--bg .p-home-block__body {
    padding-right: 3.125%;
    padding-left: 3.125%;
    position: relative;
    padding-top: 40px;
    padding-bottom: 40px; }
    @media print, screen and (min-width: 61.25em) {
      .p-home-block--bg .p-home-block__body {
        padding-right: 3.125%;
        padding-left: 3.125%;
        margin-right: auto;
        margin-left: auto; } }
  .p-home-block--bg .p-home-block__bg {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 50%;
    width: 100vw;
    -webkit-transform: translate3d(-50vw, 0, 0);
            transform: translate3d(-50vw, 0, 0);
    background-color: #f5f5f5;
    background-size: cover; }

@media print, screen and (min-width: 48em) {
  .p-home-block.p-home-block--news-top {
    padding-top: 30px; } }

.p-home-block.p-home-block--news-top .p-home-block__body {
  padding-right: 3.125%;
  padding-left: 3.125%;
  position: relative; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block.p-home-block--news-top .p-home-block__body {
      padding-right: 3.125%;
      padding-left: 3.125%;
      margin-right: auto;
      margin-left: auto; } }
  @media only screen and (max-width: 47.9375em) {
    .p-home-block.p-home-block--news-top .p-home-block__body {
      padding-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-home-block.p-home-block--news-top .p-home-block__body {
      padding-top: 0px; } }

.p-home-block--seminar .p-home-block__body {
  padding-right: 3.125%;
  padding-left: 3.125%;
  position: relative; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block--seminar .p-home-block__body {
      padding-right: 3.125%;
      padding-left: 3.125%;
      margin-right: auto;
      margin-left: auto; } }
  @media only screen and (max-width: 47.9375em) {
    .p-home-block--seminar .p-home-block__body {
      padding-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-home-block--seminar .p-home-block__body {
      padding-top: 35px; } }

.p-home-block--seminar .p-home-block__bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  background: #f7f7f7;
  bottom: -50px; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block--seminar .p-home-block__bg {
      bottom: -70px; } }

@media print, screen and (min-width: 61.25em) {
  .p-home-block--news .p-home-block__body {
    max-width: 100vw;
    margin-top: 15px;
    padding: 0; } }

.p-home-block--news .p-home-block__title {
  color: #333; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block--news .p-home-block__title {
      font-size: 26px;
      font-size: 1.625rem; } }

.p-home-block--news .p-home-block__shoulder-link {
  white-space: nowrap; }
  @media print, screen and (min-width: 61.25em) {
    .p-home-block--news .p-home-block__shoulder-link {
      margin-left: 20px;
      font-size: 18px;
      font-size: 1.125rem; } }

.p-home-block--bottom-space {
  margin-bottom: 40px; }

.p-home-block.p-home-block--banner {
  position: relative;
  padding-top: 30px;
  padding-bottom: 200px; }
  @media only screen and (max-width: 47.9375em) {
    .p-home-block.p-home-block--banner {
      padding-top: 16px;
      padding-bottom: 26%; } }

.p-news-top {
  display: flex;
  max-width: 1400px;
  border: 1px solid #cccccc;
  margin-right: auto;
  margin-left: auto;
  padding-top: 18px;
  padding-bottom: 18px;
  box-sizing: border-box; }
  @media only screen and (max-width: 47.9375em) {
    .p-news-top {
      font-size: 14px;
      font-size: 0.875rem;
      display: block;
      padding-top: 16px;
      padding-right: 20px;
      padding-left: 20px;
      padding-bottom: 16px; } }
  .p-news-top .p-news-top-title {
    font-weight: bold;
    border-right: 1px solid #ccc;
    padding-right: 30px;
    padding-left: 30px;
    white-space: nowrap; }
    @media only screen and (max-width: 47.9375em) {
      .p-news-top .p-news-top-title {
        border-right: none;
        padding-right: 0px;
        padding-left: 0px; } }
  .p-news-top .p-news-top-content {
    width: 100%;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding-right: 30px;
    padding-left: 30px; }
    @media only screen and (max-width: 47.9375em) {
      .p-news-top .p-news-top-content {
        display: block;
        text-arign: center;
        padding-right: 0px;
        padding-left: 0px; } }
    .p-news-top .p-news-top-content > a {
      display: block; }
  .p-news-top .p-news-top-text {
    transition: opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease;
    transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1); }
    @media print, screen and (min-width: 48em) {
      .p-news-top .p-news-top-text {
        padding-right: 20px; } }
    .p-news-top .p-news-top-text .p-news-top-time {
      color: #707070;
      padding-right: 8px; }
      @media only screen and (max-width: 47.9375em) {
        .p-news-top .p-news-top-text .p-news-top-time {
          display: block; } }
  .p-news-top .p-news-top-more {
    white-space: nowrap;
    transition: opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease;
    transition: transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 1s 1s ease, -webkit-transform 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    position: relative;
    font-weight: bold;
    padding-right: 20px; }
    .p-news-top .p-news-top-more::after {
      position: absolute;
      box-sizing: border-box;
      display: inline-block;
      position: relative;
      top: -0.1em;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      margin-left: 8px;
      border-color: #13aac2;
      -webkit-transform: translate(0, 0) rotate(45deg);
              transform: translate(0, 0) rotate(45deg);
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: '';
      right: 0; }
    @media print, screen and (min-width: 61.25em) {
      .p-news-top .p-news-top-more:hover:after {
        -webkit-transform: translateX(-4px) rotate(45deg);
                transform: translateX(-4px) rotate(45deg);
        transition: all 0.25s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
        border-color: #2ac4cf; } }
    @media only screen and (max-width: 47.9375em) {
      .p-news-top .p-news-top-more {
        margin-top: 12px;
        font-size: 14px;
        font-size: 0.875rem; } }

.p-primary-visual {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  overflow: hidden; }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 260px;
      max-height: 30vh; } }
  @media print, screen and (min-width: 100em) {
    .p-primary-visual {
      height: 400px;
      min-height: 300px;
      max-height: 70vh; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual.has-loader {
      background-color: #eee; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual.has-loader .p-primary-visual__loader {
      opacity: 1; } }

.p-primary-visual__bg {
  width: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__bg {
      height: 43.75vw; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg {
      opacity: 0;
      transition: opacity 0.6s linear, -webkit-transform 8s cubic-bezier(0.13, 0.49, 0.55, 0.81);
      transition: opacity 0.6s linear, transform 8s cubic-bezier(0.13, 0.49, 0.55, 0.81);
      transition: opacity 0.6s linear, transform 8s cubic-bezier(0.13, 0.49, 0.55, 0.81), -webkit-transform 8s cubic-bezier(0.13, 0.49, 0.55, 0.81); } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg.active {
      opacity: 1; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg.is-init {
      transition: opacity 0.8s ease, -webkit-transform 1s cubic-bezier(0.13, 0.49, 0.55, 0.81);
      transition: transform 1s cubic-bezier(0.13, 0.49, 0.55, 0.81), opacity 0.8s ease;
      transition: transform 1s cubic-bezier(0.13, 0.49, 0.55, 0.81), opacity 0.8s ease, -webkit-transform 1s cubic-bezier(0.13, 0.49, 0.55, 0.81); } }

.p-primary-visual__content {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__content {
      padding-right: 3.125%;
      padding-left: 3.125%; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__content {
      box-sizing: border-box;
      padding-top: 20px;
      padding-right: 20px;
      padding-bottom: 20px;
      padding-left: 20px;
      width: 600px;
      min-height: 105px; } }
  .p-primary-visual__content:before {
    content: '';
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to left bottom, #39c9d1, #13aac2);
    opacity: 0.9; }
    @media print, screen and (min-width: 48em) {
      .p-primary-visual__content:before {
        width: 0;
        height: 1px;
        transition: height 0.4s ease 0.6s, width 0.4s ease; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__content.active:before {
      width: 100%;
      height: 100%; } }

.p-primary-visual__head {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__head {
      padding-top: 16px;
      padding-bottom: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__head {
      opacity: 0;
      transition: all 0.4s ease; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__head.active {
      opacity: 1; } }

@media print, screen and (min-width: 61.25em) {
  .p-primary-visual__heading {
    overflow: hidden; } }

.p-primary-visual__main {
  padding-bottom: 5px;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  color: #fff;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__main {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__main {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  .p-primary-visual__main::after {
    content: '';
    display: block;
    width: 30px;
    height: 2px;
    background: #ffc500;
    margin: 9px auto 0; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__main {
      font-size: 18px;
      font-size: 1.125rem; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__main {
      font-size: 25px;
      font-size: 1.5625rem; } }

/**
 * 背景画像（解決できる課題）
 */
.p-primary-visual__bg--theme {
  background-size: cover; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__bg--theme {
      background-image: url(/cms/sc/img/theme/bg_theme_heading.jpg); } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg--theme {
      background-image: url("/cms/sc/img/theme/bg_theme_heading.jpg");
      background-position: 50% 20%; } }
  @media print and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-webkit-min-device-pixel-ratio: 2), print and (-moz-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-moz-min-device-pixel-ratio: 2) {
    .p-primary-visual__bg--theme {
      background-image: url("/cms/sc/img/theme/bg_theme_heading@2x.jpg"); } }

/**
 * 背景画像（ソリューション製品）
 */
.p-primary-visual__bg--solution {
  background-size: cover; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__bg--solution {
      background-image: url(/cms/sc/img/solution/bg_solution_heading.jpg);
      background-position: 30% 50%; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg--solution {
      background-image: url("/cms/sc/img/solution/bg_solution_heading.jpg"); } }
  @media print and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-webkit-min-device-pixel-ratio: 2), print and (-moz-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-moz-min-device-pixel-ratio: 2) {
    .p-primary-visual__bg--solution {
      background-image: url("/cms/sc/img/solution/bg_solution_heading@2x.jpg"); } }

/**
 * 第二階層以降
 */
@media print, screen and (min-width: 48em) {
  .p-primary-visual--muted {
    max-height: 220px; } }

@media print, screen and (min-width: 48em) {
  .p-primary-visual--muted .p-primary-visual__content {
    height: 105px; } }

/**
 * 背景画像（最新トピックス）
 */
.p-primary-visual__bg--pickup {
  background-size: cover; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__bg--pickup {
      background-image: url(/cms/sc/img/pickup/bg_pickup_heading.jpg); } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg--pickup {
      background-image: url("/cms/sc/img/pickup/bg_pickup_heading.jpg"); } }
  @media print and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-webkit-min-device-pixel-ratio: 2), print and (-moz-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-moz-min-device-pixel-ratio: 2) {
    .p-primary-visual__bg--pickup {
      background-image: url("/cms/sc/img/pickup/bg_pickup_heading@2x.jpg"); } }

/**
 * 背景画像（セミナートップ）
 */
.p-primary-visual__bg--seminar {
  background-size: cover; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__bg--seminar {
      background-image: url(/cms/sc/img/seminar/bg_seminar_heading.jpg);
      background-position: 80% 50%; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg--seminar {
      background-image: url("/cms/sc/img/seminar/bg_seminar_heading.jpg");
      background-position: 50% 10%; } }
  @media print and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-webkit-min-device-pixel-ratio: 2), print and (-moz-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-moz-min-device-pixel-ratio: 2) {
    .p-primary-visual__bg--seminar {
      background-image: url("/cms/sc/img/seminar/bg_seminar_heading@2x.jpg"); } }

/**
 * 背景画像（会社情報）
 */
.p-primary-visual__bg--company {
  background-size: cover; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__bg--company {
      background-image: url(/cms/sc/img/company//bg_company_heading.jpg); } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg--company {
      background-image: url("/cms/sc/img/company//bg_company_heading.jpg"); } }
  @media print and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-webkit-min-device-pixel-ratio: 2), print and (-moz-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-moz-min-device-pixel-ratio: 2) {
    .p-primary-visual__bg--company {
      background-image: url("/cms/sc/img/company//bg_company_heading@2x.jpg"); } }

/**
 * 背景画像（導入事例）
 */
.p-primary-visual__bg--case {
  background-size: cover; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__bg--case {
      background-image: url(/cms/sc/img/case/bg_case_heading.jpg);
      /*background-position: 75% 0;*/ } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg--case {
      background-image: url("/cms/sc/img/case/bg_case_heading.jpg"); } }
  @media print and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-webkit-min-device-pixel-ratio: 2), print and (-moz-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-moz-min-device-pixel-ratio: 2) {
    .p-primary-visual__bg--case {
      background-image: url("/cms/sc/img/case/bg_case_heading@2x.jpg"); } }

/**
 * 背景画像（資料ダウンロード）
 */
.p-primary-visual__bg--document {
  background-size: cover; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__bg--document {
      background-image: url(/cms/sc/img/document/bg_document_heading.jpg); } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg--document {
      background-image: url("/cms/sc/img/document/bg_document_heading.jpg"); } }
  @media print and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-webkit-min-device-pixel-ratio: 2), print and (-moz-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-moz-min-device-pixel-ratio: 2) {
    .p-primary-visual__bg--document {
      background-image: url("/cms/sc/img/document/bg_document_heading@2x.jpg"); } }

/**
 * 背景画像（お知らせ）
 */
.p-primary-visual__bg--news {
  background-size: cover; }
  @media only screen and (max-width: 47.9375em) {
    .p-primary-visual__bg--news {
      background-image: url(/cms/sc/img/news/bg_news_heading.jpg);
      background-position: 10% 50%; } }
  @media print, screen and (min-width: 48em) {
    .p-primary-visual__bg--news {
      background-image: url("/cms/sc/img/news/bg_news_heading.jpg"); } }
  @media print and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-webkit-min-device-pixel-ratio: 2), print and (-moz-min-device-pixel-ratio: 2), screen and (min-width: 48em) and (-moz-min-device-pixel-ratio: 2) {
    .p-primary-visual__bg--news {
      background-image: url("/cms/sc/img/news/bg_news_heading@2x.jpg"); } }

.p-cat-menu {
  box-sizing: border-box;
  width: 100%; }
  @media print, screen and (min-width: 61.25em) {
    .p-cat-menu:hover .p-cat-menu__more a::after,
    .p-cat-menu:hover .p-cat-menu__more div::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); } }
  @media print, screen and (min-width: 61.25em) {
    .p-cat-menu:hover .p-cat-menu__thumb > img {
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      -webkit-animation: scaleDownUp 0.2s ease 0s 1,
 imgAniBugFix 0.2s ease 0s 1 forwards;
              animation: scaleDownUp 0.2s ease 0s 1,
 imgAniBugFix 0.2s ease 0s 1 forwards; } }
  @media print, screen and (min-width: 61.25em) {
    .p-cat-menu[target='_blank']:hover .p-cat-menu__more a::after,
    .p-cat-menu[target='_blank']:hover .p-cat-menu__more div::after {
      -webkit-transform: none;
              transform: none; } }
  @media only screen and (max-width: 47.9375em) {
    .p-cat-menu {
      padding: 14px 3.125% 16px; } }
  @media print, screen and (min-width: 48em) {
    .p-cat-menu {
      display: flex;
      flex-wrap: wrap;
      padding: 60px 3.125% 53px 3.125%; } }
  @media print, screen and (min-width: 61.25em) {
    .p-cat-menu {
      padding-right: 60px;
      padding-left: 60px; } }

@media print, screen and (min-width: 48em) {
  .p-cat-menu__content {
    flex: 1; } }

.p-cat-menu__head {
  color: #333;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-cat-menu__head {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-cat-menu__head {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-cat-menu__head {
      font-size: 26px;
      font-size: 1.625rem; } }

.p-cat-menu__body {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .p-cat-menu__body {
      margin-top: 10px;
      padding-top: 13px;
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.71; } }
  @media print, screen and (min-width: 48em) {
    .p-cat-menu__body {
      margin-top: 20px;
      padding-top: 23px; } }
  .p-cat-menu__body:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: #ffc500; }
  .p-cat-menu__body > *:first-child {
    margin-top: 0; }
  .p-cat-menu__body > dt {
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    font-weight: bold; }
    @media only screen and (max-width: 47.9375em) {
      .p-cat-menu__body > dt {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    @media print, screen and (min-width: 48em) {
      .p-cat-menu__body > dt {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    .p-cat-menu__body > dt a:hover::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); }
    .p-cat-menu__body > dt a::after {
      box-sizing: border-box;
      display: inline-block;
      position: relative;
      top: -0.1em;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      margin-left: 8px;
      border-color: #13aac2;
      -webkit-transform: translate(0, 0) rotate(45deg);
              transform: translate(0, 0) rotate(45deg);
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: '';
      transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
    @media only screen and (max-width: 47.9375em) {
      .p-cat-menu__body > dt {
        margin-top: 12px;
        font-size: 14px;
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 48em) {
      .p-cat-menu__body > dt {
        margin-top: 27px;
        font-size: 18px;
        font-size: 1.125rem; } }
  .p-cat-menu__body > dd {
    margin-top: 5px;
    line-height: 1.625; }

.p-cat-menu__thumb {
  text-align: center; }
  .p-cat-menu__thumb > img {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    display: block; }
    @media print, screen and (min-width: 61.25em) {
      .p-cat-menu__thumb > img {
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        transition: all 0.2s ease; } }

.p-cat-menu__summary {
  line-height: 1.625;
  color: #333; }

.p-cat-menu__more {
  margin-top: 16px; }
  .p-cat-menu__more a::after,
  .p-cat-menu__more div::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  a[target='_blank'] .p-cat-menu__more div::after {
    content: url(/cms/sc/common/img/icon_blank-link.svg);
    transition: all 0s 0s ease;
    border: none;
    width: auto;
    height: auto;
    transition: none;
    margin: 0 0 0 0.2rem;
    -webkit-transform: none;
            transform: none;
    position: static; }

.p-cat-menu__child {
  width: 100%;
  border-top: 1px solid #cccccc; }
  @media only screen and (max-width: 47.9375em) {
    .p-cat-menu__child {
      padding-top: 15px;
      margin-top: 15px; } }
  @media print, screen and (min-width: 48em) {
    .p-cat-menu__child {
      padding-top: 30px;
      margin-top: 35px; } }
  .p-cat-menu__child > *:first-child {
    margin-top: 0; }

/**
 * Modifire
 */
@media print, screen and (min-width: 48em) {
  .p-cat-menu--theme .p-cat-menu__content {
    -ms-grid-columns: 1fr 100px;
        grid-template-columns: 1fr 100px; } }

@media only screen and (max-width: 47.9375em) {
  .p-cat-menu--theme .p-cat-menu__thumb {
    width: 40px; } }

@media only screen and (max-width: 47.9375em) {
  .p-cat-menu--theme .p-cat-menu__head {
    width: calc(100% - 60px); } }

@media print, screen and (min-width: 48em) {
  .p-cat-menu--solution .p-cat-menu__content {
    -ms-grid-columns: 1fr 80px;
        grid-template-columns: 1fr 80px; } }

@media print, screen and (min-width: 80em) {
  .p-cat-menu--solution .p-cat-menu__content {
    -ms-grid-columns: 1fr 160px;
        grid-template-columns: 1fr 160px; } }

@media only screen and (max-width: 47.9375em) {
  .p-cat-menu--solution .p-cat-menu__thumb {
    width: 50px; } }

@media only screen and (max-width: 47.9375em) {
  .p-cat-menu--solution .p-cat-menu__head {
    width: calc(100% - 60px); } }

@media only screen and (max-width: 47.9375em) {
  .p-cat-menu--theme .p-cat-menu__content {
    position: relative; } }

@media print, screen and (min-width: 48em) {
  .p-cat-menu--theme .p-cat-menu__content {
    display: -ms-grid;
    display: grid;
    flex: 1;
    gap: 0 40px; } }

.p-cat-menu--theme .p-cat-menu__thumb {
  text-align: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-cat-menu--theme .p-cat-menu__thumb {
      position: absolute;
      top: 0;
      right: 0;
      margin-left: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-cat-menu--theme .p-cat-menu__thumb {
      -ms-grid-column: 2;
      -ms-grid-column-span: 1;
      grid-column: 2/3;
      -ms-grid-row: 1;
      -ms-grid-row-span: 2;
      grid-row: 1/3; } }
  .p-cat-menu--theme .p-cat-menu__thumb > img {
    width: 100%; }

@media only screen and (max-width: 47.9375em) {
  .p-cat-menu--solution .p-cat-menu__content {
    position: relative; } }

@media print, screen and (min-width: 48em) {
  .p-cat-menu--solution .p-cat-menu__content {
    display: flex;
    flex: 1; } }

.p-cat-menu--solution .p-cat-menu__thumb {
  text-align: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-cat-menu--solution .p-cat-menu__thumb {
      position: absolute;
      top: 0;
      right: 0;
      margin-left: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-cat-menu--solution .p-cat-menu__thumb {
      margin-left: 40px; }
      .browser-is-ff .p-cat-menu--solution .p-cat-menu__thumb {
        flex: 0 0 122px; } }
  .p-cat-menu--solution .p-cat-menu__thumb > img {
    width: 100%; }

.browser-is-ie .p-cat-menu--solution {
  display: block; }

.p-lead-icon {
  text-align: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-lead-icon {
      padding-top: 6px; } }

.p-banner-list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -40px;
  margin-top: -40px;
  padding-top: 40px;
  padding-bottom: 40px; }
  .p-banner-list > li {
    margin-left: 40px;
    margin-top: 40px;
    width: calc(50% - 40px); }
    @media print, screen and (min-width: 61.25em) {
      .p-banner-list > li {
        width: calc(25% - 40px); } }
    .p-banner-list > li > a {
      display: block;
      box-sizing: border-box;
      box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
      background-color: #fff; }
      @media print, screen and (min-width: 61.25em) {
        .p-banner-list > li > a {
          transition: box-shadow 0.2s ease; } }
      @media print, screen and (min-width: 61.25em) {
        .p-banner-list > li > a:hover {
          box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }
  .p-banner-list img {
    display: block;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-height: 140px; }

.p-banner > a {
  overflow: hidden;
  display: block;
  box-sizing: border-box;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
  background-color: #fff; }
  @media print, screen and (min-width: 61.25em) {
    .p-banner > a {
      transition: box-shadow 0.2s ease; } }
  @media print, screen and (min-width: 61.25em) {
    .p-banner > a:hover {
      box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }
  @media print, screen and (min-width: 61.25em) {
    .p-banner > a:hover img {
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      transition: all 0.4s ease; } }

.p-banner img {
  display: block;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  max-height: 180px; }
  @media print, screen and (min-width: 61.25em) {
    .p-banner img {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      transition: all 0.2s ease; } }

/* /theme/security-inadequacy/ の課題解決プロセスで使用*/
.p-steps {
  counter-reset: step; }

.p-steps__step {
  display: flex; }
  @media only screen and (max-width: 47.9375em) {
    .p-steps__step {
      flex-direction: column; }
      .p-steps__step:not(:first-of-type) {
        margin-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-steps__step {
      flex-direction: row; }
      .p-steps__step:not(:first-of-type) {
        margin-top: 30px; } }

.p-steps__block {
  position: relative;
  background: #13aac2; }
  @media only screen and (max-width: 47.9375em) {
    .p-steps__block {
      flex: 0 0 25px;
      display: flex;
      align-items: center;
      justify-content: center;
      /* 下につく▼ - 最後の要素にもつく */ }
      .p-steps__block::after {
        content: '';
        border-top: 6px solid #13aac2;
        border-left: 3.5px solid transparent;
        border-right: 3.5px solid transparent;
        position: absolute;
        bottom: -6px;
        left: calc(50% - 3.5px); } }
  @media print, screen and (min-width: 48em) {
    .p-steps__block {
      flex: 0 0 120px;
      /* 下につく▼ - 最後の要素にはつかない */ }
      .p-steps__step:not(:last-of-type) .p-steps__block::after {
        content: '';
        border-top: 12px solid #13aac2;
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        position: absolute;
        bottom: -12px;
        left: calc(50% - 7px); } }

.p-steps__number {
  font-family: "Roboto", "arial", sans-serif;
  color: #fff;
  counter-increment: step;
  position: relative;
  display: flex;
  justify-content: center;
  height: 100%;
  line-height: 1; }
  .p-steps__number::before {
    content: 'STEP';
    display: block;
    text-align: center; }
    @media only screen and (max-width: 47.9375em) {
      .p-steps__number::before {
        font-size: 14px;
        font-size: 0.875rem;
        margin-right: 4px; } }
    @media print, screen and (min-width: 48em) {
      .p-steps__number::before {
        margin-bottom: 3px; } }
  .p-steps__number::after {
    content: counter(step);
    display: block;
    text-align: center; }
    @media only screen and (max-width: 47.9375em) {
      .p-steps__number::after {
        font-size: 14px;
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 48em) {
      .p-steps__number::after {
        font-size: 34px;
        font-size: 2.125rem; } }
  @media only screen and (max-width: 47.9375em) {
    .p-steps__number {
      flex-direction: row;
      align-items: center;
      font-weight: 700; } }
  @media print, screen and (min-width: 48em) {
    .p-steps__number {
      flex-direction: column; } }

.p-steps__heading {
  font-weight: 700; }
  @media only screen and (max-width: 47.9375em) {
    .p-steps__heading {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-steps__heading {
      font-size: 18px;
      font-size: 1.125rem; } }

@media only screen and (max-width: 47.9375em) {
  .p-steps__desc {
    font-size: 14px;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 48em) {
  .p-steps__desc {
    margin-top: 5px; } }

.p-steps__texts {
  flex: 1 1 auto;
  background: #f7f7f7; }
  @media only screen and (max-width: 47.9375em) {
    .p-steps__texts {
      padding: 15px; } }
  @media print, screen and (min-width: 48em) {
    .p-steps__texts {
      padding: 28px; } }

.p-other-themes__head h2 {
  font-weight: 700; }
  .p-other-themes__head h2 span:nth-child(2) {
    display: block; }
    @media only screen and (max-width: 47.9375em) {
      .p-other-themes__head h2 span:nth-child(2) {
        font-size: 16px;
        font-size: 1rem; } }

@media only screen and (max-width: 47.9375em) {
  .p-other-themes__head {
    text-align: left; } }

@media print, screen and (min-width: 48em) {
  .p-other-themes__head {
    text-align: center; } }

.p-other-themes__separator {
  height: 2px;
  width: 30px;
  background: #ffc500;
  margin-top: 12px; }
  @media print, screen and (min-width: 48em) {
    .p-other-themes__separator {
      margin: 24px auto 0; } }

@media only screen and (max-width: 47.9375em) {
  .p-other-themes__body {
    margin-top: 12px; } }

@media print, screen and (min-width: 48em) {
  .p-other-themes__body {
    margin-top: 30px; } }

@media only screen and (max-width: 47.9375em) {
  .p-other-themes-item {
    padding: 15px 0 0;
    border-top: 1px solid #ccc; }
    .p-other-themes-item:not(:first-of-type) {
      margin-top: 15px; }
    .p-other-themes-item:last-of-type {
      border-bottom: 1px solid #ccc;
      padding-bottom: 15px; } }

@media print, screen and (min-width: 48em) {
  .p-other-themes-item {
    padding: 24px 0;
    border-top: 1px solid #ccc; }
    .p-other-themes-item:last-of-type {
      border-bottom: 1px solid #ccc; } }

.p-other-themes-item__heading {
  font-weight: 700; }
  .p-other-themes-item__heading a::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    top: -2px;
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  .p-other-themes-item__heading a:hover::after {
    -webkit-transform: translateX(-5px) rotate(45deg);
            transform: translateX(-5px) rotate(45deg); }

/* 記事一覧
 * セミナーやお知らせなどで使用
----------------------------------------------------------------- */
.p-articles {
  width: 100%; }
  @media only screen and (max-width: 47.9375em) {
    .p-articles {
      padding-top: 20px;
      padding-bottom: 13px; } }
  @media print, screen and (min-width: 48em) {
    .p-articles {
      padding-top: 24px;
      padding-bottom: 24px; } }
  .p-articles > li {
    border-top: 1px solid #cccccc; }
    .p-articles > li:last-of-type {
      border-bottom: 1px solid #cccccc; }
    @media print, screen and (min-width: 48em) {
      .p-articles > li {
        font-size: 18px;
        font-size: 1.125rem; } }
    @media print, screen and (min-width: 61.25em) {
      .p-articles > li {
        padding: 0 3.125%; } }
    @media only screen and (max-width: 47.9375em) {
      .p-articles > li {
        padding: 20px 0; } }
  .p-home-block--news .p-articles {
    padding-bottom: 0; }

@media only screen and (max-width: 47.9375em) {
  .p-articles__cat {
    display: inline-block;
    margin-left: 4px; } }

@media print, screen and (min-width: 48em) {
  .p-articles__cat {
    display: table-cell;
    box-sizing: border-box;
    white-space: nowrap;
    vertical-align: top;
    padding-top: 12px;
    padding-left: 20px; } }

.p-articles__cat > span {
  box-sizing: border-box;
  text-align: center;
  border: 1px solid #cccccc;
  line-height: 1.2;
  color: #666; }
  @media only screen and (max-width: 47.9375em) {
    .p-articles__cat > span {
      padding: 0 15px 0 15px;
      font-size: 12px;
      font-size: 0.75rem; } }
  @media print, screen and (min-width: 48em) {
    .p-articles__cat > span {
      display: block;
      padding: 3px 5px;
      font-size: 13px;
      font-size: 0.8125rem; } }
  @media print, screen and (min-width: 48em) {
    .browser-is-ie .p-articles__cat > span {
      padding-top: 5px;
      padding-bottom: 0; } }

/* 詳細ページの関連情報に使用する */
.p-articles--no-border {
  padding: 0;
  margin-top: 10px; }
  .p-articles--no-border > li {
    padding: 0; }
    .p-articles--no-border > li, .p-articles--no-border > li:last-of-type {
      border: none; }
    .p-articles--no-border > li:not(:first-child) {
      margin-top: 24px; }
    .p-articles--no-border > li div {
      width: auto; }
    @media print, screen and (min-width: 48em) {
      .p-articles--no-border > li {
        display: table-row;
        margin-top: 0; }
        .p-articles--no-border > li:not(:first-child) {
          margin-top: 0; }
        .p-articles--no-border > li .p-articles__date {
          display: table-cell;
          padding-top: 20px; }
        .p-articles--no-border > li .p-articles__title {
          display: table-cell;
          padding: 8px 0 8px 20px; } }

@media print, screen and (min-width: 48em) {
  .p-articles__inner {
    max-width: 1400px;
    display: flex;
    margin: 0 auto; } }

.p-articles__date {
  font-family: "Timmana", "Roboto", "arial", sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1; }
  @media only screen and (max-width: 47.9375em) {
    .p-articles__date {
      line-height: 1;
      margin-top: 5px; } }
  @media print, screen and (min-width: 48em) {
    .p-articles__date {
      padding-top: 25px;
      box-sizing: border-box;
      width: 4em;
      font-size: 18px;
      font-size: 1.125rem;
      white-space: nowrap;
      vertical-align: top;
      line-height: 1; } }

.p-articles__title {
  word-break: break-all; }
  @media only screen and (max-width: 47.9375em) {
    .p-articles__title {
      line-height: 1.7;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-articles__title {
      font-size: 16px;
      font-size: 1rem;
      padding-top: 14px;
      padding-left: 28px;
      padding-bottom: 14px; } }
  .p-articles__title > a {
    display: block; }
    .p-articles__title > a::after {
      box-sizing: border-box;
      display: inline-block;
      position: relative;
      top: -0.1em;
      width: 8px;
      height: 8px;
      border-style: solid;
      border-width: 2px 2px 0 0;
      margin-left: 8px;
      border-color: #13aac2;
      -webkit-transform: translate(0, 0) rotate(45deg);
              transform: translate(0, 0) rotate(45deg);
      transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      content: '';
      top: -2px;
      transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
      transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
    .p-articles__title > a:hover::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); }
    .p-articles__title > a[target='_blank'] {
      position: relative; }
      .p-articles__title > a[target='_blank']:after {
        content: '';
        display: inline-block;
        width: 8px;
        height: 6px;
        border-right: 1px solid #13aac2;
        border-bottom: 1px solid #13aac2;
        border-top: none;
        border-left: none;
        -webkit-transform: none;
                transform: none;
        position: relative;
        top: 0;
        left: -14px; }
      .p-articles__title > a[target='_blank'] > span:after {
        content: '';
        position: relative;
        display: inline-block;
        width: 8px;
        height: 6px;
        margin-left: 5px;
        background-color: #13aac2;
        top: -2px; }

/**
 * 一覧ページ用
 */
.p-articles--archive {
  border-top: none; }
  @media only screen and (max-width: 47.9375em) {
    .p-articles--archive {
      padding-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-articles--archive {
      padding-top: 15px;
      padding-bottom: 60px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-articles--archive .p-articles__title {
      margin-top: 4px; } }

/* セミナーを縦に並べるリスト
----------------------------------------------------------------- */
.p-seminar-list {
  margin-right: auto;
  margin-left: auto; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-list {
      max-width: 1400px; } }
  @media print, screen and (min-width: 80em) {
    .p-seminar-list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .p-seminar-list li {
        width: calc(50% - 5px); }
        .p-seminar-list li:nth-child(1), .p-seminar-list li:nth-child(2) {
          margin-top: 0; } }
  .p-seminar-list > li + li {
    margin-top: 10px; }

.p-seminar-list--single {
  display: block; }
  .p-seminar-list--single li {
    width: 100%; }
    .p-seminar-list--single li:not(:first-of-type) {
      margin-top: 10px; }

/* セミナーのパネル
----------------------------------------------------------------- */
.p-seminar-card {
  display: flex;
  position: relative;
  box-sizing: border-box;
  width: 100%; }
  .p-seminar-card > a {
    box-sizing: border-box;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
    display: block;
    width: 100%;
    background-color: #fff; }
    @media print, screen and (min-width: 61.25em) {
      .p-seminar-card > a {
        transition: box-shadow 0.2s ease; } }
    @media print, screen and (min-width: 61.25em) {
      .p-seminar-card > a:hover {
        box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); } }
    @media only screen and (max-width: 47.9375em) {
      .p-seminar-card > a {
        padding: 20px 15px 20px 15px; } }
    @media print, screen and (min-width: 48em) {
      .p-seminar-card > a {
        padding: 35px 30px; } }
  .p-seminar-card:last-child {
    border-bottom: none; }
  .p-seminar-card:hover .p-seminar-card__title::after {
    -webkit-transform: translateX(-5px) rotate(45deg);
            transform: translateX(-5px) rotate(45deg); }
  .p-seminar-card:hover a[target='_blank'] .p-seminar-card__title::after {
    -webkit-transform: none;
            transform: none; }

.p-seminar-card--new > a {
  position: relative; }
  .p-seminar-card--new > a:before {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    width: 50px;
    height: 50px;
    background-image: url("/cms/sc/common/img/icon_badge-new.svg");
    background-repeat: no-repeat; }
    @media only screen and (max-width: 47.9375em) {
      .p-seminar-card--new > a:before {
        width: 30px;
        height: 30px; } }
    @media print, screen and (min-width: 48em) {
      .p-seminar-card--new > a:before {
        width: 50px;
        height: 50px; } }

.p-seminar-card__info {
  margin-top: 7px;
  margin-left: -20px; }
  .p-seminar-card__info > dl {
    display: flex;
    margin-left: 20px;
    color: #333;
    line-height: 1.7; }
    @media only screen and (max-width: 47.9375em) {
      .p-seminar-card__info > dl {
        font-size: 12px;
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 48em) {
      .p-seminar-card__info > dl {
        font-size: 14px;
        font-size: 0.875rem; } }
    .p-seminar-card__info > dl > dt {
      font-weight: bold;
      white-space: nowrap; }
    .p-seminar-card__info > dl > dd {
      margin-left: 15px; }

.p-seminar-card__event-date {
  font-family: "Timmana", "Roboto", "arial", sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  color: #333;
  white-space: nowrap; }
  @media only screen and (max-width: 47.9375em) {
    .p-seminar-card__event-date {
      display: flex;
      align-items: center;
      padding-left: 18px;
      margin-bottom: -5px; }
      .p-seminar-card__event-date .p-seminar-card__year::after {
        content: '.'; } }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card__event-date {
      display: block;
      font-size: 18px;
      font-size: 1.125rem; } }

.p-seminar-card__event-date--row {
  font-family: "Timmana", "Roboto", "arial", sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  color: #333;
  white-space: nowrap;
  display: flex;
  align-items: baseline;
  margin-bottom: 5px; }
  .p-seminar-card__event-date--row .p-seminar-card__year::after {
    content: '.'; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card__event-date--row {
      font-size: 18px;
      font-size: 1.125rem; }
      .p-seminar-card__event-date--row .p-seminar-card__year {
        font-size: 20px;
        font-size: 1.25rem; }
      .p-seminar-card__event-date--row .p-seminar-card__date {
        font-size: 20px;
        font-size: 1.25rem;
        margin-top: 0; }
      .p-seminar-card__event-date--row .p-seminar-card__day {
        font-size: 16px;
        font-size: 1rem;
        margin-top: 0;
        margin-left: 8px; } }

.p-seminar-card__title {
  font-weight: bold;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  line-height: 1.6;
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .p-seminar-card__title {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card__title {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  .p-seminar-card__title::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    position: relative;
    top: -2px; }
  a[target='_blank'] .p-seminar-card__title::after {
    content: url(/cms/sc/common/img/icon_blank-link.svg);
    transition: all 0s 0s ease;
    border: none;
    width: auto;
    height: auto;
    transition: none;
    margin: 0 0 0 0.2rem;
    -webkit-transform: none;
            transform: none;
    position: static; }
  @media only screen and (max-width: 47.9375em) {
    .p-seminar-card__title {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card__title {
      font-size: 18px;
      font-size: 1.125rem; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-card--list > a {
    display: flex;
    padding: 26px 35px; } }

@media only screen and (max-width: 47.9375em) {
  .p-seminar-card--list .p-seminar-card__content {
    margin-top: 5px; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-card--list .p-seminar-card__content {
    flex: 1;
    position: relative;
    padding-left: 30px;
    margin-left: 30px;
    min-height: 100%; } }

.p-seminar-card--list .p-seminar-card__content:before {
  content: '';
  position: absolute;
  top: 0.3em;
  left: 0;
  bottom: 0.3em;
  width: 1px;
  background-color: #e5e5e5; }

.p-seminar-card--list .p-seminar-card__info {
  display: flex;
  flex-wrap: wrap; }

.p-seminar-card__tags {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5px; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card__tags {
      margin-top: 17px; } }
  .browser-is-ie .p-seminar-card__tags {
    display: block;
    overflow: hidden; }

.p-seminar-card__tag {
  padding: 3px 5px;
  font-size: 12px;
  font-size: 0.75rem;
  color: #666;
  border: 1px solid #ccc;
  margin-top: 5px;
  margin-right: 5px; }
  .browser-is-ie .p-seminar-card__tag {
    float: left; }

.p-seminar-card__year {
  display: block;
  line-height: 1;
  font-family: "Timmana", "Roboto", "arial", sans-serif; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card__year {
      font-size: 16px;
      font-size: 1rem; } }

.p-seminar-card__date {
  display: block;
  line-height: 1;
  font-family: "Timmana", "Roboto", "arial", sans-serif; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card__date {
      font-size: 24px;
      font-size: 1.5rem;
      margin-top: 5px; } }

.p-seminar-card__day {
  display: block;
  line-height: 1;
  font-weight: 700;
  font-size: 12px;
  font-size: 0.75rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-seminar-card__day {
      margin-left: 3px; } }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card__day {
      margin-top: 5px;
      font-size: 18px;
      font-size: 1.125rem; } }

.p-seminar-card--thumbnail > a {
  padding: 0; }

@media only screen and (max-width: 47.9375em) {
  .p-seminar-card__inner {
    padding: 20px 15px 20px 15px; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-card__inner {
    padding: 35px 30px; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-card__img {
    overflow: hidden; } }

.p-seminar-card__img img {
  width: 100%;
  vertical-align: bottom;
  transition: all 0.2s ease; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card > a:hover .p-seminar-card__img img {
      -webkit-transform: scale(1.1);
              transform: scale(1.1);
      transition: all 0.4s ease; } }

.p-seminar-card__status {
  padding: 3px 0;
  display: inline-block;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-card__status {
      font-size: 14px;
      font-size: 0.875rem;
      width: 114px; } }
  @media only screen and (max-width: 47.9375em) {
    .p-seminar-card__status {
      font-size: 12px;
      font-size: 0.75rem;
      width: 100px; } }

.p-seminar-card__status--recruitment {
  background-color: #333333;
  color: #fff; }

.p-seminar-card__status--slightly {
  background-color: #ffe600;
  color: #333333; }

.p-seminar-card__status--end {
  background-color: #dde0e1;
  color: #999999; }

.p-seminar-cat > *:first-child {
  margin-top: 0; }

@media only screen and (max-width: 47.9375em) {
  .p-seminar-cat__title {
    position: relative;
    font-size: 14px;
    font-size: 0.875rem;
    border-radius: 3px;
    border: 1px solid #cccccc;
    margin-top: 10px;
    padding: 7px 10px; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-cat__title {
    display: none;
    margin-top: 33px;
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: bold; } }
  @media only screen and (min-width: 48em) and (max-width: 47.9375em) {
    .p-seminar-cat__title {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) and (min-width: 48em) {
    .p-seminar-cat__title {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-cat__title > span {
    display: none; } }

@media only screen and (max-width: 47.9375em) {
  .p-seminar-cat__title:after {
    content: '';
    position: absolute;
    top: calc(50% - 3px);
    right: 10px;
    border-top: 6px solid #333;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent; } }

@media only screen and (max-width: 47.9375em) {
  .p-seminar-cat__list {
    box-sizing: border-box;
    width: 100%;
    z-index: 1000;
    overflow: hidden;
    position: absolute;
    font-size: 14px;
    font-size: 0.875rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
    transition: all 0.1s ease;
    visibility: hidden;
    opacity: 0;
    -webkit-transform: translate3d(0, 5px, 0);
            transform: translate3d(0, 5px, 0);
    border-radius: 3px;
    border: solid #e5e5e5 1px;
    background: #fff; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-cat__list {
    box-sizing: border-box;
    position: absolute;
    opacity: 0;
    visibility: hidden; } }

.p-seminar-cat__list.active {
  transition: all 0.3s ease;
  visibility: visible;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

@media print, screen and (min-width: 48em) {
  .p-seminar-cat__list > ul {
    display: flex;
    flex-wrap: wrap; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-cat__list > ul > li {
    position: relative;
    padding-right: 20px;
    margin-top: 15px;
    margin-right: 20px;
    border-right: solid 1px #cccccc;
    line-height: 1; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-cat__list > ul > li.current {
    position: relative; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-cat__list > ul > li.current:after {
    content: '';
    position: absolute;
    bottom: -7px;
    left: 0;
    right: 20px;
    height: 1px;
    background-color: #13aac2; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-cat__list > ul > li.current > a {
    color: #333; } }

@media only screen and (max-width: 47.9375em) {
  .p-seminar-cat__list a {
    display: block;
    white-space: nowrap;
    padding: 9px 30px 8px 10px;
    box-sizing: border-box;
    min-width: 200px; } }

@media only screen and (max-width: 47.9375em) {
  .p-seminar-cat__title--webseminar {
    display: block;
    color: #333333; }
    .p-seminar-cat__title--webseminar::after {
      display: none; } }

/* 検索条件
 * 「掲載年」などで使用
----------------------------------------------------------------- */
@media print, screen and (min-width: 48em) {
  .p-term {
    display: flex; } }

.p-term__name {
  font-weight: bold;
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 48em) {
    .p-term__name {
      margin-right: 20px; } }

.p-term__value-list {
  position: relative; }

.p-term__select-value {
  z-index: 1000;
  overflow: hidden;
  position: absolute;
  font-size: 14px;
  font-size: 0.875rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
  transition: all 0.1s ease;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translate3d(0, 5px, 0);
          transform: translate3d(0, 5px, 0);
  border-radius: 3px;
  border: solid #cccccc 1px;
  background: #fff; }
  @media print, screen and (min-width: 48em) {
    .p-term__select-value {
      position: absolute; } }
  .p-term__select-value.active {
    transition: all 0.3s ease;
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }
  .p-term__select-value a {
    display: block;
    white-space: nowrap;
    padding: 9px 30px 8px 10px;
    box-sizing: border-box;
    min-width: 200px; }
    .p-term__select-value a:hover {
      background-color: #f5f5f5; }
  .p-term__select-value .is-current a {
    color: #2ac4cf; }

.p-term__current-value {
  position: relative;
  padding-right: 14px;
  font-size: 14px;
  font-size: 0.875rem;
  display: inline-block;
  vertical-align: top; }
  .p-term__current-value:after {
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 0 2px 2px 0;
    -webkit-transform: translate(0, -50%) rotate(45deg);
            transform: translate(0, -50%) rotate(45deg);
    border-color: #8f9a9c;
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    right: 0;
    top: 0.75em; }
  @media print, screen and (min-width: 61.25em) {
    .p-term__current-value:hover:after {
      border-color: #2ac4cf; } }
  @media print, screen and (min-width: 61.25em) {
    .p-term__current-value.active:after {
      -webkit-transform: translate3d(0, -50%, 0) rotateZ(225deg);
              transform: translate3d(0, -50%, 0) rotateZ(225deg); } }

.p-term--news {
  margin-top: 30px; }

.p-instructor-introduction__head {
  font-weight: 700; }
  @media only screen and (max-width: 47.9375em) {
    .p-instructor-introduction__head {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48em) {
    .p-instructor-introduction__head {
      font-size: 20px;
      font-size: 1.25rem; } }

.p-instructor-introduction__body {
  display: flex; }
  @media only screen and (max-width: 47.9375em) {
    .p-instructor-introduction__body {
      flex-direction: column; } }
  @media print, screen and (min-width: 48em) {
    .p-instructor-introduction__body {
      margin-top: 15px; } }

.p-instructor-introduction__text {
  flex: 1 1 auto; }
  @media print, screen and (min-width: 48em) {
    .p-instructor-introduction__text {
      font-size: 18px;
      font-size: 1.125rem; } }

.p-instructor-introduction__img img {
  width: 100%;
  display: block; }

@media only screen and (max-width: 47.9375em) {
  .p-instructor-introduction__img {
    padding: 0 50px;
    margin-top: 35px; } }

@media print, screen and (min-width: 48em) {
  .p-instructor-introduction__img {
    flex: 0 0 188px;
    margin-left: 40px; } }

.p-pack {
  box-sizing: border-box;
  border: 1px solid #ccc; }

@media only screen and (max-width: 47.9375em) {
  .p-pack__top {
    padding: 18px; } }

@media print, screen and (min-width: 48em) {
  .p-pack__top {
    padding: 32px 40px 21px; } }

.p-pack__heading {
  font-weight: 700; }
  @media print, screen and (min-width: 48em) {
    .p-pack__heading {
      font-size: 24px;
      font-size: 1.5rem; } }

@media only screen and (max-width: 47.9375em) {
  .p-pack__desc {
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 3px; }
    .p-pack__desc br {
      display: none; } }

@media print, screen and (min-width: 48em) {
  .p-pack__desc {
    margin-top: 15px; } }

.p-pack__price {
  line-height: 1; }
  @media only screen and (max-width: 47.9375em) {
    .p-pack__price {
      margin-top: 6px; } }
  @media print, screen and (min-width: 48em) {
    .p-pack__price {
      margin-top: 14px; } }

.p-pack__price-num {
  font-family: "Roboto", "arial", sans-serif;
  font-weight: 700;
  display: inline-block; }
  @media only screen and (max-width: 47.9375em) {
    .p-pack__price-num {
      font-size: 48px;
      font-size: 3rem; } }
  @media print, screen and (min-width: 48em) {
    .p-pack__price-num {
      font-size: 80px;
      font-size: 5rem; } }

.p-pack__price-unit {
  display: inline-block;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 48em) {
    .p-pack__price-unit {
      font-size: 18px;
      font-size: 1.125rem; } }

.p-pack__bottom {
  border-top: 1px solid #ccc; }
  @media only screen and (max-width: 47.9375em) {
    .p-pack__bottom {
      padding: 17px 17px 19px; } }
  @media print, screen and (min-width: 48em) {
    .p-pack__bottom {
      padding: 24px 34px; } }

.p-pack__services {
  display: flex; }
  @media only screen and (max-width: 47.9375em) {
    .p-pack__services {
      flex-direction: column;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-pack__services {
      flex-wrap: wrap; } }
  .p-pack__services > li {
    position: relative;
    padding-left: 0.8rem;
    box-sizing: border-box; }
    @media print, screen and (min-width: 48em) {
      .p-pack__services > li {
        width: calc(50% - 0.5em); } }
    .p-pack__services > li:before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      width: 5px;
      height: 5px;
      box-sizing: border-box;
      background-color: #ccc;
      border-radius: 50%; }
      @media only screen and (max-width: 47.9375em) {
        .p-pack__services > li:before {
          top: 0.65em; } }
      @media print, screen and (min-width: 48em) {
        .p-pack__services > li:before {
          top: 0.85em; } }

.p-comparison-table-container {
  overflow-x: auto; }

.p-comparison-table-notice {
  font-size: 16px;
  font-size: 1rem; }
  @media print, screen and (min-width: 48em) {
    .p-comparison-table-notice {
      display: none; } }

.p-comparison-table {
  min-width: 960px;
  color: #333;
  vertical-align: top;
  border-bottom: 1px solid #dce0e0; }
  .p-comparison-table thead {
    font-weight: 700; }
    .p-comparison-table thead td {
      padding-top: 10px;
      padding-bottom: 12px; }
  .p-comparison-table tbody th {
    padding-left: 1.1875rem;
    /* 19px */
    padding-top: 14px; }
  .p-comparison-table tbody td {
    padding-top: 14px;
    padding-bottom: 16px; }
  .p-comparison-table tr {
    border-top: 1px solid #dce0e0; }
  .p-comparison-table th {
    vertical-align: top; }
  .p-comparison-table td {
    vertical-align: top;
    padding-top: 14px; }
    .p-comparison-table td:first-of-type {
      padding-left: 1.25rem; }
    .p-comparison-table td:last-of-type {
      width: 19.5625rem; }
    .p-comparison-table td:not(:last-of-type) {
      padding-right: 1rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-comparison-table {
      font-size: 14px;
      font-size: 0.875rem;
      margin-top: 8px; } }

.p-comparison-table__yes-no {
  text-align: center; }

.p-comparison-table__row-head {
  width: 7.81%;
  background: #f3f4f4; }

.p-comparison-table__content {
  width: 23.5%; }

.p-comparison-table__detail {
  width: 32.6%; }

.p-option-table-container {
  overflow-x: auto; }

.p-option-table {
  min-width: 960px;
  color: #333;
  vertical-align: top;
  border-bottom: 1px solid #dce0e0; }
  .p-option-table thead {
    font-weight: 700; }
    .p-option-table thead td {
      padding-top: 10px;
      padding-bottom: 12px; }
  .p-option-table tbody th {
    padding-left: 1.1875rem;
    /* 19px */
    padding-right: 1.1875rem;
    /* 19px */
    padding-top: 14px;
    padding-bottom: 16px; }
  .p-option-table tbody td {
    padding-top: 14px;
    padding-bottom: 16px; }
  .p-option-table tr {
    border-top: 1px solid #dce0e0; }
  .p-option-table th {
    vertical-align: top; }
  .p-option-table td {
    vertical-align: top;
    padding-top: 14px; }
    .p-option-table td:first-of-type {
      padding-left: 1.25rem; }
    .p-option-table td:last-of-type {
      width: 19.5625rem; }
    .p-option-table td:not(:last-of-type) {
      padding-right: 1rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-option-table {
      font-size: 14px;
      font-size: 0.875rem; } }

.p-option-table__row-head {
  width: 17.7%;
  background: #f3f4f4; }

.p-option-table__detail {
  width: 54.47%; }

.p-solution-banner img {
  display: block;
  width: 100%; }

.p-solution-filter{
	margin-top: 60px;
}

.p-solution-filter__text{
	    text-align: center;
    margin-bottom: 60px;
    font-size: 1.125rem;
}

@media only screen and (max-width: 47.9375em){
	.p-solution-filter{
	margin-top: 0px;
}
	.p-solution-filter__text{
	font-size: 1rem;
    padding: 3.125%;
	margin-bottom: 0px;
	}
}

#p-solution-filter__state {
  display: none; }

.p-solution-filter__head {
  padding: 0 3.125%; }
  @media only screen and (max-width: 47.9375em) {
    .p-solution-filter__head {
      display: none; } }

.p-solution-filter__head-inner {
  display: flex;
  max-width: 1400px;
  margin: 0 auto; }

@media only screen and (max-width: 47.9375em) {
  .p-solution-filter__body {
    border-top: 1px solid #cccccc; } }

@media print, screen and (min-width: 48em) {
  .p-solution-filter__body {
    padding: 0 3.125%;
    position: absolute;
    opacity: 0;
    transition: opacity 0.1s ease; } }

.p-solution-filter > input[name='solution-filter'] {
  display: none; }

.p-solution-filter > input:checked ~ .p-solution-filter__body {
  position: static;
  opacity: 1;
  transition: opacity 0.15s ease-in; }

@media print, screen and (min-width: 48em) {
  #p-solution-filter__seminar:checked ~ .p-solution-filter__body .p-seminar-cat__list.-seminar,
  #p-solution-filter__solution:checked ~ .p-solution-filter__body .p-seminar-cat__list.-solution,
  #p-solution-filter__goal:checked ~ .p-solution-filter__body .p-seminar-cat__list.-goal {
    position: static;
    opacity: 1;
    transition: opacity 0.15s ease-in;
    visibility: visible; } }

.p-solution-filter__body-inner {
  max-width: 1400px;
  margin: 0 auto; }
  @media only screen and (max-width: 47.9375em) {
    .p-solution-filter__body-inner {
      padding: 3.125%; } }
  @media print, screen and (min-width: 48em) {
    .p-solution-filter__body-inner {
      padding: 14px 0 58px; } }

.p-solution-filter__label {
  width: calc(100% / 3);
  position: relative;
  text-align: center;
  transition: color 0.1s 0s ease;
  cursor: pointer;
  border-width: 1px 0 1px 1px;
  border-style: solid;
  border-color: #cccccc; }
  .p-solution-filter__label:last-child {
    border-width: 1px 1px 1px 1px; }
  @media print, screen and (min-width: 48em) {
    .p-solution-filter__label {
      display: inline-block;
      padding: 8px 0; } }
  .p-solution-filter__label:hover {
    color: #13aac2; }

#p-solution-filter__solution:checked ~ .p-solution-filter__head .p-solution-filter__label.-solution,
#p-solution-filter__goal:checked ~ .p-solution-filter__head .p-solution-filter__label.-goal,
#p-solution-filter__seminar:checked ~ .p-solution-filter__head .p-solution-filter__label.-seminar {
  color: #13aac2;
  font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo";
  font-weight: 700;
  color: #13aac2;
  border: 2px solid #13aac2;
  background-color: #f1f7f8; }
  #p-solution-filter__solution:checked ~ .p-solution-filter__head .p-solution-filter__label.-solution + .p-solution-filter__label,
  #p-solution-filter__goal:checked ~ .p-solution-filter__head .p-solution-filter__label.-goal + .p-solution-filter__label,
  #p-solution-filter__seminar:checked ~ .p-solution-filter__head .p-solution-filter__label.-seminar + .p-solution-filter__label {
    border-left: none; }
  #p-solution-filter__solution:checked ~ .p-solution-filter__head .p-solution-filter__label.-solution::before,
  #p-solution-filter__goal:checked ~ .p-solution-filter__head .p-solution-filter__label.-goal::before,
  #p-solution-filter__seminar:checked ~ .p-solution-filter__head .p-solution-filter__label.-seminar::before {
    content: '';
    position: absolute;
    left: 50%;
    margin-left: -5px;
    bottom: -10px;
    border-style: solid;
    border-width: 10px 8px 0 8px;
    border-color: #13aac2 transparent transparent transparent;
    z-index: 2; }
  #p-solution-filter__solution:checked ~ .p-solution-filter__head .p-solution-filter__label.-solution::after,
  #p-solution-filter__goal:checked ~ .p-solution-filter__head .p-solution-filter__label.-goal::after,
  #p-solution-filter__seminar:checked ~ .p-solution-filter__head .p-solution-filter__label.-seminar::after {
    content: '';
    position: absolute;
    bottom: -7px;
    left: 50%;
    margin-left: -5px;
    border-style: solid;
    border-width: 10px 8px 0 8px;
    border-color: #f1f7f8 transparent transparent transparent;
    z-index: 3; }

/* 見出し
 * 記事の日付や社名の表示に使用
----------------------------------------------------------------- */
.p-article-meta {
  display: flex;
  flex-wrap: wrap;
  margin-top: 28px; }

.p-article-meta__item {
  font-weight: bold;
  font-size: 16px;
  font-size: 1rem; }
  .p-article-meta__item:not(:first-child) {
    margin-left: 1rem; }

/* お知らせの本文エリア
 * 記事更新の利便性を高めるため
 * FLOCSSルール外とし、シンプルな命名を行う
----------------------------------------------------------------- */
.p-article-area {
  /**
   * ベース: .c-heading-2, .c-section-2
   */
  /**
   * ベース: .c-heading-3, .c-section-3
   */
  /**
   * ベース: .c-sentence
   */
  /**
   * ベース: .c-figure
   */
  /**
   * 画像に枠線をつける
   * ベース: .c-figure--border
   */
  /**
   * ベース: .c-list, .c-list--disc
   */
  /**
   * ベース: .c-list, .c-list--decimal
   */
  /**
   * ベース: .c-table
   */
  /**
   * スクロール可能な表
   * 使い方：
   * .scrollable-summary ※ テーブルはスクロールできます
   * .scrollable
   *    table
   *      ~~ 略 ~~
   */ }
  .p-article-area h2 {
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    font-weight: 700;
    line-height: 1.25; }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area h2 {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area h2 {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area h2 {
        font-size: 20px;
        font-size: 1.25rem; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area h2 {
        font-size: 26px;
        font-size: 1.625rem; } }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area h2 {
        margin-top: 62px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area h2 {
        margin-top: 75px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area h2 + h3 {
        margin-top: 36px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area h2 + h3 {
        margin-top: 30px; } }
  .p-article-area h3 {
    -webkit-font-feature-settings: 'palt' 1;
            font-feature-settings: 'palt' 1;
    font-weight: 700;
    line-height: 1.25; }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area h3 {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area h3 {
        font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area h3 {
        font-size: 18px;
        font-size: 1.125rem; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area h3 {
        font-size: 20px;
        font-size: 1.25rem; } }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area h3 {
        margin-top: 64px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area h3 {
        margin-top: 50px; } }
  .p-article-area p {
    line-height: 1.75;
    margin-top: 24px; }
    @media print, screen and (min-width: 48em) {
      .p-article-area p {
        font-size: 18px;
        font-size: 1.125rem; } }
    .p-article-area p > small {
      display: block;
      line-height: 1.71; }
      @media only screen and (max-width: 47.9375em) {
        .p-article-area p > small {
          font-size: 14px;
          font-size: 0.875rem; } }
      @media print, screen and (min-width: 48em) {
        .p-article-area p > small {
          font-size: 16px;
          font-size: 1rem; } }
      .p-article-area p > small > a[target='_blank']:after, .p-article-area p > small > a[target='blank']:after {
        position: absolute;
        display: inline-block;
        content: '';
        right: 0;
        top: 0.6em;
        width: 8px;
        height: 6px;
        background-color: #13aac2;
        box-sizing: border-box;
        transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        margin-right: 2px; }
      .p-article-area p > small > a[target='_blank']:before, .p-article-area p > small > a[target='blank']:before {
        position: absolute;
        display: inline-block;
        content: '';
        top: calc(0.6em + 2px);
        right: 0;
        width: 8px;
        height: 6px;
        border-style: solid;
        border-width: 0 1px 1px 0;
        border-color: #13aac2;
        box-sizing: border-box;
        transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }
  .p-article-area a {
    /**
     * ベース: .c-blank
     */ }
    .p-article-area a[target='_blank']:not(.pdf), .p-article-area a[target='blank']:not(.pdf) {
      display: inline-block;
      position: relative;
      padding-right: 20px;
      padding-left: 0; }
      .p-article-area a[target='_blank']:not(.pdf):after, .p-article-area a[target='blank']:not(.pdf):after {
        position: absolute;
        display: inline-block;
        content: '';
        right: 0;
        top: 0.7em;
        width: 8px;
        height: 6px;
        background-color: #13aac2;
        box-sizing: border-box;
        transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        margin-right: 2px; }
      .p-article-area a[target='_blank']:not(.pdf):before, .p-article-area a[target='blank']:not(.pdf):before {
        position: absolute;
        display: inline-block;
        content: '';
        top: calc(0.7em + 2px);
        right: 0;
        width: 8px;
        height: 6px;
        border-style: solid;
        border-width: 0 1px 1px 0;
        border-color: #13aac2;
        box-sizing: border-box;
        transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
        transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s; }
      @media print, screen and (min-width: 61.25em) {
        .p-article-area a[target='_blank']:not(.pdf):hover:after, .p-article-area a[target='blank']:not(.pdf):hover:after {
          background-color: #2ac4cf; } }
      @media print, screen and (min-width: 61.25em) {
        .p-article-area a[target='_blank']:not(.pdf):hover:before, .p-article-area a[target='blank']:not(.pdf):hover:before {
          border-color: #2ac4cf; } }
    .p-article-area a.pdf {
      display: inline-block;
      position: relative;
      padding-right: 28px; }
      .p-article-area a.pdf:after {
        position: absolute;
        top: 0.15em;
        right: 0;
        content: '';
        display: block;
        width: 18px;
        height: 23px;
        background-image: url(/cms/sc/common/img/icon_pdf.svg);
        background-position: 0 0;
        background-size: contain;
        background-repeat: no-repeat; }
  .p-article-area img {
    display: block;
    max-width: 100%;
    height: auto; }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area img + table,
      .p-article-area img + img {
        margin-top: 20px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area img + table,
      .p-article-area img + img {
        margin-top: 40px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area img {
        margin-top: 12px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area img {
        margin-top: 35px; } }
  .p-article-area .img-border {
    position: relative; }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area .img-border + table,
      .p-article-area .img-border + img {
        margin-top: 20px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area .img-border + table,
      .p-article-area .img-border + img {
        margin-top: 40px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area .img-border {
        margin-top: 12px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area .img-border {
        margin-top: 35px; } }
    .p-article-area .img-border > img {
      margin-top: 0; }
    .p-article-area .img-border:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      box-sizing: border-box;
      width: 100%;
      height: 100%;
      border: 1px solid #cccccc; }
  .p-article-area ul {
    margin-top: 20px; }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area ul {
        font-size: 16px;
        font-size: 1rem; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area ul {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 2; } }
    .p-article-area ul > li {
      position: relative;
      padding-left: 20px; }
      .p-article-area ul > li:before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        width: 5px;
        height: 5px;
        box-sizing: border-box;
        background-color: #ccc;
        border-radius: 50%; }
        @media only screen and (max-width: 47.9375em) {
          .p-article-area ul > li:before {
            top: 0.7em; } }
        @media print, screen and (min-width: 48em) {
          .p-article-area ul > li:before {
            top: 0.85em; } }
  .p-article-area ol {
    margin-top: 20px;
    list-style-type: decimal;
    list-style-position: inside;
    text-indent: -1em;
    padding-left: 1em; }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area ol {
        font-size: 16px;
        font-size: 1rem; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area ol {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 2; } }
  .p-article-area table {
    width: 100%;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #cccccc; }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area table + table,
      .p-article-area table + img {
        margin-top: 20px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area table + table,
      .p-article-area table + img {
        margin-top: 40px; } }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area table {
        margin-top: 12px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area table {
        margin-top: 35px; } }
    .p-article-area table th {
      background-color: #f5f5f5;
      white-space: nowrap;
      line-height: 1.25;
      vertical-align: top;
      padding-top: 17px;
      padding-right: 20px;
      padding-bottom: 16px;
      padding-left: 20px; }
      @media only screen and (max-width: 47.9375em) {
        .p-article-area table th {
          display: block;
          font-size: 14px;
          font-size: 0.875rem; } }
      @media print, screen and (min-width: 48em) {
        .p-article-area table th {
          font-size: 16px;
          font-size: 1rem; } }
    .p-article-area table td {
      line-height: 1.7;
      padding-top: 13px;
      padding-right: 20px;
      padding-bottom: 14px;
      padding-left: 20px; }
      @media only screen and (max-width: 47.9375em) {
        .p-article-area table td {
          display: block;
          font-size: 14px;
          font-size: 0.875rem; } }
      @media print, screen and (min-width: 48em) {
        .p-article-area table td {
          font-size: 16px;
          font-size: 1rem; } }
      @media only screen and (max-width: 47.9375em) {
        .p-article-area table td img {
          max-width: 50px; } }
      @media print, screen and (min-width: 48em) {
        .p-article-area table td img {
          max-width: 100px; } }
    .p-article-area table tr {
      vertical-align: top;
      border-top-width: 1px;
      border-top-style: solid;
      border-top-color: #cccccc; }
    @media print, screen and (min-width: 48em) {
      .p-article-area table .w150 {
        width: 150px; } }
  .p-article-area .scrollable-summary {
    font-size: 14px;
    font-size: 0.875rem; }
    @media print, screen and (min-width: 61.25em) {
      .p-article-area .scrollable-summary {
        display: none; } }
  .p-article-area .scrollable {
    overflow-y: hidden;
    overflow-x: auto;
    margin-top: 8px; }
    @media only screen and (max-width: 47.9375em) {
      .p-article-area .scrollable + table,
      .p-article-area .scrollable + img {
        margin-top: 20px; } }
    @media print, screen and (min-width: 48em) {
      .p-article-area .scrollable + table,
      .p-article-area .scrollable + img {
        margin-top: 40px; } }
    @media print, screen and (min-width: 61.25em) {
      .p-article-area .scrollable {
        margin-top: 35px; } }
    .p-article-area .scrollable table {
      width: 960px;
      margin-top: 0; }
      @media print, screen and (min-width: 61.25em) {
        .p-article-area .scrollable table {
          width: auto; } }
      @media only screen and (max-width: 47.9375em) {
        .p-article-area .scrollable table th,
        .p-article-area .scrollable table td {
          display: table-cell; } }

.p-back-link {
  position: relative; }
  .p-back-link:before {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 0 0 2px 2px;
    margin-right: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: ''; }
  .p-back-link:hover:before {
    border-color: #2ac4cf; }

.p-archive-controller {
  display: flex;
  flex-wrap: wrap;
  margin-top: -15px; }
  @media print, screen and (min-width: 48em) {
    .p-archive-controller {
      justify-content: center; } }

.p-archive-controller__term {
  margin-top: 15px; }
  @media only screen and (max-width: 47.9375em) {
    .p-archive-controller__term {
      margin-right: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-archive-controller__term {
      margin-right: 40px; } }
  .p-archive-controller__term:last-child {
    margin-right: 0; }
  .p-archive-controller__term.current {
    position: relative;
    padding-bottom: 3px; }
    .p-archive-controller__term.current > a {
      color: #333; }
    .p-archive-controller__term.current:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 1px;
      background-color: #13aac2; }

/* 表彰履歴
----------------------------------------------------------------- */
.p-award-history {
  width: 100%;
  box-sizing: border-box; }
  @media only screen and (max-width: 47.9375em) {
    .p-award-history {
      margin-top: 4px; } }
  @media print, screen and (min-width: 48em) {
    .p-award-history {
      margin-top: 35px; } }
  @media print, screen and (min-width: 48em) {
    .p-award-history > tbody > tr:not(:first-child) > th,
    .p-award-history > tbody > tr:not(:first-child) > td {
      padding-top: 3px; } }
  .p-award-history > tbody > tr > th {
    font-weight: bold;
    white-space: nowrap; }
    @media only screen and (max-width: 47.9375em) {
      .p-award-history > tbody > tr > th {
        display: block;
        margin-top: 5px;
        font-size: 14px;
        font-size: 0.875rem; } }
  .p-award-history > tbody > tr > td {
    word-break: break-all; }
    @media only screen and (max-width: 47.9375em) {
      .p-award-history > tbody > tr > td {
        display: block;
        font-size: 14px;
        font-size: 0.875rem; } }
    @media print, screen and (min-width: 48em) {
      .p-award-history > tbody > tr > td {
        box-sizing: border-box;
        width: 100%;
        padding-left: 20px; } }

/* 会社情報のローカルナビ
----------------------------------------------------------------- */
.p-company-menu__title {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold; }
  @media only screen and (max-width: 47.9375em) {
    .p-company-menu__title {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-company-menu__title {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .p-company-menu__title {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-company-menu__title {
      font-size: 20px;
      font-size: 1.25rem; } }

@media print, screen and (min-width: 48em) {
  .p-company-menu__content {
    display: flex;
    flex-wrap: wrap;
    margin-top: 14px;
    margin-left: -30px; } }

.p-company-menu__content > li {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .p-company-menu__content > li {
      margin-top: 4px;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-company-menu__content > li {
      margin-top: 20px;
      margin-left: 30px;
      padding-right: 30px;
      line-height: 1; } }
  @media print, screen and (min-width: 48em) {
    .p-company-menu__content > li:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 1px;
      height: 100%;
      background-color: #cccccc; } }
  @media print, screen and (min-width: 48em) {
    .p-company-menu__content > li:last-child {
      padding-right: 0; } }
  @media print, screen and (min-width: 48em) {
    .p-company-menu__content > li:last-child:after {
      display: none; } }

.p-sentence-img-wrapper .c-sentence,
.p-sentence-img-wrapper .c-figure {
  margin-top: 0; }

@media only screen and (max-width: 47.9375em) {
  .p-sentence-img-wrapper .c-figure {
    margin-top: 67px; } }

@media print, screen and (min-width: 48em) {
  .p-sentence-img-wrapper {
    display: flex; }
    .p-sentence-img-wrapper .c-sentence {
      flex: 1 1 calc(100% - 320px); }
    .p-sentence-img-wrapper .c-figure {
      flex: 0 0 320px;
      margin-left: 47px; }
      .p-sentence-img-wrapper .c-figure img {
        display: block;
        width: 100%; } }

.p-detail-top__name {
  font-weight: 700; }
  @media print, screen and (min-width: 48em) {
    .p-detail-top__name {
      font-size: 20px;
      font-size: 1.25rem; } }

.p-detail-top__img-container {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .p-detail-top__img-container {
      margin-top: 20px; } }
  @media print, screen and (min-width: 48em) {
    .p-detail-top__img-container {
      margin-top: 55px; } }

.p-detail-top__main-img,
.p-detail-top__img-container > img:first-child {
  width: 100%;
  display: block; }

.p-detail-top__logo,
.p-detail-top__img-container > img:nth-child(2) {
  border: 1px solid #ccc;
  width: 13%;
  margin-top: -7%;
  margin-left: 2.5%;
  max-width: 240px; }

.p-topic {
  display: block;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.16);
  background: #fff;
  transition: box-shadow 0.2s ease; }
  .p-topic:hover {
    box-shadow: 0 3px 15px 0 rgba(0, 0, 0, 0.24); }
    @media print, screen and (min-width: 61.25em) {
      .p-topic:hover .p-topic__heading::after {
        -webkit-transform: translateX(-5px) rotate(45deg);
                transform: translateX(-5px) rotate(45deg); } }
    @media print, screen and (min-width: 61.25em) {
      .p-topic:hover .p-topic__head img {
        -webkit-transform: scale(1.1);
                transform: scale(1.1);
        transition: all 0.4s ease; } }

.p-topic__head {
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid #e5e5e5;
  overflow: hidden; }
  .p-topic__head img {
    max-width: 100%;
    max-height: 100%;
    min-width: 1px; }
    @media print, screen and (min-width: 61.25em) {
      .p-topic__head img {
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden;
        transition: all 0.2s ease; } }

.p-topic__heading {
  font-weight: 700; }
  .p-topic__heading::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    top: -2px;
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  @media print, screen and (min-width: 48em) {
    .p-topic__heading {
      font-size: 18px;
      font-size: 1.125rem;
      line-height: 1.56; } }

.p-topic__body {
  padding: 12px 16px; }
  @media print, screen and (min-width: 48em) {
    .p-topic__body {
      box-sizing: border-box;
      padding: 32px 40px 33px 40px; } }

.p-topic__desc {
  margin-top: 5px;
  color: #333; }

.p-topic__cat {
  color: #333; }
  @media print, screen and (min-width: 48em) {
    .p-topic__cat {
      font-size: 12px;
      font-size: 0.75rem; } }

@media print, screen and (min-width: 48em) {
  .p-three-points {
    display: flex; } }

.p-three-points__el {
  /* セキュリティのアイコンだけ画像の都合上ずれてしまうため補正 */ }
  .p-three-points__el:nth-child(2) img {
    position: relative;
    left: 10px; }
  @media only screen and (max-width: 47.9375em) {
    .p-three-points__el {
      padding: 45px 0; }
      .p-three-points__el:not(:first-of-type) {
        border-top: 1px solid #cdcdcd; } }
  @media print, screen and (min-width: 48em) {
    .p-three-points__el {
      width: 33.333%;
      padding: 45px 0;
      display: flex;
      justify-content: center;
      align-items: center; }
      .p-three-points__el:not(:first-of-type) {
        border-left: 1px solid #cdcdcd; } }

.p-three-points__img {
  display: flex;
  justify-content: center;
  align-items: center; }
  .p-three-points__img img {
    display: block;
    min-width: 1px; }

.p-three-points__text {
  font-weight: 700;
  text-align: center;
  margin-top: 20px; }
  @media only screen and (max-width: 47.9375em) {
    .p-three-points__text {
      line-height: 1.5; } }

.p-document:not(:first-of-type) {
  margin-top: 27px; }

@media print, screen and (min-width: 61.25em) {
  .p-document {
    display: flex;
    justify-content: center;
    width: calc(50% - 30px);
    margin-top: 40px;
    margin-left: 30px; } }

.p-document__wrap {
  margin-top: 13px; }
  @media print, screen and (min-width: 61.25em) {
    .p-document__wrap {
      margin-top: 0;
      margin-left: 30px;
      width: calc(50% - 15px); } }

.p-document__title {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem; }

.p-document__desc {
  margin-top: 10px; }

.p-document__img {
  background: #f7f7f7;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 9px 0; }
  @media print, screen and (min-width: 61.25em) {
    .p-document__img {
      padding: 20px 0;
      width: calc(50% - 15px); } }
  .p-document__img img {
    max-height: 94px; }
    @media print, screen and (min-width: 61.25em) {
      .p-document__img img {
        max-height: 200px; } }

.p-document-list {
  padding: 20px 0 32px; }
  @media print, screen and (min-width: 48em) {
    .p-document-list {
      padding: 50px 0 80px; } }

.p-document-list__section:not(:last-of-type)::after {
  content: '';
  display: block;
  height: 1px;
  background: #ccc;
  margin: 30px -100px 26px; }
  @media print, screen and (min-width: 61.25em) {
    .p-document-list__section:not(:last-of-type)::after {
      margin: 60px -100vw 50px; } }

.p-document-list__heading {
  font-weight: 700;
  font-size: 20px;
  font-size: 1.25rem; }
  @media print, screen and (min-width: 61.25em) {
    .p-document-list__heading {
      text-align: center;
      font-size: 26px;
      font-size: 1.625rem; } }

.p-document-list__dl-link {
  margin-top: 20px;
  margin-right: auto;
  margin-left: auto; }
  .p-document-list__dl-link > a {
    font-size: 14px;
    font-size: 0.875rem;
    width: 300px;
    padding-top: 9px;
    padding-bottom: 9px;
    margin: 0 auto; }
  @media print, screen and (min-width: 61.25em) {
    .p-document-list__dl-link {
      margin-top: 60px; } }

@media print, screen and (min-width: 61.25em) {
  .p-document-list__documents {
    display: flex;
    flex-wrap: wrap;
    margin-left: -30px; } }

.p-document-details {
  margin: 16px 0; }
  @media print, screen and (min-width: 48em) {
    .p-document-details {
      margin: 56px 0 40px; } }

.p-document-detail {
  border-top: 1px solid #ccc;
  padding: 26px 0 21px; }
  @media print, screen and (min-width: 48em) {
    .p-document-detail {
      display: flex;
      padding: 33px 0 41px; } }
  .p-document-detail:last-of-type {
    border-bottom: 1px solid #ccc; }

@media only screen and (max-width: 47.9375em) {
  .p-document-detail__img {
    display: flex;
    justify-content: center; } }

.p-document-detail__img img {
  display: block;
  height: 94px; }
  @media print, screen and (min-width: 48em) {
    .p-document-detail__img img {
      height: 140px; } }

@media only screen and (max-width: 47.9375em) {
  .p-document-detail__wrap {
    margin-top: 20px; } }

@media print, screen and (min-width: 48em) {
  .p-document-detail__wrap {
    margin-left: 41px; } }

.p-document-detail__title {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem; }
  @media print, screen and (min-width: 48em) {
    .p-document-detail__title {
      font-size: 20px;
      font-size: 1.25rem; } }

@media only screen and (max-width: 47.9375em) {
  .p-document-detail__desc {
    margin-top: 5px; } }

@media print, screen and (min-width: 48em) {
  .p-document-detail__desc {
    font-size: 18px;
    font-size: 1.125rem; } }

.p-history__decade {
  font-weight: 700; }
  @media print, screen and (min-width: 48em) {
    .p-history__decade {
      font-size: 26px;
      font-size: 1.625rem; } }
  .p-history__decade span {
    font-family: "Roboto", "arial", sans-serif;
    font-style: italic;
    font-size: 40px;
    font-size: 2.5rem;
    margin-right: 6px; }
    @media print, screen and (min-width: 48em) {
      .p-history__decade span {
        font-size: 80px;
        font-size: 5rem;
        margin-right: 11px; } }

.p-history__event {
  margin-top: 26px; }
  @media print, screen and (min-width: 48em) {
    .p-history__event {
      display: flex;
      justify-content: space-between;
      margin-top: 60px; } }

.p-history__event--rev {
  flex-direction: row-reverse; }

.p-history__date {
  font-weight: 700; }
  @media only screen and (max-width: 47.9375em) {
    .p-history__date {
      font-size: 14px;
      font-size: 0.875rem; } }

.p-history__heading {
  font-weight: 700;
  font-size: 20px;
  font-size: 1.25rem; }
  @media print, screen and (min-width: 48em) {
    .p-history__heading {
      margin-top: 4px; } }

@media print, screen and (min-width: 48em) {
  .p-history__text {
    flex: 1; } }

.p-history__desc {
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-history__desc {
      margin-top: 15px; } }

.p-history__img img {
  display: block;
  width: 100%; }

@media only screen and (max-width: 47.9375em) {
  .p-history__img {
    max-width: 360px;
    margin: 13px auto 0; } }

@media print, screen and (min-width: 48em) {
  .p-history__img {
    width: 28.125%;
    margin-left: 45px; } }

.p-history__event--rev .p-history__img {
  margin-left: 0;
  margin-right: 45px; }

.p-profile {
  background: #fafafa;
  margin-top: 30px;
  padding: 30px 20px; }
  @media print, screen and (min-width: 48em) {
    .p-profile {
      padding: 36px 51px 36px 40px;
      display: flex;
      justify-content: space-between;
      margin-top: 75px; } }

.p-profile__position {
  font-weight: 700; }

.p-profile__name {
  font-weight: 700;
  font-size: 26px;
  font-size: 1.625rem; }

.p-profile__desc {
  margin-top: 10px; }
  .p-profile__desc p:not(:first-of-type) {
    margin-top: 14px; }
  @media print, screen and (min-width: 48em) {
    .p-profile__desc {
      margin-top: 23px;
      font-size: 18px;
      font-size: 1.125rem; }
      .p-profile__desc p:not(:first-of-type) {
        margin-top: 27px; } }

.p-sign {
  text-align: right; }

.p-sign__name img {
  height: 1.875rem;
  width: auto; }
  @media print, screen and (min-width: 48em) {
    .p-sign__name img {
      height: 2.75rem; } }

.p-policy-img {
  position: relative; }

.p-policy-img__img {
  padding-bottom: 93px; }
  @media print, screen and (min-width: 48em) {
    .p-policy-img__img {
      padding-bottom: 60px; } }
  .p-policy-img__img img {
    display: block;
    width: 100%; }

.p-policy-img__inner {
  display: flex;
  align-items: center;
  flex-direction: column; }
  @media only screen and (max-width: 47.9375em) {
    .p-policy-img__inner {
      width: 100%;
      padding: 18px 0; } }

.p-policy-img__text {
  color: #fff;
  text-align: center;
  font-weight: 700; }
  @media only screen and (max-width: 47.9375em) {
    .p-policy-img__text {
      line-height: 1.53; } }
  @media print, screen and (min-width: 48em) {
    .p-policy-img__text {
      font-size: 19px;
      font-size: 1.1875rem; } }
  @media print, screen and (min-width: 61.25em) {
    .p-policy-img__text {
      font-size: 23px;
      font-size: 1.4375rem; } }

.p-policy-img__block {
  background: linear-gradient(to left bottom, #39c9d1, #13aac2);
  opacity: 0.9;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  bottom: 0; }
  @media only screen and (max-width: 47.9375em) {
    .p-policy-img__block {
      width: calc(100% - 20px);
      margin: 0 10px; } }
  @media print, screen and (min-width: 48em) {
    .p-policy-img__block {
      left: 60px;
      padding-top: 90px;
      padding-right: 18px;
      padding-left: 26px;
      padding-bottom: 83px; } }

@media print, screen and (min-width: 61.25em) {
  .p-advantage-block__heading {
    text-align: center; } }

@media print, screen and (min-width: 61.25em) {
  .p-advantage-block__fields .p-advantage-block__heading {
    text-align: left; } }

.p-advantage-block__main-heading {
  display: block;
  font-weight: bold;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.6; }
  .p-advantage-block__main-heading br {
    display: none; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-block__main-heading {
      font-size: 26px;
      font-size: 1.625rem; }
      .p-advantage-block__main-heading br {
        display: inline; } }

.p-advantage-block__sub-heading {
  display: inline-block;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: 700;
  line-height: 1.25;
  padding-bottom: 4px;
  border-bottom: 2px solid #333;
  margin-bottom: 10px; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-block__sub-heading {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-block__sub-heading {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-block__sub-heading {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-block__sub-heading {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-block__sub-heading {
      margin-bottom: 24px; } }

.p-advantage-block__problems {
  padding: 0 3.125%;
  margin-top: 30px; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-block__problems {
      margin-top: 70px; } }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-block__problems {
      margin-top: 106px; } }

.p-advantage-block__support {
  padding: 0 3.125%;
  margin-top: 40px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-block__support {
      margin-top: 80px;
      padding: 0; } }

.p-advantage-block__proofs {
  margin-top: 47px;
  padding: 0 3.125%; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-block__proofs {
      padding: 0;
      margin-top: 110px; } }

.p-advantage-block__user-voices {
  position: relative;
  z-index: 1;
  background: #f6f7f7;
  padding: 44px 3.125% 50px;
  margin-top: 40px; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-block__user-voices {
      padding: 70px 3.125% 80px;
      margin-top: 55px; } }
  .p-advantage-block__user-voices + .p-advantage-block__user-voices {
    z-index: 0; }

.p-advantage-block__fields {
  padding: 0 3.125%; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-block__fields {
      padding: 0;
      margin: 110px 0 0; } }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-block__fields {
      margin-top: 120px; } }

.p-advantage-block__faq {
  padding: 0 3.125%;
  margin: 27px auto 0;
  max-width: 960px; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-block__faq {
      margin: 0 auto;
      padding: 110px 3.125% 120px; } }

@media print, screen and (min-width: 48em) {
  .p-advantage-block__strengths {
    margin-top: 108px; } }

.p-advantage-block__strengths .p-advantage-strengths {
  padding-right: 3.125%;
  padding-left: 3.125%; }

@media only screen and (max-width: 47.9375em) {
  .p-advantage-block__top {
    padding: 0 3.125%; } }

.p-advantage-block__solution {
  padding-top: 6px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-block__solution {
      padding-top: 36px; } }

.p-advantage-problems {
  display: flex;
  flex-direction: column-reverse;
  max-width: 1400px;
  margin: 0 auto; }
  @media print, screen and (min-width: 80em) {
    .p-advantage-problems {
      align-items: center;
      flex-direction: row; } }

@media print, screen and (min-width: 80em) {
  .p-advantage-problems__text-container {
    margin-left: 60px;
    max-width: 682px; } }

.p-advantage-problems__sub-heading {
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 80em) {
    .p-advantage-problems__sub-heading {
      font-size: 16px;
      font-size: 1rem; } }
  .p-advantage-problems__sub-heading span {
    font-weight: 700;
    border-bottom: 2px solid #333; }

.p-advantage-problems__heading {
  font-weight: 700;
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 13px; }
  @media print, screen and (min-width: 80em) {
    .p-advantage-problems__heading {
      font-size: 26px;
      font-size: 1.625rem;
      margin-top: 22px; } }

.p-advantage-problems__img-container {
  display: flex;
  flex-wrap: wrap;
  margin: 24px 0 0 -4px; }
  @media print, screen and (min-width: 80em) {
    .p-advantage-problems__img-container {
      margin: -10px 0 0 -10px;
      width: calc(50% - 60px); } }

.p-advantage-problems__img {
  margin: 4px 0 0 4px;
  width: calc(50% - 4px); }
  @media print, screen and (min-width: 80em) {
    .p-advantage-problems__img {
      margin: 10px 0 0 10px;
      width: calc(50% - 10px); } }
  .p-advantage-problems__img img {
    display: block;
    width: 100%; }

.p-advantage-problems__list {
  margin-top: -6px; }
  @media print, screen and (min-width: 80em) {
    .p-advantage-problems__list {
      margin-top: 27px; } }

.p-advantage-fields {
  position: relative;
  margin-top: 40px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-fields {
      display: flex;
      flex-direction: row;
      max-width: 1600px;
      margin: 0 auto; } }

.p-advantage-fields__bg {
  position: relative;
  margin-top: 26px;
  min-height: 1px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-fields__bg {
      margin-top: 0;
      max-height: 600px;
      max-width: 720px;
      width: 45vw; } }
  .p-advantage-fields__bg img {
    display: block;
    width: 100%; }
    @media print, screen and (min-width: 61.25em) {
      .p-advantage-fields__bg img {
        width: auto;
        max-width: 53vw;
        height: auto;
        max-height: 100%;
        position: absolute;
        z-index: -1; } }

.p-advantage-fields__text-container {
  padding-right: 3.125%;
  padding-left: 3.125%; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-fields__text-container {
      padding-top: 72px;
      padding-right: 3.125%;
      padding-left: 0;
      background: linear-gradient(to right, transparent, #fff 10%); } }
  @media print, screen and (min-width: 87.5em) {
    .p-advantage-fields__text-container {
      padding-bottom: 4.5vw;
      max-width: 760px;
      box-sizing: border-box; } }
  @media print, screen and (min-width: 100em) {
    .p-advantage-fields__text-container {
      padding-bottom: 72px; } }

@media print, screen and (min-width: 61.25em) {
  .p-advantage-fields__lists {
    display: flex;
    justify-content: space-between;
    margin-top: 8px; }
    .p-advantage-fields__lists > *:nth-child(2) {
      margin-left: 85px; } }

.p-advantage-fields__sub-heading {
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 80em) {
    .p-advantage-fields__sub-heading {
      font-size: 16px;
      font-size: 1rem; } }
  .p-advantage-fields__sub-heading span {
    font-weight: 700;
    border-bottom: 2px solid #333; }

.p-advantage-fields__heading {
  font-weight: 700;
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 13px; }
  @media print, screen and (min-width: 80em) {
    .p-advantage-fields__heading {
      font-size: 26px;
      font-size: 1.625rem;
      margin-top: 22px; } }

.p-advantage-fields__button {
  margin-top: 26px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-fields__button {
      width: 300px;
      margin-top: 37px; } }

.p-advantage-user-voices {
  max-width: 1400px;
  margin: 45px auto 0; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-user-voices {
      margin: 0 auto; } }

@media print, screen and (min-width: 48em) {
  .p-advantage-user-voices__cases {
    margin-top: 35px; } }

@media print, screen and (min-width: 48em) {
  .p-advantage-user-voices__companies {
    margin: 50px auto 0; } }

.p-advantage-user-voices__companies-heading {
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-user-voices__companies-heading {
      margin-top: 48px; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-user-voices__companies-heading {
      text-align: center;
      font-size: 18px;
      font-size: 1.125rem; } }

.p-advantage-user-voices__logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 16px; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-user-voices__logos {
      margin-top: 20px; } }

.p-advantage-user-voices__logo {
  background: #fff;
  border-left: 1px solid #f3f4f4;
  border-top: 1px solid #f3f4f4;
  margin-left: -1px;
  margin-top: -1px;
  width: calc(100% / 3); }
  @media print, screen and (min-width: 48em) {
    .p-advantage-user-voices__logo {
      width: calc(100% / 4); } }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-user-voices__logo {
      width: calc(100% / 5); } }
  @media print, screen and (min-width: 80em) {
    .p-advantage-user-voices__logo {
      width: calc(100% / 7); } }
  .p-advantage-user-voices__logo img {
    display: block;
    max-width: 100%; }

.p-advantage-strengths {
  position: relative;
  counter-reset: number; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-strengths {
      padding: 0 3.125%;
      margin-top: 40px; } }

.p-advantage-strengths__wrapper {
  margin-top: 30px; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__wrapper {
      margin-top: 109px; } }

.p-advantage-strengths__strength {
  position: relative; }
  .p-advantage-strengths__strength:not(:first-child) {
    margin-top: 31px; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__strength:not(:first-child) {
      margin-top: 50px; } }

.p-advantage-strengths__number {
  font-weight: bold;
  font-family: "Roboto", "arial", sans-serif;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  color: #13aac2;
  line-height: 1; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-strengths__number {
      font-size: 40px;
      font-size: 2.5rem; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__number {
      font-size: 60px;
      font-size: 3.75rem; } }

.p-advantage-strengths__inner {
  display: flex;
  padding: 0 0 30px 0;
  min-height: 25vw; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-strengths__inner {
      position: relative;
      flex-direction: column-reverse; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__inner {
      padding: 0 0 3.7vw 0; } }
  .p-advantage-strengths__strength--rev .p-advantage-strengths__inner {
    flex-direction: column-reverse; }
    @media only screen and (max-width: 47.9375em) {
      .p-advantage-strengths__strength--rev .p-advantage-strengths__inner {
        align-items: flex-end; } }
    @media print, screen and (min-width: 48em) {
      .p-advantage-strengths__strength--rev .p-advantage-strengths__inner {
        flex-direction: row-reverse; } }

.p-advantage-strengths__bg-1,
.p-advantage-strengths__bg-3 {
  position: absolute;
  z-index: -1;
  bottom: 0;
  width: 100vw; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-strengths__bg-1,
    .p-advantage-strengths__bg-3 {
      top: 30px;
      right: 0; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__bg-1,
    .p-advantage-strengths__bg-3 {
      top: 0;
      right: 40px; } }

.p-advantage-strengths__bg-0,
.p-advantage-strengths__bg-2 {
  position: absolute;
  z-index: -1;
  bottom: 0;
  width: 100vw; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-strengths__bg-0,
    .p-advantage-strengths__bg-2 {
      top: 30px;
      left: 0; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__bg-0,
    .p-advantage-strengths__bg-2 {
      top: 0;
      left: 40px; } }

.p-advantage-strengths__bg-0 {
  background: linear-gradient(to top right, rgba(100, 200, 205, 0.9), rgba(19, 170, 194, 0.9)), url("/cms/sc/img/advantage/img_strength-bg00.jpg");
  background-size: cover;
  background-position: 54% 0%; }

.p-advantage-strengths__bg-1 {
  background: linear-gradient(to top right, rgba(100, 200, 205, 0.9), rgba(19, 170, 194, 0.9)), url("/cms/sc/img/advantage/img_strength-bg01.jpg");
  background-size: cover;
  background-position: 54% 0%; }

.p-advantage-strengths__bg-2 {
  background: linear-gradient(to top right, rgba(100, 200, 205, 0.9), rgba(19, 170, 194, 0.9)), url("/cms/sc/img/advantage/img_strength-bg02.jpg");
  background-size: cover;
  background-position: 54% 0%; }

.p-advantage-strengths__bg-3 {
  background: linear-gradient(to top right, rgba(100, 200, 205, 0.9), rgba(19, 170, 194, 0.9)), url("/cms/sc/img/advantage/img_strength-bg03.jpg");
  background-size: cover;
  background-position: 54% 0%; }

.p-advantage-strengths__text {
  z-index: 1;
  max-width: 678px; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__text {
      margin-left: 3vw; } }
  @media print, screen and (min-width: 48em) {
    .browser-is-ie .p-advantage-strengths__text {
      margin-left: 0;
      width: calc(100% - 3vw); } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__strength--rev .p-advantage-strengths__text {
      margin-left: 0;
      margin-right: 3vw; } }
  @media print, screen and (min-width: 48em) {
    .browser-is-ie .p-advantage-strengths__strength--rev .p-advantage-strengths__text {
      margin-right: 0; } }

.p-advantage-strengths__text-box {
  background: #ffffff;
  padding: 3.2vw 3.75vw 3.7vw 3.75vw;
  z-index: 2; }

@media print, screen and (min-width: 48em) {
  .p-advantage-strengths__img {
    position: relative;
    left: -3.13vw;
    width: 50vw;
    max-width: 800px; } }

@media print, screen and (min-width: 48em) {
  .p-advantage-strengths__strength--rev .p-advantage-strengths__img {
    left: auto;
    right: -3.13vw; } }

.p-advantage-strengths__img img {
  display: block; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-strengths__img img {
      max-width: 84.375vw;
      position: absolute;
      right: 0;
      margin-right: 0;
      margin-left: auto; }
      .p-advantage-strengths__strength--rev .p-advantage-strengths__img img {
        right: auto;
        left: 0; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__img img {
      position: absolute;
      top: -50px;
      width: 100%; } }

.p-advantage-strengths__heading {
  font-weight: 700;
  line-height: 1.6; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__heading {
      margin-top: 15px;
      font-size: 20px;
      font-size: 1.25rem; } }

.p-advantage-strengths__desc {
  margin-top: 5px; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__desc {
      font-size: 18px;
      font-size: 1.125rem;
      margin-top: 15px; } }

.p-advantage-strengths__column {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 93.75vw; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-strengths__column {
      padding-top: calc(148 / 375 * 100vw); } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-strengths__column {
      width: 50vw;
      padding-top: 80px;
      padding-bottom: 50px; } }
  .p-advantage-strengths__strength--rev .p-advantage-strengths__column {
    align-items: stretch; }

.p-advantage-strengths__inner--3 {
  padding-bottom: 0; }

.p-advantage-top__img img {
  display: block;
  max-width: 100%; }

@media print, screen and (min-width: 48em) {
  .p-advantage-top__img img {
    max-width: 1100px;
    width: 60vw;
    position: absolute;
    top: 0;
    right: 0; } }

.p-advantage-top {
  position: relative; }
  @media print, screen and (min-width: 48em) {
    .p-advantage-top {
      max-width: 1600px;
      margin: 0 auto; } }

.p-advantage-top__inner {
  position: relative; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-top__inner {
      padding: 18px; } }

@media only screen and (max-width: 47.9375em) {
  .p-advantage-top__pad {
    position: relative;
    top: -4vw; } }

@media print, screen and (min-width: 48em) {
  .p-advantage-top__pad {
    padding: 15vw 3.125% 0; } }

.p-advantage-top__block {
  background: linear-gradient(to left bottom, #39c9d1, #13aac2);
  opacity: 0.9;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-top__block {
      width: calc(100% - 20px);
      margin: 0 10px; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-top__block {
      left: 0;
      width: 33.34%;
      min-width: 600px;
      min-height: 400px;
      height: 400px;
      /* これを入れないとIEで中央揃えされない */ } }

.p-advantage-top__heading {
  font-weight: 700;
  color: #fff; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-top__heading {
      font-size: 22px; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-top__heading {
      font-size: 32px;
      text-align: center; } }

.p-advantage-top__text {
  color: #fff; }
  @media only screen and (max-width: 47.9375em) {
    .p-advantage-top__text {
      font-size: 14px; }
      .p-advantage-top__text br {
        display: none; } }
  @media print, screen and (min-width: 48em) {
    .p-advantage-top__text {
      font-size: 20px;
      text-align: center; } }

@media only screen and (max-width: 47.9375em) {
  .p-advantage-top__container {
    display: flex;
    align-items: center;
    flex-direction: column; } }

@media print, screen and (min-width: 48em) {
  .p-advantage-top__container {
    max-width: 1400px;
    margin: 0 auto; } }

.p-faq {
  margin-top: 28px; }
  @media print, screen and (min-width: 48em) {
    .p-faq {
      margin-top: 32px; } }

.p-faq__item {
  border-top: 1px solid #ccc;
  padding: 26px 0; }
  .p-faq__item:last-of-type {
    border-bottom: 1px solid #ccc; }

.p-faq__question {
  position: relative;
  font-weight: 700;
  padding-left: 30px; }
  @media print, screen and (min-width: 48em) {
    .p-faq__question {
      padding-left: 53px;
      font-size: 20px;
      font-size: 1.25rem; } }
  .p-faq__question::before {
    content: 'Q.';
    line-height: 1;
    position: absolute;
    color: #13aac2;
    font-family: "Roboto", "arial", sans-serif;
    font-size: 26px;
    font-size: 1.625rem;
    font-style: italic;
    font-weight: 500;
    left: 0; }
    @media print, screen and (min-width: 48em) {
      .p-faq__question::before {
        font-size: 34px;
        font-size: 2.125rem; } }

.p-faq__answer {
  position: relative;
  padding-left: 30px;
  margin-top: 10px; }
  @media print, screen and (min-width: 48em) {
    .p-faq__answer {
      padding-left: 53px;
      margin-top: 20px; } }
  .p-faq__answer::before {
    content: 'A.';
    line-height: 1;
    position: absolute;
    color: #8f9a9c;
    font-family: "Roboto", "arial", sans-serif;
    font-size: 26px;
    font-size: 1.625rem;
    font-style: italic;
    font-weight: 500;
    left: 0; }
    @media print, screen and (min-width: 48em) {
      .p-faq__answer::before {
        font-size: 34px;
        font-size: 2.125rem; } }

.p-advantage-cols {
  margin-top: 24px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-cols {
      display: flex;
      margin-top: 51px; } }

.p-advantage-col {
  flex: 1 1 200px; }
  .p-advantage-col:not(:first-of-type) {
    margin-top: 24px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-col:not(:first-of-type) {
      margin-top: 0; } }

.p-advantage-col__top img {
  display: block;
  width: 100%; }

@media print, screen and (min-width: 61.25em) {
  .p-advantage-col__bottom {
    padding: 34px 40px; } }

.p-advantage-col__heading {
  font-weight: 700;
  margin-top: 8px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-col__heading {
      font-size: 20px;
      font-size: 1.25rem;
      margin-top: 0; } }

.p-advantage-col__desc {
  margin-top: 8px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-col__desc {
      margin-top: 18px; } }

.p-advantage-col__notice {
  font-size: 12px;
  font-size: 0.75rem;
  margin-top: 10px; }
  @media print, screen and (min-width: 61.25em) {
    .p-advantage-col__notice {
      font-size: 14px;
      font-size: 0.875rem; } }

.p-pack {
  box-sizing: border-box;
  border: 1px solid #ccc; }

@media only screen and (max-width: 47.9375em) {
  .p-pack__top {
    padding: 18px; } }

@media print, screen and (min-width: 48em) {
  .p-pack__top {
    padding: 32px 40px 21px; } }

.p-pack__heading {
  font-weight: 700; }
  @media print, screen and (min-width: 48em) {
    .p-pack__heading {
      font-size: 24px;
      font-size: 1.5rem; } }

@media only screen and (max-width: 47.9375em) {
  .p-pack__desc {
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 3px; }
    .p-pack__desc br {
      display: none; } }

@media print, screen and (min-width: 48em) {
  .p-pack__desc {
    margin-top: 15px; } }

.p-pack__price {
  line-height: 1; }
  @media only screen and (max-width: 47.9375em) {
    .p-pack__price {
      margin-top: 6px; } }
  @media print, screen and (min-width: 48em) {
    .p-pack__price {
      margin-top: 14px; } }

.p-pack__price-num {
  font-family: "Roboto", "arial", sans-serif;
  font-weight: 700;
  display: inline-block; }
  @media only screen and (max-width: 47.9375em) {
    .p-pack__price-num {
      font-size: 48px;
      font-size: 3rem; } }
  @media print, screen and (min-width: 48em) {
    .p-pack__price-num {
      font-size: 80px;
      font-size: 5rem; } }

.p-pack__price-unit {
  display: inline-block;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem; }
  @media print, screen and (min-width: 48em) {
    .p-pack__price-unit {
      font-size: 18px;
      font-size: 1.125rem; } }

.p-pack__bottom {
  border-top: 1px solid #ccc; }
  @media only screen and (max-width: 47.9375em) {
    .p-pack__bottom {
      padding: 17px 17px 19px; } }
  @media print, screen and (min-width: 48em) {
    .p-pack__bottom {
      padding: 24px 34px; } }

.p-pack__services {
  display: flex; }
  @media only screen and (max-width: 47.9375em) {
    .p-pack__services {
      flex-direction: column;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 48em) {
    .p-pack__services {
      flex-wrap: wrap; } }
  .p-pack__services > li {
    position: relative;
    padding-left: 0.8rem;
    box-sizing: border-box; }
    @media print, screen and (min-width: 48em) {
      .p-pack__services > li {
        width: calc(50% - 0.5em); } }
    .p-pack__services > li:before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      width: 5px;
      height: 5px;
      box-sizing: border-box;
      background-color: #ccc;
      border-radius: 50%; }
      @media only screen and (max-width: 47.9375em) {
        .p-pack__services > li:before {
          top: 0.65em; } }
      @media print, screen and (min-width: 48em) {
        .p-pack__services > li:before {
          top: 0.85em; } }

.p-comparison-table-container {
  overflow-x: auto; }

.p-comparison-table-notice {
  font-size: 16px;
  font-size: 1rem; }
  @media print, screen and (min-width: 48em) {
    .p-comparison-table-notice {
      display: none; } }

.p-comparison-table {
  min-width: 960px;
  color: #333;
  vertical-align: top;
  border-bottom: 1px solid #dce0e0; }
  .p-comparison-table thead {
    font-weight: 700; }
    .p-comparison-table thead td {
      padding-top: 10px;
      padding-bottom: 12px; }
  .p-comparison-table tbody th {
    padding-left: 1.1875rem;
    /* 19px */
    padding-top: 14px; }
  .p-comparison-table tbody td {
    padding-top: 14px;
    padding-bottom: 16px; }
  .p-comparison-table tr {
    border-top: 1px solid #dce0e0; }
  .p-comparison-table th {
    vertical-align: top; }
  .p-comparison-table td {
    vertical-align: top;
    padding-top: 14px; }
    .p-comparison-table td:first-of-type {
      padding-left: 1.25rem; }
    .p-comparison-table td:last-of-type {
      width: 19.5625rem; }
    .p-comparison-table td:not(:last-of-type) {
      padding-right: 1rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-comparison-table {
      font-size: 14px;
      font-size: 0.875rem;
      margin-top: 8px; } }

.p-comparison-table__yes-no {
  text-align: center; }

.p-comparison-table__row-head {
  width: 7.81%;
  background: #f3f4f4; }

.p-comparison-table__content {
  width: 23.5%; }

.p-comparison-table__detail {
  width: 32.6%; }

.p-option-table-container {
  overflow-x: auto; }

.p-option-table {
  min-width: 960px;
  color: #333;
  vertical-align: top;
  border-bottom: 1px solid #dce0e0; }
  .p-option-table thead {
    font-weight: 700; }
    .p-option-table thead td {
      padding-top: 10px;
      padding-bottom: 12px; }
  .p-option-table tbody th {
    padding-left: 1.1875rem;
    /* 19px */
    padding-right: 1.1875rem;
    /* 19px */
    padding-top: 14px;
    padding-bottom: 16px; }
  .p-option-table tbody td {
    padding-top: 14px;
    padding-bottom: 16px; }
  .p-option-table tr {
    border-top: 1px solid #dce0e0; }
  .p-option-table th {
    vertical-align: top; }
  .p-option-table td {
    vertical-align: top;
    padding-top: 14px; }
    .p-option-table td:first-of-type {
      padding-left: 1.25rem; }
    .p-option-table td:last-of-type {
      width: 19.5625rem; }
    .p-option-table td:not(:last-of-type) {
      padding-right: 1rem; }
  @media only screen and (max-width: 47.9375em) {
    .p-option-table {
      font-size: 14px;
      font-size: 0.875rem; } }

.p-option-table__row-head {
  width: 17.7%;
  background: #f3f4f4; }

.p-option-table__detail {
  width: 54.47%; }

.p-seminar-attribute {
  display: flex;
  align-items: center; }

.p-seminar-attribute__free {
  margin-right: 24px; }
  .p-seminar-attribute__free img {
    width: 40px;
    height: 40px; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-attribute__free {
      margin-right: 30px; }
      .p-seminar-attribute__free img {
        width: 80px;
        height: 80px; } }

.p-seminar-attribute__block {
  display: flex;
  align-items: center;
  margin-bottom: 33px; }
  .p-seminar-attribute__free + .p-seminar-attribute__block {
    margin-bottom: 0; }

.p-seminar-attribute__el {
  font-size: 16px;
  font-weight: 700;
  display: flex; }
  .p-seminar-attribute__el:not(:first-of-type)::before {
    content: '';
    display: block;
    width: 1px;
    background: #cccccc;
    margin: 0 19px; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-attribute__el {
      font-size: 20px; } }
  .p-seminar-attribute__el.p-seminar-attribute__el--seats span.number {
    font-size: 150%;
    line-height: 1; }

.p-seminar-summary {
  border: 1px solid #cccccc; }
  @media only screen and (max-width: 47.9375em) {
    .p-seminar-summary {
      display: flex;
      margin-top: 12px;
      flex-direction: column;
      padding: 16px; } }
  @media print, screen and (min-width: 48em) {
    .p-seminar-summary {
      align-items: center;
      padding: 26px 30px 22px; } }

.p-seminar-summary__row {
  display: flex; }
  .p-seminar-summary__row:not(:first-child) {
    margin-top: 16px; }
  @media only screen and (max-width: 47.9375em) {
    .p-seminar-summary__row {
      flex-direction: column; } }
  @media print, screen and (min-width: 48em) {
    .p-seminar-summary__row {
      align-items: center; }
      .p-seminar-summary__row:not(:first-child) {
        margin-top: 16px; } }

.p-seminar-summary__head {
  font-size: 16px;
  display: flex;
  align-items: center; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-summary__head {
      font-size: 18px; } }
  .p-seminar-summary__head span {
    margin-left: 10px; }
  .p-seminar-summary__head.p-seminar-summary__head--time::before {
    content: url(/cms/sc/common/img/icon_calendar.svg);
    display: inline-block; }
  .p-seminar-summary__head.p-seminar-summary__head--place::before {
    content: url(/cms/sc/common/img/icon_pin.svg);
    display: inline-block; }
  .p-seminar-summary__head.p-seminar-summary__head--price::before {
    content: url(/cms/sc/common/img/icon_yen.svg);
    display: inline-block; }

.p-seminar-summary__body {
  font-weight: 700;
  font-size: 16px; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-summary__body {
      font-size: 18px;
      margin-left: 20px; }
      .p-seminar-summary__body br {
        display: none; } }

.p-seminar-info {
  margin-top: 30px; }

.p-seminar-info__lead {
  margin-top: 25px; }
  @media print, screen and (min-width: 48em) {
    .p-seminar-info__lead {
      margin-top: 51px; } }

.p-social-button-module {
  border: 1px solid #e5e5e5;
  box-sizing: border-box; }
  @media only screen and (max-width: 47.9375em) {
    .p-social-button-module {
      padding: 26px; } }
  @media print, screen and (min-width: 48em) {
    .p-social-button-module {
      padding: 26px 26px 30px;
      min-height: 117px; } }

.p-social-button-module__text {
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  font-weight: bold;
  text-align: center;
  margin-bottom: 6px;
  font-size: 16px;
  font-size: 1rem;
  text-align: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-social-button-module__text {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 48em) {
    .p-social-button-module__text {
      font-family: "YakuHanJP", "NotoSans", "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo"; } }
  @media print, screen and (min-width: 61.25em) {
    .p-social-button-module__text {
      font-size: 18px;
      font-size: 1.125rem;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 61.25em) {
    .p-social-button-module__text > br {
      display: none; } }

.p-social-button-module__button-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media only screen and (max-width: 47.9375em) {
    .p-social-button-module__button-area {
      margin-top: 15px; } }
  @media print, screen and (min-width: 48em) {
    .p-social-button-module__button-area {
      margin-top: 15px; } }

.p-social-button-module__button {
  margin-right: 6px;
  border: 0;
  padding: 0;
  min-height: 30px;
  line-height: 18px;
  text-indent: 0; }
  .p-social-button-module__button:last-child {
    margin-right: 0; }
  .p-social-button-module__button img {
    display: block; }

.p-social-button-module-wrapper {
  margin-top: 30px; }
  @media print, screen and (min-width: 48em) {
    .p-social-button-module-wrapper {
      margin-top: 73px; } }

.p-user-voices__item {
  border-top: 1px solid #ccc; }
  .p-user-voices__item:last-of-type {
    border-bottom: 1px solid #ccc; }
  @media only screen and (max-width: 47.9375em) {
    .p-user-voices__item {
      padding: 18px 0 40px; } }
  @media print, screen and (min-width: 48em) {
    .p-user-voices__item {
      padding: 30px 0 30px; } }

.p-user-voices__head {
  display: flex; }

.p-user-voices__icon img {
  width: 100%; }

@media only screen and (max-width: 47.9375em) {
  .p-user-voices__icon {
    flex: 0 0 38px;
    padding-right: 8px; } }

@media print, screen and (min-width: 48em) {
  .p-user-voices__icon {
    flex: 0 0 65px;
    padding-right: 20px; } }

.p-user-voices__heading {
  font-weight: 700; }
  @media print, screen and (min-width: 48em) {
    .p-user-voices__heading {
      font-size: 20px;
      font-size: 1.25rem; } }

.p-user-voices__attributes {
  font-weight: 700; }
  @media only screen and (max-width: 47.9375em) {
    .p-user-voices__attributes {
      margin-top: 17px; } }

@media print, screen and (min-width: 48em) {
  .p-user-voices__body {
    padding-left: 85px;
    font-size: 18px;
    font-size: 1.125rem; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-tags {
    display: flex; } }

@media only screen and (max-width: 47.9375em) {
  .p-seminar-tags__icon {
    margin-bottom: 10px; } }

@media print, screen and (min-width: 48em) {
  .p-seminar-tags__icon {
    margin-right: 27px; } }

.u-show-XS {
  display: none; }
  @media only screen and (max-width: 47.9375em) {
    .u-show-XS {
      display: block; } }

.u-show-S {
  display: none; }
  @media print, screen and (min-width: 48em) {
    .u-show-S {
      display: block; } }

.u-show-M {
  display: none; }
  @media print, screen and (min-width: 61.25em) {
    .u-show-M {
      display: block; } }

.u-show-L {
  display: none; }
  @media print, screen and (min-width: 80em) {
    .u-show-L {
      display: block; } }

.u-show-XL {
  display: none; }
  @media print, screen and (min-width: 87.5em) {
    .u-show-XL {
      display: block; } }

.u-show-full {
  display: none; }
  @media print, screen and (min-width: 100em) {
    .u-show-full {
      display: block; } }

@media print, screen and (min-width: 61.25em) {
  .u-hide-M {
    display: none; } }

/*
 * アニメーションのみ行うクラス
 */
@media print, screen and (min-width: 48em) {
  .u-fade, .u-fade-up, .u-fade-left {
    opacity: 0;
    transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); } }

@media print, screen and (min-width: 48em) {
  .u-fade.active, .active.u-fade-up, .active.u-fade-left {
    opacity: 1; } }

@media print, screen and (min-width: 48em) {
  .u-fade-up {
    -webkit-transform: translate3d(0, 50px, 0);
            transform: translate3d(0, 50px, 0); } }

@media print, screen and (min-width: 48em) {
  .u-fade-up.active {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

@media print, screen and (min-width: 48em) {
  .u-fade-left {
    -webkit-transform: translate3d(50px, 0, 0);
            transform: translate3d(50px, 0, 0); } }

@media print, screen and (min-width: 48em) {
  .u-fade-left.active {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); } }

.p-search-text {
  line-height: 1.7; }
  @media only screen and (max-width: 47.9375em) {
    .p-search-text {
      font-size: 14px;
      font-size: 0.875rem;
      margin-top: 2px; } }
  @media print, screen and (min-width: 48em) {
    .p-search-text {
      font-size: 18px;
      font-size: 1.125rem;
      margin-top: 12px; } }
  .p-search-text > .-num-bold {
    font-weight: bold;
    margin-right: 10px;
    font-size: 20px;
    font-size: 1.25rem; }
    @media only screen and (max-width: 47.9375em) {
      .p-search-text > .-num-bold {
        font-size: 18px;
        font-size: 1.125rem; } }
    .p-search-text > .-num-bold:first-child {
      margin-left: 25px; }
      @media only screen and (max-width: 47.9375em) {
        .p-search-text > .-num-bold:first-child {
          margin-left: 15px; } }
    .p-search-text > .-num-bold:last-child {
      margin-left: 12px; }
      @media only screen and (max-width: 47.9375em) {
        .p-search-text > .-num-bold:last-child {
          margin-left: 8px; } }
  .p-search-text > .-bg-color {
    position: relative; }
    .p-search-text > .-bg-color::before {
      content: '';
      background-color: #64c8cd;
      opacity: 0.2;
      position: absolute;
      z-index: -1;
      width: 100%;
      height: 23px;
      top: 3px; }

.p-search-text.-heading {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
  color: #13aac2;
  z-index: 1; }
  @media only screen and (max-width: 47.9375em) {
    .p-search-text.-heading {
      font-size: 16px;
      font-size: 1rem; } }
  .p-search-text.-heading::after {
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    top: -0.1em;
    width: 8px;
    height: 8px;
    border-style: solid;
    border-width: 2px 2px 0 0;
    margin-left: 8px;
    border-color: #13aac2;
    -webkit-transform: translate(0, 0) rotate(45deg);
            transform: translate(0, 0) rotate(45deg);
    transition: border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, border-color cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.15s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    content: '';
    top: -2px;
    transition: -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99);
    transition: transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99), -webkit-transform 0.2s 0s cubic-bezier(0.38, 0.33, 0.23, 0.99); }
  @media print, screen and (min-width: 48em) {
    .p-search-text.-heading:hover {
      color: #2ac4cf; } }
  @media print, screen and (min-width: 61.25em) {
    .p-search-text.-heading:hover::after {
      -webkit-transform: translateX(-5px) rotate(45deg);
              transform: translateX(-5px) rotate(45deg); } }

.p-search-text--area {
  padding-top: 25px; }

.p-search-text--box {
  border-top: 1px solid #ccc;
  padding-top: 28px;
  padding-bottom: 32px; }
  .p-search-text--box:last-child {
    border-bottom: 1px solid #ccc; }
  @media only screen and (max-width: 47.9375em) {
    .p-search-text--box {
      padding-top: 16px;
      padding-bottom: 20px; } }

.p-search-bar--area {
  margin-top: 46px;
  margin-bottom: 46px; }
  @media print, screen and (max-width: 61.1875em) {
    .p-search-bar--area {
      margin-top: 16px;
      margin-bottom: 16px; } }

.p-search-bar--container {
  position: relative;
  display: block;
  outline: none; }

.p-search-bar {
  box-sizing: border-box;
  display: block;
  border: none;
  overflow: hidden;
  background-color: #f7f7f7;
  padding-top: 22px;
  padding-right: 23px;
  padding-left: 23px;
  padding-bottom: 18px;
  font-size: 18px;
  font-size: 1.125rem;
  border-radius: 3px;
  position: relative;
  width: 100%;
  line-height: 1; }
  .p-search-bar:focus {
    outline: 0; }
  @media print, screen and (max-width: 61.1875em) {
    .p-search-bar {
      font-size: 14px;
      font-size: 0.875rem;
      padding-top: 14px;
      padding-right: 13px;
      padding-left: 13px;
      padding-bottom: 14px; } }

.p-search-bar-button {
  cursor: pointer;
  border: none;
  outline: none;
  transition: background-color 0.1s 0s ease;
  position: absolute;
  background-image: url(/cms/sc/common/img/icon_zoon_search.svg);
  background-color: #13aac2;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  border-radius: 0 3px 3px 0; }
  @media print, screen and (min-width: 61.25em) {
    .p-search-bar-button:hover {
      background-color: #2ac4cf; } }
  @media print, screen and (max-width: 61.1875em) {
    .p-search-bar-button {
      width: 44px;
      height: 44px;
      background-size: 21px 21px; } }

@media print, screen and (max-width: 61.1875em) {
  .p-search-bar--area.p-search-bar--menu .p-search-bar {
    font-size: 14px;
    font-size: 0.875rem;
    padding-top: 13px;
    padding-right: 13px;
    padding-left: 40px;
    padding-bottom: 12px; } }

@media print, screen and (max-width: 61.1875em) {
  .p-search-bar--area.p-search-bar--menu .p-search-bar-button {
    width: 40px;
    height: 40px;
    right: auto;
    left: 0;
    background-image: url(/cms/sc/common/img/icon_zoon_search_sp.svg);
    background-color: transparent;
    background-size: 20px; } }

/* ==========================================================================
Form
========================================================================== */
