@charset "UTF-8";
/*webフォント読み込み*/
@font-face {
  /*ZenKakuGothicNew-Regular*/
  font-family: 'zen';
  src: url("../fonts/ZenKakuGothicNew-Regular.otf");
  src: url("../fonts/ZenKakuGothicNew-Regular.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Regular.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Regular.otf") format("truetype");
  font-weight: 400; }
@font-face {
  /*ZenKakuGothicNew-Medium*/
  font-family: 'zen';
  src: url("../fonts/ZenKakuGothicNew-Medium.otf");
  src: url("../fonts/ZenKakuGothicNew-Medium.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Medium.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Medium.otf") format("truetype");
  font-weight: 500; }
@font-face {
  /*ZenKakuGothicNew-Bold*/
  font-family: 'zen';
  src: url("../fonts/ZenKakuGothicNew-Bold.otf");
  src: url("../fonts/ZenKakuGothicNew-Bold.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Bold.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Bold.otf") format("truetype");
  font-weight: 700; }
@font-face {
  /*OpenSans-Bold*/
  font-family: 'os';
  src: url("../fonts/OpenSans-Bold.otf");
  src: url("../fonts/OpenSans-Bold.woff2") format("woff2"), url("../fonts/OpenSans-Bold.woff") format("woff"), url("../fonts/OpenSans-Bold.otf") format("truetype");
  font-weight: 700; }
/* Link
=========================================== */
a:link, a:visited {
  color: #242424;
  text-decoration: none; }

a:hover, a:active {
  color: #242424;
  text-decoration: underline; }

a {
  outline: none;
  transition: 0.3s;
  color: #242424;
  text-decoration: none;
  letter-spacing: 0; }

a img {
  transition: 0.3s; }

a:hover img {
  opacity: 0.7; }

:focus {
  outline: none; }

/* 共通設定
=========================================== */
#wpadminbar {
  position: absolute !important; }

html.loght {
  margin-top: 0 !important; }

html.showPage {
  margin-top: 0 !important;
  min-width: 1240px; }

html.showPage body {
  min-width: 1240px; }

html.showPage body.home {
  overflow: hidden; }

body {
  background: #fff;
  color: #242424;
  font-size: 18px;
  line-height: 1.8;
  font-family: YakuHanJP,'zen',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-style: normal;
  font-weight: 500;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */ }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0; }

body#tinymce {
  min-width: inherit !important; }

input, select, textarea {
  font-family: YakuHanJP,'Noto Sans JP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-weight: 500;
  color: #000000;
  letter-spacing: 0; }

.wrap {
  width: 1100px;
  margin: 0 auto;
  position: relative; }

table {
  width: 100%; }

img {
  max-width: 100%;
  height: auto; }

.no-pc {
  display: inline-block;
  pointer-events: none;
  text-decoration: none !important; }

div#f-trigger {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 90px;
  z-index: -20; }

.home div#f-trigger {
  top: 100vh; }

/*共通見出し設定*/
.titles01 {
  margin-bottom: 40px; }
  .titles01 .jp {
    display: block;
    line-height: 1.05;
    font-size: 22px;
    margin-bottom: 17px; }
  .titles01 .en {
    display: block;
    font-size: 72px;
    color: #274C82;
    line-height: 1;
    text-transform: capitalize; }

