@charset "UTF-8";
/* CSS Document */
/*
Theme Name: MediCulum
*/
* {
  margin: 0;
  padding: 0; }

body:not(#front-page),
html {
  scroll-behavior: smooth; }

/* =======================================================================================================================
　　　　　　　　　全体
======================================================================================================================= */
body {
  font-family: dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
  font-size: 1vw;
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0;
  background: #f2f4f9;
  color: #151c2c; }
  @media screen and (max-width: 1350px) {
    body {
      font-size: 1.6vw; } }
  @media screen and (max-width: 768px) {
    body {
      font-size: 2.6vw; } }
  @media screen and (max-width: 480px) {
    body {
      font-size: 3.75vw; } }

/* =======================================================================================================================
　　　　　　　　　レイアウト
======================================================================================================================= */
.sec {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10em 0; }
  @media screen and (max-width: 480px) {
    .sec {
      padding: 5em 0; } }

.innerbox {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 10em 0 12em; }
  @media screen and (max-width: 1350px) {
    .innerbox {
      padding: 0 5em 0 12em; } }
  @media screen and (max-width: 768px) {
    .innerbox {
      padding: 0 3.75em; } }
  @media screen and (max-width: 480px) {
    .innerbox {
      padding: 0 2.5em; } }
  #front-page .innerbox, #page-header .innerbox, #entry-header .innerbox, #footer .innerbox {
    padding: 0 10em; }
    @media screen and (max-width: 1350px) {
      #front-page .innerbox, #page-header .innerbox, #entry-header .innerbox, #footer .innerbox {
        padding: 0 5em 0 10em; } }
    @media screen and (max-width: 768px) {
      #front-page .innerbox, #page-header .innerbox, #entry-header .innerbox, #footer .innerbox {
        padding: 0 3.75em; } }
    @media screen and (max-width: 480px) {
      #front-page .innerbox, #page-header .innerbox, #entry-header .innerbox, #footer .innerbox {
        padding: 0 2.5em; } }

#header {
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  width: 10em;
  z-index: 99; }
  @media screen and (max-width: 768px) {
    #header {
      bottom: auto; } }
  @media screen and (max-width: 480px) {
    #header {
      position: absolute; } }

#wrapper {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden; }

#footer {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10em 0;
  z-index: 10;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center; }
  @media screen and (max-width: 480px) {
    #footer {
      padding: 5em 0; } }
  #footer:not(.fh) {
    height: auto !important; }
  @media screen and (max-width: 768px) {
    #footer {
      padding: 5em 0; } }

/* 欧文フォント */
.eg {
  font-family: korolev, sans-serif;
  font-weight: 900;
  font-style: normal; }

/* 日本語フォント */
.jp {
  font-family: dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif; }

/* 文字寄せ */
.center {
  text-align: center; }

.right {
  text-align: right; }

/* ノートパソコン改行 */
@media screen and (max-width: 1350px) {
  .npbr {
    display: block; } }

/* タブレット改行 */
@media screen and (max-width: 768px) {
  .tbbr {
    display: block; } }

/* スマホ改行 */
@media screen and (max-width: 480px) {
  .spbr {
    display: block; } }

/* スマホ非表示 */
@media screen and (max-width: 480px) {
  .spnone {
    display: none; } }

/* 見出し */
.sec_ttl {
  font-size: 2.5em;
  font-weight: 400;
  line-height: 1.5em;
  padding-bottom: 1.25em; }
  @media screen and (max-width: 1350px) {
    .sec_ttl {
      font-size: 1.8em; } }
  .sec_ttl strong {
    font-weight: 400; }
  .sec_ttl .eg {
    font-size: 1.5em;
    font-weight: 700; }
    @media screen and (max-width: 1350px) {
      .sec_ttl .eg {
        font-size: 1.25em; } }

/* 段落 */
p {
  padding-bottom: 2em; }

/* 注釈 */
.note {
  padding-left: 1em;
  text-indent: -1em;
  color: #003cc5;
  font-size: 0.85em;
  line-height: 1.25em; }
  .note::before {
    content: "※"; }

/* 画像 */
img {
  vertical-align: bottom; }
  img.img100 {
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
    font-family: "object-fit: cover; object-position: 50% 50%;"; }

.imgbox {
  line-height: 0; }

/* =======================================================================================================================
　　　　　　　　　SVG
======================================================================================================================= */
/* 読み込み遅延 */
img {
  -webkit-transition: 1s ease;
  -moz-transition: 1s ease;
  -ms-transition: 1s ease;
  -o-transition: 1s ease;
  transition: 1s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  img.lazyload {
    opacity: 0;
    filter: alpha(opacity=0); }
  img.lazyloaded {
    opacity: 1;
    filter: alpha(opacity=100); }

/* 読み込み遅延 */
.lazyload0, .lazyload1, .lazyload2, .lazyload3, .lazyload4 {
  -webkit-transition: 1s ease;
  -moz-transition: 1s ease;
  -ms-transition: 1s ease;
  -o-transition: 1s ease;
  transition: 1s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 0;
  filter: alpha(opacity=0); }
  .lazyload0.lazyloaded, .lazyload1.lazyloaded, .lazyload2.lazyloaded, .lazyload3.lazyloaded, .lazyload4.lazyloaded {
    -webkit-transition: 1s ease;
    -moz-transition: 1s ease;
    -ms-transition: 1s ease;
    -o-transition: 1s ease;
    transition: 1s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1;
    filter: alpha(opacity=100); }

.lazyload1 {
  -webkit-transform: translate(0, 3.75em);
  -moz-transform: translate(0, 3.75em);
  -ms-transform: translate(0, 3.75em);
  -o-transform: translate(0, 3.75em);
  transform: translate(0, 3.75em); }
  .lazyload1.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }

.lazyload2 {
  -webkit-transform: translate(-3.75em, 0);
  -moz-transform: translate(-3.75em, 0);
  -ms-transform: translate(-3.75em, 0);
  -o-transform: translate(-3.75em, 0);
  transform: translate(-3.75em, 0); }
  .lazyload2.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }

.lazyload3 {
  -webkit-transform: translate(3.75em, 0);
  -moz-transform: translate(3.75em, 0);
  -ms-transform: translate(3.75em, 0);
  -o-transform: translate(3.75em, 0);
  transform: translate(3.75em, 0); }
  .lazyload3.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }

.lazyload4 {
  -webkit-transform: translate(0, -3.75em);
  -moz-transform: translate(0, -3.75em);
  -ms-transform: translate(0, -3.75em);
  -o-transform: translate(0, -3.75em);
  transform: translate(0, -3.75em); }
  .lazyload4.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }

/* トップページ内コンテンツの場合 */
#front-page section .lazyload0.lazyloaded, #front-page section .lazyload1.lazyloaded, #front-page section .lazyload2.lazyloaded, #front-page section .lazyload3.lazyloaded, #front-page section .lazyload4.lazyloaded {
  opacity: 0;
  filter: alpha(opacity=0); }
#front-page section .lazyload1.lazyloaded {
  -webkit-transform: translate(0, 3.75em);
  -moz-transform: translate(0, 3.75em);
  -ms-transform: translate(0, 3.75em);
  -o-transform: translate(0, 3.75em);
  transform: translate(0, 3.75em); }
#front-page section .lazyload2.lazyloaded {
  -webkit-transform: translate(-3.75em, 0);
  -moz-transform: translate(-3.75em, 0);
  -ms-transform: translate(-3.75em, 0);
  -o-transform: translate(-3.75em, 0);
  transform: translate(-3.75em, 0); }
#front-page section .lazyload3.lazyloaded {
  -webkit-transform: translate(3.75em, 0);
  -moz-transform: translate(3.75em, 0);
  -ms-transform: translate(3.75em, 0);
  -o-transform: translate(3.75em, 0);
  transform: translate(3.75em, 0); }
#front-page section .lazyload4.lazyloaded {
  -webkit-transform: translate(0, -3.75em);
  -moz-transform: translate(0, -3.75em);
  -ms-transform: translate(0, -3.75em);
  -o-transform: translate(0, -3.75em);
  transform: translate(0, -3.75em); }
#front-page section.on .lazyload0.lazyloaded, #front-page section.on .lazyload1.lazyloaded, #front-page section.on .lazyload2.lazyloaded, #front-page section.on .lazyload3.lazyloaded, #front-page section.on .lazyload4.lazyloaded {
  opacity: 1;
  filter: alpha(opacity=100); }
#front-page section.on .lazyload1.lazyloaded {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0); }
#front-page section.on .lazyload2.lazyloaded {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0); }
#front-page section.on .lazyload3.lazyloaded {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0); }
#front-page section.on .lazyload4.lazyloaded {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0); }
@media screen and (min-width: 1921px) and (max-aspect-ratio: 100 / 53) {
  #front-page section.onsp .lazyload0.lazyloaded, #front-page section.onsp .lazyload1.lazyloaded, #front-page section.onsp .lazyload2.lazyloaded, #front-page section.onsp .lazyload3.lazyloaded, #front-page section.onsp .lazyload4.lazyloaded {
    opacity: 1;
    filter: alpha(opacity=100); }
  #front-page section.onsp .lazyload1.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload2.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload3.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload4.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); } }

@media screen and (max-width: 1920px) and (min-width: 1351px) and (max-aspect-ratio: 2 / 1) {
  #front-page section.onsp .lazyload0.lazyloaded, #front-page section.onsp .lazyload1.lazyloaded, #front-page section.onsp .lazyload2.lazyloaded, #front-page section.onsp .lazyload3.lazyloaded, #front-page section.onsp .lazyload4.lazyloaded {
    opacity: 1;
    filter: alpha(opacity=100); }
  #front-page section.onsp .lazyload1.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload2.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload3.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload4.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); } }

@media screen and (max-width: 1350px) and (min-width: 769px) and (max-aspect-ratio: 25 / 13) {
  #front-page section.onsp .lazyload0.lazyloaded, #front-page section.onsp .lazyload1.lazyloaded, #front-page section.onsp .lazyload2.lazyloaded, #front-page section.onsp .lazyload3.lazyloaded, #front-page section.onsp .lazyload4.lazyloaded {
    opacity: 1;
    filter: alpha(opacity=100); }
  #front-page section.onsp .lazyload1.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload2.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload3.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload4.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); } }

@media screen and (max-width: 768px) and (min-width: 481px) and (max-aspect-ratio: 25 / 37) {
  #front-page section.onsp .lazyload0.lazyloaded, #front-page section.onsp .lazyload1.lazyloaded, #front-page section.onsp .lazyload2.lazyloaded, #front-page section.onsp .lazyload3.lazyloaded, #front-page section.onsp .lazyload4.lazyloaded {
    opacity: 1;
    filter: alpha(opacity=100); }
  #front-page section.onsp .lazyload1.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload2.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload3.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload4.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); } }

@media screen and (max-width: 480px) and (max-aspect-ratio: 35 / 68) {
  #front-page section.onsp .lazyload0.lazyloaded, #front-page section.onsp .lazyload1.lazyloaded, #front-page section.onsp .lazyload2.lazyloaded, #front-page section.onsp .lazyload3.lazyloaded, #front-page section.onsp .lazyload4.lazyloaded {
    opacity: 1;
    filter: alpha(opacity=100); }
  #front-page section.onsp .lazyload1.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload2.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload3.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  #front-page section.onsp .lazyload4.lazyloaded {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); } }

