@charset "UTF-8";
/*////////////////////////////////////////////////////

  変数、mixin、プレースホルダー 定義　適宜変更・追加すること

////////////////////////////////////////////////////*/
.area-bnr-footer .slider, .boxTxt, .container01, .boxContent01, .boxContent02, .boxContent03, .boxList01, .boxList02, .boxList03, .boxTableList01, .boxTableList02, .boxFlexList01, .dlBasic01, .mod-box-facility .body, #modalWindow .mod-box-facility-in {
  *zoom: 1; }
  .area-bnr-footer .slider:after, .boxTxt:after, .container01:after, .boxContent01:after, .boxContent02:after, .boxContent03:after, .boxList01:after, .boxList02:after, .boxList03:after, .boxTableList01:after, .boxTableList02:after, .boxFlexList01:after, .dlBasic01:after, .mod-box-facility .body:after, #modalWindow .mod-box-facility-in:after {
    content: '';
    display: table;
    clear: both; }

/*////////////////////////////////////////////////////

  変数設定

////////////////////////////////////////////////////*/
/*////////////////////////////////////////////////////

    リセット

////////////////////////////////////////////////////*/
/**
 * html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
 * Richard Clark (http://richclarkdesign.com)
 * http://cssreset.com
 */
html, body, div, span, object, iframe, button,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: bottom;
  background: transparent; }

html, body {
  width: 100%; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

ul, ol, li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

img {
  border: none;
  vertical-align: top;
  zoom: 1; }

/*////////////////////////////////////////////////////

  フォント・文字サイズ設定

////////////////////////////////////////////////////*/
html {
  font-size: 62.5%; }

body {
  /*font size自動調整をきる*/
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-family: "source-han-sans-japanese","メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", Arial, Helvetica, Verdana, sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333; }
  @media only screen and (max-width: 480px) {
    body {
      font-size: 14px;
      font-size: 1.4rem; } }

::selection {
  background-color: #d64329;
  color: #fff; }

::-moz-selection {
  background-color: #d64329;
  color: #fff; }

/*////////////////////////////////////////////////////

  アニメーション設定

////////////////////////////////////////////////////*/
/* ------------------------------------------------
 key visual
------------------------------------------------ */
#key-visual-01 .line-1, #key-visual-01 .line-2 {
  fill: none;
  stroke-miterlimit: 10;
  stroke-width: 4px; }
#key-visual-01 .line-1 {
  stroke: #e60039;
  stroke-dasharray: 1216 1218;
  stroke-dashoffset: 0; }
#key-visual-01 .line-2 {
  stroke-dasharray: 1285 1287;
  stroke-dashoffset: 0; }

#key-visual-02 .line-3, #key-visual-02 .line-4, #key-visual-02 .line-5 {
  fill: none;
  stroke-miterlimit: 10;
  stroke-width: 4px; }
#key-visual-02 .line-3 {
  stroke: #31b700;
  stroke-dasharray: 2501 2503;
  stroke-dashoffset: 0; }
#key-visual-02 .line-4 {
  stroke: #0047bb;
  stroke-dasharray: 2502 2504;
  stroke-dashoffset: 0; }
#key-visual-02 .line-5 {
  stroke: #d6001c;
  stroke-dasharray: 2504 2506;
  stroke-dashoffset: 0; }

@keyframes line_draw {
  100% {
    stroke-dashoffset: 0; } }
/* 汎用エフェクト */
.effect-fadeIn.on-js {
  opacity: 0;
  -webkit-transition: all ease 1s;
  -moz-transition: all ease 1s;
  -ms-transition: all ease 1s;
  -o-transition: all ease 1s;
  transition: all ease 1s; }
  .effect-fadeIn.on-js.is-active {
    opacity: 1; }

/*////////////////////////////////////////////////////

  共通レイアウト
    body,html
    header
      SEO用テキスト、サイトロゴ、グローバルメニュー、ヘッダーメニュー
    content
    footer
      コピーライト、ソーシャルボタン、フッターメニュー、SEOテキスト、SEOテキストエリア、ページトップボタン
    下層
      （サブメニュー、パンくずリスト、カテゴリータイトル、ページタイトル）

  ※全ページ共通のレイアウトを記述してください。（他：メインビジュアル、バナー、フッター用サイトマップ、イベントニュースカルーセル、お問い合わせエリア、など・・・）

////////////////////////////////////////////////////*/
@media print {
  html {
    zoom: 0.7; }

  *[class*="effect"],
  *[class*="effect"] > * {
    opacity: 1 !important; } }
body {
  background-color: #fff; }
  @media only screen and (max-width: 767px) {
    body {
      min-width: 320px;
      min-width: 320px; } }
  body.fixed {
    overflow: hidden !important;
    height: 100% !important; }

/* ------------------------------------------------
  SEOテキスト
------------------------------------------------ */
h1.txt-seo-h1 {
  /* SEO用ヘッダーテキスト */
  font-weight: normal;
  font-size: 14px;
  font-size: 1.4rem;
  position: absolute;
  top: 22px;
  left: 180px;
  opacity: 0; }
  .top h1.txt-seo-h1 {
    opacity: 1; }
  .scroll h1.txt-seo-h1 {
    opacity: 0; }
  @media only screen and (max-width: 767px) {
    h1.txt-seo-h1 {
      top: 20px;
      left: 50%;
      transform: translateX(-50%);
      font-size: 10px;
      font-size: 1rem;
      letter-spacing: .1em; } }

/* ------------------------------------------------
  header
------------------------------------------------ */
.header {
  opacity: 1;
  /*@include animation(header 0s 0s ease-out forwards );*/
  /*@include transition();*/
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }
  @media print {
    .header {
      position: absolute; } }
  @media only screen and (max-width: 767px) {
    .header {
      height: 60px; } }
  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    .header {
      height: 80px; } }
  .header:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    @media only screen and (min-width: 1024px) {
      .header:before {
        opacity: 0; } }
  .header.top:before {
    transform: translateY(-100%); }
  .header.scroll:before {
    transform: translateY(0); }

@-webkit-keyframes header {
  0% {
    opacity: 0;
    top: -100%; }
  50% {
    opacity: .2;
    top: 0; }
  100% {
    opacity: 1;
    top: 0%; } }
@-moz-keyframes header {
  0% {
    opacity: 0;
    top: -100%; }
  50% {
    opacity: .2;
    top: 0; }
  100% {
    opacity: 1;
    top: 0%; } }
@-o-keyframes header {
  0% {
    opacity: 0;
    top: -100%; }
  50% {
    opacity: .2;
    top: 0; }
  100% {
    opacity: 1;
    top: 0%; } }
@keyframes header {
  0% {
    opacity: 0;
    top: -100%; }
  50% {
    opacity: .2;
    top: 0; }
  100% {
    opacity: 1;
    top: 0%; } }
/* サイトタイトル */
.ttl-site {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 30px;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  .ttl-site img {
    width: auto;
    height: 100%; }
  @media only screen and (max-width: 1023px) {
    .ttl-site {
      opacity: 1;
      top: 50%; }
      .top .ttl-site {
        opacity: 0;
        top: -50%; }
      .scroll .ttl-site {
        opacity: 1;
        top: 50%; } }

/* メニューボタン（SP、タブレット）*/
#btnNav {
  height: 100%;
  background-color: #d64329;
  cursor: pointer;
  z-index: 4;
  /*@include transition(all,.5s,$easeOutQuint);*/
  /* ico menu */ }
  #btnNav.txt-menu {
    color: #fff; }
    #btnNav.txt-menu .group {
      color: #fff; }
  #btnNav:before, #btnNav:after {
    content: '';
    display: block;
    width: 0;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0; }
  #btnNav:after {
    background-color: rgba(214, 67, 41, 0.5);
    transition: width 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0s, background-color 1.5s cubic-bezier(0.23, 1, 0.32, 1) 0.5s; }
  #btnNav .ico-hamburger:before,
  #btnNav .ico-hamburger:after,
  #btnNav .ico-hamburger {
    position: absolute;
    left: 10px;
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: #560d00; }
  #btnNav .ico-hamburger {
    top: 33%;
    left: 24%; }
    #btnNav .ico-hamburger:before, #btnNav .ico-hamburger:after {
      content: '';
      left: 0; }
    #btnNav .ico-hamburger:before {
      top: -9px; }
      @media only screen and (max-width: 767px) {
        #btnNav .ico-hamburger:before {
          top: -7px; } }
    #btnNav .ico-hamburger:after {
      top: 9px;
      height: 2px;
      background-color: #d64329; }
      @media only screen and (max-width: 767px) {
        #btnNav .ico-hamburger:after {
          top: 7px; } }
  #btnNav.group {
    /*.ico-hamburger {
      &:after {
        background-color: $baseColor01;
      }
    }*/ }
    #btnNav.group:after {
      background-color: rgba(238, 238, 238, 0.5); }
    #btnNav.group .ico-hamburger:before,
    #btnNav.group .ico-hamburger:after,
    #btnNav.group .ico-hamburger {
      background-color: #fff; }
  #btnNav .ico-hamburger {
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0s; }
    #btnNav .ico-hamburger:before, #btnNav .ico-hamburger:after {
      -webkit-transition: all 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      -moz-transition: all 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      -ms-transition: all 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      -o-transition: all 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      transition: all 0.2s cubic-bezier(0.23, 1, 0.32, 1) 0s; }

.txt-menu {
  display: inline-block;
  padding-right: 10px;
  padding-left: 10px;
  font-size: 10px;
  font-size: 1rem;
  color: #000;
  letter-spacing: .1em;
  position: absolute;
  top: 0;
  left: 0; }
  .txt-menu .txt {
    display: block;
    padding-top: 32px;
    -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 1s cubic-bezier(0.23, 1, 0.32, 1); }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      .txt-menu .txt {
        padding-top: 50px; } }

/*ベースカラー
$baseColor01: #fff;
$baseColor02: #000;
$baseColor03: #333;
$baseColor04: #434343;
$baseColor05: #666;
$baseColor06: #999;　うすグレー
$baseColor07: #eee;

テーマカラー
$themaColor01: #31b700; //Carenet green
$themaColor02: #185800; //Carenet green dark

facebookカラー
$fbColor: #3b579d;

各法人カラー
$groupColor: #d6001c;　真っ赤
$jmaColor: #d6001c;　真っ赤
$smaColor: #0047bb; ブルー
$carenetColor: #31b700;　Carenet green
$jmaColor02: #9a0014;　くすんだ赤
$smaColor02: #011e4d;
$carenetColor02: #185800; //Carenet green dark　*/
/* ナビゲーションメニュー */
#contentsNav {
  top: 0;
  left: 0;
  overflow-y: auto;
  transition: background-color 1s ease 0s, box-shadow .5s ease .5s;
  width: 100%;
  height: 65px;
  border-bottom: solid 2px #999; }
  @media only screen and (max-width: 1023px) {
    #contentsNav {
      position: relative;
      height: 100vh;
      z-index: 5;
      transform: translateX(-100%); } }
  @media only screen and (min-width: 1024px) {
    #contentsNav {
      background-color: rgba(255, 255, 255, 0.9);
      -webkit-box-shadow: 5px 0 10px rgba(0, 0, 0, 0.2);
      -moz-box-shadow: 5px 0 10px rgba(0, 0, 0, 0.2);
      box-shadow: 5px 0 10px rgba(0, 0, 0, 0.2); } }
  #contentsNav.open {
    /*@include media(sp) {*/
    background-color: #fff;
    -webkit-box-shadow: 5px 0 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 5px 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 5px 0 10px rgba(0, 0, 0, 0.2);
    /*}*/ }
  #contentsNav .area-nav-close {
    width: 25%;
    background-color: rgba(214, 67, 41, 0.2);
    -webkit-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 3px 0 6px rgba(0, 0, 0, 0.2);
    box-shadow: 3px 0 6px rgba(0, 0, 0, 0.2);
    transition: width 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0.5s, box-shadow 0.5s cubic-bezier(0.23, 1, 0.32, 1) 1.4s, padding-right 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0s; }
    #contentsNav .area-nav-close.group {
      background-color: #eee; }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      #contentsNav .area-nav-close {
        width: 15%; } }
    @media only screen and (min-width: 1024px) {
      #contentsNav .area-nav-close {
        width: 230px; } }
  #contentsNav .area-nav-global-wp {
    -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
    -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
    -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
    -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
    transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
    opacity: 1; }
  #contentsNav .area-nav-sns {
    -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    opacity: 1; }
  #contentsNav .area-nav-link {
    -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    opacity: 1; }
  #contentsNav .area-nav {
    position: relative; }
  #contentsNav .nav-global-wp {
    position: absolute;
    height: 60px;
    left: 0;
    right: 0;
    margin: auto; }
    @media only screen and (min-width: 1024px) {
      #contentsNav .nav-global-wp {
        width: 1000px; } }
    @media only screen and (max-width: 1023px) {
      #contentsNav .nav-global-wp {
        position: absolute;
        padding-top: 20px;
        padding-right: 5%;
        padding-left: 30%; } }
  @media only screen and (max-width: 1023px) and (min-width: 768px) and (max-width: 1023px) {
    #contentsNav .nav-global-wp {
      padding-left: 20%; } }

  #contentsNav .nav-global {
    display: table;
    position: relative; }
  #contentsNav .list-nav {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    position: relative;
    padding: 15px 17px; }
    @media only screen and (max-width: 1023px) {
      #contentsNav .list-nav {
        padding: 8px; } }
    @media only screen and (min-width: 1024px) {
      #contentsNav .list-nav .list-nav-child-wp {
        visibility: hidden;
        opacity: 0;
        position: absolute;
        top: 40px;
        left: 0px;
        width: 190px;
        border-top: solid 2px #d64329;
        border-bottom: solid 2px #d64329;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -ms-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; } }
    #contentsNav .list-nav .ico-out {
      position: relative;
      vertical-align: middle;
      display: inline-block;
      top: auto;
      bottom: auto;
      fill: #d64329; }
      @media only screen and (min-width: 1024px) {
        #contentsNav .list-nav .ico-out {
          position: absolute;
          top: 50%;
          right: 0;
          transform: translateY(-50%); } }
    @media only screen and (min-width: 1024px) {
      #contentsNav .list-nav:hover .list-nav-child-wp {
        top: 65px;
        left: 0px;
        visibility: visible;
        opacity: 1;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -ms-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
        #contentsNav .list-nav:hover .list-nav-child-wp:before {
          content: '';
          display: block;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 15px;
          border-color: transparent transparent #d64329 transparent;
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          margin-top: -24px; } }
    #contentsNav .list-nav > a {
      padding: 15px 0;
      font-size: 15px;
      font-size: 1.5rem;
      color: #000;
      font-family: "a-otf-ryumin-pr6n", serif; }
      #contentsNav .list-nav > a:hover {
        color: #d64329; }
      #contentsNav .list-nav > a svg {
        fill: #000; }
      @media only screen and (max-width: 767px) {
        #contentsNav .list-nav > a {
          font-size: 18px;
          font-size: 1.8rem; } }
    #contentsNav .list-nav .list-nav-child {
      position: relative;
      display: inline-block;
      width: 100%;
      height: 50px;
      padding: 0 10px 0 15px;
      text-align: left;
      box-sizing: border-box; }
      @media only screen and (min-width: 1024px) {
        #contentsNav .list-nav .list-nav-child {
          border-bottom: solid 1px #d64329;
          background-image: url("/common/img/bg_list-nav-child.jpg"); } }
      @media only screen and (max-width: 1023px) {
        #contentsNav .list-nav .list-nav-child {
          margin-left: 30px;
          height: 35px; } }
      #contentsNav .list-nav .list-nav-child.ico:after {
        display: none; }
      #contentsNav .list-nav .list-nav-child a {
        display: block;
        position: relative;
        font-size: 13px;
        font-size: 1.3rem;
        color: #000;
        line-height: 50px; }
        @media only screen and (max-width: 767px) {
          #contentsNav .list-nav .list-nav-child a {
            line-height: 35px; } }
      @media only screen and (min-width: 1024px) {
        #contentsNav .list-nav .list-nav-child:after {
          content: '';
          display: block;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 4px 5px;
          border-color: transparent;
          border-left-color: #d64329;
          position: absolute;
          top: 1.3em;
          right: 5px; } }
      @media only screen and (max-width: 1023px) {
        #contentsNav .list-nav .list-nav-child:after {
          content: '';
          display: block;
          width: 10px;
          height: 1px;
          background-color: #666;
          position: absolute;
          top: 50%;
          left: 0;
          margin-top: -1px; } }
      @media only screen and (min-width: 1024px) {
        #contentsNav .list-nav .list-nav-child:hover {
          background-image: url("/common/img/bg_list-nav-child_hov.jpg");
          -webkit-transition: all 0.5s ease;
          -moz-transition: all 0.5s ease;
          -ms-transition: all 0.5s ease;
          -o-transition: all 0.5s ease;
          transition: all 0.5s ease; }
          #contentsNav .list-nav .list-nav-child:hover a {
            color: #fff; }
          #contentsNav .list-nav .list-nav-child:hover:after {
            border-left-color: #fff; } }
    @media only screen and (max-width: 1023px) {
      #contentsNav .list-nav {
        display: block;
        text-align: left; } }
  @media only screen and (min-width: 1024px) {
    #contentsNav .logo-nav-wp {
      border-right: dotted 1px #000; } }
  @media only screen and (max-width: 1023px) {
    #contentsNav .logo-nav-wp {
      border-bottom: dotted 1px #000; } }

.ico-out-wp {
  position: relative; }

/* 閉じるボタン（SP） */
.close-nav-wp {
  display: table-cell;
  vertical-align: top;
  float: left;
  position: relative;
  z-index: 2;
  width: 25%;
  padding-left: calc(25% - 80px);
  padding-top: 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }
  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    .close-nav-wp {
      width: 15%;
      padding-left: calc(15% - 80px); } }
  .close-nav-wp img {
    width: 60px; }

#btnNavClose {
  cursor: pointer;
  width: 60px;
  height: 60px; }
  #btnNavClose .ico-close {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 60px;
    font-family: "trajan-pro-3", serif;
    color: #d64329;
    /*text-indent: -999px;*/ }
    #btnNavClose .ico-close:before, #btnNavClose .ico-close:after {
      content: '';
      display: block;
      width: 40px;
      height: 1px;
      background-color: #560d00;
      position: absolute;
      top: 30px;
      left: 10px;
      transform-origin: center;
      -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
    #btnNavClose .ico-close:before {
      transform: rotate(45deg); }
    #btnNavClose .ico-close:after {
      transform: rotate(-45deg); }

.area-nav-close {
  width: 0px;
  height: 100%;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1; }

.op_sankaku {
  position: relative;
  display: inline-block;
  padding-left: 12px;
  margin: 0; }

.op_sankaku:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #333;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -6px; }

/* SNSエリア ナビ・フッター共通 */
.area-nav-sns {
  opacity: 0;
  position: relative;
  z-index: 3; }

.area-nav-sns,
.area-footer-sns {
  background-color: #999;
  padding: 20px 0;
  text-align: center; }
  .area-nav-sns .area-nav-sns-in,
  .area-nav-sns .area-footer-sns-in,
  .area-footer-sns .area-nav-sns-in,
  .area-footer-sns .area-footer-sns-in {
    display: inline-block;
    position: relative; }
    .area-nav-sns .area-nav-sns-in:before, .area-nav-sns .area-nav-sns-in:after,
    .area-nav-sns .area-footer-sns-in:before,
    .area-nav-sns .area-footer-sns-in:after,
    .area-footer-sns .area-nav-sns-in:before,
    .area-footer-sns .area-nav-sns-in:after,
    .area-footer-sns .area-footer-sns-in:before,
    .area-footer-sns .area-footer-sns-in:after {
      content: '';
      display: block;
      width: 25px;
      height: 1px;
      background-color: #fff;
      position: absolute;
      top: 14px;
      -webkit-box-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
      -moz-box-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
      box-shadow: 0 3px 2px rgba(0, 0, 0, 0.2); }
    .area-nav-sns .area-nav-sns-in:before,
    .area-nav-sns .area-footer-sns-in:before,
    .area-footer-sns .area-nav-sns-in:before,
    .area-footer-sns .area-footer-sns-in:before {
      left: -45px; }
    .area-nav-sns .area-nav-sns-in:after,
    .area-nav-sns .area-footer-sns-in:after,
    .area-footer-sns .area-nav-sns-in:after,
    .area-footer-sns .area-footer-sns-in:after {
      right: -45px; }
  .area-nav-sns .txt,
  .area-footer-sns .txt {
    color: #fff;
    -webkit-text-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    -moz-text-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    text-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    margin-right: 10px; }
  .area-nav-sns .nav-social,
  .area-footer-sns .nav-social {
    display: inline-block;
    height: 30px; }
    .area-nav-sns .nav-social .list-item-01,
    .area-footer-sns .nav-social .list-item-01 {
      display: inline;
      margin-left: 5px; }