.titles01.type02 .jp,
.titles01.type02 .en {
  color: #fff; }

.titles02 {
  position: relative; }
  .titles02 .jp {
    display: block;
    line-height: 1;
    font-size: 32px;
    font-weight: 700;
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 33px;
    white-space: nowrap; }
  .titles02 .en {
    display: block;
    font-size: 120px;
    color: rgba(255, 255, 255, 0.05);
    line-height: 1;
    text-transform: capitalize; }

.titles03 {
  font-weight: 700;
  line-height: 1;
  font-size: 24px; }
  .titles03 > span {
    display: inline-block;
    padding-left: 26px;
    background: url("../img/common/tit-ico01.svg") no-repeat left center; }

.titles04 {
  margin-bottom: 24px;
  font-size: 32px;
  line-height: 1.05;
  font-weight: 700; }
  .titles04 > span {
    display: inline-block;
    padding-left: 34px;
    background: url("../img/common/sub-ico01.svg") no-repeat left top 7px; }
    .titles04 > span .komoji {
      font-size: 24px; }

.titles04.blog-tt {
  margin-bottom: 8px; }

/*共通ボタン設定*/
.btn01 {
  min-width: 320px;
  height: 64px;
  display: table; }
  .btn01 a {
    display: table-cell;
    text-decoration: none;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    position: relative;
    font-weight: 700;
    border-radius: 60px;
    background: linear-gradient(110deg, #325C88 0%, #12385E 47%, #325C88 100%);
    background-position: left top;
    background-size: 200%; }
    .btn01 a .arrow {
      position: absolute;
      z-index: 2;
      top: 50%;
      bottom: 0;
      right: 24px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      background: #fff;
      width: 28px;
      height: 28px;
      transition: 0.3s;
      border-radius: 100%;
      transform: translateY(-50%); }
      .btn01 a .arrow img {
        display: block;
        opacity: 1;
        transition: 0s; }
  .btn01 a:hover {
    background-position: right bottom; }

.btn01.btn02 a {
  border: solid 1px #fff;
  background: none;
  position: relative; }
  .btn01.btn02 a .text {
    position: relative;
    z-index: 2; }
.btn01.btn02 a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 58px;
  width: 100%;
  height: 100%;
  transition: 0.3s;
  opacity: 0;
  background: linear-gradient(110deg, #325C88 0%, #12385E 47%, #325C88 100%);
  background-position: right bottom;
  background-size: 200%; }
.btn01.btn02 a:hover {
  border-color: transparent; }
.btn01.btn02 a:hover:before {
  opacity: 1; }

/*グラデーション*/
.gra-bg {
  display: inline-block;
  padding: 5px 12px;
  background: linear-gradient(120deg, #D80000 0%, #D80000 20%, #D85E00 100%);
  color: #fff;
  border-radius: 10px; }

.gra-text {
  background: linear-gradient(180deg, #D80000 0%, #D85E00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block; }

/*スライダー　ふわっ*/
div#mv-slider,
div.slider01,
div.gallery-main,
div.gallery-thumb,
div.belt-slider {
  opacity: 0;
  transition: opacity .3s linear; }

div#mv-slider.slick-initialized,
div.slider01.slick-initialized,
div.gallery-main.slick-initialized,
div.gallery-thumb.flex.slick-initialized,
div.belt-slider.slick-initialized {
  opacity: 1; }

/*font*/
.en {
  font-family: 'os';
  font-weight: 700;
  text-transform: capitalize; }

/* header */
/*-------------------------------------------*/
#header {
  position: fixed;
  transition: 0.3s;
  left: 0;
  top: 0;
  font-size: 0.9375vw;
  z-index: 200;
  height: 4.792vw;
  width: 100%;
  box-sizing: border-box;
  padding: 0.729vw 1.25vw 0 0.833vw; }

.logo {
  width: 15.1vw; }

.head-text01 {
  font-size: 0.625vw;
  font-weight: 400;
  margin-bottom: 0.417vw; }

.head-center {
  margin-left: auto;
  margin-right: 0.833vw; }
  .head-center .tel-set {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end; }
    .head-center .tel-set .bh {
      margin-left: 0.833vw; }

.bh {
  font-weight: 700; }

a.blank {
  display: inline-block;
  padding-right: 1.042vw;
  background: url("../img/common/ico-blank.svg") no-repeat right center;
  background-size: 0.729vw; }

.tel-num a {
  font-family: 'os';
  font-size: 1.458vw;
  line-height: 1;
  font-weight: 700; }
  .tel-num a .komoji {
    font-family: 'zen';
    font-size: 0.833vw; }

.logo a {
  display: block; }

body .head-center .tel-num a {
  color: #fff; }
body .head-center .bh {
  color: #fff; }
body .head-text01 {
  color: #fff; }
body #header {
  background: none; }
body .head-center {
  color: #fff; }
  body .head-center .tel-num a {
    color: #fff; }
body div#gnav ul.flex > li > a {
  color: #fff; }
body div#gnav ul.flex > li > a:after {
  background-color: #fff; }
body .dr-tit:after {
  background-color: #fff; }
body span.dr-ico:before,
body span.dr-ico:after {
  background: #fff; }

body.fixed .logo a {
  background: url("../img/common/logo02.svg") no-repeat;
  background-size: 100%; }
  body.fixed .logo a img {
    opacity: 0; }
body.fixed .head-center .tel-num a {
  color: #242424; }
body.fixed .head-center .bh {
  color: #242424; }
body.fixed #header {
  background: #fff; }
body.fixed .head-text01 {
  color: #242424; }
body.fixed .head-center {
  color: #242424; }
  body.fixed .head-center .tel-num a {
    color: #242424; }
body.fixed div#gnav ul.flex > li > a {
  color: #242424; }
body.fixed div#gnav ul.flex > li > a:after {
  background-color: #242424; }
body.fixed .dr-tit:after {
  background-color: #242424; }
body.fixed span.dr-ico:before,
body.fixed span.dr-ico:after {
  background: #242424; }

div#gnav {
  margin-top: 0.521vw; }
  div#gnav ul.flex {
    justify-content: flex-end; }
    div#gnav ul.flex > li {
      font-size: 0.938vw;
      margin-left: 1.302vw;
      font-weight: 700;
      line-height: 1; }
      div#gnav ul.flex > li > a {
        text-decoration: none;
        position: relative;
        display: inline-block;
        padding-bottom: 0.26vw; }
      div#gnav ul.flex > li > a:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 1px;
        background-color: #242424;
        transform-origin: right;
        transform: scaleX(0);
        transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1); }
      div#gnav ul.flex > li a:hover {
        text-decoration: none; }
        div#gnav ul.flex > li a:hover:after {
          transform: scaleX(1);
          transform-origin: left; }
    div#gnav ul.flex li.drop {
      position: relative; }

.dr-tit {
  position: relative;
  padding-right: 0.938vw;
  padding-bottom: 0.26vw; }
  .dr-tit .arrow {
    position: absolute;
    right: 0;
    top: 0.365vw; }
    .dr-tit .arrow img {
      display: block; }
  .dr-tit:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #242424;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1); }

li:hover .dr-tit:after {
  transform: scaleX(1);
  transform-origin: left; }

span.dr-ico {
  width: 0.729vw;
  height: 0.729vw;
  position: absolute;
  right: 0;
  top: 0.156vw;
  transition: 0.3s; }
  span.dr-ico:before {
    content: "";
    width: 100%;
    height: 0.104vw;
    position: absolute;
    left: 0;
    top: 0.313vw;
    background: #242424;
    transition: 0.3s; }
  span.dr-ico:after {
    content: "";
    width: 0.104vw;
    height: 100%;
    position: absolute;
    left: 0.313vw;
    top: 0;
    background: #242424; }

li.drop:hover span.dr-ico {
  transform: rotateZ(90deg); }
li.drop:hover span.dr-ico:before {
  opacity: 0; }

.nav03 .drop-wrap {
  width: 15.625vw;
  left: calc(50% - 7.813vw); }

.drop-wrap {
  width: 10.417vw;
  background: #fff;
  color: #242424;
  position: absolute;
  top: calc(100% + 1.51vw);
  left: calc(50% - 5.208vw);
  z-index: 10;
  height: 0;
  overflow: hidden;
  transition: 0.3s;
  padding: 0 1.563vw;
  box-sizing: border-box;
  border-radius: 0.26vw; }
  .drop-wrap ul.nav-sub > li {
    margin-bottom: 1.198vw; }
    .drop-wrap ul.nav-sub > li a {
      font-size: 0.938vw;
      font-weight: 700;
      padding-left: 1.25vw;
      display: inline-block;
      background: url("../img/common/sub-arrow.svg") no-repeat left center;
      background-size: 1.04vw; }
  .drop-wrap ul.nav-sub > li:last-child {
    margin-bottom: 0; }

li:hover .dr-tit .arrow {
  transform: rotateZ(-180deg); }
li:hover .drop-wrap {
  padding-top: 1.563vw;
  padding-bottom: 1.563vw;
  height: auto; }

li.drop:hover {
  cursor: pointer; }
  li.drop:hover .bg-cover {
    display: block; }
  li.drop:hover:before {
    content: "";
    width: calc(100% + 10.417vw);
    top: calc(100% - 1px);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 1.823vw;
    z-index: 2; }

.bg-cover {
  background: rgba(0, 0, 0, 0.4);
  position: fixed;
  left: 0;
  top: 4.792vw;
  width: 100%;
  height: calc(100% - 4.792vw);
  display: none;
  pointer-events: none; }

.head-btn {
  min-width: 14.688vw;
  height: 3.333vw; }
  .head-btn a {
    border-radius: 3.125vw; }
    .head-btn a .text {
      font-size: 0.9375vw;
      padding-left: 1.667vw;
      display: inline-block;
      background: url("../img/common/ico-mail.svg") no-repeat left center;
      background-size: 1.25vw; }

/*スクロール追従*/
.fixed div#header {
  background: #fff; }

/*パンくず*/
/*-------------------------------------------*/
div#bread {
  z-index: 2;
  position: relative;
  padding: 13px 0 0; }

#bread ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start; }

#bread ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  vertical-align: middle; }

ul.bread-list li a {
  font-size: 14px;
  color: #274C82; }
  ul.bread-list li a img {
    display: block;
    vertical-align: middle; }

ul.bread-list li:after {
  content: "＞";
  display: inline-block;
  position: relative;
  vertical-align: middle;
  margin: 0 4px; }

ul.bread-list li:last-child:after {
  content: none; }

/* メインビジュアル */
/*-------------------------------------------*/
/*TOPページ*/
div#mv {
  position: relative;
  z-index: 3;
  letter-spacing: 0; }

/*下層ページ*/
/* contents */
/*-------------------------------------------*/
.bg-blue {
  background: #F5F9FF; }

/* footer */
/*-------------------------------------------*/
aside#aside01 {
  padding: 120px 0;
  background: url("../img/common/aside-bg.jpg") no-repeat center;
  background-size: cover;
  color: #fff; }
  aside#aside01 .wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 1200px; }
  aside#aside01 ul.border-list.flex {
    margin-top: 24px; }
    aside#aside01 ul.border-list.flex > li {
      margin-top: 0;
      padding: 7px 16px 9px; }

ul.border-list.flex {
  width: calc(100% + 8px);
  margin: -8px 0 0 -8px; }
  ul.border-list.flex > li {
    background: rgba(255, 255, 255, 0.03);
    border: solid 1px rgba(255, 255, 255, 0.16);
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    padding: 6px 9px 8px;
    margin: 8px 0 0 8px; }

.humBox {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
  .humBox .img {
    width: 80px; }
  .humBox .text {
    line-height: 1.75;
    font-size: 16px;
    min-width: 416px;
    margin-left: 16px; }

div.contact-list.flex {
  margin-top: 40px;
  justify-content: space-between;
  padding-top: 52px; }
  div.contact-list.flex div.box {
    width: 373px;
    background: #fff;
    border-radius: 3px 0 3px 3px;
    position: relative;
    box-sizing: border-box;
    padding: 1px 27px 46px;
    text-align: center; }
    div.contact-list.flex div.box .ang-tit {
      width: 64px; }
    div.contact-list.flex div.box .ico {
      margin-top: -11px;
      position: relative;
      z-index: 3;
      margin-bottom: 20px; }
    div.contact-list.flex div.box .tel-num a {
      font-size: 40px; }
      div.contact-list.flex div.box .tel-num a .komoji {
        font-size: 16px; }
    div.contact-list.flex div.box .bh {
      font-size: 18px;
      color: #242424; }
      div.contact-list.flex div.box .bh .left {
        display: none; }
  div.contact-list.flex div.box.box01 .ico {
    margin-bottom: 28px; }
  div.contact-list.flex div.box.box03 .ang-tit {
    width: 88px; }
  div.contact-list.flex div.box.box03:before {
    width: calc(100% - 96px); }
  div.contact-list.flex div.box:before {
    content: "";
    background: #fff;
    height: 52px;
    width: calc(100% - 72px);
    border-radius: 3px 3px 0 0;
    position: absolute;
    right: 0;
    bottom: calc(100% - 1px); }

.ang-tit {
  position: absolute;
  text-align: left;
  left: 8px;
  bottom: 100%;
  font-weight: 700;
  font-size: 24px;
  box-sizing: border-box;
  line-height: 1; }
  .ang-tit > span {
    display: block;
    padding-bottom: 16px;
    z-index: 2;
    position: relative;
    z-index: 2; }
  .ang-tit > span:after {
    content: "";
    width: 10px;
    height: 10px;
    background: #1C232C;
    position: absolute;
    right: 0;
    bottom: 0;
    border-radius: 0 0 3px 0; }

.ang-tit:before {
  content: "";
  width: 10px;
  height: 10px;
  background: #fff;
  position: absolute;
  right: 0;
  bottom: 0; }

.fax-set {
  color: #242424; }

.fax-num {
  line-height: 1;
  font-size: 40px;
  font-family: "os"; }
  .fax-num .komoji {
    font-size: 16px; }

.btn01.ct-btn a {
  border: solid 1px #fff;
  position: relative; }
  .btn01.ct-btn a .text {
    position: relative;
    z-index: 2; }
  .btn01.ct-btn a .arrow img {
    position: relative;
    z-index: 3; }
  .btn01.ct-btn a .arrow:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    background: linear-gradient(110deg, #325C88 0%, #12385E 100%);
    opacity: 0;
    transition: 0.3s; }
.btn01.ct-btn a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 58px;
  background: #fff;
  opacity: 0;
  transition: 0.3s; }
.btn01.ct-btn a:hover {
  border-color: #274C82;
  color: #274C82; }
  .btn01.ct-btn a:hover .arrow img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7467%) hue-rotate(312deg) brightness(94%) contrast(110%); }
  .btn01.ct-btn a:hover .arrow:before {
    opacity: 1; }
.btn01.ct-btn a:hover:before {
  opacity: 1; }

div#ftBox01 {
  padding: 120px 0;
  border-bottom: solid 1px #DBE2E8; }

div.ft-info {
  width: 420px; }

.ft-text01 {
  font-size: 14px;
  margin-top: 8px;
  margin-bottom: 47px;
  color: #6C6C6C; }

.ft-inner.flex {
  flex-direction: row-reverse;
  justify-content: space-between; }

div#fnav {
  display: flex;
  flex-wrap: wrap;
  min-width: 440px; }
  div#fnav > div {
    margin-right: 40px; }
  div#fnav > div:last-child {
    margin-right: 0; }

.ft-tit {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.33;
  margin-top: 24px; }
  .ft-tit a {
    display: inline-block;
    text-decoration: none;
    position: relative; }
  .ft-tit a:hover {
    color: #274C82; }

.ft-tit:first-child {
  margin-top: 0; }

div#fnav ul.nav-sub {
  margin-top: 16px; }

ul.nav-sub {
  margin-top: 16px; }
  ul.nav-sub > li {
    line-height: 20px;
    margin-bottom: 16px; }
    ul.nav-sub > li a {
      display: inline-block;
      font-weight: 500;
      position: relative;
      font-size: 18px;
      text-decoration: none; }
    ul.nav-sub > li a:hover {
      color: #274C82; }
  ul.nav-sub > li:last-child {
    margin-bottom: 0; }

ul.nav-sub:first-child {
  margin-top: 0; }

.ft-bottom {
  padding-bottom: 40px; }
  .ft-bottom .wrap {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    line-height: 1;
    font-size: 14px;
    margin-top: 40px; }
  .ft-bottom ul.pp-list {
    display: flex;
    flex-wrap: wrap; }
    .ft-bottom ul.pp-list > li {
      margin-left: 24px; }

@keyframes fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
div#scr02.on {
  right: -305px; }
  div#scr02.on .float_close01 {
    display: none; }
  div#scr02.on .float_open01 {
    display: block; }

div#scr02 {
  position: fixed;
  right: 0;
  bottom: 14px;
  z-index: 100;
  transition: 0.3s;
  box-shadow: 0 0 3px rgba(255, 255, 255, 0.4);
  opacity: 0;
  animation: fadein 0.3s ease-out 0.4s 1 forwards; }
  div#scr02 > .inner {
    box-sizing: border-box;
    position: relative;
    width: 351px;
    height: 212px;
    padding: 37px 30px 37px 76px;
    background: #191919; }
    div#scr02 > .inner a {
      display: block;
      text-decoration: none; }
      div#scr02 > .inner a .inner.flex {
        justify-content: space-between; }
        div#scr02 > .inner a .inner.flex .img {
          width: 64px; }
        div#scr02 > .inner a .inner.flex .text {
          width: 170px;
          line-height: 1.8;
          font-size: 14px; }
    div#scr02 > .inner a:hover {
      opacity: 0.7; }
    div#scr02 > .inner .fl-text01 {
      font-weight: 700;
      font-size: 20px;
      line-height: 1;
      margin-bottom: 18px;
      background: url("../img/common/arrow01.svg") no-repeat right center; }