/* リンク */
a {
  color: #003cc5;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  a img {
    -webkit-transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -ms-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  a:hover {
    color: #03c5e2; }
    a:hover img {
      opacity: 0.7;
      filter: alpha(opacity=70); }

/* ボタン */
.btn a {
  font-family: korolev, sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1em;
  text-decoration: none;
  color: #151c2c;
  background: url("../../../images/ya.svg") no-repeat 100% 30%/0.3em auto;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -moz-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
  @media screen and (max-width: 1350px) {
    .btn a {
      font-size: 1em; } }
  .btn a::after {
    content: "";
    display: block;
    width: 2em;
    height: 0.43em;
    margin-left: 0.5em;
    margin-right: 0.01em;
    box-sizing: border-box;
    border-bottom: #151c2c solid 0.11em;
    -webkit-transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -ms-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .btn a:hover {
    padding-left: 0.5em; }
    .btn a:hover::after {
      width: 3em; }

/* ボタン（別タイプ） */
/* ================= フォーム ============================================================ */
/* =============== コンタクトフォーム（全ページ共通） ========================================================= */
.formbox {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 2em 0;
  border-top: #fff solid 0.1em;
  border-bottom: #fff solid 0.1em; }
  @media screen and (max-width: 768px) {
    .formbox {
      padding: 1.5em 0; } }
  .formbox h3 {
    font-size: 2em;
    line-height: 1.7em;
    padding-bottom: 0.5em; }
  .formbox p {
    padding-bottom: 2em; }

/* contact form 7 ------------------------------------------- */
.wpcf7-form .formctt {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  align-items: stretch; }

.formname {
  width: 11em;
  font-weight: 500;
  text-align: right;
  padding: 1em 0.5em 0 0;
  line-height: 1em; }
  @media screen and (max-width: 768px) {
    .formname {
      width: 100%;
      text-align: left;
      padding: 0.5em 0; } }
  .formname::after {
    content: "："; }

span .formname {
  padding-top: 1.5em; }

.wpcf7-form-control-wrap {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -moz-box-flex: 1;
  -ms-flex: 1;
  flex: 1; }
  @media screen and (max-width: 768px) {
    .wpcf7-form-control-wrap {
      width: 100%;
      -webkit-box-flex: 0;
      -webkit-flex: none;
      -moz-box-flex: 0;
      -ms-flex: none;
      flex: none; } }
  .yubin .wpcf7-form-control-wrap {
    -webkit-box-flex: 0;
    -webkit-flex: none;
    -moz-box-flex: 0;
    -ms-flex: none;
    flex: none; }

div.wpcf7 {
  text-align: left; }

.wpcf7-form {
  /*送信ボタン*/ }
  .wpcf7-form p {
    padding: 0 0 2em 0; }
  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form input[type="date"],
  .wpcf7-form textarea,
  .wpcf7-form select {
    font-family: dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-size: 1em;
    line-height: 1.7em;
    box-sizing: border-box;
    padding: 0.75em 1.5em;
    border-radius: 0.5em;
    border: none;
    background: #f2f4f9;
    color: #151c2c;
    /* 確認ページ */ }
    @media screen and (max-width: 480px) {
      .wpcf7-form input[type="text"],
      .wpcf7-form input[type="email"],
      .wpcf7-form input[type="tel"],
      .wpcf7-form input[type="date"],
      .wpcf7-form textarea,
      .wpcf7-form select {
        padding: 0.75em 1em; } }
    .wpcf7-form input[type="text"]::placeholder,
    .wpcf7-form input[type="email"]::placeholder,
    .wpcf7-form input[type="tel"]::placeholder,
    .wpcf7-form input[type="date"]::placeholder,
    .wpcf7-form textarea::placeholder,
    .wpcf7-form select::placeholder {
      color: #151c2c;
      opacity: 0.4;
      filter: alpha(opacity=40);
      font-weight: 400; }
    .wpcf7-form input[type="text"].wpcf7c-conf,
    .wpcf7-form input[type="email"].wpcf7c-conf,
    .wpcf7-form input[type="tel"].wpcf7c-conf,
    .wpcf7-form input[type="date"].wpcf7c-conf,
    .wpcf7-form textarea.wpcf7c-conf,
    .wpcf7-form select.wpcf7c-conf {
      background: #fff;
      border: none;
      border-radius: none; }
  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form textarea {
    width: 100% !important; }
  .wpcf7-form select {
    cursor: pointer; }
  .wpcf7-form .yubin .yubin_numb {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -moz-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .wpcf7-form .yubin .yubin_numb .intxt {
      height: 3.2em;
      line-height: 3.2em;
      padding: 0 0.5em; }
    .wpcf7-form .yubin .yubin_numb .wpcf7-form-control-wrap {
      display: inline-block;
      max-width: 9em; }
  .wpcf7-form input[type="submit"],
  .wpcf7-form input[type="button"],
  .wpcf7-form .resetbtn {
    font-family: dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-size: 1vw;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 1em;
    text-indent: 1em;
    width: 15em !important;
    box-sizing: border-box;
    padding: 1.5em;
    margin: 0;
    border: none;
    border-radius: 2em;
    background: -webkit-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
    background: -moz-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
    background: -o-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
    background: linear-gradient(-60deg, #03c5e2 0, #0167ce 100%);
    color: #f2f4f9;
    -webkit-box-shadow: 0 0.5em 1em 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 0.5em 1em 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0.5em 1em 0 rgba(0, 0, 0, 0.2);
    -webkit-transition: 0.3s ease;
    -moz-transition: 0.3s ease;
    -ms-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    @media screen and (max-width: 1350px) {
      .wpcf7-form input[type="submit"],
      .wpcf7-form input[type="button"],
      .wpcf7-form .resetbtn {
        font-size: 1.6vw; } }
    @media screen and (max-width: 768px) {
      .wpcf7-form input[type="submit"],
      .wpcf7-form input[type="button"],
      .wpcf7-form .resetbtn {
        font-size: 2.6vw; } }
    @media screen and (max-width: 480px) {
      .wpcf7-form input[type="submit"],
      .wpcf7-form input[type="button"],
      .wpcf7-form .resetbtn {
        font-size: 3.75vw; } }
    .wpcf7-form input[type="submit"]:hover,
    .wpcf7-form input[type="button"]:hover,
    .wpcf7-form .resetbtn:hover {
      cursor: pointer;
      -webkit-box-shadow: 0 0 0.8em 0 rgba(0, 0, 0, 0.2);
      -moz-box-shadow: 0 0 0.8em 0 rgba(0, 0, 0, 0.2);
      box-shadow: 0 0 0.8em 0 rgba(0, 0, 0, 0.2);
      -webkit-transform: translate(0.25em, 0.25em);
      -moz-transform: translate(0.25em, 0.25em);
      -ms-transform: translate(0.25em, 0.25em);
      -o-transform: translate(0.25em, 0.25em);
      transform: translate(0.25em, 0.25em); }
    .wpcf7-form input[type="submit"]:disabled,
    .wpcf7-form input[type="button"]:disabled,
    .wpcf7-form .resetbtn:disabled {
      -webkit-box-shadow: none;
      -moz-box-shadow: none;
      box-shadow: none;
      background: transparent;
      border: #fff dashed 0.1em;
      opacity: 0.4;
      filter: alpha(opacity=40);
      cursor: not-allowed; }
      .wpcf7-form input[type="submit"]:disabled:hover,
      .wpcf7-form input[type="button"]:disabled:hover,
      .wpcf7-form .resetbtn:disabled:hover {
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none; }
      .wpcf7-form input[type="submit"]:disabled:hover,
      .wpcf7-form input[type="button"]:disabled:hover,
      .wpcf7-form .resetbtn:disabled:hover {
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0); }
        .wpcf7-form input[type="submit"]:disabled:hover:hover,
        .wpcf7-form input[type="button"]:disabled:hover:hover,
        .wpcf7-form .resetbtn:disabled:hover:hover {
          -webkit-box-shadow: none;
          -moz-box-shadow: none;
          box-shadow: none; }
    @media screen and (max-width: 480px) {
      .wpcf7-form input[type="submit"],
      .wpcf7-form input[type="button"],
      .wpcf7-form .resetbtn {
        width: 100% !important;
        text-align: center; } }

/* チェックボックス・ラジオボタン */
span.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 0;
  padding: 0.75em; }
  span.wpcf7-list-item input[type="radio"] + span,
  span.wpcf7-list-item input[type="checkbox"] + span {
    padding-right: 1em;
    font-size: 1em; }
  span.wpcf7-list-item:last-child input[type="radio"] + span,
  span.wpcf7-list-item:last-child input[type="checkbox"] + span {
    padding-right: 0; }

input[type="radio"],
input[type="checkbox"] {
  position: relative;
  cursor: pointer;
  line-height: 1em; }
  input[type="radio"].wpcf7c-conf,
  input[type="checkbox"].wpcf7c-conf {
    display: none; }
    input[type="radio"].wpcf7c-conf + span,
    input[type="checkbox"].wpcf7c-conf + span {
      display: none; }

.wpcf7-list-item-label {
  cursor: pointer;
  line-height: 1em; }

.wpcf7c-elm-step2.bdstep2 {
  display: block;
  width: 100%;
  border-bottom: #003cc5 solid 1px; }

.wpcf7-spinner {
  margin: 0;
  display: none; }

/* 必須マーク */
.required {
  color: #03c5e2; }

/* エラーメッセージ */
.wpcf7-not-valid-tip {
  color: #03c5e2;
  line-height: 1.5em;
  font-weight: 500;
  font-size: 0.85em; }

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  border-color: transparent;
  background: transparent;
  color: #fff;
  font-weight: 500;
  line-height: 1.5em;
  text-align: center; }
  .wpcf7 form.invalid .wpcf7-response-output::before, .wpcf7 form.unaccepted .wpcf7-response-output::before {
    content: "\f071";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    padding-right: 0.25em;
    color: #03c5e2; }
  @media screen and (max-width: 768px) {
    .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
      text-align: left; } }

/* 送信済メッセージ */
div.wpcf7-mail-sent-ok {
  border: 2px solid #003cc5; }

/* -------------------------- 新着一覧 ------------------------------------------- */
.post_list {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  list-style: none inside;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -4%; }
  :not(#front-page) .post_list {
    margin-top: -3em; }
  .post_list li {
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    /* 出現アニメーション ------------------------------------------- */
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-filter: blur(100px);
    filter: blur(100px); }
    :not(#front-page) .post_list li {
      width: 22%;
      margin-right: 4%;
      margin-top: 4%; }
      @media screen and (min-width: 1351px) {
        :not(#front-page) .post_list li:nth-child(4n) {
          margin-right: 0; } }
      @media screen and (max-width: 1350px) {
        :not(#front-page) .post_list li {
          width: 31%;
          margin-right: 3.5%;
          margin-top: 3em; } }
  @media screen and (max-width: 1350px) and (min-width: 481px) {
    :not(#front-page) .post_list li:nth-child(3n) {
      margin-right: 0; } }

      @media screen and (max-width: 480px) {
        :not(#front-page) .post_list li {
          width: 47%;
          margin-right: 6%; }
          :not(#front-page) .post_list li:nth-child(2n) {
            margin-right: 0; } }
    .post_list li a {
      text-decoration: none;
      /* サムネイル画像 ------------------------------------------- */
      /* 日付 ------------------------------------------- */
      /* 投稿タイトル ------------------------------------------- */
      /* マウスオーバー ------------------------------------------- */ }
      .post_list li a .thumb {
        width: 100%;
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        overflow: hidden;
        /* オーバーレイ */ }
        .post_list li a .thumb::before {
          content: "";
          display: block;
          padding-top: 160%; }
        .post_list li a .thumb::after {
          content: "";
          display: block;
          background: #000;
          opacity: 0.1;
          filter: alpha(opacity=10);
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          margin: auto;
          -webkit-transition: 0.3s ease;
          -moz-transition: 0.3s ease;
          -ms-transition: 0.3s ease;
          -o-transition: 0.3s ease;
          transition: 0.3s ease;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
        .post_list li a .thumb span {
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          margin: auto; }
      .post_list li a .date {
        font-family: korolev, sans-serif;
        font-weight: 900;
        font-style: normal;
        font-weight: 300;
        position: absolute;
        top: 1em;
        left: auto;
        right: 1em;
        bottom: auto;
        text-align: right;
        color: #fff; }
        @media screen and (max-width: 768px) {
          .post_list li a .date {
            font-size: 0.7em; } }
        .post_list li a .date span {
          display: block;
          /* 年 */
          /* 月日 */ }
          .post_list li a .date span.year {
            font-size: 1.5em;
            line-height: 1em; }
          .post_list li a .date span.md {
            font-size: 2.5em;
            line-height: 1em; }
      .post_list li a .post_ttl {
        width: 100%;
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-top: 1em;
        padding-bottom: 0;
        line-height: 1em;
        color: #151c2c;
        width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        -o-text-overflow: ellipsis;
        /* Opera9,10対応 */ }
      .post_list li a:hover {
        /* サムネイル画像 */ }
        .post_list li a:hover .thumb {
          /* オーバーレイ */ }
          .post_list li a:hover .thumb::after {
            opacity: 0;
            filter: alpha(opacity=0); }
          .post_list li a:hover .thumb span {
            /* 画像 */ }
            .post_list li a:hover .thumb span img {
              opacity: 1;
              filter: alpha(opacity=100);
              -webkit-transform: scale(1.1);
              -moz-transform: scale(1.1);
              -ms-transform: scale(1.1);
              -o-transform: scale(1.1);
              transform: scale(1.1); }
    @media screen and (min-width: 769px) {
      .post_list li:nth-child(1) {
        -webkit-transition-delay: 0.2s;
        -moz-transition-delay: 0.2s;
        -o-transition-delay: 0.2s;
        transition-delay: 0.2s; }
      .post_list li:nth-child(2) {
        -webkit-transition-delay: 0.4s;
        -moz-transition-delay: 0.4s;
        -o-transition-delay: 0.4s;
        transition-delay: 0.4s; }
      .post_list li:nth-child(3) {
        -webkit-transition-delay: 0.6s;
        -moz-transition-delay: 0.6s;
        -o-transition-delay: 0.6s;
        transition-delay: 0.6s; }
      .post_list li:nth-child(4) {
        -webkit-transition-delay: 0.8s;
        -moz-transition-delay: 0.8s;
        -o-transition-delay: 0.8s;
        transition-delay: 0.8s; }
      .post_list li:nth-child(5) {
        -webkit-transition-delay: 1s;
        -moz-transition-delay: 1s;
        -o-transition-delay: 1s;
        transition-delay: 1s; }
      .post_list li:nth-child(6) {
        -webkit-transition-delay: 1.2s;
        -moz-transition-delay: 1.2s;
        -o-transition-delay: 1.2s;
        transition-delay: 1.2s; }
      .post_list li:nth-child(7) {
        -webkit-transition-delay: 1.4s;
        -moz-transition-delay: 1.4s;
        -o-transition-delay: 1.4s;
        transition-delay: 1.4s; }
      .post_list li:nth-child(8) {
        -webkit-transition-delay: 1.6s;
        -moz-transition-delay: 1.6s;
        -o-transition-delay: 1.6s;
        transition-delay: 1.6s; }
      .post_list li:nth-child(9) {
        -webkit-transition-delay: 1.8s;
        -moz-transition-delay: 1.8s;
        -o-transition-delay: 1.8s;
        transition-delay: 1.8s; }
      .post_list li:nth-child(10) {
        -webkit-transition-delay: 2s;
        -moz-transition-delay: 2s;
        -o-transition-delay: 2s;
        transition-delay: 2s; }
      .post_list li:nth-child(11) {
        -webkit-transition-delay: 2.2s;
        -moz-transition-delay: 2.2s;
        -o-transition-delay: 2.2s;
        transition-delay: 2.2s; }
      .post_list li:nth-child(12) {
        -webkit-transition-delay: 2.4s;
        -moz-transition-delay: 2.4s;
        -o-transition-delay: 2.4s;
        transition-delay: 2.4s; } }
    @media screen and (max-width: 768px) {
      .post_list li:nth-child(1) {
        -webkit-transition-delay: 0.2s;
        -moz-transition-delay: 0.2s;
        -o-transition-delay: 0.2s;
        transition-delay: 0.2s; }
      .post_list li:nth-child(2) {
        -webkit-transition-delay: 0.4s;
        -moz-transition-delay: 0.4s;
        -o-transition-delay: 0.4s;
        transition-delay: 0.4s; }
      .post_list li:nth-child(3) {
        -webkit-transition-delay: 0.6s;
        -moz-transition-delay: 0.6s;
        -o-transition-delay: 0.6s;
        transition-delay: 0.6s; }
      .post_list li:nth-child(4) {
        -webkit-transition-delay: 0.8s;
        -moz-transition-delay: 0.8s;
        -o-transition-delay: 0.8s;
        transition-delay: 0.8s; } }
    .post_list li.lazyloaded {
      -webkit-transform: scale(1);
      -moz-transform: scale(1);
      -ms-transform: scale(1);
      -o-transform: scale(1);
      transform: scale(1);
      -webkit-filter: blur(0px);
      filter: blur(0px); }

/* ================= フォーム確認画面 ============================================================ */
.wpcf7cp-form-hide {
  display: none; }

.wpcf7-spinner {
  display: none; }

div#wpcf7cpcnf {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 1em;
  background-color: transparent !important;
  /* 入力内容 */
  /* ボタン */ }
  @media screen and (max-width: 480px) {
    div#wpcf7cpcnf {
      padding: 0; } }
  div#wpcf7cpcnf table {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    div#wpcf7cpcnf table tr th,
    div#wpcf7cpcnf table tr td {
      border-bottom: #fff dashed 1px; }
      @media screen and (max-width: 768px) {
        div#wpcf7cpcnf table tr th,
        div#wpcf7cpcnf table tr td {
          display: block; } }
      .contactpage-ctt .sec div#wpcf7cpcnf table tr th p, .contactpage-ctt .sec
      div#wpcf7cpcnf table tr td p {
        padding-top: 1em;
        padding-bottom: 1em; }
    div#wpcf7cpcnf table tr th {
      width: 20em;
      font-weight: normal !important; }
      @media screen and (max-width: 768px) {
        div#wpcf7cpcnf table tr th {
          width: 100%;
          border-bottom: none; } }
      @media screen and (max-width: 768px) {
        .contactpage-ctt .sec div#wpcf7cpcnf table tr th p {
          padding-bottom: 0; } }
      div#wpcf7cpcnf table tr th p::after {
        content: "："; }
    div#wpcf7cpcnf table tr:nth-child(5) th p::before {
      content: "郵便番号"; }
    div#wpcf7cpcnf table tr:nth-child(6) th p::before {
      content: "都道府県"; }
  div#wpcf7cpcnf .wpcf7cp-btns {
    text-align: center; }
    div#wpcf7cpcnf .wpcf7cp-btns button {
      font-family: dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
      font-size: 1vw;
      font-weight: 500;
      line-height: 1em;
      letter-spacing: 1em;
      text-indent: 1em;
      width: 15em !important;
      box-sizing: border-box;
      padding: 1.5em;
      margin: 0;
      border: none;
      border-radius: 2em;
      background: -webkit-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
      background: -moz-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
      background: -o-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
      background: linear-gradient(-60deg, #03c5e2 0, #0167ce 100%);
      color: #f2f4f9;
      -webkit-box-shadow: 0 0.5em 1em 0 rgba(0, 0, 0, 0.2);
      -moz-box-shadow: 0 0.5em 1em 0 rgba(0, 0, 0, 0.2);
      box-shadow: 0 0.5em 1em 0 rgba(0, 0, 0, 0.2);
      -webkit-transition: 0.3s ease;
      -moz-transition: 0.3s ease;
      -ms-transition: 0.3s ease;
      -o-transition: 0.3s ease;
      transition: 0.3s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      /* 修正ボタン */
      /* 送信ボタン */ }
      @media screen and (max-width: 1350px) {
        div#wpcf7cpcnf .wpcf7cp-btns button {
          font-size: 1.6vw; } }
      @media screen and (max-width: 768px) {
        div#wpcf7cpcnf .wpcf7cp-btns button {
          font-size: 2.6vw; } }
      @media screen and (max-width: 480px) {
        div#wpcf7cpcnf .wpcf7cp-btns button {
          font-size: 3.75vw; } }
      div#wpcf7cpcnf .wpcf7cp-btns button:hover {
        cursor: pointer;
        -webkit-box-shadow: 0 0 0.8em 0 rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 0 0.8em 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 0.8em 0 rgba(0, 0, 0, 0.2);
        -webkit-transform: translate(0.25em, 0.25em);
        -moz-transform: translate(0.25em, 0.25em);
        -ms-transform: translate(0.25em, 0.25em);
        -o-transform: translate(0.25em, 0.25em);
        transform: translate(0.25em, 0.25em); }
      div#wpcf7cpcnf .wpcf7cp-btns button + button {
        margin-left: 1em; }
      @media screen and (max-width: 768px) {
        div#wpcf7cpcnf .wpcf7cp-btns button {
          width: 12em !important; } }
      @media screen and (max-width: 480px) {
        div#wpcf7cpcnf .wpcf7cp-btns button {
          width: 10em !important; } }
      div#wpcf7cpcnf .wpcf7cp-btns button.wpcf7cp-cfm-edit-btn {
        background: -webkit-linear-gradient(120deg, #B7BECB 0, #f2f4f9 100%);
        background: -moz-linear-gradient(120deg, #B7BECB 0, #f2f4f9 100%);
        background: -o-linear-gradient(120deg, #B7BECB 0, #f2f4f9 100%);
        background: linear-gradient(-30deg, #B7BECB 0, #f2f4f9 100%);
        color: #151c2c; }
        @media screen and (max-width: 480px) {
          div#wpcf7cpcnf .wpcf7cp-btns button.wpcf7cp-cfm-edit-btn {
            letter-spacing: 0;
            text-indent: 0;
            width: 9em !important; } }
      div#wpcf7cpcnf .wpcf7cp-btns button.wpcf7-submit {
        letter-spacing: 0;
        text-indent: 0; }

/* ===========================================================================================================
　　　　　　　　　グローバルナビゲーション（共通）
=========================================================================================================== */
.gnav ul {
  list-style: none inside;
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .gnav ul li {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: korolev, sans-serif;
    font-weight: 900;
    font-style: normal;
    font-weight: 700;
    line-height: 1em;
    padding-bottom: 1.5em; }
    .gnav ul li a {
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      display: inline-block;
      color: #53524e;
      text-decoration: none; }
      .gnav ul li a:hover {
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -o-transform: scale(1.2);
        transform: scale(1.2); }

/* =======================================================================================================================
　　　　　　　　　ヘッダー
======================================================================================================================= */
#header {
  box-sizing: border-box;
  padding-left: 2.5em;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  mix-blend-mode: difference;
  opacity: 0.5;
  filter: alpha(opacity=50);
  /* ================= ロゴ ============================================================ */
  /* ================= グローバルナビゲーション ============================================================ */ }
  #front-page #header {
    opacity: 0.7;
    filter: alpha(opacity=70); }
@media screen and (min-width: 1351px) and (min-aspect-ratio: 100 / 37) {
  #header {
    padding-top: 9em; } }

  @media screen and (max-width: 1350px) {
    #header {
      padding-left: 1.5em; } }