/* グループサイトリンク */
.area-nav-link {
  opacity: 0;
  background-color: #333;
  position: relative;
  z-index: 4; }
  .area-nav-link .link-group {
    text-align: center; }
    .area-nav-link .link-group .list-item-01 {
      width: 33%;
      height: 100px;
      overflow: hidden;
      display: inline-block; }
      @media only screen and (max-width: 767px) {
        .area-nav-link .link-group .list-item-01 {
          width: 100%;
          height: 60px;
          border-bottom: 1px solid rgba(255, 255, 255, 0.5); } }
      .area-nav-link .link-group .list-item-01 a {
        display: block;
        padding: 20px;
        position: relative;
        line-height: 1; }
        @media only screen and (max-width: 767px) {
          .area-nav-link .link-group .list-item-01 a {
            padding: 0; } }
        .area-nav-link .link-group .list-item-01 a:before {
          content: '';
          display: block;
          position: absolute;
          z-index: 1;
          top: 0;
          left: 0;
          width: 0;
          height: 100%;
          -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
          -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
          -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
          -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
          transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
        .area-nav-link .link-group .list-item-01 a.group {
          padding: 35px 20px; }
          @media only screen and (max-width: 767px) {
            .area-nav-link .link-group .list-item-01 a.group {
              padding: 0; }
              .area-nav-link .link-group .list-item-01 a.group svg {
                height: 60px;
                width: 50%; } }
          .area-nav-link .link-group .list-item-01 a.group:before {
            background-color: #d6001c; }
        .area-nav-link .link-group .list-item-01 a.jma:before {
          background-color: #d6001c; }
        .area-nav-link .link-group .list-item-01 a.sma:before {
          background-color: #0047bb; }
        .area-nav-link .link-group .list-item-01 a.carenet:before {
          background-color: #598e1d; }
        .PC .area-nav-link .link-group .list-item-01 a:hover:before {
          width: 100%; }
    .area-nav-link .link-group svg {
      width: 100%;
      height: 60px;
      fill: #fff;
      position: relative;
      z-index: 2; }
      .area-nav-link .link-group svg.logo_group_type {
        height: 30px; }
      @media only screen and (max-width: 767px) {
        .area-nav-link .link-group svg {
          width: 60%;
          max-width: 240px; }
          .area-nav-link .link-group svg.logo_group_type {
            max-width: 160px; } }

/* コンバージョンエリア*/
.area-button {
  position: absolute;
  right: 0;
  bottom: 8px; }
  @media only screen and (max-width: 1023px) {
    .area-button {
      float: right;
      right: 10px;
      top: 10px; } }
  .area-button li {
    display: inline-block; }
    .area-button li:nth-child(n+2) {
      margin-left: 10px; }
      @media only screen and (max-width: 767px) {
        .area-button li:nth-child(n+2) {
          margin-left: 5px; } }

.area-button-sp {
  position: absolute;
  top: 10px;
  right: 10px; }
  .area-button-sp li {
    display: inline-block; }
    .area-button-sp li:nth-child(n+2) {
      margin-left: 5px; }
  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    .area-button-sp {
      top: 20px;
      right: 20px; } }

.btn-contact-01, .btn-job-01, .btn-gr-01 {
  display: block;
  border-radius: 5px;
  padding-top: 8px;
  padding-bottom: 10px;
  padding-left: 15px;
  padding-right: 35px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  font-size: 13px;
  font-size: 1.3rem;
  overflow: hidden;
  position: relative; }
  .btn-contact-01:before,
  .btn-job-01:before,
  .btn-gr-01:before {
    content: '';
    display: block;
    width: 0%;
    height: 100%;
    background-color: #560d00;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    /* for IE10 & 11 */ }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .btn-contact-01:before,
      .btn-job-01:before,
      .btn-gr-01:before {
        width: 100%;
        opacity: 0; } }
  .btn-contact-01.group:before,
  .btn-job-01.group:before,
  .btn-gr-01.group:before {
    background-color: #d64329; }
  .btn-contact-01 .btn-txt,
  .btn-job-01 .btn-txt,
  .btn-gr-01 .btn-txt {
    position: relative;
    z-index: 2; }
  .PC .btn-contact-01:hover,
  .PC .btn-job-01:hover,
  .PC .btn-gr-01:hover {
    color: #fff; }
    .PC .btn-contact-01:hover .ico-mail,
    .PC .btn-job-01:hover .ico-mail,
    .PC .btn-gr-01:hover .ico-mail {
      fill: #fff; }
    .PC .btn-contact-01:hover:before,
    .PC .btn-job-01:hover:before,
    .PC .btn-gr-01:hover:before {
      width: 100%;
      /* for IE10 & 11 */ }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .PC .btn-contact-01:hover:before,
        .PC .btn-job-01:hover:before,
        .PC .btn-gr-01:hover:before {
          opacity: 1; } }
  @media only screen and (max-width: 1023px) {
    .btn-contact-01, .btn-job-01, .btn-gr-01 {
      width: 40px;
      height: 35px;
      padding: 0; }
      .btn-contact-01 .btn-txt, .btn-job-01 .btn-txt, .btn-gr-01 .btn-txt {
        display: block;
        width: 100%;
        height: 100%;
        font-family: "trajan-pro-3", serif; }
        .btn-contact-01 .btn-txt:after, .btn-job-01 .btn-txt:after, .btn-gr-01 .btn-txt:after {
          display: block;
          position: absolute;
          bottom: -3px;
          left: 50%;
          transform: translateX(-50%) scale(0.4); }
      .btn-contact-01 .ico-mail,
      .btn-contact-01 .ico-out,
      .btn-contact-01 .ico-job, .btn-job-01 .ico-mail,
      .btn-job-01 .ico-out,
      .btn-job-01 .ico-job, .btn-gr-01 .ico-mail,
      .btn-gr-01 .ico-out,
      .btn-gr-01 .ico-job {
        margin: 0;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -85%); }
      .btn-contact-01 .ico-gr, .btn-job-01 .ico-gr, .btn-gr-01 .ico-gr {
        top: 7px;
        left: 4px;
        position: absolute; } }

.btn-contact-01 {
  color: #fff;
  background-color: #d64329;
  -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
  /* for IE10 & 11 */ }
  @media only screen and (max-width: 1023px) {
    .btn-contact-01 {
      color: #666;
      background-color: #eee; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .btn-contact-01 {
      transition: none; } }
  .btn-contact-01 .ico-mail {
    fill: #fff;
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    /* for IE10 & 11 */ }
    @media only screen and (max-width: 1023px) {
      .btn-contact-01 .ico-mail {
        fill: #666; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .btn-contact-01 .ico-mail {
        transition: none; } }
  @media only screen and (max-width: 1023px) {
    .btn-contact-01 .btn-txt:after {
      content: 'CONTACT'; } }
  .btn-contact-01 .ico-gr {
    fill: #fff; }
    @media only screen and (max-width: 1023px) {
      .btn-contact-01 .ico-gr {
        fill: #666; } }

.btn-job-01 {
  color: #fff;
  background-color: #d64329; }
  .btn-job-01.group {
    background-color: #560d00; }
  .btn-job-01 .ico-out,
  .btn-job-01 .ico-job {
    fill: #fff; }
  @media only screen and (max-width: 1023px) {
    .btn-job-01 .btn-txt:after {
      content: 'JOB'; } }

.btn-gr-01 {
  color: #560d00;
  background-color: #eee; }
  @media only screen and (max-width: 1023px) {
    .btn-gr-01 {
      background-color: #d64329; } }
  .btn-gr-01 .ico-out {
    fill: #d64329; }
  .btn-gr-01 .ico-gr {
    fill: #fff; }
  @media only screen and (max-width: 1023px) {
    .btn-gr-01 .btn-txt:after {
      display: none; } }

/* グローバルメニュー*/
/* ------------------------------------------------
  contents
------------------------------------------------ */
.contents {
  z-index: 1;
  position: relative; }

/* ------------------------------------------------
  footer
------------------------------------------------ */
.footer {
  background-color: #fff; }

.img-footer-key img {
  width: 100%;
  height: 43px; }

/* for Microsoft Edge */
@supports (-ms-ime-align: auto) {
  .img-footer-key img {
    height: auto; } }
.area-footer-contents-01 {
  padding-top: 80px;
  text-align: center; }

.logo-footer .txt {
  margin-top: 5px;
  font-size: 11px;
  font-size: 1.1rem;
  letter-spacing: .1em;
  color: #333; }
.logo-footer img {
  width: 400px;
  height: 70px; }
.logo-footer.group img {
  width: 234px;
  height: 50px; }
@media only screen and (max-width: 767px) {
  .logo-footer img {
    width: 300px; }
  .logo-footer.group img {
    width: 220px; } }

/* footerナビゲーション */
.nav-footer {
  margin: 40px auto;
  width: 80%; }
  @media only screen and (max-width: 767px) {
    .nav-footer {
      width: 96%; } }
  .nav-footer .list-nav {
    display: inline-block;
    position: relative;
    margin: 15px; }
    @media only screen and (max-width: 767px) {
      .nav-footer .list-nav {
        width: 48%;
        margin: 0;
        padding: 0 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box; }
        .nav-footer .list-nav:after {
          content: url("/common/img/sprite/ico_arr_01.svg");
          width: 9px;
          height: 3px;
          position: absolute;
          top: 50%;
          right: 0;
          transform: rotate(90deg) translateY(-50%);
          margin-top: -1px;
          margin-right: -4px;
          opacity: .5; } }
    @media only screen and (max-width: 767px) {
      .nav-footer .list-nav.long {
        width: 96%; } }
    .nav-footer .list-nav.ico .ico-out {
      fill: #666;
      top: 50%;
      transform: translateY(-50%);
      position: absolute; }
    .nav-footer .list-nav.ico a {
      padding-right: 1.5em; }
    .nav-footer .list-nav a {
      font-size: 14px;
      font-size: 1.4rem;
      color: #666;
      border-bottom: 1px dotted #999;
      padding: .5em 0;
      position: relative;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      @media only screen and (max-width: 767px) {
        .nav-footer .list-nav a {
          font-size: 12px;
          font-size: 1.2rem;
          padding: 1em 0;
          display: block;
          width: 100%;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
          box-sizing: border-box;
          text-align: left; } }
      .nav-footer .list-nav a:after {
        content: '';
        display: block;
        width: 0;
        height: 1px;
        background-color: #d64329;
        position: absolute;
        bottom: -1px;
        left: 0;
        -webkit-transition: all 0.25s linear;
        -moz-transition: all 0.25s linear;
        -ms-transition: all 0.25s linear;
        -o-transition: all 0.25s linear;
        transition: all 0.25s linear; }
      .PC .nav-footer .list-nav a:hover {
        color: #d64329;
        border-color: #d64329; }
        .PC .nav-footer .list-nav a:hover .ico-out {
          fill: #d64329; }
        .PC .nav-footer .list-nav a:hover:after {
          width: 100%; }

.area-bnr-footer {
  position: relative;
  width: 100%;
  max-width: 1024px;
  margin: 40px auto; }
  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    .area-bnr-footer {
      width: 90%; } }
  @media print {
    .area-bnr-footer {
      width: 100%; } }
  .area-bnr-footer .slider .bnr {
    display: inline-block;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); 
  margin-bottom: 20px;
width: 30%;}
.area-bnr-footer .slider .bnr img{
width: 100%;
height: auto;}
    @media only screen and (max-width: 767px) {
      .area-bnr-footer {
        position: relative;
        width: 80%;
        max-width: 1024px;
        margin: 40px auto; }
      .area-bnr-footer .slider .bnr {
        box-shadow: none; 
        width: 100%;
      }
        .area-bnr-footer .slider .bnr img {
          width: 100%;
          height: auto; } }
  .area-bnr-footer .bx-viewport {
    padding: 12px; }
    @media only screen and (max-width: 767px) {
      .area-bnr-footer .bx-viewport {
        padding: 0; } }
  .area-bnr-footer .bx-controls .bx-pager-item {
    display: inline-block;
    vertical-align: middle;
    width: 25px;
    height: 2px;
    margin: 1px;
    margin: 1px;
    -webkit-box-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0 3px 2px rgba(0, 0, 0, 0.2); }
    .area-bnr-footer .bx-controls .bx-pager-item a {
      display: block;
      width: 100%;
      height: 100%;
      background-color: #999;
      text-indent: -99999px;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      .area-bnr-footer .bx-controls .bx-pager-item a.active {
        background-color: #eee; }
  .area-bnr-footer .bx-controls-direction .bx-prev, .area-bnr-footer .bx-controls-direction .bx-next {
    display: block;
    width: 25px;
    height: 13px;
    background-image: url("/common/img/sprite/ico_arr_01.svg");
    opacity: .5;
    overflow: hidden;
    text-indent: -99999px;
    filter: drop-shadow(0 3px 2px rgba(0, 0, 0, 0.5));
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-top: -18px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    .PC .area-bnr-footer .bx-controls-direction .bx-prev:hover, .PC .area-bnr-footer .bx-controls-direction .bx-next:hover {
      opacity: .2; }
  .area-bnr-footer .bx-controls-direction .bx-prev {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    left: -30px; }
  .area-bnr-footer .bx-controls-direction .bx-next {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    right: -30px; }

/* フッター用SEOテキストエリア */
.box-seo-description {
  padding: 20px;
  border: 1px dotted #ccc; }

/*フッター用SEO一行テキスト */
.txt-seo-footer-wrap {
  padding: 5px;
  background-color: #ddd; }

.txt-seo-footer {
  font-weight: bold; }

/* ページトップボタン */
.btn-scroll-top {
  position: fixed;
  z-index: 999;
  right: 30px;
  bottom: 30px;
  display: table;
  width: 60px;
  height: 60px;
  background-color: #434343;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  @media only screen and (max-width: 767px) {
    .btn-scroll-top {
      width: 40px;
      height: 40px;
      right: 10px; } }
  .btn-scroll-top.hide {
    opacity: 0;
    filter: alpha(opacity=0); }
  .PC .btn-scroll-top:hover {
    background-color: #999; }
  .btn-scroll-top .btn-scroll-top-in {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    color: #fff; }
    .btn-scroll-top .btn-scroll-top-in .ico-arr-01 {
      width: 25px;
      height: 13px;
      fill: #fff;
      filter: drop-shadow(0 3px 1px rgba(0, 0, 0, 0.4)); }
      @media only screen and (max-width: 767px) {
        .btn-scroll-top .btn-scroll-top-in .ico-arr-01 {
          width: 16px; } }

/*コピーライト*/
.txt-copyright-wrap {
  background-color: #333;
  text-align: center; }

.txt-copyright {
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  vertical-align: top;
  line-height: 2; }

/*////////////////////////////////////////////////////

  汎用レイアウト（レイアウトセット参照）
    ここではレイアウトに関わるスタイルのみ記載し、
    背景色や背景画像、ボーダー、シャドウなどのデザインバリエーションは、
    _pattern.scss内に継承クラスで指定すること
    （例：.wrapper01.style01）

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  .sec- シリーズここから
------------------------------------------------ */
.sec-cmn-01 {
  padding-top: 30px;
  padding-bottom: 50px; }
  @media only screen and (min-width: 768px) {
    .sec-cmn-01 {
      padding-top: 60px; } }
  @media only screen and (min-width: 1024px) {
    .sec-cmn-01 {
      padding-bottom: 100px; } }
  .sec-cmn-01.on-js {
    opacity: 0; }
    .sec-cmn-01.on-js.effect.is-active {
      -webkit-animation: load 1.5s 0s ease forwards;
      -moz-animation: load 1.5s 0s ease forwards;
      -o-animation: load 1.5s 0s ease forwards;
      animation: load 1.5s 0s ease forwards; }

.sec-cmn-in {
  margin-top: 60px; }
  @media only screen and (min-width: 1024px) {
    .sec-cmn-in {
      margin-top: 100px; } }

/* ------------------------------------------------
  .box シリーズここから
------------------------------------------------ */
.box-cmn-01 {
  padding: 0 5%; }
  .box-cmn-01:nth-of-type(n+2) {
    padding-top: 60px; }
  @media only screen and (min-width: 1024px) {
    .box-cmn-01 {
      width: 1000px;
      margin: 0 auto;
      padding: 0 10px; }
      .box-cmn-01:nth-of-type(n+2) {
        padding-top: 100px; } }

.box-cmn-02 {
  padding: 0 10px; }
  .box-cmn-02:nth-of-type(n+2) {
    padding-top: 60px; }
  @media only screen and (min-width: 1024px) {
    .box-cmn-02 {
      max-width: 1300px;
      margin: 0 auto;
      padding: 0; }
      .box-cmn-02:nth-of-type(n+2) {
        padding-top: 100px; } }
  @media only screen and (min-width: 1024px) {
    .box-cmn-02.style-01 {
      padding: 0 20px; } }

/* ------------------------------------------------
  .mod-layout シリーズここから
------------------------------------------------ */
.txt-layout-01 {
  margin-bottom: 30px; }
.txt-layout-02 {
  margin-top: 30px; }
.txt-layout-03 {
  margin-bottom: 60px; }
.txt-layout-04 {
  margin-top: 60px; }

.box-layout {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

.fig-layout img {
  max-width: 100%;
  height: auto; }

.mod-layout-cmn-01 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media only screen and (min-width: 1024px) {
    .mod-layout-cmn-01.reverse {
      -ms-flex-direction: row-reverse;
      -webkit-flex-direction: row-reverse;
      flex-direction: row-reverse; } }
  .mod-layout-cmn-01 .box-layout {
    width: 100%;
    padding: 0 0 30px; }
  .mod-layout-cmn-01 .fig-layout {
    width: 100%; }
  @media only screen and (min-width: 1024px) {
    .mod-layout-cmn-01.ratio-01 .box-layout {
      width: 50%;
      padding: 0 30px; }
    .mod-layout-cmn-01.ratio-01 .fig-layout {
      width: 50%; } }
  @media only screen and (min-width: 768px) {
    .mod-layout-cmn-01.ratio-02 .box-layout {
      width: 60%;
      padding: 30px; }
    .mod-layout-cmn-01.ratio-02 .fig-layout {
      width: 40%; } }
  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    .mod-layout-cmn-01.ratio-02 .box-layout {
      padding-left: 0; }
    .mod-layout-cmn-01.ratio-02 .fig-layout {
      padding-top: 30px; } }
  @media only screen and (min-width: 1024px) {
    .mod-layout-cmn-01.ratio-02 .box-layout {
      padding: 0 30px; } }
  @media only screen and (min-width: 768px) {
    .mod-layout-cmn-01.ratio-03 .box-layout {
      width: 70%;
      padding: 30px; }
    .mod-layout-cmn-01.ratio-03 .fig-layout {
      width: 30%; } }
  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    .mod-layout-cmn-01.ratio-03 .box-layout {
      padding-left: 0; }
    .mod-layout-cmn-01.ratio-03 .fig-layout {
      padding-top: 30px; } }
  @media only screen and (min-width: 1024px) {
    .mod-layout-cmn-01.ratio-03 .box-layout {
      padding: 0 30px; } }

.mod-layout-cmn-02 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .mod-layout-cmn-02 .fig-layout {
    flex: 1 0 0%; }
    .mod-layout-cmn-02 .fig-layout:nth-child(n+2) {
      margin-left: 10px; }
  .mod-layout-cmn-02.ratio-01 .fig-layout {
    flex: 0 0 50%; }
    .mod-layout-cmn-02.ratio-01 .fig-layout:nth-child(n+2) {
      margin-left: 0; }
  @media only screen and (max-width: 767px) {
    .mod-layout-cmn-02.ratio-01 {
      display: block; }
      .mod-layout-cmn-02.ratio-01 .fig-layout {
        width: 100%; } }

.boxImg img {
  width: 100%;
  height: auto; }

/* ------------------------------------------------
  .innerシリーズここから
------------------------------------------------ */
.inner01 {
  padding: 0 10px; }

/* ------------------------------------------------
  .sectionシリーズここから
------------------------------------------------ */
.section01 {
  margin-bottom: 60px; }
  .section01:last-child {
    margin-bottom: 0; }
  @media only screen and (max-width: 480px) {
    .section01 {
      margin-bottom: 30px; } }

/* ------------------------------------------------
  .boxContentシリーズここから
------------------------------------------------ */
.container01 {
  max-width: 1000px;
  width: auto;
  margin: 60px auto 0;
  padding: 0 10px;
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }
  @media only screen and (max-width: 480px) {
    .container01 {
      margin-top: 30px; } }
  .container01:first-child {
    margin-top: 0; }
  .container01.noSpace {
    padding: 0; }

/* ------------------------------------------------
  .boxContentシリーズここから
------------------------------------------------ */
.boxContent01, .boxContent02, .boxContent03 {
  width: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

.boxContent01 > .boxImg {
  margin: 20px 0; }
  .boxContent01 > .boxImg:first-child {
    margin-top: 0; }
  .boxContent01 > .boxImg:last-child {
    margin-bottom: 0; }
.boxContent01 > .boxTxt {
  padding: 0 10px; }

.boxContent02 > .boxImg {
  width: 30%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  float: left; }
.boxContent02 > .boxTxt {
  width: 70%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 0 0 20px;
  float: right; }
.boxContent02.reverse > .boxImg {
  float: right; }
.boxContent02.reverse > .boxTxt {
  float: left;
  padding: 0 20px 0 0; }
@media only screen and (max-width: 767px) {
  .boxContent02 {
    /* 一列表示、画像100％ */
    /* 一列表示、画像最大サイズ設定あり */ }
    .boxContent02.type01 > .boxImg, .boxContent02.type01 > .boxTxt, .boxContent02.type01.reverse > .boxImg, .boxContent02.type01.reverse > .boxTxt, .boxContent02.type02 > .boxImg, .boxContent02.type02 > .boxTxt, .boxContent02.type02.reverse > .boxImg, .boxContent02.type02.reverse > .boxTxt {
      float: none;
      width: auto; }
    .boxContent02.type01 > .boxImg, .boxContent02.type01.reverse > .boxImg, .boxContent02.type02 > .boxImg, .boxContent02.type02.reverse > .boxImg {
      margin: 20px auto; }
      .boxContent02.type01 > .boxImg:first-child, .boxContent02.type01.reverse > .boxImg:first-child, .boxContent02.type02 > .boxImg:first-child, .boxContent02.type02.reverse > .boxImg:first-child {
        margin-top: 0; }
      .boxContent02.type01 > .boxImg:last-child, .boxContent02.type01.reverse > .boxImg:last-child, .boxContent02.type02 > .boxImg:last-child, .boxContent02.type02.reverse > .boxImg:last-child {
        margin-bottom: 0; }
    .boxContent02.type01 > .boxTxt, .boxContent02.type01.reverse > .boxTxt, .boxContent02.type02 > .boxTxt, .boxContent02.type02.reverse > .boxTxt {
      padding: 0; }
    .boxContent02.type02 > .boxImg, .boxContent02.type02.reverse > .boxImg {
      max-width: 300px; } }

.boxContent03 > .boxImg, .boxContent03 > .boxTxt {
  width: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }
.boxContent03 > .boxImg {
  float: left;
  padding: 0 10px 0 0; }
.boxContent03 > .boxTxt {
  padding: 0 0 0 10px;
  float: right; }
.boxContent03.reverse > .boxImg {
  float: right;
  padding: 0 0 0 10px; }
.boxContent03.reverse > .boxTxt {
  float: left;
  padding: 0 10px 0 0; }
@media only screen and (max-width: 767px) {
  .boxContent03 {
    /* 一列表示、画像100％ */
    /* 一列表示、画像最大サイズ設定あり */ }
    .boxContent03.type01 > .boxImg, .boxContent03.type01 > .boxTxt, .boxContent03.type01.reverse > .boxImg, .boxContent03.type01.reverse > .boxTxt, .boxContent03.type02 > .boxImg, .boxContent03.type02 > .boxTxt, .boxContent03.type02.reverse > .boxImg, .boxContent03.type02.reverse > .boxTxt {
      float: none;
      width: auto; }
    .boxContent03.type01 > .boxImg, .boxContent03.type01.reverse > .boxImg, .boxContent03.type02 > .boxImg, .boxContent03.type02.reverse > .boxImg {
      padding: 0;
      margin: 20px auto; }
      .boxContent03.type01 > .boxImg:first-child, .boxContent03.type01.reverse > .boxImg:first-child, .boxContent03.type02 > .boxImg:first-child, .boxContent03.type02.reverse > .boxImg:first-child {
        margin-top: 0; }
      .boxContent03.type01 > .boxImg:last-child, .boxContent03.type01.reverse > .boxImg:last-child, .boxContent03.type02 > .boxImg:last-child, .boxContent03.type02.reverse > .boxImg:last-child {
        margin-bottom: 0; }
    .boxContent03.type01 > .boxTxt, .boxContent03.type01.reverse > .boxTxt, .boxContent03.type02 > .boxTxt, .boxContent03.type02.reverse > .boxTxt {
      padding: 0; }
    .boxContent03 > type02 > .boxImg, .boxContent03 > type02.reverse > .boxImg {
      max-width: 490px; } }

/*////////////////////////////////////////////////////

  汎用レイアウト（レイアウトセット参照）
    ここではレイアウトに関わるスタイルのみ記載し、
    背景色や背景画像、ボーダー、シャドウなどのデザインバリエーションは、
    _pattern.scss内に継承クラスで指定すること
    （例：.wrapper01.style01）

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  .boxListシリーズここから
------------------------------------------------ */
.boxList01, .boxList02, .boxList03 {
  width: auto; }
  .boxList01 > a.boxContent, .boxList02 > a.boxContent, .boxList03 > a.boxContent {
    text-decoration: none;
    color: #434343; }
  .boxList01 > .boxContent, .boxList02 > .boxContent, .boxList03 > .boxContent {
    padding: 0 10px; }
    .boxList01 > .boxContent > .boxInner, .boxList02 > .boxContent > .boxInner, .boxList03 > .boxContent > .boxInner {
      padding: 10px;
      border: 1px solid #434343;
      display: block; }
    .boxList01 > .boxContent > a.boxInner, .boxList02 > .boxContent > a.boxInner, .boxList03 > .boxContent > a.boxInner {
      text-decoration: none; }

.boxList01 > .boxContent > .boxImg, .boxList01 > .boxContent > .boxInner > .boxImg, .boxList02 > .boxContent > .boxImg, .boxList02 > .boxContent > .boxInner > .boxImg, .boxList03 > .boxContent > .boxImg, .boxList03 > .boxContent > .boxInner > .boxImg {
  margin: 10px auto; }
  .boxList01 > .boxContent > .boxImg:first-child, .boxList01 > .boxContent > .boxInner > .boxImg:first-child, .boxList02 > .boxContent > .boxImg:first-child, .boxList02 > .boxContent > .boxInner > .boxImg:first-child, .boxList03 > .boxContent > .boxImg:first-child, .boxList03 > .boxContent > .boxInner > .boxImg:first-child {
    margin-top: 0; }
  .boxList01 > .boxContent > .boxImg:last-child, .boxList01 > .boxContent > .boxInner > .boxImg:last-child, .boxList02 > .boxContent > .boxImg:last-child, .boxList02 > .boxContent > .boxInner > .boxImg:last-child, .boxList03 > .boxContent > .boxImg:last-child, .boxList03 > .boxContent > .boxInner > .boxImg:last-child {
    margin-bottom: 0; }

.boxList01 > .boxContent > .boxTxt, .boxList01 > .boxContent > .boxInner > .boxTxt, .boxList02 > .boxContent > .boxTxt, .boxList02 > .boxContent > .boxInner > .boxTxt, .boxList03 > .boxContent > .boxTxt, .boxList03 > .boxContent > .boxInner > .boxTxt {
  padding: 0 10px; }

.boxList01 {
  /*スマホレイアウトバリエーション*/ }
  .boxList01 > .boxContent {
    width: 50%;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    display: block; }
    .boxList01 > .boxContent:nth-child(n+3) {
      margin-top: 60px; }
      @media only screen and (max-width: 480px) {
        .boxList01 > .boxContent:nth-child(n+3) {
          margin-top: 30px; } }
    .boxList01 > .boxContent:nth-child(odd) {
      clear: both; }
  @media only screen and (max-width: 767px) {
    .boxList01 {
      /*1列表示*/
      /*/.type01*/
      /*1列表示、画像とテキストを1:1で並列表示*/ }
      .boxList01.type01 > .boxContent {
        width: 100%;
        float: none; }
        .boxList01.type01 > .boxContent:nth-child(n+2) {
          margin-top: 60px !important; } }
      @media only screen and (max-width: 767px) and (max-width: 480px) {
        .boxList01.type01 > .boxContent:nth-child(n+2) {
          margin-top: 30px !important; } }
  @media only screen and (max-width: 767px) {
      .boxList01.type02 > .boxContent {
        display: table;
        width: 100%; }
        .boxList01.type02 > .boxContent:nth-child(n+2) {
          margin-top: 20px !important; }
        .boxList01.type02 > .boxContent > .boxImg, .boxList01.type02 > .boxContent > .boxTxt, .boxList01.type02 > .boxContent > .boxInner > .boxImg, .boxList01.type02 > .boxContent > .boxInner > .boxTxt {
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
          box-sizing: border-box;
          display: table-cell; }
        .boxList01.type02 > .boxContent > .boxImg, .boxList01.type02 > .boxContent > .boxInner > .boxImg {
          vertical-align: top; }
        .boxList01.type02 > .boxContent > .boxTxt, .boxList01.type02 > .boxContent > .boxInner > .boxTxt {
          vertical-align: middle; }
        .boxList01.type02 > .boxContent > .boxImg, .boxList01.type02 > .boxContent > .boxInner > .boxImg {
          width: 50%; } }

/*/.boxList01*/
.boxList02 {
  /*.boxContent*/
  /*スマホレイアウトバリエーション*/ }
  .boxList02 > .boxContent {
    width: 33.33333%;
    float: left;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .boxList02 > .boxContent {
        width: 100%;
        float: none; }
        .boxList02 > .boxContent:nth-child(n+2) {
          margin-top: 60px !important; } }
    @media only screen and (max-width: 767px) and (max-width: 480px) {
      .boxList02 > .boxContent:nth-child(n+2) {
        margin-top: 30px !important; } }

    .boxList02 > .boxContent:nth-child(3n+1) {
      clear: both; }
    .boxList02 > .boxContent:nth-child(n+4) {
      margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      .boxList02 > .boxContent > .boxImg, .boxList02 > .boxContent > .boxInner > .boxImg {
        max-width: 313.3333333333px; } }
  @media only screen and (max-width: 767px) {
    .boxList02 {
      /* 画像を横100%表示。スマホでは767pxの画像を用意すること。 */
      /* 画像とテキストを1:2で並列表示; */
      /*/.type02*/ }
      .boxList02.type01 > .boxContent > .boxImg, .boxList02.type01 > .boxContent > .boxInner > .boxImg {
        width: 100%;
        max-width: none; }
      .boxList02.type02 > .boxContent {
        display: table;
        width: 100%; }
        .boxList02.type02 > .boxContent:nth-child(n+2) {
          margin-top: 20px !important; }
        .boxList02.type02 > .boxContent > .boxImg, .boxList02.type02 > .boxContent > .boxTxt, .boxList02.type02 > .boxContent > .boxInner > .boxImg, .boxList02.type02 > .boxContent > .boxInner > .boxTxt {
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
          box-sizing: border-box;
          display: table-cell; }
        .boxList02.type02 > .boxContent > .boxImg, .boxList02.type02 > .boxContent > .boxInner > .boxImg {
          vertical-align: top; }
        .boxList02.type02 > .boxContent > .boxTxt, .boxList02.type02 > .boxContent > .boxInner > .boxTxt {
          vertical-align: middle; }
        .boxList02.type02 > .boxContent > .boxImg, .boxList02.type02 > .boxContent > .boxInner > .boxImg {
          width: 25%;
          margin: 0; } }

/*/.boxList02*/
.boxList03 {
  /*スマホレイアウトバリエーション*/ }
  .boxList03 > .boxContent {
    width: 25%;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    display: block; }
    .boxList03 > .boxContent:nth-child(n+5) {
      margin-top: 20px; }
    .boxList03 > .boxContent:nth-child(4n+1) {
      clear: both; }
    @media only screen and (max-width: 767px) {
      .boxList03 > .boxContent {
        width: 50%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box; }
        .boxList03 > .boxContent:nth-child(n+3) {
          margin-top: 20px; }
        .boxList03 > .boxContent:nth-child(odd) {
          clear: both; } }
  @media only screen and (max-width: 767px) {
    .boxList03 {
      /* 一列表示 */
      /*/.type01*/
      /* 一列表示、画像とテキストを1:3で並列表示; */
      /*/.type02*/ }
      .boxList03.type01 > .boxContent {
        width: 100%;
        float: none; }
        .boxList03.type01 > .boxContent:nth-child(n+2) {
          margin-top: 60px !important; } }
      @media only screen and (max-width: 767px) and (max-width: 480px) {
        .boxList03.type01 > .boxContent:nth-child(n+2) {
          margin-top: 30px !important; } }
  @media only screen and (max-width: 767px) {
      .boxList03.type02 > .boxContent {
        display: table;
        width: 100%; }
        .boxList03.type02 > .boxContent:nth-child(n+2) {
          margin-top: 20px !important; }
        .boxList03.type02 > .boxContent > .boxImg, .boxList03.type02 > .boxContent > .boxTxt, .boxList03.type02 > .boxContent > .boxInner > .boxImg, .boxList03.type02 > .boxContent > .boxInner > .boxTxt {
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
          box-sizing: border-box;
          display: table-cell; }
        .boxList03.type02 > .boxContent > .boxImg, .boxList03.type02 > .boxContent > .boxInner > .boxImg {
          vertical-align: top; }
        .boxList03.type02 > .boxContent > .boxTxt, .boxList03.type02 > .boxContent > .boxInner > .boxTxt {
          vertical-align: middle; }
        .boxList03.type02 > .boxContent > .boxImg, .boxList03.type02 > .boxContent > .boxInner > .boxImg {
          width: 25%; } }

/*/.boxList03*/
.boxTableList01, .boxTableList02 {
  width: auto; }
  .boxTableList01 > .boxContent, .boxTableList02 > .boxContent {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 10px; }
    .boxTableList01 > .boxContent > .boxWrapper, .boxTableList02 > .boxContent > .boxWrapper {
      display: table;
      width: 100%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box; }
      .boxTableList01 > .boxContent > .boxWrapper.boxInner, .boxTableList02 > .boxContent > .boxWrapper.boxInner {
        padding: 10px;
        border: 1px solid #434343; }
      .boxTableList01 > .boxContent > .boxWrapper .boxImg, .boxTableList02 > .boxContent > .boxWrapper .boxImg,
      .boxTableList01 > .boxContent > .boxWrapper .boxTxt,
      .boxTableList02 > .boxContent > .boxWrapper .boxTxt {
        display: table-cell; }
      .boxTableList01 > .boxContent > .boxWrapper .boxImg, .boxTableList02 > .boxContent > .boxWrapper .boxImg {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
        vertical-align: top; }
        .boxTableList01 > .boxContent > .boxWrapper .boxImg:first-child, .boxTableList02 > .boxContent > .boxWrapper .boxImg:first-child {
          padding-right: 10px; }
        .boxTableList01 > .boxContent > .boxWrapper .boxImg:last-child, .boxTableList02 > .boxContent > .boxWrapper .boxImg:last-child {
          padding-left: 10px; }
      .boxTableList01 > .boxContent > .boxWrapper .boxTxt, .boxTableList02 > .boxContent > .boxWrapper .boxTxt {
        vertical-align: middle; }
    .boxTableList01 > .boxContent > a.boxWrapper, .boxTableList02 > .boxContent > a.boxWrapper {
      text-decoration: none;
      color: #434343; }

.boxTableList01 {
  /*スマホレイアウトバリエーション*/ }
  .boxTableList01 > .boxContent {
    width: 50%;
    float: left;
    display: block; }
    @media only screen and (max-width: 767px) {
      .boxTableList01 > .boxContent {
        width: auto;
        float: none; }
        .boxTableList01 > .boxContent:nth-child(n+2) {
          margin-top: 20px; } }
    .boxTableList01 > .boxContent:nth-child(odd) {
      clear: both; }
    .boxTableList01 > .boxContent:nth-child(n+3) {
      margin-top: 20px; }
    .boxTableList01 > .boxContent > .boxWrapper .boxImg {
      width: 50%; }
  @media only screen and (max-width: 767px) {
    .boxTableList01.type01 > .boxContent > .boxWrapper .boxImg {
      width: 30%; } }

/*/.boxTableList01*/
.boxTableList02 > .boxContent {
  display: block;
  width: 33.33333%;
  float: left; }
  .boxTableList02 > .boxContent:nth-child(3n+1) {
    clear: both; }
  .boxTableList02 > .boxContent:nth-child(n+4) {
    margin-top: 20px; }
  @media only screen and (max-width: 767px) {
    .boxTableList02 > .boxContent {
      width: 100%; }
      .boxTableList02 > .boxContent:nth-child(n+2) {
        margin-top: 20px; } }
  .boxTableList02 > .boxContent > .boxWrapper .boxImg {
    width: 30%; }

/*/.boxTableList02*/
/*////////////////////////////////////////////////////

  汎用レイアウト（レイアウトセット参照）
    ここではレイアウトに関わるスタイルのみ記載し、
    背景色や背景画像、ボーダー、シャドウなどのデザインバリエーションは、
    _pattern.scss内に継承クラスで指定すること
    （例：.wrapper01.style01）

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  .boxFlexContentシリーズここから
------------------------------------------------ */
.boxFlexContent01 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-align-items: center;
  -moz-align-items: center;
  -webkit-align-items: center;
  align-items: center;
  /*IE9以下*/
  width: 100% \9 ;
  /*/.type01*/
  /*/.type02*/ }
  .boxFlexContent01.reverse {
    -ms-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  @media only screen and (max-width: 767px) {
    .boxFlexContent01 {
      display: block; } }
  .boxFlexContent01 > .boxImg {
    width: 40%; }
    @media only screen and (max-width: 767px) {
      .boxFlexContent01 > .boxImg {
        width: 100%; } }
  .boxFlexContent01 > .boxTxt {
    width: 60%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .boxFlexContent01 > .boxTxt {
        width: 100%;
        padding: 20px 10px 60px; } }
  .boxFlexContent01 > .boxImg, .boxFlexContent01 > .boxTxt {
    display: table-cell\9;
    vertical-align: middle\9; }
  .boxFlexContent01.type01 > .boxImg, .boxFlexContent01.type01 > .boxTxt {
    width: 50%; }
    @media only screen and (max-width: 767px) {
      .boxFlexContent01.type01 > .boxImg, .boxFlexContent01.type01 > .boxTxt {
        width: 100%; } }
  .boxFlexContent01.type02 > .boxImg {
    width: 60%; }
    @media only screen and (max-width: 767px) {
      .boxFlexContent01.type02 > .boxImg {
        width: 100%; } }
  .boxFlexContent01.type02 > .boxTxt {
    width: 40%; }
    @media only screen and (max-width: 767px) {
      .boxFlexContent01.type02 > .boxTxt {
        width: 100%; } }

/* ------------------------------------------------
  .boxFlexListシリーズここから
------------------------------------------------ */
.boxFlexList01 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    .boxFlexList01 {
      display: block; } }
  .boxFlexList01 > .boxContent {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    width: 33.33333%; }
    .boxFlexList01 > .boxContent > .boxTxt {
      padding: 20px; }
  .boxFlexList01.row4 > .boxContent {
    width: 25%; }
  @media only screen and (max-width: 767px) {
    .boxFlexList01 .boxContent, .boxFlexList01.row4 > .boxContent {
      width: 100%; }
    .boxFlexList01.type01 > .boxContent, .boxFlexList01.row4.type01 > .boxContent {
      width: 50%;
      float: left; }
    .boxFlexList01.type02 > .boxContent, .boxFlexList01.row4.type02 > .boxContent {
      width: 100%;
      display: table; }
      .boxFlexList01.type02 > .boxContent > .boxInner, .boxFlexList01.row4.type02 > .boxContent > .boxInner {
        display: table-row; }
      .boxFlexList01.type02 > .boxContent > .boxImg, .boxFlexList01.type02 > .boxContent > .boxTxt, .boxFlexList01.row4.type02 > .boxContent > .boxImg, .boxFlexList01.row4.type02 > .boxContent > .boxTxt {
        display: table-cell;
        width: 50%;
        vertical-align: middle; } }

/*////////////////////////////////////////////////////

  汎用スタイルパターン（レイアウトセット参照）
    ここでは_layout.scssなどで用意したレイアウトパターンに適用する
    スタイルのバリエーション(背景色や背景画像、ボーダー、シャドウなど)を継承クラスとして指定してください。
    例：
      .wrapper01,
      .wrapper02 {
        &.style01 {

        }
        &.style02 {

        }
      }

////////////////////////////////////////////////////*/
/*////////////////////////////////////////////////////

  テキスト、見出しの汎用スタイル

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  テキスト
------------------------------------------------ */

.p-lower-01em{
  margin-bottom: 1em;
}

/* ------------------------------------------------
  見出し
------------------------------------------------ */
.ttl-top-01 {
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: normal;
  letter-spacing: .3em;
  text-align: center;
  margin-bottom: 30px; }

.ttl-lower-01 {
  font-family: "a-otf-ryumin-pr6n", serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: normal;
  line-height: 1.4;
  text-align: center;
  padding: 0 30px 30px; }
  @media only screen and (min-width: 768px) {
    .ttl-lower-01 {
      font-size: 30px;
      font-size: 3rem;
      letter-spacing: .3em; } }

.ttl-lower-02 {
  font-size: 20px;
  font-size: 2rem;
  font-weight: normal;
  line-height: 1.4;
  text-align: center;
  padding: 30px 30px 60px;
  margin-top: 50px;
  position: relative; }
  @media only screen and (min-width: 768px) {
    .ttl-lower-02 {
      font-size: 26px;
      font-size: 2.6rem;
      letter-spacing: .1em; } }
  @media only screen and (min-width: 1024px) {
    .ttl-lower-02 {
      padding: 30px 30px 100px; } }
  .ttl-lower-02:before {
    content: '';
    display: block;
    width: 1px;
    height: 50px;
    background-color: #d64329;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -50px;
    -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.5s;
    -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.5s;
    -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.5s;
    -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.5s;
    transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.5s; }
  .ttl-lower-02.on-js.effect:before, .on-js.effect .ttl-lower-02:before {
    height: 0; }
  .ttl-lower-02.on-js.effect.is-active:before, .on-js.effect.is-active .ttl-lower-02:before {
    height: 50px; }

.ttl-lower-03 {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.4;
  margin: 0 0 20px;
  padding-left: 1.5em;
  position: relative; }
  @media only screen and (min-width: 768px) {
    .ttl-lower-03 {
      font-size: 20px;
      font-size: 2rem;
      letter-spacing: .1em;
      margin: 0 0 30px; } }
  .ttl-lower-03:before {
    content: '';
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    width: .8em;
    height: .8em;
    border: 3px solid #d64329;
    border-radius: 100%;
    position: absolute;
    top: .3em;
    left: 0; }

.txt-small {
  font-size: .7em;
  vertical-align: middle; }

/*////////////////////////////////////////////////////

  汎用リンク

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  ベース設定
------------------------------------------------ */
a {
  color: #d64329;
  text-decoration: none; }
  a.ico {
    fill: #d64329; }
  .PC a:hover:before {
    color: #560d00; }

/* ------------------------------------------------
  テキストリンク
------------------------------------------------ */
/* インラインリンク */
.link-01 {
  color: #d64329;
  text-decoration: none;
  position: relative; }
  .link-01:before {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background-color: #560d00;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .PC .link-01:hover {
    color: #560d00; }
    .PC .link-01:hover:before {
      width: 100%; }

/* リストリンク */
.link-02 {
  color: #d64329;
  position: relative;
  padding-left: 1.2em; }
  .link-02 .ico-arr-01 {
    width: .7em;
    height: .7em;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(90deg);
    fill: #d64329;
    margin-top: 2px; }
  .PC .link-02:hover {
    color: #560d00; }
    .PC .link-02:hover .ico-arr-01 {
      fill: #560d00; }

/* ------------------------------------------------
  ボタン
------------------------------------------------ */
.btn-01 {
  text-align: center; }
  .btn-01 > a, .btn-01 > span, .btn-01 > input {
    display: block;
    padding: 1em;
    color: #333;
    background-color: #eee;
    border-radius: 3px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    .btn-01 > a .ico svg, .btn-01 > span .ico svg, .btn-01 > input .ico svg {
      fill: #333; }
    .PC .btn-01 > a:hover, .PC .btn-01 > span:hover, .PC .btn-01 > input:hover {
      color: #fff;
      background-color: #560d00; }
      .PC .btn-01 > a:hover .ico svg, .PC .btn-01 > span:hover .ico svg, .PC .btn-01 > input:hover .ico svg {
        fill: #fff; }

/*
# リストスタイル .ulBasic01

ここにコメントとか説明入れたりすると便利！

標準の箇条書きリストスタイル`.ulBasic01`

```
<ul class="ulBasic01">
  <li>箇条書きリスト</li>
  <li>箇条書きリスト</li>
  <li>箇条書きリスト</li>
</ul>
```
*/
.ulBasic01 li {
  padding-left: 15px;
  position: relative; }
  .ulBasic01 li:before {
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    background-color: #999;
    position: absolute;
    top: 7px;
    left: 2px;
    border-radius: 100%; }

/*
# リストスタイル .ulList01

「/」で区切る並列リスト`.ulList01`

```
<ul class="ulList01">
  <li>箇条書きリスト</li>
  <li>箇条書きリスト</li>
  <li>箇条書きリスト</li>
</ul>
```
*/
.ulList01 {
  text-align: center; }
  .ulList01.left {
    text-align: left; }
  .ulList01 li {
    white-space: nowrap;
    display: inline-block;
    padding: 5px 10px 0 0; }
    @media only screen and (max-width: 480px) {
      .ulList01 li {
        white-space: normal;
        padding: 10px 0 0;
        display: block; } }
    .ulList01 li:after {
      content: '/';
      padding-left: 10px; }
      @media only screen and (max-width: 480px) {
        .ulList01 li:after {
          display: none; } }
    .ulList01 li:last-child:after {
      display: none; }

.ulCaution01 {
  padding-left: 1em; }
  .ulCaution01.small {
    font-size: 14px;
    font-size: 1.4rem; }
  .ulCaution01 li {
    text-align: left;
    text-indent: -1em; }

/*////////////////////////////////////////////////////

  汎用リスト

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  ol li
------------------------------------------------ */
.olBasic01 li {
  list-style: decimal;
  margin-left: 2em; }

/*////////////////////////////////////////////////////

  汎用リスト

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  記述リスト dl dt dd
------------------------------------------------ */
.dlBasic01 dt, .dlBasic01 dd {
  padding: 10px 0; }
  .dlBasic01 dt:first-child, .dlBasic01 dt:nth-child(2), .dlBasic01 dd:first-child, .dlBasic01 dd:nth-child(2) {
    padding-top: 0; }
  .dlBasic01 dt:last-child, .dlBasic01 dt:nth-last-child(2), .dlBasic01 dd:last-child, .dlBasic01 dd:nth-last-child(2) {
    padding-bottom: 0; }
.dlBasic01 dt {
  clear: both;
  float: left;
  width: 140px;
  line-height: 1.4;
  font-size: 26px;
  font-size: 2.6rem;
  color: #999; }
  @media only screen and (max-width: 480px) {
    .dlBasic01 dt {
      float: none;
      width: auto; } }
.dlBasic01 dd {
  margin-left: 140px;
  padding-left: 10px;
  position: relative; }
  @media only screen and (max-width: 480px) {
    .dlBasic01 dd {
      margin-left: 0;
      padding-left: 2rem; } }
  .dlBasic01 dd:before {
    border-width: 3px 0 3px 4px;
    border-color: transparent transparent transparent #434343;
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    position: absolute;
    top: 18px;
    left: 0; }
    @media only screen and (max-width: 480px) {
      .dlBasic01 dd:before {
        left: 10px; } }
  .dlBasic01 dd:nth-child(2):before {
    top: 8px; }

.dlInquiry01 {
  display: table;
  width: 100%;
  border: 1px solid #333;
  background-color: #000; }
  @media only screen and (max-width: 767px) {
    .dlInquiry01 {
      display: block; } }
  .dlInquiry01 > dt, .dlInquiry01 > dd {
    display: table-cell;
    vertical-align: middle;
    padding: 10px;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .dlInquiry01 > dt, .dlInquiry01 > dd {
        display: block; } }
  .dlInquiry01 > dd {
    border-left: 1px solid #333; }
    @media only screen and (max-width: 767px) {
      .dlInquiry01 > dd {
        border-left: none; } }

/*////////////////////////////////////////////////////

  汎用テーブル
    ※入れ子にした際に孫のテーブルにスタイルが引き継がれないよう、
    　　&>を使用したスタイル設定を推奨

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  テーブル
------------------------------------------------ */
/*ベーシックなテーブルスタイル*/
.table-cmn-01 {
  width: 100%;
  border: 1px solid rgba(214, 67, 41, 0.1);
  background-color: #fff; }
  .group .table-cmn-01 {
    border-color: #eee; }
  .table-cmn-01 > tbody > tr > th, .table-cmn-01 > tbody > tr > td, .table-cmn-01 > tr > th, .table-cmn-01 > tr > td {
    padding: 20px;
    vertical-align: middle; }
  .table-cmn-01 > tbody > tr > th, .table-cmn-01 > tr > th {
    width: 25%;
    font-weight: normal;
    color: #000;
    background-image: linear-gradient(to right, #fff, #fff 1px, rgba(214, 67, 41, 0.1) 1px, rgba(214, 67, 41, 0.1) 1px);
    background-size: 2px 1px; }
    .group .table-cmn-01 > tbody > tr > th, .group .table-cmn-01 > tr > th {
      background-image: linear-gradient(to right, #fff, #fff 1px, #eee 1px, #eee 1px); }
    @media only screen and (min-width: 1024px) {
      .table-cmn-01 > tbody > tr > th, .table-cmn-01 > tr > th {
        width: auto; } }
  .table-cmn-01 > tbody > tr:nth-child(n+2) > th, .table-cmn-01 > tr:nth-child(n+2) > th {
    border-top: 2px solid #fff; }
  .table-cmn-01 > tbody > tr:nth-child(n+2) > td, .table-cmn-01 > tr:nth-child(n+2) > td {
    border-top: 1px solid rgba(214, 67, 41, 0.1); }
    .group .table-cmn-01 > tbody > tr:nth-child(n+2) > td, .group .table-cmn-01 > tr:nth-child(n+2) > td {
      border-color: #eee; }

.table-cmn-02 > tbody > tr > th, .table-cmn-02 > tbody > tr > td, .table-cmn-02 > tr > th, .table-cmn-02 > tr > td {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  color: #560d00;
  vertical-align: middle;
  padding: 5px 20px;
  border-bottom: 1px solid rgba(214, 67, 41, 0.4); }
.table-cmn-02 > tbody > tr > th, .table-cmn-02 > tr > th {
  text-align: left;
  font-weight: normal;
  border-right: 1px dotted rgba(214, 67, 41, 0.1); }
.table-cmn-02 > tbody > tr > td, .table-cmn-02 > tr > td {
  text-align: center; }
.table-cmn-02 > tbody > tr:first-child > th, .table-cmn-02 > tbody > tr:first-child > td, .table-cmn-02 > tr:first-child > th, .table-cmn-02 > tr:first-child > td {
  border-top: 1px solid rgba(214, 67, 41, 0.4); }

/*////////////////////////////////////////////////////

  その他の汎用スタイル

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  デバイスごとの表示切り分け
  例： <br class="pc">
------------------------------------------------ */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important; } }
@media print {
  .sp {
    display: none !important; } }

@media only screen and (min-width: 1024px) {
  .no-pc {
    display: none !important; } }
@media print {
  .no-pc {
    display: none !important; } }

@media only screen and (max-width: 1023px) {
  .pc-only {
    display: none !important; } }

/* ------------------------------------------------
  スペース
------------------------------------------------ */
.space01 {
  clear: both;
  height: 60px; }

.space02 {
  clear: both;
  height: 20px; }

/* ------------------------------------------------
  アイコン
------------------------------------------------ */
/* svg アイコン */
.ico {
  position: relative; }
  .ico-mail {
    width: 14px;
    height: 12px; }
  .ico-out {
    width: 11px;
    height: 12px; }
  .ico-job {
    width: 15px;
    height: 15px; }
  .ico-pdf {
    position: relative; }
    .ico-pdf:after {
      content: 'PDF';
      display: inline-block;
      color: #fff;
      background-color: #d64329;
      background-color: #d64329;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1;
      letter-spacing: .1em;
      padding: 3px;
      margin-left: 1em; }
  .ico-gr {
    width: 33px;
    height: 21px; }

.ico-mail,
.ico-out,
.ico-job {
  position: absolute;
  margin-left: 10px;
  bottom: .4rem; }

.logo-fb, .logo-twitter, .logo-line {
  width: 30px;
  height: 30px;
  fill: #fff;
  -webkit-transition: all 0.25s linear;
  -moz-transition: all 0.25s linear;
  -ms-transition: all 0.25s linear;
  -o-transition: all 0.25s linear;
  transition: all 0.25s linear; }
  .PC .logo-fb:hover,
  .PC .logo-twitter:hover,
  .PC .logo-line:hover {
    fill: #434343; }

/* 各アイコン共通設定 */
.ico-square-01, .ico-square-02 {
  padding-left: 1em;
  position: relative; }
  .ico-square-01:before, .ico-square-02:before {
    content: '';
    display: block;
    width: .5em;
    height: .5em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0; }

.ico-circle-01, .ico-circle-02 {
  padding-left: 1.5em;
  position: relative; }
  .ico-circle-01:before, .ico-circle-02:before {
    content: '';
    display: block;
    width: 1em;
    height: 1em;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0; }

/* 各アイコンバリエーション設定 */
.ico-square-01:before {
  background-color: red; }
.ico-square-02:before {
  background-color: green; }
.ico-circle-01:before {
  background-color: orange; }
.ico-circle-02:before {
  background-color: blue; }

/* ------------------------------------------------
  囲み枠
------------------------------------------------ */
.box-cmn-style-01 {
  background-color: #eee;
  padding: 40px;
  margin-top: 30px; }
  .box-cmn-style-01.style-01 {
    padding: 30px;
    text-align: center; }

/* ------------------------------------------------
  画像スタイル
------------------------------------------------ */
/* ------------------------------------------------
  タブ
------------------------------------------------ */
/*////////////////////////////////////////////////////

  ページごとの個別スタイル
  ※サイト規模によってはさらにファイルを分けること

////////////////////////////////////////////////////*/
/* ------------------------------------------------
  トップページここから
------------------------------------------------ */
@-webkit-keyframes load {
  0% {
    opacity: 0; }
  20% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-moz-keyframes load {
  0% {
    opacity: 0; }
  20% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-o-keyframes load {
  0% {
    opacity: 0; }
  20% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes load {
  0% {
    opacity: 0; }
  20% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.img-hero-top {
  -webkit-animation: load 4s 0s ease forwards;
  -moz-animation: load 4s 0s ease forwards;
  -o-animation: load 4s 0s ease forwards;
  animation: load 4s 0s ease forwards;
  width: 100%;
  height: 75vw;
  background: url("../../top/img/img_mv_01.jpg") top right no-repeat;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1; }
  @media only screen and (max-width: 767px) {
    .img-hero-top {
      top: 120px;
      position: absolute; } }
  @media only screen and (min-width: 768px) {
    .img-hero-top {
      background-position: 50% 50%; } }
  @media only screen and (min-width: 1024px) {
    .img-hero-top {
      height: 100vh; } }
  @media only screen and (min-width: 1600px) {
    .img-hero-top {
      margin-left: 10%;
      width: 90%; } }
  .img-hero-top img {
    width: 100%;
    height: auto; }
  @media print {
    .img-hero-top {
      position: absolute; } }

.hero-top {
  position: relative;
  z-index: 4;
  width: 100%;
  height: 100vw; }
  @media only screen and (max-width: 767px) {
    .hero-top {
      overflow: hidden; } }
  @media only screen and (max-width: 767px) and (orientation: landscape) {
    .hero-top {
      height: 100vh; } }
  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    .hero-top {
      height: 75vw; } }
  @media only screen and (min-width: 1024px) {
    .hero-top {
      height: 100vh; } }
  @media (min-width: 1024px) and (max-height: 900px) and (max-width: 1600px) {
    .hero-top {
      overflow: hidden; } }
  @media print {
    .hero-top {
      height: 500px; } }

.logo-main {
  opacity: 0;
  -webkit-animation: load 1s 1s cubic-bezier(0.95, 0.05, 0.795, 0.035) forwards;
  -moz-animation: load 1s 1s cubic-bezier(0.95, 0.05, 0.795, 0.035) forwards;
  -o-animation: load 1s 1s cubic-bezier(0.95, 0.05, 0.795, 0.035) forwards;
  animation: load 1s 1s cubic-bezier(0.95, 0.05, 0.795, 0.035) forwards;
  width: 40%;
  text-align: center;
  position: absolute;
  top: 45%;
  left: -3%;
  transform: translateY(-50%) scale(0.9); }
  .logo-main.group {
    top: 50%;
    left: 1%;
    width: 300px;
    height: 180px;
    text-align: left; }
  @media only screen and (max-width: 767px) {
    .logo-main {
      width: 100%; } }
  @media only screen and (min-width: 1024px) {
    .logo-main {
      transform: translateY(-50%);
      width: 35%;
      left: 0; }
      .logo-main.group {
        width: 300px;
        left: 5%; } }
  @media only screen and (min-width: 1280px) and (max-width: 1599px) {
    .logo-main {
      transform: translateY(-50%) scale(1.2);
      width: 30%;
      left: 1%; }
      .logo-main.group {
        width: 300px;
        left: 8%; } }
  @media only screen and (min-width: 1600px) {
    .logo-main {
      width: 20%;
      left: 3%;
      transform: translateY(-50%) scale(1.3); }
      .logo-main.group {
        width: 300px; } }
  .logo-main .jma {
    position: absolute;
    top: 0;
    left: 0; }
  .logo-main .group {
    position: absolute;
    top: 133px;
    left: 19px; }
  .logo-main .letter {
    display: block;
    padding: 2px 0;
    overflow: hidden;
    float: left;
    color: #d74429; }
    .logo-main .letter#j {
      width: 39px;
      height: 132px; }
    .logo-main .letter#m {
      width: 128px;
      height: 98px;
      margin-left: 28px; }
    .logo-main .letter#a {
      width: 96px;
      height: 98px;
      margin-left: 9px; }
    .logo-main .letter#g {
      width: 30px;
      height: 33px; }
    .logo-main .letter#r {
      width: 32px;
      height: 32px;
      margin-left: 32px; }
    .logo-main .letter#o {
      width: 32px;
      height: 33px;
      margin-left: 25px; }
    .logo-main .letter#u {
      width: 31px;
      height: 33px;
      margin-left: 29px; }
    .logo-main .letter#p {
      width: 21px;
      height: 33px;
      margin-left: 34px; }
    .logo-main .letter img {
      display: block;
      width: 100%;
      height: auto; }
  .logo-main .symbol {
    display: inline-block;
    width: 40%; }
  .logo-main .type {
    display: inline-block;
    width: 80%;
    margin-top: 30px; }
    .logo-main .type.jma-type {
      margin-top: 10px; }
  .logo-main .txt {
    display: inline-block;
    margin-top: 20px;
    font-family: "a-otf-ryumin-pr6n", serif;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2; }
  .logo-main.on-js img {
    -webkit-transition: all ease 2s;
    -moz-transition: all ease 2s;
    -ms-transition: all ease 2s;
    -o-transition: all ease 2s;
    transition: all ease 2s; }
  .logo-main.on-js .jma .letter:nth-child(1) img {
    opacity: 0;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -ms-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s; }
  .logo-main.on-js .jma .letter:nth-child(2) img {
    opacity: 0;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
    -ms-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.2s; }
  .logo-main.on-js .jma .letter:nth-child(3) img {
    opacity: 0;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
    -ms-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0.4s; }
  .logo-main.on-js .group .letter:nth-child(1) img {
    opacity: 0;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1s;
    -ms-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1s;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1s; }
  .logo-main.on-js .group .letter:nth-child(2) img {
    opacity: 0;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.2s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.2s;
    -ms-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.2s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.2s;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.2s; }
  .logo-main.on-js .group .letter:nth-child(3) img {
    opacity: 0;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.4s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.4s;
    -ms-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.4s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.4s;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.4s; }
  .logo-main.on-js .group .letter:nth-child(4) img {
    opacity: 0;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.6s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.6s;
    -ms-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.6s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.6s;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.6s; }
  .logo-main.on-js .group .letter:nth-child(5) img {
    opacity: 0;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.8s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.8s;
    -ms-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.8s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.8s;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 1.8s; }
  .logo-main.on-js .group .letter:nth-child(6) img {
    opacity: 0;
    -webkit-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 2s;
    -moz-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 2s;
    -ms-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 2s;
    -o-transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 2s;
    transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 2s; }
  .logo-main.on-js .letter img {
    opacity: 1 !important;
    transform: translateX(0%) !important; }
  @media only screen and (max-width: 767px) {
    .logo-main {
      top: 30px;
      left: 50%;
      width: 120%;
      transform-origin: top center;
      transform: translateX(-50%) scale(0.4); }
      .logo-main.jma-logo {
        top: 20px; }
      .logo-main.group {
        top: 50px;
        left: 50%; } }

.logo-bg {
  margin-left: -5%;
  width: 60%;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0; }
  .logo-bg img {
    width: 100%;
    height: auto; }
  .logo-bg svg {
    position: absolute;
    top: 0;
    left: 0; }
  @media only screen and (max-width: 767px) {
    .logo-bg {
      left: 0;
      top: -5%;
      margin: 0;
      width: 100%; } }
  @media only screen and (max-width: 374px) {
    .logo-bg {
      top: 0; } }
  @media only screen and (max-width: 767px) and (orientation: landscape) {
    .logo-bg {
      top: -35vh; } }
  @media only screen and (min-width: 1024px) {
    .logo-bg {
      min-width: 750px; } }
  @media only screen and (min-width: 1600px) {
    .logo-bg {
      width: 50%; } }

.mod-keyvisual {
  -webkit-animation: keyvisual 3s 0s ease-out forwards;
  -moz-animation: keyvisual 3s 0s ease-out forwards;
  -o-animation: keyvisual 3s 0s ease-out forwards;
  animation: keyvisual 3s 0s ease-out forwards;
  width: 100%;
  height: 43px;
  position: absolute;
  overflow: hidden;
  bottom: 10px; }
  .mod-keyvisual img {
    width: 100%;
    height: 43px; }
  .mod-keyvisual svg {
    position: absolute;
    bottom: 0; }

@-webkit-keyframes keyvisual {
  0% {
    opacity: 0;
    bottom: -100%; }
  50% {
    opacity: .2;
    bottom: 10px; }
  100% {
    opacity: 1;
    bottom: 10px; } }
@-moz-keyframes keyvisual {
  0% {
    opacity: 0;
    bottom: -100%; }
  50% {
    opacity: .2;
    bottom: 10px; }
  100% {
    opacity: 1;
    bottom: 10px; } }
@-o-keyframes keyvisual {
  0% {
    opacity: 0;
    bottom: -100%; }
  50% {
    opacity: .2;
    bottom: 10px; }
  100% {
    opacity: 1;
    bottom: 10px; } }
@keyframes keyvisual {
  0% {
    opacity: 0;
    bottom: -100%; }
  50% {
    opacity: .2;
    bottom: 10px; }
  100% {
    opacity: 1;
    bottom: 10px; } }
/* for IE10 & 11 */
.area-top-contents-01 {
  padding-top: 140px;
  padding-bottom: 220px;
  position: relative;
  overflow: hidden;
  z-index: 3; }
  .area-top-contents-01.group {
    padding-top: 80px; }
  @media only screen and (max-width: 767px) {
    .area-top-contents-01 {
      padding-top: 40px;
      padding-bottom: 80px;
      -webkit-animation: load 4s 0s ease forwards;
      -moz-animation: load 4s 0s ease forwards;
      -o-animation: load 4s 0s ease forwards;
      animation: load 4s 0s ease forwards; } }
  .area-top-contents-01 .txt-lead {
    font-size: 20px;
    font-size: 2rem;
    text-align: center;
    font-weight: bold;
    letter-spacing: .1em;
    margin-bottom: 80px;
    -webkit-text-shadow: 0px 2px 4px rgba(255, 255, 255, 0.6);
    -moz-text-shadow: 0px 2px 4px rgba(255, 255, 255, 0.6);
    text-shadow: 0px 2px 4px rgba(255, 255, 255, 0.6); }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      .area-top-contents-01 .txt-lead {
        width: 75%;
        margin: 0 auto 40px; } }
    @media only screen and (max-width: 767px) {
      .area-top-contents-01 .txt-lead {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 40px; }
        .area-top-contents-01 .txt-lead.effect-fadeIn.on-js {
          opacity: 1; } }
    @media print {
      .area-top-contents-01 .txt-lead {
        padding: 0 100px; } }
  @media only screen and (max-width: 767px) {
    .area-top-contents-01 .ttl-top-01.effect-fadeIn.on-js {
      opacity: 1; } }
  .area-top-contents-01:before {
    content: '';
    display: block;
    width: 120%;
    height: 100%;
    background: url("../../top/img/bg_news.jpg") center center no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    right: -10%;
    z-index: -1;
    border-bottom-left-radius: 1860px 300px;
    -webkit-box-shadow: inset 0 -5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: inset 0 -5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: inset 0 -5px 10px rgba(0, 0, 0, 0.2);
    -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    /* for IE10 & 11 */
    /* for Microsoft Edge */ }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .area-top-contents-01:before {
        transform: none;
        border-bottom-left-radius: 1860px 300px; } }
    @supports (-ms-ime-align: auto) {
      .area-top-contents-01:before {
        transform: none;
        border-bottom-left-radius: 1860px 300px; } }

.mod-news {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-justify-content: center;
  -moz-justify-content: center;
  -webkit-justify-content: center;
  justify-content: center; }
  @media only screen and (max-width: 767px) {
    .mod-news {
      display: block; } }
  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    .mod-news {
      width: 90%;
      max-width: 800px;
      margin: 0 auto; } }
  .mod-news .list-item-01 {
    margin: 20px 1% 2%;
    width: 18%;
    max-width: 200px;
    height: 200px;
    background-color: #fff;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      .mod-news .list-item-01 {
        margin: 0 5%;
        width: 90%;
        max-width: 100%;
        height: 140px; }
        .mod-news .list-item-01:nth-child(1) {
          z-index: 5; }
        .mod-news .list-item-01:nth-child(2) {
          z-index: 4; }
        .mod-news .list-item-01:nth-child(3) {
          z-index: 3; }
        .mod-news .list-item-01:nth-child(4) {
          z-index: 2; }
        .mod-news .list-item-01:nth-child(5) {
          z-index: 1; } }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      .mod-news .list-item-01 {
        width: 200px; } }
    @media only screen and (min-width: 1600px) {
      .mod-news .list-item-01 {
        margin: 20px 15px 30px; } }
    @media print {
      .mod-news .list-item-01 {
        width: 200px; } }
    .mod-news .list-item-01:before, .mod-news .list-item-01:after {
      display: block;
      width: 100px;
      position: absolute;
      bottom: 130px;
      left: 0;
      -webkit-transform-origin: left bottom;
      -ms-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
      @media only screen and (max-width: 767px) {
        .mod-news .list-item-01:before, .mod-news .list-item-01:after {
          bottom: 70px; } }
    .mod-news .list-item-01:before {
      content: '';
      height: 80px;
      background-color: #eee; }
    .mod-news .list-item-01:after {
      height: 1em;
      line-height: 1em;
      padding-top: .1em;
      text-align: center;
      color: #fff;
      font-size: 10px;
      font-size: 1rem;
      font-family: "trajan-pro-3", serif; }
    .mod-news .list-item-01 .list-item-in {
      display: block;
      width: 100%;
      height: 100%;
      position: relative; }
    .mod-news .list-item-01 .category {
      font-size: 10px;
      font-size: 1rem;
      color: #000;
      font-weight: normal;
      line-height: 1;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: 20px; }
      .mod-news .list-item-01 .category:before, .mod-news .list-item-01 .category:after {
        content: '';
        display: block;
        width: 40px;
        height: 2px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: -10px; }
      .mod-news .list-item-01 .category:after {
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -ms-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease;
        width: 0; }
      @media only screen and (max-width: 767px) {
        .mod-news .list-item-01 .category {
          top: 10px; } }
    .mod-news .list-item-01 .body {
      display: table;
      width: 100%;
      height: 100%;
      padding: 30px 20px 20px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box; }
      .mod-news .list-item-01 .body .body-in {
        display: table-cell;
        vertical-align: middle;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5;
        color: #434343; }
      @media only screen and (max-width: 767px) {
        .mod-news .list-item-01 .body {
          padding: 0 15%;
          padding-top: 45px;
          padding-bottom: 35px; } }
    .mod-news .list-item-01 .date {
      font-size: 10px;
      font-size: 1rem;
      color: #999;
      line-height: 1;
      letter-spacing: .1em;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 8px; }
    .mod-news .list-item-01.info:after {
      content: 'Information';
      background-color: #999; }
    .mod-news .list-item-01.info .category {
      letter-spacing: .1em; }
      .mod-news .list-item-01.info .category:before {
        background-image: linear-gradient(to right, #999, #999 2px, transparent 2px, transparent 2px);
        background-size: 4px 2px;
        background-position: top;
        background-repeat: repeat-x; }
    .mod-news .list-item-01.press:after {
      content: 'Press Release';
      background-color: #560d00; }
    .mod-news .list-item-01.press .category:before {
      background-color: #560d00; }
    .mod-news .list-item-01 a.list-item-in:after {
      content: '';
      display: block;
      width: 100px;
      height: 100px;
      background-color: #d64329;
      position: absolute;
      left: 180px;
      bottom: 0;
      -webkit-transform-origin: left bottom;
      -ms-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
      @media only screen and (max-width: 767px) {
        .mod-news .list-item-01 a.list-item-in:after {
          left: auto;
          right: -70px; } }
    .PC .mod-news .list-item-01 a:hover .body-in {
      color: #560d00; }
    .PC .mod-news .list-item-01 a:hover .category:before {
      width: 0; }
    .PC .mod-news .list-item-01 a:hover .category:after {
      width: 40px;
      background-color: #d64329; }
    .PC .mod-news .list-item-01 a:hover:after {
      left: 140px; }
  .mod-news.effect.on-js .list-item-01 {
    opacity: 0;
    transform: translateY(30px); }
    .mod-news.effect.on-js .list-item-01:nth-child(1) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s; }
    .mod-news.effect.on-js .list-item-01:nth-child(2) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.1s; }
    .mod-news.effect.on-js .list-item-01:nth-child(3) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s; }
    .mod-news.effect.on-js .list-item-01:nth-child(4) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.3s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.3s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.3s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.3s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.3s; }
    .mod-news.effect.on-js .list-item-01:nth-child(5) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s; }
  .mod-news.effect.on-js.is-active .list-item-01 {
    opacity: 1;
    transform: translateY(0px); }

.area-top-contents-02 {
  margin-top: -200px;
  padding-top: 230px;
  padding-bottom: 210px;
  position: relative;
  overflow: hidden;
  z-index: 2;
  background-color: #fff; }
  @media only screen and (max-width: 767px) {
    .area-top-contents-02 {
      padding-bottom: 100px; } }
  .area-top-contents-02:before {
    content: '';
    display: block;
    width: 120%;
    height: 100%;
    position: absolute;
    top: -20px;
    left: -10%;
    border-bottom-right-radius: 1860px 300px;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    /* for IE10 & 11 */
    /* for Microsoft Edge */ }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .area-top-contents-02:before {
        transform: none;
        border-bottom-right-radius: 1860px 300px; } }
    @supports (-ms-ime-align: auto) {
      .area-top-contents-02:before {
        transform: none;
        border-bottom-right-radius: 1860px 300px; } }
  .area-top-contents-02.group:before {
    background-image: linear-gradient(to right, #fff, #fff 1px, #eee 1px, #eee 1px);
    background-size: 2px 1px; }
  .area-top-contents-02:after {
    content: '';
    display: block;
    width: 924px;
    height: 1253px;
    background: url("../../top/img/img_bg_logo_02.png") 0 0 no-repeat;
    position: absolute;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1; }
  .area-top-contents-02.effect-end.on-js.is-active:after {
    -webkit-transition: all linear 10s;
    -moz-transition: all linear 10s;
    -ms-transition: all linear 10s;
    -o-transition: all linear 10s;
    transition: all linear 10s;
    right: -100px; }

/* nav-top-01 ttl animation */
@-webkit-keyframes link-txt-01 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 11em;
    opacity: 1; } }
@-moz-keyframes link-txt-01 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 11em;
    opacity: 1; } }
@-o-keyframes link-txt-01 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 11em;
    opacity: 1; } }
@keyframes link-txt-01 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 11em;
    opacity: 1; } }
@-webkit-keyframes link-txt-02 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 4em;
    opacity: 1; } }
@-moz-keyframes link-txt-02 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 4em;
    opacity: 1; } }
@-o-keyframes link-txt-02 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 4em;
    opacity: 1; } }
@keyframes link-txt-02 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 4em;
    opacity: 1; } }
@-webkit-keyframes link-txt-03 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 6em;
    opacity: 1; } }
@-moz-keyframes link-txt-03 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 6em;
    opacity: 1; } }
@-o-keyframes link-txt-03 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 6em;
    opacity: 1; } }
@keyframes link-txt-03 {
  0% {
    width: 0em;
    opacity: 0; }
  100% {
    width: 6em;
    opacity: 1; } }
.nav-top-01 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 767px) {
    .nav-top-01 {
      display: block; } }
  .nav-top-01 .list-item-01 {
    width: 33.3333333333%;
    height: 70vh;
    max-height: 700px; }
    .nav-top-01 .list-item-01:nth-child(1) {
      margin-top: 0px; }
    .nav-top-01 .list-item-01:nth-child(2) {
      margin-top: 50px; }
    .nav-top-01 .list-item-01:nth-child(3) {
      margin-top: 100px; }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .list-item-01 {
        width: 50%;
        height: 300px; } }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      .nav-top-01 .list-item-01 {
        max-height: 500px; } }
    @media only screen and (min-width: 768px) {
      .nav-top-01 .list-item-01 {
        min-height: 600px; } }
    @media print {
      .nav-top-01 .list-item-01 {
        width: 33.3333333333% !important; } }
    .nav-top-01 .list-item-01:nth-child(1) .list-item-in:after {
      background-image: url("../../top/img/bg_top_about.jpg"); }
    .nav-top-01 .list-item-01:nth-child(2) .list-item-in:after {
      background-image: url("../../top/img/bg_top_facility.jpg"); }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .list-item-01:nth-child(2) {
        left: 50%; }
        .nav-top-01 .list-item-01:nth-child(2) .body {
          padding: 15% 15% 15% 10%;
          left: -95%;
          top: -40px; }
        .nav-top-01 .list-item-01:nth-child(2) .ico-arr-01 {
          left: -45%;
          bottom: 80px; } }
    .nav-top-01 .list-item-01:nth-child(3) .list-item-in:after {
      background-image: url("../../top/img/bg_top_press.jpg"); }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .list-item-01:nth-child(3) .body {
        top: -40px; }
      .nav-top-01 .list-item-01:nth-child(3) .ico-arr-01 {
        bottom: 80px; } }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .list-item-01:nth-child(n+1) {
        margin-top: 0; } }
  .nav-top-01 .list-item-in {
    display: block;
    width: 100%;
    height: 100%;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden; }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .list-item-in {
        overflow: visible; } }
    .nav-top-01 .list-item-in:after {
      content: '';
      display: block;
      width: 102%;
      height: 102%;
      background-position: inherit;
      background-repeat: inherit;
      background-size: inherit;
      position: absolute;
      top: -1%;
      left: -1%;
      bottom: -1%;
      right: -1%;
      z-index: 0;
      -webkit-transition: all 1s ease;
      -moz-transition: all 1s ease;
      -ms-transition: all 1s ease;
      -o-transition: all 1s ease;
      transition: all 1s ease; }
      @media only screen and (max-width: 767px) {
        .nav-top-01 .list-item-in:after {
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          bottom: 0;
          right: 0; } }
  .nav-top-01 .btn-link-01:before, .nav-top-01 .btn-link-01:after {
    content: '';
    display: table;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    background-clip: padding-box;
    background-color: #fff;
    border: 10px solid rgba(255, 255, 255, 0.4);
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    z-index: 1; }
  .nav-top-01 .btn-link-01:before {
    /*width: 0;*/
    width: 100%;
    opacity: 0;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    position: absolute;
    top: 0;
    left: -20px;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -ms-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s; }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .btn-link-01:before {
        display: none; } }
  .nav-top-01 .btn-link-01:after {
    width: 260px;
    height: 260px;
    border-radius: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transition: opacity 1s ease 0.1s;
    -moz-transition: opacity 1s ease 0.1s;
    -ms-transition: opacity 1s ease 0.1s;
    -o-transition: opacity 1s ease 0.1s;
    transition: opacity 1s ease 0.1s;
    -webkit-transition: width 0.5s ease 0s;
    -moz-transition: width 0.5s ease 0s;
    -ms-transition: width 0.5s ease 0s;
    -o-transition: width 0.5s ease 0s;
    transition: width 0.5s ease 0s;
    -webkit-transition: height 0.5s ease 0s;
    -moz-transition: height 0.5s ease 0s;
    -ms-transition: height 0.5s ease 0s;
    -o-transition: height 0.5s ease 0s;
    transition: height 0.5s ease 0s;
    transition: height .5s ease 0s, width .5s ease 0s, opacity 1s ease 0.1s; }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      .nav-top-01 .btn-link-01:after {
        width: 240px;
        height: 240px; } }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .btn-link-01:after {
        width: 170px;
        height: 170px;
        border-width: 5px; } }
  .nav-top-01 .btn-link-01 .btn-link-in {
    width: 80%;
    font-size: 24px;
    font-size: 2.4rem;
    font-family: "a-otf-ryumin-pr6n", serif;
    font-weight: normal;
    color: #000;
    text-align: center;
    line-height: 1.3;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .btn-link-01 .btn-link-in {
        font-size: 18px;
        font-size: 1.8rem; } }
  .nav-top-01 .btn-link-01 .body {
    opacity: 0;
    width: 80%;
    overflow: hidden;
    font-size: 16px;
    font-size: 1.6rem;
    color: #333;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2; }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .btn-link-01 .body {
        opacity: 1;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 300px;
        padding: 15% 10% 15% 15%;
        -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
        background-color: #fff;
        font-size: 12px;
        font-size: 1.2rem;
        transform: none;
        top: 40px;
        left: auto;
        right: -95%;
        z-index: -1; } }
  .nav-top-01 .btn-link-01 .ico-arr-01 {
    width: 20px;
    height: 12px;
    fill: #999;
    position: absolute;
    left: 50%;
    top: 63%;
    z-index: 2;
    transform: rotate(180deg) translateX(50%);
    filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.3));
    -webkit-transition: all 0.5s ease 0.25s;
    -moz-transition: all 0.5s ease 0.25s;
    -ms-transition: all 0.5s ease 0.25s;
    -o-transition: all 0.5s ease 0.25s;
    transition: all 0.5s ease 0.25s; }
    @media only screen and (max-width: 767px) {
      .nav-top-01 .btn-link-01 .ico-arr-01 {
        left: 145%;
        top: auto;
        bottom: -10px; } }
  .PC .nav-top-01 a:hover:after {
    filter: blur(5px); }
  .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in {
    top: 25%;
    height: 1.5em;
    text-align: left; }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in {
        top: 25%; } }
    @media only screen and (min-width: 1280px) and (max-width: 1599px) {
      .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in {
        top: 30%; } }
    @media only screen and (min-width: 1600px) {
      .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in {
        top: 35%; } }
    .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in .ttl-link {
      opacity: 0;
      width: 0em;
      height: 1.5em;
      overflow: hidden;
      position: absolute; }
    .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in .ttl-link-in {
      position: absolute; }
    .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in.txt-01 {
      width: 11em; }
      .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in.txt-01 .ttl-link {
        -webkit-animation: link-txt-01 linear 0.5s 0.5s forwards;
        -moz-animation: link-txt-01 linear 0.5s 0.5s forwards;
        -o-animation: link-txt-01 linear 0.5s 0.5s forwards;
        animation: link-txt-01 linear 0.5s 0.5s forwards; }
      .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in.txt-01 .ttl-link-in {
        width: 11em; }
    .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in.txt-02 {
      width: 4em; }
      .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in.txt-02 .ttl-link {
        -webkit-animation: link-txt-02 linear 0.25s 0.5s forwards;
        -moz-animation: link-txt-02 linear 0.25s 0.5s forwards;
        -o-animation: link-txt-02 linear 0.25s 0.5s forwards;
        animation: link-txt-02 linear 0.25s 0.5s forwards; }
      .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in.txt-02 .ttl-link-in {
        width: 4em; }
    .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in.txt-03 {
      width: 6em; }
      .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in.txt-03 .ttl-link {
        -webkit-animation: link-txt-03 linear 0.25s 0.5s forwards;
        -moz-animation: link-txt-03 linear 0.25s 0.5s forwards;
        -o-animation: link-txt-03 linear 0.25s 0.5s forwards;
        animation: link-txt-03 linear 0.25s 0.5s forwards; }
      .PC .nav-top-01 a:hover .btn-link-01 .btn-link-in.txt-03 .ttl-link-in {
        width: 6em; }
  .PC .nav-top-01 a:hover .btn-link-01 .mod-hover {
    display: none; }
  .PC .nav-top-01 a:hover .btn-link-01:before {
    left: 0;
    width: 100%;
    opacity: 1; }
  .PC .nav-top-01 a:hover .btn-link-01:after {
    opacity: 0;
    width: 0;
    height: 0;
    transition: height .5s ease .5s, width .5s ease .5s, opacity .5s ease 0s; }
  .PC .nav-top-01 a:hover .btn-link-01 .body {
    opacity: 1;
    -webkit-transition: all 0.5s ease 0.75s;
    -moz-transition: all 0.5s ease 0.75s;
    -ms-transition: all 0.5s ease 0.75s;
    -o-transition: all 0.5s ease 0.75s;
    transition: all 0.5s ease 0.75s; }
  .PC .nav-top-01 a:hover .btn-link-01 .ico-arr-01 {
    top: 70%;
    fill: #d64329; }
  .nav-top-01.effect.on-js {
    padding-bottom: 50px; }
    .nav-top-01.effect.on-js .list-item-01 {
      position: relative; }
      .nav-top-01.effect.on-js .list-item-01:before {
        content: '';
        display: block;
        /*width: 0;*/
        height: 100%;
        background-color: rgba(86, 13, 0, 0.5);
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        -moz-transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        -ms-transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        -o-transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1); }
        .group .nav-top-01.effect.on-js .list-item-01:before {
          background-color: rgba(102, 102, 102, 0.5); }
      .nav-top-01.effect.on-js .list-item-01:nth-child(n+1) {
        margin-top: 50px;
        transform: translateY(0px);
        -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
        -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
        -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
        -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
        transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s; }
      .nav-top-01.effect.on-js .list-item-01 a {
        -webkit-transition: all 1s linear 1s;
        -moz-transition: all 1s linear 1s;
        -ms-transition: all 1s linear 1s;
        -o-transition: all 1s linear 1s;
        transition: all 1s linear 1s;
        opacity: 0; }
        @media print {
          .nav-top-01.effect.on-js .list-item-01 a {
            opacity: 1 !important; } }
    .nav-top-01.effect.on-js.is-active .list-item-01 {
      width: 33.3333333333%;
      opacity: 1; }
      @media only screen and (max-width: 767px) {
        .nav-top-01.effect.on-js.is-active .list-item-01 {
          width: 50%; } }
      .nav-top-01.effect.on-js.is-active .list-item-01:before {
        width: 100%; }
      .nav-top-01.effect.on-js.is-active .list-item-01:nth-child(1) {
        transform: translateY(-50px); }
      .nav-top-01.effect.on-js.is-active .list-item-01:nth-child(3) {
        transform: translateY(50px); }
      .nav-top-01.effect.on-js.is-active .list-item-01 a {
        opacity: 1; }
      @media only screen and (max-width: 767px) {
        .nav-top-01.effect.on-js.is-active .list-item-01:nth-child(n+1) {
          transform: translateY(0px); }
        .nav-top-01.effect.on-js.is-active .list-item-01:nth-child(2) {
          margin-top: 90px; } }

/*2019/10 スマホの時のみ↑のeffect.on-jsを生かす*/
.nav-top-01 {
  padding-bottom: 50px; }
  @media only screen and (max-width: 767px) {
    .nav-top-01 .list-item-01 {
      position: relative;
      width: 50%;
      opacity: 1; }
      .nav-top-01 .list-item-01:before {
        content: '';
        display: block;
        height: 100%;
        background-color: rgba(86, 13, 0, 0.5);
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        -moz-transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        -ms-transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        -o-transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        transition: all 1.5s cubic-bezier(0.23, 1, 0.32, 1); }
        .group .nav-top-01 .list-item-01:before {
          background-color: rgba(102, 102, 102, 0.5); }
      .nav-top-01 .list-item-01:nth-child(n+1) {
        margin-top: 50px;
        transform: translateY(0px);
        -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
        -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
        -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
        -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
        transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s; }
      .nav-top-01 .list-item-01 a {
        -webkit-transition: all 1s linear 1s;
        -moz-transition: all 1s linear 1s;
        -ms-transition: all 1s linear 1s;
        -o-transition: all 1s linear 1s;
        transition: all 1s linear 1s;
        opacity: 0; }
      .nav-top-01 .list-item-01:before {
        width: 100%; }
      .nav-top-01 .list-item-01:nth-child(1) {
        transform: translateY(-50px); }
      .nav-top-01 .list-item-01:nth-child(3) {
        transform: translateY(50px); }
      .nav-top-01 .list-item-01 a {
        opacity: 1; }
      .nav-top-01 .list-item-01:nth-child(n+1) {
        transform: translateY(0px); }
      .nav-top-01 .list-item-01:nth-child(2) {
        margin-top: 90px; } }

.sec-fb {
  max-width: 870px;
  margin: 0 auto;
  padding-top: 80px;
  position: relative;
  z-index: 2; }
  .sec-fb .ttl-fb-01 {
    color: #3b579d;
    font-size: 20px;
    font-size: 2rem;
    font-weight: normal;
    -webkit-text-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    -moz-text-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    text-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 40px; }
    @media only screen and (max-width: 767px) {
      .sec-fb .ttl-fb-01 {
        transform: translateX(-50%);
        top: 0; } }
    .sec-fb .ttl-fb-01 .ico-out {
      fill: #3b579d;
      filter: drop-shadow(0 3px 1px rgba(0, 0, 0, 0.4));
      bottom: .7rem; }
    .sec-fb .ttl-fb-01:before, .sec-fb .ttl-fb-01:after {
      content: '';
      display: block;
      width: 25px;
      height: 1px;
      background-color: #3b579d;
      position: absolute;
      top: 1em; }
    .sec-fb .ttl-fb-01:before {
      left: -44px; }
    .sec-fb .ttl-fb-01:after {
      right: -70px; }

.mod-fb-feed {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    .mod-fb-feed {
      width: 95%;
      display: block;
      padding-top: 10px;
      margin: 0 auto; } }
  .mod-fb-feed .list-item-01:nth-child(1) {
    margin-top: 0px; }
  .mod-fb-feed .list-item-01:nth-child(2) {
    margin-top: 20px; }
  .mod-fb-feed .list-item-01:nth-child(3) {
    margin-top: 40px; }
  .mod-fb-feed .list-item-01:nth-child(4) {
    margin-top: 60px; }
  .mod-fb-feed .list-item-01:nth-child(5) {
    margin-top: 80px; }
  .mod-fb-feed .list-item-01:nth-child(6) {
    margin-top: 100px; }
  @media only screen and (max-width: 767px) {
    .mod-fb-feed .list-item-01 {
      width: 50%;
      float: left; }
      .mod-fb-feed .list-item-01:nth-child(n+1) {
        margin-top: 0; } }
  .mod-fb-feed .list-item-01 .list-item-in {
    display: block;
    width: 250px;
    height: 350px;
    background-color: #fff;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    position: relative; }
    @media only screen and (max-width: 767px) {
      .mod-fb-feed .list-item-01 .list-item-in {
        width: 100%;
        height: auto; } }
  .mod-fb-feed .list-item-01 .img {
    height: 250px;
    background: url("../img/bg_diagonal_01.jpg") 0 0 repeat; }
    @media only screen and (max-width: 767px) {
      .mod-fb-feed .list-item-01 .img {
        height: 45vw; } }
    .mod-fb-feed .list-item-01 .img .photo {
      display: block;
      width: 100%;
      height: 100%;
      background: url("../../top/img/bg_top_about.jpg") center center no-repeat;
      background-size: auto 250px; }
      @media only screen and (max-width: 767px) {
        .mod-fb-feed .list-item-01 .img .photo {
          background-size: auto 45vw; } }
  .mod-fb-feed .list-item-01 .body {
    padding: 15px 20px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.4;
    color: #666; }
    @media only screen and (max-width: 767px) {
      .mod-fb-feed .list-item-01 .body {
        font-size: 12px;
        font-size: 1.2rem;
        padding: 10px 15px 30px;
        height: 30vw; } }
  .mod-fb-feed .list-item-01 .date {
    font-size: 10px;
    font-size: 1rem;
    color: #999;
    line-height: 1;
    letter-spacing: .1em;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 8px; }
  .mod-fb-feed .list-item-01 a {
    overflow: hidden;
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
    .mod-fb-feed .list-item-01 a:after {
      content: '';
      display: block;
      width: 100px;
      height: 100px;
      background-color: #434343;
      position: absolute;
      left: 230px;
      bottom: 0;
      -webkit-transform-origin: left bottom;
      -ms-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
      @media only screen and (max-width: 767px) {
        .mod-fb-feed .list-item-01 a:after {
          left: 90%; } }
    .PC .mod-fb-feed .list-item-01 a:hover {
      -webkit-transform: scale(1.1, 1.1);
      -moz-transform: scale(1.1, 1.1);
      -ms-transform: scale(1.1, 1.1);
      -o-transform: scale(1.1, 1.1);
      transform: scale(1.1, 1.1); }
      .PC .mod-fb-feed .list-item-01 a:hover:after {
        left: 200px;
        background-color: #3b579d; }
  .mod-fb-feed.effect.on-js .list-item-01 {
    opacity: 0;
    transform: translateY(60px); }
    .mod-fb-feed.effect.on-js .list-item-01:nth-child(1) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s; }
    .mod-fb-feed.effect.on-js .list-item-01:nth-child(2) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.2s; }
    .mod-fb-feed.effect.on-js .list-item-01:nth-child(3) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.4s; }
    .mod-fb-feed.effect.on-js .list-item-01:nth-child(4) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.6s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.6s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.6s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.6s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.6s; }
    .mod-fb-feed.effect.on-js .list-item-01:nth-child(5) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s; }
    .mod-fb-feed.effect.on-js .list-item-01:nth-child(6) {
      -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
      -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
      -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
      -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s;
      transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 1s; }
  .mod-fb-feed.effect.on-js.is-active .list-item-01 {
    opacity: 1;
    transform: translateY(0px); }

.area-top-contents-03 {
  margin-top: -200px;
  padding-top: 230px;
  background-color: #fff;
  background-size: 100%;
  position: relative;
  z-index: 1; }
  @media only screen and (max-width: 767px) {
    .area-top-contents-03 {
      padding-top: 180px; } }
  .area-top-contents-03 .txt-lead {
    text-align: center;
    color: #666;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
    padding: 0 10%; }
    @media only screen and (max-width: 767px) {
      .area-top-contents-03 .txt-lead {
        font-size: 16px;
        font-size: 1.6rem; } }

.sec-group {
  padding: 50px 0; }

.mod-group-wp {
  padding: 50px 0 0; }

.mod-group-01 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .mod-group-01 {
      display: none; } }
  @media only screen and (min-width: 768px) and (max-width: 1023px) {
    .mod-group-01 {
      display: none; } }
  .mod-group-01 .list-item-01,
  .mod-group-01 .box-hover {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    .mod-group-01 .list-item-01.hide,
    .mod-group-01 .box-hover.hide {
      opacity: 0; }
  .mod-group-01 .list-item-01 {
    width: 25%;
    height: 400px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    overflow: hidden; }
    .mod-group-01 .list-item-01.group .type {
      margin-top: 10px; }
    .mod-group-01 .list-item-01.group .list-item-in {
      border-top-color: #d6001c;
      border-bottom-color: #d6001c; }
    .mod-group-01 .list-item-01.group a:after {
      background-color: #d6001c; }
    .mod-group-01 .list-item-01.jma .type {
      margin-top: 10px; }
    .mod-group-01 .list-item-01.jma .list-item-in {
      border-top-color: #d6001c;
      border-bottom-color: #d6001c; }
    .mod-group-01 .list-item-01.jma a:after {
      background-color: #d6001c; }
    .mod-group-01 .list-item-01.sma .list-item-in {
      border-top-color: #0047bb;
      border-bottom-color: #0047bb; }
    .mod-group-01 .list-item-01.sma a:after {
      background-color: #0047bb; }
    .mod-group-01 .list-item-01.carenet .list-item-in {
      border-top-color: #598e1d;
      border-bottom-color: #598e1d; }
    .mod-group-01 .list-item-01.carenet a:after {
      background-color: #598e1d; }
    .mod-group-01 .list-item-01.yuukyuu .list-item-in {
      border-top-color: #DA852B;
      border-bottom-color: #DA852B; }
    .mod-group-01 .list-item-01.yuukyuu a:after {
      background-color: #DA852B; }
    .mod-group-01 .list-item-01:nth-child(4):before, .mod-group-01 .list-item-01:nth-child(4):after {
      content: '';
      display: block;
      width: 2px;
      height: 100%;
      background-color: #eee;
      position: absolute;
      top: 0;
      z-index: 5; }
    .mod-group-01 .list-item-01:nth-child(4):before {
      left: 0px; }
    .mod-group-01 .list-item-01:nth-child(4):after {
      right: 0px; }
  .mod-group-01 .list-item-in {
    display: table;
    width: 100%;
    height: 100%;
    background-color: #fff;
    border-style: solid;
    border-width: 2px 0px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box; }
    .mod-group-01 .list-item-in .box-group {
      display: table-cell;
      vertical-align: middle; }
    .mod-group-01 .list-item-in .symbol {
      text-align: center; }
      .mod-group-01 .list-item-in .symbol.group {
        padding-top: 20px;
        padding-bottom: 40px; }
        .mod-group-01 .list-item-in .symbol.group img{
          width: 30%;
          height: auto; }
    .mod-group-01 .list-item-in .type {
      margin: 20px 40px; }
      .mod-group-01 .yuukyuu .list-item-in .type img{
        width: 100%;
        height: auto;
      }
    .mod-group-01 .list-item-in .body {
      font-size: 14px;
      font-size: 1.4rem;
      color: #666;
      line-height: 2; }
    @media only screen and (min-width: 1024px) {
      .mod-group-01 .list-item-in .type,
      .mod-group-01 .list-item-in .body {
        padding: 0 20%; } }
    @media only screen and (min-width: 1280px) and (max-width: 1599px) {
      .mod-group-01 .list-item-in .type,
      .mod-group-01 .list-item-in .body {
        padding: 0 15%; } }
    @media only screen and (min-width: 1600px) {
      .mod-group-01 .list-item-in .type,
      .mod-group-01 .list-item-in .body {
        padding: 0 25%; } }
  .mod-group-01 a:after {
    content: '';
    display: block;
    width: 100px;
    height: 100px;
    position: absolute;
    right: -70px;
    bottom: 0;
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
  .mod-group-01 .box-hover {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-top: 2px;
    border-bottom: 2px;
    border-style: solid;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
    .mod-group-01 .box-hover:after {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      -webkit-transition: all 25s linear;
      -moz-transition: all 25s linear;
      -ms-transition: all 25s linear;
      -o-transition: all 25s linear;
      transition: all 25s linear; }
    .mod-group-01 .box-hover.is-active:after {
      -webkit-transform: scale(1.1, 1.1);
      -moz-transform: scale(1.1, 1.1);
      -ms-transform: scale(1.1, 1.1);
      -o-transform: scale(1.1, 1.1);
      transform: scale(1.1, 1.1);
      z-index: 1;
      /* for IE10 & 11 */
      /* for Microsoft Edge */ }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .mod-group-01 .box-hover.is-active:after {
          transform: none; } }
      @supports (-ms-ime-align: auto) {
        .mod-group-01 .box-hover.is-active:after {
          transform: none; } }
    .mod-group-01 .box-hover .box-hover-in {
      width: 25%;
      height: 100%;
      position: absolute;
      text-align: center;
      z-index: 2; }
      .mod-group-01 .box-hover .box-hover-in .txt .ico-out {
        bottom: 1rem; }
    .mod-group-01 .box-hover.group-hover {
      border-color: #d6001c; }
      .mod-group-01 .box-hover.group-hover:after {
        background-image: url("../../top/img/bg_top_group.jpg");
        background-position: left center;
        transform-origin: left center; }
      .mod-group-01 .box-hover.group-hover .box-hover-in {
        background-color: rgba(214, 0, 28, 0.8);
        top: 0;
        left: 0; }
      .mod-group-01 .box-hover.group-hover .logo-symbol {
        width: 136px;
        height: 128px; }
      .mod-group-01 .box-hover.group-hover .logo-type {
        margin-top: 10px; }
    .mod-group-01 .box-hover.jma-hover {
      border-color: #d6001c; }
      .mod-group-01 .box-hover.jma-hover:after {
        background-image: url("../../top/img/bg_top_jma.jpg");
        transform-origin: bottom left; }
      .mod-group-01 .box-hover.jma-hover .box-hover-in {
        background-color: rgba(214, 0, 28, 0.8);
        top: 0;
        left: 0; }
      .mod-group-01 .box-hover.jma-hover .logo-symbol {
        width: 136px;
        height: 128px; }
      .mod-group-01 .box-hover.jma-hover .logo-type {
        margin-top: 10px; }
      .mod-group-01 .box-hover.jma-hover.sma:after, .mod-group-01 .box-hover.jma-hover.carenet:after, .mod-group-01 .box-hover.jma-hover.yuukyuu:after {
        transform-origin: center; }
      .mod-group-01 .box-hover.jma-hover.sma .box-hover-in, .mod-group-01 .box-hover.jma-hover.carenet .box-hover-in, .mod-group-01 .box-hover.jma-hover.yuukyuu .box-hover-in {
        left: 25%; }
    .mod-group-01 .box-hover.sma-hover {
      border-color: #0047bb; }
      .mod-group-01 .box-hover.sma-hover:after {
        background-image: url("../../top/img/bg_top_sma.jpg");
        background-position: 50% 60%; }
      .mod-group-01 .box-hover.sma-hover .box-hover-in {
        background-color: rgba(0, 71, 187, 0.8);
        top: 0;
        left: 25%; }
      .mod-group-01 .box-hover.sma-hover .logo-symbol {
        width: 151px;
        height: 99px; }
      .mod-group-01 .box-hover.sma-hover .logo-type {
        margin-top: 20px; }
      .mod-group-01 .box-hover.sma-hover.carenet:after {
        transform-origin: top right; }
      .mod-group-01 .box-hover.sma-hover.carenet .box-hover-in {
        left: 50%; }
    .mod-group-01 .box-hover.carenet-hover {
      border-color: #598e1d; }
      .mod-group-01 .box-hover.carenet-hover:after {
        background-image: url("../../top/img/bg_top_carenet.jpg");
        background-position: 50% 60%;
        transform-origin: top right; }
      .mod-group-01 .box-hover.carenet-hover .box-hover-in {
        background-color: rgba(89, 142, 29, 0.8);
        top: 0;
        left: 50%; }
      .mod-group-01 .box-hover.carenet-hover .logo-symbol {
        width: 136px;
        height: 113px; }
      .mod-group-01 .box-hover.carenet-hover .logo-type {
        margin-top: 20px; }

      .mod-group-01 .box-hover.sma-hover.yuukyuu:after {
        transform-origin: top right; }
      .mod-group-01 .box-hover.sma-hover.yuukyuu .box-hover-in {
        left: 75%; }
    .mod-group-01 .box-hover.yuukyuu-hover {
      border-color: #DA852B; }
      .mod-group-01 .box-hover.yuukyuu-hover:after {
        background-image: url("../../top/img/bg_top_yuukyuu.jpg");
        background-position: 50% 60%;
        transform-origin: top right; }
      .mod-group-01 .box-hover.yuukyuu-hover .box-hover-in {
        background-color: rgba(218, 133, 43, 0.8);
        top: 0;
        left: 75%; }
      .mod-group-01 .box-hover.yuukyuu-hover .logo-type {
        margin-top: 0; }

    .mod-group-01 .box-hover .box-logo {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .mod-group-01 .box-hover .txt {
      color: #fff;
      font-size: 18px;
      font-size: 1.8rem;
      position: absolute;
      bottom: 20px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%); }
    .mod-group-01 .box-hover .logo-type {
      width: 320px;
      height: 45px; }
    .mod-group-01 .box-hover.yuukyuu-hover .logo-type {
      width: 320px;
      height: 130px; }
    .mod-group-01 .box-hover svg {
      fill: #fff; }

@media only screen and (min-width: 1024px) {
  .mod-group-01-sp {
    display: none; } }
@media print {
  .mod-group-01-sp {
    display: none; } }
.mod-group-01-sp .list-item-01-sp {
  width: 100%;
  height: 30vw;
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 70% auto; }
  .mod-group-01-sp .list-item-01-sp .list-item-01-in-sp {
    display: block;
    width: 100%;
    height: 100%;
    position: relative; }
  .mod-group-01-sp .list-item-01-sp .box-logo {
    width: 30%;
    height: 100%;
    position: relative; }
    .mod-group-01-sp .list-item-01-sp .box-logo .txt {
      display: block;
      min-width: 6em;
      color: #fff;
      font-size: 10px;
      font-size: 1rem;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 20px;
      margin-left: -.5em; }
      .mod-group-01-sp .list-item-01-sp .box-logo .txt .ico-out {
        margin-left: 5px;
        bottom: .3rem; }
    .mod-group-01-sp .list-item-01-sp .box-logo .logo-symbol {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 50%;
      height: auto;
      margin-top: -10px; }
      .mod-group-01-sp .list-item-01-sp .box-logo .logo-symbol.group {
        width: 60%; }
    .mod-group-01-sp .list-item-01-sp .box-logo svg {
      fill: #fff; }
  .mod-group-01-sp .list-item-01-sp .box-logo-type {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 70%;
    padding: 5px 0;
    text-align: center;
    line-height: 1;
    background-color: rgba(255, 255, 255, 0.8); }
    .mod-group-01-sp .list-item-01-sp .box-logo-type .logo-type {
      width: 200px;
      height: 27px; }
  .mod-group-01-sp .list-item-01-sp.group {
    background-image: url("../../top/img/bg_top_group.jpg");
    background-position: bottom right; }
    .mod-group-01-sp .list-item-01-sp.group .txt {
      min-width: 8em; }
    .mod-group-01-sp .list-item-01-sp.group .box-logo {
      background-color: #d6001c; }
  .mod-group-01-sp .list-item-01-sp.jma {
    background-image: url("../../top/img/bg_top_jma.jpg");
    background-position: center right; }
    .mod-group-01-sp .list-item-01-sp.jma .box-logo {
      background-color: #d6001c; }
  .mod-group-01-sp .list-item-01-sp.sma {
    background-image: url("../../top/img/bg_top_sma.jpg");
    background-position: bottom right; }
    .mod-group-01-sp .list-item-01-sp.sma .box-logo {
      background-color: #0047bb; }
  .mod-group-01-sp .list-item-01-sp.carenet {
    background-image: url("../../top/img/bg_top_carenet.jpg");
    background-position: bottom right; }
    .mod-group-01-sp .list-item-01-sp.carenet .box-logo {
      background-color: #598e1d; }
  .mod-group-01-sp .list-item-01-sp.yuukyuu {
    background-image: url("../../top/img/bg_top_yuukyuu.jpg");
    background-position: bottom right; }
    .mod-group-01-sp .list-item-01-sp.yuukyuu .box-logo {
      background-color: #DA852B; }

/* ------------------------------------------------
  下層共通設定
------------------------------------------------ */
.hero-lower {
  height: 150px;
  position: relative;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    .hero-lower {
      height: 300px;
      height: 300px;
      margin-top: 65px; } }
  @media only screen and (max-width: 767px) {
    .hero-lower {
      margin-top: 60px; } }
  .hero-lower img {
    -webkit-animation: load 1s 0s ease forwards;
    -moz-animation: load 1s 0s ease forwards;
    -o-animation: load 1s 0s ease forwards;
    animation: load 1s 0s ease forwards;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto; }

.mod-ttl-lower {
  -webkit-animation: load 1s 0s ease forwards;
  -moz-animation: load 1s 0s ease forwards;
  -o-animation: load 1s 0s ease forwards;
  animation: load 1s 0s ease forwards;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  background-image: linear-gradient(to right, #fff, #fff 1px, rgba(214, 67, 41, 0.1) 1px, rgba(214, 67, 41, 0.1) 1px);
  background-size: 2px 1px; }
  .group .mod-ttl-lower {
    background-image: linear-gradient(to right, #fff, #fff 1px, #eee 1px, #eee 1px);
    background-size: 2px 1px; }

.mod-pankuzu {
  padding: 10px 20px 20px;
  line-height: 1; }
  @media only screen and (min-width: 1024px) {
    .mod-pankuzu {
      padding-bottom: 0; } }
  .mod-pankuzu .list-item-01 {
    font-size: 12px;
    font-size: 1.2rem;
    color: #434343;
    display: inline-block;
    vertical-align: middle;
    position: relative; }
    .mod-pankuzu .list-item-01:nth-child(n+2) {
      margin-left: 10px;
      padding-left: 20px; }
      .mod-pankuzu .list-item-01:nth-child(n+2):before {
        display: block;
        content: '';
        width: 5px;
        height: 5px;
        border-top: 1px solid #434343;
        border-right: 1px solid #434343;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%) rotate(45deg); }
    .mod-pankuzu .list-item-01 a {
      color: #434343; }
      .PC .mod-pankuzu .list-item-01 a:hover {
        color: #d64329; }

.mod-link-anchor {
  opacity: 0;
  -webkit-animation: load 3s 0.5s ease forwards;
  -moz-animation: load 3s 0.5s ease forwards;
  -o-animation: load 3s 0.5s ease forwards;
  animation: load 3s 0.5s ease forwards;
  text-align: center;
  background-color: #560d00;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
  @media only screen and (max-width: 767px) {
    .mod-link-anchor {
      padding: 5px; } }
  .mod-link-anchor .list-item-01 {
    font-size: 14px;
    font-size: 1.4rem;
    color: #fff;
    display: inline-block;
    vertical-align: middle;
    position: relative; }
    .mod-link-anchor .list-item-01:before, .mod-link-anchor .list-item-01:after {
      display: block;
      content: '';
      width: 1px;
      height: 1em;
      background-color: #fff;
      position: absolute;
      top: 50%;
      transform: translateY(-50%); }
    .mod-link-anchor .list-item-01:after {
      right: -1px; }
    @media only screen and (min-width: 768px) {
      .mod-link-anchor .list-item-01:first-child:before {
        display: none; }
      .mod-link-anchor .list-item-01:last-child:after {
        display: none; } }
    .mod-link-anchor .list-item-01 a {
      display: block;
      padding: 5px 30px;
      color: #fff; }
      .PC .mod-link-anchor .list-item-01 a:hover {
        color: #f7d9d4; }

.area-lower-contents-01 {
  opacity: 0;
  -webkit-animation: load 3s 0.75s ease forwards;
  -moz-animation: load 3s 0.75s ease forwards;
  -o-animation: load 3s 0.75s ease forwards;
  animation: load 3s 0.75s ease forwards;
  position: relative; }
  .area-lower-contents-01.style-01:after {
    content: '';
    display: block;
    width: 924px;
    height: 1253px;
    background: url("../../top/img/img_bg_logo_02.png") 0 0 no-repeat;
    position: absolute;
    right: 0;
    top: 0;
    pointer-events: none;
    z-index: -1; }

.area-lower-contents-02 {
  opacity: 0;
  -webkit-animation: load 3s 0.75s ease forwards;
  -moz-animation: load 3s 0.75s ease forwards;
  -o-animation: load 3s 0.75s ease forwards;
  animation: load 3s 0.75s ease forwards;
  position: relative;
  overflow: hidden;
  z-index: 3;
  padding-bottom: 30px; }
  @media only screen and (min-width: 768px) {
    .area-lower-contents-02 {
      padding-bottom: 100px; } }
  @media only screen and (min-width: 1024px) {
    .area-lower-contents-02 {
      padding-bottom: 120px; } }
  .area-lower-contents-02:before {
    content: '';
    display: block;
    width: 120%;
    height: 100%;
    position: absolute;
    top: 0;
    right: -10%;
    z-index: -1;
    border-bottom-left-radius: 1860px 300px;
    -webkit-box-shadow: inset 0 -7px 7px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: inset 0 -7px 7px rgba(0, 0, 0, 0.2);
    box-shadow: inset 0 -7px 7px rgba(0, 0, 0, 0.2);
    -webkit-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
    background-size: cover; }
  .area-lower-contents-02.style-about-01:before {
    background: url("../../about/img/bg_contents_01.jpg") bottom right no-repeat;
    background-size: 100%; 
top: 11%;
  }

.area-lower-contents-03 {
  margin-top: -100px;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative;
  overflow: hidden;
  z-index: 2;
  background-color: #fff; }
  @media only screen and (min-width: 768px) {
    .area-lower-contents-03 {
      margin-top: -200px;
      padding-top: 200px;
      padding-bottom: 200px; } }
  .area-lower-contents-03:before {
    content: '';
    display: block;
    width: 120%;
    height: 100%;
    border-bottom-right-radius: 1860px 300px;
    background-image: linear-gradient(to right, #fff, #fff 1px, rgba(214, 67, 41, 0.1) 1px, rgba(214, 67, 41, 0.1) 1px);
    background-size: 2px 1px;
    position: absolute;
    top: -20px;
    left: 0;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
  .group .area-lower-contents-03:before {
    background-image: linear-gradient(to right, #fff, #fff 1px, #eee 1px, #eee 1px);
    background-size: 2px 1px; }

/* ------------------------------------------------
  about
------------------------------------------------ */
.mod-message-01 .box-message-01 {
  position: relative; }
.mod-message-01 .img-message-01 {
  background-color: rgba(255, 249, 236, 0.5);
  position: relative;
  overflow: hidden; }
  .mod-message-01 .img-message-01 img {
    margin-left: -30px;
    max-width: 100%;
    height: auto; }
    @media only screen and (min-width: 768px) {
      .mod-message-01 .img-message-01 img {
        margin-left: -100px; } }
    @media only screen and (min-width: 1024px) {
      .mod-message-01 .img-message-01 img {
        margin-left: 0; } }
.mod-message-01 .box-message-ttl {
  color: #560d00;
  font-family: "a-otf-ryumin-pr6n", serif;
  text-align: center;
  letter-spacing: .2em; }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .mod-message-01 .box-message-ttl {
      letter-spacing: .1em; } }
  @media only screen and (min-width: 768px) {
    .mod-message-01 .box-message-ttl {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 1;
      right: auto;
      left: 40%; } }
  @media only screen and (min-width: 1024px) {
    .mod-message-01 .box-message-ttl {
      left: 45%; } }
  .mod-message-01 .box-message-ttl .ttl-message {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.6;
    padding-bottom: 20px;
    border-bottom: 1px solid #560d00; }
    @media only screen and (min-width: 768px) {
      .mod-message-01 .box-message-ttl .ttl-message {
        padding-bottom: 40px;
        font-size: 36px;
        font-size: 3.6rem; } }
    @media only screen and (min-width: 1024px) {
      .mod-message-01 .box-message-ttl .ttl-message {
        font-size: 40px;
        font-size: 4rem; } }
  .mod-message-01 .box-message-ttl .txt-name {
    margin-top: 10px;
    margin-bottom: 20px;
    -webkit-text-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    -moz-text-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    text-shadow: 0 3px 2px rgba(0, 0, 0, 0.2);
    font-size: 14px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 767px) {
      .mod-message-01 .box-message-ttl .txt-name {
        letter-spacing: 0; } }
    @media only screen and (min-width: 768px) {
      .mod-message-01 .box-message-ttl .txt-name {
        font-size: 20px;
        font-size: 2rem;
        margin-bottom: 0; } }
    .mod-message-01 .box-message-ttl .txt-name .txt-en {
      font-size: 13px;
      font-size: 1.3rem;
      letter-spacing: 0;
      padding-left: 1.5em;
      vertical-align: baseline; }
.mod-message-01 .box-message-02 {
  color: #000;
  margin: -40px 10px 0;
  padding: 30px;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 1; }
  @media only screen and (min-width: 768px) {
    .mod-message-01 .box-message-02 {
      line-height: 2;
      margin: -100px 30px 0;
      padding: 60px; } }
  @media only screen and (min-width: 1024px) {
    .mod-message-01 .box-message-02 {
      font-size: 18px;
      font-size: 1.8rem;
      margin: -100px 60px 0; } }
  .mod-message-01 .box-message-02 > p:nth-child(n+2) {
    margin-top: 3rem; }

.box-philosophy-01 {
  text-align: center;
  letter-spacing: .1em;
  -webkit-text-shadow: 0 0 10px #fff;
  -moz-text-shadow: 0 0 10px #fff;
  text-shadow: 0 0 10px #fff;
  padding-bottom: 120px; }
  @media only screen and (max-width: 767px) and (orientation: landscape) {
    .box-philosophy-01 {
      padding-bottom: 200px; } }
  @media only screen and (min-width: 768px) {
    .box-philosophy-01 {
      padding-bottom: 25vw; } }
  @media only screen and (min-width: 1600px) {
    .box-philosophy-01 {
      padding-bottom: 30vw; } }
  .box-philosophy-01 .color {
    color: #d64329; }
  .box-philosophy-01 .ttl-philosophy-01 {
    font-size: 30px;
    font-size: 3rem;
    font-family: "a-otf-ryumin-pr6n", serif;
    vertical-align: baseline;
    letter-spacing: .2em;
    margin-bottom: 40px; }
    @media only screen and (min-width: 768px) {
      .box-philosophy-01 .ttl-philosophy-01 {
        line-height: 1; }
        .box-philosophy-01 .ttl-philosophy-01 .letter-01 {
          font-size: 50px;
          font-size: 5rem; }
        .box-philosophy-01 .ttl-philosophy-01 .letter-02 {
          font-size: 30px;
          font-size: 3rem; } }
  @media only screen and (min-width: 768px) and (min-width: 1024px) {
    .box-philosophy-01 .ttl-philosophy-01 .letter-01 {
      font-size: 72px;
      font-size: 7.2rem; }
    .box-philosophy-01 .ttl-philosophy-01 .letter-02 {
      font-size: 50px;
      font-size: 5rem; } }

    @media only screen and (min-width: 1024px) {
      .box-philosophy-01 .ttl-philosophy-01 {
        letter-spacing: .3em; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .box-philosophy-01 .ttl-philosophy-01 {
        letter-spacing: .2em; } }
  .box-philosophy-01 .txt-philosophy-01 {
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 10px;
    font-family: "a-otf-ryumin-pr6n", serif; }
    @media only screen and (min-width: 1024px) {
      .box-philosophy-01 .txt-philosophy-01 {
        font-size: 18px;
        font-size: 1.8rem; } }

/* 数字で見るJMAグループ */
.mod-analytics-01 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-justify-content: space-between;
  -moz-justify-content: space-between;
  -webkit-justify-content: space-between;
  justify-content: space-between; }
  .mod-analytics-01 .list-item-01 {
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    background-image: linear-gradient(to right, #fff, #fff 1px, #eee 1px, #eee 1px);
    background-size: 2px 1px;
    margin-top: 40px;
    width: 100%; }
    .mod-analytics-01 .list-item-01.half {
      width: 48%; }
      @media only screen and (max-width: 767px) {
        .mod-analytics-01 .list-item-01.half {
          width: 100%; } }
      @media only screen and (max-width: 767px) and (orientation: landscape) {
        .mod-analytics-01 .list-item-01.half {
          width: 48%; } }
    .mod-analytics-01 .list-item-01.third {
      width: 32.5%; }
      @media only screen and (max-width: 767px) {
        .mod-analytics-01 .list-item-01.third {
          width: 100%; } }
      @media only screen and (max-width: 767px) and (orientation: landscape) {
        .mod-analytics-01 .list-item-01.third {
          width: 32.5%; } }
    .mod-analytics-01 .list-item-01:nth-child(n+2) {
      margin-top: 80px; }
  .mod-analytics-01 .list-item-in {
    display: table;
    width: 100%;
    padding: 0 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box; }
    .mod-analytics-01 .list-item-in > .box-analytics {
      display: table-cell;
      width: 33.3333333333%; }
      .mod-analytics-01 .list-item-in > .box-analytics .number {
        font-size: 20px;
        font-size: 2rem; }
      .mod-analytics-01 .list-item-in > .box-analytics > .ttl-analytics-01 {
        width: 95%; }
      @media only screen and (min-width: 1024px) {
        .mod-analytics-01 .list-item-in > .box-analytics > .ttl-analytics-01 {
          width: 300px; } }
    @media only screen and (max-width: 767px) and (orientation: portrait) {
      .mod-analytics-01 .list-item-in {
        display: block;
        padding: 0; }
        .mod-analytics-01 .list-item-in > .box-analytics {
          display: block;
          width: 100%; }
          .mod-analytics-01 .list-item-in > .box-analytics .number {
            font-size: 26px;
            font-size: 2.6rem; }
          .mod-analytics-01 .list-item-in > .box-analytics > .ttl-analytics-01 {
            width: 300px; } }
    @media only screen and (min-width: 1024px) {
      .mod-analytics-01 .list-item-in {
        padding: 0 20px; } }
  .mod-analytics-01 .box-analytics {
    position: relative;
    text-align: center; }
    .mod-analytics-01 .box-analytics .body {
      padding-top: 60px;
      padding-bottom: 20px;
      position: relative; }
      .graph{
        padding-top: 0!important;
      }
      .graph02{
        width: 50%;
        padding-top: 100px;
      }
      @media only screen and (min-width: 768px) {
        .mod-analytics-01 .box-analytics .body {
          padding-bottom: 40px; } }
      .mod-analytics-01 .box-analytics .body .number {
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s; }
        .mod-analytics-01 .box-analytics .body .number:after {
          -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
          -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
          -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
          -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
          transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s; }
      .mod-analytics-01 .box-analytics .body .comment {
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s; }
      .mod-analytics-01 .box-analytics .body .note {
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1.5s 1s; }
      .mod-analytics-01 .box-analytics .body-01:before, .mod-analytics-01 .box-analytics .body-01:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        top: 39%;
        width: 65px;
        height: 35px; }
        @media only screen and (max-width: 767px) and (orientation: landscape) {
          .mod-analytics-01 .box-analytics .body-01:before, .mod-analytics-01 .box-analytics .body-01:after {
            width: 140px;
            height: 80px; } }
        @media only screen and (min-width: 768px) {
          .mod-analytics-01 .box-analytics .body-01:before, .mod-analytics-01 .box-analytics .body-01:after {
            width: 140px;
            height: 80px;
            top: 42%; } }
      .mod-analytics-01 .box-analytics .body-01:before {
        background: url("../img/sprite/ico-data-01-01.svg") center bottom no-repeat;
        left: 14%; }
        @media only screen and (max-width: 767px) and (orientation: landscape) {
          .mod-analytics-01 .box-analytics .body-01:before {
            left: 20%; } }
        @media only screen and (min-width: 768px) and (max-width: 1023px) {
          .mod-analytics-01 .box-analytics .body-01:before {
            left: 18%; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-01:before {
            left: 25%; } }
      .mod-analytics-01 .box-analytics .body-01:after {
        background: url("../img/sprite/ico-data-01-02.svg") center bottom no-repeat;
        left: 86%; }
        @media only screen and (max-width: 767px) and (orientation: landscape) {
          .mod-analytics-01 .box-analytics .body-01:after {
            left: 80%; } }
        @media only screen and (min-width: 768px) and (max-width: 1023px) {
          .mod-analytics-01 .box-analytics .body-01:after {
            left: 82%; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-01:after {
            left: 75%; } }
      .mod-analytics-01 .box-analytics .body-02:before, .mod-analytics-01 .box-analytics .body-03:before {
        content: '';
        display: block;
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        top: 48%; }
      .mod-analytics-01 .box-analytics .body-02 .number, .mod-analytics-01 .box-analytics .body-03 .number {
        margin-top: 80px; }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-02 .number, .mod-analytics-01 .box-analytics .body-03 .number {
            margin-top: 100px; } }
        .mod-analytics-01 .box-analytics .body-02 .number .em, .mod-analytics-01 .box-analytics .body-03 .number .em {
          font-size: 40px;
          font-size: 4rem; }
          @media only screen and (min-width: 768px) and (max-width: 1023px) {
            .mod-analytics-01 .box-analytics .body-02 .number .em, .mod-analytics-01 .box-analytics .body-03 .number .em {
              font-size: 60px;
              font-size: 6rem; } }
          @media only screen and (min-width: 1024px) {
            .mod-analytics-01 .box-analytics .body-02 .number .em, .mod-analytics-01 .box-analytics .body-03 .number .em {
              font-size: 80px;
              font-size: 8rem; } }
      .mod-analytics-01 .box-analytics .body-02 .comment, .mod-analytics-01 .box-analytics .body-03 .comment {
        margin-bottom: 100px; }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-02 .comment, .mod-analytics-01 .box-analytics .body-03 .comment {
            margin-bottom: 110px; } }
      .mod-analytics-01 .box-analytics .body-02 .number {
        display: table;
        margin-left: auto;
        margin-right: auto; }
        .mod-analytics-01 .box-analytics .body-02 .number span {
          display: table-cell;
          vertical-align: bottom; }
          .mod-analytics-01 .box-analytics .body-02 .number span:last-child {
            font-size: .8em; }
            @media only screen and (min-width: 1024px) {
              .mod-analytics-01 .box-analytics .body-02 .number span:last-child {
                padding-bottom: 15px; } }
      .mod-analytics-01 .box-analytics .body-02:before {
        background: transparent url("../../about/img/bg_ico-data-02-01@2x.png") 0 0 no-repeat;
        background-size: cover;
        width: 79%;
        height: 62vw; }
        @media only screen and (max-width: 767px) and (orientation: landscape) {
          .mod-analytics-01 .box-analytics .body-02:before {
            width: 85%;
            height: 32vw; } }
        @media only screen and (min-width: 768px) and (max-width: 1023px) {
          .mod-analytics-01 .box-analytics .body-02:before {
            width: 85%;
            height: 32vw; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-02:before {
            width: 350px;
            width: 350px;
            height: 302px; } }
      .mod-analytics-01 .box-analytics .body-03:before {
        background: transparent url("../../about/img/bg_ico-data-03-01@2x.png") 0 0 no-repeat;
        background-size: cover;
        width: 90%;
        height: 62vw; }
        @media only screen and (max-width: 767px) and (orientation: landscape) {
          .mod-analytics-01 .box-analytics .body-03:before {
            width: 96%;
            height: 32vw; } }
        @media only screen and (min-width: 768px) and (max-width: 1023px) {
          .mod-analytics-01 .box-analytics .body-03:before {
            width: 96%;
            height: 32vw; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-03:before {
            width: 396px;
            height: 302px; } }
      .mod-analytics-01 .box-analytics .body-04:before {
        content: '';
        display: block;
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        top: 45%;
        background: transparent url("../../about/img/bg_ico-data-04-01@2x.png") 0 0 no-repeat;
        background-size: cover;
        width: 90%;
        height: 42vw; }
        @media only screen and (max-width: 767px) and (orientation: landscape) {
          .mod-analytics-01 .box-analytics .body-04:before {
            width: 60%;
            height: 28vw; } }
        @media only screen and (min-width: 768px) {
          .mod-analytics-01 .box-analytics .body-04:before {
            width: 542px;
            height: 279px; } }
      .mod-analytics-01 .box-analytics .body-04 .number {
        margin-top: 100px; }
        @media only screen and (min-width: 768px) {
          .mod-analytics-01 .box-analytics .body-04 .number {
            margin-top: 160px; } }
      .mod-analytics-01 .box-analytics .body-05:before {
        content: '';
        display: block;
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 80px;
        width: 92%;
        height: 27vw; }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body-05:before {
            width: 90%;
            height: 81vw; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-05:before {
            width: 300px;
            height: 300px; } }
      .mod-analytics-01 .box-analytics .body-05 .number {
        margin-top: 9vw; }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body-05 .number {
            margin-top: 24vw; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-05 .number {
            margin-top: 90px; } }
        .mod-analytics-01 .box-analytics .body-05 .number:before {
          content: '';
          display: block;
          -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
          -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
          -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
          -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
          transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
          background: transparent url("../../about/img/bg_ico-data-05-04@2x.png") center no-repeat;
          background-size: cover;
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          top: 13vw;
          width: 36px;
          height: 22px; }
          @media only screen and (max-width: 767px) and (orientation: portrait) {
            .mod-analytics-01 .box-analytics .body-05 .number:before {
              top: 130px;
              width: 60px;
              height: 36px; } }
          @media only screen and (min-width: 1024px) {
            .mod-analytics-01 .box-analytics .body-05 .number:before {
              top: 135px;
              width: 54px;
              height: 33px; } }
        .mod-analytics-01 .box-analytics .body-05 .number .em {
          font-size: 30px;
          font-size: 3rem; }
          @media only screen and (max-width: 767px) and (orientation: portrait) {
            .mod-analytics-01 .box-analytics .body-05 .number .em {
              font-size: 50px;
              font-size: 5rem; } }
          @media only screen and (min-width: 1024px) {
            .mod-analytics-01 .box-analytics .body-05 .number .em {
              font-size: 60px;
              font-size: 6rem; } }
      .mod-analytics-01 .box-analytics .body-05 .comment {
        margin-bottom: 13vw; }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body-05 .comment {
            margin-bottom: 45vw; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-05 .comment {
            margin-bottom: 140px; } }
      .mod-analytics-01 .box-analytics .body-05-01:before {
        background: transparent url("../img/sprite/ico-data-05-01.svg") center no-repeat;
        background-size: cover; }
      .mod-analytics-01 .box-analytics .body-05-01 .number:before {
        background: transparent url("../img/sprite/ico-data-05-04.svg") center no-repeat;
        background-size: cover; }
      .mod-analytics-01 .box-analytics .body-05-02:before {
        background: transparent url("../img/sprite/ico-data-05-02.svg") center no-repeat;
        background-size: cover; }
      .mod-analytics-01 .box-analytics .body-05-02 .number:before {
        background: transparent url("../img/sprite/ico-data-05-05.svg") center no-repeat;
        background-size: cover;
        top: 12vw;
        width: 30px;
        height: 37px; }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body-05-02 .number:before {
            top: 120px;
            width: 51px;
            height: 62px; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-05-02 .number:before {
            top: 130px;
            width: 51px;
            height: 62px; } }
      .mod-analytics-01 .box-analytics .body-05-03:before {
        background: transparent url("../img/sprite/ico-data-05-03.svg") center no-repeat;
        background-size: cover; }
      .mod-analytics-01 .box-analytics .body-05-03 .number:before {
        background: transparent url("../img/sprite/ico-data-05-06.svg") center no-repeat;
        background-size: cover;
        top: 13vw;
        width: 28px;
        height: 27px; }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body-05-03 .number:before {
            top: 130px;
            width: 50px;
            height: 47px; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-05-03 .number:before {
            top: 135px;
            width: 50px;
            height: 46px; } }
      @media only screen and (max-width: 767px) and (orientation: portrait) {
        .mod-analytics-01 .box-analytics .body-05-03 .facility {
          margin-bottom: 30px !important; } }
      .mod-analytics-01 .box-analytics .body-05 .facility {
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        width: 90%;
        margin: 0 auto; }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body-05 .facility {
            width: 80%;
            margin-bottom: 80px; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-05 .facility {
            width: 80%; } }
        .mod-analytics-01 .box-analytics .body-05 .facility tr {
          border-bottom: 1px solid #f7d9d4; }
          .mod-analytics-01 .box-analytics .body-05 .facility tr > th, .mod-analytics-01 .box-analytics .body-05 .facility tr > td {
            padding: 2px 0;
            font-size: 12px;
            font-size: 1.2rem;
            vertical-align: middle; }
            @media only screen and (max-width: 767px) and (orientation: portrait) {
              .mod-analytics-01 .box-analytics .body-05 .facility tr > th, .mod-analytics-01 .box-analytics .body-05 .facility tr > td {
                font-size: 14px;
                font-size: 1.4rem; } }
            @media only screen and (min-width: 1024px) {
              .mod-analytics-01 .box-analytics .body-05 .facility tr > th, .mod-analytics-01 .box-analytics .body-05 .facility tr > td {
                font-size: 14px;
                font-size: 1.4rem; } }
            @media only screen and (max-width: 767px) and (orientation: landscape) {
              .mod-analytics-01 .box-analytics .body-05 .facility tr > th, .mod-analytics-01 .box-analytics .body-05 .facility tr > td {
                font-size: 10px;
                font-size: 1rem; } }
          .mod-analytics-01 .box-analytics .body-05 .facility tr > th {
            text-align: left;
            padding-left: 1.5em;
            font-weight: normal;
            position: relative; }
            .mod-analytics-01 .box-analytics .body-05 .facility tr > th:before {
              content: '';
              display: block;
              position: absolute;
              top: 50%;
              transform: translateY(-50%);
              left: 0;
              width: 1em;
              height: 1em; }
          .mod-analytics-01 .box-analytics .body-05 .facility tr > td {
            text-align: right; }
          .mod-analytics-01 .box-analytics .body-05 .facility tr:nth-child(1) > th:before {
            background-color: #f7d9d4; }
          .mod-analytics-01 .box-analytics .body-05 .facility tr:nth-child(2) > th:before {
            background-color: #d64329; }
          .mod-analytics-01 .box-analytics .body-05 .facility tr:nth-child(3) > th:before {
            background-color: #560d00; }
          .mod-analytics-01 .box-analytics .body-05 .facility tr:nth-child(4) > th:before {
            background-color: #c4aaa6; }
      .mod-analytics-01 .box-analytics .body-06 .total {
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 1s;
        color: #560d00;
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.3;
        font-weight: bold;
        display: inline-block;
        padding-left: 70px;
        position: relative; }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-06 .total {
            font-size: 40px;
            font-size: 4rem;
            padding-left: 105px; } }
        .mod-analytics-01 .box-analytics .body-06 .total:before {
          content: '';
          display: block;
          background: url("../img/sprite/ico-data-07-03.svg") center bottom no-repeat;
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          left: 0;
          width: 60px;
          height: 40px; }
          @media only screen and (min-width: 1024px) {
            .mod-analytics-01 .box-analytics .body-06 .total:before {
              width: 90px;
              height: 60px; } }
      .mod-analytics-01 .box-analytics .body-06 .number-wp {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
        top: 53%;
        right: 10%; }
        @media only screen and (min-width: 768px) and (max-width: 1023px) {
          .mod-analytics-01 .box-analytics .body-06 .number-wp {
            right: 40px; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .body-06 .number-wp {
            right: 70px; } }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body-06 .number-wp {
            position: relative;
            transform: none;
            top: auto;
            right: auto;
            bottom: auto;
            left: auto;
            margin: 20vw 0 15vw; } }
        .mod-analytics-01 .box-analytics .body-06 .number-wp .number {
          padding-right: 0; }
        .mod-analytics-01 .box-analytics .body-06 .number-wp:before {
          -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          content: '';
          display: block;
          background: url("../../about/img/bg_ico-data-06-01@2x.png") 0 0 no-repeat;
          background-size: 100%;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          z-index: -1;
          top: 45%;
          margin-left: -10px;
          width: 40vw;
          height: 38vw; }
          @media only screen and (min-width: 1024px) {
            .mod-analytics-01 .box-analytics .body-06 .number-wp:before {
              width: 446px;
              height: 422px; } }
          @media only screen and (max-width: 767px) and (orientation: portrait) {
            .mod-analytics-01 .box-analytics .body-06 .number-wp:before {
              transform: translate(-50%, -50%) rotate(90deg);
              width: 70vw;
              height: 67vw;
              margin-left: 0;
              top: 40%; } }
      .mod-analytics-01 .box-analytics .body-06 .area {
        -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
        width: 59%;
        padding: 0 30px 20px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box; }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body-06 .area {
            position: static;
            transform: none;
            width: 100%;
            padding: 10px; } }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body-06 .area {
            padding: 0 10px; } }
        .mod-analytics-01 .box-analytics .body-06 .area img {
          width: 100%;
          height: auto; }
      .mod-analytics-01 .box-analytics .body-07 {
        padding: 10px;
        padding-top: 230px; }
        .mod-analytics-01 .box-analytics .body-07 .label {
          -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
          -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
          -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
          -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
          transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
          font-size: 22px;
          font-size: 2.2rem;
          color: #560d00;
          line-height: 1.2;
          padding-top: 40px;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
          box-sizing: border-box;
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          z-index: 1;
          top: -40px; }
          .mod-analytics-01 .box-analytics .body-07 .label:before {
            -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
            -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
            -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
            -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
            transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.25s;
            content: '';
            display: block;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            top: 0;
            background: url("../../about/img/bg_label_data-07@2x.png") 0 0 no-repeat;
            background-size: 100%;
            width: 160px;
            height: 190px;
            z-index: -1; }
          .mod-analytics-01 .box-analytics .body-07 .label .first {
            display: block;
            color: #d64329;
            font-weight: bold;
            padding-left: 10px;
            font-size: 36px;
            font-size: 3.6rem; }
            .mod-analytics-01 .box-analytics .body-07 .label .first .italic {
              font-style: italic; }
        .mod-analytics-01 .box-analytics .body-07 .ttl-analytics-02 {
          -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
          position: relative; }
          .mod-analytics-01 .box-analytics .body-07 .ttl-analytics-02:before {
            -webkit-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
            -moz-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
            -ms-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
            -o-transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
            transition: all cubic-bezier(0.23, 1, 0.32, 1) 1s 0.75s;
            content: '';
            display: block;
            width: 44px;
            height: 40px;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            top: -100%; }
            @media only screen and (min-width: 1024px) {
              .mod-analytics-01 .box-analytics .body-07 .ttl-analytics-02:before {
                top: -80%; } }
            @media only screen and (max-width: 767px) and (orientation: landscape) {
              .mod-analytics-01 .box-analytics .body-07 .ttl-analytics-02:before {
                top: -120%; } }
        .mod-analytics-01 .box-analytics .body-07 .note {
          display: block;
          text-align: left;
          padding: 10px 20px;
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 2;
          min-height: 8em; }
          @media only screen and (max-width: 767px) {
            .mod-analytics-01 .box-analytics .body-07 .note {
              min-height: 0;
              margin-bottom: 10px; } }
          @media only screen and (max-width: 767px) and (orientation: landscape) {
            .mod-analytics-01 .box-analytics .body-07 .note {
              min-height: 8em;
              margin: 0 !important; } }
        .mod-analytics-01 .box-analytics .body-07-01 .ttl-analytics-02:before {
          background: url("../img/sprite/ico-data-07-01.svg") 0 0 no-repeat;
          background-size: 100%; }
        .mod-analytics-01 .box-analytics .body-07-02 .ttl-analytics-02:before {
          background: url("../img/sprite/ico-data-07-02.svg") 0 0 no-repeat;
          background-size: 100%;
          width: 54px; }
        .mod-analytics-01 .box-analytics .body-07-02 .label {
          letter-spacing: .2em; }
        .mod-analytics-01 .box-analytics .body-07-03 .ttl-analytics-02:before {
          background: url("../img/sprite/ico-data-07-03.svg") 0 0 no-repeat;
          background-size: 100%;
          width: 61px; }
        .mod-analytics-01 .box-analytics .body-07-03 .label {
          font-size: 16px;
          font-size: 1.6rem;
          padding-top: 30px; }
      .mod-analytics-01 .box-analytics .body.effect.on-js:before, .mod-analytics-01 .box-analytics .body.effect.on-js:after {
        opacity: 0; }
      .mod-analytics-01 .box-analytics .body.effect.on-js .number {
        opacity: 0; }
      .mod-analytics-01 .box-analytics .body.effect.on-js .number:after {
        width: 0; }
      .mod-analytics-01 .box-analytics .body.effect.on-js .number:before {
        opacity: 0;
        margin-top: -20px; }
      .mod-analytics-01 .box-analytics .body.effect.on-js .comment {
        opacity: 0; }
      .mod-analytics-01 .box-analytics .body.effect.on-js .note {
        opacity: 0;
        transform: translateY(-20px); }
      .mod-analytics-01 .box-analytics .body.effect.on-js .facility {
        opacity: 0;
        transform: translateY(-20px); }
      .mod-analytics-01 .box-analytics .body.effect.on-js .number-wp:before {
        transform: translate(-50%, -50%) scale(0); }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body.effect.on-js .number-wp:before {
            transform: translate(-50%, -50%) rotate(90deg) scale(0); } }
      .mod-analytics-01 .box-analytics .body.effect.on-js .total {
        opacity: 0; }
      .mod-analytics-01 .box-analytics .body.effect.on-js .area {
        opacity: 0; }
      .mod-analytics-01 .box-analytics .body.effect.on-js .label {
        opacity: 0; }
        .mod-analytics-01 .box-analytics .body.effect.on-js .label:before {
          transform: translateX(-50%) scale(0); }
      .mod-analytics-01 .box-analytics .body.effect.on-js .ttl-analytics-02 {
        opacity: 0; }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active:before, .mod-analytics-01 .box-analytics .body.effect.on-js.is-active:after {
        opacity: 1; }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .number {
        opacity: 1; }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .number:after {
        width: 100%; }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .number:before {
        opacity: 1;
        margin-top: 0; }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .comment {
        opacity: 1; }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .note {
        opacity: 1;
        transform: translateY(0); }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .facility {
        opacity: 1;
        transform: translateY(0); }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .number-wp:before {
        transform: translate(-50%, -50%) scale(1); }
        @media only screen and (max-width: 767px) and (orientation: portrait) {
          .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .number-wp:before {
            transform: translate(-50%, -50%) rotate(90deg) scale(1); } }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .total {
        opacity: 1; }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .area {
        opacity: 1; }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .label {
        opacity: 1; }
        .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .label:before {
          transform: translateX(-50%) scale(1); }
      .mod-analytics-01 .box-analytics .body.effect.on-js.is-active .ttl-analytics-02 {
        opacity: 1; }
    .mod-analytics-01 .box-analytics .number {
      color: #560d00;
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 1.3;
      font-weight: bold;
      display: inline-block;
      position: relative;
      padding-right: 5px;
      margin-bottom: 10px; }
      @media only screen and (min-width: 768px) {
        .mod-analytics-01 .box-analytics .number {
          font-size: 30px;
          font-size: 3rem;
          padding-right: 10px; } }
      .mod-analytics-01 .box-analytics .number:after {
        content: '';
        display: block;
        width: 100%;
        height: 10px;
        background: url("../img/bg_dot_01.png") 0 0 repeat #f7d9d4;
        position: absolute;
        left: 0;
        bottom: -10px; }
      .mod-analytics-01 .box-analytics .number.no-border {
        margin-bottom: 0; }
        .mod-analytics-01 .box-analytics .number.no-border:after {
          display: none; }
      .mod-analytics-01 .box-analytics .number .em {
        color: #d64329;
        font-size: 50px;
        font-size: 5rem;
        font-weight: normal;
        vertical-align: baseline;
        padding: 0 5px; }
        @media only screen and (min-width: 768px) {
          .mod-analytics-01 .box-analytics .number .em {
            padding: 0 10px; } }
        @media only screen and (min-width: 768px) and (max-width: 1023px) {
          .mod-analytics-01 .box-analytics .number .em {
            font-size: 80px;
            font-size: 8rem; } }
        @media only screen and (min-width: 1024px) {
          .mod-analytics-01 .box-analytics .number .em {
            font-size: 100px;
            font-size: 10rem; } }
    .mod-analytics-01 .box-analytics .comment {
      color: #d64329;
      font-size: 14px;
      font-size: 1.4rem; }
    .mod-analytics-01 .box-analytics .note-wp {
      margin-top: 20px; }
    .mod-analytics-01 .box-analytics .note {
      display: inline-block;
      color: #d64329;
      line-height: 1.4;
      padding: 5px 30px;
      background-color: #fff;
      border: 2px solid #f7d9d4;
      border-radius: 5px;
      position: relative; }
      .mod-analytics-01 .box-analytics .note:after {
        content: '';
        display: block;
        width: 10px;
        height: 10px;
        background-color: #fff;
        border: 2px solid #f7d9d4;
        border-right-color: transparent;
        border-bottom-color: transparent;
        position: absolute;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
        top: -7px; }
      @media only screen and (max-width: 767px) {
        .mod-analytics-01 .box-analytics .note {
          margin: 0 10px;
          padding: 5px 10px; } }
  .mod-analytics-01 .ttl-analytics-01 {
    width: 300px;
    color: #fff;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 3;
    letter-spacing: .1em;
    background-color: #560d00;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -40px; }
    .mod-analytics-01 .ttl-analytics-01:after {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 20px;
      border-color: #560d00 transparent transparent transparent;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      margin-top: -1px; }
  .mod-analytics-01 .ttl-analytics-02 {
    color: #560d00;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.4; }
    @media only screen and (max-width: 767px) and (orientation: landscape) {
      .mod-analytics-01 .ttl-analytics-02 {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      .mod-analytics-01 .ttl-analytics-02 {
        font-size: 20px;
        font-size: 2rem; } }
    @media only screen and (min-width: 1024px) {
      .mod-analytics-01 .ttl-analytics-02 {
        font-size: 24px;
        font-size: 2.4rem; } }

/* 施設紹介 */
.btn-reset-wp {
  text-align: center;
  padding: 0 0 30px 0; }
  .btn-reset-wp .btn-reset {
    display: inline-block;
    width: 300px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 14px;
    font-size: 1.4rem;
    color: #666;
    background-color: #eee;
    padding: 5px 0;
    z-index: 1;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    .PC .btn-reset-wp .btn-reset:hover {
      cursor: pointer;
      color: #fff;
      background-color: #d64329; }

.area-select {
  border-top: 1px dotted rgba(86, 13, 0, 0.5);
  border-bottom: 1px dotted rgba(86, 13, 0, 0.5);
  padding-top: 30px;
  margin-bottom: 40px; }

.btn-area-wp {
  margin-bottom: 30px;
  text-align: left; }
  .btn-area-wp li {
    cursor: pointer;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    padding: 0 2%;
    width: 24%;
    position: relative;
    border-left: 1px solid rgba(214, 67, 41, 0.3);
    height: 4.2em; }
    .btn-area-wp li.all {
      line-height: 4.2em; }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      .btn-area-wp li {
        height: 3em; }
        .btn-area-wp li.all {
          line-height: 3em; } }
    .btn-area-wp li:nth-child(n+5) {
      margin-top: 10px; }
    .btn-area-wp li:nth-child(4n) {
      border-right: 1px solid rgba(214, 67, 41, 0.3); }
    .btn-area-wp li .city,
    .btn-area-wp li .pref {
      display: block;
      line-height: 1.3;
      padding-bottom: .2em; }
    .btn-area-wp li .pref {
      font-size: 12px;
      font-size: 1.2rem;
      color: #560d00;
      line-height: 1;
      letter-spacing: .2em;
      padding: .4em 0; }
    @media only screen and (min-width: 1024px) {
      .btn-area-wp li {
        padding: 5px 1.5%;
        width: auto;
        height: auto;
        margin-top: 0; }
        .btn-area-wp li.all {
          line-height: inherit; }
        .btn-area-wp li:first-child {
          border-left: none; }
        .btn-area-wp li:nth-child(n+3) {
          margin-top: 0; }
        .btn-area-wp li:nth-child(2n) {
          border-right: none; }
        .btn-area-wp li:nth-child(4n) {
          border-right: none; } }
    @media only screen and (min-width: 1280px) and (max-width: 1599px) {
      .btn-area-wp li {
        padding: 5px 32px; } }
    @media only screen and (min-width: 1600px) {
      .btn-area-wp li {
        padding: 5px 36px; } }
    .btn-area-wp li:before {
      content: '';
      display: block;
      width: 90%;
      height: 100%;
      background-color: transparent;
      position: absolute;
      z-index: -1;
      top: 0;
      left: 5%;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .btn-area-wp li.selected {
      color: #fff; }
      .btn-area-wp li.selected .pref {
        color: #fff; }
      .btn-area-wp li.selected:before {
        background-color: #d64329; }
    .PC .btn-area-wp li:hover {
      color: #fff; }
      .PC .btn-area-wp li:hover .pref {
        color: #fff; }
      .PC .btn-area-wp li:hover:before {
        background-color: rgba(214, 67, 41, 0.5); }

.btn-category-wp {
  padding-bottom: 30px;
  text-align: left; }
  .btn-category-wp li {
    cursor: pointer;
    color: #560d00;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    padding: 5px 0;
    background-color: rgba(214, 67, 41, 0.2);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    font-size: 12px;
    font-size: 1.2rem;
    width: 31%;
    margin: 5px 2px; }
    @media only screen and (min-width: 768px) and (max-width: 1023px) {
      .btn-category-wp li {
        font-size: 13px;
        font-size: 1.3rem;
        width: 23%;
        margin: 5px; } }
    @media only screen and (min-width: 1024px) {
      .btn-category-wp li {
        font-size: 14px;
        font-size: 1.4rem;
        width: 22%;
        margin: 5px; } }
    .btn-category-wp li.no-select {
      color: #666;
      background-color: #eee;
      cursor: default; }
    .btn-category-wp li.selected {
      color: #fff;
      background-color: #d64329; }
    .PC .btn-category-wp li:hover {
      color: #fff;
      background-color: #d64329; }
    .PC .btn-category-wp li.no-select:hover {
      color: #666;
      background-color: #eee; }

.area-facility ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }
.area-facility li {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px; }
  @media only screen and (min-width: 768px) {
    .area-facility li {
      width: 50%; } }
  .area-facility li a.mod-box-facility-link {
    display: block;
    width: 100%;
    height: 100%;
    color: #000;
    background-color: #fff;
    position: relative;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
    .area-facility li a.mod-box-facility-link:before, .area-facility li a.mod-box-facility-link:after {
      content: '';
      display: block;
      -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
    .area-facility li a.mod-box-facility-link:before {
      width: 20px;
      height: 20px;
      border-radius: 100%;
      border: 2px solid #999;
      position: absolute;
      right: 20px;
      bottom: 20px; }
    .area-facility li a.mod-box-facility-link:after {
      width: 4px;
      height: 10px;
      border-radius: 2px;
      background-color: #999;
      position: absolute;
      right: 18px;
      bottom: 14px;
      transform: rotate(-45deg); }
    .PC .area-facility li a.mod-box-facility-link:hover {
      color: #d64329; }
      .PC .area-facility li a.mod-box-facility-link:hover:before {
        transform: scale(1.4);
        transform-origin: right bottom; }
      .PC .area-facility li a.mod-box-facility-link:hover:after {
        transform: scale(1.4) rotate(-45deg); }
    .PC .area-facility li a.mod-box-facility-link.jma:hover:before {
      border-color: #d6001c; }
    .PC .area-facility li a.mod-box-facility-link.jma:hover:after {
      background-color: #d6001c; }
    .PC .area-facility li a.mod-box-facility-link.sma:hover:before {
      border-color: #0047bb; }
    .PC .area-facility li a.mod-box-facility-link.sma:hover:after {
      background-color: #0047bb; }
    .PC .area-facility li a.mod-box-facility-link.carenet:hover:before {
      border-color: #598e1d; }
    .PC .area-facility li a.mod-box-facility-link.carenet:hover:after {
      background-color: #598e1d; }
    .PC .area-facility li a.mod-box-facility-link.yuukyuu:hover:before {
      border-color: #da852b; }
    .PC .area-facility li a.mod-box-facility-link.yuukyuu:hover:after {
      background-color: #da852b; }

.mod-box-facility {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  border: 1px solid #eee;
  padding: 15px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
  .mod-box-facility .group,
  .mod-box-facility .area,
  .mod-box-facility .category {
    font-size: 12px;
    font-size: 1.2rem;
    display: inline-block;
    height: 24px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 15px;
    color: rgba(86, 13, 0, 0.8);
    padding: 0 2%; }
    @media only screen and (min-width: 1024px) {
      .mod-box-facility .group,
      .mod-box-facility .area,
      .mod-box-facility .category {
        padding: 0 3%; } }
  .mod-box-facility .group {
    color: #fff; }
    .mod-box-facility .group.jma, .jma .mod-box-facility .group {
      background-color: #d6001c; }
    .mod-box-facility .group.sma, .sma .mod-box-facility .group {
      background-color: #0047bb; }
    .mod-box-facility .group.carenet, .carenet .mod-box-facility .group {
      background-color: #598e1d; }
    .mod-box-facility .group.keijin, .keijin .mod-box-facility .group {
      background-color: #da852b; }
  .mod-box-facility .area {
    border: 1px solid rgba(214, 67, 41, 0.2); }
    @media only screen and (min-width: 1024px) {
      .mod-box-facility .area {
        margin-left: 2px; } }
  .mod-box-facility .category {
    border: 1px solid rgba(214, 67, 41, 0.2); }
    @media only screen and (min-width: 1024px) {
      .mod-box-facility .category {
        margin-left: 2px; } }
  .mod-box-facility .img {
    float: left;
    width: 30%; }
    @media only screen and (min-width: 1024px) {
      .mod-box-facility .img {
        width: 15%; } }
    .mod-box-facility .img img {
      width: 100%;
      height: auto; }
  .mod-box-facility .body {
    padding-right: 40px; }
    @media only screen and (min-width: 1024px) {
      .mod-box-facility .body {
        padding-right: 60px; } }
  .mod-box-facility .ttl-lower-04 {
    font-weight: normal;
    letter-spacing: .1em;
    line-height: 1.6;
    padding-left: 35%; }
    @media only screen and (min-width: 1024px) {
      .mod-box-facility .ttl-lower-04 {
        padding-left: 18%; } }

.mod-box-facility-detail {
  display: none; }

#modalWindow {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(153, 153, 153, 0.7);
  display: none; }
  #modalWindow .mod-window {
    display: table;
    width: 100%;
    height: 100%; }
  #modalWindow .mod-window-in {
    display: table-cell;
    text-align: center;
    vertical-align: middle; }
  #modalWindow .mod-box-facility-detail {
    display: inline-block;
    background-color: #560d00;
    cursor: pointer;
    width: 90%;
    max-width: 800px;
    max-height: 90vh; }
  #modalWindow .btn-close-window {
    font-family: "trajan-pro-3", serif;
    color: #fff;
    letter-spacing: .1em;
    padding: 5px 0; }
  #modalWindow .mod-box-facility {
    cursor: default;
    max-height: calc(90vh - 35px);
    overflow: auto;
    background-color: #fff;
    text-align: left;
    padding: 20px; }
    #modalWindow .mod-box-facility .img {
      width: 100%;
      float: none;
      margin-bottom: 10px; }
      @media only screen and (min-width: 768px) {
        #modalWindow .mod-box-facility .img {
          width: 40%;
          float: left; } }
    #modalWindow .mod-box-facility .body {
      padding-right: 0;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box; }
      @media only screen and (min-width: 768px) {
        #modalWindow .mod-box-facility .body {
          float: right;
          width: 60%;
          padding-left: 20px; } }
    #modalWindow .mod-box-facility .ttl-lower-04 {
      padding-left: 0;
      padding-bottom: .5em;
      font-size: 18px;
      font-size: 1.8rem;
      border-bottom: 2px solid #d64329;
      margin-bottom: 20px; }
    #modalWindow .mod-box-facility .group,
    #modalWindow .mod-box-facility .area,
    #modalWindow .mod-box-facility .category {
      margin-bottom: 20px; }
    #modalWindow .mod-box-facility .zip,
    #modalWindow .mod-box-facility .adress,
    #modalWindow .mod-box-facility .tel,
    #modalWindow .mod-box-facility .url {
      font-size: 14px;
      font-size: 1.4rem; }
    #modalWindow .mod-box-facility .url a {
      position: relative;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; }
      #modalWindow .mod-box-facility .url a .ico-out {
        fill: #d64329;
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        -ms-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease; }
      .PC #modalWindow .mod-box-facility .url a:hover {
        color: #560d00; }
        .PC #modalWindow .mod-box-facility .url a:hover .ico-out {
          fill: #560d00; }
    #modalWindow .mod-box-facility .free {
      margin-top: 20px; }
      #modalWindow .mod-box-facility .free > dt, #modalWindow .mod-box-facility .free > dd {
        font-size: 14px;
        font-size: 1.4rem; }
      #modalWindow .mod-box-facility .free > dt {
        padding: 0 10px;
        color: #560d00;
        background-image: linear-gradient(to right, #fff, #fff 1px, #eee 1px, #eee 1px);
        background-size: 2px 1px; }
      #modalWindow .mod-box-facility .free > dd {
        padding: 10px; }

/* プレス・広報一覧 */
.btn-year-wp {
  margin-bottom: 30px;
  text-align: center; }
  .btn-year-wp li {
    cursor: pointer;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    padding: 0 2%;
    width: 15%;
    position: relative;
    border-left: 1px solid rgba(214, 67, 41, 0.3); }
    .btn-year-wp li:nth-child(n+5) {
      margin-top: 10px; }
      .btn-year-wp li:nth-child(n+5).press {
        margin-top: 0; }
    .btn-year-wp li:nth-child(4n) {
      border-right: 1px solid rgba(214, 67, 41, 0.3); }
      .btn-year-wp li:nth-child(4n).press {
        border-right: none; }
    @media only screen and (min-width: 1024px) {
      .btn-year-wp li {
        padding: 5px 2%;
        width: 15%;
        height: auto;
        margin-top: 0; }
        .btn-year-wp li.all {
          line-height: inherit; }
        .btn-year-wp li:first-child {
          border-left: none; }
        .btn-year-wp li:nth-child(n+3) {
          margin-top: 0; }
        .btn-year-wp li:nth-child(2n) {
          border-right: none; }
        .btn-year-wp li:nth-child(4n) {
          border-right: none; } }
    @media only screen and (min-width: 1280px) and (max-width: 1599px) {
      .btn-year-wp li {
        padding: 5px 40px; } }
    @media only screen and (min-width: 1600px) {
      .btn-year-wp li {
        padding: 5px 40px; } }
    .btn-year-wp li:before {
      content: '';
      display: block;
      width: 90%;
      height: 100%;
      background-color: transparent;
      position: absolute;
      z-index: -1;
      top: 0;
      left: 5%;
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease; }
    .btn-year-wp li.selected {
      color: #fff; }
      .btn-year-wp li.selected .pref {
        color: #fff; }
      .btn-year-wp li.selected:before {
        background-color: #d64329; }
    .PC .btn-year-wp li:hover {
      color: #fff; }
      .PC .btn-year-wp li:hover .pref {
        color: #fff; }
      .PC .btn-year-wp li:hover:before {
        background-color: rgba(214, 67, 41, 0.5); }

.press .btn-category-wp li {
  width: 22%; }

.mod-box-press {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  margin: 5px 0;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  @media only screen and (min-width: 768px) {
    .mod-box-press {
      padding: 20px; } }
  .PC .mod-box-press:hover {
    background-color: rgba(214, 67, 41, 0.1);
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
    -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.4); }
    .PC .mod-box-press:hover .fig-layout:before {
      border-color: #fff; }
  .mod-box-press > a {
    display: block; }
    .mod-box-press > a .ttl-lower-04 {
      color: #000;
      font-weight: normal;
      display: table;
      width: 100%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
      @media only screen and (max-width: 767px) {
        .mod-box-press > a .ttl-lower-04 {
          margin-bottom: 1em; } }
      .mod-box-press > a .ttl-lower-04 .ttl-in {
        display: table-cell;
        vertical-align: middle; }
      .mod-box-press > a .ttl-lower-04 .ico-out {
        width: 15px;
        height: 14px;
        fill: #d64329; }
    .PC .mod-box-press > a:hover .ttl-lower-04 {
      color: #d64329; }
  .mod-box-press .mod-box-press-in {
    display: table;
    width: 100%; }
  .mod-box-press .fig-layout,
  .mod-box-press .box-layout {
    display: table-cell;
    vertical-align: top; }
  .mod-box-press .fig-layout {
    width: 20vw;
    padding-bottom: 10px; }
    @media only screen and (min-width: 768px) {
      .mod-box-press .fig-layout {
        width: 180px;
        padding-bottom: 0;
        position: relative; }
        .mod-box-press .fig-layout:before {
          content: '';
          display: block;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
          box-sizing: border-box;
          width: 100%;
          height: 100%;
          background-color: transparent;
          border: 5px solid transparent;
          position: absolute;
          top: 0;
          left: 0;
          -webkit-transition: all 0.5s ease;
          -moz-transition: all 0.5s ease;
          -ms-transition: all 0.5s ease;
          -o-transition: all 0.5s ease;
          transition: all 0.5s ease; } }
  .mod-box-press .box-layout {
    vertical-align: top;
    padding-top: 2.5em;
    padding-left: 10px; }
    @media only screen and (min-width: 768px) {
      .mod-box-press .box-layout {
        padding-left: 30px; } }
    @media only screen and (min-width: 1024px) {
      .mod-box-press .box-layout {
        padding-top: 0;
        vertical-align: middle;
        position: relative; } }
    .mod-box-press .box-layout .header-press {
      position: absolute;
      top: 10px; }
      @media only screen and (min-width: 1024px) {
        .mod-box-press .box-layout .header-press {
          top: 0;
          left: 30px; } }
  .mod-box-press .footer-press {
    border-top: 1px dotted rgba(86, 13, 0, 0.2);
    border-bottom: 1px dotted rgba(86, 13, 0, 0.2);
    position: relative;
    z-index: 1; }
    .mod-box-press .footer-press:before {
      content: '';
      display: block;
      width: 25%;
      height: 100%;
      background-image: linear-gradient(to right, #fff, #fff 1px, #eee 1px, #eee 1px);
      background-size: 2px 1px;
      position: absolute;
      z-index: -1;
      bottom: 0;
      left: 0; }
      @media only screen and (min-width: 768px) {
        .mod-box-press .footer-press:before {
          display: none; } }
    @media only screen and (min-width: 768px) {
      .mod-box-press .footer-press {
        position: absolute;
        bottom: 20px;
        left: 230px;
        width: calc(100% - 250px);
        border-bottom: none; } }
  .mod-box-press .date,
  .mod-box-press .category,
  .mod-box-press .facility,
  .mod-box-press .media,
  .mod-box-press .publisher {
    font-size: 12px;
    font-size: 1.2rem;
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box; }
  .mod-box-press .date,
  .mod-box-press .category {
    vertical-align: middle; }
  .mod-box-press .date {
    color: #560d00;
    font-weight: bold;
    padding-right: 10px; }
    @media only screen and (min-width: 768px) {
      .mod-box-press .date {
        font-size: 16px;
        font-size: 1.6rem;
        padding-right: 20px; } }
  .mod-box-press .category {
    color: rgba(86, 13, 0, 0.8);
    border-left: 1px solid rgba(86, 13, 0, 0.2);
    padding-left: 10px; }
    @media only screen and (min-width: 768px) {
      .mod-box-press .category {
        padding-left: 20px; } }
  .mod-box-press .facility,
  .mod-box-press .media,
  .mod-box-press .publisher {
    width: 100%; }
    .mod-box-press .facility:nth-child(n+2),
    .mod-box-press .media:nth-child(n+2),
    .mod-box-press .publisher:nth-child(n+2) {
      border-top: 1px solid #eee; }
    @media only screen and (min-width: 768px) {
      .mod-box-press .facility,
      .mod-box-press .media,
      .mod-box-press .publisher {
        width: auto; }
        .mod-box-press .facility:nth-child(n+2),
        .mod-box-press .media:nth-child(n+2),
        .mod-box-press .publisher:nth-child(n+2) {
          border-top: none; } }
    .mod-box-press .facility > dt, .mod-box-press .facility > dd,
    .mod-box-press .media > dt,
    .mod-box-press .media > dd,
    .mod-box-press .publisher > dt,
    .mod-box-press .publisher > dd {
      display: inline-block;
      vertical-align: middle;
      padding: 0 15px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box; }
    .mod-box-press .facility > dt,
    .mod-box-press .media > dt,
    .mod-box-press .publisher > dt {
      letter-spacing: .1em;
      width: 25%;
      text-align: center; }
      @media only screen and (min-width: 768px) {
        .mod-box-press .facility > dt,
        .mod-box-press .media > dt,
        .mod-box-press .publisher > dt {
          width: auto;
          background-image: linear-gradient(to right, #fff, #fff 1px, #eee 1px, #eee 1px);
          background-size: 2px 1px; } }
    .mod-box-press .facility > dd,
    .mod-box-press .media > dd,
    .mod-box-press .publisher > dd {
      width: 70%; }
      @media only screen and (min-width: 768px) {
        .mod-box-press .facility > dd,
        .mod-box-press .media > dd,
        .mod-box-press .publisher > dd {
          width: auto; } }
  .mod-box-press .facility dd .link-01 {
    padding-right: 2em; }
  .mod-box-press .facility dd .ico-out {
    width: 10px;
    height: 10px; }
  .mod-box-press .facility a {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    color: #560d00; }
    .mod-box-press .facility a .ico-out {
      -webkit-transition: all 0.5s ease;
      -moz-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
      -o-transition: all 0.5s ease;
      transition: all 0.5s ease;
      fill: #560d00; }
    .mod-box-press .facility a:before {
      display: none; }
    .PC .mod-box-press .facility a:hover {
      color: #d64329; }
      .PC .mod-box-press .facility a:hover .ico-out {
        fill: #d64329; }

/* 法人概要 */
.jma .ttl-lower-03:before {
  border-color: #d6001c; }
.sma .ttl-lower-03:before {
  border-color: #0047bb; }
.carenet .ttl-lower-03:before {
  border-color: #598e1d; }
.yuukyuu .ttl-lower-03:before {
  border-color: #da852b; }

.link-outline-01 {
  border-top: 2px solid #d64329;
  border-bottom: 2px solid #d64329;
  padding: 40px 10px; }
  @media only screen and (min-width: 768px) {
    .link-outline-01 {
      padding: 60px 30px; } }
  .jma .link-outline-01 {
    border-color: #d6001c; }
  .sma .link-outline-01 {
    border-color: #0047bb; }
  .carenet .link-outline-01 {
    border-color: #598e1d; }
    .yuukyuu .link-outline-01 {
    border-color: #da852b; }
  .link-outline-01 .box-group {
    text-align: center; }
    .link-outline-01 .box-group .type {
      margin-top: 10px; }
      .jma .link-outline-01 .box-group .type {
        margin-top: 20px; }
      .link-outline-01 .box-group .type img {
        width: 50%;
        height: auto; }
    .link-outline-01 .box-group .body {
      margin-top: 30px;
      text-align: left; }
  .link-outline-01 .box-layout {
    padding-left: 0 !important; }
  .link-outline-01 .fig-layout {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (min-width: 1024px) {
      .link-outline-01 .fig-layout {
        position: relative; }
        .link-outline-01 .fig-layout img {
          position: absolute;
          top: 50%;
          transform: translateY(-50%); } }

.btn-outline-01 {
  padding-top: 30px; }
  .btn-outline-01 a {
    color: #fff;
    display: block;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #560d00;
    border-radius: 3px;
    padding: 5px;
    position: relative; }
    .btn-outline-01 a svg {
      fill: #fff; }
    .btn-outline-01 a:before {
      content: '';
      display: block;
      width: 0;
      height: 100%;
      background-color: #d64329;
      position: absolute;
      top: 0;
      left: 0;
      -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
      transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
    .PC .btn-outline-01 a:hover:before {
      width: 100%; }
    .jma .btn-outline-01 a {
      background-color: #9a0014; }
      .jma .btn-outline-01 a:before {
        background-color: #d6001c; }
    .sma .btn-outline-01 a {
      background-color: #011e4d; }
      .sma .btn-outline-01 a:before {
        background-color: #0047bb; }
    .carenet .btn-outline-01 a {
      background-color: #185800; }
      .carenet .btn-outline-01 a:before {
        background-color: #598e1d; }
    .yuukyuu .btn-outline-01 a {
      background-color: #aa631d; }
      .yuukyuu .btn-outline-01 a:before {
        background-color: #da852b; }

.link-fbpage-01 .fig-layout {
  text-align: center; }
.link-fbpage-01 a {
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  margin: 10px;
  padding: 30px 10px;
  height: calc(100% - 20px);
  color: #3b579d;
  border: 1px solid #3b579d;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .link-fbpage-01 a {
      padding: 20px 10px; } }
  .link-fbpage-01 a .logo-fb {
    fill: #3b579d; }
  .link-fbpage-01 a:before {
    content: '';
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #3b579d;
    z-index: -1;
    -webkit-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -moz-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -ms-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    -o-transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); }
  .PC .link-fbpage-01 a:hover {
    color: #fff; }
    .PC .link-fbpage-01 a:hover:before {
      width: 100%; }
    .PC .link-fbpage-01 a:hover .logo-fb {
      fill: #fff; }
      .mod-box-facility .ttl-lower-04-small {
        font-size: 10px;
      font-size: 1.0rem; }
      @media only screen and (min-width: 1024px) {
        .mod-box-facility .ttl-lower-04-small {
          font-size: 14px;
        font-size: 1.4rem; } }


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