div#scr {
  position: fixed;
  right: 0.5208vw;
  /* 10px / 1920 * 100 */
  bottom: 0.5208vw;
  /* 10px / 1920 * 100 */
  border-radius: 0.2604vw;
  /* 5px / 1920 * 100 */
  opacity: 0;
  z-index: -10;
  pointer-events: none;
  border: solid 0.0521vw #274C82;
  /* 1px / 1920 * 100 */
  background: #EFF5FB;
  padding: 1.5104vw 0.7813vw 0.7813vw;
  /* 29px 15px 15px */
  transition: opacity 0.3s; }
  div#scr .btn01 {
    min-width: 0;
    width: 12.5vw;
    /* 240px / 1920 * 100 */
    height: 2.5vw;
    /* 48px / 1920 * 100 */
    margin-top: 0.5208vw;
    /* 10px / 1920 * 100 */
    position: relative;
    z-index: 3; }
    div#scr .btn01 a {
      font-size: 0.9375vw; }
  div#scr .scr-textBox {
    position: relative;
    line-height: 1.25;
    font-weight: 700;
    font-size: 0.8333vw;
    /* 16px / 1920 * 100 */ }
    div#scr .scr-textBox:before {
      content: "";
      background: url("../img/common/hum.png") no-repeat;
      width: 4.1vw;
      /* 80px / 1920 * 100 */
      height: 4.1vw;
      /* 80px / 1920 * 100 */
      border-radius: 100%;
      background-size: cover;
      position: absolute;
      right: 0.625vw;
      /* 12px / 1920 * 100 */
      top: -0.6771vw;
      /* -13px / 1920 * 100 */ }
  div#scr .float_batsu01 {
    position: absolute;
    width: 1.6667vw;
    /* 32px / 1920 * 100 */
    right: -0.4688vw;
    /* -9px / 1920 * 100 */
    top: -0.4688vw;
    /* -9px / 1920 * 100 */
    z-index: 5;
    cursor: pointer;
    transition: 0.3s; }
    div#scr .float_batsu01 img {
      display: block; }