@media screen and (max-width: 1350px) and (min-width: 769px) and (min-aspect-ratio: 20 / 11) {
  #header {
    padding-top: 9em; } }

  #header .logo {
    font-size: 1em;
    width: 5em;
    position: absolute;
    top: 2.5em;
    left: 2.5em;
    right: auto;
    bottom: auto;
    z-index: 2;
    /* -------------------------- 出現アニメーション ------------------------------------------- */
    -webkit-filter: blur(100px);
    filter: blur(100px);
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transition: 1.5s ease;
    -moz-transition: 1.5s ease;
    -ms-transition: 1.5s ease;
    -o-transition: 1.5s ease;
    transition: 1.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    @media screen and (max-width: 1350px) {
      #header .logo {
        top: 1.5em;
        left: 1.5em; } }
    @media screen and (max-width: 480px) {
      #header .logo {
        width: 6em; } }
    #header .logo a img {
      width: 100%;
      height: auto; }
    #header .logo a:hover img {
      opacity: 1;
      filter: alpha(opacity=100);
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1); }
    #header .logo.lazyloaded {
      -webkit-filter: blur(0px);
      filter: blur(0px);
      -webkit-transform: scale(1);
      -moz-transform: scale(1);
      -ms-transform: scale(1);
      -o-transform: scale(1);
      transform: scale(1); }
      #front-page #header .logo.lazyloaded {
        -webkit-transition-delay: 2s;
        -moz-transition-delay: 2s;
        -o-transition-delay: 2s;
        transition-delay: 2s; }
@media screen and (min-width: 1351px) and (min-aspect-ratio: 40 / 11) {
  #header .logo {
    -webkit-transition: 1s ease;
    -moz-transition: 1s ease;
    -ms-transition: 1s ease;
    -o-transition: 1s ease;
    transition: 1s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    #front-page #header .logo.lazyloaded {
      -webkit-transition-delay: 1.5s;
      -moz-transition-delay: 1.5s;
      -o-transition-delay: 1.5s;
      transition-delay: 1.5s; } }

@media screen and (min-width: 769px) and (min-aspect-ratio: 50 / 21) {
  #header .logo {
    -webkit-transition: 1s ease;
    -moz-transition: 1s ease;
    -ms-transition: 1s ease;
    -o-transition: 1s ease;
    transition: 1s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    #front-page #header .logo.lazyloaded {
      -webkit-transition-delay: 1.5s;
      -moz-transition-delay: 1.5s;
      -o-transition-delay: 1.5s;
      transition-delay: 1.5s; } }

    @media screen and (max-width: 768px) {
      #header .logo {
        -webkit-transition: 1s ease;
        -moz-transition: 1s ease;
        -ms-transition: 1s ease;
        -o-transition: 1s ease;
        transition: 1s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden; }
        #front-page #header .logo.lazyloaded {
          -webkit-transition-delay: 1.5s;
          -moz-transition-delay: 1.5s;
          -o-transition-delay: 1.5s;
          transition-delay: 1.5s; } }
@media screen and (min-width: 1351px) and (min-aspect-ratio: 40 / 11) {
  #header .gnav {
    display: none; } }

@media screen and (min-width: 769px) and (min-aspect-ratio: 50 / 21) {
  #header .gnav {
    display: none; } }

  @media screen and (max-width: 768px) {
    #header .gnav {
      display: none; } }
  #header .gnav ul li {
    -webkit-transition: 0.5s ease;
    -moz-transition: 0.5s ease;
    -ms-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    #header .gnav ul li:nth-child(1) {
      -webkit-transition-delay: 0.1s;
      -moz-transition-delay: 0.1s;
      -o-transition-delay: 0.1s;
      transition-delay: 0.1s; }
      #front-page #header .gnav ul li:nth-child(1) {
        -webkit-transition-delay: 2.1s;
        -moz-transition-delay: 2.1s;
        -o-transition-delay: 2.1s;
        transition-delay: 2.1s; }
    #header .gnav ul li:nth-child(2) {
      -webkit-transition-delay: 0.2s;
      -moz-transition-delay: 0.2s;
      -o-transition-delay: 0.2s;
      transition-delay: 0.2s; }
      #front-page #header .gnav ul li:nth-child(2) {
        -webkit-transition-delay: 2.2s;
        -moz-transition-delay: 2.2s;
        -o-transition-delay: 2.2s;
        transition-delay: 2.2s; }
    #header .gnav ul li:nth-child(3) {
      -webkit-transition-delay: 0.3s;
      -moz-transition-delay: 0.3s;
      -o-transition-delay: 0.3s;
      transition-delay: 0.3s; }
      #front-page #header .gnav ul li:nth-child(3) {
        -webkit-transition-delay: 2.3s;
        -moz-transition-delay: 2.3s;
        -o-transition-delay: 2.3s;
        transition-delay: 2.3s; }
    #header .gnav ul li:nth-child(4) {
      -webkit-transition-delay: 0.4s;
      -moz-transition-delay: 0.4s;
      -o-transition-delay: 0.4s;
      transition-delay: 0.4s; }
      #front-page #header .gnav ul li:nth-child(4) {
        -webkit-transition-delay: 2.4s;
        -moz-transition-delay: 2.4s;
        -o-transition-delay: 2.4s;
        transition-delay: 2.4s; }
    #header .gnav ul li:nth-child(5) {
      -webkit-transition-delay: 0.5s;
      -moz-transition-delay: 0.5s;
      -o-transition-delay: 0.5s;
      transition-delay: 0.5s; }
      #front-page #header .gnav ul li:nth-child(5) {
        -webkit-transition-delay: 2.5s;
        -moz-transition-delay: 2.5s;
        -o-transition-delay: 2.5s;
        transition-delay: 2.5s; }
    #header .gnav ul li:nth-child(6) {
      -webkit-transition-delay: 0.6s;
      -moz-transition-delay: 0.6s;
      -o-transition-delay: 0.6s;
      transition-delay: 0.6s; }
      #front-page #header .gnav ul li:nth-child(6) {
        -webkit-transition-delay: 2.6s;
        -moz-transition-delay: 2.6s;
        -o-transition-delay: 2.6s;
        transition-delay: 2.6s; }
    #header .gnav ul li:nth-child(7) {
      -webkit-transition-delay: 0.7s;
      -moz-transition-delay: 0.7s;
      -o-transition-delay: 0.7s;
      transition-delay: 0.7s; }
      #front-page #header .gnav ul li:nth-child(7) {
        -webkit-transition-delay: 2.7s;
        -moz-transition-delay: 2.7s;
        -o-transition-delay: 2.7s;
        transition-delay: 2.7s; }
    #header .gnav ul li a {
      color: #fff; }

/* =======================================================================================================================
　　　　　　　　　スマートフォンナビゲーション
======================================================================================================================= */
/* ================= 格納ナビゲーション ============================================================ */
.hm_btn, .hm_menu_wrap {
  display: none; }
@media screen and (min-width: 1351px) and (min-aspect-ratio: 40 / 11) {
  .hm_btn, .hm_menu_wrap {
    display: block; } }

@media screen and (min-width: 769px) and (min-aspect-ratio: 50 / 21) {
  .hm_btn, .hm_menu_wrap {
    display: block; } }

  @media screen and (max-width: 768px) {
    .hm_btn, .hm_menu_wrap {
      display: block; } }

.hm_menu_check {
  /* チェックボックスを隠す */
  display: none; }

/* -------------------------- メニューボタン ------------------------------------------- */
.hm_btn {
  width: 2em;
  height: 1.2em;
  cursor: pointer;
  border-left: transparent solid 1.6em;
  border-right: transparent solid 1.6em;
  border-top: transparent solid 2em;
  border-bottom: transparent solid 2em;
  position: fixed;
  top: 0;
  left: auto;
  right: 0;
  bottom: auto;
  background: transparent;
  cursor: pointer;
  z-index: 99999;
  mix-blend-mode: difference;
  /* 表示アニメーション */
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-filter: blur(100px);
  filter: blur(100px);
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2); }
  .hm_btn::before, .hm_btn::after {
    width: 2em;
    height: 0.13em;
    background: #fff;
    display: block;
    content: '';
    position: absolute;
    -webkit-transition: -webkit-background 0.2s linear, -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
    transition: background 0.2s linear, box-shadow 0.2s linear, transform 0.2s 0.2s; }
  .hm_btn::before {
    -webkit-box-shadow: #fff 0 0.532em 0;
    box-shadow: #fff 0 0.532em 0; }
  .hm_btn::after {
    bottom: 0; }
  .hm_btn.lazyloaded {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -webkit-filter: blur(0px);
    filter: blur(0px);
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2); }
    #front-page .hm_btn.lazyloaded {
      -webkit-transition-delay: 1.5s;
      -moz-transition-delay: 1.5s;
      -o-transition-delay: 1.5s;
      transition-delay: 1.5s; }

/* 開閉時のアニメーション */
.hm_menu_check:checked ~ .hm_btn::before {
  background: rgba(0, 0, 0, 0);
  -webkit-box-shadow: #fff 0 0.532em 0;
  box-shadow: #fff 0 0.532em 0;
  -webkit-transform: rotate(45deg) translate3d(0.166em, 0.2em, 0);
  transform: rotate(45deg) translate3d(0.5em, -0.25em, 0); }
.hm_menu_check:checked ~ .hm_btn::after {
  background: #fff;
  -webkit-transform: rotate(-45deg) translate3d(0.166em, -0.2em, 0);
  transform: rotate(-45deg) translate3d(0.5em, -0.25em, 0); }

/* -------------------------- 格納領域 ------------------------------------------- */
.hm_menu_wrap {
  width: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transition: 0.7s;
  transition: 0.7s;
  box-sizing: border-box;
  overflow: hidden;
  visibility: hidden;
  z-index: 9999; }
  .hm_menu_wrap .hm_inner {
    position: absolute;
    top: 0;
    left: 0;
    right: -19px;
    bottom: -19px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; }
    .hm_menu_wrap .hm_inner .menucontent {
      box-sizing: border-box;
      padding: 7em 2.5em 7em 7.5%;
      width: 15%;
      min-height: 100vh;
      position: absolute;
      top: 0;
      left: 100%;
      right: 0;
      bottom: auto;
      -webkit-transition: left 1.0s;
      transition: left 1.0s;
      border: none;
      background: #f2f4f9;
      overflow: hidden;
      /* 中身デザイン */ }
      @media screen and (max-width: 1350px) {
        .hm_menu_wrap .hm_inner .menucontent {
          padding-left: 15%;
          width: 30%; } }
      @media screen and (max-width: 768px) {
        .hm_menu_wrap .hm_inner .menucontent {
          padding: 7em 2.5em 7em 50%;
          width: 100%; } }
      .hm_menu_wrap .hm_inner .menucontent .site_name {
        font-family: korolev, sans-serif;
        font-weight: 900;
        font-style: normal;
        font-size: 5.75em;
        font-weight: 700;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        position: absolute;
        top: -0.1em;
        left: 0;
        right: auto;
        bottom: auto;
        opacity: 0.1;
        filter: alpha(opacity=10); }
        @media screen and (max-width: 768px) {
          .hm_menu_wrap .hm_inner .menucontent .site_name {
            font-size: 12em; } }
      @media screen and (max-width: 768px) {
        .hm_menu_wrap .hm_inner .menucontent .gnav ul li {
          font-size: 1.5em;
          padding-bottom: 2em; } }

/* 開閉時のアニメーション */
.hm_menu_check:checked ~ .hm_menu_wrap {
  opacity: 1;
  filter: alpha(opacity=100);
  visibility: visible; }
  .hm_menu_check:checked ~ .hm_menu_wrap .menucontent {
    opacity: 1;
    filter: alpha(opacity=100);
    left: 85%;
    height: auto; }
    @media screen and (max-width: 1350px) {
      .hm_menu_check:checked ~ .hm_menu_wrap .menucontent {
        left: 70%; } }
    @media screen and (max-width: 768px) {
      .hm_menu_check:checked ~ .hm_menu_wrap .menucontent {
        left: 0; } }

