@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap");
/*foundation
------------------------------------------------------*/
/* Reset
ヘッダーとフッターとホームのメインコンテンツにだけ適応
----------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@1,500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@700&display=swap");
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; }

body,
input,
textarea {
  margin: 0;
  padding: 0; }

ul li {
  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; }

/*==========================================================================
Color
カラーコード変換
https://tech-unlimited.com/color.html
==========================================================================*/
/*==========================================================================
box shadow
box-shadowジェネレータ
https://www.bad-company.jp/box-shadow
==========================================================================*/
/* Base
----------------------------------------------------------------- */
body {
  position: relative;
  min-height: 100%;
  -webkit-text-size-adjust: 100%;
  color: #0F0F0F;
  line-height: 1.75; }
  @media only screen and (max-width: 63.9375em) {
    body {
      font-family: "noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "arial"; } }
  @media print, screen and (min-width: 64em) {
    body {
      font-family: "noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo"; } }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

img {
  vertical-align: bottom;
  width: 100%; }

.i-mail-icon {
  display: block;
  width: 23px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2019.43%2014.91%22%3E\a%20%20%20%20%3Cdefs%3E\a%20%20%20%20%20%20%3Cstyle%3E\a%20%20%20%20%20%20%20%20.cls-1{fill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A1.33px}\a%20%20%20%20%20%20%3C%2Fstyle%3E\a%20%20%20%20%3C%2Fdefs%3E\a%20%20%20%20%3Cg%3E\a%20%20%20%20%20%20%3Cg%3E\a%20%20%20%20%20%20%20%20%3Crect%20class%3D%22cls-1%22%20x%3D%22.66%22%20y%3D%22.66%22%20width%3D%2218.1%22%20height%3D%2213.58%22%20rx%3D%221.86%22%2F%3E\a%20%20%20%20%20%20%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M1.73%201.5l7.85%206.37a.81.81%200%20001%200l7.07-6.52%22%2F%3E\a%20%20%20%20%20%20%3C%2Fg%3E\a%20%20%20%20%3C%2Fg%3E\a%20%20%3C%2Fsvg%3E"); }
  .i-mail-icon.-black {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2019.43%2014.91%22%3E\a%20%20%20%20%3Cdefs%3E\a%20%20%20%20%20%20%3Cstyle%3E\a%20%20%20%20%20%20%20%20.cls-1{fill%3Anone%3Bstroke%3A%23000%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A1.33px}\a%20%20%20%20%20%20%3C%2Fstyle%3E\a%20%20%20%20%3C%2Fdefs%3E\a%20%20%20%20%3Cg%3E\a%20%20%20%20%20%20%3Cg%3E\a%20%20%20%20%20%20%20%20%3Crect%20class%3D%22cls-1%22%20x%3D%22.66%22%20y%3D%22.66%22%20width%3D%2218.1%22%20height%3D%2213.58%22%20rx%3D%221.86%22%2F%3E\a%20%20%20%20%20%20%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M1.73%201.5l7.85%206.37a.81.81%200%20001%200l7.07-6.52%22%2F%3E\a%20%20%20%20%20%20%3C%2Fg%3E\a%20%20%20%20%3C%2Fg%3E\a%20%20%3C%2Fsvg%3E"); }
  .i-mail-icon.-sizeL {
    width: 33px;
    height: 22px; }

.i-arrow-icon {
  width: 10px;
  height: 10px;
  display: block;
  border-top: solid 2px #0F0F0F;
  border-right: solid 2px #0F0F0F;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: -webkit-transform .3;
  transition: -webkit-transform .3;
  transition: transform .3;
  transition: transform .3, -webkit-transform .3; }

.i-blank-icon {
  width: 20px;
  height: 20px;
  display: block;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%228%22%20viewBox%3D%220%200%208%208%22%3E\a%20%20%20%20%20%20%3Cg%20fill%3D%22none%22%3E\a%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M0%2C8V2H6V8ZM7%2C6V1H2V0H8V6Z%22%20stroke%3D%22none%22%2F%3E\a%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M%205.00029993057251%207.000100135803223%20L%205.00029993057251%202.999799966812134%20L%201.00000011920929%202.999799966812134%20L%201.00000011920929%207.000100135803223%20L%205.00029993057251%207.000100135803223%20M%206.00029993057251%208.000100135803223%20L%206.790160966829717e-08%208.000100135803223%20L%206.790160966829717e-08%201.999800086021423%20L%206.00029993057251%201.999800086021423%20L%206.00029993057251%208.000100135803223%20Z%20M%208.000100135803223%206.00029993057251%20L%207.000200271606445%206.00029993057251%20L%207.000200271606445%200.9999000430107117%20L%201.999800086021423%200.9999000430107117%20L%201.999800086021423%206.790160966829717e-08%20L%208.000100135803223%206.790160966829717e-08%20L%208.000100135803223%206.00029993057251%20Z%22%20stroke%3D%22none%22%20fill%3D%22%2300AEFF%22%2F%3E\a%20%20%20%20%20%20%3C%2Fg%3E\a%20%20%20%20%3C%2Fsvg%3E");
  margin-top: 3px; }

.i-circle-arrow {
  border-radius: 50%;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block; }
  .i-circle-arrow::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-65%, -50%) rotate(45deg);
            transform: translate(-65%, -50%) rotate(45deg);
    -webkit-transform-origin: center;
            transform-origin: center; }
  .i-circle-arrow.-withe {
    background-color: #fff; }
    .i-circle-arrow.-withe::before {
      border-top: solid 2px #00AEFF;
      border-right: solid 2px #00AEFF; }
  .i-circle-arrow.-sizeM {
    width: 32px;
    height: 32px; }
    .i-circle-arrow.-sizeM::before {
      width: 5px;
      height: 5px; }
  .i-circle-arrow.-anchor {
    -webkit-transform-origin: center;
            transform-origin: center;
    -webkit-transform: translate(5%, 0) rotate(90deg);
            transform: translate(5%, 0) rotate(90deg); }

.p-contact-form__sand-button.-back .i-circle-arrow::before {
  -webkit-transform: translate(-35%, -50%) rotate(-135deg);
          transform: translate(-35%, -50%) rotate(-135deg); }

.i-download-icon {
  display: block; }
  .i-download-icon.-withe {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015.7%2015.7%22%3E\a%20%20%20%20%3Cdefs%3E\a%20%20%20%20%20%20%3Cstyle%3E\a%20%20%20%20%20%20%20%20.cls-1{fill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A1.32px}\a%20%20%20%20%20%20%3C%2Fstyle%3E\a%20%20%20%20%3C%2Fdefs%3E\a%20%20%20%20%3Cg%20id%3D%22レイヤー_2%22%20data-name%3D%22レイヤー%202%22%3E\a%20%20%20%20%20%20%3Cg%20id%3D%22レイヤー_1-2%22%20data-name%3D%22レイヤー%201%22%3E\a%20%20%20%20%20%20%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M15%2010.25v3.2A1.59%201.59%200%200113.45%2015H2.26a1.6%201.6%200%2001-1.6-1.59v-3.2%22%2F%3E\a%20%20%20%20%20%20%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M3.86%206.25l3.99%204%204-4M7.85%2010.25V.66%22%2F%3E\a%20%20%20%20%20%20%3C%2Fg%3E\a%20%20%20%20%3C%2Fg%3E\a%20%20%3C%2Fsvg%3E"); }
  .i-download-icon.-sizeM {
    width: 16px;
    height: 16px; }

.i-material-icon {
  display: block;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015.99%2019.66%22%3E%3Cdefs%3E\a%20%20%20%20%3Cstyle%3E\a%20%20%20%20%20%20.cls-1{fill%3Anone%3Bstroke%3A%23fff%3Bstroke-linecap%3Around%3Bstroke-linejoin%3Around%3Bstroke-width%3A1.33px}\a%20%20%20%20%3C%2Fstyle%3E\a%20%20%3C%2Fdefs%3E%3Cg%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M9.83.66H2.5A1.84%201.84%200%2000.66%202.5v14.66A1.84%201.84%200%20002.5%2019h11a1.83%201.83%200%20001.83-1.84v-11z%22%2F%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M9.83.66v5.5h5.5M11.66%2010.75H4.33M11.66%2014.41H4.33M6.16%207.08H4.33%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  width: 21px;
  height: 23px; }

/* Font
----------------------------------------------------------------- */
/* cyrillic-ext */
/* -----------------------------------------------------------------
/* ループアニメーション（1枚目）
----------------------------------------------------------------- */
@-webkit-keyframes loop1 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  100% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0); } }
@keyframes loop1 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  100% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0); } }

/* -----------------------------------------------------------------
/* ループアニメーション（2枚目）
----------------------------------------------------------------- */
@-webkit-keyframes loop2 {
  0% {
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0); }
  100% {
    -webkit-transform: translate(0%, 0);
            transform: translate(0%, 0); } }
@keyframes loop2 {
  0% {
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0); }
  100% {
    -webkit-transform: translate(0%, 0);
            transform: translate(0%, 0); } }

/* -----------------------------------------------------------------
/* ループアニメーション（1枚目）
----------------------------------------------------------------- */
@-webkit-keyframes looptest {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  100% {
    -webkit-transform: translate(-1423px, 0);
            transform: translate(-1423px, 0); } }
@keyframes looptest {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  100% {
    -webkit-transform: translate(-1423px, 0);
            transform: translate(-1423px, 0); } }

/* -----------------------------------------------------------------
/*ボタンアニメーション（左から右にスライド）
----------------------------------------------------------------- */
@-webkit-keyframes buttonSlide1 {
  0% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0); }
  100% {
    -webkit-transform: translate(0%, 0);
            transform: translate(0%, 0); } }