.fixed div#scr {
  opacity: 1;
  z-index: 120;
  pointer-events: auto; }

/* TOPへ戻る */
/*-------------------------------------------*/
div#top-link {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  z-index: -20; }

div#page-top {
  position: fixed;
  right: 20px;
  bottom: 50px;
  opacity: 0;
  z-index: -3;
  transition: opacity 0.3s;
  width: 80px; }

div#page-top a {
  display: block;
  width: 80px;
  height: 80px;
  border-radius: 100%;
  background: #fff;
  border: solid 2px #000000;
  text-align: center;
  box-sizing: border-box;
  padding-top: 16px;
  line-height: 1;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  position: relative; }

div#page-top a .text {
  display: block;
  margin-top: 3px;
  font-size: 19px;
  font-weight: 700; }

div#page-top a:before {
  content: "";
  background: url("../img/common/char01.png") no-repeat;
  background-size: 87px;
  width: 87px;
  height: 110px;
  transition: 0.3s;
  position: absolute;
  bottom: 0;
  right: 63px; }

div#page-top a:hover {
  border-color: #D80000;
  background: #D80000;
  color: #fff; }

div#page-top a:hover svg path {
  stroke: #fff; }

div#page-top a:hover:before {
  transform: rotateZ(5deg); }

.fixed div#page-top {
  opacity: 1;
  z-index: 6; }

/* OTHER
=========================================== */
.tright {
  text-align: right; }

.tleft {
  text-align: left; }

.tcenter {
  text-align: center; }

.flL {
  float: left; }

.flR {
  float: right; }

.bold {
  font-weight: bold; }

.inb {
  display: inline-block; }

.block {
  display: block; }

.red {
  color: #E30606; }

.blue {
  color: #274C82; }

.blue02 {
  color: #0093D6; }

.yellow {
  color: #FFD400; }

.orange {
  color: #EE5A35; }

.green {
  color: #74BA26; }

.d-green {
  color: #005E4B; }

.green02 {
  color: #01A9AE; }

.navy {
  color: #374b8e; }

.pink {
  color: #ff7373; }

.gray {
  color: #818181; }

.sp {
  display: none !important; }