/* =======================================================================================================================
　　　　　　　　　フッター
======================================================================================================================= */
#footer {
  background: #f2f4f9; }
  #footer .innerbox {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    color: #151c2c;
    /* ================= 会社情報 ============================================================ */
    /* ================= メニューエリア ============================================================ */ }
    @media screen and (max-width: 1350px) {
      #footer .innerbox {
        display: block;
        padding-right: 0; } }
    @media screen and (max-width: 768px) {
      #footer .innerbox {
        padding-left: 0; } }
    @media screen and (max-width: 480px) {
      #footer .innerbox {
        display: block; } }
    #footer .innerbox a {
      color: #151c2c;
      text-decoration: none; }
    #footer .innerbox .info_box {
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -ms-flex-align: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      align-items: center;
      /* ロゴ ------------------------------------------- */
      /* テキスト ------------------------------------------- */ }
      @media screen and (max-width: 1350px) {
        #footer .innerbox .info_box {
          -webkit-box-pack: center;
          -webkit-justify-content: center;
          -moz-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center; } }
      @media screen and (max-width: 480px) {
        #footer .innerbox .info_box {
          text-align: center;
          display: block; } }
      #footer .innerbox .info_box .logo {
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: 7.5em; }
        @media screen and (max-width: 480px) {
          #footer .innerbox .info_box .logo {
            margin: auto; } }
        #footer .innerbox .info_box .logo a img {
          width: 100%;
          height: auto; }
        #footer .innerbox .info_box .logo a:hover img {
          opacity: 1;
          filter: alpha(opacity=100);
          -webkit-transform: scale(1.1);
          -moz-transform: scale(1.1);
          -ms-transform: scale(1.1);
          -o-transform: scale(1.1);
          transform: scale(1.1); }
      #footer .innerbox .info_box .txt {
        padding-left: 5em;
        /* 社名 */
        /* 住所 */
        /* 電話番号 */ }
        @media screen and (max-width: 1350px) {
          #footer .innerbox .info_box .txt {
            padding-left: 3.75em; } }
        @media screen and (max-width: 768px) {
          #footer .innerbox .info_box .txt {
            padding-left: 2.5em; } }
        @media screen and (max-width: 480px) {
          #footer .innerbox .info_box .txt {
            padding-left: 0;
            padding-top: 1em; } }
        #footer .innerbox .info_box .txt h2 {
          font-size: 1em;
          font-weight: 400;
          line-height: 1em;
          padding-bottom: 1em; }
        #footer .innerbox .info_box .txt .ad {
          font-size: 0.85em;
          line-height: 1.5em;
          padding-bottom: 1em; }
          @media screen and (max-width: 480px) {
            #footer .innerbox .info_box .txt .ad span {
              display: block; } }
        #footer .innerbox .info_box .txt .tel {
          font-family: korolev, sans-serif;
          font-weight: 900;
          font-style: normal;
          font-weight: 700;
          font-size: 1.25em;
          line-height: 1em;
          padding-bottom: 0; }
    #footer .innerbox .fmenu {
      /* -------------------------- フッターメニュー ------------------------------------------- */
      /* -------------------------- コピーライト ------------------------------------------- */ }
      @media screen and (max-width: 1350px) {
        #footer .innerbox .fmenu {
          padding-top: 5em; } }
      #footer .innerbox .fmenu .fnav {
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding-bottom: 1.25em;
        /* サイトナビ ------------------------------------------- */
        /* SNS ------------------------------------------- */ }
        @media screen and (max-width: 480px) {
          #footer .innerbox .fmenu .fnav {
            padding-bottom: 2.5em; } }
        #footer .innerbox .fmenu .fnav .site_menu {
          position: relative;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;
          list-style: none inside;
          display: -ms-flexbox;
          display: -webkit-box;
          display: -webkit-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
          padding-bottom: 1.25em; }
          @media screen and (max-width: 1350px) {
            #footer .innerbox .fmenu .fnav .site_menu {
              width: 100%;
              -webkit-box-pack: center;
              -webkit-justify-content: center;
              -moz-box-pack: center;
              -ms-flex-pack: center;
              justify-content: center; } }
          @media screen and (max-width: 480px) {
            #footer .innerbox .fmenu .fnav .site_menu {
              padding-bottom: 2.5em; } }
          #footer .innerbox .fmenu .fnav .site_menu li {
            font-family: korolev, sans-serif;
            font-weight: 900;
            font-style: normal;
            font-size: 0.9em;
            font-weight: 300;
            letter-spacing: 0.05em;
            line-height: 1em;
            padding-left: 1em; }
            #footer .innerbox .fmenu .fnav .site_menu li:first-child {
              padding-left: 0; }
            #footer .innerbox .fmenu .fnav .site_menu li a {
              display: inline-block; }
              #footer .innerbox .fmenu .fnav .site_menu li a:hover {
                font-weight: 700;
                -webkit-transform: scale(1.1);
                -moz-transform: scale(1.1);
                -ms-transform: scale(1.1);
                -o-transform: scale(1.1);
                transform: scale(1.1); }
        #footer .innerbox .fmenu .fnav .sns_list {
          position: relative;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;
          list-style: none inside;
          display: -ms-flexbox;
          display: -webkit-box;
          display: -webkit-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
          -webkit-box-pack: end;
          -webkit-justify-content: flex-end;
          -moz-box-pack: end;
          -ms-flex-pack: end;
          justify-content: flex-end; }
          @media screen and (max-width: 1350px) {
            #footer .innerbox .fmenu .fnav .sns_list {
              -webkit-box-pack: center;
              -webkit-justify-content: center;
              -moz-box-pack: center;
              -ms-flex-pack: center;
              justify-content: center; } }
          #footer .innerbox .fmenu .fnav .sns_list li {
            font-size: 1.5em;
            line-height: 1em;
            padding-left: 1em; }
            #footer .innerbox .fmenu .fnav .sns_list li:first-child {
              padding-left: 0; }
            #footer .innerbox .fmenu .fnav .sns_list li a {
              display: inline-block; }
              #footer .innerbox .fmenu .fnav .sns_list li a:hover {
                -webkit-transform: scale(1.2);
                -moz-transform: scale(1.2);
                -ms-transform: scale(1.2);
                -o-transform: scale(1.2);
                transform: scale(1.2); }
      #footer .innerbox .fmenu .copyright {
        font-family: korolev, sans-serif;
        font-weight: 900;
        font-style: normal;
        font-size: 0.8em;
        font-weight: 700;
        line-height: 1em;
        text-align: right;
        padding-bottom: 0;
        opacity: 0.5;
        filter: alpha(opacity=50); }
        @media screen and (max-width: 1350px) {
          #footer .innerbox .fmenu .copyright {
            text-align: center; } }

/* =======================================================================================================================
　　　　　　　　　トップページメインカラム
======================================================================================================================= */
@media screen and (max-width: 480px) and (min-aspect-ratio: 1 / 1) {
  body#front-page::before {
    content: "このサイトはスマートフォンを横向きにした閲覧には対応していません。スマートフォンを縦向きにしてご覧ください。";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    padding: 1.5em;
    background: -webkit-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
    background: -moz-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
    background: -o-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
    background: linear-gradient(-60deg, #03c5e2 0, #003cc5 100%);
    color: #fff;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    z-index: 999999; } }

body#front-page #wrapper {
  /* ================= メイン画像 ============================================================ */
  /* ================= トップセクション共通 ============================================================ */
  /* ================= 色 ============================================================ */
  /* ================= 顔 ============================================================ */
  /* ================= 扉 ============================================================ */
  /* ================= 新着情報 ============================================================ */ }
  body#front-page #wrapper::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background: -webkit-linear-gradient(150deg, #f2f4f9 0, #5b667e 20%, #151c2c 40%, #03c5e2 60%, #03c5e2 80%, #003cc5 100%);
    background: -moz-linear-gradient(150deg, #f2f4f9 0, #5b667e 20%, #151c2c 40%, #03c5e2 60%, #03c5e2 80%, #003cc5 100%);
    background: -o-linear-gradient(150deg, #f2f4f9 0, #5b667e 20%, #151c2c 40%, #03c5e2 60%, #03c5e2 80%, #003cc5 100%);
    background: linear-gradient(-60deg, #f2f4f9 0, #5b667e 20%, #151c2c 40%, #03c5e2 60%, #03c5e2 80%, #003cc5 100%);
    -webkit-background-size: 500% 500%;
    -moz-background-size: 500%;
    -o-background-size: 500%;
    background-size: 500%;
    background-position: 100% 50%;
    -webkit-transition: 1s ease;
    -moz-transition: 1s ease;
    -ms-transition: 1s ease;
    -o-transition: 1s ease;
    transition: 1s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    @media screen and (max-aspect-ratio: 1 / 1) {
      body#front-page #wrapper::before {
        background: -webkit-linear-gradient(150deg, #f2f4f9 0, #B7BECB 14%, #B7BECB 29%, #5b667e 42%, #151c2c 56%, #03c5e2 70%, #03c5e2 75%, #003cc5 100%);
        background: -moz-linear-gradient(150deg, #f2f4f9 0, #B7BECB 14%, #B7BECB 29%, #5b667e 42%, #151c2c 56%, #03c5e2 70%, #03c5e2 75%, #003cc5 100%);
        background: -o-linear-gradient(150deg, #f2f4f9 0, #B7BECB 14%, #B7BECB 29%, #5b667e 42%, #151c2c 56%, #03c5e2 70%, #03c5e2 75%, #003cc5 100%);
        background: linear-gradient(-60deg, #f2f4f9 0, #B7BECB 14%, #B7BECB 29%, #5b667e 42%, #151c2c 56%, #03c5e2 70%, #03c5e2 75%, #003cc5 100%);
        -webkit-background-size: 700% 700%;
        -moz-background-size: 700%;
        -o-background-size: 700%;
        background-size: 700%;
        background-position: 100% 50%; } }
  body#front-page #wrapper.bg_face::before {
    background-position: 75% 50%; }
    @media screen and (max-aspect-ratio: 1 / 1) {
      body#front-page #wrapper.bg_face::before {
        background-position: 60% 50%; } }
  body#front-page #wrapper.bg_door::before {
    background-position: 0 50%; }
    @media screen and (max-aspect-ratio: 1 / 1) {
      body#front-page #wrapper.bg_door::before {
        background-position: 0 50%; } }
  body#front-page #wrapper #mainimg {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100 );
    min-height: 39vw;
    z-index: 5;
    /* -------------------------- 斜めスライドショー ------------------------------------------- */
    /* -------------------------- 縦書きコピー ------------------------------------------- */ }
    @media screen and (max-width: 1350px) {
      body#front-page #wrapper #mainimg {
        min-height: 43vw; } }
    @media screen and (max-width: 768px) {
      body#front-page #wrapper #mainimg {
        min-height: 64vw; } }
    body#front-page #wrapper #mainimg .skewed_block {
      position: absolute;
      top: 0;
      left: 0;
      right: auto;
      bottom: auto;
      width: 100%;
      height: calc( 100vh + 32vw );
      height: calc(var(--vh, 1vh) * 100 + 32vw );
      overflow: hidden;
      z-index: 1;
      min-height: calc( 39vw + 32vw );
      /* スクロール固定 */ }
      @media screen and (max-width: 1350px) {
        body#front-page #wrapper #mainimg .skewed_block {
          min-height: calc( 43vw + 32vw ); } }
      @media screen and (max-width: 768px) {
        body#front-page #wrapper #mainimg .skewed_block {
          min-height: calc( 64vw + 32vw ); } }
@media screen and (min-width: 1351px) and (max-aspect-ratio: 100 / 39) {
  body#front-page #wrapper #mainimg .skewed_block.fix {
    position: fixed;
    top: -100vh;
    left: 0;
    right: auto;
    bottom: auto;
    top: calc(var(--vh, 1vh) * -100 ); } }

@media screen and (min-width: 769px) and (max-aspect-ratio: 100 / 43) {
  body#front-page #wrapper #mainimg .skewed_block.fix {
    position: fixed;
    top: -100vh;
    left: 0;
    right: auto;
    bottom: auto;
    top: calc(var(--vh, 1vh) * -100 ); } }

@media screen and (max-width: 768px) and (max-aspect-ratio: 25 / 16) {
  body#front-page #wrapper #mainimg .skewed_block.fix {
    position: fixed;
    top: -100vh;
    left: 0;
    right: auto;
    bottom: auto;
    top: calc(var(--vh, 1vh) * -100 ); } }

      body#front-page #wrapper #mainimg .skewed_block .slider {
        width: 200vw;
        position: absolute;
        top: auto;
        left: 0;
        right: auto;
        bottom: 0;
        -webkit-transform: rotate(-30deg);
        -moz-transform: rotate(-30deg);
        -ms-transform: rotate(-30deg);
        -o-transform: rotate(-30deg);
        transform: rotate(-30deg);
        -webkit-transform-origin: 0 100%;
        -moz-transform-origin: 0 100%;
        -ms-transform-origin: 0 100%;
        -o-transform-origin: 0 100%;
        transform-origin: 0 100%;
        padding-top: 100vh;
        background: #f2f4f9;
        /* スライド画像 ------------------------------------------- */
        /* スライド英文コピー ------------------------------------------- */ }
        @media screen and (max-aspect-ratio: 1 / 1) {
          body#front-page #wrapper #mainimg .skewed_block .slider {
            width: 300vw; } }
@media screen and (min-width: 1351px) and (min-aspect-ratio: 100 / 39) {
  body#front-page #wrapper #mainimg .skewed_block .slider {
    padding-top: 39vw; } }

@media screen and (max-width: 1350px) and (min-width: 769px) and (min-aspect-ratio: 100 / 39) {
  body#front-page #wrapper #mainimg .skewed_block .slider {
    padding-top: 43vw; } }
@media screen and (max-width: 1350px) and (min-width: 769px) and (max-aspect-ratio: 1 / 1) {
  body#front-page #wrapper #mainimg .skewed_block .slider {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); } }

@media screen and (max-width: 768px) and (min-aspect-ratio: 25 / 16) {
  body#front-page #wrapper #mainimg .skewed_block .slider {
    padding-top: 64vw; } }
@media screen and (max-width: 768px) and (max-aspect-ratio: 25 / 31) {
  body#front-page #wrapper #mainimg .skewed_block .slider {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); } }

        body#front-page #wrapper #mainimg .skewed_block .slider .slider_img {
          position: relative;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;
          width: 180vw;
          list-style: none inside;
          overflow: hidden;
          z-index: 10;
          padding-right: 50vw;
          /* 出現アニメーション ------------------------------------------- */
          -webkit-transform: translate(-50%, 0);
          -moz-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
          -o-transform: translate(-50%, 0);
          transform: translate(-50%, 0); }
          @media screen and (max-aspect-ratio: 1 / 1) {
            body#front-page #wrapper #mainimg .skewed_block .slider .slider_img {
              width: 200vw;
              padding-right: 0; } }
@media screen and (max-width: 768px) and (min-width: 481px) and (max-aspect-ratio: 25 / 31) {
  body#front-page #wrapper #mainimg .skewed_block .slider .slider_img {
    width: 225vw;
    padding-right: 0; } }

          body#front-page #wrapper #mainimg .skewed_block .slider .slider_img li {
            width: calc( 100% - 50vw );
            box-sizing: border-box;
            position: absolute;
            top: 0;
            left: 0;
            right: auto;
            bottom: auto;
            /* 各スライド */
            /* ループアニメーション */ }
            @media screen and (max-aspect-ratio: 1 / 1) {
              body#front-page #wrapper #mainimg .skewed_block .slider .slider_img li {
                width: 100%; } }
@media screen and (max-width: 768px) and (min-width: 481px) and (max-aspect-ratio: 25 / 31) {
  body#front-page #wrapper #mainimg .skewed_block .slider .slider_img li {
    width: 100%; } }

            body#front-page #wrapper #mainimg .skewed_block .slider .slider_img li img {
              width: 100%;
              height: auto; }
              body#front-page #wrapper #mainimg .skewed_block .slider .slider_img li img.white_out {
                position: absolute;
                top: 0;
                left: 0;
                right: auto;
                bottom: auto; }
            body#front-page #wrapper #mainimg .skewed_block .slider .slider_img li:nth-child(1) {
              width: 100%;
              position: relative;
              -webkit-box-sizing: border-box;
              -moz-box-sizing: border-box;
              box-sizing: border-box;
              -webkit-animation: loop 24s -16s linear infinite;
              -moz-animation: loop 24s -16s linear infinite;
              -o-animation: loop 24s -16s linear infinite;
              animation: loop 24s -16s linear infinite; }
            body#front-page #wrapper #mainimg .skewed_block .slider .slider_img li:nth-child(2) {
              -webkit-animation: loop 24s -8s linear infinite;
              -moz-animation: loop 24s -8s linear infinite;
              -o-animation: loop 24s -8s linear infinite;
              animation: loop 24s -8s linear infinite; }
            body#front-page #wrapper #mainimg .skewed_block .slider .slider_img li:nth-child(3) {
              -webkit-animation: loop 24s linear infinite;
              -moz-animation: loop 24s linear infinite;
              -o-animation: loop 24s linear infinite;
              animation: loop 24s linear infinite; }
@-webkit-keyframes loop {
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  33.33% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); } }
@-moz-keyframes loop {
  0% {
    -moz-transform: translateX(-100%);
    transform: translateX(-100%); }
  33.33% {
    -moz-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -moz-transform: translateX(100%);
    transform: translateX(100%); } }
@-o-keyframes loop {
  0% {
    -o-transform: translateX(-100%);
    transform: translateX(-100%); }
  33.33% {
    -o-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -o-transform: translateX(100%);
    transform: translateX(100%); } }