@keyframes buttonSlide1 {
  0% {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0); }
  100% {
    -webkit-transform: translate(0%, 0);
            transform: translate(0%, 0); } }

/* -----------------------------------------------------------------
/*ボタンアニメーション（左から右にスライドの戻り）
----------------------------------------------------------------- */
@-webkit-keyframes buttonSlide1back {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  100% {
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0); } }
@keyframes buttonSlide1back {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  100% {
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0); } }

/* -----------------------------------------------------------------
/*ボタンアニメーション（backgroundタイプ）
----------------------------------------------------------------- */
@-webkit-keyframes buttonSlide3 {
  0% {
    background-position: 100% 0; }
  100% {
    background-position: 0 0; } }
@keyframes buttonSlide3 {
  0% {
    background-position: 100% 0; }
  100% {
    background-position: 0 0; } }

/* -----------------------------------------------------------------
/*ヘッダープルダウンメニュー
----------------------------------------------------------------- */
@-webkit-keyframes pulldownMenu {
  0% {
    height: 0; }
  100% {
    height: auto; } }
@keyframes pulldownMenu {
  0% {
    height: 0; }
  100% {
    height: auto; } }

/*layout
------------------------------------------------------*/
.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 100; }

/*Project
------------------------------------------------------*/
.p-pc-header {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 48em) {
    .p-pc-header {
      min-height: 60px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-pc-header {
      min-height: 90px;
      background-color: #fff; } }

.p-pc-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%; }
  @media only screen and (max-width: 63.9375em) {
    .p-pc-header__inner {
      padding-left: 4%;
      padding-right: 25px; } }
  @media print, screen and (min-width: 64em) {
    .p-pc-header__inner {
      padding-left: 64px;
      padding-right: 50px; } }

.p-pc-header__logo {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff; }
  @media only screen and (max-width: 48em) {
    .p-pc-header__logo {
      width: 100px;
      height: 100px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-pc-header__logo {
      width: 180px;
      height: 180px; } }

@media only screen and (max-width: 63.9375em) {
  .p-pc-header__nav {
    display: none; } }

@media print, screen and (min-width: 64em) {
  .p-pc-header__nav {
    width: 500px;
    text-align: end; } }

@media only screen and (max-width: 48em) {
  .p-pc-header__contact {
    width: 55px; } }

@media print, screen and (min-width: 48.0625em) {
  .p-pc-header__contact {
    width: 190px; } }

.p-sp-header {
  position: fixed;
  width: 100%;
  -webkit-transform: translate(100%, 0);
          transform: translate(100%, 0);
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
  top: 0; }
  .p-sp-header.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.p-sp-header__close-button {
  position: absolute;
  top: 0px;
  right: 0;
  background-color: #00AEFF;
  width: 50px;
  height: 50px;
  border: none; }
  .p-sp-header__close-button::before, .p-sp-header__close-button:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 3px;
    background-color: #fff; }
  .p-sp-header__close-button::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg); }
  .p-sp-header__close-button::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg); }

.p-sp-header__bg {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: -1; }

.p-sp-header__inner {
  background-color: #fff;
  padding-bottom: 30px;
  padding-top: 50px;
  overflow-y: scroll;
  max-height: 100vh; }

.p-sp-header__contact {
  padding: 0 4%; }

.p-sp-header__contact {
  width: 100%;
  height: 55px;
  margin-top: 35px; }
  .p-sp-header__contact.-applications {
    margin-top: 10px; }