@keyframes loop {
  0% {
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%); }
  33.33% {
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%); } }
          body#front-page #wrapper #mainimg .skewed_block .slider .slider_img.lazyloaded {
            -webkit-transform: translate(0, 0);
            -moz-transform: translate(0, 0);
            -ms-transform: translate(0, 0);
            -o-transform: translate(0, 0);
            transform: translate(0, 0); }
        body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt {
          width: auto;
          position: absolute;
          top: 100vh;
          left: 0;
          right: auto;
          bottom: auto;
          list-style: none inside;
          z-index: 5;
          /* 出現アニメーション ------------------------------------------- */
          -webkit-transform: translate(50%, 0);
          -moz-transform: translate(50%, 0);
          -ms-transform: translate(50%, 0);
          -o-transform: translate(50%, 0);
          transform: translate(50%, 0); }
@media screen and (min-width: 1351px) and (min-aspect-ratio: 100 / 39) {
  body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt {
    top: 39vw; } }

@media screen and (max-width: 1350px) and (min-width: 769px) and (min-aspect-ratio: 100 / 43) {
  body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt {
    top: 43vw; } }

@media screen and (max-width: 768px) and (min-aspect-ratio: 25 / 16) {
  body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt {
    top: 64vw; } }

          body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt li {
            width: 20em;
            box-sizing: border-box;
            position: absolute;
            top: 0;
            left: 0;
            right: auto;
            bottom: auto;
            font-size: 8.5em;
            line-height: 1em;
            white-space: nowrap;
            text-align: center;
            /* グラデーション文字 */
            /* 各スライド */
            /* ループアニメーション */ }
            @media screen and (max-width: 480px) {
              body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt li {
                font-size: 5em; } }
            body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt li strong {
              display: inline-block;
              color: #003cc5;
              background: -webkit-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
              background: -moz-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
              background: -o-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
              background: linear-gradient(-60deg, #03c5e2 0, #003cc5 100%);
              -webkit-background-clip: text;
              background-clip: text;
              -webkit-text-fill-color: transparent; }
            body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt li:nth-child(1) {
              position: relative;
              -webkit-box-sizing: border-box;
              -moz-box-sizing: border-box;
              box-sizing: border-box;
              -webkit-animation: loop2 24s -16s linear infinite;
              -moz-animation: loop2 24s -16s linear infinite;
              -o-animation: loop2 24s -16s linear infinite;
              animation: loop2 24s -16s linear infinite; }
            body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt li:nth-child(2) {
              -webkit-animation: loop2 24s -8s linear infinite;
              -moz-animation: loop2 24s -8s linear infinite;
              -o-animation: loop2 24s -8s linear infinite;
              animation: loop2 24s -8s linear infinite; }
            body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt li:nth-child(3) {
              -webkit-animation: loop2 24s linear infinite;
              -moz-animation: loop2 24s linear infinite;
              -o-animation: loop2 24s linear infinite;
              animation: loop2 24s linear infinite; }
@-webkit-keyframes loop2 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  33.33% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%); } }
@-moz-keyframes loop2 {
  0% {
    -moz-transform: translateX(100%);
    transform: translateX(100%); }
  33.33% {
    -moz-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    -moz-transform: translateX(-100%);
    transform: translateX(-100%); } }
@-o-keyframes loop2 {
  0% {
    -o-transform: translateX(100%);
    transform: translateX(100%); }
  33.33% {
    -o-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    -o-transform: translateX(-100%);
    transform: translateX(-100%); } }
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%); }
  33.33% {
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%); }
  100% {
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%); } }
          body#front-page #wrapper #mainimg .skewed_block .slider .slider_txt.lazyloaded {
            -webkit-transform: translate(0, 0);
            -moz-transform: translate(0, 0);
            -ms-transform: translate(0, 0);
            -o-transform: translate(0, 0);
            transform: translate(0, 0); }
    body#front-page #wrapper #mainimg .maincopy {
      position: absolute;
      top: 5em;
      left: 20em;
      right: auto;
      bottom: auto;
      list-style: none inside;
      z-index: 2;
      /* 出現アニメーション ------------------------------------------- */
      -webkit-transform: scale(0, 3);
      -moz-transform: scale(0, 3);
      -ms-transform: scale(0, 3);
      -o-transform: scale(0, 3);
      transform: scale(0, 3);
      -webkit-filter: blur(20px);
      filter: blur(20px);
      -webkit-transition: 0.5s ease;
      -moz-transition: 0.5s ease;
      -ms-transition: 0.5s ease;
      -o-transition: 0.5s ease;
      transition: 0.5s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
@media screen and (min-width: 1351px) and (min-aspect-ratio: 25 / 11) {
  body#front-page #wrapper #mainimg .maincopy {
    top: 2.5em;
    left: 15em; } }

@media screen and (max-width: 1350px) and (min-width: 769px) and (min-aspect-ratio: 10 / 7) {
  body#front-page #wrapper #mainimg .maincopy {
    top: 2.5em;
    left: 15em; } }
@media screen and (max-width: 1350px) and (min-width: 769px) and (min-aspect-ratio: 10 / 6) {
  body#front-page #wrapper #mainimg .maincopy {
    font-size: 0.8em; } }
@media screen and (max-width: 1350px) and (min-width: 769px) and (max-aspect-ratio: 1 / 1) and (min-aspect-ratio: 40 / 47) {
  body#front-page #wrapper #mainimg .maincopy {
    top: 2.5em;
    left: 15em; } }

@media screen and (max-width: 768px) and (min-width: 481px) {
  body#front-page #wrapper #mainimg .maincopy {
    left: 10em; } }

  @media screen and (max-width: 768px) and (min-width: 481px) and (max-aspect-ratio: 5 / 8) {
    body#front-page #wrapper #mainimg .maincopy {
      left: 15em; } }

      @media screen and (max-width: 480px) {
        body#front-page #wrapper #mainimg .maincopy {
          left: calc( 50% - 1.25em );
          top: calc( 50vh - 80vw ); } }
  @media screen and (max-width: 480px) and (min-aspect-ratio: 1 / 2) {
    body#front-page #wrapper #mainimg .maincopy {
      top: 2.5em; } }
  @media screen and (max-width: 480px) and (min-aspect-ratio: 8 / 15) {
    body#front-page #wrapper #mainimg .maincopy {
      left: calc( 50% - 1em ); } }
  @media screen and (max-width: 480px) and (min-aspect-ratio: 10 / 17) {
    body#front-page #wrapper #mainimg .maincopy {
      top: calc( 50vh - 55vw );
      left: 10.5em; } }
  @media screen and (max-width: 480px) and (min-aspect-ratio: 100 / 123) {
    body#front-page #wrapper #mainimg .maincopy {
      top: calc( 50vh - 35vw ); } }

      body#front-page #wrapper #mainimg .maincopy li {
        position: absolute;
        top: 0;
        left: 0;
        right: auto;
        bottom: auto;
        font-size: 2.5em;
        font-weight: 600;
        line-height: 1em;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        letter-spacing: 0.2em;
        opacity: 0;
        filter: alpha(opacity=0);
        /* グラデーション文字 */
        /* 各スライド */
        /* ループアニメーション */ }
@media screen and (max-width: 1350px) and (min-width: 769px) and (min-aspect-ratio: 25 / 12) {
  body#front-page #wrapper #mainimg .maincopy li {
    letter-spacing: 0; } }

@media screen and (max-width: 768px) and (min-width: 481px) {
  body#front-page #wrapper #mainimg .maincopy li {
    font-size: 3em; } }

  @media screen and (max-width: 768px) and (min-width: 481px) and (min-aspect-ratio: 5 / 9) {
    body#front-page #wrapper #mainimg .maincopy li {
      font-size: 2.25em; } }

@media screen and (max-width: 480px) and (min-aspect-ratio: 8 / 15) {
  body#front-page #wrapper #mainimg .maincopy li {
    font-size: 2em; } }
@media screen and (max-width: 480px) and (min-aspect-ratio: 10 / 17) {
  body#front-page #wrapper #mainimg .maincopy li {
    font-size: 1.75em; } }

@media screen and (max-width: 768px) and (min-aspect-ratio: 5 / 8) {
  body#front-page #wrapper #mainimg .maincopy li .br {
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translate(0.25em, -0.5em);
    -moz-transform: translate(0.25em, -0.5em);
    -ms-transform: translate(0.25em, -0.5em);
    -o-transform: translate(0.25em, -0.5em);
    transform: translate(0.25em, -0.5em);
    /* Firefox調整 */ }
  @-moz-document url-prefix() {
    body#front-page #wrapper #mainimg .maincopy li .br {
      -webkit-transform: translate(0.5em, -0.5em);
      -moz-transform: translate(0.5em, -0.5em);
      -ms-transform: translate(0.5em, -0.5em);
      -o-transform: translate(0.5em, -0.5em);
      transform: translate(0.5em, -0.5em); } } }

@media screen and (max-width: 480px) and (min-aspect-ratio: 10 / 17) {
  body#front-page #wrapper #mainimg .maincopy li .br {
    display: block;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translate(0.25em, -0.5em);
    -moz-transform: translate(0.25em, -0.5em);
    -ms-transform: translate(0.25em, -0.5em);
    -o-transform: translate(0.25em, -0.5em);
    transform: translate(0.25em, -0.5em);
    /* Firefox調整 */ }
  @-moz-document url-prefix() {
    body#front-page #wrapper #mainimg .maincopy li .br {
      -webkit-transform: translate(0.5em, -0.5em);
      -moz-transform: translate(0.5em, -0.5em);
      -ms-transform: translate(0.5em, -0.5em);
      -o-transform: translate(0.5em, -0.5em);
      transform: translate(0.5em, -0.5em); } } }

        body#front-page #wrapper #mainimg .maincopy li .ruby {
          position: relative;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;
          color: #003cc5;
          display: -ms-flexbox;
          display: -webkit-box;
          display: -webkit-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
          -ms-flex-direction: column-reverse;
          -webkit-box-orient: vertical;
          -webkit-box-direction: reverse;
          -webkit-flex-direction: column-reverse;
          flex-direction: column-reverse;
          display: inline-flex;
          left: 0.85em;
          /* Chrome / Opera */
          /* Edge */
          /* Firefox */ }
          body#front-page #wrapper #mainimg .maincopy li .ruby .rt {
            font-size: 0.5em;
            line-height: 1em;
            text-align: center;
            padding-left: 0.15em; }
            body#front-page #wrapper #mainimg .maincopy li .ruby .rt.ff2 {
              letter-spacing: 1em;
              text-indent: 0.5em; }
          @media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
            body#front-page #wrapper #mainimg .maincopy li .ruby {
              background: -webkit-linear-gradient(120deg, #03c5e2 0, #003cc5 100%);
              background: -moz-linear-gradient(120deg, #03c5e2 0, #003cc5 100%);
              background: -o-linear-gradient(120deg, #03c5e2 0, #003cc5 100%);
              background: linear-gradient(-30deg, #03c5e2 0, #003cc5 100%);
              -webkit-background-clip: text;
              background-clip: text;
              -webkit-text-fill-color: transparent; } }
          @supports (-ms-ime-align: auto) {
            body#front-page #wrapper #mainimg .maincopy li .ruby {
              background: -webkit-linear-gradient(120deg, #03c5e2 0, #003cc5 100%);
              background: -moz-linear-gradient(120deg, #03c5e2 0, #003cc5 100%);
              background: -o-linear-gradient(120deg, #03c5e2 0, #003cc5 100%);
              background: linear-gradient(-30deg, #03c5e2 0, #003cc5 100%);
              -webkit-background-clip: text;
              background-clip: text;
              -webkit-text-fill-color: transparent; } }
@-moz-document url-prefix() {
  body#front-page #wrapper #mainimg .maincopy li .ruby {
    background: -webkit-linear-gradient(120deg, #03c5e2 0, #003cc5 100%);
    background: -moz-linear-gradient(120deg, #03c5e2 0, #003cc5 100%);
    background: -o-linear-gradient(120deg, #03c5e2 0, #003cc5 100%);
    background: linear-gradient(-30deg, #03c5e2 0, #003cc5 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent; } }
        body#front-page #wrapper #mainimg .maincopy li:nth-child(1) {
          position: relative;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;
          -webkit-animation: loop3 24s -16s ease-in-out infinite;
          -moz-animation: loop3 24s -16s ease-in-out infinite;
          -o-animation: loop3 24s -16s ease-in-out infinite;
          animation: loop3 24s -16s ease-in-out infinite; }
        body#front-page #wrapper #mainimg .maincopy li:nth-child(2) {
          -webkit-animation: loop3 24s -8s ease-in-out infinite;
          -moz-animation: loop3 24s -8s ease-in-out infinite;
          -o-animation: loop3 24s -8s ease-in-out infinite;
          animation: loop3 24s -8s ease-in-out infinite; }
        body#front-page #wrapper #mainimg .maincopy li:nth-child(3) {
          -webkit-animation: loop3 24s ease-in-out infinite;
          -moz-animation: loop3 24s ease-in-out infinite;
          -o-animation: loop3 24s ease-in-out infinite;
          animation: loop3 24s ease-in-out infinite; }
@-webkit-keyframes loop3 {
  0% {
    opacity: 0;
    filter: alpha(opacity=0); }
  53% {
    opacity: 0;
    filter: alpha(opacity=0); }
  56.66% {
    opacity: 1;
    filter: alpha(opacity=100); }
  87% {
    opacity: 1;
    filter: alpha(opacity=100); }
  90% {
    opacity: 0;
    filter: alpha(opacity=0); }
  100% {
    opacity: 0;
    filter: alpha(opacity=0); } }
@-moz-keyframes loop3 {
  0% {
    opacity: 0;
    filter: alpha(opacity=0); }
  53% {
    opacity: 0;
    filter: alpha(opacity=0); }
  56.66% {
    opacity: 1;
    filter: alpha(opacity=100); }
  87% {
    opacity: 1;
    filter: alpha(opacity=100); }
  90% {
    opacity: 0;
    filter: alpha(opacity=0); }
  100% {
    opacity: 0;
    filter: alpha(opacity=0); } }
@-o-keyframes loop3 {
  0% {
    opacity: 0;
    filter: alpha(opacity=0); }
  53% {
    opacity: 0;
    filter: alpha(opacity=0); }
  56.66% {
    opacity: 1;
    filter: alpha(opacity=100); }
  87% {
    opacity: 1;
    filter: alpha(opacity=100); }
  90% {
    opacity: 0;
    filter: alpha(opacity=0); }
  100% {
    opacity: 0;
    filter: alpha(opacity=0); } }
@keyframes loop3 {
  0% {
    opacity: 0;
    filter: alpha(opacity=0); }
  53% {
    opacity: 0;
    filter: alpha(opacity=0); }
  56.66% {
    opacity: 1;
    filter: alpha(opacity=100); }
  87% {
    opacity: 1;
    filter: alpha(opacity=100); }
  90% {
    opacity: 0;
    filter: alpha(opacity=0); }
  100% {
    opacity: 0;
    filter: alpha(opacity=0); } }
      body#front-page #wrapper #mainimg .maincopy.lazyloaded {
        -webkit-transition-delay: 1s;
        -moz-transition-delay: 1s;
        -o-transition-delay: 1s;
        transition-delay: 1s;
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
        -webkit-filter: blur(0px);
        filter: blur(0px); }
  body#front-page #wrapper .topsec {
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100 );
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    z-index: 2;
    /* -------------------------- 画像 ------------------------------------------- */
    /* -------------------------- 出現アニメーション ------------------------------------------- */
    /* -------------------------- 消失アニメーション ------------------------------------------- */
    /* -------------------------- スクロール変化 ------------------------------------------- */ }
    @media screen and (max-width: 480px) {
      body#front-page #wrapper .topsec {
        padding-bottom: 15em; } }
    body#front-page #wrapper .topsec .innerbox {
      padding-left: 45%;
      padding-right: 25%;
      z-index: 2;
      /* -------------------------- テキスト ------------------------------------------- */ }
      @media screen and (max-width: 1350px) {
        body#front-page #wrapper .topsec .innerbox {
          padding-left: 40%; } }
@media screen and (max-width: 768px) and (max-aspect-ratio: 1 / 1) {
  body#front-page #wrapper .topsec .innerbox {
    padding-left: 3.75em;
    padding-right: 30%; } }

      @media screen and (max-width: 480px) {
        body#front-page #wrapper .topsec .innerbox {
          padding: 0 2.5em; } }
      body#front-page #wrapper .topsec .innerbox .txtbox {
        /* 見出し ------------------------------------------- */
        /* 文章 ------------------------------------------- */ }
        body#front-page #wrapper .topsec .innerbox .txtbox .sec_ttl {
          -webkit-filter: blur(100px);
          filter: blur(100px);
          -webkit-transform: scale(1.2);
          -moz-transform: scale(1.2);
          -ms-transform: scale(1.2);
          -o-transform: scale(1.2);
          transform: scale(1.2);
          /* グラデーション文字 */ }