.p-footer {
  background-color: #0F0F0F; }
  @media only screen and (max-width: 48em) {
    .p-footer {
      padding: 100px 0 20px 0; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-footer {
      padding: 100px 0 20px 0; } }
  @media print, screen and (min-width: 64em) {
    .p-footer {
      padding: 120px 0 20px 0; } }

@media only screen and (max-width: 63.9375em) {
  .p-footer__inner {
    padding: 0 4%; } }

@media print, screen and (min-width: 64em) {
  .p-footer__inner {
    padding: 0 64px; } }

@media print, screen and (min-width: 48.0625em) {
  .p-footer__main-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

@media only screen and (max-width: 48em) {
  .p-footer__logo {
    width: 160px;
    margin: 0 auto; } }

@media print, screen and (min-width: 48.0625em) {
  .p-footer__logo {
    width: 120px;
    height: 130px; } }

@media only screen and (max-width: 63.9375em) {
  .p-footer__nav {
    width: 100%; } }

.p-footer__copy {
  color: #888;
  font-size: 12px;
  font-size: 0.75rem;
  margin-top: 100px; }
  @media only screen and (max-width: 48em) {
    .p-footer__copy {
      text-align: center; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-footer__copy {
      text-align: right; } }

.p-home-visual {
  background-color: #EAF5FE; }
  @media print, screen and (min-width: 64em) {
    .p-home-visual {
      padding-bottom: 40px;
      margin-top: 90px; } }

.p-home-visual__main-content {
  position: relative; }

.p-home-visual__img {
  width: 100%;
  height: 580px;
  background-color: #ccc;
  overflow: hidden; }
  .p-home-visual__img img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%; }

.p-home-visual__scroll {
  position: absolute;
  right: 30px;
  bottom: 170px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff; }
  @media only screen and (max-width: 48em) {
    .p-home-visual__scroll {
      display: none; } }
  .p-home-visual__scroll::before {
    position: absolute;
    content: '';
    top: 50px;
    left: 10px;
    width: 3px;
    height: 100px;
    background-color: #00AEFF; }

.p-home-visual__text {
  width: 100%;
  position: absolute; }
  @media only screen and (max-width: 48em) {
    .p-home-visual__text {
      padding: 0 4%;
      top: 40%; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-home-visual__text {
      top: 50%;
      left: 50%;
      max-width: 1400px;
      padding-left: 100px;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); } }

@media print, screen and (min-width: 64em) {
  .p-home-visual__sub-title {
    margin-top: 30px; } }

.p-home-news {
  background-color: #fff; }
  @media only screen and (max-width: 63.9375em) {
    .p-home-news {
      margin: 0 4%;
      top: -40px;
      position: relative;
      padding: 24px 16px; } }
  @media print, screen and (min-width: 64em) {
    .p-home-news {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      padding: 100px 64px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      position: relative;
      top: -40px; } }

.p-home-news__section-title {
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.p-home-news__content {
  width: 100%; }
  @media only screen and (max-width: 63.9375em) {
    .p-home-news__content {
      margin-top: 20px; } }
  @media print, screen and (min-width: 64em) {
    .p-home-news__content {
      max-width: 800px; } }

.p-home-news__content-item {
  display: block;
  text-decoration: none;
  border-top: solid 1px #C2C2C2; }
  .p-home-news__content-item:last-child {
    border-bottom: solid 1px #C2C2C2; }
  @media only screen and (max-width: 63.9375em) {
    .p-home-news__content-item {
      padding: 16px 0; } }
  @media print, screen and (min-width: 64em) {
    .p-home-news__content-item {
      padding: 25px 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }

.p-home-news__article-date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-decoration: none; }

@media print, screen and (min-width: 64em) {
  .p-home-news__article-title {
    margin-left: 24px; } }

.p-home-news__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: -webkit-transform .2s;
  transition: -webkit-transform .2s;
  transition: transform .2s;
  transition: transform .2s, -webkit-transform .2s; }
  @media only screen and (max-width: 63.9375em) {
    .p-home-news__arrow {
      display: none; } }
  @media print, screen and (min-width: 64em) {
    .p-home-news__arrow {
      margin-left: 50px; } }
  @media print, screen and (min-width: 64em) {
    a:hover .p-home-news__arrow {
      -webkit-transform: translate(3px, 0px);
              transform: translate(3px, 0px); } }

.p-section-layout {
  position: relative; }
  @media only screen and (max-width: 63.9375em) {
    .p-section-layout.-sizeSS {
      padding: 20px 0 0px 0; } }
  @media print, screen and (min-width: 64em) {
    .p-section-layout.-sizeSS {
      padding: 40px 0 0px 0; } }
  .p-section-layout.-sizeS {
    padding: 100px 0 50px 0; }
  @media only screen and (max-width: 63.9375em) {
    .p-section-layout.-sizeL {
      padding: 60px 0 100px 0; } }
  @media print, screen and (min-width: 64em) {
    .p-section-layout.-sizeL {
      padding: 80px 0 80px 0; } }
  @media only screen and (max-width: 48em) {
    .p-section-layout.-sizeLL {
      padding: 50px 0; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-section-layout.-sizeLL {
      padding: 50px; } }
  @media print, screen and (min-width: 64em) {
    .p-section-layout.-sizeLL {
      padding: 100px; } }
  .p-section-layout.-bg-blue {
    background-color: #EAF5FE; }

.p-section-layout__inner {
  margin: 0 auto;
  width: 100%; }
  @media only screen and (max-width: 63.9375em) {
    .p-section-layout__inner {
      padding: 0 4%; } }
  .p-section-layout__inner.-sizeM {
    max-width: 960px; }
  .p-section-layout__inner.-sizeL {
    max-width: 1200px; }

.p-section-layout__subtitle {
  text-align: center; }

.p-section-layout__title {
  text-align: center;
  margin-top: 9px;
  position: relative; }
  .p-section-layout__title:after {
    content: '';
    position: absolute;
    bottom: -32px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: 70px;
    height: 3px;
    background-color: #00AEFF; }

.p-section-layout__dsc {
  text-align: center;
  margin-top: 64px; }

.p-section-layout__bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }

@media only screen and (max-width: 48em) {
  .p-alternative-table {
    padding: 40px 20px; } }

.p-alternative-table__inner {
  width: 100%; }

.p-alternative-table__label-x {
  width: 100%;
  position: relative; }
  .p-alternative-table__label-x::before {
    content: attr(data-left) "";
    display: bold;
    position: absolute;
    top: 50%;
    left: -50px;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    font-size: 16px;
    font-size: 1rem;
    font-weight: bold;
    color: #000; }
    @media only screen and (max-width: 48em) {
      .p-alternative-table__label-x::before {
        left: -30px;
        -webkit-writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
                writing-mode: vertical-rl; } }
  .p-alternative-table__label-x::after {
    content: attr(data-right) "";
    position: absolute;
    top: 50%;
    right: -60px;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    font-size: 16px;
    font-size: 1rem;
    font-weight: bold; }
    @media only screen and (max-width: 48em) {
      .p-alternative-table__label-x::after {
        right: -30px;
        -webkit-writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
                writing-mode: vertical-rl; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-alternative-table__label-x.-en::before {
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl; } }
  @media print, screen and (min-width: 75em) {
    .p-alternative-table__label-x.-en::before {
      -webkit-writing-mode: horizontal-tb;
          -ms-writing-mode: lr-tb;
              writing-mode: horizontal-tb;
      left: -80px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-alternative-table__label-x.-en::after {
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl; } }
  @media print, screen and (min-width: 75em) {
    .p-alternative-table__label-x.-en::after {
      -webkit-writing-mode: horizontal-tb;
          -ms-writing-mode: lr-tb;
              writing-mode: horizontal-tb;
      right: -120px; } }

.p-alternative-table__label-y {
  width: 100%;
  position: relative; }
  .p-alternative-table__label-y::before {
    content: attr(data-top) "";
    display: bold;
    position: absolute;
    top: -40px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: bold;
    color: #000; }
  .p-alternative-table__label-y::after {
    content: attr(data-bottom) "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    font-size: 16px;
    font-size: 1rem;
    font-weight: bold; }
  @media only screen and (max-width: 48em) {
    .p-alternative-table__label-y.-en::before {
      top: -70px; } }

.p-main-visual {
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#00AEFF), to(#0576CE));
  background: -webkit-linear-gradient(left, #00AEFF, #0576CE);
  background: linear-gradient(to right, #00AEFF, #0576CE);
  position: relative; }
  @media only screen and (max-width: 48em) {
    .p-main-visual {
      margin-top: 60px;
      min-height: 150px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-main-visual {
      margin-top: 60px;
      min-height: 250px; } }
  @media print, screen and (min-width: 64em) {
    .p-main-visual {
      margin-top: 90px;
      min-height: 250px; } }

.p-main-visual__content {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%); }
  @media only screen and (max-width: 63.9375em) {
    .p-main-visual__content {
      padding: 0 4%; } }

.p-main-visual__content-warp {
  width: 100%;
  max-width: 960px;
  margin: 0 auto; }

.p-main-visual__content-sub {
  text-align: center; }

.p-main-visual__content-title {
  text-align: center; }

.p-main-visual__breadcrumbs {
  position: absolute;
  bottom: 20px; }
  @media only screen and (max-width: 48em) {
    .p-main-visual__breadcrumbs {
      right: 4%; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-main-visual__breadcrumbs {
      right: 4%; } }
  @media print, screen and (min-width: 64em) {
    .p-main-visual__breadcrumbs {
      right: calc( (100% - 960px) / 2); } }

.p-main-visual {
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#00AEFF), to(#0576CE));
  background: -webkit-linear-gradient(left, #00AEFF, #0576CE);
  background: linear-gradient(to right, #00AEFF, #0576CE);
  position: relative; }
  @media only screen and (max-width: 48em) {
    .p-main-visual {
      margin-top: 60px;
      min-height: 150px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-main-visual {
      margin-top: 60px;
      min-height: 250px; } }
  @media print, screen and (min-width: 64em) {
    .p-main-visual {
      margin-top: 90px;
      min-height: 250px; } }

.p-main-visual__content {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%); }
  @media only screen and (max-width: 63.9375em) {
    .p-main-visual__content {
      padding: 0 4%; } }

.p-main-visual__content-warp {
  width: 100%;
  max-width: 960px;
  margin: 0 auto; }

.p-main-visual__content-sub {
  text-align: center; }

.p-main-visual__content-title {
  text-align: center; }

.p-main-visual__breadcrumbs {
  position: absolute;
  bottom: 20px; }
  @media only screen and (max-width: 48em) {
    .p-main-visual__breadcrumbs {
      right: 4%; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-main-visual__breadcrumbs {
      right: 4%; } }
  @media print, screen and (min-width: 64em) {
    .p-main-visual__breadcrumbs {
      right: calc( (100% - 960px) / 2); } }

.p-message {
  background-color: #fff;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 48em) {
    .p-message {
      padding: 40px 16px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-message {
      padding: 80px 50px; } }
  @media print, screen and (min-width: 64em) {
    .p-message {
      padding: 80px 140px;
      max-width: 1200px; } }

.p-message__section-title {
  position: relative; }
  .p-message__section-title:after {
    content: '';
    position: absolute;
    bottom: -32px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: 70px;
    height: 5px;
    background-color: #00AEFF; }

.p-message__section-label {
  text-align: center; }

@media print, screen and (min-width: 64em) {
  .p-message__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 85px; } }

.p-message__left {
  -ms-flex-negative: 0;
      flex-shrink: 0; }
  @media only screen and (max-width: 48em) {
    .p-message__left {
      margin: 100px auto 0 auto; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-message__left {
      width: 300px;
      margin: 100px auto 0 auto; } }
  @media print, screen and (min-width: 64em) {
    .p-message__left {
      width: 300px;
      margin: 0; } }

@media only screen and (max-width: 63.9375em) {
  .p-message__right {
    margin-top: 80px; } }

@media print, screen and (min-width: 64em) {
  .p-message__right {
    margin-left: 60px; } }

.p-message__title {
  position: relative; }
  .p-message__title::before {
    position: absolute;
    display: block;
    width: 70px;
    height: 2px;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    background-color: #00AEFF; }

.p-message__text {
  margin-top: 30px; }

.p-message__preparation {
  text-align: center;
  width: 100%;
  border: solid 1px #C2C2C2;
  padding: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media only screen and (max-width: 63.9375em) {
    .p-message__preparation {
      height: 75px; } }
  @media print, screen and (min-width: 64em) {
    .p-message__preparation {
      height: 150px; } }
  @media only screen and (max-width: 63.9375em) {
    .p-message__preparation.-margin-top-M {
      margin-top: 90px; } }
  .p-message__preparation .c-sentence {
    color: #C2C2C2; }

.p-member {
  margin: 0 auto;
  background-color: #fff;
  width: 100%; }
  @media only screen and (max-width: 48em) {
    .p-member {
      padding: 40px 16px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-member {
      padding: 80px 50px; } }
  @media print, screen and (min-width: 64em) {
    .p-member {
      max-width: 1200px;
      padding: 80px; } }

.p-member__section-label {
  text-align: center; }

.p-member__section-title {
  position: relative; }
  .p-member__section-title:after {
    content: '';
    position: absolute;
    bottom: -32px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: 70px;
    height: 5px;
    background-color: #00AEFF; }

@media only screen and (max-width: 63.9375em) {
  .p-member__content-top {
    margin-top: 95px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

@media print, screen and (min-width: 64em) {
  .p-member__content-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 95px; } }

@media only screen and (max-width: 63.9375em) {
  .p-member__content-bottom {
    margin-top: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

@media print, screen and (min-width: 64em) {
  .p-member__content-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 80px; } }

.p-purpose {
  width: 100%;
  background-color: #fff; }
  @media only screen and (max-width: 63.9375em) {
    .p-purpose {
      padding: 40px 16px; } }
  @media print, screen and (min-width: 64em) {
    .p-purpose {
      padding: 100px 0;
      max-width: 1200px;
      margin: 0 auto; } }

.p-purpose__section-label {
  text-align: center; }

.p-purpose__section-content {
  width: 100%; }
  @media only screen and (max-width: 63.9375em) {
    .p-purpose__section-content {
      margin-top: 60px; } }
  @media print, screen and (min-width: 64em) {
    .p-purpose__section-content {
      max-width: 880px;
      margin: 80px auto 0 auto; } }

@media print, screen and (min-width: 64em) {
  .p-purpose__table {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto 0px auto 0px auto 0px auto;
    -ms-grid-columns: 1fr 40px 1fr 40px 1fr 40px 1fr;
        grid-template: 'title1 data1' 'title2 data2' 'title3 data3' 'title4 data4' / 1fr 1fr 1fr 1fr;
    gap: 0px 40px;
    -ms-grid-columns: 19.7% 40px 1fr;
    grid-template-columns: 19.7% 1fr; } }

@media only screen and (max-width: 63.9375em) {
  .p-purpose__table-title {
    padding-top: 20px;
    font-size: 14px;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 64em) {
  .p-purpose__table-title {
    border-bottom: solid 1px #C2C2C2;
    padding: 30px 0; } }

.p-purpose__table-title:nth-of-type(1) {
  border-top: solid 1px #C2C2C2; }

.p-purpose__table-title.-title1 {
  grid-area: title1; }

.p-purpose__table-title.-title2 {
  grid-area: title2; }

.p-purpose__table-title.-title3 {
  grid-area: title3; }

.p-purpose__table-title.-title4 {
  grid-area: title4; }

@media only screen and (max-width: 63.9375em) {
  .p-purpose__table-data {
    border-bottom: solid 1px #C2C2C2;
    padding-bottom: 20px;
    font-size: 14px;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 64em) {
  .p-purpose__table-data {
    border-bottom: solid 1px #C2C2C2;
    padding: 30px 0; } }

@media print, screen and (min-width: 64em) {
  .p-purpose__table-data:nth-of-type(1) {
    border-top: solid 1px #C2C2C2; } }

.p-purpose__table-data.-data1 {
  grid-area: data1; }

.p-purpose__table-data.-data2 {
  grid-area: data2; }

.p-purpose__table-data.-data3 {
  grid-area: data3; }

.p-purpose__table-data.-data4 {
  grid-area: data4; }

@media print, screen and (min-width: 64em){
  .p-purpose__table-title.-title1 {
    -ms-grid-row: 1;
    -ms-grid-column: 1; }
  .p-purpose__table-title.-title2 {
    -ms-grid-row: 3;
    -ms-grid-column: 1; }
  .p-purpose__table-title.-title3 {
    -ms-grid-row: 5;
    -ms-grid-column: 1; }
  .p-purpose__table-title.-title4 {
    -ms-grid-row: 7;
    -ms-grid-column: 1; }
  .p-purpose__table-data.-data1 {
    -ms-grid-row: 1;
    -ms-grid-column: 3; }
  .p-purpose__table-data.-data2 {
    -ms-grid-row: 3;
    -ms-grid-column: 3; }
  .p-purpose__table-data.-data3 {
    -ms-grid-row: 5;
    -ms-grid-column: 3; }
  .p-purpose__table-data.-data4 {
    -ms-grid-row: 7;
    -ms-grid-column: 3; } }

.p-purpose__table-data a {
  color: #00AEFF;
  text-decoration: none;
  margin-left: 16px; }

@media only screen and (max-width: 63.9375em) {
  .p-purpose__map {
    margin-top: 40px; } }

@media print, screen and (min-width: 64em) {
  .p-purpose__map {
    margin-top: 80px; } }

.p-purpose__map-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .p-purpose__map-link a {
    color: #00AEFF;
    text-decoration: none; }

.p-purpose__section-regulations {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media only screen and (max-width: 63.9375em) {
    .p-purpose__section-regulations {
      margin-top: 30px; } }

.p-regulations-button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  border-radius: 35px;
  text-decoration: none;
  background-color: #00AEFF; }
  @media print, screen and (min-width: 48.0625em) {
    .p-regulations-button {
      background-color: transparent;
      background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #008AD9), color-stop(50%, #00AEFF));
      background-image: -webkit-linear-gradient(left, #008AD9 50%, #00AEFF 50%);
      background-image: linear-gradient(to right, #008AD9 50%, #00AEFF 50%);
      background-size: 200% 100%;
      -webkit-transition: background-position .2s linear;
      transition: background-position .2s linear;
      background-position: -100% 0;
      background-repeat: repeat; } }
  @media only screen and (max-width: 63.9375em) {
    .p-regulations-button {
      margin-top: 60px;
      font-size: 14px;
      font-size: 0.875rem;
      width: 100%;
      height: 45px; } }
  @media print, screen and (min-width: 64em) {
    .p-regulations-button {
      margin-top: 100px;
      font-size: 16px;
      font-size: 1rem;
      width: 320px;
      height: 55px; } }
  @media print, screen and (min-width: 64em) and (min-width: 48.0625em) {
    .p-regulations-button:hover {
      -webkit-animation: buttonSlide3 .2s linear;
              animation: buttonSlide3 .2s linear;
      background-position: 0 0; } }
  .p-regulations-button.-margin_0 {
    margin: 0; }
  .p-regulations-button.-white {
    border: solid 2px #00AEFF;
    color: #00AEFF;
    background-color: #fff;
    background-color: #fff; }
    @media print, screen and (min-width: 48.0625em) {
      .p-regulations-button.-white {
        background-color: transparent;
        background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #00AEFF), color-stop(50%, #fff));
        background-image: -webkit-linear-gradient(left, #00AEFF 50%, #fff 50%);
        background-image: linear-gradient(to right, #00AEFF 50%, #fff 50%);
        background-size: 200% 100%;
        -webkit-transition: background-position .2s linear;
        transition: background-position .2s linear;
        background-position: -100% 0;
        background-repeat: repeat; } }
    @media print, screen and (min-width: 48.0625em) {
      .p-regulations-button.-white:hover {
        color: #fff; } }
  @media print, screen and (min-width: 48.0625em) and (min-width: 48.0625em) {
    .p-regulations-button.-white:hover {
      -webkit-animation: buttonSlide3 .2s linear;
              animation: buttonSlide3 .2s linear;
      background-position: 0 0; } }
  .p-regulations-button.-size_L {
    width: 100%; }

.p-regulations-button__icon {
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%); }

.p-profile-modal {
  display: none; }
  .p-profile-modal.is-open {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 300; }

.p-profile-modal__bg {
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%; }

.p-contact-form {
  width: 100%;
  background-color: #fff; }
  @media only screen and (max-width: 63.9375em) {
    .p-contact-form {
      padding: 50px 4%; } }
  @media print, screen and (min-width: 64em) {
    .p-contact-form {
      max-width: 1200px;
      margin: 0 auto;
      padding: 100px 50px; } }

.p-contact-form__success {
  font-weight: bold; }
  @media only screen and (max-width: 63.9375em) {
    .p-contact-form__success {
      font-size: 16px;
      font-size: 1rem;
      text-align: center; } }
  @media print, screen and (min-width: 64em) {
    .p-contact-form__success {
      font-size: 28px;
      font-size: 1.75rem;
      text-align: center; } }

@media print, screen and (min-width: 64em) {
  .p-contact-form__message {
    text-align: center; } }

.p-contact-form__message.-success {
  text-align: center; }
  @media only screen and (max-width: 63.9375em) {
    .p-contact-form__message.-success {
      margin-top: 25px; } }
  @media print, screen and (min-width: 64em) {
    .p-contact-form__message.-success {
      margin-top: 45px; } }

.p-contact-form__message.-center {
  text-align: center; }

.p-contact-form__dl {
  width: 100%; }
  @media only screen and (max-width: 63.9375em) {
    .p-contact-form__dl {
      margin-top: 35px; } }
  @media print, screen and (min-width: 64em) {
    .p-contact-form__dl {
      max-width: 960px;
      margin: 80px auto 0 auto; } }

@media print, screen and (min-width: 64em) {
  .p-contact-form__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

@media only screen and (max-width: 63.9375em) {
  .p-contact-form__row + .p-contact-form__row {
    margin-top: 20px; } }

@media print, screen and (min-width: 64em) {
  .p-contact-form__row + .p-contact-form__row {
    margin-top: 30px; } }

.p-contact-form__dt {
  width: 100%; }
  @media print, screen and (min-width: 64em) {
    .p-contact-form__dt {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      max-width: 200px; } }

.p-contact-form__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .p-contact-form__label span {
    background-color: #00AEFF;
    color: #fff;
    margin-left: 10px;
    line-height: 1; }
    @media only screen and (max-width: 63.9375em) {
      .p-contact-form__label span {
        font-size: 12px;
        font-size: 0.75rem;
        margin-top: 4px;
        padding: 3px 7px 5px 7px; } }
    @media print, screen and (min-width: 64em) {
      .p-contact-form__label span {
        font-size: 12px;
        font-size: 0.75rem;
        padding: 5px 10px 7px 10px;
        margin-top: 4px; } }

.p-contact-form__dd {
  width: 100%; }
  @media print, screen and (min-width: 64em) {
    .p-contact-form__dd {
      margin-left: 25px; } }
  .p-contact-form__dd input {
    width: 100%;
    border: solid 1px #C2C2C2;
    padding: 15px;
    display: block;
    color: #0F0F0F; }
    @media only screen and (max-width: 63.9375em) {
      .p-contact-form__dd input {
        font-size: 14px;
        font-size: 0.875rem;
        margin-top: 5px; } }
    @media print, screen and (min-width: 64em) {
      .p-contact-form__dd input {
        font-size: 16px;
        font-size: 1rem; } }
  .p-contact-form__dd textarea {
    width: 100%;
    border: solid 1px #C2C2C2;
    padding: 15px;
    display: block;
    color: #0F0F0F; }
    @media only screen and (max-width: 63.9375em) {
      .p-contact-form__dd textarea {
        font-size: 18px;
        font-size: 1.125rem;
        margin-top: 5px; } }
    @media print, screen and (min-width: 64em) {
      .p-contact-form__dd textarea {
        font-size: 16px;
        font-size: 1rem; } }
  .p-contact-form__dd .error {
    display: block;
    color: #ff0000;
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 3px; }

@media print, screen and (min-width: 64em) {
  .p-contact-form__button-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 40px; } }

.p-contact-form__sand-button {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative; }
  @media only screen and (max-width: 63.9375em) {
    .p-contact-form__sand-button {
      width: 100%;
      margin-top: 40px; } }
  @media print, screen and (min-width: 64em) {
    .p-contact-form__sand-button {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-top: 0; } }
  .p-contact-form__sand-button.-back input {
    background-color: #56c1ff; }
    @media print, screen and (min-width: 48.0625em) {
      .p-contact-form__sand-button.-back input {
        background-color: transparent;
        background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #008AD9), color-stop(50%, #56c1ff));
        background-image: -webkit-linear-gradient(left, #008AD9 50%, #56c1ff 50%);
        background-image: linear-gradient(to right, #008AD9 50%, #56c1ff 50%);
        background-size: 200% 100%;
        -webkit-transition: background-position .2s linear;
        transition: background-position .2s linear;
        background-position: -100% 0;
        background-repeat: repeat; } }
    @media print, screen and (min-width: 48.0625em) {
      .p-contact-form__sand-button.-back input:hover {
        -webkit-animation: buttonSlide3 .2s linear;
                animation: buttonSlide3 .2s linear;
        background-position: 0 0; } }
  .p-contact-form__sand-button.-back .p-contact-form__button-icon {
    left: 16px; }
  .p-contact-form__sand-button.-thanks {
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    overflow: hidden;
    position: relative;
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: bold;
    border: none;
    outline: none;
    cursor: pointer;
    width: 100%;
    background-color: #00AEFF;
    border-radius: 27px; }
    @media print, screen and (min-width: 48.0625em) {
      .p-contact-form__sand-button.-thanks {
        background-color: transparent;
        background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #008AD9), color-stop(50%, #00AEFF));
        background-image: -webkit-linear-gradient(left, #008AD9 50%, #00AEFF 50%);
        background-image: linear-gradient(to right, #008AD9 50%, #00AEFF 50%);
        background-size: 200% 100%;
        -webkit-transition: background-position .2s linear;
        transition: background-position .2s linear;
        background-position: -100% 0;
        background-repeat: repeat; } }
    @media only screen and (max-width: 63.9375em) {
      .p-contact-form__sand-button.-thanks {
        height: 56px; } }
    @media print, screen and (min-width: 64em) {
      .p-contact-form__sand-button.-thanks {
        width: 320px;
        height: 56px; } }
    @media print, screen and (min-width: 48.0625em) {
      .p-contact-form__sand-button.-thanks:hover {
        -webkit-animation: buttonSlide3 .2s linear;
                animation: buttonSlide3 .2s linear;
        background-position: 0 0; } }
  .p-contact-form__sand-button input {
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    overflow: hidden;
    position: relative;
    color: #fff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: bold;
    border: none;
    outline: none;
    cursor: pointer;
    width: 100%;
    background-color: #00AEFF;
    border-radius: 27px; }
    @media print, screen and (min-width: 48.0625em) {
      .p-contact-form__sand-button input {
        background-color: transparent;
        background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #008AD9), color-stop(50%, #00AEFF));
        background-image: -webkit-linear-gradient(left, #008AD9 50%, #00AEFF 50%);
        background-image: linear-gradient(to right, #008AD9 50%, #00AEFF 50%);
        background-size: 200% 100%;
        -webkit-transition: background-position .2s linear;
        transition: background-position .2s linear;
        background-position: -100% 0;
        background-repeat: repeat; } }
    @media only screen and (max-width: 63.9375em) {
      .p-contact-form__sand-button input {
        height: 56px; } }
    @media print, screen and (min-width: 64em) {
      .p-contact-form__sand-button input {
        width: 320px;
        height: 56px; } }
    @media print, screen and (min-width: 48.0625em) {
      .p-contact-form__sand-button input:hover {
        -webkit-animation: buttonSlide3 .2s linear;
                animation: buttonSlide3 .2s linear;
        background-position: 0 0; } }
  .p-contact-form__sand-button .p-contact-form__button-icon {
    display: none; }
  .p-contact-form__sand-button input + .p-contact-form__button-icon {
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    width: 32px;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%); }
  @media print, screen and (min-width: 64em) {
    .p-contact-form__sand-button + .p-contact-form__sand-button {
      margin-left: 10px; } }

.p-applications {
  width: 100%;
  background-color: #fff; }
  @media only screen and (max-width: 63.9375em) {
    .p-applications {
      padding: 40px 4%; } }
  @media print, screen and (min-width: 64em) {
    .p-applications {
      max-width: 1200px;
      margin: 0 auto;
      padding: 100px 0; } }

.p-applications__inner {
  width: 100%; }
  @media print, screen and (min-width: 64em) {
    .p-applications__inner {
      margin: 0 auto;
      max-width: 960px; } }

@media print, screen and (min-width: 64em) {
  .p-applications__text {
    text-align: center; } }

.p-applications__application-paper {
  background-color: #EAF5FE; }
  @media only screen and (max-width: 63.9375em) {
    .p-applications__application-paper {
      padding: 35px 4%;
      margin-top: 40px; } }
  @media print, screen and (min-width: 64em) {
    .p-applications__application-paper {
      padding: 50px;
      margin-top: 55px; } }

.p-applications__paper-title {
  font-weight: bold;
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    .p-applications__paper-title {
      font-size: 28px;
      font-size: 1.75rem; } }

.p-applications__download {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media only screen and (max-width: 63.9375em) {
    .p-applications__download {
      margin-top: 20px; } }
  @media print, screen and (min-width: 64em) {
    .p-applications__download {
      margin-top: 20px; } }

@media only screen and (max-width: 63.9375em) {
  .p-rules {
    margin-top: 30px; } }

@media print, screen and (min-width: 64em) {
  .p-rules {
    margin-top: 60px; } }

.p-rules__warp {
  border: solid 1px #C2C2C2;
  overflow-y: auto;
  height: 400px;
  margin-top: 16px; }

.p-rules__message {
  color: #ff0000; }
  @media only screen and (max-width: 63.9375em) {
    .p-rules__message {
      margin-top: 20px; } }
  @media print, screen and (min-width: 64em) {
    .p-rules__message {
      text-align: center;
      margin-top: 30px; } }

.p-rules__mail {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media only screen and (max-width: 63.9375em) {
    .p-rules__mail {
      margin-top: 30px;
      border-top: solid 1px #C2C2C2;
      border-bottom: solid 1px #C2C2C2; } }
  @media print, screen and (min-width: 64em) {
    .p-rules__mail {
      margin-top: 30px;
      border-top: solid 1px #C2C2C2;
      border-bottom: solid 1px #C2C2C2; } }
  @media only screen and (max-width: 63.9375em) {
    .p-rules__mail span {
      padding: 30px 0;
      margin-left: 10px;
      font-size: 20px;
      font-size: 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .p-rules__mail span {
      padding: 40px 0;
      font-size: 24px;
      font-size: 1.5rem;
      margin-left: 10px; } }

@media only screen and (max-width: 63.9375em) {
  .p-rules__content {
    padding: 40px 10px; } }

@media print, screen and (min-width: 64em) {
  .p-rules__content {
    padding: 50px; } }

.p-rules__content .title-area {
  text-align: center;
  padding-bottom: 20px;
  border-bottom: solid 1px #C2C2C2; }

.p-rules__content .sub-title {
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold; }

.p-rules__content h2 {
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold; }

.p-rules__content h3 {
  font-size: 14px;
  font-size: 0.875rem;
  margin-top: 32px; }

.p-rules__content p {
  font-size: 14px;
  font-size: 0.875rem; }

.p-rules__content p + p {
  margin-top: 20px; }

.p-rules__content table, .p-rules__content th, .p-rules__content td {
  border: solid 1px #000000;
  border-collapse: separate; }

.p-rules__content table {
  margin-top: 20px;
  margin-bottom: 20px; }

.p-rules__content th, .p-rules__content td {
  padding: 5px 16px; }

.p-article {
  width: 100%; }
  @media print, screen and (min-width: 64em) {
    .p-article {
      max-width: 1200px;
      margin: 0 auto; } }

@media only screen and (max-width: 48em) {
  .p-article__content {
    width: 100%; } }

@media print, screen and (min-width: 48.0625em) {
  .p-article__content {
    display: -ms-grid;
    display: grid;
    grid-gap: 50px 30px;
    grid: auto-flow 1fr/calc((100% / 2) - 15px) calc((100% / 2) - 15px); } }

@media print, screen and (min-width: 64em) {
  .p-article__content {
    grid: auto-flow 1fr/calc((100% / 3) - 20px) calc((100% / 3) - 20px) calc((100% / 3) - 20px); } }

@media only screen and (max-width: 63.9375em) {
  .p-article__pagination {
    margin-top: 40px; } }

@media print, screen and (min-width: 64em) {
  .p-article__pagination {
    margin-top: 80px; } }

.p-company-logos {
  margin-top: 80px; }

.p-section-desc {
  margin-top: 75px; }

.p-link-area {
  width: 100%; }
  @media print, screen and (min-width: 48.0625em) {
    .p-link-area {
      max-width: 682px;
      margin: 0 auto;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-top: 50px; } }
  .p-link-area.-space-between {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .p-link-area.-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  @media print, screen and (min-width: 48.0625em) {
    .p-link-area.-col_2 .p-link-area__item {
      width: calc(50% - 20px); } }
  @media print, screen and (min-width: 48.0625em) {
    .p-link-area.-col_2 .p-link-area__item:nth-child(n + 3) {
      margin-top: 30px; } }

.p-link-area__item {
  width: 100%; }
  @media only screen and (max-width: 48em) {
    .p-link-area__item:first-child {
      margin-top: 25px; } }
  @media only screen and (max-width: 48em) {
    .p-link-area__item + .p-link-area__item {
      margin-top: 10px; } }

.p-my-page__materials-cat {
  border-top: solid 1px #C2C2C2; }
  @media only screen and (max-width: 48em) {
    .p-my-page__materials-cat {
      margin-top: 25px;
      padding-top: 30px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-my-page__materials-cat {
      margin-top: 55px;
      padding-top: 50px; } }
  @media only screen and (max-width: 48em) {
    .p-my-page__materials-cat + .p-my-page__materials-cat {
      margin-top: 30px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-my-page__materials-cat + .p-my-page__materials-cat {
      margin-top: 60px; } }

.p-my-page__materials-cat-title {
  text-align: center; }

.p-translation.-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 48em) {
    .p-translation.-footer {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-translation.-footer {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

.p-translation__button.-footer {
  color: #fff;
  text-decoration: none; }
  @media only screen and (max-width: 48em) {
    .p-translation__button.-footer {
      margin-top: 24px; } }
  .p-translation__button.-footer + .p-translation__button.-footer {
    margin-left: 8px;
    padding-left: 8px;
    border-left: solid 1px #fff; }

.p-translation.-headr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  left: 210px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%); }
  @media only screen and (max-width: 48em) {
    .p-translation.-headr.-pc {
      display: none; } }

.p-translation__button.-headr {
  color: #000;
  text-decoration: none; }
  .p-translation__button.-headr + .p-translation__button.-headr {
    margin-left: 8px;
    padding-left: 8px;
    border-left: solid 1px #000; }
  .p-translation__button.-headr.-current {
    color: #00AEFF; }

.p-anchor-link {
  width: 100%; }
  @media only screen and (max-width: 48em) {
    .p-anchor-link {
      padding: 4%; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-anchor-link {
      max-width: 1200px;
      margin: 0 auto;
      padding: 4%; } }
  @media print, screen and (min-width: 64em) {
    .p-anchor-link {
      padding: 0; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-anchor-link.-col3 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-anchor-link.-col3 .p-anchor-link__itme {
      width: calc((100% / 3) - 15px); } }
  @media print, screen and (min-width: 48.0625em) {
    .p-anchor-link.-col2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-anchor-link.-col2 .p-anchor-link__itme {
      width: calc((100% / 3) - 15px);
      margin-left: 40px; } }
  @media print, screen and (min-width: 48.0625em) {
    .p-anchor-link.-col2 .p-anchor-link__itme:not(:first-child) {
      margin-left: 40px; } }
  .p-anchor-link.-sizeS {
    max-width: 960px; }
  .p-anchor-link.-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

.p-wp-content {
  width: 100%;
  background-color: #fff; }
  @media only screen and (max-width: 63.9375em) {
    .p-wp-content {
      padding: 50px 4%; } }
  @media print, screen and (min-width: 64em) {
    .p-wp-content {
      max-width: 960px;
      margin: 0 auto;
      padding: 50px 30px; } }
  .p-wp-content h2 {
    color: #00AEFF;
    font-weight: bold; }
    @media only screen and (max-width: 63.9375em) {
      .p-wp-content h2 {
        font-size: 24px;
        font-size: 1.5rem;
        margin-top: 48px; } }
    @media print, screen and (min-width: 64em) {
      .p-wp-content h2 {
        font-size: 32px;
        font-size: 2rem;
        margin-top: 64px; } }
  .p-wp-content h3 {
    color: #fff;
    background-color: #00AEFF;
    width: 100%; }
    @media only screen and (max-width: 63.9375em) {
      .p-wp-content h3 {
        font-size: 18px;
        font-size: 1.125rem;
        padding: 3px 10px;
        margin-top: 32px; } }
    @media print, screen and (min-width: 64em) {
      .p-wp-content h3 {
        font-size: 24px;
        font-size: 1.5rem;
        padding: 3px 10px;
        margin-top: 48px; } }
  .p-wp-content h4 {
    color: #00AEFF;
    border-left: solid 5px #00AEFF; }
    @media only screen and (max-width: 63.9375em) {
      .p-wp-content h4 {
        font-size: 16px;
        font-size: 1rem;
        padding-left: 10px;
        margin-top: 32px; } }
    @media print, screen and (min-width: 64em) {
      .p-wp-content h4 {
        font-size: 18px;
        font-size: 1.125rem;
        padding-left: 10px;
        margin-top: 32px; } }
  @media only screen and (max-width: 63.9375em) {
    .p-wp-content p {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 64em) {
    .p-wp-content p {
      font-size: 18px;
      font-size: 1.125rem; } }
  .p-wp-content h2 + p {
    margin-top: 32px; }
  .p-wp-content h3 + p {
    margin-top: 24px; }
  .p-wp-content h4 + p {
    margin-top: 24px; }
  .p-wp-content img + p {
    margin-top: 32px; }
  .p-wp-content ul + p {
    margin-top: 24px; }
  .p-wp-content ol + p {
    margin-top: 24px; }
  .p-wp-content p + p {
    margin-top: 24px; }
  .p-wp-content img {
    margin-top: 32px; }
  .p-wp-content ul, .p-wp-content ol {
    margin-top: 16px; }
  .p-wp-content ul li {
    position: relative; }
    @media only screen and (max-width: 63.9375em) {
      .p-wp-content ul li {
        margin-left: 35px; }
        .p-wp-content ul li + li {
          margin-top: 5px; } }
    @media print, screen and (min-width: 64em) {
      .p-wp-content ul li {
        margin-left: 40px; }
        .p-wp-content ul li + li {
          margin-top: 5px; } }
    .p-wp-content ul li::before {
      content: '';
      position: absolute;
      top: 11px;
      left: -12px;
      width: 7px;
      height: 7px;
      background-color: #00AEFF;
      border-radius: 50%; }
  @media only screen and (max-width: 63.9375em) {
    .p-wp-content ol li + li {
      margin-top: 5px; } }
  @media print, screen and (min-width: 64em) {
    .p-wp-content ol li + li {
      margin-top: 5px; } }

@media only screen and (max-width: 63.9375em) {
  .p-login-page fieldset {
    margin-top: 60px !important; } }

@media print, screen and (min-width: 64em) {
  .p-login-page fieldset {
    margin-top: 60px !important; } }

.p-login-page fieldset .div_text {
  width: 100% !important; }
  @media only screen and (max-width: 63.9375em) {
    .p-login-page fieldset .div_text {
      margin-bottom: 16px !important; } }
  @media print, screen and (min-width: 64em) {
    .p-login-page fieldset .div_text {
      margin-bottom: 32px !important; } }
  .p-login-page fieldset .div_text input {
    border: solid 1px #C2C2C2 !important;
    width: 100% !important; }
    @media only screen and (max-width: 63.9375em) {
      .p-login-page fieldset .div_text input {
        height: 40px !important;
        margin-top: 5px !important; } }
    @media print, screen and (min-width: 64em) {
      .p-login-page fieldset .div_text input {
        margin-top: 10px !important;
        height: 64px !important; } }

.p-login-page fieldset legend {
  display: none; }

.p-login-page fieldset .button_div {
  text-align: center !important;
  width: 100% !important; }

.p-login-page fieldset .buttons {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  border-radius: 35px;
  text-decoration: none;
  border: none;
  margin: 0 auto !important;
  background-color: #00AEFF; }
  @media print, screen and (min-width: 48.0625em) {
    .p-login-page fieldset .buttons {
      background-color: transparent;
      background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #008AD9), color-stop(50%, #00AEFF));
      background-image: -webkit-linear-gradient(left, #008AD9 50%, #00AEFF 50%);
      background-image: linear-gradient(to right, #008AD9 50%, #00AEFF 50%);
      background-size: 200% 100%;
      -webkit-transition: background-position .2s linear;
      transition: background-position .2s linear;
      background-position: -100% 0;
      background-repeat: repeat; } }
  @media only screen and (max-width: 63.9375em) {
    .p-login-page fieldset .buttons {
      margin-top: 60px;
      font-size: 14px;
      font-size: 0.875rem;
      width: 100%;
      height: 45px; } }
  @media print, screen and (min-width: 64em) {
    .p-login-page fieldset .buttons {
      margin-top: 100px;
      font-size: 16px;
      font-size: 1rem;
      width: 320px;
      height: 55px; } }
  @media print, screen and (min-width: 64em) and (min-width: 48.0625em) {
    .p-login-page fieldset .buttons:hover {
      -webkit-animation: buttonSlide3 .2s linear;
              animation: buttonSlide3 .2s linear;
      background-position: 0 0; } }

.p-login-page fieldset .req {
  color: #00AEFF !important; }

/*Component
------------------------------------------------------*/
.c-logo {
  width: 100%; }
  @media only screen and (max-width: 48em) {
    .c-logo {
      max-width: 70px; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-logo {
      max-width: 120px; } }
  .c-logo img {
    width: 100%; }

.c-pc-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.c-pc-nav__item {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #0F0F0F;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: none; }
  .c-pc-nav__item + .c-pc-nav__item {
    margin-left: 16px; }
  .c-pc-nav__item:hover {
    color: #00AEFF; }
  .c-pc-nav__item.-current {
    color: #00AEFF; }

.c-header-contact {
  background-color: #00AEFF;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  overflow: hidden;
  position: relative;
  padding: 0 16px;
  background-color: #00AEFF; }
  @media print, screen and (min-width: 48.0625em) {
    .c-header-contact {
      background-color: transparent;
      background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #0F0F0F), color-stop(50%, #00AEFF));
      background-image: -webkit-linear-gradient(left, #0F0F0F 50%, #00AEFF 50%);
      background-image: linear-gradient(to right, #0F0F0F 50%, #00AEFF 50%);
      background-size: 200% 100%;
      -webkit-transition: background-position .2s linear;
      transition: background-position .2s linear;
      background-position: -100% 0;
      background-repeat: repeat; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-header-contact:hover {
      -webkit-animation: buttonSlide3 .2s linear;
              animation: buttonSlide3 .2s linear;
      background-position: 0 0; } }
  .c-header-contact.-applications {
    background-color: #003570; }
    @media print, screen and (min-width: 48.0625em) {
      .c-header-contact.-applications {
        background-color: transparent;
        background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #0F0F0F), color-stop(50%, #003570));
        background-image: -webkit-linear-gradient(left, #0F0F0F 50%, #003570 50%);
        background-image: linear-gradient(to right, #0F0F0F 50%, #003570 50%);
        background-size: 200% 100%;
        -webkit-transition: background-position .2s linear;
        transition: background-position .2s linear;
        background-position: -100% 0;
        background-repeat: repeat; } }
    @media print, screen and (min-width: 48.0625em) {
      .c-header-contact.-applications:hover {
        -webkit-animation: buttonSlide3 .2s linear;
                animation: buttonSlide3 .2s linear;
        background-position: 0 0; } }
  @media only screen and (max-width: 48em) {
    .c-header-contact.-pc {
      display: none; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-header-contact.-pc {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .c-header-contact span {
    font-size: 18px;
    font-size: 1.125rem;
    margin-left: 10px;
    color: #fff; }

.c-sp-navbutton {
  border: none;
  position: relative;
  background-color: #00AEFF;
  width: 100%;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer; }
  @media only screen and (max-width: 48em) {
    .c-sp-navbutton {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-sp-navbutton {
      display: none; } }
  .c-sp-navbutton::before, .c-sp-navbutton::after {
    content: '';
    position: absolute;
    width: 30px;
    height: 3px;
    background-color: #fff;
    left: 50%;
    top: 50px; }
  .c-sp-navbutton::before {
    -webkit-transform: translate(-50%, -32px);
            transform: translate(-50%, -32px); }
  .c-sp-navbutton::after {
    -webkit-transform: translate(-50%, -10px);
            transform: translate(-50%, -10px); }
  .c-sp-navbutton span {
    width: 30px;
    height: 3px;
    background-color: #fff; }

.c-sp-nav__item {
  display: block;
  padding: 12px 16px;
  background-color: #EBF5FE;
  width: 100%;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  color: #0F0F0F;
  text-decoration: none; }
  .c-sp-nav__item + .c-sp-nav__item {
    margin-top: 5px; }

.c-footer-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }
  @media only screen and (max-width: 48em) {
    .c-footer-nav {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-top: 80px; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-footer-nav {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }

.c-footer-nav__item {
  color: #fff;
  text-decoration: none; }
  @media only screen and (max-width: 48em) {
    .c-footer-nav__item {
      width: calc( (100% - 40px) / 2);
      border-bottom: solid 1px #868686;
      text-align: center;
      padding-bottom: 10px; }
      .c-footer-nav__item:nth-child(2n) {
        margin-left: 40px; }
      .c-footer-nav__item:nth-child(n+3) {
        margin-top: 50px; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-footer-nav__item {
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 64em) {
    .c-footer-nav__item {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-footer-nav__item:hover {
      text-decoration: underline; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-footer-nav__item + .c-footer-nav__item {
      margin-left: 25px; } }
  @media print, screen and (min-width: 64em) {
    .c-footer-nav__item + .c-footer-nav__item {
      margin-left: 40px; } }

.c-footer-logo {
  width: 100%;
  height: 100%; }

.c-sentence {
  font-weight: normal;
  color: #0F0F0F;
  word-wrap: break-word;
  text-decoration: none; }
  @media only screen and (max-width: 63.9375em) {
    .c-sentence.-size-48-28 {
      font-size: 28px;
      font-size: 1.75rem;
      line-height: 1.5; }
    .c-sentence.-size-32-24 {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.5; }
    .c-sentence.-size-32-20 {
      font-size: 20px;
      font-size: 1.25rem;
      line-height: 1.5; }
    .c-sentence.-size-24-18 {
      font-size: 18px;
      font-size: 1.125rem;
      line-height: 1.7; }
    .c-sentence.-size-18-16 {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.7; }
    .c-sentence.-size-16-14 {
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.7; } }
  @media print, screen and (min-width: 64em) {
    .c-sentence.-size-48-28 {
      font-size: 48px;
      font-size: 3rem;
      line-height: 1.3; }
    .c-sentence.-size-32-24 {
      font-size: 32px;
      font-size: 2rem;
      line-height: 1.5; }
    .c-sentence.-size-24-18 {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.7; }
    .c-sentence.-size-32-20 {
      font-size: 32px;
      font-size: 2rem;
      line-height: 1.5; }
    .c-sentence.-size-18-16 {
      font-size: 18px;
      font-size: 1.125rem;
      line-height: 1.7; }
    .c-sentence.-size-16-14 {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.7; } }
  .c-sentence.-White {
    color: #fff; }
  .c-sentence.-blue {
    color: #00AEFF; }
  .c-sentence.-bold {
    font-weight: bold; }
  @media print, screen and (min-width: 64em) {
    a:hover .c-sentence.-hover-lane {
      color: #00AEFF;
      font-weight: bold; } }
  .c-sentence + .c-sentence {
    margin-top: 20px; }

@media only screen and (max-width: 48em) {
  .c-alternative-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

@media print, screen and (min-width: 48.0625em) {
  .c-alternative-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

.c-alternative-table__area {
  width: 50%;
  background-color: #fff; }
  @media only screen and (max-width: 48em) {
    .c-alternative-table__area {
      padding: 24px 16px; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-alternative-table__area {
      padding: 64px 50px; } }
  .c-alternative-table__area.-blue {
    background-color: #00AEFF; }

.c-alternative-table__item {
  position: relative; }
  @media only screen and (max-width: 48em) {
    .c-alternative-table__item {
      font-size: 12px;
      font-size: 0.75rem;
      margin-left: 10px; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-alternative-table__item {
      font-size: 16px;
      font-size: 1rem;
      margin-left: 10px; } }
  .c-alternative-table__item::before {
    content: '';
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #0F0F0F;
    top: 13px;
    left: -10px; }
  .c-alternative-table__item.-white {
    color: #fff; }
    .c-alternative-table__item.-white::before {
      background-color: #fff; }
  .c-alternative-table__item.-other::before {
    display: none; }

.c-action-content {
  margin: 0 auto; }

@media print, screen and (min-width: 64em) {
  .c-action-content__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

.c-action-content__item {
  background-color: #fff;
  padding: 50px 30px;
  position: relative; }
  @media only screen and (max-width: 63.9375em) {
    .c-action-content__item {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .c-action-content__item {
      width: calc( (100% / 3) - 30px);
      -ms-flex-negative: 0;
          flex-shrink: 0;
      margin-left: 40px; } }
  @media print, screen and (min-width: 64em) {
    .c-action-content__item:nth-child(3n + 1) {
      margin-left: 0; } }
  @media print, screen and (min-width: 64em) {
    .c-action-content__item:nth-child(n + 4) {
      margin-top: 60px; } }
  .c-action-content__item::before {
    content: attr(data-number) "";
    position: absolute;
    top: -25px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    border-radius: 50%;
    background-color: #00AEFF;
    width: 46px;
    height: 46px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ffffff;
    font-size: 16px;
    font-size: 1rem;
    font-weight: bold; }
  @media only screen and (max-width: 63.9375em) {
    .c-action-content__item + .c-action-content__item {
      margin-top: 40px; } }

@media only screen and (max-width: 63.9375em) {
  .c-company-logos + .c-company-logos {
    margin-top: 25px; } }

@media print, screen and (min-width: 64em) {
  .c-company-logos + .c-company-logos {
    margin-top: 25px; } }

.c-company-logos__item {
  background-color: #EAF5FE; }
  @media only screen and (max-width: 63.9375em) {
    .c-company-logos__item {
      padding: 64px 16px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media print, screen and (min-width: 64em) {
    .c-company-logos__item {
      padding: 50px 25px;
      text-align: center; } }

.c-company-logos__label {
  background-color: #00AEFF;
  color: #fff;
  text-align: center; }
  @media only screen and (max-width: 63.9375em) {
    .c-company-logos__label {
      padding: 3px 10px;
      border-radius: 20px; } }
  @media print, screen and (min-width: 64em) {
    .c-company-logos__label {
      display: inline;
      padding: 3px 10px;
      border-radius: 20px; } }

@media only screen and (max-width: 63.9375em) {
  .c-company-logos__images {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline; } }

@media print, screen and (min-width: 64em) {
  .c-company-logos__images {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline; } }

.c-company-logos__logo {
  text-align: left; }
  @media only screen and (max-width: 63.9375em) {
    .c-company-logos__logo {
      width: calc( (100% / 2 ) - 20px); }
      .c-company-logos__logo:nth-child(even) {
        margin-left: 20px; }
      .c-company-logos__logo:nth-child(n + 3) {
        margin-top: 20px; } }
  @media print, screen and (min-width: 64em) {
    .c-company-logos__logo {
      width: calc( (100% / 4 ) - 40px);
      margin: 0 10px;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      margin-top: 40px; } }
  @media print, screen and (min-width: 64em) {
    .c-company-logos__logo:nth-child(n + 3) {
      margin-top: 30px; } }
  .c-company-logos__logo img {
    background-color: #ccc;
    width: 100%; }
  .c-company-logos__logo span {
    display: block; }
    @media only screen and (max-width: 63.9375em) {
      .c-company-logos__logo span {
        font-size: calc( 10px + ((20 - 10) * (100vw - 375px) / (1024 - 375)));
        line-height: 1.75;
        margin-top: 10px; } }
    @media print, screen and (min-width: 64em) {
      .c-company-logos__logo span {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.75;
        margin-top: 10px; } }

.c-breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.c-breadcrumbs__item {
  color: #fff;
  position: relative; }
  @media only screen and (max-width: 48em) {
    .c-breadcrumbs__item {
      font-size: 10px;
      font-size: 0.625rem; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-breadcrumbs__item {
      font-size: 14px;
      font-size: 0.875rem; } }
  .c-breadcrumbs__item.-home a {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2012.5%2013.62%22%3E%3Cg%3E%3Cpath%20d%3D%22M0%2013.23a.36.36%200%2000.37.39h4.07a.32.32%200%2000.32-.32V8.72s-.06-.59.51-.59h1.84a.55.55%200%2001.63.59v4.56a.32.32%200%2000.32.32h4a.45.45%200%2000.46-.48V5.48a.66.66%200%2000-.24-.48L6.86.16A.65.65%200%20006%20.15L.23%205a.64.64%200%2000-.23.5z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    width: 10px;
    height: 10px;
    display: block; }
  .c-breadcrumbs__item:not(:first-child)::before {
    content: '/';
    position: absolute;
    top: -2px;
    left: -11px; }
  .c-breadcrumbs__item + .c-breadcrumbs__item {
    margin-left: 20px; }
  .c-breadcrumbs__item a {
    color: #fff;
    text-decoration: none; }

.c-profile {
  width: 100%; }
  @media only screen and (max-width: 63.9375em) {
    .c-profile.-col3 {
      width: calc( (100% / 2) - 10px); } }
  @media print, screen and (min-width: 64em) {
    .c-profile.-col3 {
      width: calc( (100% / 3) - 33px); } }
  @media only screen and (max-width: 63.9375em) {
    .c-profile.-col4 {
      width: calc( (100% / 2) - 10px); } }
  @media print, screen and (min-width: 64em) {
    .c-profile.-col4 {
      width: calc( (100% / 4) - 30px); } }
  @media only screen and (max-width: 63.9375em) {
    .c-profile:nth-child(n + 3) {
      margin-top: 60px; } }

.c-profile__img {
  height: 300px;
  position: relative; }
  .c-profile__img img {
    width: 100%;
    height: 100%; }

.c-profile__status {
  position: absolute;
  bottom: -12px;
  right: 10px;
  padding: 1px 7px;
  color: #fff;
  background-color: #00AEFF; }
  @media only screen and (max-width: 48em) {
    .c-profile__status {
      font-size: 10px;
      font-size: 0.625rem; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-profile__status {
      font-size: 14px;
      font-size: 0.875rem; } }

.c-profile__name {
  margin-top: 15px; }
  @media only screen and (max-width: 48em) {
    .c-profile__name {
      font-size: 16px;
      font-size: 1rem; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-profile__name {
      font-size: 18px;
      font-size: 1.125rem; } }

.c-profile__title {
  color: #AAAAAA; }
  @media print, screen and (min-width: 48.0625em) {
    .c-profile__title {
      font-size: 12px;
      font-size: 0.75rem; } }
  @media only screen and (max-width: 48em) {
    .c-profile__title {
      font-size: 12px;
      font-size: 0.75rem; } }

.c-profile__read {
  cursor: pointer;
  text-align: center;
  border: solid 2px #00AEFF;
  border-radius: 20px;
  color: #00AEFF;
  background-color: transparent;
  display: block;
  width: 100%;
  outline: none;
  overflow: hidden;
  position: relative;
  background-color: #fff;
  -webkit-transition: color .3s;
  transition: color .3s; }
  @media print, screen and (min-width: 48.0625em) {
    .c-profile__read {
      background-color: transparent;
      background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #00AEFF), color-stop(50%, #fff));
      background-image: -webkit-linear-gradient(left, #00AEFF 50%, #fff 50%);
      background-image: linear-gradient(to right, #00AEFF 50%, #fff 50%);
      background-size: 200% 100%;
      -webkit-transition: background-position .2s linear;
      transition: background-position .2s linear;
      background-position: -100% 0;
      background-repeat: repeat; } }
  .c-profile__read:hover {
    color: #fff; }
    @media print, screen and (min-width: 48.0625em) {
      .c-profile__read:hover {
        -webkit-animation: buttonSlide3 .2s linear;
                animation: buttonSlide3 .2s linear;
        background-position: 0 0; } }
  @media only screen and (max-width: 63.9375em) {
    .c-profile__read {
      margin-top: 20px;
      padding: 5px 16px;
      font-size: 14px;
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 64em) {
    .c-profile__read {
      margin-top: 25px;
      padding: 7px 16px;
      font-size: 14px;
      font-size: 0.875rem; } }

.c-profile-modal {
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
  @media only screen and (max-width: 63.9375em) {
    .c-profile-modal {
      width: calc( 100% - 8%); } }
  @media print, screen and (min-width: 64em) {
    .c-profile-modal {
      width: 100%;
      max-width: 880px;
      padding: 60px 100px; } }

.c-profile-modal__close-button {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #00AEFF;
  outline: none;
  border: none; }
  @media only screen and (max-width: 63.9375em) {
    .c-profile-modal__close-button {
      width: 40px;
      height: 40px; } }
  @media print, screen and (min-width: 64em) {
    .c-profile-modal__close-button {
      width: 50px;
      height: 50px; } }
  .c-profile-modal__close-button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
    width: 30px;
    height: 2px;
    background-color: #fff; }
  .c-profile-modal__close-button::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
    width: 30px;
    height: 2px;
    background-color: #fff; }

.c-profile-modal__inner {
  outline: none; }
  @media only screen and (max-width: 63.9375em) {
    .c-profile-modal__inner {
      padding: 50px 0; } }
  @media print, screen and (min-width: 64em) {
    .c-profile-modal__inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }

.c-profile-modal__img {
  background-color: #ccc; }
  @media only screen and (max-width: 63.9375em) {
    .c-profile-modal__img {
      margin: 0 auto;
      width: 220px;
      height: 220px; } }
  @media print, screen and (min-width: 64em) {
    .c-profile-modal__img {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      width: 220px;
      height: 220px; } }

@media only screen and (max-width: 63.9375em) {
  .c-profile-modal__text-area {
    padding: 20px 4% 0 4%; } }

@media print, screen and (min-width: 64em) {
  .c-profile-modal__text-area {
    width: 100%;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    margin-left: 50px; } }

.c-profile-modal__title {
  color: #00AEFF;
  font-weight: bold; }
  @media only screen and (max-width: 63.9375em) {
    .c-profile-modal__title {
      text-align: center;
      font-size: 12px;
      font-size: 0.75rem; } }
  @media print, screen and (min-width: 64em) {
    .c-profile-modal__title {
      font-size: 16px;
      font-size: 1rem; } }

.c-profile-modal__name {
  font-weight: bold; }
  @media only screen and (max-width: 63.9375em) {
    .c-profile-modal__name {
      text-align: center;
      font-size: 18px;
      font-size: 1.125rem; } }
  @media print, screen and (min-width: 64em) {
    .c-profile-modal__name {
      margin-top: 5px;
      font-size: 24px;
      font-size: 1.5rem; } }

@media only screen and (max-width: 63.9375em) {
  .c-profile-modal__text {
    margin-top: 15px;
    font-size: 14px;
    font-size: 0.875rem; } }

@media print, screen and (min-width: 64em) {
  .c-profile-modal__text {
    margin-top: 20px;
    font-size: 14px;
    font-size: 0.875rem; } }

.c-button {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  position: relative;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  border: none;
  outline: none;
  cursor: pointer;
  width: 100%;
  background-color: #00AEFF;
  border-radius: 27px; }
  @media print, screen and (min-width: 48.0625em) {
    .c-button {
      background-color: transparent;
      background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #008AD9), color-stop(50%, #00AEFF));
      background-image: -webkit-linear-gradient(left, #008AD9 50%, #00AEFF 50%);
      background-image: linear-gradient(to right, #008AD9 50%, #00AEFF 50%);
      background-size: 200% 100%;
      -webkit-transition: background-position .2s linear;
      transition: background-position .2s linear;
      background-position: -100% 0;
      background-repeat: repeat; } }
  @media only screen and (max-width: 63.9375em) {
    .c-button {
      height: 56px; } }
  @media print, screen and (min-width: 64em) {
    .c-button {
      max-width: 320px;
      height: 56px; } }
  @media print, screen and (min-width: 48.0625em) {
    .c-button:hover {
      -webkit-animation: buttonSlide3 .2s linear;
              animation: buttonSlide3 .2s linear;
      background-position: 0 0; } }

.c-button__icon {
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%); }

.c-article {
  text-decoration: none; }
  @media only screen and (max-width: 48em) {
    .c-article + .c-article {
      margin-top: 32px; } }

.c-article__link {
  text-decoration: none; }

.c-article__image {
  background-color: #ccc; }

.c-article__data {
  text-decoration: none;
  color: #00AEFF; }
  @media only screen and (max-width: 63.9375em) {
    .c-article__data {
      font-size: 12px;
      font-size: 0.75rem;
      margin-top: 7px; } }
  @media print, screen and (min-width: 64em) {
    .c-article__data {
      font-size: 14px;
      font-size: 0.875rem;
      margin-top: 10px; } }

.c-article__title {
  text-decoration: none;
  color: #0F0F0F;
  font-weight: bold; }
  @media only screen and (max-width: 63.9375em) {
    .c-article__title {
      font-size: 14px;
      font-size: 0.875rem;
      margin-top: 5px; } }
  @media print, screen and (min-width: 64em) {
    .c-article__title {
      margin-top: 5px;
      font-size: 16px;
      font-size: 1rem; } }
  a:hover .c-article__title {
    color: #00AEFF; }

.c-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none; }

.c-pagination__prev {
  text-decoration: none;
  border: solid 1px #0F0F0F;
  color: #0F0F0F;
  padding: 5px;
  margin-right: 50px; }
  .c-pagination__prev.-hidden {
    color: #727272;
    border: solid 1px #727272;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }

.c-pagination__next {
  text-decoration: none;
  border: solid 1px #0F0F0F;
  color: #0F0F0F;
  padding: 5px;
  margin-left: 50px; }
  .c-pagination__next.-hidden {
    color: #727272;
    border: solid 1px #727272;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }

.c-pagination__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.c-pagination__number-item {
  text-decoration: none;
  border: solid 1px #0F0F0F;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #0F0F0F; }
  .c-pagination__number-item + .c-pagination__number-item {
    margin-left: 10px; }
  .c-pagination__number-item.-current {
    background-color: #0F0F0F;
    color: #fff; }

/*Utility
------------------------------------------------------*/
.u-margin-top-80 {
  margin-top: 80px; }

.u-blue {
  color: #00AEFF; }

.c-table {
  width: 100%;
  border-collapse: collapse;
  border: solid 1px #ccc; }

.c-table__thead {
  background-color: #00AEFF;
  color: #fff;
  font-weight: bold; }
  .c-table__thead th {
    padding: 3px 8px;
    border-collapse: collapse;
    border: solid 1px #ccc; }

.c-table__tbody td {
  padding: 3px 8px;
  border-collapse: collapse;
  border: solid 1px #ccc; }