@media screen and (max-width: 768px) and (min-aspect-ratio: 1 / 1) {
  body#front-page #wrapper .topsec .innerbox .txtbox .sec_ttl {
    font-size: 1.5em; }
    body#front-page #wrapper .topsec .innerbox .txtbox .sec_ttl span {
      display: block; } }

          @media screen and (max-width: 480px) {
            body#front-page #wrapper .topsec .innerbox .txtbox .sec_ttl {
              padding-bottom: 0.5em; } }
          body#front-page #wrapper .topsec .innerbox .txtbox .sec_ttl strong {
            display: inline-block;
            color: #003cc5;
            font-weight: 500; }
        body#front-page #wrapper .topsec .innerbox .txtbox p {
          font-size: 1.25em;
          line-height: 2em;
          -webkit-filter: blur(100px);
          filter: blur(100px);
          -webkit-transform: scale(1.2);
          -moz-transform: scale(1.2);
          -ms-transform: scale(1.2);
          -o-transform: scale(1.2);
          transform: scale(1.2); }
          @media screen and (max-width: 1350px) {
            body#front-page #wrapper .topsec .innerbox .txtbox p {
              font-size: 1em; } }
@media screen and (max-width: 768px) and (max-aspect-ratio: 1 / 1) and (min-width: 481px) {
  body#front-page #wrapper .topsec .innerbox .txtbox p {
    padding-right: 4em; } }

          body#front-page #wrapper .topsec .innerbox .txtbox p:last-child {
            padding-bottom: 0; }
    body#front-page #wrapper .topsec .sec_img {
      position: fixed;
      top: 0;
      left: auto;
      right: 0;
      bottom: 0;
      margin: auto;
      width: 29%;
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
      -moz-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      -webkit-box-align: end;
      -webkit-align-items: flex-end;
      -moz-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
      opacity: 0;
      filter: alpha(opacity=0);
      -webkit-transform: translate(100%, 0);
      -moz-transform: translate(100%, 0);
      -ms-transform: translate(100%, 0);
      -o-transform: translate(100%, 0);
      transform: translate(100%, 0);
      -webkit-transition: 1s ease;
      -moz-transition: 1s ease;
      -ms-transition: 1s ease;
      -o-transition: 1s ease;
      transition: 1s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
@media screen and (max-width: 768px) and (max-aspect-ratio: 1 / 1) {
  body#front-page #wrapper .topsec .sec_img {
    width: 50%; } }

      body#front-page #wrapper .topsec .sec_img img {
        object-fit: contain;
        object-position: 50% 50%;
        width: 100%;
        height: 100%;
        font-family: "object-fit: contain; object-position: 50% 50%;";
        object-position: 100% 100%;
        font-family: "object-fit: cover; object-position: 100% 100%;"; }
    body#front-page #wrapper .topsec.on {
      /* テキスト ------------------------------------------- */
      /* 画像 ------------------------------------------- */ }
      body#front-page #wrapper .topsec.on .txtbox {
        /* 見出し */
        /* 文章 */ }
        body#front-page #wrapper .topsec.on .txtbox .sec_ttl.lazyloaded {
          -webkit-filter: blur(0px);
          filter: blur(0px);
          -webkit-transform: scale(1);
          -moz-transform: scale(1);
          -ms-transform: scale(1);
          -o-transform: scale(1);
          transform: scale(1); }
        body#front-page #wrapper .topsec.on .txtbox p.lazyloaded {
          -webkit-transition-delay: 0.5s;
          -moz-transition-delay: 0.5s;
          -o-transition-delay: 0.5s;
          transition-delay: 0.5s;
          -webkit-filter: blur(0px);
          filter: blur(0px);
          -webkit-transform: scale(1);
          -moz-transform: scale(1);
          -ms-transform: scale(1);
          -o-transform: scale(1);
          transform: scale(1); }
      body#front-page #wrapper .topsec.on .sec_img {
        opacity: 1;
        filter: alpha(opacity=100);
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0); }
    body#front-page #wrapper .topsec.off {
      /* 画像 ------------------------------------------- */ }
      body#front-page #wrapper .topsec.off .sec_img {
        opacity: 0;
        filter: alpha(opacity=0);
        -webkit-transform: scale(2);
        -moz-transform: scale(2);
        -ms-transform: scale(2);
        -o-transform: scale(2);
        transform: scale(2);
        -webkit-filter: blur(100px);
        filter: blur(100px); }
    body#front-page #wrapper .topsec.scroll .sec_img {
      position: absolute; }
  body#front-page #wrapper #color .innerbox {
    /* -------------------------- テキスト ------------------------------------------- */ }
    body#front-page #wrapper #color .innerbox .txtbox {
      /* 見出し ------------------------------------------- */ }
      body#front-page #wrapper #color .innerbox .txtbox .sec_ttl {
        /* グラデーション文字 */ }
        body#front-page #wrapper #color .innerbox .txtbox .sec_ttl strong {
          background: -webkit-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
          background: -moz-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
          background: -o-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
          background: linear-gradient(-60deg, #03c5e2 0, #003cc5 100%);
          -webkit-background-clip: text;
          background-clip: text;
          -webkit-text-fill-color: transparent; }
  body#front-page #wrapper #face {
    color: #fff; }
    body#front-page #wrapper #face .innerbox {
      /* -------------------------- テキスト ------------------------------------------- */ }
      body#front-page #wrapper #face .innerbox .txtbox {
        /* 見出し ------------------------------------------- */ }
        body#front-page #wrapper #face .innerbox .txtbox .sec_ttl {
          /* グラデーション文字 */ }
          body#front-page #wrapper #face .innerbox .txtbox .sec_ttl strong {
            background: -webkit-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
            background: -moz-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
            background: -o-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
            background: linear-gradient(-60deg, #03c5e2 0, #0167ce 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent; }
  body#front-page #wrapper #door {
    color: #fff;
    /* -------------------------- 画像 ------------------------------------------- */ }
    body#front-page #wrapper #door .innerbox {
      /* -------------------------- テキスト ------------------------------------------- */ }
      body#front-page #wrapper #door .innerbox .txtbox {
        /* 見出し ------------------------------------------- */ }
        body#front-page #wrapper #door .innerbox .txtbox .sec_ttl {
          /* グラデーション文字 */ }
          body#front-page #wrapper #door .innerbox .txtbox .sec_ttl strong {
            font-weight: 600;
            color: #fff; }
    body#front-page #wrapper #door .door_set {
      /* ドア ------------------------------------------- */
      /* 消失アニメーション ------------------------------------------- */ }
      body#front-page #wrapper #door .door_set .img_door {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
        -moz-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-box-align: end;
        -webkit-align-items: flex-end;
        -moz-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        /* 開くアニメーション */ }
        body#front-page #wrapper #door .door_set .img_door img {
          -webkit-transform-origin: 32.4% 0;
          -moz-transform-origin: 32.4% 0;
          -ms-transform-origin: 32.4% 0;
          -o-transform-origin: 32.4% 0;
          transform-origin: 32.4% 0;
          -webkit-transition: 0.6s ease;
          -moz-transition: 0.6s ease;
          -ms-transition: 0.6s ease;
          -o-transition: 0.6s ease;
          transition: 0.6s ease;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
        body#front-page #wrapper #door .door_set .img_door.open img {
          -webkit-transform: rotateY(-90deg);
          -moz-transform: rotateY(-90deg);
          transform: rotateY(-90deg); }
      body#front-page #wrapper #door .door_set .img_door,
      body#front-page #wrapper #door .door_set .door_frame {
        -webkit-transition: 1s ease;
        -moz-transition: 1s ease;
        -ms-transition: 1s ease;
        -o-transition: 1s ease;
        transition: 1s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-transition-delay: 0s;
        -moz-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s; }
      body#front-page #wrapper #door .door_set.off .img_door,
      body#front-page #wrapper #door .door_set.off .door_frame {
        opacity: 0;
        filter: alpha(opacity=0);
        -webkit-filter: blur(100px);
        filter: blur(100px);
        -webkit-transform: scale(2);
        -moz-transform: scale(2);
        -ms-transform: scale(2);
        -o-transform: scale(2);
        transform: scale(2);
        -webkit-transition-delay: 0.5s;
        -moz-transition-delay: 0.5s;
        -o-transition-delay: 0.5s;
        transition-delay: 0.5s; }
  body#front-page #wrapper #topics {
    background: #f2f4f9;
    z-index: 10;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center; }
    body#front-page #wrapper #topics .innerbox {
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -ms-flex-pack: justify;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -ms-flex-align: stretch;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
      align-items: stretch;
      /* -------------------------- ヘッダー ------------------------------------------- */
      /* -------------------------- 記事一覧 ------------------------------------------- */ }
      @media screen and (max-width: 768px) {
        body#front-page #wrapper #topics .innerbox {
          display: block; } }
      body#front-page #wrapper #topics .innerbox .sec_header {
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -ms-flex-align: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        align-items: center; }
        @media screen and (max-width: 768px) {
          body#front-page #wrapper #topics .innerbox .sec_header {
            display: block;
            position: relative;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box; }
            body#front-page #wrapper #topics .innerbox .sec_header .txtbox {
              width: 100%;
              position: relative;
              -webkit-box-sizing: border-box;
              -moz-box-sizing: border-box;
              box-sizing: border-box;
              /* ボタン */ }
              body#front-page #wrapper #topics .innerbox .sec_header .txtbox .btn {
                width: 14em;
                position: absolute;
                top: 0;
                left: 78%;
                right: auto;
                bottom: auto; } }
      @media screen and (max-width: 768px) and (max-width: 480px) {
        body#front-page #wrapper #topics .innerbox .sec_header .txtbox .btn {
          left: 71%; } }

      body#front-page #wrapper #topics .innerbox .post_list {
        width: 80%;
        margin-top: 0; }
        @media screen and (max-width: 768px) {
          body#front-page #wrapper #topics .innerbox .post_list {
            width: 100%; } }
        body#front-page #wrapper #topics .innerbox .post_list li {
          width: 31%;
          margin-right: 3.5%;
          margin-top: 0;
          /* 出現アニメーション ------------------------------------------- */ }
          body#front-page #wrapper #topics .innerbox .post_list li:nth-child(3n) {
            margin-right: 0; }
          @media screen and (max-width: 480px) {
            body#front-page #wrapper #topics .innerbox .post_list li {
              width: 48%;
              margin-right: 4%;
              margin-top: 2.5em; }
              body#front-page #wrapper #topics .innerbox .post_list li:nth-child(1) {
                width: 100%;
                margin-top: 0;
                margin-right: 0;
                /* 日付 */ }
                body#front-page #wrapper #topics .innerbox .post_list li:nth-child(1) .date {
                  font-size: 1em; }
              body#front-page #wrapper #topics .innerbox .post_list li:nth-child(3) {
                margin-right: 0; } }
          body#front-page #wrapper #topics .innerbox .post_list li.lazyloaded {
            -webkit-transform: scale(1.2);
            -moz-transform: scale(1.2);
            -ms-transform: scale(1.2);
            -o-transform: scale(1.2);
            transform: scale(1.2);
            -webkit-filter: blur(100px);
            filter: blur(100px); }
    body#front-page #wrapper #topics.on .innerbox .post_list li {
      /* 出現アニメーション ------------------------------------------- */ }
      body#front-page #wrapper #topics.on .innerbox .post_list li.lazyloaded {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
        -webkit-filter: blur(0px);
        filter: blur(0px); }

/* =======================================================================================================================
　　　　　　　　　下層ページ（共通）
======================================================================================================================= */
#page-header {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10em 0;
  padding-bottom: 5em;
  /* 斜め背景 */
  /* 日本語タイトル */
  /* 英語タイトル */ }
  @media screen and (max-width: 480px) {
    #page-header {
      padding: 5em 0; } }
  @media screen and (max-width: 480px) {
    #page-header {
      padding-top: 15em; } }
  #page-header::before {
    content: "";
    display: block;
    background: -webkit-linear-gradient(120deg, #B7BECB 0, #f2f4f9 100%);
    background: -moz-linear-gradient(120deg, #B7BECB 0, #f2f4f9 100%);
    background: -o-linear-gradient(120deg, #B7BECB 0, #f2f4f9 100%);
    background: linear-gradient(-30deg, #B7BECB 0, #f2f4f9 100%);
    width: 150%;
    height: 30em;
    -webkit-transform-origin: 0 100%;
    -moz-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    -o-transform-origin: 0 100%;
    transform-origin: 0 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
    z-index: 1;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transform: rotate(-30deg) translate(0, -30em);
    -moz-transform: rotate(-30deg) translate(0, -30em);
    -ms-transform: rotate(-30deg) translate(0, -30em);
    -o-transform: rotate(-30deg) translate(0, -30em);
    transform: rotate(-30deg) translate(0, -30em);
    -webkit-transition: 1s ease;
    -moz-transition: 1s ease;
    -ms-transition: 1s ease;
    -o-transition: 1s ease;
    transition: 1s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  #page-header.lazyloaded::before {
    -webkit-transform: rotate(-30deg) translate(0, 0);
    -moz-transform: rotate(-30deg) translate(0, 0);
    -ms-transform: rotate(-30deg) translate(0, 0);
    -o-transform: rotate(-30deg) translate(0, 0);
    transform: rotate(-30deg) translate(0, 0);
    opacity: 1;
    filter: alpha(opacity=100); }
  #page-header .innerbox {
    z-index: 2; }
  #page-header .page_ttl {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 1em;
    line-height: 1.25em;
    padding-bottom: 1em;
    padding-left: 2rem; }
    @media screen and (max-width: 768px) {
      #page-header .page_ttl {
        padding-left: 0; } }
    #page-header .page_ttl::before {
      content: "";
      display: inline-block;
      vertical-align: top;
      width: 3em;
      height: 0.5em;
      border-bottom: #151c2c solid 0.15em;
      margin-right: 0.25em;
      opacity: 0.25;
      filter: alpha(opacity=25); }
  #page-header .eg_ttl {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: korolev, sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 6em;
    line-height: 1em;
    text-transform: uppercase;
    -webkit-transition-delay: 0.2s;
    -moz-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
    padding-left: 2rem; }
    #page-header .eg_ttl::first-letter {
      display: inline-block;
      color: #5b667e;
      opacity: 0.5;
      filter: alpha(opacity=50); }
    @media screen and (max-width: 768px) {
      #page-header .eg_ttl {
        font-size: 4em;
        padding-left: 0; } }
    @media screen and (max-width: 480px) {
      #page-header .eg_ttl {
        font-size: 3em;
        padding-left: 0; } }

/* =======================================================================================================================
　　　　　　　　　フリーページ（カスタムフィールド）
======================================================================================================================= */
.freepage-ctt {
  padding-top: 0;
  padding-bottom: 0; }

/* 最大幅800px */
.max800px {
  max-width: 800px;
  margin: 0 auto; }

/* =============== 背景色 ========================================================= */
.sec_bg1 {
  background: #f2f4f9; }

.sec_bg2 {
  background: -webkit-linear-gradient(150deg, #5b667e 0, #151c2c 100%);
  background: -moz-linear-gradient(150deg, #5b667e 0, #151c2c 100%);
  background: -o-linear-gradient(150deg, #5b667e 0, #151c2c 100%);
  background: linear-gradient(-60deg, #5b667e 0, #151c2c 100%);
  color: #fff; }

.sec_bg3 {
  background: -webkit-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
  background: -moz-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
  background: -o-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
  background: linear-gradient(-60deg, #03c5e2 0, #003cc5 100%);
  color: #fff; }

/* 同じ背景色のセクションが続いたときに余白をなくす */
.sec_bg1 + .sec_bg1, .sec_bg2 + .sec_bg2, .sec_bg3 + .sec_bg3 {
  padding-top: 0 !important; }

/* =============== テキスト ========================================================= */
/* ------------ 見出し -------------------------------- */
.parts-h3 {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 1em;
  line-height: 1em;
  padding-bottom: 3em;
  /* 大きな数字 */ }
  .parts-h3 span span {
    display: inline-block; }
    .sec_bg1 .parts-h3 span span {
      background: -webkit-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
      background: -moz-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
      background: -o-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
      background: linear-gradient(-60deg, #03c5e2 0, #003cc5 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent; }
    .sec_bg2 .parts-h3 span span {
      background: -webkit-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
      background: -moz-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
      background: -o-linear-gradient(150deg, #03c5e2 0, #0167ce 100%);
      background: linear-gradient(-60deg, #03c5e2 0, #0167ce 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent; }
  .parts-h3 .jpttl {
    font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    display: block;
    font-size: 3em;
    font-weight: 700;
    line-height: 1.5em; }
    @media screen and (max-width: 768px) {
      .parts-h3 .jpttl {
        font-size: 2em; } }
    @media screen and (max-width: 480px) {
      .parts-h3 .jpttl {
        font-size: 1.6em; } }
  .parts-h3 .lnmb {
    display: block;
    font-family: korolev, sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 5em;
    letter-spacing: 0;
    line-height: 1.1em; }
    @media screen and (max-width: 768px) {
      .parts-h3 .lnmb {
        font-size: 3.5em; } }
    @media screen and (max-width: 480px) {
      .parts-h3 .lnmb {
        font-size: 2.5em; } }
    .parts-h3 .lnmb + .jpttl {
      font-size: 1.5em;
      padding-top: 0.5em; }
      @media screen and (max-width: 768px) {
        .parts-h3 .lnmb + .jpttl {
          font-size: 1.25em; } }

.parts-h4 {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.5em;
  padding-top: 3em;
  padding-bottom: 1em; }
  @media screen and (max-width: 768px) {
    .parts-h4 {
      font-size: 1.15em; } }

/* 左寄せ・幅指定中央配置テキスト */
.centerbox {
  max-width: 800px;
  margin: 0 auto; }

/* ------------ 段落 -------------------------------- */
.freepage-ctt a {
  text-decoration: underline; }
.freepage-ctt .sec p {
  padding-bottom: 3.75em;
  /* 余白小さめ */
  /* 強調 */
  /* 注釈 */ }
  .freepage-ctt .sec p.btmmin {
    padding-bottom: 2em; }
  .freepage-ctt .sec p.parts-copy {
    font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-size: 2em;
    font-weight: 700;
    line-height: 1.5em;
    padding-bottom: 1em; }
    @media screen and (max-width: 768px) {
      .freepage-ctt .sec p.parts-copy {
        font-size: 1.6em; } }
    @media screen and (max-width: 480px) {
      .freepage-ctt .sec p.parts-copy {
        font-size: 1.3em; } }
  .freepage-ctt .sec p.note {
    font-size: 0.9em;
    font-weight: 400;
    line-height: 1.7em;
    padding-bottom: 3.75em;
    padding-left: 1.2em;
    text-indent: -0.65em;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto; }
    .freepage-ctt .sec p.note::before {
      display: inline-block;
      content: "※";
      padding-right: 0.2em; }
.freepage-ctt .sec .imgtxt_txtbox p:last-child {
  padding-bottom: 0; }
.freepage-ctt .sec.sec_bg1 p.note {
  color: #003cc5;
  opacity: 0.7;
  filter: alpha(opacity=70); }

/* やや小さめ強調 */
.strong {
  font-size: 1.25em;
  font-weight: 700;
  line-height: 2em; }
  @media screen and (max-width: 480px) {
    .strong {
      font-size: 1.05em; } }

/* =============== ブロック ========================================================= */
.freepage-ctt .sec {
  /* ------------ 背景色つきテキストボックス -------------------------------- */ }
  .freepage-ctt .sec .bbox {
    width: 100%;
    box-sizing: border-box;
    padding: 3.75em;
    border: #fff solid 0.2em; }
    @media screen and (max-width: 1350px) {
      .freepage-ctt .sec .bbox {
        padding: 3em; } }
    @media screen and (max-width: 768px) {
      .freepage-ctt .sec .bbox {
        padding: 2.5em; } }
    @media screen and (max-width: 480px) {
      .freepage-ctt .sec .bbox {
        padding: 1.5em; } }
    .freepage-ctt .sec .bbox h3, .freepage-ctt .sec .bbox h4 {
      font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
      font-weight: 700;
      font-size: 1.5em;
      line-height: 1.5em;
      padding-bottom: 1em; }
      @media screen and (max-width: 768px) {
        .freepage-ctt .sec .bbox h3, .freepage-ctt .sec .bbox h4 {
          font-size: 1.3em; } }
    .freepage-ctt .sec .bbox p {
      padding-bottom: 2em; }
      .freepage-ctt .sec .bbox p:last-child {
        padding-bottom: 0; }
  .freepage-ctt .sec.sec_bg1 .bbox {
    border-color: #5b667e; }

/* =============== 画像 ========================================================= */
.parts-100img {
  width: 100%;
  position: relative;
  padding-bottom: 5em;
  text-align: center; }
  .parts-100img.center {
    text-align: center; }
  .parts-100img.left {
    text-align: left; }
  .parts-100img.right {
    text-align: right; }
  .parts-100img img {
    max-width: inherit;
    height: auto; }
    @media screen and (max-width: 768px) {
      .parts-100img img {
        width: 100%; } }

/* ------------ 画像＋テキスト -------------------------------- */
.box_imglefttxt,
.box_imgrighttxt {
  width: 100%;
  position: relative;
  overflow: hidden;
  zoom: 1;
  padding-bottom: 5em; }
  .box_imglefttxt .imgtxt_imgbox,
  .box_imgrighttxt .imgtxt_imgbox {
    width: 40%;
    position: relative;
    padding-bottom: 1em;
    /* 画像 */ }
    @media screen and (max-width: 1350px) {
      .box_imglefttxt .imgtxt_imgbox,
      .box_imgrighttxt .imgtxt_imgbox {
        width: 45%; } }
    @media screen and (max-width: 768px) {
      .box_imglefttxt .imgtxt_imgbox,
      .box_imgrighttxt .imgtxt_imgbox {
        width: 50%; } }
    @media screen and (max-width: 480px) {
      .box_imglefttxt .imgtxt_imgbox,
      .box_imgrighttxt .imgtxt_imgbox {
        width: 100%;
        padding-bottom: 2.5em; } }
    .box_imglefttxt .imgtxt_imgbox img,
    .box_imgrighttxt .imgtxt_imgbox img {
      width: 100%;
      height: auto; }

/* 画像左 -------------------------------- */
.box_imglefttxt .imgtxt_imgbox {
  float: left;
  padding-right: 3%; }

/* 画像右 -------------------------------- */
.box_imgrighttxt .imgtxt_imgbox {
  float: right;
  padding-left: 3%; }

@media screen and (max-width: 480px) {
  .box_imglefttxt .imgtxt_imgbox,
  .box_imgrighttxt .imgtxt_imgbox {
    float: none;
    padding-right: 0;
    padding-left: 0; } }

/* テキスト -------------------------------- */
/* 見出し */
.imgtxt_txtbox h4 {
  font-size: 1.75em;
  font-weight: 900;
  line-height: 1.5em;
  padding-bottom: 1em; }
  @media screen and (max-width: 768px) {
    .imgtxt_txtbox h4 {
      font-size: 1.6em; } }
  @media screen and (max-width: 480px) {
    .imgtxt_txtbox h4 {
      font-size: 1.5em;
      padding-bottom: 0.67em; } }

/* ------------ 2～4つ並び画像テキストボックス -------------------------------- */
/* テキスト */
.imgbox_txtarea {
  display: block;
  width: 100%;
  z-index: 1;
  position: relative;
  box-sizing: border-box; }
  .imgbox_txtarea h4 {
    font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-size: 1.2em;
    font-weight: 700;
    line-height: 1.5em;
    padding-top: 0.5em;
    padding-bottom: 0.25em;
    margin-bottom: 0.5em; }
  .imgbox_txtarea p {
    font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    padding-bottom: 0;
    line-height: 1.5em; }

/* 2つ並び画像テキストボックス -------------------------------- */
.img2box {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 5em;
  /* リスト */ }
  .img2box ul {
    list-style: none inside;
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
    margin-top: -2em; }
    @media screen and (max-width: 480px) {
      .img2box ul {
        margin-top: -3em; } }
    .img2box ul li {
      width: 47%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      margin-top: 2em;
      /* 画像 */ }
      @media screen and (max-width: 480px) {
        .img2box ul li {
          width: 100%;
          margin-top: 3em; } }
      .img2box ul li img {
        width: 100%;
        height: auto;
        margin-bottom: 1em; }
  @media screen and (max-width: 480px) {
    .img2box.imghbox ul li {
      width: 47%; } }

/* 3つ並び画像テキストボックス -------------------------------- */
.img3txtbox {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 5em;
  /* リスト */ }
  .img3txtbox ul {
    list-style: none inside;
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
    margin-top: -3em; }
    .img3txtbox ul li {
      width: 31%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      margin-right: 3.5%;
      margin-top: 3em;
      /* 画像 */ }
      @media screen and (min-width: 769px) {
        .img3txtbox ul li:nth-child(3n) {
          margin-right: 0; } }
      @media screen and (max-width: 768px) {
        .img3txtbox ul li {
          width: 100%;
          margin-bottom: 3em;
          margin-right: 0; } }
      .img3txtbox ul li img {
        width: 100%;
        height: auto;
        margin-bottom: 1em; }
  @media screen and (max-width: 768px) {
    .img3txtbox.imghbox ul li {
      width: 31%;
      margin-right: 3.5%; }
      .img3txtbox.imghbox ul li:nth-child(3n) {
        margin-right: 0; } }

/* 4つ並び画像テキストボックス -------------------------------- */
.img4txtbox {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 5em;
  /* リスト */ }
  .img4txtbox ul {
    list-style: none inside;
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
    margin-top: -2em; }
    @media screen and (max-width: 1350px) {
      .img4txtbox ul {
        margin-top: -3em; } }
    .img4txtbox ul li {
      width: 23.5%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      margin-right: 2%;
      margin-top: 2em;
      /* 画像 */ }
      @media screen and (min-width: 769px) {
        .img4txtbox ul li:nth-child(4n) {
          margin-right: 0; } }
      @media screen and (max-width: 768px) {
        .img4txtbox ul li {
          margin-top: 3em; } }
  @media screen and (max-width: 768px) and (min-width: 481px) {
    .img4txtbox ul li {
      width: 49%; }
      .img4txtbox ul li:nth-child(2n) {
        margin-right: 0; } }

      @media screen and (max-width: 480px) {
        .img4txtbox ul li {
          width: 100%; } }
      .img4txtbox ul li img {
        width: 100%;
        height: auto;
        margin-bottom: 1em; }
@media screen and (max-width: 1350px) and (min-width: 481px) {
  .img4txtbox.imghbox ul li {
    width: 23.5%; }
    .img4txtbox.imghbox ul li:nth-child(2n) {
      margin-right: 2%; }
    .img4txtbox.imghbox ul li:nth-child(4n) {
      margin-right: 0; } }

  @media screen and (max-width: 480px) {
    .img4txtbox.imghbox ul li {
      width: 23.5%; }
      .img4txtbox.imghbox ul li:nth-child(4n) {
        margin-right: 0; } }

/* =============== リスト ========================================================= */
/* ノーマルリストマークつき -------------------------------- */
.no_list {
  width: 100%;
  box-sizing: border-box;
  padding: 3.75em;
  margin: 0 auto;
  margin-bottom: 3.75em;
  position: relative;
  border: #fff solid 0.2em;
  /* 見出し */
  /* リスト */ }
  .sec_bg1 .no_list {
    border-color: #5b667e; }
  @media screen and (max-width: 1350px) {
    .no_list {
      padding: 3em; } }
  @media screen and (max-width: 768px) {
    .no_list {
      padding: 2.5em; } }
  @media screen and (max-width: 480px) {
    .no_list {
      padding: 1.5em; } }
  .no_list h3, .no_list h4 {
    font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-weight: 700;
    font-size: 1.5em;
    line-height: 1.5em;
    padding-bottom: 1em; }
    @media screen and (max-width: 768px) {
      .no_list h3, .no_list h4 {
        font-size: 1.3em; } }
  .no_list ul {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 1.5em; }
    .no_list ul li {
      width: 100%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 1em;
      line-height: 1.7em;
      padding-bottom: 1.5em; }
      .no_list ul li:last-child {
        padding-bottom: 0; }

/* チェックボックスマークつき -------------------------------- */
.check_list {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 3.75em;
  margin: 0 auto;
  margin-bottom: 3.75em;
  border: #fff solid 0.2em;
  /* 見出し */
  /* リスト */ }
  .sec_bg1 .check_list {
    border-color: #5b667e; }
  @media screen and (max-width: 1350px) {
    .check_list {
      padding: 3em; } }
  @media screen and (max-width: 768px) {
    .check_list {
      padding: 2.5em; } }
  @media screen and (max-width: 480px) {
    .check_list {
      padding: 1.5em; } }
  .check_list h3, .check_list h4 {
    font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-weight: 700;
    font-size: 1.5em;
    line-height: 1.5em;
    padding-bottom: 1em; }
    @media screen and (max-width: 768px) {
      .check_list h3, .check_list h4 {
        font-size: 1.3em; } }
  .check_list ul {
    list-style: none inside;
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .check_list ul li {
      width: 100%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 1em;
      line-height: 1.7em;
      padding-bottom: 1.5em;
      text-indent: -1.2em;
      padding-left: 1.2em; }
      .check_list ul li::before {
        display: inline-block;
        padding-left: 1em;
        padding-right: 0.2em;
        font-family: "Font Awesome 5 Free";
        content: "\f14a";
        font-weight: 900;
        color: #53524e; }
      .check_list ul li:last-child {
        padding-bottom: 0; }

/* 番号つき -------------------------------- */
.order_list {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 3.75em;
  margin: 0 auto;
  margin-bottom: 3.75em;
  position: relative;
  border: #fff solid 0.2em;
  /* 見出し */
  /* リスト */ }
  .sec_bg1 .order_list {
    border-color: #5b667e; }
  @media screen and (max-width: 1350px) {
    .order_list {
      padding: 3em; } }
  @media screen and (max-width: 768px) {
    .order_list {
      padding: 2.5em; } }
  @media screen and (max-width: 480px) {
    .order_list {
      padding: 1.5em; } }
  .order_list h3, .order_list h4 {
    font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-weight: 700;
    font-size: 1.5em;
    line-height: 1.5em;
    padding-bottom: 1em; }
    @media screen and (max-width: 768px) {
      .order_list h3, .order_list h4 {
        font-size: 1.3em; } }
  .order_list ol {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    list-style: none inside;
    counter-reset: number; }
    .order_list ol li {
      width: 100%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 1em;
      line-height: 1.7em;
      padding-left: 2em;
      padding-bottom: 1em; }
      .order_list ol li::before {
        position: relative;
        display: inline-block;
        width: 1.5em;
        margin-left: -1.5em;
        counter-increment: number;
        content: counter(number,decimal-leading-zero);
        font-family: korolev, sans-serif;
        font-weight: 900;
        font-style: normal;
        font-size: 1.5em;
        color: #53524e; }
      .order_list ol li:nth-child(n+10) {
        text-indent: -1.5em;
        padding-left: 1.5em; }
      .order_list ol li:last-child {
        padding-bottom: 0; }

/* 表型 -------------------------------- */
.table_list {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  margin-bottom: 3.75em;
  /* 見出し */
  /* リスト */ }
  .table_list h3, .table_list h4 {
    display: inline-block;
    font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-weight: 700;
    font-size: 1.5em;
    line-height: 1.5em;
    padding-bottom: 1em; }
    @media screen and (max-width: 768px) {
      .table_list h3, .table_list h4 {
        font-size: 1.3em; } }
  .table_list ul {
    list-style: none inside;
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    border-top: #fff solid 0.2em; }
    .sec_bg1 .table_list ul {
      border-color: #151c2c; }
    .table_list ul li {
      width: 100%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -ms-flex-align: stretch;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
      align-items: stretch;
      padding: 0.5em;
      margin-bottom: 0.5em;
      border-bottom: #fff solid 0.2em; }
      .sec_bg1 .table_list ul li {
        border-color: #151c2c; }
      .table_list ul li .tablelist_th,
      .table_list ul li .tablelist_td {
        font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
        padding: 1.5em;
        font-size: 1em;
        line-height: 1.5em;
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box; }
        @media screen and (max-width: 768px) {
          .table_list ul li .tablelist_th,
          .table_list ul li .tablelist_td {
            display: block;
            padding: 1em; } }
      .table_list ul li .tablelist_th {
        width: 30%;
        font-weight: 600;
        border-right: #fff solid 0.1em; }
        .sec_bg1 .table_list ul li .tablelist_th {
          border-color: #151c2c; }
        @media screen and (max-width: 768px) {
          .table_list ul li .tablelist_th {
            width: 100%;
            border-right: none;
            border-bottom: #fff solid 0.1em; } }
      .table_list ul li .tablelist_td {
        width: 70%;
        font-weight: 400; }
        .table_list ul li .tablelist_td strong {
          font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif; }
        @media screen and (max-width: 768px) {
          .table_list ul li .tablelist_td {
            width: 100%; } }

/* 注釈マークつき -------------------------------- */
.note_list {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  margin-bottom: 3.75em;
  padding: 3.75em;
  border: #53524e dotted 0.1em;
  opacity: 0.7;
  filter: alpha(opacity=70);
  /* 見出し */
  /* リスト */ }
  .sec_bg1 .note_list {
    border-color: #003cc5;
    opacity: 1;
    filter: alpha(opacity=100);
    color: #003cc5; }
  @media screen and (max-width: 1350px) {
    .note_list {
      padding: 3em; } }
  @media screen and (max-width: 768px) {
    .note_list {
      padding: 2.5em; } }
  @media screen and (max-width: 480px) {
    .note_list {
      padding: 1.5em; } }
  .note_list h3, .note_list h4 {
    font-family: korolev, dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-weight: 700;
    font-size: 1.5em;
    line-height: 1.5em;
    padding-bottom: 1em; }
    @media screen and (max-width: 768px) {
      .note_list h3, .note_list h4 {
        font-size: 1.3em; } }
  .note_list ul {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    list-style: none inside; }
    .note_list ul li {
      width: 100%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 0.9em;
      font-weight: 400;
      line-height: 1.7em;
      text-indent: -1.2em;
      padding-left: 1.2em;
      padding-bottom: 1.5em; }
      .note_list ul li::before {
        display: inline-block;
        padding-left: 1em;
        padding-right: 0.2em;
        content: "※"; }
      .note_list ul li:last-child {
        padding-bottom: 0; }

/* =============== Youtube動画 ========================================================= */
.videobox .imgtxt_imgbox {
  width: 60%; }

.youtube_box {
  width: 100%; }
  .youtube_box span {
    display: block;
    position: relative;
    width: 100%;
    padding-top: 56.25%; }
    .youtube_box span iframe {
      position: absolute;
      top: 0;
      right: 0;
      width: 100% !important;
      height: 100% !important; }

.img2box .youtube_box,
.img3txtbox .youtube_box {
  padding-bottom: 1.5em; }

/* =============== 余白ゼロ ========================================================= */
.freepage-ctt .sec .innerbox p:last-child,
.freepage-ctt .sec .innerbox p.parts-copy:last-child,
.freepage-ctt .sec .innerbox p.note:last-child,
.freepage-ctt .sec .innerbox .parts-100img:last-child,
.freepage-ctt .sec .innerbox .box_imglefttxt:last-child,
.freepage-ctt .sec .innerbox .box_imgrighttxt:last-child,
.freepage-ctt .sec .innerbox .img2box:last-child,
.freepage-ctt .sec .innerbox .img3txtbox:last-child,
.freepage-ctt .sec .innerbox .img4txtbox:last-child {
  padding-bottom: 0; }
.freepage-ctt .sec .innerbox .bbox:last-child,
.freepage-ctt .sec .innerbox .no_list:last-child,
.freepage-ctt .sec .innerbox .check_list:last-child,
.freepage-ctt .sec .innerbox .order_list:last-child,
.freepage-ctt .sec .innerbox .table_list:last-child,
.freepage-ctt .sec .innerbox .note_list:last-child {
  margin-bottom: 0; }

.img2box img:last-child,
.img3txtbox img:last-child,
.img4txtbox img:last-child {
  margin-bottom: 0; }
.img2box a img:last-child,
.img3txtbox a img:last-child,
.img4txtbox a img:last-child {
  margin-bottom: 1em; }
.img2box a:last-child img,
.img3txtbox a:last-child img,
.img4txtbox a:last-child img {
  margin-bottom: 0; }
  .img2box a:last-child img:last-child,
  .img3txtbox a:last-child img:last-child,
  .img4txtbox a:last-child img:last-child {
    margin-bottom: 0; }

li .youtube_box:last-child {
  margin-bottom: 0; }

.imgtxt_imgbox .youtube_box {
  margin-bottom: 0; }

/* =======================================================================================================================
　　　　　　　　　お問い合わせ
======================================================================================================================= */
.contactpage-ctt {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  /* 見出し */
  /* 段落 */
  /* =============== 電話 ========================================================= */
  /* =============== WEB ========================================================= */ }
  .contactpage-ctt .parts-h3 {
    text-align: left;
    padding-bottom: 1.5em; }
  .contactpage-ctt p {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .contactpage-ctt p.contact_info {
      font-size: 1.1em; }
  .contactpage-ctt .contact_tel p.contacttel_tel {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: korolev, sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 3em;
    line-height: 1em;
    padding-bottom: 0.1em;
    color: #003cc5;
    background: -webkit-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
    background: -moz-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
    background: -o-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
    background: linear-gradient(-60deg, #03c5e2 0, #003cc5 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent; }
    @media screen and (max-width: 480px) {
      .contactpage-ctt .contact_tel p.contacttel_tel {
        font-size: 2em; } }
    .contactpage-ctt .contact_tel p.contacttel_tel img {
      height: 1em;
      width: auto;
      margin-right: 0.25em; }
  .contactpage-ctt .contact_tel p.contacttel_time {
    font-family: dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
    font-weight: 600;
    font-style: normal;
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.25em;
    font-weight: 6500;
    line-height: 1.3em;
    padding-bottom: 0;
    color: #003cc5;
    background: -webkit-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
    background: -moz-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
    background: -o-linear-gradient(150deg, #03c5e2 0, #003cc5 100%);
    background: linear-gradient(-60deg, #03c5e2 0, #003cc5 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent; }
    @media screen and (max-width: 480px) {
      .contactpage-ctt .contact_tel p.contacttel_time {
        font-size: 1em; } }
  .contactpage-ctt .webcontact {
    background: -webkit-linear-gradient(150deg, #5b667e 0, #151c2c 100%);
    background: -moz-linear-gradient(150deg, #5b667e 0, #151c2c 100%);
    background: -o-linear-gradient(150deg, #5b667e 0, #151c2c 100%);
    background: linear-gradient(-60deg, #5b667e 0, #151c2c 100%);
    color: #fff; }
    .contactpage-ctt .webcontact a {
      color: #03c5e2; }
      .contactpage-ctt .webcontact a:hover {
        color: #fff; }

/* ===========================================================================================================
　　　　　　　　　新着記事
=========================================================================================================== */
#postlist,
#newspost {
  /* ページヘッダー */ }
  #postlist #page-header .innerbox,
  #newspost #page-header .innerbox {
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-align: stretch;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch; }
    @media screen and (max-width: 768px) {
      #postlist #page-header .innerbox,
      #newspost #page-header .innerbox {
        display: block; } }
    #postlist #page-header .innerbox .eg_ttl,
    #newspost #page-header .innerbox .eg_ttl {
      /* 月別アーカイブタイトル */ }
      #postlist #page-header .innerbox .eg_ttl .year,
      #newspost #page-header .innerbox .eg_ttl .year {
        font-size: 0.5em;
        font-weight: 300;
        padding-left: 0.25em;
        opacity: 0.5;
        filter: alpha(opacity=50); }
      #postlist #page-header .innerbox .eg_ttl .month,
      #newspost #page-header .innerbox .eg_ttl .month {
        font-size: 0.75em;
        font-weight: 300;
        opacity: 0.75;
        filter: alpha(opacity=75); }
    #postlist #page-header .innerbox .link_box,
    #newspost #page-header .innerbox .link_box {
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: end;
      -webkit-align-items: flex-end;
      -moz-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
      padding-bottom: 2.5em;
      /* 月選択 */
      /* ボタン */ }
      @media screen and (max-width: 768px) {
        #postlist #page-header .innerbox .link_box,
        #newspost #page-header .innerbox .link_box {
          padding-bottom: 0; } }
      #postlist #page-header .innerbox .link_box select,
      #newspost #page-header .innerbox .link_box select {
        display: block;
        font-family: dnp-shuei-gothic-gin-std, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Meiryo UI', 'メイリオ', Meiryo, sans-serif;
        font-size: 1em;
        font-weight: 500;
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        line-height: 1.5em;
        border: none;
        border-bottom: #151c2c solid 0.15em;
        background: transparent;
        cursor: pointer; }
        @media screen and (max-width: 768px) {
          #postlist #page-header .innerbox .link_box select,
          #newspost #page-header .innerbox .link_box select {
            margin-top: 1em; } }
        #postlist #page-header .innerbox .link_box select option,
        #newspost #page-header .innerbox .link_box select option {
          background: #f2f4f9;
          color: #151c2c; }
      #postlist #page-header .innerbox .link_box .btn,
      #newspost #page-header .innerbox .link_box .btn {
        position: absolute;
        top: 0;
        left: 0;
        right: auto;
        bottom: auto;
        width: 14em; }
        @media screen and (max-width: 768px) {
          #postlist #page-header .innerbox .link_box .btn,
          #newspost #page-header .innerbox .link_box .btn {
            top: -7em;
            left: 24em; } }
        @media screen and (max-width: 480px) {
          #postlist #page-header .innerbox .link_box .btn,
          #newspost #page-header .innerbox .link_box .btn {
            top: auto;
            left: 14em;
            bottom: -0.5em; } }

/* ページナビゲーション（共通） */
.pager {
  width: 100%;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-top: 3.75em; }
  @media screen and (max-width: 768px) {
    .pager {
      padding-top: 3em; } }
  .pager a {
    text-decoration: none; }
  .pager p {
    padding-bottom: 0;
    padding-left: 0.5em;
    padding-right: 0.5em; }
  .pager .no-link {
    color: #53524e;
    opacity: 0.5;
    filter: alpha(opacity=50); }
  .pager .first,
  .pager .last {
    -webkit-transform: scale(0.6);
    -moz-transform: scale(0.6);
    -ms-transform: scale(0.6);
    -o-transform: scale(0.6);
    transform: scale(0.6);
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%; }
  .pager .prev,
  .pager .next {
    -webkit-transform: scale(0.7);
    -moz-transform: scale(0.7);
    -ms-transform: scale(0.7);
    -o-transform: scale(0.7);
    transform: scale(0.7);
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%; }
  .pager .nth-box {
    font-family: korolev, sans-serif;
    font-weight: 900;
    font-style: normal;
    font-size: 1.2em; }
    .pager .nth-box .current {
      font-size: 1.2em;
      display: inline-block;
      color: #53524e;
      padding: 0 0.5em; }
    .pager .nth-box .tenten {
      color: #53524e; }
    .pager .nth-box a {
      display: inline-block;
      padding: 0 0.5em; }

/* ================= 投稿ページ（共通） ============================================================ */
#newspost {
  /* -------------------------- 投稿記事ヘッダー ------------------------------------------- */
  /* -------------------------- ナビゲーション ------------------------------------------- */ }
  #newspost #entry-header {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1.5em 0;
    z-index: 2; }
    #newspost #entry-header .innerbox {
      /* 記事タイトル */
      /* 日付 */ }
      #newspost #entry-header .innerbox .entry_ttl {
        width: 100%;
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 1.5em;
        font-weight: 600;
        line-height: 1.5em;
        padding-top: 0.5em;
        padding-left: 2rem; }
        @media screen and (max-width: 768px) {
          #newspost #entry-header .innerbox .entry_ttl {
            padding-left: 0; } }
        @media screen and (max-width: 480px) {
          #newspost #entry-header .innerbox .entry_ttl {
            font-size: 1.25em; } }
      #newspost #entry-header .innerbox .date {
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        width: calc( 100% - 2rem );
        margin-left: 2rem;
        font-family: korolev, sans-serif;
        font-weight: 900;
        font-style: normal;
        font-size: 2em;
        font-weight: 300;
        line-height: 1em;
        padding-bottom: 0.25em;
        color: #53524e;
        border-bottom: #53524e solid 0.1em;
        text-align: right; }
        @media screen and (max-width: 768px) {
          #newspost #entry-header .innerbox .date {
            width: 100%;
            margin-left: 0;
            font-size: 1.5em; } }
        #newspost #entry-header .innerbox .date .year {
          opacity: 0.7;
          filter: alpha(opacity=70); }
        #newspost #entry-header .innerbox .date .md {
          font-size: 1.5em;
          padding-left: 0.25em; }
  #newspost .nav_sec {
    width: 100%;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 3.75em 0; }
    #newspost .nav_sec .innerbox ul.post_nav {
      width: 100%;
      position: relative;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      list-style: none inside;
      display: -ms-flexbox;
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -ms-flex-pack: justify;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -ms-flex-align: stretch;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
      align-items: stretch; }
      #newspost .nav_sec .innerbox ul.post_nav li {
        line-height: 1em;
        max-width: 45%;
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        color: #003cc5;
        -webkit-transition: 0.3s ease;
        -moz-transition: 0.3s ease;
        -ms-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden; }
        #newspost .nav_sec .innerbox ul.post_nav li:hover {
          color: #03c5e2; }
        #newspost .nav_sec .innerbox ul.post_nav li a {
          -webkit-box-flex: 1;
          -webkit-flex: 1;
          -moz-box-flex: 1;
          -ms-flex: 1;
          flex: 1;
          position: relative;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box;
          display: inline-block;
          width: 100%;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          -o-text-overflow: ellipsis;
          /* Opera9,10対応 */
          color: #003cc5;
          text-decoration: none; }
          @media screen and (max-width: 480px) {
            #newspost .nav_sec .innerbox ul.post_nav li a {
              font-size: 0.8em; } }
          #newspost .nav_sec .innerbox ul.post_nav li a:hover {
            color: #03c5e2; }
        #newspost .nav_sec .innerbox ul.post_nav li.prev:hover {
          -webkit-transform: translate(-0.2em, 0);
          -moz-transform: translate(-0.2em, 0);
          -ms-transform: translate(-0.2em, 0);
          -o-transform: translate(-0.2em, 0);
          transform: translate(-0.2em, 0); }
        #newspost .nav_sec .innerbox ul.post_nav li.prev a {
          padding-left: 0.25em; }
        #newspost .nav_sec .innerbox ul.post_nav li.next {
          -webkit-box-pack: end;
          -webkit-justify-content: flex-end;
          -moz-box-pack: end;
          -ms-flex-pack: end;
          justify-content: flex-end; }
          #newspost .nav_sec .innerbox ul.post_nav li.next:hover {
            -webkit-transform: translate(0.2em, 0);
            -moz-transform: translate(0.2em, 0);
            -ms-transform: translate(0.2em, 0);
            -o-transform: translate(0.2em, 0);
            transform: translate(0.2em, 0); }
          #newspost .nav_sec .innerbox ul.post_nav li.next a {
            padding-right: 0.25em; }

/*# sourceMappingURL=style.css.map */
