/*---------------------------------------------
	リセット
  ---------------------------------------------*/

  html {
    overflow-y: scroll;
  }

  body,
  div,
  dl,
  dt,
  dd,
  ul,
  ul li,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  pre,
  form,
  fieldset,
  input,
  textarea,
  p,
  blockquote,
  th,
  td,
  section,
  nav,
  article,
  aside,
  header,
  address,
  figure,
  figcaption {
    margin: 0;
    padding: 0;
  }

  address,
  caption,
  cite,
  code,
  dfn,
  em,
  strong,
  th,
  var {
    font-style: normal;
    font-weight: normal;
  }

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

  caption,
  th {
    text-align: left;
  }

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

  object,
  embed {
    verticalc-align: top;
  }

  legend {
    display: none;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: 1rem;
    font-weight: normal;
  }

  img,
  abbr,
  acronym,
  fieldset {
    border: 0;
  }

  img {
    height: auto;
    -ms-interpolation-mode: bicubic;
    max-width: 100%;
    vertical-align: top;
  }

  ul > li {
    list-style-type: none;
  }

  *,
  *:before,
  *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  body {
    color: #333;
    line-height: 1.8;
    text-align: left;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    font-family: -apple-system, BlinkMacSystemFont, MyYuGothicM, 'Yu Gothic', Meiryo, 'Hiragino kaku Gothic ProN', sans-serif;
  }

  .winChrome body {
    font-weight: 500;
  }

  /* IEにメイリオを指定（下余白対策） */

  @media all and (-ms-high-contrast: none) {

  body {
    font-family: Meiryo, sans-serif;
  }

  }

  input,
  select,
  textarea,
  button {
    font-family: inherit;
    font-size: inherit;
  }

  /*---------------------------------------------
    メインコンテンツ
    ---------------------------------------------*/

  main {
    display: block;
  }

  .row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    margin: 0 auto;
    max-width: 1170px;
    padding: 0 4vw;
  }

  .row .row {
    padding: 0;
  }

  .page .l-content .l-content-wrap > .col-set.row {
    width: auto;
  }

  .l-content [id]:before,
  .anchor:before {
    display: block;
    content: '';
    margin-top: -70px; /* 固定ヘッダーの高さ */
    padding-top: 70px;
  }

  /*---------------------------------------------
    強制指定
    ---------------------------------------------*/

  /* ----- 上下左右中央寄せ ----- */

  .main .left {
    text-align: left !important;
  }

  .main .center {
    text-align: center !important;
  }

  .main .right {
    text-align: right !important;
  }

  .main .top {
    vertical-align: top !important;
  }

  .main .middle {
    vertical-align: middle !important;
  }

  .main .bottom {
    vertical-align: bottom !important;
  }

  .main .up {
    margin-top: -25px !important;
  }

  .l-content .up[id]:before, .up.anchor:before {
    margin-top: -95px;
  }



  /* ----- 文字サイズ ----- */

  .main .xl {
    font-size: 1.13rem !important;
  }

  .main .l {
    font-size: 1rem !important;
  }

  .main .s {
    font-size: 0.88rem !important;
  }

  .main .xs {
    font-size: 0.75rem !important;
  }

  /* ----- 文字装飾 ----- */

  .main .normal {
    font-weight: normal !important;
  }

  .winChrome .main .normal {
    font-weight: 500 !important;
  }

  .main .bold {
    font-weight: bold !important;
  }

  .main .italic {
    font-style: italic !important;
  }

  .main .oblique {
    font-style: oblique !important;
  }

  /* ----- 幅 ----- */

  .main .w50 {
    width: 50px !important;
  }

  .main .w60 {
    width: 60px !important;
  }

  .main .w70 {
    width: 70px !important;
  }

  .main .w80 {
    width: 80px !important;
  }

  .main .w90 {
    width: 90px !important;
  }

  .main .w100 {
    width: 100px !important;
  }

  .main .w110 {
    width: 110px !important;
  }

  .main .w120 {
    width: 120px !important;
  }

  .main .w130 {
    width: 130px !important;
  }

  .main .w140 {
    width: 140px !important;
  }

  .main .w150 {
    width: 150px !important;
  }

  .main .w160 {
    width: 160px !important;
  }

  .main .w170 {
    width: 170px !important;
  }

  .main .w180 {
    width: 180px !important;
  }

  .main .w190 {
    width: 190px !important;
  }

  .main .w200 {
    width: 200px !important;
  }

  /* ----- 上余白 ----- */

  .main .mt0 {
    margin-top: 0 !important;
  }

  .main .mt5 {
    margin-top: 5px !important;
  }

  .main .mt10 {
    margin-top: 10px !important;
  }

  .main .mt15 {
    margin-top: 15px !important;
  }

  .main .mt20 {
    margin-top: 20px !important;
  }

  .main .mt30 {
    margin-top: 30px !important;
  }

  .main .mt40 {
    margin-top: 40px !important;
  }

  .main .mt50 {
    margin-top: 50px !important;
  }

  .main .mt60 {
    margin-top: 60px !important;
  }

  .main .mt70 {
    margin-top: 70px !important;
  }

  .main .mt80 {
    margin-top: 80px !important;
  }

  .main .mt90 {
    margin-top: 90px !important;
  }

  .main .mt100 {
    margin-top: 100px !important;
  }

  /* ----- 左余白 ----- */

  .main .ml0 {
    margin-left: 0 !important;
  }

  .main .ml5 {
    margin-left: 5px !important;
  }

  .main .ml10 {
    margin-left: 10px !important;
  }

  .main .ml15 {
    margin-left: 15px !important;
  }

  .main .ml20 {
    margin-left: 20px !important;
  }

  .main .ml30 {
    margin-left: 30px !important;
  }

  .main .ml40 {
    margin-left: 40px !important;
  }

  .main .ml50 {
    margin-left: 50px !important;
  }

  .main .ml60 {
    margin-left: 60px !important;
  }

  .main .ml70 {
    margin-left: 70px !important;
  }

  .main .ml80 {
    margin-left: 80px !important;
  }

  .main .ml90 {
    margin-left: 90px !important;
  }

  .main .ml100 {
    margin-left: 100px !important;
  }

  /* ----- 右余白 ----- */

  .main .mr0 {
    margin-right: 0 !important;
  }

  .main .mr5 {
    margin-right: 5px !important;
  }

  .main .mr10 {
    margin-right: 10px !important;
  }

  .main .mr15 {
    margin-right: 15px !important;
  }

  .main .mr20 {
    margin-right: 20px !important;
  }

  .main .mr30 {
    margin-right: 30px !important;
  }

  .main .mr40 {
    margin-right: 40px !important;
  }

  .main .mr50 {
    margin-right: 50px !important;
  }

  .main .mr60 {
    margin-right: 60px !important;
  }

  .main .mr70 {
    margin-right: 70px !important;
  }

  .main .mr80 {
    margin-right: 80px !important;
  }

  .main .mr90 {
    margin-right: 90px !important;
  }

  .main .mr100 {
    margin-right: 100px !important;
  }

  /* ----- 下余白 ----- */

  .main .mb0 {
    margin-bottom: 0 !important;
  }

  .main .mb5 {
    margin-bottom: 5px !important;
  }

  .main .mb10 {
    margin-bottom: 10px !important;
  }

  .main .mb15 {
    margin-bottom: 15px !important;
  }

  .main .mb20 {
    margin-bottom: 20px !important;
  }

  .main .mb30 {
    margin-bottom: 30px !important;
  }

  .main .mb40 {
    margin-bottom: 40px !important;
  }

  .main .mb50 {
    margin-bottom: 50px !important;
  }

  .main .mb60 {
    margin-bottom: 60px !important;
  }

  .main .mb70 {
    margin-bottom: 70px !important;
  }

  .main .mb80 {
    margin-bottom: 80px !important;
  }

  .main .mb90 {
    margin-bottom: 90px !important;
  }

  .main .mb100 {
    margin-bottom: 100px !important;
  }

  /* ----- 上余白(padding) ----- */

  .main .pt0 {
    padding-top: 0 !important;
  }

  .main .pt5 {
    padding-top: 5px !important;
  }

  .main .pt10 {
    padding-top: 10px !important;
  }

  .main .pt15 {
    padding-top: 15px !important;
  }

  .main .pt20 {
    padding-top: 20px !important;
  }

  .main .pt30 {
    padding-top: 30px !important;
  }

  .main .pt40 {
    padding-top: 40px !important;
  }

  .main .pt50 {
    padding-top: 50px !important;
  }

  .main .pt60 {
    padding-top: 60px !important;
  }

  .main .pt70 {
    padding-top: 70px !important;
  }

  .main .pt80 {
    padding-top: 80px !important;
  }

  .main .pt90 {
    padding-top: 90px !important;
  }

  .main .pt100 {
    padding-top: 100px !important;
  }

  /* ----- 左余白(padding) ----- */

  .main .pl0 {
    padding-left: 0 !important;
  }

  .main .pl5 {
    padding-left: 5px !important;
  }

  .main .pl10 {
    padding-left: 10px !important;
  }

  .main .pl15 {
    padding-left: 15px !important;
  }

  .main .pl20 {
    padding-left: 20px !important;
  }

  .main .pl30 {
    padding-left: 30px !important;
  }

  .main .pl40 {
    padding-left: 40px !important;
  }

  .main .pl50 {
    padding-left: 50px !important;
  }

  .main .pl60 {
    padding-left: 60px !important;
  }

  .main .pl70 {
    padding-left: 70px !important;
  }

  .main .pl80 {
    padding-left: 80px !important;
  }

  .main .pl90 {
    padding-left: 90px !important;
  }

  .main .pl100 {
    padding-left: 100px !important;
  }

  /* ----- 右余白(padding) ----- */

  .main .pr0 {
    padding-right: 0 !important;
  }

  .main .pr5 {
    padding-right: 5px !important;
  }

  .main .pr10 {
    padding-right: 10px !important;
  }

  .main .pr15 {
    padding-right: 15px !important;
  }

  .main .pr20 {
    padding-right: 20px !important;
  }

  .main .pr30 {
    padding-right: 30px !important;
  }

  .main .pr40 {
    padding-right: 40px !important;
  }

  .main .pr50 {
    padding-right: 50px !important;
  }

  .main .pr60 {
    padding-right: 60px !important;
  }

  .main .pr70 {
    padding-right: 70px !important;
  }

  .main .pr80 {
    padding-right: 80px !important;
  }

  .main .pr90 {
    padding-right: 90px !important;
  }

  .main .pr100 {
    padding-right: 100px !important;
  }

  /* ----- 下余白(padding) ----- */

  .main .pb0 {
    padding-bottom: 0 !important;
  }

  .main .pb5 {
    padding-bottom: 5px !important;
  }

  .main .pb10 {
    padding-bottom: 10px !important;
  }

  .main .pb15 {
    padding-bottom: 15px !important;
  }

  .main .pb20 {
    padding-bottom: 20px !important;
  }

  .main .pb30 {
    padding-bottom: 30px !important;
  }

  .main .pb40 {
    padding-bottom: 40px !important;
  }

  .main .pb50 {
    padding-bottom: 50px !important;
  }

  .main .pb60 {
    padding-bottom: 60px !important;
  }

  .main .pb70 {
    padding-bottom: 70px !important;
  }

  .main .pb80 {
    padding-bottom: 80px !important;
  }

  .main .pb90 {
    padding-bottom: 90px !important;
  }

  .main .pb100 {
    padding-bottom: 100px !important;
  }

  /* ----- 背景色 ----- */

  .main .bg-white {
    background-color: #fff !important;
  }

  /* 白 */

  .main .bg-light {
    background-color: #f1f1f1 !important;
  }

  /* ライトグレー */

  .main .bg-gray {
    background-color: #ababab !important;
  }

  /* グレー */

  .main .bg-dark {
    background-color: #434c4d !important;
  }

  /* ダークグレー */

  .main .bg-pink {
    background-color: #eb5f60 !important;
  }

  /* ピンク */

  .main .bg-lightred {
    background-color: #f2646e !important;
  }

  /* 薄赤 */

  .main .bg-blue {
    background-color: #3db0c2 !important;
  }

  /* 青 */

  .main .bg-darkblue {
    background-color: #006a9b !important;
  }

  /* 濃青 */

  .main .bg-color {
    background-color: #009257 !important;
  }

  /* 緑 */

  .main .bg-color0 {
    background-color: #ef984b !important;
  }

  /* オレンジ */

  .main .bg-color1 {
    background-color: #aac85b !important;
  }

  /* 黄緑 */

  .main .bg-color2 {
    background-color: #4dc1af !important;
  }

  /* アクア */

  .main .bg-color3 {
    background-color: #8974cb !important;
  }

  /* べにかばいろ */

  .main .bg-color4 {
    background-color: #bc5656 !important;
  }

  .main .bg-img {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  /* ----- 文字色 - 白 ----- */

  .main .txt-white,
  .main .txt-white * {
    color: #fff !important;
  }

  /*---------------------------------------------
    [CL] カラム
    ---------------------------------------------*/

  .col-set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
  }

  .no-gutter {
    width: 100%;
  }

  .row .no-gutter {
    margin-bottom: 20px;
  }

  .col1-2 {
    width: calc(50% - 30px);
  }

  .col1-3 {
    width: 24.7863247863%;
  }

  .col2-3 {
    width: calc(75.2136752136% - 40px);
  }

  .col1-4 {
    width: calc(25% - 30px);
  }

  .col3-4 {
    width: calc(75% - 30px);
  }

  .col1-5 {
    width: calc(20% - 30px);
  }

  .col1-6 {
    width: calc(16.66666666%  - 30px);
  }

  .no-gutter > .col1-2 {
    width: 50%;
  }

  .no-gutter > .col1-3 {
    width: 33.33333333%;
  }

  .no-gutter > .col2-3 {
    width: 66.66666666%;
  }

  .no-gutter > .col1-4 {
    width: 25%;
  }

  .no-gutter > .col3-4 {
    width: 75%;
  }

  .no-gutter > .col1-5 {
    width: 20%;
  }

  .no-gutter > .col1-6 {
    width: 16.66666666%;
  }

  .col1-2,
  .col1-3,
  .col2-3,
  .col1-4,
  .col3-4,
  .col1-5,
  .col1-6 {
    margin-right: 40px;
  }

  .no-gutter > .col1-2,
  .no-gutter > .col1-3,
  .no-gutter > .col2-3,
  .no-gutter > .col1-4,
  .no-gutter > .col3-4,
  .no-gutter > .col1-5,
  .no-gutter > .col1-6 {
    margin-right: 0;
  }

  .col1-3 {
    margin: 0;
  }

  .p-free .col1-3 {
    margin-right: 30px;
  }

  .p-free .col1-3 {
    width: calc(33.33333333% - 30px);
  }

  .bnr .col-set {
    width: calc(100% + 30px);
  }

  .bnr .col1-4 {
    margin-right: 30px;
  }

  .bnr .col1-4.img {
    margin-bottom: 30px;
  }

  /*---------------------------------------------
    [HD] 見出し
    ---------------------------------------------*/

  .p-free h1:not([class*='heading']):first-child {
    margin-bottom: 40px;
  }

  .p-free h1:not([class*='heading']).p-title {
    margin-bottom: 30px;
    margin-top: 0;
  }

  .p-free h1:not([class*='heading']) {
    font-size: 1.63rem;
    font-weight: bold;
    line-height: 1.4;
  }

  .main h2:not([class*='heading']),
  .main .heading1 {
    color: #000;
    font-size: 1.75rem;
    font-weight: bold;
    line-height: 1.4;
    margin: 30px 0;
  }

  .main h2:not([class*='heading']):after,
  .main .heading1:after {
    display: block;
    background-color: #009257;
    content: '';
    height: 1px;
    margin: 5px 0 0;
    width: 60px;
  }

  .main .p-free h2:not([class*="heading"]),
  .main .p-free .heading1 {
    font-size: 1.44rem;
    line-height: 1.6;
    margin-bottom: 15px;
  }

  .main h2:not([class*='heading']).center:after,
  .main .heading1.center:after {
    margin: 10px auto 0;
  }

  .main .p-free h2:not([class*="heading"]):after,
  .main .p-free .heading1:after {
    width: 100%;
  }

  .main h2:not([class*='heading']) + h3:not([class*='heading']) {
    margin-top: 0;
  }

  .main h3:not([class*='heading']),
  .main .heading2 {
    position: relative;
    border-bottom: solid 1px #e5e5e5;
    color: #000;
  /*	font-size: 1.38rem;*/
    font-size: 1.31rem;
    font-weight: bold;
    line-height: 1.6;
    margin: 30px 0 15px;
    padding: 0 0 5px;
  }

  .main h3:not([class*='heading']) + h4:not([class*='heading']),
  .main .heading3 {
    margin-top: 0;
  }

  .main h4:not([class*='heading']),
  .main .heading3 {
    position: relative;
    color: #000;
    font-size: 1.13rem;
    font-weight: bold;
    line-height: 1.6;
    margin: 30px 0 5px;
  }

  .main h4:not([class*='heading']) + h5:not([class*='heading']),
  .main .heading4 {
    margin-top: 0;
  }

  .main h5:not([class*='heading']),
  .main .heading4 {
    color: #000;
    font-size: 1.06rem;
    font-weight: bold;
    line-height: 1.6;
    margin: 20px 0 5px;
  }

  .main h6:not([class*='heading']),
  .main .heading5 {
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.6;
    margin: 10px 0 20px;
  }

  .main .p-free .p-title {
    color: #000;
    font-size: 1.44rem;
    font-weight: bold;
    line-height: 1.6;
    margin: 30px 0 15px;
  }

  .main .p-free > p.p-title {
    margin-top: 0;
  }

  .main h2 + h3,
  .main h2 + h4,
  .main h3 + h4,
  .main h2 + h5,
  .main h3 + h5,
  .main h4 + h5,
  .main h2 + h6,
  .main h3 + h6,
  .main h4 + h6,
  .main h5 + h6,
  .main h2 + [class*='heading'],
  .main h3 + [class*='heading'],
  .main h4 + [class*='heading'],
  .main h5 + [class*='heading'],
  .main h6 + [class*='heading'],
  .main [class*='heading'] + h2,
  .main [class*='heading'] + h3,
  .main [class*='heading'] + h4,
  .main [class*='heading'] + h5,
  .main [class*='heading'] + h6,
  .main [class*='heading'] + [class*='heading'],
  .main h2:first-child,
  .main h3:first-child,
  .main h4:first-child,
  .main h5:first-child,
  .main h6:first-child,
  .main h2:not([class*='heading']):first-child,
  .main h3:not([class*='heading']):first-child,
  .main h4:not([class*='heading']):first-child,
  .main h5:not([class*='heading']):first-child,
  .main h6:not([class*='heading']):first-child,
  .main [class*='heading']:first-child {
    margin-top: 0;
  }

  /* 文字色 - 白 */

  .main .txt-white h2:not([class*='heading']):after,
  .main .txt-white h3:not([class*='heading']):after,
  .main .txt-white h4:not([class*='heading']):after,
  .main .txt-white .heading1:after,
  .main .txt-white .heading2:after,
  .main .txt-white .heading3:after,
  .main .txt-white ul li:before {
    background-color: #fff;
  }

  .main .txt-white h3:not([class*='heading']) {
    border-bottom-color: rgba(255, 255, 255, 0.2);
  }

  /* 行頭アイコン付き */

  .main h3:not([class*='heading']).icon {
    position: relative;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    font-size: 1.25rem;
    padding: 0 0 5px 40px;
  }

  .main h3:not([class*='heading']).icon img {
    position: absolute;
    top: 0.1em;
    left: 0;
    display: block;
  }

  /*---------------------------------------------
    [TX] テキスト
    ---------------------------------------------*/

  .main .p-free div {
    font-size: 0.94rem;
  }

  .main .p-free p {
    color: #333;
    font-size: 0.94rem;
    margin-bottom: 30px;
  }

  .main .p-free a {
    position: relative;
    z-index: 1;
    color: #006a9b;
    outline: none;
    text-decoration: underline;
  }

  .main .p-free *:last-child {
    margin-bottom: 0;
  }

  .main .p-free .col-set [class*="col"] > *:last-child {
    margin-bottom: 30px;
  }

  .main b,
  .main strong {
    color: #000;
    font-weight: bold;
  }

  .main em {
    font-style: italic;
  }

  .main .color-strong {
    color: #e50012 !important;
  }

  .main .color-green {
    color: #008b4a !important;
  }

  .main .weight-normal {
    font-weight: normal !important;
  }

  .winChrome .main .weight-normal {
    font-weight: 500 !important;
  }

  .main .weight-bold {
    font-weight: bold !important;
  }

  .main .style-italic {
    font-style: italic !important;
  }

  .main .underline {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fcee9e)) !important;
    background: linear-gradient(transparent 60%, #fcee9e 60%) !important;
  }

  .main .copy {
    color: #000;
    font-size: 1.63rem;
    font-weight: bold;
    line-height: 1.6;
  }

  .main .news-conts .nodata {
    padding: 10px 0 0;
  }

  /* ----- 注記 ----- */

  .main .note {
    position: relative;
    padding-left: 1.4em;
  }

  .main .note-num {
    position: relative;
    padding-left: 2.4em;
  }

  .main .note + .note,
  .main .note-num + .note-num {
    margin-top: -15px;
  }

  .main .note:before,
  .main .note-num:before {
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent !important;
    border-radius: 0;
    content: '※';
    height: auto;
    margin: 0;
    width: auto;
  }

  .main .note-num:before {
    content: '※' attr(data-num);
  }

  /* ----- フォントファミリー ----- */

  .txt-min {
    font-family: 游明朝,'Yu Mincho',YuMincho,'Hiragino Mincho ProN',HGS明朝E,メイリオ,Meiryo,serif;
  }

  .txt-en {
    font-family: Futura, sans-serif;
    font-stretch: condensed;
  }

  /*---------------------------------------------
    [HR] 区切り線
    ---------------------------------------------*/

  .main hr {
    background: none transparent;
    border-bottom: 1px solid #e5e5e5;
    border-left: 0 none transparent;
    border-right: 0 none transparent;
    border-top: 0 none transparent;
    clear: both;
    color: #fff;
    margin-bottom: 20px;
  }

  /*---------------------------------------------
    [IG] 画像
    ---------------------------------------------*/

  .main .img {
    margin-bottom: 20px;
    text-align: center;
  }

  .main .p-free .col-set .img {
    margin-bottom: 30px;
  }

  .main .img .modal-video:before,
  .main .modal-video .img:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background-image: url(../images/icon_play.png);
    background-repeat: no-repeat;
    background-size: 100%;
    content: '';
    height: 64px;
    margin: auto;
    width: 64px;
    z-index: 1;
  }

  .main .img.full img {
    width: 100%;
  }

  .main .img .modal-video:after,
  .main .modal-video .img:after {
    opacity: 0.5 !important;
  }

  html:not(.sp) .main .p-free a:hover {
    color: #006a9b;
    text-decoration: none;
  }

  /* ----- [IG2] 画像 > キャプションあり ----- */

  .main figure {
    margin-bottom: 20px;
  }

  .main .caption {
    display: block;
    color: #333;
    font-size: 0.88rem;
    line-height: 1.5;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8px;
    text-align: left;
  }

  .main .left .caption {
    margin-left: 0;
  }

  .main .right .caption {
    margin-right: 0;
  }

  /* ----- [IG3] 画像 > 画像＋テキスト ----- */

  .main .img-set {
    overflow: hidden;
  }

  .main .thumb-set {
    overflow: hidden;
    margin-bottom: 30px;
  }

  .main .img-set > *:last-child {
    margin-bottom: 30px;
  }

  .main .img-set .img {
    float: left;
    margin-right: 15px;
    margin-bottom: 30px;
    max-width: 50%;
    padding-right: 15px;
  }

  .main .img-set .img.right {
    float: right;
    margin-left: 15px;
    margin-right: 0;
    padding-left: 15px;
    padding-right: 0;
  }

  .main .thumb-set .img,
  .main .p-free .thumb-set .img {
    float: left;
    margin-right: 10px;
    margin-bottom: 0;
    max-width: 50%;
    padding-right: 10px;
  }

  .main .thumb-set .img.right {
    float: right;
    margin-left: 10px;
    margin-right: 0;
    padding-left: 10px;
    padding-right: 0;
  }

  .main .thumb-set > .img + .txt {
    overflow: hidden;
  }

  /*---------------------------------------------
    [LT] リスト
    ---------------------------------------------*/

  .main ul,
  .main ol {
    margin: 0 0 30px;
    font-size: 0.94rem;
  }

  .main ol {
    padding: 0;
  }

  .main ul > li > ul,
  .main ol > li >  ol,
  .main ol > li >  ul {
    margin: 5px 0 0;
  }

  .main ul > li,
  .main ol > li {
    color: #333;
    line-height: 1.8;
  }

  .main ul > li {
    position: relative;
    margin-bottom: 5px;
    padding: 0 0 0 1.3em;
  }

  .main ol > li {
    margin: 0 0 5px 1.5em;
    padding: 0 0 0 0.2em;
  }

  .main ul > li:last-of-type,
  .main ol > li:last-of-type {
    margin-bottom: 0;
  }

  .main ul > li:before {
    position: absolute;
    top: 0.8em;
    left: 0.5em;
    display: block;
    background-color: #666;
    border-radius: 100%;
    content: '';
    height: 4px;
    margin: 0 0 0 -2px;
    width: 4px;
  }

  .main ol.free > li {
    position: relative;
    list-style: none;
    margin: 0 0 5px 0;
    padding: 0 0 0 1.5em;
  }

  .main ol.free > li .mark {
    position: absolute;
    left: 0;
  }

  .main ul.col-set {
    margin-bottom: 0;
  }

  .main ul.col-set > li {
    margin-bottom: 30px;
    padding-left: 0;
  }

  .main ul.col-set > li:before {
    display: none;
  }

  /* ----- [LT3] リスト > 定義リスト ----- */

  .main dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-box-align: stretch;
    -webkit-box-lines: multiple;
    -ms-flex-align: stretch;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px;
    overflow: hidden;
  }

  .main dl.border-set {
    border-bottom: solid 1px #e5e5e5;
    font-size: 0.94rem;
  }

  .main dt {
    color: #000;
    font-weight: bold;
    padding: 0 0 10px;
    width: 200px;
  }

  .main .w50 ~ dt {
    width: 50px;
  }

  .main .w60 ~ dt {
    width: 60px;
  }

  .main .w70 ~ dt {
    width: 70px;
  }

  .main .w80 ~ dt {
    width: 80px;
  }

  .main .w90 ~ dt {
    width: 90px;
  }

  .main .w100 ~ dt {
    width: 100px;
  }

  .main .w110 ~ dt {
    width: 110px;
  }

  .main .w120 ~ dt {
    width: 120px;
  }

  .main .w130 ~ dt {
    width: 130px;
  }

  .main .w140 ~ dt {
    width: 140px;
  }

  .main .w150 ~ dt {
    width: 150px;
  }

  .main .w160 ~ dt {
    width: 160px;
  }

  .main .w170 ~ dt {
    width: 170px;
  }

  .main .w180 ~ dt {
    width: 180px;
  }

  .main .w190 ~ dt {
    width: 190px;
  }

  .main .w200 ~ dt {
    width: 200px;
  }

  .main dd {
    padding: 0 0 10px 30px;
    width: calc(100% - 200px);
  }

  .main .w50 ~ dd {
    width: calc(100% - 50px);
  }

  .main .w60 ~ dd {
    width: calc(100% - 60px);
  }

  .main .w70 ~ dd {
    width: calc(100% - 70px);
  }

  .main .w80 ~ dd {
    width: calc(100% - 80px);
  }

  .main .w90 ~ dd {
    width: calc(100% - 90px);
  }

  .main .w100 ~ dd {
    width: calc(100% - 100px);
  }

  .main .w110 ~ dd {
    width: calc(100% - 110px);
  }

  .main .w120 ~ dd {
    width: calc(100% - 120px);
  }

  .main .w130 ~ dd {
    width: calc(100% - 130px);
  }

  .main .w140 ~ dd {
    width: calc(100% - 140px);
  }

  .main .w150 ~ dd {
    width: calc(100% - 150px);
  }

  .main .w160 ~ dd {
    width: calc(100% - 160px);
  }

  .main .w170 ~ dd {
    width: calc(100% - 170px);
  }

  .main .w180 ~ dd {
    width: calc(100% - 180px);
  }

  .main .w190 ~ dd {
    width: calc(100% - 190px);
  }

  .main .w200 ~ dd {
    width: calc(100% - 200px);
  }

  .main .news-conts dl.border-set {
    margin-bottom: 0;
    border-bottom: solid 1px #ddd;
  }

  .main .news-conts dl.border-set dt,
  .main .news-conts dl.border-set dd {
    border-top: solid 1px #ddd;
  }

  .main .news-conts dl.border-set > dt {
    width: 9.5em;
    line-height: 1.6;
  }

  .main .news-conts dl.border-set > dd {
    padding: 0;
    width: calc(100% - 9.5em);
    line-height: 1.6;
  }

  .main .news-conts dl.border-set > dd a {
    position: relative;
    display: block;
    margin: 0 0 0 -9.5em;
    padding: 15px 40px 15px 9.5em;
  }

  .main .news-conts dl.border-set > dd a:after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    display: block;
    background-image: url(../images/icon_link.png);
    background-position-y: -24px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    width: 24px;
  }

  .main .news-conts dl.border-set > dd a[target*='blank']:after {
    background-position-x: -48px;
  }

  .main .news-conts dl.border-set > dd a[href*='.pdf']:after {
    background-position: -264px 0;
  }

  .main .news-conts dl.border-set > dd a[href*='.doc']:after {
    background-position: -288px 0;
  }


  .main .news-conts dl.border-set > dd a[href*='.xls']:after {
    background-position: -312px 0;
  }

  .main .news-conts dl.border-set > dd a:hover:after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  .main .news-conts dl.border-set > dd a[target*='blank']:after,
  .main .news-conts dl.border-set > dd a[href*='.pdf']:after,
  .main .news-conts dl.border-set > dd a[href*='.doc']:after,
  .main .news-conts dl.border-set > dd a[href*='.xls']:after {
    -webkit-transform: none;
    transform: none;
  }

  .main .news-conts dl.border-set > dd a:hover .txt {
    opacity: 0.8;
  }

  .main .news-conts dl.border-set > dd .tag {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    clear: both;
    float: left;
    height: 1.8rem;
    margin: 0 15px 0 0;
  }

  .main .news-conts dl.border-set > dd .tag span {
    display: block;
    background-color: transparent;
    border: solid 1px rgba(0, 146, 87, 0.5);
    border-radius: 100px;
    color: #009257 !important;
    font-size: 0.75rem;
    line-height: 1;
    margin: -4px 0 0;
    padding: 4.5px 5px;
    text-align: center;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    width: 9.5em;
  }

  .main .news-conts dl.border-set > dd .tag.important span {
    background-color: #eb5f60;
    border: solid 1px #eb5f60;
    color: #fff !important;
  }

  .main .news-conts dl.border-set > dd .txt {
    overflow: hidden;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
  }

  .main .news-conts dl.border-set > dd .txt span {
    color: #333;
    font-size: 0.94rem;
  }

  .main dl.border-set > dd {
    border-top: solid 1px #e5e5e5;
    padding: 15px 0 15px 20px;
  }

  .main dl:not(.border-set) dt:last-of-type,
  .main dl:not(.border-set) dd:last-of-type {
    padding-bottom: 0;
  }

  .main dl p:last-child,
  .main dl ul:last-child,
  .main dl ol:last-child,
  .main dl dl:last-child {
    margin-bottom: 0;
  }

  .main dl.border-set > dt {
    border-top: solid 1px #e5e5e5;
    padding: 15px 0;
  }

  .main ul.news {
    border-bottom: solid 1px #cecece;
    margin-bottom: 20px;
  }

  .main ul.news li {
    border-top: solid 1px #cecece;
    margin: 0;
    padding: 0;
  }

  .main ul.news li:before {
    content: none;
  }

  .main ul.news li a {
    position: relative;
    display: block;
    padding: 10px 0;
    text-decoration: none;
  }

  .main ul.news li a:after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    display: block;
    background-image: url(../images/icon_link.png);
    background-position-y: -24px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    width: 24px;
  }

  .main ul.news li a[target*='blank']:after {
    background-position-x: -48px;
  }

  .main ul.news li a[href*='.pdf']:after {
    background-position: -264px 0;
  }

  .main ul.news li a[href*='.doc']:after {
    background-position: -288px 0;
  }

  .main ul.news li a[href*='.xls']:after {
    background-position: -312px 0;
  }

  .main ul.news li a:hover:after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  .main ul.news li a[target*='blank']:after,
  .main ul.news li a[href*='.pdf']:after,
  .main ul.news li a[href*='.doc']:after,
  .main ul.news li a[href*='.xls']:after {
    -webkit-transform: none;
    transform: none;
  }

  .main ul.news li a:hover .news-title {
    opacity: 0.8;
  }

  .main ul.news dl {
    margin-bottom: 0;
  }

  .main ul.news dl dt {
    padding: 0;
    width: 90px;
  }

  .main ul.news dl dt .days_head {
    background: #fff;
    font-weight: bold;
    padding: 14px 5px 7px;
    text-align: center;
  }

  .main ul.news dl dt .days_head .month {
    display: block;
    color: #333;
    font-size: 0.88rem;
    line-height: 1;
    margin-bottom: 5px;
  }

  .main ul.news dl dt .days_head .day {
    display: block;
    color: #009257;
    font-size: 1.5rem;
    line-height: 1;
  }

  .main ul.news dl dt .days_head .day span {
    font-size: 0.88rem;
  }

  .main ul.news dl dt .days_body {
    background: #009257;
    color: #fff;
    font-size: 0.81rem;
    padding: 1.5px;
    text-align: center;
  }

  .main ul.news dl dd {
    padding-left: 20px;
    padding-right: 50px;
    width: calc(100% - 90px);
  }

  .main ul.news dl dd .label {
    position: relative;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    margin: 0 0 10px;
  }

  .main ul.news dl dd .label span {
    font-size: 0.75rem;
    margin: 0;
    padding: 5px;
    width: 7.5em;
  }

  .main ul.news dl dd p {
    margin-bottom: 7px;
    overflow: hidden;
    text-align: left;
  }

  .main ul.news dl dd p:last-child {
    margin-bottom: 0;
  }

  .main ul.news dl dd .news-title {
    color: #000;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 6px;
    text-align: left;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
  }

  .main ul.news dl dd .news-date {
    color: #333;
    font-size: 0.88rem;
    line-height: 1.5;
  }

  .main ul.news dl dd .news-tag {
    color: #009257;
    font-size: 0.88rem;
    line-height: 1;
    padding-top: 0;
  }

  .main .p-free ul.news {
    margin-bottom: 0;
    border-bottom: solid 1px #e5e5e5;
  }

  .main .p-free ul.news li {
    border-top: solid 1px #e5e5e5;
  }

  /* ----- FAQ ----- */

  .main .faq {
    display: block;
    margin-bottom: 30px;
  }

  .main .faq dt {
    position: relative;
    width: auto;
    margin: 0 0 15px;
    padding: 0 0 0 50px;
    font-weight: inherit;
    font-size: .94rem;
    color: #008b4e;
  }

  .main .faq dd {
    position: relative;
    width: auto;
    padding: 0 0 0 50px !important;
    font-size: .94rem;
  }

  .main .faq dd:after, .faq dt:after {
    content: "";
    position: absolute;
    display: block;
    width: 38px;
    height: 34px;
    top: 0;
    left: 0;
    font-size: .94rem;
    background-repeat: no-repeat;
    background-size: 38px 34px;
  }

  .main .faq dt:after {
    background-image: url(/assets/images/icon_faq_q.gif);
  }

  .main .faq dd:after {
    background-image: url(/assets/images/icon_faq_a.gif);
  }

  /*---------------------------------------------
    [LK1] アイコンリンク
    ---------------------------------------------*/

  .main .p-free p:not([class*="heading"]):not([class*="p-title"]):not(.link-icon) + .link-icon:not(h2):not(h3):not(h4):not(h5):not(h6):not([class*="heading"]),
  .main .p-free p:not([class*="heading"]):not([class*="p-title"]):not(.link-icon) + ul > .link-icon:first-child {
    margin-top: -15px;
  }

  .main .link-icon:not(li) + .link-icon:not(h2):not(h3):not(h4):not(h5):not(h6):not([class*="heading"]) {
    margin-top: -25px;
  }

  .main .link-icon a,
  .main a .link-icon {
    position: relative;
    z-index: 1;
    display: inline-block;
    text-decoration: none;
  }

  .main .link-icon a {
    color: #006a9b;
  }

  .main a .link-icon {
    display: block;
  }

  .main .link-icon a:after,
  .main a .link-icon:after {
    display: inline-block;
    background-image: url(../images/icon_link.png);
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin: -2px 0 0 2px;
    vertical-align: middle;
    width: 24px;
  }

  .main .link-icon a:not([class*='icon-']):after,
  .main a .link-icon:not([class*='icon-']):after {
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }

  html:not(.sp) .main .link-icon a:not([class*='icon-']):hover:after,
  html:not(.sp) .main a:hover .link-icon:not([class*='icon-']):after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  .main .link-icon .icon-download:after,
  .main a .link-icon.icon-download:after {
    background-position: -24px 0 !important;
  }

  .main .link-icon a[target*='blank']:after,
  .main .link-icon .icon-window:after,
  .main a .link-icon.icon-window:after {
    background-position: -48px 0;
    -webkit-transform: none !important;
    transform: none !important;
  }

  .main .link-icon .icon-pdf:after,
  .main a .link-icon.icon-pdf:after {
    background-position: -264px 0;
  }

  .main .link-icon .icon-enlarge:after,
  .main a .link-icon.icon-enlarge:after {
    background-position: -168px 0;
  }

  .main .link-icon .icon-search:after,
  .main a .link-icon.icon-search:after {
    background-position: -192px 0;
  }

  .main .link-icon .icon-contact:after,
  .main a .link-icon.icon-contact:after {
    background-position: -216px 0;
  }

  .main .link-icon .icon-play:after,
  .main a .link-icon.icon-play:after {
    background-position: -240px 0;
  }

  .main .link-icon a[href*='.pdf']:after {
    background-position: -264px 0;
  }

  .main .link-icon a[href*='.doc']:after {
    background-position: -288px 0;
  }

  .main .link-icon a[href*='.xls']:after {
    background-position: -312px 0;
  }

  .main .link-icon .icon-anchor:after,
  .main a .link-icon.icon-anchor a:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }

  html:not(.sp) .main .link-icon .icon-anchor:hover:after,
  html:not(.sp) .main a:hover .link-icon.icon-anchor a:after {
    -webkit-transform: translate3d(0, 3px, 0) rotate(90deg);
    transform: translate3d(0, 3px, 0) rotate(90deg);
  }


  html:not(.sp) .main .link-icon a:hover {
    text-decoration: underline;
  }

  html:not(.sp) .main .link-icon a[href*='.pdf']:hover:after,
  html:not(.sp) .main .link-icon a[href*='.doc']:hover:after,
  html:not(.sp) .main .link-icon a[href*='.xls']:hover:after {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  .main li.link-icon {
    padding-left: 0;
  }

  .main li.link-icon:before {
    display: none;
  }

  /* 文字色 - 白 */

  .main .txt-white .link-icon a:after,
  .main .txt-white a .link-icon:after {
    background-position-y: -144px !important;
  }

  /*---------------------------------------------
    [LK2] 横並びリンク
    ---------------------------------------------*/

  .main .link-horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    line-height: 1.6;
    margin-top: 0 !important;
    margin-bottom: 25px;
  }

  .main .link-horizontal a {
    position: relative;
    margin: 0 25px 5px 0;
  }

  .main .link-horizontal a:last-child {
    margin-right: 10px;
  }

  .main .link-horizontal a:not(:last-child):before {
    position: absolute;
    top: 0.25em;
    right: -10px;
    display: block;
    background-color: rgba(0, 0, 0, 0.15);
    content: '';
    height: 1em;
    vertical-align: top;
    width: 1px;
  }

  .main .link-horizontal a {
    text-decoration: none;
  }

  html:not(.sp) .main .link-horizontal a:hover {
    text-decoration: underline;
  }

  /* 文字色 - 白 */

  .main .txt-white .link-horizontal a:not(:last-child):before {
    background-color: rgba(255, 255, 255, 0.2);
  }

  /*---------------------------------------------
    [TG] タグ／ラベル
    ---------------------------------------------*/

  .main .tag,
  .main .label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .main .tag {
    margin-bottom: 15px;
    margin-right: -15px;
  }

  .main .label {
    margin: 0 -10px 10px 0;
  }

  .main .tag.center,
  .main .label.center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }

  .main .tag.right,
  .main .label.right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }

  .main .tag button {
    position: relative;
    display: block;
    background: transparent;
    border: solid 1px rgba(0, 146, 87, 0.5);
    border-radius: 100px;
    color: #009257;
    font-size: 0.88rem;
    line-height: 1;
    margin: 0 15px 15px 0;
    min-width: 90px;
    overflow: hidden;
    padding: 7px 20px;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }

  .main .tag button.current {
    background: #009257;
    color: #fff;
    pointer-events: none;
  }

  html:not(.sp) .main .tag button:hover {
    background: #009257;
    color: #fff;
  }

  .main .tag a {
    position: relative;
    display: block;
    border-radius: 100px;
    font-size: 0.81rem;
    line-height: 1;
    margin: 0 8px 8px 0;
    overflow: hidden;
    padding: 8px 15px;
    text-align: center;
    text-decoration: none;
  }

  .main .tag a:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-color: #fff;
    border-radius: 100px;
    content: '';
    height: 100%;
    margin: 0;
    opacity: 0;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    width: 100%;
  }

  html:not(.sp) .main .tag a:hover:before {
    opacity: 0.2;
  }

  .main .label span {
    display: block;
    font-size: 0.81rem;
    line-height: 1.4;
    margin: 0 10px 10px 0;
    padding: 9px 19.5px;
    text-align: center;
  }

  .label-inline {
    display: inline-block;
    color: #fff;
    font-size: 0.69rem;
    font-weight: bold;
    line-height: 1;
    margin: 0 10px;
    padding: 4px 6px 3px;
    text-transform: uppercase;
    vertical-align: middle;
  }

  /* 色 */

  .main .tag a,
  .main .label span,
  .label-inline {
    background-color: #8974cb;
    color: #fff !important;
  }

  .main .tag a:before {
    background-color: #fff;
  }

  html:not(.sp) .main .tag a:hover:before {
    opacity: 0.2;
  }

  .main .tag a.bg-white:before,
  .main .tag a.bg-light:before,
  .main .tag a.bg-gray:before {
    background-color: #000;
  }

  html:not(.sp) .main .tag a.bg-white:hover:before,
  html:not(.sp) .main .tag a.bg-light:hover:before,
  html:not(.sp) .main .tag a.bg-gray:hover:before {
    opacity: 0.07;
  }

  /*---------------------------------------------
    [BT] ボタン
    ---------------------------------------------*/

  .main .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 0.94rem;
    line-height: 1.6;
    margin-bottom: 0;
  }

  .main .btn.center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
  }

  .main .btn.right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }

  .main .p-free .btn {
    margin: 0 -20px 15px 0;
  }

  .main .p-free .btn.full {
    margin-right: 0;
  }

  .main .p-free .btn:last-child {
    margin-bottom: 0;
  }

  .main .p-free p:not([class*="heading"])  + .btn {
    margin-top: -15px;
  }

  .p-free + .btn {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 7.14285714285% 0 0;
  }

  .main .btn > * {
    position: relative;
    z-index: 1;
    display: block;
    border: 0 none;
    border-radius: 100px;
    cursor: pointer;
    font-size: inherit;
    margin: 0 20px 20px 0;
    min-width: 150px;
    outline: none;
    padding: 8px 0 7px;
    text-align: center;
    text-decoration: none;
  }

  .main .p-free .btn > * {
    margin: 0 20px 15px 0;
  }

  .main .btn.full > * {
    margin-right: 0;
    min-width: 0;
    width: 100%;
  }

  .main .btn .ghost {
    padding: 7.5px 0 6.5px;
    -webkit-transition: background-color 0.2s linear, border 0.2s linear;
    transition: background-color 0.2s linear, border 0.2s linear;
  }

  .p-free + .btn .ghost {
    margin: 0;
  }

  .main .btn > *:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-radius: 100px;
    content: '';
    height: 100%;
    opacity: 0;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    width: 100%;
  }

  .main .btn .ghost:before {
    display: none;
  }

  .main .btn span {
    position: relative;
    display: inline-block;
    padding: 0 30px;
  /*	padding: 0 40px 0 30px;*/
  }

  .main .btn span:after {
  /*	position: absolute;
    top: 0;
    right: 12px;
    display: block;*/
    display: inline-block;
    background-image: url(../images/icon_link.png);
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    vertical-align: middle;
    width: 24px;
    margin: 0 -10px 0 5px;
  }

  .main .btn .icon-download span:after {
    background-position-x: -24px !important;
  }

  .main .btn a[target*="blank"] span:after,
  .main .btn .icon-window span:after {
    background-position-x: -48px;
  }

  .main .btn .icon-pdf span:after {
    background-position-x: -72px;
  }

  .main .btn .icon-index span:after {
    background-position-x: -96px;
  }

  .main .btn .icon-open span:after {
    background-position-x: -120px;
  }

  .main .btn .icon-close span:after {
    background-position-x: -144px;
  }

  .main .btn .icon-enlarge span:after {
    background-position-x: -168px;
  }

  .main .btn .icon-search span:after {
    background-position-x: -192px;
  }

  .main .btn .icon-contact span:after {
    background-position-x: -216px;
  }

  .main .btn .icon-play span:after {
    background-position-x: -240px;
  }

  html:not(.sp) .main .btn > *:not([class*='icon-']):not([target*="blank"]):hover span:after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  /* 「戻る」アイコン */

  .main .btn .icon-back span:after {
    display: none;
  }

  .main .btn .icon-back span:before {
    position: static;
    display: inline-block;
    background-image: url(../images/icon_link.png);
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    vertical-align: middle;
    width: 24px;
    margin: 0 5px 0 -10px;
    border-radius: 0;
    opacity: 1;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .main .btn .ghost.icon-back span:before {
    background-position-y: -24px;
  }

  html:not(.sp) .main .btn .icon-back:hover span:before {
    -webkit-transform: translate3d(-3px, 0, 0) rotate(180deg);
    transform: translate3d(-3px, 0, 0) rotate(180deg);
  }

  html:not(.sp) .main .btn .ghost.icon-back:hover span:before {
    background-position-y: -144px;
  }

  /*
  .main .btn .icon-back span {
    padding: 0 30px 0 40px;
  }

  .main .btn .icon-back span:after {
    right: auto;
    left: 12px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }

  html:not(.sp) .main .btn .icon-back:hover span:after {
    -webkit-transform: translate3d(-3px, 0, 0) rotate(180deg);
    transform: translate3d(-3px, 0, 0) rotate(180deg);
  }
  */
  /* 「ページ内リンク」アイコン */

  .main .btn .icon-anchor span:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }

  html:not(.sp) .main .btn .icon-anchor span:hover:after {
    -webkit-transform: translate3d(0, 3px, 0) rotate(90deg);
    transform: translate3d(0, 3px, 0) rotate(90deg);
  }

  /* ----- 色 ----- */

  .main .btn > *,
  .main .p-free .btn > *  {
    background-color: #008b4e;
    color: #fff;
  }

  .main .btn > *:before {
    background-color: #fff;
  }

  .main .btn > * span:after {
    background-position-y: -144px;
  }

  html:not(.sp) .main .btn > *:hover,
  html:not(.sp) .main .p-free .btn > *:hover {
    color: #fff;
  }

  html:not(.sp) .main .btn > *:hover:before {
    opacity: 0.2;
  }

  .main .btn .bg-white,
  .main .btn .bg-light,
  .main .btn .bg-gray {
    color: #333 !important;
  }

  .main .btn .bg-white:before,
  .main .btn .bg-light:before,
  .main .btn .bg-gray:before {
    background-color: #000;
  }

  .main .btn .bg-white:not(.ghost) span:after,
  .main .btn .bg-light:not(.ghost) span:after,
  .main .btn .bg-gray:not(.ghost) span:after {
    background-position-y: -120px;
  }

  html:not(.sp) .main .btn .bg-white:hover:before,
  html:not(.sp) .main .btn .bg-light:hover:before,
  html:not(.sp) .main .btn .bg-gray:hover:before {
    opacity: 0.07;
  }

  /* ゴーストボタン */

  .main .btn .ghost {
    background-color: transparent !important;
    border: solid 1px rgba(0, 146, 87, 0.5);
    color: #009257;
  }

  .main .btn .ghost span:after {
    background-position-y: -24px;
  }

  html:not(.sp) .main .btn .ghost:hover {
    background-color: #009257 !important;
  }

  html:not(.sp) .main .mainvisual .btn .ghost:hover {
    background-color: #fff !important;
    color: #009257;
  }

  html:not(.sp) .main .btn .ghost:hover span:after {
    background-position-y: -144px;
  }

  html:not(.sp) .main .mainvisual .btn .ghost:hover span:after {
    background-position-y: -24px;
  }

  /* ゴーストボタン - 黄緑 */

  .main .btn .ghost.bg-color1 {
    border: solid 1px #b2c473;
    color: #b2c473;
  }

  .main .btn .ghost.bg-color1 span:after {
    background-position-y: -48px;
  }

  html:not(.sp) .main .btn .ghost.bg-color1:hover {
    background-color: #b2c473 !important;
  }

  /* ゴーストボタン - オレンジ */

  .main .btn .ghost.bg-color2 {
    border: solid 1px #efa55e;
    color: #efa55e;
  }

  .main .btn .ghost.bg-color2 span:after {
    background-position-y: -72px;
  }

  html:not(.sp) .main .btn .ghost.bg-color2:hover {
    background-color: #efa55e !important;
  }

  /* ゴーストボタン - 赤 */

  .main .btn .ghost.bg-color3 {
    border: solid 1px #f2646e;
    color: #f2646e;
  }

  .main .btn .ghost.bg-color3 span:after {
    background-position-y: -96px;
  }

  html:not(.sp) .main .btn .ghost.bg-color3:hover {
    background-color: #f2646e !important;
  }

  /* ゴーストボタン - ダークグレー */

  .main .btn .ghost.bg-dark {
    border: solid 1px #434c4d;
    color: #434c4d;
  }

  .main .btn .ghost.bg-dark span:after {
    background-position-y: -120px;
  }

  html:not(.sp) .main .btn .ghost.bg-dark:hover {
    background-color: #434c4d !important;
  }

  /* ゴーストボタン - 白 */

  .main .txt-white .btn .ghost:not(:hover) {
    border: solid 1px rgba(255, 255, 255, 0.5);
  }

  .main .txt-white .btn .ghost span:after {
    background-position-y: -144px;
  }

  html:not(.sp) .main .txt-white .btn .ghost:hover {
    background-color: #fff !important;
    border: solid 1px #fff !important;
  }

  html:not(.sp) .main .txt-white .btn .ghost:hover span {
    color: #434c4d !important;
  }

  html:not(.sp) .main .txt-white .btn .ghost:hover span:after {
    background-position-y: -120px !important;
  }

  /*---------------------------------------------
    [BX] ボックス
    ---------------------------------------------*/

  .main .box {
    margin-bottom: 30px;
  }

  .main .box .bar {
    margin-bottom: 0;
  }

  .main .box .box-body {
    border-bottom: solid 3px #e5e5e5;
    border-left: solid 3px #e5e5e5;
    border-right: solid 3px #e5e5e5;
    padding: 11.5px 20px 10px;
  }

  .main .box .box-body p {
    line-height: 1.5;
    margin: 0;
  }

  .main .box .box-body .box-body-h {
    color: #333;
    font-size: 0.94rem;
    font-weight: bold;
  }

  .main .box .box-body dl {
    font-size: 0.94rem;
    line-height: 1.5;
    margin: 2px 0 0;
  }

  .main .box .box-body dl dt {
    color: #333;
    padding: 0 0.5em 0 0;
    width: auto;
  }

  .main .box .box-body dl dd {
    padding: 0;
  }

  .main .box .box-body .box-body-caption {
    font-size: 0.81rem;
    line-height: 1.6;
    margin-top: 5.5px;
  }

  .main .box .box-body dl.list-col2 dd {
    width: auto;
  }

  .main .box .box-body dl.list-col2 dd + dt {
    margin-left: 30px;
  }

  .main .box.box-tool {
    border: solid 3px #e5e5e5;
    padding: 13px 15px;
  }

  .main .box.box-tool .box-tool-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .main .box.box-tool .box-tool-wrap .box-tool-img {
    width: 158px;
  }

  .main .box.box-tool .box-tool-wrap p {
    color: #333;
    font-size: 0.75rem;
    line-height: 1.5;
    padding: 0 0 0 15px;
    width: calc(100% - 158px);
  }

  .main .box.box-content {
    background-color: #f1f1f1;
    padding: 20px;
  }

  .main .box.box-clip {
    position: relative;
    background-color: #f1f1f1;
    padding: 20px 20px 20px 60px;
  }

  .main .box.box-clip::before {
    position: absolute;
    top: -8px;
    left: 18px;
    display: block;
    background: url(../images/icon_clip.png) no-repeat top left;
    content: '';
    height: 48px;
    width: 25px;
  }

  .main .box.box-content h2.heading,
  .main .box.box-clip h2.heading {
    font-size: 1.13rem;
    font-weight: bold;
    margin: 0 0 2px;
  }

  .main .box.box-content h3.heading,
  .main .box.box-clip h3.heading {
    font-size: 1rem;
    font-weight: bold;
    margin: 0 0 9px;
  }

  .main .box.box-double {
    border: solid 3px #e5e5e5;
    padding: 3px;
  }

  .main .box.box-double .box-double-wrap {
    border: solid 3px #e5e5e5;
    padding: 15.5px 20px;
  }

  .main .box.box-fukidashi {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .main .box.box-fukidashi .box-fukidashi-img {
    width: 130px;
  }

  .main .box.box-fukidashi .box-fukidashi-desc {
    position: relative;
    background: #f1f1f1;
    padding: 15.5px 20px;
    width: calc(100% - 160px);
  }

  .main .box.box-fukidashi .box-fukidashi-desc::after {
    position: absolute;
    top: 30px;
    left: -20px;
    display: block;
    border-color: transparent #f1f1f1 transparent transparent;
    border-style: solid;
    border-width: 20.5px 28px 20.5px 0;
    content: '';
    height: 0;
    width: 0;
  }

  .main .box.box-fukidashi .box-fukidashi-desc p {
    margin: 0;
  }

  .main .box.box-fukidashi .box-fukidashi-desc p.right {
    color: #333;
    font-weight: bold;
    margin: 3px 0 0;
  }

  .main .box.box-fukidashi-p2 .box-fukidashi-img {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .main .box.box-fukidashi-p2 .box-fukidashi-desc {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .main .box.box-fukidashi-p2 .box-fukidashi-desc::after {
    right: -20px;
    left: inherit;
    border-color: transparent transparent transparent #f1f1f1;
    border-width: 20.5px 0 20.5px 28px;
  }

  .main .bar,
  .main p.bar {
    background-color: #e5e5e5;
    color: #000;
    font-size: 0.94rem;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 15px;
    padding: 8px 20px;
  }

  .main .bar.bg-lgr {
    background-color: #f1f1f1;
  }

  .main .bar.bg-lg {
    background-color: #e4efea;
  }

  .main .bar.bg-lyg {
    background-color: #e8f2ce;
  }

  .main .bar.bg-lb {
    background-color: #dbecf0;
  }

  .main .bar.bg-lr {
    background-color: #f2e0e7;
  }

  .main .box.box-link {
    background: #f1f1f1;
    line-height: 1.6;
    margin-bottom: 30px;
  }

  .main h2.bar.xl {
    font-size: 1.38rem !important;
  }

  .main .bar.icon {
    position: relative;
    padding-top: 34px;
  }

  .main .bar.icon2 {
    position: relative;
    padding-left: 45px;
  }

  .main .bar.icon:after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 26px;
    top: 0;
    left: 0;
    background-color: #fff;
  }

  .main .bar.icon img {
    position: absolute;
    z-index: 1;
    display: block;
    top: 0;
    left: -6px;
  }

  .main .bar.icon2 img {
      position: absolute;
      display: block;
      top: 50%;
      left: 10px;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
  }

  .main .bar a {
    display: block;
    margin: -8px -20px;
    padding: 8px 20px;
  }

  .main .p-free .bar a:last-child {
    margin-bottom: -8px;
  }

  .main .bar.icon2 a  {
    margin-left: -45px;
  }

  .main .bar.link-icon a  {
    padding-right: 5px;
  }

  .main .box.box-link a,
  .main .box.box-link > div {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 31.5px 45px 26.5px 30px;
    text-decoration: none;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
  }

  .main .box.box-link a::after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    display: block;
    background-image: url(../images/icon_link.png);
    background-position-y: -24px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    width: 24px;
  }

  .main .box.box-link a[target*='blank']::after {
    background-position-x: -48px;

  }

  .main .box.box-link a:hover {
    background-color: #e5e5e5;
  }

  .main .box.box-link a:hover::after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  .main .box.box-link a[target*='blank']:hover::after {
    -webkit-transform: none;
    transform: none;
  }

  .main .box.box-link .box-link-h {
    color: #333;
    font-size: 1.13rem;
    font-weight: bold;
    margin-bottom: 0;
    text-align: center;
  }

  .main .box.box-link .box-link-desc {
    font-size: 0.88rem;
    margin-top: 10px;
  }

  .main .box-relation {
    border-top: solid 1px #e5e5e5;
    padding-top: 20px;
  }

  .main .box-relation p.l.weight-bold {
    margin-bottom: 20px;
  }

  /*---------------------------------------------
    [FR] 枠
    ---------------------------------------------*/

  .main .frame {
    position: relative;
    background: none transparent !important;
    border: solid 3px #e5e5e5;
    margin-bottom: 30px;
    padding: 14px 18px;
  }

  .main .frame.supporters {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    width: 100%;
    height: 80px;
    padding: 0 13px;
    line-height: 1.4;
  }

  .main .p-free .col-set > .frame:last-child {
    margin-bottom: 30px;
  }

  .main .p-free .col-set > .frame > *:last-child {
      margin-bottom: 0;
  }

  .main .frame .heading {
    color: #000;
    font-size: 1.13rem;
    font-weight: bold;
    line-height: 1.6;
  }

  .main .frame .heading:first-child {
    margin: -17px -21px 14px;
      padding: 15px 21px;
  }

  .main .frame .heading .heading-label {
    float: left;
    display: block;
    margin: -3px 10px -3px 0;
    padding: 6px 10px;
    font-size: .88rem;
    background-color: #fff;
  }

  .main .frame .heading .heading-label + span {
    display: block;
    overflow: hidden
  }

  /* ----- 色変更 ----- */

  .main .frame-green {
    border-color: #afd5c4;
  }

  .main .frame-red {
    border-color: #e50012;
  }

  .main .frame-lightred {
    border-color: #fbb0b5;
  }

  .main .frame.bg-white {
    border-color: #fff;
  }

  .main .frame.bg-light {
    border-color: #f1f1f1;
  }

  .main .frame.bg-gray {
    border-color: #e5e5e5;
  }

  .main .frame.bg-dark {
    border-color: #434c4d;
  }

  .main .frame.bg-color0 {
    border-color: #008b4e;
  }

  .main .frame.bg-color1 {
    border-color: #b2c473;
  }

  .main .frame.bg-color2 {
    border-color: #efa55e;
  }

  .main .frame.bg-color3 {
    border-color: #f2646e;
  }

  .main .frame.bg-gradation1 {
    border-bottom-color: transparent;
    border-left-color: #f79be5;
    border-right-color: #7e88e8;
    border-top-color: transparent;
  }

  .main .frame.bg-gradation1:before,
  .main .frame.bg-gradation1:after {
    position: absolute;
    left: -10px;
    display: block;
    background: -webkit-gradient(linear, left top, right top, color-stop(0, #f79be5), to(#7e88e8));
    background: linear-gradient(to right, #f79be5 0, #7e88e8 100%);
    background: -moz-linear-gradient(left, #f79be5 0, #7e88e8 100%);
    content: '';
    height: 10px;
    width: calc(100% + 20px);
  }

  .main .frame.bg-gradation1:before {
    top: -10px;
  }

  .main .frame.bg-gradation1:after {
    bottom: -10px;
  }

  .main .frame.bg-img {
    -o-border-image: 10 stretch;
    border-image: 10 stretch;
  }

  .main .frame.bg-white .heading {
    border-color: #fff;
  }

  .main .frame.bg-light .heading {
    background-color: #f1f1f1;
    color: #fff;
  }

  .main .frame.bg-gray .heading {
    background-color: #e5e5e5;
    color: #fff;
  }

  .main .frame.bg-dark .heading {
    background-color: #434c4d;
    color: #fff;
  }

  .main .frame.bg-color0 .heading {
    background-color: #008b4e;
    color: #fff;
  }

  .main .frame.bg-color1 .heading {
    background-color: #b2c473;
    color: #fff;
  }

  .main .frame.bg-color2 .heading {
    background-color: #efa55e;
    color: #fff;
  }

  .main .frame.bg-color3 .heading {
    background-color: #f2646e;
    color: #fff;
  }

  .main .frame.bg-gradation1 .heading {
    background: -webkit-gradient(linear, left top, right top, color-stop(0, #f79be5), to(#7e88e8));
    background: linear-gradient(to right, #f79be5 0, #7e88e8 100%);
    background: -moz-linear-gradient(left, #f79be5 0, #7e88e8 100%);
    color: #fff;
  }

  /*---------------------------------------------
    [TB] 表
    ---------------------------------------------*/

  .main table {
    border-spacing: 0;
    color: #333;
    font-size: 0.94em;
    line-height: 1.6;
    margin-bottom: 30px;
    width: 100%;
  }

  .main table td {
    border: solid 1px #e5e5e5;
    padding: 10px 15px;
  }

  .main table th {
    background-color: #f1f1f1;
    border: solid 1px #e5e5e5;
    color: #333;
    font-weight: bold;
    padding: 10px 15px;
  }

  .main table th:only-of-type {
    min-width: 5em;
  }

  .main table thead th {
    background-color: #e5e5e5;
    border: solid 1px #dadada;
    color: #333;
    text-align: center;
  }

  .main table th.bg-gr {
    background-color: #e5e5e5;
    border: solid 1px #dadada;
  }

  .main .scroll {
    margin-bottom: 30px;
  }

  /*---------------------------------------------
    [NV2] タブ
    ---------------------------------------------*/

  .main .tab {
    margin-bottom: 50px;
  }

  .main .row .tab {
    margin-bottom: 20px;
  }

  .main .tab-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-box-align: stretch;
    -webkit-box-lines: single;
    -ms-flex-align: stretch;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin: 0 auto;
    overflow: hidden;
    padding: 10px 0 0;
  }

  .main .sp-tab-nav {
    display: none;
  }

  .main .tab-nav li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    margin: 0;
    min-height: 60px;
    padding: 0;
    width: 2000px;
  }

  .main .tab-nav li:last-of-type {
    border-right: 0 none;
    margin-right: -1px;
  }

  .main .tab-nav li:before {
    display: none;
  }

  .main .tab-nav li a,
  .main .tab-nav li label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    cursor: pointer;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    font-size: 0.88rem;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 1.5;
    padding: 5px;
    text-align: center;
    text-decoration: none;
    -webkit-transition: background-color 0.2s linear, border-right-color 0.2s linear, margin 0.2s ease-in-out, padding 0.2s ease-in-out;
    transition: background-color 0.2s linear, border-right-color 0.2s linear, margin 0.2s ease-in-out, padding 0.2s ease-in-out;
    width: 100%;
  }

  .main .tab-nav li a.current,
  .main .tab-nav li label.current {
    background: #f1f1f1;
    margin-top: -10px;
    padding-bottom: 15px;
  }

  .main .tab-nav li a.disabled {
    pointer-events: none;
  }

  /* 色指定 */

  .main .tab-nav li a,
  .main .tab-nav li label {
    background-color: #ddd;
    border-right: solid 1px #ccc;
    color: #333 !important;
  }

  .main .tab-nav li.current a,
  .main .tab-nav li.current label {
    background-color: #f1f1f1 !important;
    border-right-color: #ccc !important;
    color: #333 !important;
  }

  html:not(.sp) .main .tab-nav li a:hover,
  html:not(.sp) .main .tab-nav li label:hover {
    background-color: #f1f1f1;
    margin-top: -10px;
    padding-bottom: 15px;
  }

  .main .tab-content {
    background-color: #f1f1f1;
    overflow: hidden;
  }

  .main .row .tab-content {
    padding: 0;
  }

  .main .tab-container {
    overflow: hidden;
  }

  .main .tab-slider {
    position: relative;
    width: 1000%;
  }

  .main .tab-element {
    display: none;
    float: left;
    padding: 30px 0 10px;
  }

  .main .tab-slider .tab-element {
    width: 10%;
  }

  .main .tab-element:first-of-type {
    display: block;
  }

  .main .row .tab .tab-element {
    padding-left: 30px;
    padding-right: 30px;
  }

  /* ----- アコーディオン ----- */

  .main .accordion {
    margin-bottom: 1px;
  }

  .main .accordion .heading a {
    position: relative;
    display: block;
    padding: 10px 20px;
    color: #333;
    font-size: 1.13rem;
    font-weight: bold;
    text-decoration: none;
    background-color: #f1f1f1;
    transition: background-color .3s linear;
  }

  html:not(.sp) .main .accordion .heading a:hover {
    color: #333;
    background-color: #e5e5e5;
  }

  .main .accordion .heading a span {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -13px;
    display: block;
    border: solid 1px rgba(6, 141, 82, 0.5);
    border-radius: 50%;
    cursor: pointer;
    height: 26px;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    width: 26px;
    z-index: 1;
  }

  .main .accordion .heading a span::before,
  .main .accordion .heading a span::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: #058d51;
    content: '';
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }

  .main .accordion .heading a span::before {
    height: 12px;
    width: 2px;
  }

  .main .accordion .heading a span::after {
    height: 2px;
    width: 12px;
  }

  .main .accordion.is-open .heading a span::before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }

  .main .accordion .accordion-content {
    display: none;
    padding-bottom: 30px;
  }

  .main .accordion:last-child .accordion-content {
    padding-bottom: 0;
  }

  /*---------------------------------------------
    [FM] フォーム
    ---------------------------------------------*/

  .main .form dl.border-set {
    margin-bottom: 50px;
  }

  .main .form dl.border-set > dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    padding: 25px 0;
  }

  .main .form .caption {
    display: inline-block;
    margin: 0;
    padding: 5px 0;
    vertical-align: middle;
  }

  .main .form input,
  .main .form select,
  .main .form textarea,
  .main .form span {
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
  }

  .main .form input[type='text'],
  .main .form textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #e5e5e5;
    border-radius: 3px;
    font-size: 16px;
    line-height: 1.6;
    margin: 5px 0;
    max-width: 300px;
    padding: 5px;
    vertical-align: middle;
    width: 100%;
  }

  .main .form input[type='text']:not(.full) {
    margin-right: 15px;
  }

  .main .form input[type='text'].full,
  .main .form textarea.full {
    max-width: 100%;
  }

  .main :-moz-placeholder {
    color: #bbb;
    opacity: 1;
  }

  .main ::-webkit-input-placeholder {
    color: #bbb;
    opacity: 1;
  }

  .main :-ms-input-placeholder {
    color: #bbb;
  }

  .main :placeholder-shown {
    color: #bbb;
  }

  .main .form select {
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: url(../images/btn_select.gif);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 30px 45px;
    border: 1px solid #e5e5e5;
    border-radius: 3px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.6;
    margin: 5px 0;
    padding: 5px 40px 5px 5px;
    vertical-align: middle;
  }

  html:not(.sp) .main .form input[type='text']:hover,
  html:not(.sp) .main .form textarea:hover,
  html:not(.sp) .main .form select:hover {
    border: 1px solid #006a9b;
  }

  .main .form select::-ms-expand {
    display: none;
  }

  .main .form label {
    display: inline-block;
    cursor: pointer;
    margin: 5px 20px 5px 0;
  }

  .main .form input[type='radio'] {
    display: none;
  }

  .main .form input[type='radio'] + span {
    position: relative;
    display: inline-block;
    background-color: #fff;
    border: 2px solid #e5e5e5;
    border-radius: 9px;
    height: 18px;
    margin: 5px 6px 5px 0;
    vertical-align: middle;
    width: 18px;
  }

  .main .form input[type='radio']:checked + span {
    border-color: #008b4e;
  }

  .main .form input[type='radio']:checked + span:after {
    display: block;
    background-color: #008b4e;
    border-radius: 5px;
    content: '';
    height: 10px;
    margin: 2px;
    width: 10px;
  }

  .main .form input[type='checkbox'] {
    display: none;
  }

  .main .form input[type='checkbox'] + span {
    position: relative;
    display: inline-block;
    background-color: #e5e5e5;
    height: 18px;
    margin: 5px 6px 5px 0;
    vertical-align: middle;
    width: 18px;
  }

  .main .form input[type='checkbox']:checked + span {
    background: #008b4e;
  }

  .main .form input[type='checkbox']:checked + span:before {
    position: absolute;
    top: 3px;
    left: 3px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    content: '';
    height: 6px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 10px;
  }

  .main .form .zip input[type='text'] {
    margin-right: 0;
    width: 60px;
  }

  .main .form .zip input[type='text']:last-child {
    width: 80px;
  }

  .main .form .btn-upload {
    position: relative;
    margin: 5px 0;
    max-width: 300px;
    overflow: hidden;
    white-space: nowrap;
  }

  .main .form .btn-upload .upload-value {
    display: block;
    background-color: transparent;
    border: 1px solid #e5e5e5;
    border-radius: 3px 0 0 3px;
    border-right: 0 none;
    font-size: 0.88rem;
    margin: 0 !important;
    padding: 5px 10px;
    vertical-align: middle;
  }

  html:not(.sp) .main .form .btn-upload:hover .upload-value {
    border-color: #006a9b;
  }

  .main .form .btn-upload span {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    background-color: #008b4e;
    border: 1px solid #008b4e;
    border-radius: 0 3px 3px 0;
    color: #fff;
    font-size: 0.88rem;
    height: 100%;
    line-height: 1.6;
    padding: 5px 10px;
    vertical-align: middle;
  }

  .main .form .btn-upload input[type=file] {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    height: 100%;
    opacity: 0;
    overflow: hidden;
    text-indent: -9999px;
    width: 100%;
  }

  .main .form dl.border-set .required {
    position: relative;
    padding-right: 40px;
  }

  .main .form dl.border-set .required:after {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    background-color: #f2646e;
    color: #fff;
    content: '必須';
    font-size: 0.69rem;
    font-weight: bold;
    line-height: 1;
    padding: 4px 6px 3px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    vertical-align: middle;
  }

  /*---------------------------------------------
    [EB1] 動画埋め込み
    ---------------------------------------------*/

  .main .embed-video {
    position: relative;
    margin-bottom: 30px;
    padding: 56.25% 0 0;
  }

  .main .embed-video iframe {
    position: absolute;
    top: 0;
    right: 0;
    border: 0 none;
    height: 100%;
    width: 100%;
  }

  /*---------------------------------------------
    [EB2] モーダル
    ---------------------------------------------*/

  /* Magnific Popup CSS */

  .mfp-bg {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-animation: mfp-bg-fadein 0.3s linear;
    animation: mfp-bg-fadein 0.3s linear;
    background: #000;
    height: 100%;
    opacity: 0.8;
    overflow: hidden;
    width: 100%;
    z-index: 10042;
  }

  .mfp-bg.mfp-ready.mfp-removing {
    opacity: 0;
    -webkit-transition: opacity 0.3s linear 0.3s;
    transition: opacity 0.3s linear 0.3s;
  }

  .mfp-wrap {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    outline: none !important;
    width: 100%;
    z-index: 10043;
  }

  html:not(.sp) .mfp-wrap {
    overflow-y: scroll !important;
  }

  .mfp-container {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 100%;
    max-width: none;
    text-align: center;
    width: 100%;
  }

  .mfp-container:before {
    display: inline-block;
    content: '';
    height: 100%;
    vertical-align: middle;
  }

  .mfp-align-top .mfp-container:before {
    display: none;
  }

  .mfp-content {
    position: relative;
    display: inline-block;
    -webkit-backface-visibility: hidden;
    margin: 20px auto;
    opacity: 0;
    text-align: left;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    vertical-align: middle;
    z-index: 10045;
  }

  .mfp-wrap.mfp-ready .mfp-content {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s linear;
    -webkit-transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out;
    transition: opacity 0.3s linear, -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out, opacity 0.3s linear;
    transition: transform 0.3s ease-out, opacity 0.3s linear, -webkit-transform 0.3s ease-out;
  }

  .mfp-wrap.mfp-ready.mfp-removing .mfp-content {
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    -webkit-transition: -webkit-transform 0.3s ease-in 0.3s, opacity 0.3s linear 0.3s;
    -webkit-transition: opacity 0.3s linear 0.3s, -webkit-transform 0.3s ease-in 0.3s;
    transition: opacity 0.3s linear 0.3s, -webkit-transform 0.3s ease-in 0.3s;
    transition: transform 0.3s ease-in 0.3s, opacity 0.3s linear 0.3s;
    transition: transform 0.3s ease-in 0.3s, opacity 0.3s linear 0.3s, -webkit-transform 0.3s ease-in 0.3s;
  }

  .mfp-inline-holder .mfp-content,
  .mfp-ajax-holder .mfp-content {
    cursor: auto;
    padding: 40px 0;
    width: 100%;
  }

  .mfp-inline-holder .mfp-content > div {
    position: relative;
    -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.6);
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.6);
    margin: 0 auto;
  }

  .mfp-ajax-cur {
    cursor: progress;
  }

  .mfp-zoom-out-cur,
  .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: zoom-out;
    cursor: -webkit-zoom-out;
    cursor: -moz-zoom-out;
  }

  .mfp-zoom {
    cursor: zoom-in;
    cursor: -webkit-zoom-in;
    cursor: pointer;
  }

  .mfp-auto-cursor .mfp-content {
    cursor: auto;
  }

  .mfp-close,
  .mfp-arrow,
  .mfp-preloader,
  .mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }

  .mfp-loading.mfp-figure {
    display: none;
  }

  .mfp-hide {
    display: none !important;
  }

  .mfp-preloader {
    position: absolute;
    top: 50%;
    height: 60px;
    margin-top: -30px;
    overflow: hidden;
    text-indent: -9999px;
    width: 100%;
    z-index: 10044;
  }

  .mfp-preloader:before {
    display: block;
    background-image: url(../images/preloader.gif);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 60px 60px;
    content: '';
    height: 60px;
    margin: 0 auto;
    width: 60px;
  }

  .mfp-s-ready .mfp-preloader {
    display: none;
  }

  .mfp-s-error .mfp-content {
    display: none;
  }

  .mfp-close {
    position: absolute;
    top: 40px;
    right: 0;
    background: none;
    border: solid 2px rgba(255, 255, 255, 0.5);
    border-radius: 15px;
    cursor: pointer;
    height: 30px;
    opacity: 0.5;
    outline: none;
    overflow: hidden;
    text-indent: -9999px;
    width: 30px;
  }

  .mfp-ready .mfp-close {
    top: 0;
    -webkit-transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, -webkit-transform 0.3s ease-in-out, opacity 0.3s linear;
    -webkit-transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.3s linear, -webkit-transform 0.3s ease-in-out;
    transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.3s linear, -webkit-transform 0.3s ease-in-out;
    transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.3s ease-in-out, opacity 0.3s linear;
    transition: top 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.3s ease-in-out, opacity 0.3s linear, -webkit-transform 0.3s ease-in-out;
  }

  .mfp-ready.mfp-removing .mfp-close {
    top: 40px;
    -webkit-transition: top 0.3s ease-in 0s;
    transition: top 0.3s ease-in 0s;
  }

  .mfp-ready .mfp-iframe-holder .mfp-close,
  .mfp-ready .mfp-inline-holder .mfp-close {
    top: -40px;
  }

  .mfp-ready.mfp-removing .mfp-iframe-holder .mfp-close,
  .mfp-ready.mfp-removing .mfp-inline-holder .mfp-close {
    top: 0;
  }

  html:not(.sp) .mfp-close:hover {
    opacity: 1;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  .mfp-close:before,
  .mfp-close:after {
    position: absolute;
    top: 4px;
    right: 12px;
    display: block;
    background-color: #fff;
    border-radius: 2px;
    content: '';
    height: 18px;
    width: 2px;
  }

  .mfp-close:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .mfp-close:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  .mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #ccc;
    font-size: 0.96rem;
    line-height: 1.6;
    white-space: nowrap;
  }

  .mfp-arrow {
    position: absolute;
    top: 50%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #008b4e;
    border: 0 none;
    border-radius: 50%;
    cursor: pointer;
    height: 40px;
    margin-top: -20px;
    outline: none;
    overflow: hidden;
    text-indent: -9999px;
    width: 40px;
    z-index: 10046;
  }

  .mfp-arrow:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-color: #fff;
    content: '';
    height: 100%;
    opacity: 0;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    width: 100%;
  }

  .mfp-arrow:hover:before {
    opacity: 0.2;
  }

  .mfp-arrow:after {
    position: absolute;
    top: 50%;
    display: block;
    background-image: url(../images/icon_link.png);
    background-position: 0 -144px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin-top: -12px;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    width: 24px;
  }

  .mfp-arrow-left {
    left: -100px;
  }

  .mfp-arrow-right {
    right: -100px;
  }

  .mfp-arrow-left:after {
    left: 7px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  html:not(.sp) .mfp-arrow-left:hover:after {
    -webkit-transform: translate3d(-3px, 0, 0) rotate(180deg);
    transform: translate3d(-3px, 0, 0) rotate(180deg);
  }

  .mfp-arrow-right:after {
    right: 7px;
  }

  html:not(.sp) .mfp-arrow-right:hover:after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  .mfp-ready .mfp-arrow-left {
    left: 20px;
    -webkit-transition: left 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
    transition: left 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
  }

  .mfp-ready.mfp-removing .mfp-arrow-left {
    left: -100px;
    -webkit-transition: left 0.5s ease-in 0s;
    transition: left 0.5s ease-in 0s;
  }

  .mfp-ready .mfp-arrow-right {
    right: 20px;
    -webkit-transition: right 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
    transition: right 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s;
  }

  .mfp-ready.mfp-removing .mfp-arrow-right {
    right: -100px;
    -webkit-transition: right 0.5s ease-in 0s;
    transition: right 0.5s ease-in 0s;
  }

  html:not(.sp) .mfp-close:hover {
    opacity: 1;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    max-width: 900px;
    padding-bottom: 40px;
    padding-top: 40px;
    width: 100%;
  }

  .mfp-iframe-scaler {
    position: relative;
    height: 0;
    padding-top: 56.25%;
    width: 100%;
  }

  .mfp-iframe-scaler iframe {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: #000;
    -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
    height: 100%;
    width: 100%;
  }

  /* Main image in popup */

  img.mfp-img {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: auto;
    line-height: 0;
    margin: 0 auto;
    max-width: 100%;
    width: auto;
    z-index: 1;
  }

  /* The shadow behind the image */

  .mfp-figure {
    line-height: 0;
    padding: 40px 0;
  }

  .mfp-figure:after {
    position: absolute;
    top: 40px;
    right: 0;
    bottom: 40px;
    left: 0;
    display: block;
    background: #444;
    -webkit-box-shadow: 0 0 50px rgba(0, 0, 0, 0.6);
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.6);
    content: '';
    height: auto;
    width: auto;
    z-index: -1;
  }

  .mfp-figure small {
    display: block;
    color: #bdbdbd;
    font-size: 0.75rem;
    line-height: 1.6;
  }

  .mfp-figure figure {
    position: relative;
    margin: 0;
  }

  .mfp-bottom-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    cursor: auto;
    width: 100%;
  }

  .mfp-ready .mfp-bottom-bar {
    bottom: -40px;
    -webkit-transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, -webkit-transform 0.2s ease-in-out, opacity 0.2s linear;
    -webkit-transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.2s linear, -webkit-transform 0.2s ease-in-out;
    transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, opacity 0.2s linear, -webkit-transform 0.2s ease-in-out;
    transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.2s ease-in-out, opacity 0.2s linear;
    transition: bottom 0.3s cubic-bezier(0.47, 1.83, 0.71, 1) 0.3s, transform 0.2s ease-in-out, opacity 0.2s linear, -webkit-transform 0.2s ease-in-out;
  }

  .mfp-ready.mfp-removing .mfp-bottom-bar {
    bottom: 0;
    -webkit-transition: bottom 0.3s ease-in 0s;
    transition: bottom 0.3s ease-in 0s;
  }

  .mfp-ready .mfp-iframe-holder .mfp-bottom-bar {
    bottom: 0;
  }

  .mfp-ready.mfp-removing .mfp-iframe-holder .mfp-bottom-bar {
    bottom: -35px;
  }

  .mfp-title {
    color: #fff;
    float: left;
    height: 1.6em;
    line-height: 1.6;
    padding-right: 4em;
    text-align: left;
  }

  .mfp-image-holder .mfp-content {
    max-width: 100%;
  }

  .mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer;
  }

  /*---------------------------------------------
    [SL] スライダー
    ---------------------------------------------*/

  .main .slider {
    position: relative;
    margin-bottom: 30px;
  }

  .main .slider-container {
    overflow: hidden;
    width: 100%;
  }

  .main .slider .panel-vertical,
  .main .slider .panel-covered {
    margin-bottom: 0;
  }

  /* ----- Slick Slider ----- */

  .main .slick-slider {
    display: block;
    -khtml-user-select: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }

  .main .slick-list {
    position: relative;
    display: block;
    margin: 0;
    overflow: hidden;
    padding: 0;
  }

  .main .slick-list:focus {
    outline: none;
  }

  .main .slick-list.dragging {
    cursor: hand;
    cursor: pointer;
  }

  .main .slick-slider .slick-track,
  .main .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  .main .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
  }

  .main .slick-track:before,
  .main .slick-track:after {
    display: table;
    content: '';
  }

  .main .slick-track:after {
    clear: both;
  }

  .main .slick-loading .slick-track {
    visibility: hidden;
  }

  .main .slick-slide {
    display: none;
    margin-bottom: 0;
    min-height: 1px;
    outline: none;
  }

  .main .slick-slide img {
    display: block;
    width: 100%;
  }

  .main .slick-slide.slick-loading img {
    display: none;
  }

  .main .slick-slide.dragging img {
    pointer-events: none;
  }

  .main .slick-initialized .slick-slide {
    display: block;
  }

  .main .slick-loading .slick-slide {
    visibility: hidden;
  }

  .main .slick-vertical .slick-slide {
    display: block;
    border: 1px solid transparent;
    height: auto;
  }

  .main .slick-arrow.slick-hidden {
    display: none;
  }

  .main .slick-arrow {
    position: absolute;
    top: 50%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #333;
    border: 0 none;
    border-radius: 50%;
    cursor: pointer;
    height: 40px;
    margin: -55px 15px 0;
    outline: none;
    overflow: hidden;
    text-indent: -9999px;
    width: 40px;
    z-index: 2;
  }

  .main .slick-arrow:before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-color: #fff;
    content: '';
    height: 100%;
    opacity: 0;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    width: 100%;
  }

  .main .slick-arrow:hover:before {
    opacity: 0.2;
  }

  .main .slick-arrow:after {
    position: absolute;
    top: 50%;
    display: block;
    background-image: url(../images/icon_link.png);
    background-position: 0 -144px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin-top: -12px;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    width: 24px;
  }

  .main .slick-prev {
    left: 0;
  }

  .main .slick-next {
    right: 0;
  }

  .main .slick-prev:after {
    left: 7px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  html:not(.sp) .main .slick-prev:hover:after {
    -webkit-transform: translate3d(-3px, 0, 0) rotate(180deg);
    transform: translate3d(-3px, 0, 0) rotate(180deg);
  }

  .main .slick-next:after {
    right: 7px;
  }

  html:not(.sp) .main .slick-next:hover:after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  .main .slick-track .img {
    margin-bottom: 0;
  }

  .main .slick-dots {
    margin: 10px 0 0;
    padding: 0;
    text-align: center;
  }

  .main .slick-dots li {
    display: inline-block;
    border-radius: 8px;
    height: 16px;
    margin: 2px !important;
    padding: 4px !important;
    text-align: center;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    vertical-align: middle;
    width: 16px;
  }

  .main .slick-dots li:before {
    display: none;
  }

  .main .slick-dots li button {
    position: relative;
    display: block;
    background-color: #777;
    border: 0 none;
    border-radius: 4px;
    cursor: pointer;
    height: 8px;
    margin: 0;
    outline: none;
    overflow: hidden;
    padding: 0;
    text-indent: -9999px;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    width: 8px;
  }
  .main .no-col .slick-dots li button {
    background-color: #e5e5e5;
  }

  html:not(.sp) .main .slick-dots li:hover button,
  .main .slick-dots .slick-active button {
    background-color: #009257 !important;
  }

  /*---------------------------------------------
    [gm] Google Map
    ---------------------------------------------*/

  .main .gm {
    position: relative;
    height: 0;
    margin-bottom: 30px;
    overflow: hidden;
    padding-top: 66.66%;
  }

  .main .gm iframe,
  .main .gm object,
  .main .gm embed {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }

  /*---------------------------------------------
    共通
    ---------------------------------------------*/

  a {
    color: inherit;
    text-decoration: none;
  }

  input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border-style: none;
    color: inherit;
    outline: none;
    overflow: visible;
  }

  button {
    border: 0;
    cursor: pointer;
    outline: none;
    padding: 0;
  }

  /*---------------------------------------------
    メインビジュアル
    ---------------------------------------------*/

  .mainvisual {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .main .mainvisual-article .col-set {
    height: 100%;
  }

  .main .mainvisual-article .col2-3 {
    position: relative;
  }

  .mainvisual-sub {
    color: #fff;
  }

  .mainvisual-sub-head {
    margin: 7px 0 30px;
  }

  .mainvisual-sub-h {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.1;
  }

  .mainvisual-sub-body .btn .ghost {
    border: solid 1px #fff;
    color: #fff;
    margin: 0;
    width: 100%;
  }

  .mainvisual-sub-body .btn .ghost span::after {
    background-position-y: -144px;
  }

  .mainvisual-sub-desc {
    margin: 0 0 30px;
  }

  .mainvisual-sub-desc > p {
    font-size: 0.94rem;
    line-height: 1.7;
  }

  .mainvisual-search {
    margin: 20px 0 0;
  }

  #container .mainvisual-tab {
    width: calc(75.2136752136% - 40px);
  }

  #container .mainvisual-tab.tab {
    margin-bottom: 0;
    margin-top: -30px;
  }

  /*---------------------------------------------
    レイアウト
    ---------------------------------------------*/

  .l-content {
    background: #f1f1f1;
    padding: 40px 0 0;
  }

  /* ----- メインコンテンツ ----- */

  .l-content-main {
    margin-bottom: 58px;
  }

  .l-content-main .btn {
    margin: 30px 0 0;
  }

  html:not(.sp) .l-content-main .btn .ghost:hover {
    color: #fff !important;
  }

  .l-content-main .article-relation + .btn a {
    margin-bottom: 0;
  }

  /* ----- サイドコンテンツ ----- */

  .l-content-side {
    margin-bottom: 50px;
  }

  /* ----- イベントカレンダー ----- */

  .l-content-event {
    position: relative;
    background: #e5e5e5;
    text-align: center;
    width: 100vw;
  }

  .l-content-event::before,
  .l-content-event::after {
    position: absolute;
    top: 0;
    background: #e5e5e5;
    content: '';
    height: 100%;
    width: 200%;
  }

  .l-content-event::before {
    left: -200%;
  }

  .l-content-event::after {
    right: -200%;
  }

  .l-content-event-wrap {
    padding: 61.5px 0 70px;
  }

  /* ----- コンテナ ----- */

  #container .l-content-event .btn {
    padding: 10px 0 0;
  }

  #container .l-content-event .btn .ghost {
    margin: 0 auto;
  }

  /* ----- 下層 ----- */

  .l-content-page {
    margin-top: -130px;
  }

  /* 関連記事 */

  .l-content-relation {
    margin-top: 53px;
  }

  /* コンテンツ内フォーム SPのみ表示 */

  .l-content-form {
    display: none;
  }

  /*---------------------------------------------
    見出し
    ---------------------------------------------*/

  /* ----- ページタイトル ----- */

  .h-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 175px;
    padding: 10px 0;
  }

  .h-title > {
    display: block;
  }

  .h-l1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .h-l1 > {
    display: block;
  }

  .h-l1 span {
    color: #fff;
    font-size: 0.94rem;
    font-weight: normal;
    line-height: 1.4;
    margin: 0 0 0 50px;
  }

  /* ----- サイド ----- */

  .h-side {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 30px;
  }

  /* ----- 下層 ----- */

  .page .h-title {
    height: 120px;
  }

  .page .h-l1 span {
    margin: 0 0 0 28px;
  }

  /* ----- 本学サイト ----- */

  .main h2.h-l2 {
    font-size: 1.88rem;
    font-weight: normal;
  }

  .main h2.h-l2::after {
    content: '';
  }

  /*---------------------------------------------
    カラー
    ---------------------------------------------*/

  /* ----- 文字色 ----- */

  .c-purple {
    color: #8974cb !important;
  }

  .c-green {
    color: #88aa29 !important;
  }

  .c-orange {
    color: #e47b1e !important;
  }

  .c-aqua {
    color: #2aa794 !important;
  }

  .c-pink {
    color: #eb5f60 !important;
  }

  .c-blue {
    color: #3f84ab !important;
  }

  /*---------------------------------------------
    検索フォーム
    ---------------------------------------------*/

  /* ----- メインビジュアル ----- */

  .mainvisual .search-box {
    background: #fff;
    height: 50px;
    margin: 0 0 0 auto;
    width: 24.7863247863%;
  }

  .mainvisual .search-box button {
    background-image: url(../images/icon_search_g.png);
    height: 50px;
    width: 50px;
  }

  /* ----- 下層 コンテンツ内フォーム ----- */

  .l-content-form .search-box {
    background: #fff;
    height: 50px;
    margin: 0 0 0 auto;
    width: 24.7863247863%;
  }

  .l-content-form .search-box input {
    color: #333;
  }

  .l-content-form .search-box button {
    background-image: url(../images/icon_search_g.png);
    height: 50px;
    width: 50px;
  }

  /*---------------------------------------------
    絞り込み処理
    ---------------------------------------------*/

  /* ----- ローディング ----- */

  .loading {
    display: none;
    padding: 15px;
    text-align: center;
  }

  .loading span {
    display: block;
    background-image: url(../images/loader1.gif);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: 32px auto;
    height: 32px;
    margin: 0 auto;
    width: 32px;
  }

  .l-content-main-wrap + .loading {
    margin: 30px 0 0;
  }

  /* ----- エラーメッセージ ----- */

  .error {
    opacity: 0;
    padding: 15px;
    -webkit-transform: translate3d(0px, 50px, 0px);
    transform: translate3d(0px, 50px, 0px);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 0.3s ease-out 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 0.3s ease-out 0s;
    transition: transform 0.3s ease-out 0s, opacity 0.3s linear 0s;
    transition: transform 0.3s ease-out 0s, opacity 0.3s linear 0s, -webkit-transform 0.3s ease-out 0s;
  }

  .error.is-show {
    opacity: 1;
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
  }

  .mainvisual .loading {
    position: absolute;
    top: 0;
    display: none;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0;
    width: 100%;
    z-index: 2;
  }

  .mainvisual .loading img {
    margin-top: -50px;
  }

  .mainvisual .error {
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    width: 100%;
  }

  /*---------------------------------------------
    記事
    ---------------------------------------------*/

  .article {
    position: relative;
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 0.3s ease-out 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 0.3s ease-out 0s;
    transition: transform 0.3s ease-out 0s, opacity 0.3s linear 0s;
    transition: transform 0.3s ease-out 0s, opacity 0.3s linear 0s, -webkit-transform 0.3s ease-out 0s;
    width: 100%;
  }

  .article .label {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    z-index: 10;
  }

  .article .label span {
    margin: 0;
  }

  .article-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }

  .article.is-hide {
    opacity: 0;
    -webkit-transform: translate3d(0px, 50px, 0px);
    transform: translate3d(0px, 50px, 0px);
  }

  .article.is-show {
    opacity: 1;
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
  }

  .article-box:hover .article-img-box-frame {
    -webkit-transform: scale(1.1) rotate(0.1deg);
    transform: scale(1.1) rotate(0.1deg);
  }

  /* ----- 文章のみ ----- */

  .p-mv .article.article-l2 {
    margin: 0;
    padding: 0;
  }

  .p-mv .article.article-l2 .article-info {
    padding: 40px 7.14285714285% 0;
    width: 100%;
  }

  .p-mv .article.article-l2 .article-info-wrap {
    width: 100%;
  }

  /* ----- 動画あり ----- */

  .article-wrap-video .article-img {
    position: relative;
    cursor: pointer;
  }

  html:not(.spWebkit) .article-wrap-video .article-img::after {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.1);
    background-image: url(../images/icon_play.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 68px auto;
    content: '';
    cursor: pointer;
    height: 100%;
    opacity: 1;
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    width: 100%;
    z-index: 10;
  }

  html:not(.spWebkit) .article-wrap-video .article-img.is-play::after {
    opacity: 0;
  }

  .article-img {
    background: #fff;
    overflow: hidden;
    width: 39.2857142857%;
  }

  .article-img.is-play::after {
    opacity: 0;
  }

  .article-img.is-play .article-img-box iframe {
    opacity: 1;
  }

  .article-img-box {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  /*	cursor: pointer;*/
    height: 100%;
    width: 100%;
  }

  .article-img-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 100%;
    opacity: 0;
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    width: 100%;
    z-index: 10;
  }

  .article-img-box-frame {
    position: relative;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: auto 101%;
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
    width: 100%;
  }

  .article-img-box-frame::before {
    display: block;
    content: '';
    padding-top: 177.878787878%;
  }

  .article-img-box-frame span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
  }

  .article-video {
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    opacity: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    width: auto;
    z-index: 10;
  }

  .article-info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    padding: 50px 6.66%;
    width: 60.714285715%;
  }

  .article-info > {
    display: block;
  }

  .article-info-date {
    color: #333;
    line-height: 1;
    margin: 0 0 24px;
  }

  .article-info-h {
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 0 10.5px;
  }

  .article-info-title {
  /*	font-size: 1.75rem;*/
    font-size: 1.63rem;
    font-weight: bold;
    line-height: 1.4;
  }

  .article-info-desc {
    color: #333;
    line-height: 1.6;
  }

  .article-info-tag {
    color: #009257;
    font-size: 0.75rem !important;
    line-height: 1.3;
    margin-top: 8px;
  }

  .page .article-social {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin: 25px 0 0;
  }

  .page .article-social > {
    display: block;
  }

  .page .article-social li {
    line-height: 1;
    margin: 0 0 0 10px;
    padding: 0;
  }

  .page .article-social li::before {
    content: none;
  }

  /* ----- メインビジュアル 記事 ----- */

  .mainvisual .label {
    max-width: 60.714285715%;
    z-index: 12;
  }

  .mainvisual .article-info-desc {
    color: #000;
    font-weight: bold;
  }

  .mainvisual .article-info-tag {
    font-size: 0.88rem;
    margin-top: 20px;
  }

  .mainvisual .article-info-tag::before {
    position: relative;
    top: -1px;
  }

  /* ----- メインコンテンツエリア 記事 ----- */

  .article-block {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .article-block:nth-child(even) .article .label {
    right: inherit;
    left: 0;
  }

  .article-block:nth-child(even) .article-img {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .article-block:nth-child(even) .article-info {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .article-child {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    width: 50%;
  }

  .article-box{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .article-child .label {
    max-width: 50%;
  }

  .article-child .label span {
    font-size: 0.75rem;
  }

  .article-child .article-wrap {
    height: 100%;
  }

  .article-child .article-img,
  .article-child .article-info {
    width: 50%;
  }

  .article-child .article-img-box-frame::before {
    padding-top: 178.095238095%;
  }

  .article-child .article-info {
    padding: 50px 4.7619047619% 30px;
  }

  .article-child .article-info-date {
    font-size: 0.88em;
    margin-bottom: 10px;
  }

  .article-child .article-info-title {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 0;
  }

  .article-child .article-info-desc {
    font-size: 0.88em;
  }

  /* ----- メインエリア 記事 ----- */

  .l-content-main-wrap::after {
    display: block;
    clear: both;
    content: '';
  }

  .l-content-main-wrap .article-child:nth-child(odd) {
    float: left;
  }

  .l-content-main-wrap .article-child:nth-child(even) {
    float: right;
  }

  .l-content-main-wrap .article-child .label {
    right: inherit;
    left: 0;
  }

  .l-content-main-wrap .article-child .article-img {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .l-content-main-wrap .article-child .article-info {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .l-content-main-wrap .article-child:nth-child(4n - 3) .label,
  .l-content-main-wrap .article-child:nth-child(4n - 2) .label {
    right: 0;
    left: inherit;
  }

  .l-content-main-wrap .article-child:nth-child(4n - 3) .article-img,
  .l-content-main-wrap .article-child:nth-child(4n - 2) .article-img {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .l-content-main-wrap .article-child:nth-child(4n - 3) .article-info,
  .l-content-main-wrap .article-child:nth-child(4n - 2) .article-info {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  /* ----- サイドコンテンツエリア 記事 ----- */

  .side-article {
    border-top: solid 1px #dadada;
  }

  .side-article .article-child {
    border-bottom: solid 1px #dadada;
    padding: 10px 0;
    width: 100%;
  }

  .side-article .article-wrap-video .article-img::after {
    background-size: 38px auto;
  }

  .side-article .article-img {
    width: 79px;
  }

  .side-article .article-img-box-frame::before {
    padding-top: 178.481012658%;
  }

  .side-article .article-info {
    background: none;
    padding: 5px 0 5px 15px;
    width: calc(100% - 79px);
  }

  .side-article .article-info-date {
    font-size: 0.81rem;
  }

  .side-article .article-info-title {
    font-size: 0.88rem;
    font-weight: normal;
  }

  .side-article .article-info-tag {
    font-size: 0.75rem;
    line-height: 1;
  }

  .side-article .article-info-tag::before {
    content: none;
  }

  /* ----- 下層 関連記事 ----- */

  .article-relation-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .article-relation-wrap:nth-child(even) .article .label {
    right: inherit;
    left: 0;
  }

  .article-relation-wrap:nth-child(even) .article-img {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .article-relation-wrap:nth-child(even) .article-info {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .article-relation .label span {
    padding: 12px 14px;
  }

  /* ----- 記事アニメーション ----- */

  #articleSet {
    -webkit-transform: translate3d(0px, 0px, 0px);
    transform: translate3d(0px, 0px, 0px);
    -webkit-transition: opacity 0.3s linear 0s, -webkit-transform 0.3s ease-out 0s;
    transition: opacity 0.3s linear 0s, -webkit-transform 0.3s ease-out 0s;
    transition: transform 0.3s ease-out 0s, opacity 0.3s linear 0s;
    transition: transform 0.3s ease-out 0s, opacity 0.3s linear 0s, -webkit-transform 0.3s ease-out 0s;
  }

  /* -----  moreボタン ----- */

  .l-content-main .btn.js-more.disabled {
    opacity: 0;
    pointer-events: none;
  }

  /* iphone/ipad/androidの場合は記事ホバー時のiframeを削除 */

  .iphone .article .js-movie-on iframe,
  .ipad .article .js-movie-on iframe,
  .android .article .js-movie-on iframe {
    display: none;
  }

  .iphone .article .article-wrap-video .article-img-box::after,
  .ipad .article .article-wrap-video .article-img-box::after,
  .android .article .article-wrap-video .article-img-box::after {
    opacity: 1 !important;
  }

  /* ----- 記事内にリンクがある場合 ----- */

  .u-pickup-article.article-inlink .arrow::after {
    display: block;
    background-image: url(../images/icon_link.png);
    background-position-y: -24px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    width: 24px;
  }

  .u-pickup-article.article-inlink .article-info {
    padding: 4.5454545%;
  }

  .u-pickup-article.article-inlink .article-info-wrap {
    width: 100%;
  }

  .u-pickup-article.article-inlink .article-info-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .u-pickup-article.article-inlink .article-info-title > {
    display: block;
  }

  .u-pickup-article.article-inlink .article-info-title .arrow {
    display: none;
  }

  .u-pickup-article.article-inlink .article-info-desc {
    margin: 0;
  }

  .u-pickup-article.article-inlink .article-info-menu {
    margin: 0;
  }

  .u-pickup-article.article-inlink .article-info-menu li {
    line-height: 1.4;
    margin: 0;
    padding: 0 0 5px;
  }

  .u-pickup-article.article-inlink .article-info-menu li::before {
    content: none;
  }

  .u-pickup-article.article-inlink .article-info-menu li.link-icon a {
    color: #333;
  }

  .u-pickup-article.article-inlink .article-info-menu li.link-icon a:not([href*=".pdf"])::after {
    background-position-y: -24px;
  }

  .u-pickup-article.article-inlink .article-info-menu li a .arrow::after {
    position: relative;
    top: -1px;
    display: inline-block;
    vertical-align: middle;
  }

  .u-pickup-article.article-inlink .article-info-menu li a:hover .arrow::after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  .u-pickup-article.article-inlink .article-sub-nav {
    display: none;
  }

  /*---------------------------------------------
    下層（本学サイト）
    ---------------------------------------------*/

  /*---------------------------------------------
    本学下層汎用
    ---------------------------------------------*/

  /* ----- メインビジュアル ----- */

  .u-visual {
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .u-visual::before {
    display: block;
    content: '';
    padding-top: 44.4696969696%;
  }

  .u-visual::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: url(../images/shadow_mv.png) no-repeat top left;
    background-size: cover;
    content: '';
    height: 100%;
    width: 100%;
  }

  .u-visual .row {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 100%;
    max-width: none;
    width: 100%;
    z-index: 1;
  }

  .u-visual-v2 {
    min-height: calc(200px + 3.3vw);
    padding: 3.3vw 0 75px;
  }

  .u-visual-v2::before {
    content: none;
  }

  .u-visual-v2 .row {
    position: relative;
  }

  .u-visual-v2 .breadcrumb {
    position: relative;
    top: 0;
    margin-bottom: 40px;
  }

  .u-visual-v2 .u-visual-wrap {
    display: block;
    height: 100%;
  }

  .u-visual-v2 .u-visual-h {
    font-size: 2.25rem;
    text-align: center;
  }

  .u-visual-v2 .u-visual-h::after {
    display: block;
    background-color: #009257;
    content: '';
    height: 1px;
    margin: 10px auto 0;
    width: 60px;
  }

  .u-visual.sdw-full::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-color: rgba(0, 0, 0, 0.3);
    content: '';
    height: 100%;
    padding-top: 0;
    width: 100%;
  }

  .u-visual.sdw-full::after {
    content: none;
  }

  .u-visual-non {
    background-color: #fff;
    border-left: solid 1px #f1f1f1;
  }

  .u-visual-non::after {
    content: none;
  }

  .u-visual-non .u-visual-h {
    color: #000;
  }

  .u-visual-non .breadcrumb ul li {
    color: #000;
  }

  .u-visual-non .breadcrumb ul li::before {
    color: #999;
  }

  .u-visual-non .breadcrumb ul li a {
    color: #006a9b;
  }

  .u-visual-color {
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 3.3vw 0 44px;
  }

  .u-visual-color::after {
    content: none;
  }

  .u-visual-color .breadcrumb {
    margin-bottom: 20px;
  }

  .u-visual-color .u-visual-h {
    text-align: left;
  }

  .u-visual-color .u-visual-h::after {
    content: none;
  }

  .u-visual-color .u-visual-desc {
    color: #fff;
    font-size: 0.94em;
    font-weight: 500;
    line-height: 1.6;
    margin-top: 10px;
    max-width: 65%;
  }

  .u-visual-h {
    color: #fff;
    font-size: 2.88rem;
    font-weight: normal !important;
    line-height: 1.3;
  }

  /* 3カラムの場合 */

  .u-visual-wrap {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: calc(100% - 70px);
    overflow: hidden;
    width: 100%;
  }

  .u-visual:not(.u-visual-v2) .u-visual-wrap {
    padding-top: calc(3.3vw + 1rem);
  }

  .target .u-visual:not(.u-visual-v2) .u-visual-wrap {
    padding-bottom: 70px;
  }

  .u-visual-wrap > {
    display: block;
  }

  .u-visual-main {
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    float: left;
    width: 50%;
  }

  .u-visual-main::before {
    display: block;
    content: '';
    padding-top: 88.939393939%;
  }

  .u-visual-main::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: url(../images/shadow_mv_main.png) no-repeat top left;
    background-size: cover;
    content: '';
    height: 100%;
    width: 100%;
  }

  .u-visual-main-wrap {
    position: absolute;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: calc(100% - 70px);
    padding: calc(3.3vw + 1rem) 4vw 0;
    width: 100%;
    z-index: 1;
  }

  .u-visual-main .breadcrumb {
    padding: 0 4vw;
    z-index: 1;
  }

  .u-visual-sub {
    float: right;
    width: 50%;
  }

  .u-visual-sub-post {
    position: relative;
    float: left;
    overflow: hidden;
    width: 50%;
  }

  .u-visual-sub-post .article-wrap {
    display: block;
  }

  .u-visual-sub-post .article-wrap .article-img {
    width: 100%;
  }

  .u-visual-sub-post .article-wrap .article-info {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
  /*	background-color: rgba(0, 0, 0, .5);*/
    background: url(/assets/images/bg_article.png) no-repeat 0 0 transparent;
    background-size: 100% auto;
    padding: 30% 1.8vw calc(1.8vw + 70px);
    width: 100%;
    z-index: 2;
  }

  .u-visual-sub-post .article-wrap .article-info-title {
    color: #fff;
    font-size: 1.13rem;
    line-height: 1.5;
    margin: 0;
  }

  /* ----- ソーシャル ----- */

  .u-social {
    position: absolute;
    right: 0;
    bottom: 100px;
    padding: 0 30px;
    width: auto;
    z-index: 1;
  }

  .u-social ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }

  .u-social ul li {
    margin: 0 0 0 10px;
    padding: 0;
  }

  .u-social ul li::before {
    content: none;
  }

  .u-social ul li a {
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }

  .u-social ul li a:hover {
    opacity: 0.8;
  }

  /* ----- ローカルナビ ----- */

  .u-local-nav {
    position: relative;
    margin: -70px 0 63px auto;
    width: 88.637%;
    z-index: 1;
  }

  .u-local-nav ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #009257;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    width: 100%;
  }

  .u-local-nav ul li {
    border-bottom: solid 1px #24a470;
    border-right: solid 1px #24a470;
    margin: 0;
    padding: 0;
    width: 16.666666%;
  }

  .u-local-nav .col2 li {
    width: 50%;
  }

  .u-local-nav .col3 li {
    width: 33.333333%;
  }

  .u-local-nav .col4 li {
    width: 25%;
  }

  .u-local-nav .col5 li {
    width: 20%;
  }

  .u-local-nav ul li::before {
    content: none;
  }

  .u-local-nav ul li a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    height: 70px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.5;
    padding: 0 5px;
    text-align: center;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
  }

  .u-local-nav ul li a > {
    display: block;
  }

  .u-local-nav ul li a:hover {
    background-color: #24a470;
  }

  /* ----- リード ----- */

  .u-lead {
    text-align: center;
  }

  .u-lead p {
    color: #333;
    font-size: 1.13rem;
  }

  /* ----- 汎用 ----- */

  .u-section {
    padding-top: 64px;
  }

  .u-btn .btn {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .u-btn .btn .ghost {
    margin: 0;
  }

  /* ----- ポイント(3カラム部分) ----- */

  .u-point {
    padding-top: 23px;
  }

  .u-point .h-l2 {
    padding-top: 34px;
  }

  .u-point .u-col3-item-img {
    height: 130px;
  }

  /* ----- ピックアップ ----- */

  .u-pickup {
    padding-top: 4.8484848%;
  }

  .u-pickup-conts-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .u-pickup-article.u-pickup-article-sch .article-info::after {
    content: none;
  }

  .u-pickup-article.u-pickup-article-sch .article-info .article-info-title {
    color: #fff;
  }

  .u-pickup-article.u-pickup-article-sch .article-info .article-info-desc {
    color: #fff;
  }

  .u-pickup-article.shokei .article-info {
    background-color: #3f84ab;
  }

  .u-pickup-article.seisaku .article-info {
    background-color: #5e6295;
  }

  .u-pickup-article.service .article-info {
    background-color: #dc9448;
  }

  .u-pickup-article.ningenshakai .article-info {
    background-color: #83b46c;
  }

  .u-pickup-article.fgs .article-info {
    background-color: #ea5f5f;
  }

  .u-pickup-article.graduate .article-info {
    background-color: #6d857b;
  }

  .u-pickup-article:nth-child(1) .article-info::after,
  .u-pickup-article:nth-child(2) .article-info::after {
    content: none;
  }

  .u-pickup-article .article-img {
    position: relative;
    width: 31.8181818181%;
  }

  .u-pickup-article .article-img-box span {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    background: url(/assets/images/bg_article.png) no-repeat 0 0 transparent;
    background-size: 100% auto;
    color: #fff;
    font-size: 0.88rem;
    font-weight: bold;
    line-height: 1.5;
    padding: 30% 9.5238095238% 16.5px;
    width: 100%;
    z-index: 1;
  }

  .u-pickup-article .article-info {
    position: relative;
    padding: 10px 4.5454545%;
    width: 68.181818182%;
  }

  .u-pickup-article .article-info::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: #e5e5e5;
    content: '';
    height: 1px;
    width: 100%;
  }

  .u-pickup-article .article-info-title {
    color: #009257;
    font-size: 1.13rem;
    margin-bottom: 10px;
  }

  .u-pickup-article .article-info-desc {
    font-size: 0.94rem;
  }

  /* ----- 最新情報 ----- */

  .u-news {
    margin-bottom: 70px;
  }

  /* ----- 3カラム ----- */

  .u-col3-set {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .u-col3-item {
    position: relative;
    padding-bottom: 65px;
    width: calc(100% / 3 - 40px);
  }

  .u-col3-item-v2 {
    padding-bottom: 0;
  }

  .u-col3-item-img {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 110px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .u-col3-item-img > {
    display: block;
  }

  .u-col3-item-h {
    color: #009257;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 0 20px;
    text-align: center;
  }

  .main .u-col3-item-desc {
    color: #333;
    font-size: 0.94rem;
    line-height: 1.6;
  }

  .u-col3-item-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
  }

  .u-col3-item-btn .btn {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .u-col3-item-btn .btn .ghost {
    margin: 0;
  }

  .u-col3-item-caption {
    position: absolute;
    color: #333;
    font-size: 0.88rem;
    line-height: 1.5;
    margin-top: 16.5px;
    text-align: center;
    width: 100%;
  }

  .u-btn {
      margin: 25px 0 0;
  }

  /* ----- 学科・コース ----- */

  .u-course {
    margin-bottom: 4.5454545%;
  }

  /* ----- パネル ----- */

  .u-pnl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
  }

  .u-pnl-item {
    position: relative;
    width: calc(50% - 30px);
  }

  .u-pnl-item::after {
    position: absolute;
    display: block;
    content: '';
    margin: auto;
    padding-top: 66.6666666666%;
    width: 66.6666666666%;
  }

  .u-pnl-item:nth-child(odd) {
    margin-top: -9.4017094017%;
  }

  .u-pnl-item:nth-child(odd)::after {
    top: 21.7948717948%;
    right: -60px;
  }

  .u-pnl-item:nth-child(even) {
    margin-top: 13.6752136752%;
  }

  .u-pnl-item:nth-child(even)::after {
    top: -20.5128205128%;
    right: 0;
    left: 0;
  }

  .u-pnl-item:first-child {
    margin-top: 0;
  }

  .u-pnl-item:first-child::after {
    content: none;
  }

  .u-pnl-item:nth-child(2) {
    margin-top: 16.2393162393%;
  }

  .u-pnl-item-wrap {
    position: relative;
    z-index: 1;
  }

  .u-pnl-item-img {
    width: 86.4864864864%;
  }

  .u-pnl-item-info {
    position: relative;
    display: block;
    background: #fff;
    margin: -9.01% 0 0 auto;
    padding: 9.01% 5.408% 9.72%;
    width: 72.072072072%;
    z-index: 1;
  }

  .u-pnl-item-info-wrap {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
  }

  .u-pnl-item-info:hover .u-pnl-item-info-wrap {
    opacity: 0.8;
  }

  .u-pnl-item-info:hover .u-pnl-item-info-h span > span:after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  .u-pnl-item-info-h {
    font-size: 1.25rem;
    line-height: 1.3;
    margin: 0 0 10px;
  }

  .u-pnl-item-info-h span {
    position: relative;
    display: inline-block;
    padding: 0 40px 0 0;
  }

  .u-pnl-item-info-h span > span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: block;
    border: solid 1px rgba(0, 146, 87, 0.5);
    border-radius: 50%;
    height: 30px;
    margin: auto;
    padding: 0;
    width: 30px;
  }

  .u-pnl-item-info-h span > span::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background-image: url(../images/icon_link.png);
    background-position-y: -24px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    vertical-align: middle;
    width: 24px;
  }

  .u-pnl-item-info-desc {
    color: #333;
    font-size: 0.94rem;
    line-height: 1.6;
  }

  /* ----- 下層 ----- */

  .u-page .l-content {
    padding-top: 4.54201362604%;
  }

  .u-page .l-content-full {
    padding-bottom: 4.54201362604%;
  }

  .u-page .l-content-full .p-free {
    padding: 5.1282051282%;
  }

  .u-page .l-content-full .p-free + .btn {
    margin-top: 5.1282051282%;
  }

  .u-page .l-content-wrap .col-set.row {
    width: auto;
  }

  .u-page .u-side-nav .side-list {
    margin-top: 0;
    overflow: hidden;
  }

  .u-page .u-side-nav .side-list li a.is-active {
    background-color: #008b4e;
    color: #fff;
    opacity: 1;
  }

  .u-page .u-side-nav .side-list li a.is-active::after {
    background-position-y: -144px;
  }

  .u-page .u-side-nav .side-list li a.is-active:hover {
    background-color: #008b4e;
  }

  .u-page .u-side-nav .side-list > li:first-child a {
    font-size: 1rem;
    font-weight: bold;
    padding: 22.5px 40px 22.5px 20px;
  }

  .u-page .u-side-nav .side-list > li a,
  .u-page .u-side-nav .side-list > li p {
    position: relative;
    font-size: 0.88rem;
    padding: 14px 40px 14px 20px;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
  }

  .u-page .u-side-nav .side-list > li a::after,
  .u-page .u-side-nav .side-list > li p::after {
    right: 5px;
  }

  .u-page .u-side-nav .side-list > li a:hover {
    background-color: #e5e5e5;
    opacity: 1;
  }

  .u-page .l-content-main {
    margin-bottom: 5.1282051282%;
  }

  .u-page .p-free + .btn {
    margin-top: 7.14285714285%;
  }

  .u-page.event .p-free {
    padding: 4.7619047619% 7.14285714285% 7.14285714285%;
  }

  .u-page.event.page .p-free {
    padding: 7.14285714285%;
  }

  .u-page.event .p-free .tag {
    margin-bottom: 15px;
    margin-right: -15px;
  }

  .u-page.event .p-free .tag button {
    margin-bottom: 15px;
  }

  .u-page.news .p-free {
    padding: 4.7619047619% 7.14285714285% 7.14285714285%;
  }

  .p-free .news-tag {
    padding: 0;
  }

  .p-free .news-tag .tag {
    margin-bottom: 15px;
    margin-right: -15px;
  }

  .p-free .news-tag .tag button {
    margin-bottom: 15px;
  }

  .u-page.news .p-free .news-conts {
    padding: 0;
  }

  .u-page.news .p-free .news-conts a {
    text-decoration: none;
  }

  .u-page.magazine .p-free {
    padding: 7.14285714285%;
  }

  .u-page.magazine .p-mv + .p-free {
    padding: 4.7619047619% 7.14285714285% 7.14285714285%;
  }

  /* 下層 サイドナビ 子カテゴリがある場合 */

  .u-page #container .side-list-item-parent {
    position: relative;
  }

  .u-page #container .side-list-item-parent > a,
  .u-page #container .side-list-item-parent > p {
    margin-right: 40px;
    padding: 14px 0 14px 20px;
  }

  .u-page #container .side-list-item-parent > a::before,
  .u-page #container .side-list-item-parent > p::before {
    position: absolute;
    top: 0;
    right: -40px;
    display: block;
    background: #e5e5e5;
    content: '';
    height: 100%;
    opacity: 0;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    width: 40px;
  }

  .u-page #container .side-list-item-parent > a::after,
  .u-page #container .side-list-item-parent > p::after {
    content: none !important;
  }

  .u-page #container .side-list-item-parent > a.is-active,
  .u-page #container .side-list-item-parent > p.is-active {
    background-color: #008b4e;
    color: #fff;
  }

  .u-page #container .side-list-item-parent > a.is-active::before,
  .u-page #container .side-list-item-parent > p.is-active::before {
    background: #008b4e;
    opacity: 1;
  }

  .u-page #container .side-list-item-parent > a.is-active + span,
  .u-page #container .side-list-item-parent > p.is-active + span {
    border: solid 1px #fff;
  }

  .u-page #container .side-list-item-parent > a.is-active + span::before,
  .u-page #container .side-list-item-parent > a.is-active + span::after,
  .u-page #container .side-list-item-parent > p.is-active + span::before,
  .u-page #container .side-list-item-parent > p.is-active + span::after {
    background: #fff;
  }

  .u-page #container .side-list-item-parent a:hover::before {
    opacity: 1;
  }

  .u-page #container .side-list-item-parent > span {
    position: absolute;
    top: 12px;
    right: 4px;
    display: block;
    border: solid 1px rgba(6, 141, 82, 0.5);
    border-radius: 50%;
    cursor: pointer;
    height: 26px;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    width: 26px;
    z-index: 1;
  }

  .u-page #container .side-list-item-parent > span::before,
  .u-page #container .side-list-item-parent > span::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: #058d51;
    content: '';
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }

  .u-page #container .side-list-item-parent > span::before {
    height: 12px;
    width: 2px;
  }

  .u-page #container .side-list-item-parent > span::after {
    height: 2px;
    width: 12px;
  }

  .u-page #container .side-list-item-parent > span.is-open::before {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }

  .u-page #container .side-list-item-parent .side-list-item-child {
    display: none;
    margin-top: 0;
  }

  .u-page #container .side-list-item-parent .side-list-item-child.is-hide {
    display: block;
  }

  .u-page #container .side-list-item-parent .side-list-item-child > li a,
  .u-page #container .side-list-item-parent .side-list-item-child > li p {
    margin-right: 0;
    padding: 11px 40px 11px 34px;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }

  .u-page #container .side-list-item-parent .side-list-item-child > li li > a,
  .u-page #container .side-list-item-parent .side-list-item-child > li li > p {
    font-size: 0.81rem;
    padding: 11px 40px 11px 50px;
  }

  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent > a
  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent > p {
    margin-right: 40px;
    padding: 11px 0 11px 34px;
  }

  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent > a.is-active:hover {
    background-color: #008b4e;
    color: #fff;
  }

  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent > span {
    top: 8px;
  }

  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent .side-list-item-parent a,
  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent .side-list-item-parent p {
    font-size: 0.81rem;
    padding: 11px 40px 11px 70px;
  }

  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent .side-list-item-parent > a,
  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent .side-list-item-parent > p {
    padding: 11px 40px 11px 50px;
  }

  /*---------------------------------------------
    大学概要
    ---------------------------------------------*/

  /* ----- トップ ----- */

  /* 沿革 */

  .u-about-history {
    background: url(../images/about/bg_history.jpg) no-repeat center center;
    background-size: cover;
    padding-bottom: 70px;
  }

  .u-about-history .row {
    max-width: 1200px;
    padding: 0 calc(4vw - 15px);
  }

  .u-about-history h2.h-l2 {
    color: #fff;
  }

  .u-about-history h2.h-l2::after {
    background-color: #fff;
  }

  .u-about-history-conts.slick-slider {
    position: relative;
  }

  .u-about-history-conts .slick-list {
    padding-top: 80px;
  }

  .u-about-history-conts .slick-arrow {
    top: inherit;
    bottom: 90px;
    background-color: transparent;
    border: solid 2px rgba(255, 255, 255, 0.4);
    height: 38px;
    width: 38px;
  }

  .u-about-history-conts .slick-arrow.slick-prev {
    left: -18px;
  }

  .u-about-history-conts .slick-arrow.slick-prev::after {
    left: 4px;
  }

  .u-about-history-conts .slick-arrow.slick-next {
    right: -18px;
  }

  .u-about-history-conts .slick-arrow.slick-next::after {
    right: 4px;
  }

  .u-about-history-conts .slick-arrow.slick-disabled {
    opacity: 0.4;
  }

  .u-about-history-item {
    outline: none;
    width: 270px;
  }

  .u-about-history-item-head {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    margin: 0 15px;
    min-height: 200px;
    padding: 85px 20px 20px;
  }

  .u-about-history-item-head::after {
    position: absolute;
    right: 0;
    bottom: -14px;
    left: 0;
    display: block;
    border-color: #fff transparent transparent transparent;
    border-style: solid;
    border-width: 30px 25px 0 25px;
    content: '';
    height: 0;
    margin: auto;
    width: 0;
  }

  .u-about-history-item-head p {
    color: #333;
    font-size: 0.94rem;
    line-height: 1.6;
  }

  .u-about-history-item-head-img {
    position: absolute;
    top: -80px;
    right: 0;
    left: 0;
    border: solid 10px #fff;
    border-radius: 50%;
    margin: auto;
    overflow: hidden;
    width: 155px;
  }

  .u-about-history-item-head-img img {
    width: 100%;
  }

  .u-about-history-item-line {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 20px 0 0;
  }

  .u-about-history-item-line span {
    display: block;
  }

  .u-about-history-item-line span.pin {
    position: relative;
    border: solid 2px rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    height: 30px;
    margin: 0 auto;
    width: 30px;
  }

  .u-about-history-item-line span.pin::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: #fff;
    border-radius: 50%;
    content: '';
    height: 14px;
    margin: auto;
    width: 14px;
  }

  .u-about-history-item-line span.k {
    background: rgba(255, 255, 255, 0.4);
    height: 2px;
    width: calc(100% / 2 - 15px);
  }

  .u-about-history-item-year {
    color: #fff;
    font-size: 1.75rem;
    font-weight: 100;
    line-height: 1;
    margin: 30px 0 0;
    text-align: center;
  }

  .u-about-history-item-year span {
    display: block;
    font-size: 1.13rem;
    margin: 10px 0 0;
  }

  .u-about-history-btn {
    margin: 45px 0 0;
  }

  .u-about-history-btn .btn .ghost {
    border: solid 1px rgba(255, 255, 255, 0.5);
    color: #fff;
  }

  .u-about-history-btn .btn .ghost span::after {
    background-position-y: -144px;
  }

  html:not(.sp) .main .u-about-history-btn .btn .ghost:hover {
    background-color: #fff !important;
    color: #009257 !important;
  }

  html:not(.sp) .main .u-about-history-btn .btn .ghost:hover span::after {
    background-position-y: -24px;
  }

  /*---------------------------------------------
    学生生活
    ---------------------------------------------*/

  /* ----- 行事カレンダー ----- */

  .ev-cal {
    background-color: #f1f1f1;
  }

  .ev-cal + .p-free {
    padding: 4.7619047619% 7.14285714285% 7.14285714285%;
  }

  .ev-cal [id]:before,
  .ev-cal + .p-free [id]:before {
    content: none;
  }

  .ev-cal .calender-btn {
    -webkit-transition: background 0.2s linear;
    transition: background 0.2s linear;
  }

  .ev-cal-monthly {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-bottom: 2.7380952%;
  }

  .ev-cal-monthly > {
    display: block;
  }

  .ev-cal-monthly-h {
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0 20px;
  }

  /* ボタン */

  .ev-cal-monthly .calender-btn {
    position: absolute;
    display: block;
    background: transparent;
    border: solid 1px rgba(0, 139, 78, 0.5);
    border-radius: 50%;
    cursor: pointer;
    height: 40px;
    outline: none;
    -webkit-transition: background 0.2s linear;
    transition: background 0.2s linear;
    width: 40px;
    top: 2px;
    left: 50%;
  }

  .ev-cal-monthly .calender-btn-prev {
    margin-left: -125px;
  }

  .ev-cal-monthly .calender-btn-next {
    margin-left: 85px;
  }

  .ev-cal-monthly .calender-btn::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background-image: url(../images/icon_link.png);
    background-position-y: -24px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    vertical-align: middle;
    width: 24px;
  }

  .ev-cal-monthly .calender-btn:hover {
    background: #008b4e;
  }

  .ev-cal-monthly .calender-btn:hover::after {
    background-position-y: -144px;
  }

  .ev-cal-monthly .calender-btn-prev::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  /* タブ */

  .main .row .p-free-tab.tab,
  #ev-cal-tab.tab {
    margin-bottom: 0;
    background-color: #f1f1f1;
  }

  .main .row .p-free .p-free-tab {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
  }

  .main .row .p-free .p-free-tab + * {
    margin-top: 70px;
  }

  .p-free-tab .tab-nav li,
  #ev-cal-tab .tab-nav li {
    margin-left: 1px;
  }

  .p-free-tab  .tab-nav li:first-child,
  #ev-cal-tab .tab-nav li:first-child {
    margin-left: 0;
  }

  .main .p-free-tab .tab-nav li a,
  #ev-cal-tab .tab-nav li a {
    padding-left: 10px;
    padding-right: 10px;
    background-color: #e5e5e5;
    border-right: 0;
    font-size: 0.94rem;
  }

  html:not(.sp) .main .p-free-tab .tab-nav li a:hover,
  html:not(.sp) #ev-cal-tab .tab-nav li a:hover {
    background-color: #fff;
  }

  .p-free-tab .tab-nav li.current a,
  #ev-cal-tab .tab-nav li.current a {
    background-color: #fff !important;
    margin-top: -10px;
    padding-bottom: 15px;
  }

  #ev-cal-body .ev-cal-icon {
    display: inline;
    margin: 0;
  }

  #ev-cal-body .ev-cal-icon li {
    display: inline;
    color: #fff;
    font-size: 0.75rem;
    list-style-type: none;
    margin-right: 2px;
    padding: 0.5px 2px;
  }

  #ev-cal-body .ev-cal-icon li::before {
    content: none;
  }

  #ev-cal-body .ev-cal-icon .ev-cal-icon-01 {
    background-color: #3f84ab;
  }

  #ev-cal-body .ev-cal-icon .ev-cal-icon-02 {
    background-color: #5e6295;
  }

  #ev-cal-body .ev-cal-icon .ev-cal-icon-03 {
    background-color: #dc9448;
  }

  #ev-cal-body .ev-cal-icon .ev-cal-icon-04 {
    background-color: #83b46b;
  }

  #ev-cal-body .ev-cal-icon .ev-cal-icon-05 {
    background-color: #ea5f5f;
  }

  #ev-cal-body .ev-cal-icon .ev-cal-icon-06 {
    background-color: #6d857b;
  }

  /* テーブル */

  #ev-cal-table tr td {
    padding: 8px 10px;
  }

  #ev-cal-table tr td:nth-child(1),
  #ev-cal-table tr td:nth-child(2) {
    width: 8%;
  }

  #ev-cal-table tr td:nth-child(1) {
    text-align: right;
  }

  #ev-cal-table tr td:nth-child(2) {
    text-align: center;
  }

  .ev-cal-day-sat {
    background-color: #dbeef4;
  }

  .ev-cal-day-sun {
    background-color: #f2dcdb;
  }

  .ev-cal-link p {
    display: inline;
  }

  /*---------------------------------------------
    地域・社会
    ---------------------------------------------*/

  .volunteer .p-free {
    padding: 7.14285714285%;
  }

  .volunteer .news-conts {
    padding: 0;
  }

  .volunteer .news-conts dl.border-set > dd .txt {
    line-height: 1.6;
  }

  .volunteer .news-conts dl.border-set > dd a {
    text-decoration: none;
  }

  .volunteer .news-conts dl.border-set > dd a h2 {
    font-size: 0.94rem;
    margin-bottom: 3px;
  }

  .volunteer .news-conts dl.border-set > dd a h2::after {
    content: none;
  }

  /*---------------------------------------------
    国際人育成
    ---------------------------------------------*/

  .u-global-partner {
    padding-bottom: 70px;
    background: url(/assets/images/global_edu/bg_partner_sch.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% 100%;
  }


  /*---------------------------------------------
    学部・大学院
    ---------------------------------------------*/

  /* ----- 学部ナビ ----- */

  .u-grad-nav > ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
  }

  .u-grad-nav > ul > li {
    color: #fff;
    margin: 0;
    padding: 0;
  }

  .u-grad-nav > ul > li::before {
    content: none;
  }

  .u-grad-nav > ul > li ul {
    margin: 0;
  }

  .u-grad-nav-item {
    width: calc(100% / 6);
  }

  .u-grad-nav-item:nth-child(1) a {
    background-color: #3f84ab;
  }

  .u-grad-nav-item:nth-child(1) a:hover {
    background-color: #5899bc;
  }

  .u-grad-nav-item:nth-child(2) a {
    background-color: #5e6295;
  }

  .u-grad-nav-item:nth-child(2) a:hover {
    background-color: #6e72a6;
  }

  .u-grad-nav-item:nth-child(3) a {
    background-color: #dc9448;
  }

  .u-grad-nav-item:nth-child(3) a:hover {
    background-color: #e7a865;
  }

  .u-grad-nav-item:nth-child(4) a {
    background-color: #83b46b;
  }

  .u-grad-nav-item:nth-child(4) a:hover {
    background-color: #95c67d;
  }

  .u-grad-nav-item:nth-child(5) a {
    background-color: #ea5f5f;
  }

  .u-grad-nav-item:nth-child(5) a:hover {
    background-color: #e77;
  }

  .u-grad-nav-item:nth-child(6) a {
    background-color: #6d857b;
  }

  .u-grad-nav-item:nth-child(6) a:hover {
    background-color: #8a9d95;
  }

  .u-grad-nav-item a {
    display: block;
    color: #fff;
    height: 100%;
    padding: 40px 10%;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }

  .ie .u-grad-nav-item {
    width: 16.666666%;
  }

  .u-grad-nav-item-head {
    margin: 0 0 25px;
  }

  .u-grad-nav-item-h {
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0 0 25px;
    text-align: center;
  }

  .u-grad-nav-item-lead {
    font-size: 0.88rem;
  }

  ul li.u-grad-nav-item-list-text {
    color: #fff;
    font-size: 0.88rem;
    margin-bottom: 5px;
    padding: 0 0 0 1.3em;
  }

  ul li.u-grad-nav-item-list-text::before {
    top: 0.5em;
    left: 0;
    background: url(../images/icon_check.png) no-repeat center center;
    height: 10px;
    margin: -2px 0 0;
    width: 14px;
  }

  .u-grad-nav-item-desc {
    font-size: 0.88rem;
  }

  /* ----- 商経学部 ----- */

  .shoukei h2:not([class*='heading'])::after {
    background-color: #3f84aa;
  }

  .shoukei .u-local-nav ul {
    background: #3f84aa;
  }

  .shoukei .u-local-nav ul li {
    border-bottom: solid 1px #5899bc;
    border-right: solid 1px #5899bc;
  }

  .shoukei .u-local-nav ul li a:hover {
    background-color: #5899bc;
  }

  .shoukei .u-point .u-col3-item-h {
    color: #3f84aa;
  }

  .shoukei .u-point .u-col3-item-btn .btn .ghost {
    border: solid 1px rgba(63, 132, 170, 0.5);
    color: #3f84aa;
  }

  .shoukei .u-point .u-col3-item-btn .btn .ghost span::after {
    background-position-y: 0;
  }

  .shoukei .u-point .u-col3-item-btn .btn .ghost:hover {
    background-color: #3f84aa !important;
    color: #fff;
  }

  .shoukei .u-course {
    padding-top: 80.5px;
  }

  .shoukei .u-pnl .u-pnl-item::after {
    background-color: #d3e7f3;
  }

  .shoukei .u-pnl .u-pnl-item-info-h {
    color: #3f84aa;
  }

  .shoukei .u-pnl .u-pnl-item-info-h span > span {
    border: solid 1px rgba(63, 132, 170, 0.5);
  }

  .shoukei .u-pnl .u-pnl-item-info-h span > span::after {
    background-position-y: 0;
  }

  .shoukei .u-pickup .article-info-title {
    color: #3f84aa;
  }

  .shoukei .u-news .tag button {
    border: solid 1px rgba(63, 132, 170, 0.5);
    color: #3f84aa;
  }

  .shoukei .u-news .tag button.current,
  .shoukei .u-news .tag button:hover {
    background: #3f84aa;
    color: #fff;
  }

  .shoukei .u-news .news-conts dl.border-set > dd a::after {
    background-position-y: 0;
  }

  .shoukei .u-news .news-conts dl.border-set > dd .tag span {
    border: solid 1px rgba(63, 132, 170, 0.5);
    color: #3f84aa !important;
  }

  .shoukei .u-news .news-btn .btn .ghost {
    border: solid 1px rgba(63, 132, 170, 0.5);
    color: #3f84aa;
  }

  .shoukei .u-news .news-btn .btn .ghost span::after {
    background-position-y: 0;
  }

  .shoukei .u-news .news-btn .btn .ghost:hover {
    background: #3f84aa !important;
    color: #fff;
  }

  /* ----- 政策情報学部 ----- */

  .seisaku h2:not([class*='heading'])::after {
    background-color: #5e6295;
  }

  .seisaku .u-local-nav ul {
    background: #5e6295;
  }

  .seisaku .u-local-nav ul li {
    border-bottom: solid 1px #6e72a6;
    border-right: solid 1px #6e72a6;
  }

  .seisaku .u-local-nav ul li a:hover {
    background-color: #6e72a6;
  }

  .seisaku .u-point .u-col3-item-h {
    color: #5e6295;
  }

  .seisaku .u-point .u-col3-item-btn .btn .ghost {
    border: solid 1px rgba(94, 98, 149, 0.5);
    color: #5e6295;
  }

  .seisaku .u-point .u-col3-item-btn .btn .ghost span::after {
    background-position-y: -168px;
  }

  .seisaku .u-point .u-col3-item-btn .btn .ghost:hover {
    background-color: #5e6295 !important;
    color: #fff;
  }

  .seisaku .u-pnl .u-pnl-item::after {
    background-color: #d0d2e9;
  }

  .seisaku .u-pnl .u-pnl-item-info-h {
    color: #5e6295;
  }

  .seisaku .u-pnl .u-pnl-item-info-h span > span {
    border: solid 1px rgba(94, 98, 149, 0.5);
  }

  .seisaku .u-pnl .u-pnl-item-info-h span > span::after {
    background-position-y: -168px;
  }

  .seisaku .u-pickup .article-info-title {
    color: #5e6295;
  }

  .seisaku .u-news .tag button {
    border: solid 1px rgba(94, 98, 149, 0.5);
    color: #5e6295;
  }

  .seisaku .u-news .tag button.current,
  .seisaku .u-news .tag button:hover {
    background: #5e6295;
    color: #fff;
  }

  .seisaku .u-news .news-conts dl.border-set > dd a::after {
    background-position-y: -168px;
  }

  .seisaku .u-news .news-conts dl.border-set > dd .tag span {
    border: solid 1px rgba(94, 98, 149, 0.5);
    color: #5e6295 !important;
  }

  .seisaku .u-news .news-btn .btn .ghost {
    border: solid 1px rgba(94, 98, 149, 0.5);
    color: #5e6295;
  }

  .seisaku .u-news .news-btn .btn .ghost span::after {
    background-position-y: -168px;
  }

  .seisaku .u-news .news-btn .btn .ghost:hover {
    background: #5e6295 !important;
    color: #fff;
  }

  /* ----- i.ma.na.bi ----- */

  .main .box.box-imanabi {
    padding: 70px 30px 0 30px;
    background-image: url(/assets/images/pi01.jpg);
    background-repeat: no-repeat;
    background-color: #e7eff1;
    background-position: left top;
  }

  .main .box.box-imanabi .link-icon {
    margin-bottom: 20px;
  }

  .main .pi_seminar {
    width: 100%;
    border-collapse: separate;
    border-spacing: 1px;
    table-layout: fixed;
  }

  .main .pi_seminar td {
    border: 0;
  }

  .main .pi_seminar td.pi_area {
    text-align: center;
    color: #fff;
    background-color: #6b7ca1;
  }

  .main .pi_seminar td.border_area {
    border: solid 1px #a1a9bb;
  }

  /* ----- サービス創造学部 ----- */

  .service h2:not([class*='heading'])::after {
    background-color: #dc9448;
  }

  .service .u-local-nav ul {
    background: #dc9448;
  }

  .service .u-local-nav ul li {
    border-bottom: solid 1px #e7a865;
    border-right: solid 1px #e7a865;
  }

  .service .u-local-nav ul li a:hover {
    background-color: #e7a865;
  }

  .service .u-point .u-col3-item-h {
    color: #dc9448;
  }

  .service .u-point .u-col3-item-btn .btn .ghost {
    border: solid 1px rgba(220, 148, 72, 0.5);
    color: #dc9448;
  }

  .service .u-point .u-col3-item-btn .btn .ghost span::after {
    background-position-y: -96px;
  }

  .service .u-point .u-col3-item-btn .btn .ghost:hover {
    background-color: #dc9448 !important;
    color: #fff;
  }

  .service .u-pnl .u-pnl-item::after {
    background-color: #d0d2e9;
  }

  .service .u-pnl .u-pnl-item-info-h {
    color: #dc9448;
  }

  .service .u-pnl .u-pnl-item-info-h span > span {
    border: solid 1px rgba(220, 148, 72, 0.5);
  }

  .service .u-pnl .u-pnl-item-info-h span > span::after {
    background-position-y: -96px;
  }

  .service .u-pickup .article-info-title {
    color: #dc9448;
  }

  .service .u-news .tag button {
    border: solid 1px rgba(220, 148, 72, 0.5);
    color: #dc9448;
  }

  .service .u-news .tag button.current,
  .service .u-news .tag button:hover {
    background: #dc9448;
    color: #fff;
  }

  .service .u-news .news-conts dl.border-set > dd a::after {
    background-position-y: -96px;
  }

  .service .u-news .news-conts dl.border-set > dd .tag span {
    border: solid 1px rgba(220, 148, 72, 0.5);
    color: #dc9448 !important;
  }

  .service .u-news .news-btn .btn .ghost {
    border: solid 1px rgba(220, 148, 72, 0.5);
    color: #dc9448;
  }

  .service .u-news .news-btn .btn .ghost span::after {
    background-position-y: -96px;
  }

  .service .u-news .news-btn .btn .ghost:hover {
    background: #dc9448 !important;
    color: #fff;
  }

  /* ----- 人間社会学部 ----- */

  .ningenshakai h2:not([class*='heading'])::after {
    background-color: #83b46b;
  }

  .ningenshakai .u-local-nav ul {
    background: #83b46b;
  }

  .ningenshakai .u-local-nav ul li {
    border-bottom: solid 1px #95c67d;
    border-right: solid 1px #95c67d;
  }

  .ningenshakai .u-local-nav ul li a:hover {
    background-color: #95c67d;
  }

  .ningenshakai .u-point .u-col3-item-h {
    color: #83b46b;
  }

  .ningenshakai .u-point .u-col3-item-btn .btn .ghost {
    border: solid 1px rgba(131, 180, 107, 0.5);
    color: #83b46b;
  }

  .ningenshakai .u-point .u-col3-item-btn .btn .ghost span::after {
    background-position-y: -48px;
  }

  .ningenshakai .u-point .u-col3-item-btn .btn .ghost:hover {
    background-color: #83b46b !important;
    color: #fff;
  }

  .ningenshakai .u-pnl .u-pnl-item::after {
    background-color: #d0d2e9;
  }

  .ningenshakai .u-pnl .u-pnl-item-info-h {
    color: #83b46b;
  }

  .ningenshakai .u-pnl .u-pnl-item-info-h span > span {
    border: solid 1px rgba(131, 180, 107, 0.5);
  }

  .ningenshakai .u-pnl .u-pnl-item-info-h span > span::after {
    background-position-y: -48px;
  }

  .ningenshakai .u-pickup .article-info-title {
    color: #83b46b;
  }

  .ningenshakai .u-news .tag button {
    border: solid 1px rgba(131, 180, 107, 0.5);
    color: #83b46b;
  }

  .ningenshakai .u-news .tag button.current,
  .ningenshakai .u-news .tag button:hover {
    background: #83b46b;
    color: #fff;
  }

  .ningenshakai .u-news .news-conts dl.border-set > dd a::after {
    background-position-y: -48px;
  }

  .ningenshakai .u-news .news-conts dl.border-set > dd .tag span {
    border: solid 1px rgba(131, 180, 107, 0.5);
    color: #83b46b !important;
  }

  .ningenshakai .u-news .news-btn .btn .ghost {
    border: solid 1px rgba(131, 180, 107, 0.5);
    color: #83b46b;
  }

  .ningenshakai .u-news .news-btn .btn .ghost span::after {
    background-position-y: -48px;
  }

  .ningenshakai .u-news .news-btn .btn .ghost:hover {
    background: #83b46b !important;
    color: #fff;
  }

  /* ----- 国際教養学部 ----- */

  .fgs h2:not([class*='heading'])::after {
    background-color: #ea5f5f;
  }

  .fgs .u-local-nav ul {
    background: #ea5f5f;
  }

  .fgs .u-local-nav ul li {
    border-bottom: solid 1px #e77;
    border-right: solid 1px #e77;
  }

  .fgs .u-local-nav ul li a:hover {
    background-color: #e77;
  }

  .fgs .u-point .u-col3-item-h {
    color: #ea5f5f;
  }

  .fgs .u-point .u-col3-item-btn .btn .ghost {
    border: solid 1px rgba(234, 95, 95, 0.5);
    color: #ea5f5f;
  }

  .fgs .u-point .u-col3-item-btn .btn .ghost span::after {
    background-position-y: -96px;
  }

  .fgs .u-point .u-col3-item-btn .btn .ghost:hover {
    background-color: #ea5f5f !important;
    color: #fff;
  }

  .fgs .u-pnl .u-pnl-item::after {
    background-color: #d0d2e9;
  }

  .fgs .u-pnl .u-pnl-item-info-h {
    color: #ea5f5f;
  }

  .fgs .u-pnl .u-pnl-item-info-h span > span {
    border: solid 1px rgba(234, 95, 95, 0.5);
  }

  .fgs .u-pnl .u-pnl-item-info-h span > span::after {
    background-position-y: -96px;
  }

  .fgs .u-pickup .article-info-title {
    color: #ea5f5f;
  }

  .fgs .u-news .tag button {
    border: solid 1px rgba(234, 95, 95, 0.5);
    color: #ea5f5f;
  }

  .fgs .u-news .tag button.current,
  .fgs .u-news .tag button:hover {
    background: #ea5f5f;
    color: #fff;
  }

  .fgs .u-news .news-conts dl.border-set > dd a::after {
    background-position-y: -96px;
  }

  .fgs .u-news .news-conts dl.border-set > dd .tag span {
    border: solid 1px rgba(234, 95, 95, 0.5);
    color: #ea5f5f !important;
  }

  .fgs .u-news .news-btn .btn .ghost {
    border: solid 1px rgba(234, 95, 95, 0.5);
    color: #ea5f5f;
  }

  .fgs .u-news .news-btn .btn .ghost span::after {
    background-position-y: -96px;
  }

  .fgs .u-news .news-btn .btn .ghost:hover {
    background: #ea5f5f !important;
    color: #fff;
  }

  /* ----- 大学院 ----- */

  .graduate_sch .u-pnl .u-pnl-item::after {
    background-color: #ccebde;
  }

  .graduate_sch .u-pnl .u-pnl-item-info-h {
    color: #28a06f;
  }

  /* ----- [修士課程共通]中小企業診断士養成コース ----- */

  /* ----- 会計大学院 会計ファイナンス研究科 ----- */

  .accounting .u-pnl .u-pnl-item::after {
    background-color: #ccebde;
  }

  .accounting .u-pnl .u-pnl-item-info-h {
    color: #28a06f;
  }

  /* ----- 修士課程 商学研究科 ----- */

  .master_prog .u-pnl .u-pnl-item::after {
    background-color: #ccebde;
  }

  .master_prog .u-pnl .u-pnl-item-info-h {
    color: #28a06f;
  }

  /*---------------------------------------------
    ターゲット別メニュー 汎用
    ---------------------------------------------*/

  .target .u-visual-wrap {
    height: 100%;
  }

  .target .u-news {
    margin-bottom: 0;
  }

  .target .u-pickup {
    padding-top: 50px;
  }

  /*---------------------------------------------
    資格・就職
    ---------------------------------------------*/

  .partners-title .js-countup {
    opacity: 0;
  }

  .partners-title {
    padding-bottom: 30px;
    color: #333;
    background-color: #f1f1f1;
  }

  .partners-title p {
    font-size: .94rem;
    margin-bottom: 20px;
  }

  .partners-title .alliance-number {
    margin-bottom: 0;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
  }

  .partners-title .alliance-number span {
    font-family: 'Pathway Gothic One', sans-serif;
    display: inline-block;
    padding: 10px 0 0 40px;
    font-size: 8rem;
    letter-spacing: 1rem;
    color: #008b4e;
  }

  .main .partners-pnl-set {
    margin: -15px 0 30px;
  }

  .main .partners-content h2:first-child {
    margin-top: 30px;
  }

  .main .partners-content ul {
    margin-top: -15px;
  }

  .main .partners-content ul li {
    margin: 0;
    padding: 15px 0;
    border-bottom: solid 1px #e5e5e5;
  }

  .main .partners-content ul li:before {
    content: none;
  }

  /*---------------------------------------------
    CUCマガジン
    ---------------------------------------------*/

  .magazine .news-conts {
    padding: 0;
  }

  .magazine .news-conts dl.border-set > dd .txt {
    line-height: 1.6;
  }

  .magazine .news-conts dl.border-set > dd a {
    text-decoration: none;
  }

  .magazine .news-conts dl.border-set > dd a h2 {
    color: #000;
    line-height: 1.6;
    font-weight: bold;
    font-size: 0.94rem;
    margin-bottom: 3px;
  }

  /*---------------------------------------------
    CUCビデオ
    ---------------------------------------------*/

  .p-free .ctv-content p {
    margin-bottom: 0;
  }

  /*---------------------------------------------
    下層
    ---------------------------------------------*/

  .page .l-content {
    background: #f1f1f1;
  }

  .page .l-content .l-content-wrap > .col-set {
    display: block;
  }

  .page .l-content .l-content-wrap > .col-set::after {
    display: block;
    clear: both;
    content: '';
  }

  .page .l-content .l-content-wrap > .col-set > .l-content-main {
    float: left;
  }

  .page .l-content .l-content-wrap > .col-set > .l-content-side {
    float: right;
  }

  .page .l-content-main {
    margin-bottom: 5.1282051282%;
  }

  .page .l-content-main.l-content-main-lower {
    margin-bottom: 50px;
  }

  .page .l-content-main.l-content-main-lower .l-content-page .p-free + .btn,
  .page .l-content-main.l-content-main-lower .l-content-page .l-content-relation + .btn {
    margin: 7.14285714285% 0 0;
  }

  .page .mainvisual {
    background-position: top center;
    padding: 0 0 40px;
  }

  .page .mainvisual-search {
    margin: 0;
  }

  /* ----- メイン画像 ----- */

  .p-mv .label span {
    padding: 11.5px 18px;
  }

  .p-mv .article {
    background: #fff;
    padding: 7.14285714285% 7.14285714285% 0;
  }

  .p-mv .article.non-video .article-img .article-img-box {
    cursor: default;
  }

  .p-mv .article.non-video .article-img:hover .article-img-box-frame {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .p-mv .article-box:hover .article-img-box-frame {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .p-mv .article-box .article-img {
    width: 41.666667%;
  }

  .p-mv .article-box .article-img:hover .article-img-box-frame {
    -webkit-transform: scale(1.1) rotate(0.1deg);
    transform: scale(1.1) rotate(0.1deg);
  }

  .p-mv .article-box .article-info {
    padding: 50px 0 50px 6.66%;
    width: 58.333333%;
  }

  .p-mv .article-box .article-info .article-info-date {
    font-size: 0.94rem;
  }

  .p-mv .article-box .article-info-desc {
    color: #000;
    font-weight: bold;
  }

  /* ----- iphone対応 ----- */

  .iphone .article.on .article-img.is-play .js-movie-click.article-img-box iframe {
    opacity: 1;
  }

  /* ----- コントローラー SPのみ表示 ----- */

  /* ----- 本文 ----- */

  .p-free {
    position: relative;
    background: #fff;
    padding: 7.14285714285%;
  }

  .p-mv + .p-free {
    padding: 4.7619047619% 7.14285714285% 7.14285714285%;
  }

  .p-free .label {
    position: absolute;
    top: 0;
    right: 0;
  }

  .p-free .col-set {
    width: calc(100% + 30px);
  }

  .p-free .col1-3 {
    width: calc(33.33333333% - 30px);
  }

  .p-free .col2-3 {
    width: calc(66.66666666% - 30px);
  }

  .p-free .col1-2,
  .p-free .col1-3,
  .p-free .col2-3  {
    margin-right: 30px;
  }

  .p-free .days_head {
    background: #f1f1f1 !important;
  }

  /*---------------------------------------------
    パンくず
    ---------------------------------------------*/

  .breadcrumb {
    position: absolute;
    top: 3.3vw;
    width: 100%;
  }

  .breadcrumb ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    width: 100%;
  }

  .breadcrumb ul li {
    position: relative;
    color: #fff;
    font-size: 0.88rem;
    font-weight: bold;
    line-height: 1.5;
    margin: 0 10px 0 0;
    padding: 0 0 3px 20px;
  }

  .breadcrumb ul li::before {
    position: absolute;
    top: -1px;
    bottom: 0;
    left: 0;
    background: none;
    color: rgba(255, 255, 255, 0.5);
    content: '>';
    height: auto;
    margin: auto;
    width: auto;
  }

  .breadcrumb ul li a {
    font-weight: normal;
    text-decoration: none;
  }

  html:not(.sp) .main .breadcrumb ul li a:hover {
    text-decoration: underline;
  }

  .breadcrumb ul li:first-child {
    padding: 0;
  }

  .breadcrumb ul li:first-child::before {
    content: none;
  }

  .winChrome .breadcrumb ul li a {
    font-weight: 500;
  }

  /*---------------------------------------------
    サイド
    ---------------------------------------------*/

  /* ----- 年度 ----- */

  .main ul.side-list {
    border-bottom: solid 1px #dadada;
    margin: 40px 0 0;
  }

  .main ul.side-list li {
    border-top: solid 1px #dadada;
    margin: 0;
    padding: 0;
    line-height: 1.6;
  }

  .main ul.side-list li::before {
    content: none;
  }

  .main ul.side-list li a {
    display: block;
    padding: 22.5px 40px 22.5px 0;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
  }

  .main ul.side-list li a::after {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    display: block;
    background-image: url(../images/icon_link.png);
    background-position-y: -24px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    width: 24px;
  }

  .main ul.side-list li a:hover {
    opacity: 0.6;
  }

  .main ul.side-list li a:hover::after {
    -webkit-transform: translate3d(3px, 0, 0);
    transform: translate3d(3px, 0, 0);
  }

  /*---------------------------------------------
    バナー
    ---------------------------------------------*/

  .bnr {
    background: #434343;
    padding: 4vw 0 2.2857vw;
  }

  body:not(.index) .bnr {
    padding: 4vw 0 calc(4vw - 30px);
  }

  .main .bnr .img {
    overflow: hidden;
  }

  .main .bnr .img a img {
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
  }

  html:not(.sp) .main .bnr .img a:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  /*---------------------------------------------
    最新情報
    ---------------------------------------------*/

  .news-btn {
    padding: 30px 0 0;
  }

  .news-btn .btn {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .news-btn .btn .ghost {
    margin: 0;
  }

  /*---------------------------------------------
    パネル
    ---------------------------------------------*/

  .pnl-set {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .pnl-column {
    position: relative;
    background-color: #fff;
    border-bottom: solid 1px #f1f1f1;
    border-left: solid 1px #f1f1f1;
    width: 33.3333%;
  }

  .pnl-column .label {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 100%;
  }

  .pnl-column-box {
    display: block;
    height: 100%;
    padding: 65px 7.16886989934% 22px;
  }
  .pnl-column-box .label {
    margin: 0;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }

  .pnl-column-box .label span {
    margin: 0;
    padding: 7px 10px;
  }

  .pnl-column-img {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto 25px;
    overflow: hidden;
    text-align: center;
    width: 100px;
  }

  .pnl-column-img:after {
    content: "";
    position: absolute;
    display: block;
    width: 102%;
    height: 102%;
    top: -1%;
    left: -1%;
    background: url(/assets/images/pnl_column_img_bg.png) no-repeat;
    background-size: 100% 100%;
  }

  .pnl-column-img .img {
    width: 100%;
    height: 100%;
    margin: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #e5e5e5;
    -webkit-background-size: cover;
    background-size: cover;
    -webkit-transition: .2s ease-out;
    transition: .2s ease-out;
  }

  html:not(.sp):not(.safari) .pnl-column-box:hover .pnl-column-img .img {
    transform: scale(1.1);
  }

  html.safari:not(.sp) .pnl-column-box:hover .pnl-column-img .img {
    width: 110%;
    height: 110%;
    margin: -5% 0 0 -5%;
  }

  .pnl-column-info p {
    color: #555;
    font-weight: 500;
  }

  .main .pnl-column-date {
    font-size: 0.88rem;
    line-height: 1;
    margin-bottom: 7.5px;
  }

  .pnl-column-h {
    font-weight: bold;
    line-height: 1.3;
  }

  .main .pnl-column-desc {
    font-size: 0.94rem;
    line-height: 1.4;
    margin-top: 8.5px;
  }

  /*---------------------------------------------
    検索結果
    ---------------------------------------------*/

  .main .p-free .cse .gsc-control-cse,
  .main .p-free .gsc-control-cse {
    padding: 0;
  }

  .gsc-control-cse * {
    font-family: -apple-system, BlinkMacSystemFont, MyYuGothicM, 'Yu Gothic', Meiryo, 'Hiragino kaku Gothic ProN', sans-serif !important;
  }

  .winChrome .gsc-control-cse {
    font-weight: 500;
  }

  .main .p-free .gs-webResult.gs-result a.gs-title:visited,
  .main .p-free .gs-webResult.gs-result a.gs-title:visited b,
  .main .p-free .gs-imageResult a.gs-title:visited,
  .main .p-free .gs-imageResult a.gs-title:visited b {
    color: #006a9b;
  }

  .main .p-free .gs-webResult.gs-result a.gs-title:link,
  .main .p-free .gs-webResult.gs-result a.gs-title:link b,
  .main .p-free .gs-imageResult a.gs-title:link,
  .main .p-free .gs-imageResult a.gs-title:link b {
    color: #006a9b;
  }

  .main .p-free .gsc-results .gsc-cursor-box .gsc-cursor-page {
    color: #006a9b;
  }

  .main .p-free .gsc-tabsArea {
    margin-top: 0;
    height: 30px;
    border-color: #006a9b;
  }

  .main .p-free .gsc-tabHeader.gsc-tabhActive {
    border-color: #006a9b;
    border-bottom-color: #fff;
  }

  .main .p-free .gsc-tabHeader.gsc-tabhInactive {
    background-color: transparent;
  }

  .main .p-free .gs-webResult div.gs-visibleUrl,
  .main .p-free .gs-imageResult div.gs-visibleUrl {
    color: #008b4f;
  }

  .main .p-free .gsc-tabsArea > .gsc-tabHeader {
    height: 30px;
  }

  .main .p-free .gs-image-box.gs-web-image-box.gs-web-image-box-portrait {
    overflow: visible;
  }

  .main .p-free .gsc-control-cse .gs-spelling,
  .main .p-free .gsc-control-cse .gs-result .gs-title,
  .main .p-free .gsc-control-cse .gs-result .gs-title * {
      font-size: 16px;
  }

  .main .p-free .gsc-tabsArea div {
    font-size: 11px;
  }

  .main .p-free .gsc-results-wrapper-visible table td {
    padding: 0;
    border: 0 none;
  }

  .main .p-free .gsc-control-cse div,
  .main .p-free .gsc-control-cse .gsc-table-result div {
    font-size: 13px;
  }

  .main .p-free .gsc-result .gs-title {
    height: 1.4em;
  }

  .main .p-free .gsc-branding-img-noclear,
  .main .p-free .gcsc-branding-img-noclear {
    vertical-align: baseline;
  }

  .gs-imageResult-popup .gs-image-popup-box {
    z-index: 1;
  }

  @media screen and (min-width: 768px), print {

  .main .show-sp {
    display: none !important;
  }

  }

  @media screen and (min-width: 1360px), print {

  .breadcrumb {
    top: 45px;
  }

  .u-visual-v2 {
    min-height: 260px;
    padding: 45px 0 75px;
  }

  .u-visual-color {
    padding: 45px 0 44px;
  }

  .u-visual:not(.u-visual-v2) .u-visual-wrap {
    padding-top: calc(45px + 1rem);
  }

  .u-visual-main-wrap {
    padding-top: calc(45px + 1rem);
  }

  .u-page .l-content {
    padding-top: 60px;
  }

  .u-page .l-content-full {
    padding-bottom: 60px;
  }

  .u-page .l-content-full .p-free + .btn {
    margin-top: 60px;
  }

  .bnr {
    padding: 70px 0 40px;
  }

  body:not(.index) .bnr {
    padding: 70px 0 40px;
  }

  }

  @media only screen and (max-width: 1199px), print {

  /* ----- メインコンテンツ ----- */

  /* ----- [CL] カラム ----- */

  .col-set {
    width: auto;
  }

  .no-gutter {
    width: 100%;
  }

  .col1-2 {
    width: calc(50% - 20px);
  }

  .col1-4 {
    width: calc(25% - 20px);
  }

  .col3-4 {
    width: calc(75% - 20px);
  }

  .col1-5 {
    width: calc(20% - 20px);
  }

  .col1-6 {
    width: calc(16.66666666% - 20px);
  }

  .col1-2,
  .col1-3,
  .col2-3,
  .col1-4,
  .col3-4,
  .col1-5,
  .col1-6 {
    margin-right: 40px;
  }

  .col1-3 {
    margin-right: 0;
  }

  .p-free .col-set {
    width: calc(100% + 20px);
  }

  .p-free .col1-2,
  .p-free .col1-3,
  .p-free .col2-3 {
    margin-right: 20px;
  }

  .p-free .col1-3 {
    width: calc(33.33333333% - 20px);
  }

  .p-free .col2-3 {
    width: calc(66.66666666% - 20px);
  }

  body:not(.index) .bnr {
    padding: 4vw 0 calc(4vw - 20px);
  }

  .bnr .col-set {
    width: calc(100% + 20px);
  }

  .bnr .col1-4 {
    margin-right: 20px;
  }

  .bnr .col1-4.img {
    margin-bottom: 20px;
    max-width: 74.6667%;
  }

  /* ----- [IG] 画像 ----- */

  .main .img-set .img,
  .main .thumb-set .img {
    margin-right: 10px;
    padding-right: 10px;
  }

  .main .img-set .img.right,
  .main .thumb-set .img.right {
    margin-left: 10px;
    margin-right: 0;
    padding-left: 10px;
    padding-right: 0;
  }

  /* ----- [LT] リスト ----- */

  .main ul.col-set li {
    margin-bottom: 20px;
  }

  /* ----- [BX] ボックス ----- */

  .main .box .box-body {
    padding: 10px 15px;
  }

  .main .box.box-link {
    margin-bottom: 20px;
  }

  .main .box.box-link a,
  .main .box.box-link > div {
    padding: 20px 35px 20px 15px;
  }

  .main .box.box-link a:hover {
    background-color: transparent;
  }

  .main .box.box-link a:hover::after {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  .main .box.box-link .box-link-h {
    font-size: 1rem;
  }

  /* ----- [SL] スライダー ----- */

  .main .slider {
    margin-bottom: 20px;
  }

  /* ----- [NV2] タブ ----- */

  .main .tab {
    margin-bottom: 40px;
  }

  .main .tab-element {
    padding: 20px 0 10px;
  }

  .main .row .tab .tab-element {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* ----- [FM] フォーム ----- */

  .main .form dl.border-set {
    margin-bottom: 40px;
  }

  /* ----- メインビジュアル ----- */

  .u-visual-h {
    font-size: 2.25rem;
  }

  .u-visual-main-wrap {
    height: calc(100% - 60px);
  }

  .u-visual-sub-post .article-wrap .article-info {
    padding: 30% 1.8vw calc(1.8vw + 60px);
  }

  .u-visual-sub-post .article-wrap .article-img::before {
    background-position: center bottom 60px;
  }

  .u-social {
    bottom: 80px;
  }

  .u-local-nav {
    margin: -60px 0 50px auto;
  }

  .u-local-nav ul li {
    font-size: .91rem;
  }

  .u-local-nav ul li a {
    height: 60px;
  }

  }

  @media only screen and (max-width: 960px) {

  .l-content .row {
    padding: 0;
  }

  .l-content-side {
    margin-bottom: 0;
    padding: 20px 0 0;
  }

  .l-content-event-wrap {
    padding: 61.5px 15px 30px;
  }

  #container .l-content-main {
    margin-right: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    padding-left: 4vw;
    padding-right: 4vw;
    width: 100%;
  }

  #container .l-content-side {
    background: #f1f1f1;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    padding: 0;
    width: 100%;
  }

  #container .l-content-event {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  #container .l-content-event .btn {
    padding: 15px 15px 0;
  }

  .h-side {
    margin: 0 0 22.5px;
    padding: 30px 4vw 0;
  }

  .u-visual-h {
      font-size: 1.88rem;
  }

  .u-visual-h br {
    display: none;
  }

  .u-visual-main-wrap {
    height: calc(100% - 50px);
  }

  .mainvisual .article-info {
    padding: 50px 4%;
  }

  .u-visual-sub-post .article-wrap .article-info {
    padding: 30% 1.8vw calc(1.8vw + 50px);
  }

  .side-article .article-child {
    padding: 15px 4vw;
  }

  .u-visual-color .u-visual-desc {
    max-width: 100%;
  }

  .u-visual-sub-post .article-wrap .article-info-title {
    font-size: 0.88rem;
  }

  .u-visual-sub-post .article-wrap .article-img::before {
    background-position: center bottom 50px;
  }

  .u-social {
    bottom: 70px;
  }

  .u-local-nav {
    margin: -50px 0 40px auto;
  }

  .u-local-nav ul li {
    font-size: .81rem;
  }

  .u-local-nav ul li a {
    height: 50px;
  }

  .u-local-nav ul li a br {
    display: none;
  }

  .u-pickup-article .article-img {
    width: 50%;
  }

  .u-pickup-article .article-info {
    width: 50%;
  }

  .u-pickup-article .article-info-title {
    font-size: 1rem;
  }

  .u-pickup-article .article-info-desc {
    font-size: 0.88rem;
  }

  .u-page .l-content-full {
    padding: 5.1282051282% 4vw;
  }

  .u-grad-nav-item-body {
    display: none;
  }

  .page .mainvisual {
    padding: 0 0 115px;
  }

  .page .mainvisual .row {
    padding: 0 4vw;
  }

  .page .mainvisual .search-box {
    width: 100%;
  }

  .main ul.side-list {
    margin: 0;
  }

  .u-page .u-side-nav .side-list {
    border-bottom: 0;
  }

  .main ul.side-list li a {
    padding: 14px 40px 14px 15px;
  }

  .u-page .u-side-nav .side-list > li a,
  .u-page .u-side-nav .side-list > li p {
    padding: 14px 40px 14px 15px;
  }

  .p-free {
    padding: 5.1282051282%;
  }

  .u-page.event .p-free {
    padding: 3.07881773% 5.1282051282% 5.1282051282%;
  }

  .u-page.magazine .p-free {
    padding: 5.1282051282%;
  }

  .u-page.news .p-free {
    padding: 3.07881773% 5.1282051282% 5.1282051282%;
  }

  .p-mv + .p-free {
    padding: 3.07881773% 5.1282051282% 5.1282051282%;
  }

  .u-page.magazine .p-mv + .p-free {
    padding: 3.07881773% 5.1282051282% 5.1282051282%;
  }

  .p-mv .article {
    padding: 5.1282051282% 5.1282051282% 0;
  }

  .p-mv .article.article-l2 .article-info {
    padding: 40px 5.1282051282% 0;
  }

  .p-free + .btn {
    margin-top: 5.1282051282%;
  }

  .page .l-content-main.l-content-main-lower .l-content-page .p-free + .btn,
  .page .l-content-main.l-content-main-lower .l-content-page .l-content-relation + .btn {
    margin-top: 5.1282051282%;
  }

  .u-page .p-free + .btn {
    margin-top: 5.1282051282%;
  }

  }

  @media only screen and (max-width: 870px) {

  .main .mainvisual-article {
    position: relative;
    width: 100%;
  }

  .main .mainvisual-article .col-set {
    overflow: hidden;
    width: auto;
  }

  .main .mainvisual-article .col2-3 {
    margin-right: 0;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    width: calc(100% - 80px);
  }

  .main .mainvisual-article .col1-3 {
    background-color: #fff;
    width: 80px;
  }

  .main .mainvisual-article.is-show .col2-3 {
    opacity: 0;
  }

  .main .mainvisual-article.is-show .mainvisual-sub-body {
    -webkit-transform: translate3d(calc(-100% - 80px), 0px, 0px);
    transform: translate3d(calc(-100% - 80px), 0px, 0px);
  }

  .main .mainvisual-article.is-show .mainvisual-sub-head::after {
    opacity: 0;
  }

  .ie .main .mainvisual-article .mainvisual-sub-body {
    -webkit-transition: left 0.2s linear;
    transition: left 0.2s linear;
  }

  .ie .main .mainvisual-article.is-show .mainvisual-sub-body {
    left: -100%;
    -webkit-transform: none;
    transform: none;
  }

  .mainvisual-sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    color: #000;
    height: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 96.5517241370vw;
  }

  .mainvisual-sub-head {
    position: relative;
    background: #fff;
    border-left: solid 1px #e5e5e5;
    cursor: pointer;
    height: 100%;
    margin: 0;
    padding: 70px 0;
    text-align: center;
    width: 81px;
    z-index: 10;
  }

  .mainvisual-sub-head::before,
  .mainvisual-sub-head::after {
    position: absolute;
    right: -1px;
    left: 0;
    display: block;
    background: #05824c;
    content: '';
    margin: auto;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
  }

  .mainvisual-sub-head::before {
    top: 39px;
    height: 2px;
    width: 18px;
  }

  .mainvisual-sub-head::after {
    top: 31px;
    height: 18px;
    width: 2px;
  }

  .mainvisual-sub-h {
    display: inline;
    color: #333;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1;
    text-align: center;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }

  .mainvisual-sub-h::before {
    position: absolute;
    top: 20px;
    right: 0;
    left: -2px;
    display: block;
    border: solid 1px #22855a;
    border-radius: 50%;
    content: '';
    height: 40px;
    margin: auto;
    width: 40px;
  }

  .mainvisual-sub-body {
    position: relative;
    left: 0;
    background-color: #fff;
    padding: 25px 30px;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    width: calc(100% - 80px);
  }

  .mainvisual-sub-body .btn {
    width: 170px;
  }

  .mainvisual-sub-body .btn .ghost {
    border: solid 1px rgba(0, 146, 87, 0.5);
    color: #009257;
  }

  .mainvisual-sub-body .btn .ghost span::after {
    background-position-y: -24px;
  }

  .mainvisual-sub-desc {
    margin: 0 0 20px;
  }

  .mainvisual-search {
    margin: 30px 0 0;
  }

  #container .mainvisual-tab {
    width: 100%;
  }

  #container .mainvisual-tab.tab {
    margin-top: 25px;
  }

  .h-l1 {
    width: 100%;
  }

  .h-l1 span br {
    display: none;
  }

  .mainvisual .search-box {
    width: 100%;
  }

  .mainvisual .search-box input {
    padding: 0 54px 0 20px;
  }

  .mainvisual .search-box button {
    right: 15px;
    background-size: 24px auto;
    height: 25.5px;
    width: 24px;
  }

  .article-wrap {
    height: 100%;
  }

  .mainvisual .label {
    right: 0;
    left: inherit;
  }

  .mainvisual .article-info {
    padding: 50px 6.66%;
  }

  }

  @media screen and (min-width: 768px), print {

  .main a[href*="tel:"],
  .main a.tel,
  .main a.fax {
    color: #333 !important;
    text-decoration: none;
    pointer-events: none;
    cursor: default;
  }

  }

  @media screen and (max-width: 767px) {

  /* ----- メインコンテンツ ----- */

  .row {
    padding: 0 15px;
  }

  .l-content [id]:before,
  .anchor:before {
    display: block;
    content: '';
    margin-top: -60px; /* 固定ヘッダーの高さ */
    padding-top: 60px;
  }

  /* ----- 上下左右中央寄せ ----- */

  .main .up {
    margin-top: -10px !important;
  }

  .l-content .up[id]:before, .up.anchor:before {
    margin-top: -70px;
  }


  /* 中央寄せ */

  .main .sp-center {
    text-align: center !important;
  }

  /* 幅 */

  .main .sp-w50 {
    width: 50px !important;
  }

  .main .sp-w60 {
    width: 60px !important;
  }

  .main .sp-w70 {
    width: 70px !important;
  }

  .main .sp-w80 {
    width: 80px !important;
  }

  .main .sp-w90 {
    width: 90px !important;
  }

  .main .sp-w100 {
    width: 100px !important;
  }

  .main .sp-w110 {
    width: 110px !important;
  }

  .main .sp-w120 {
    width: 120px !important;
  }

  .main .sp-w130 {
    width: 130px !important;
  }

  .main .sp-w140 {
    width: 140px !important;
  }

  .main .sp-w150 {
    width: 150px !important;
  }

  .main .sp-w160 {
    width: 160px !important;
  }

  .main .sp-w170 {
    width: 170px !important;
  }

  .main .sp-w180 {
    width: 180px !important;
  }

  .main .sp-w190 {
    width: 190px !important;
  }

  .main .sp-w200 {
    width: 200px !important;
  }

  /* 下余白 */

  .main .sp-mb0 {
    margin-bottom: 0 !important;
  }

  .main .sp-mb10 {
    margin-bottom: 10px !important;
  }

  .main .sp-mb15 {
    margin-bottom: 15px !important;
  }

  .main .sp-mb20 {
    margin-bottom: 20px !important;
  }

  .main .sp-mb30 {
    margin-bottom: 30px !important;
  }

  .main .sp-mb40 {
    margin-bottom: 40px !important;
  }

  .main .sp-mb50 {
    margin-bottom: 50px !important;
  }

  .main .sp-mb60 {
    margin-bottom: 60px !important;
  }

  .main .sp-mb70 {
    margin-bottom: 70px !important;
  }

  .main .sp-mb80 {
    margin-bottom: 80px !important;
  }

  .main .sp-mb90 {
    margin-bottom: 90px !important;
  }

  .main .sp-mb100 {
    margin-bottom: 100px !important;
  }

  /* 表示／非表示 */

  .main .show-pc {
    display: none !important;
  }

  /* 折り返さない */

  .main .nowrap {
    white-space: nowrap;
  }

  /* 文字サイズ */

  .main .sp-l {
    font-size: 1.06rem !important;
  }

  .main .sp-m {
    font-size: 0.88rem !important;
  }

  .main .sp-s {
    font-size: 0.75rem !important;
  }

  /* ----- [CL] カラム ----- */

  .col-set {
    width: 100%;
  }

  .no-gutter {
    width: 100%;
  }

  .row .no-gutter {
    margin-bottom: 15px;
  }

  .col1-2,
  .col1-3,
  .col2-3,
  .col1-4,
  .col3-4,
  .col1-5,
  .col1-6 {
    margin-right: 15px;
    width: calc(100% - 15px);
  }

  .col1-3,
  .col2-3 {
    margin-right: 0;
  }

  .no-gutter > .col1-2,
  .no-gutter > .col1-3,
  .no-gutter > .col2-3,
  .no-gutter > .col1-4,
  .no-gutter > .col3-4,
  .no-gutter > .col1-5,
  .no-gutter > .col1-6 {
    width: 100%;
  }

  .sp-col1-2 {
    width: calc(50% - 15px);
  }

  .no-gutter > .sp-col1-2 {
    width: 50%;
  }

  .p-free .col1-3 {
    margin-right: 0;
  }

  .p-free .col1-3,
  .p-free .col2-3 {
    width: 100%;
  }

  .bnr .col-set {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
  }

  .bnr .col1-4 {
    margin: 0 7.5px;
  }

  .bnr .col1-4.img {
    margin-bottom: 0;
  }

  .bnr .col1-4 a {
    display: block;
  }

  .bnr .col1-4 a img {
    width: 100%;
  }

  .main .p-free .col-set [class*="col"] > *:last-child {
    margin-bottom: 15px;
  }

  /* ----- [HG] 見出し ----- */

  .main h1:not([class*='heading']) {
    font-size: 1.5rem;
  }

  .p-free h1:not([class*='heading']):first-child {
    margin-bottom: 19.5px;
    margin-top: 15px;
  }

  .event .p-free h1 {
    padding: 0 15px;
  }

  .p-free h1:not([class*='heading']).p-title {
    margin-bottom: 15px;
    margin-left: 15px;
    margin-right: 15px;
  }

  .main h2:not([class*='heading']),
  .main .heading1 {
    font-size: 1.5rem;
    margin: 30px 0 30px;
  }

  .main h2:not([class*='heading']):first-child,
  .main .heading1 + h3:not([class*='heading']) {
    margin-top: 0;
  }

  .main h3:not([class*='heading']),
  .main .heading2 {
    font-size: 1.13rem;
    margin: 30px 0 15px;
  }

  .main h4:not([class*='heading']),
  .main .heading3 {
    font-size: 1.06rem;
    margin: 20px 0 10px;
  }

  .main h5:not([class*='heading']),
  .main .heading4 {
    font-size: 1rem;
    margin: 10px 0;
  }

  .main h6:not([class*='heading']),
  .main .heading5 {
    font-size: 1rem;
    margin: 0 0 15px;
  }

  .main .p-free p.p-title {
    font-size: 1.25rem;
    margin-bottom: 14.5px;
  }

  /* 行頭アイコン付き */

  .main h3:not([class*='heading']).icon {
    font-size: 1rem;
    padding: 0 0 7.5px 35px;
  }

  .main h3:not([class*='heading']).icon img {
    top: -0.1em;
  }

  /* ----- [TX] テキスト ----- */

  .main .p-free p {
  /*	line-height: 1.7;*/
    margin-bottom: 15px;
  }

  .main .p-free .heading1,
  .main .p-free h2:not([class*="heading"]) {
    font-size: 1.25rem;
    margin-bottom: 14.5px;
  }

  .main .copy {
    font-size: 1.31rem;
  }

  .main .news-conts .nodata {
    padding: 20px 15px 0 15px;
  }

  .main .note + .note,
  .main .note-num + .note-num {
    margin-top: -10px;
  }

  /* ----- [HR]  区切り線 ----- */

  .main hr {
    margin-bottom: 15px;
  }

  /* ----- [IG] 画像 ----- */

  .main .img {
    margin-bottom: 15px;
  }

  .main .p-free .col-set .img {
    margin-bottom: 15px;
  }

  .main figure {
    margin-bottom: 15px;
  }

  .main .right .caption {
    margin-right: auto;
  }

  .main .thumb-set {
    margin-bottom: 15px;
  }

  .main .img-set .img,
  .main .img-set .img.right {
    float: none;
    max-width: none;
    text-align: center !important;
    width: auto;
  }

  .main .img-set .img {
    margin-right: 0;
    margin-bottom: 15px;
    padding-right: 0;
  }

  .main .img-set .img.right {
    margin-left: 0;
    padding-left: 0;
  }

  .main .img-set > *:last-child {
    margin-bottom: 15px;
  }

  .main .thumb-set .img,
  .main .p-free .thumb-set .img {
    margin-right: 7.5px;
    margin-bottom: 0;
    padding-right: 7.5px;
  }

  .main .thumb-set .img.right,
  .main .p-free .thumb-set .img.right {
    margin-left: 7.5px;
    margin-right: 0;
    padding-left: 7.5px;
    padding-right: 0;
  }

  .main .thumb-set.sp-col1 .img,
  .main .p-free .thumb-set.sp-col1 .img,
  .main .thumb-set.sp-col1 .img.right,
  .main .p-free .thumb-set.sp-col1 .img.right {
    float: none;
    max-width: none;
    margin: 0 0 15px;
    padding: 0;
  }

  /* ----- [LT] リスト ----- */

  .main ul,
  .main ol {
    margin-bottom: 15px;
  }

  .main ul.col-set li {
    margin-bottom: 15px;
  }

  .main dl {
    display: block;
    margin-bottom: 15px;
  }

  .main dt {
    padding-bottom: 5px !important;
    width: auto !important;
  }

  .main dd {
    padding: 0 0 15px;
    width: auto !important;
  }

  .main dl.border-set > dd {
    border-top: 0;
    padding: 0 0 15px;
  }

  .main .news-conts dl.border-set {
    border-bottom: 0;
    border-top: solid 1px #ddd;
  }

  .main .news-conts dl.border-set > dt,
  .main .news-conts dl.border-set > dd {
    border-top: 0;
  }

  .main .news-conts dl.border-set > dt {
    width: 10.5em !important;
    float: left;
    font-size: 0.94rem;
    padding-left: 15px;
    padding-right: 0;
    padding-top: 15px;
  }

  .main .news-conts dl.border-set > dd {
    border-bottom: solid 1px #ddd;
  }

  .main .news-conts dl.border-set > dd a {
    margin: 0;
    padding: 15px 40px 15px 15px;
  }

  .main .news-conts dl.border-set > dd a:hover:after {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  .main .news-conts dl.border-set > dd a:hover .txt {
    opacity: 1;
  }

  .main .news-conts dl.border-set > dd .tag {
    clear: none;
    margin: 0;
    padding: 0;
  }

  .main .news-conts dl.border-set > dd .tag span {
    width: 10em;
  }

  .main .news-conts dl.border-set > dd .txt {
    clear: both;
  }

  .main .news-conts dl.border-set > dd .txt span {
    display: block;
    font-size: 0.94rem;
    line-height: 1.5;
  }

  .main ul.news dl.border-set {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 0;
    border-top: solid 1px #cecece;
  }

  .main dl.border-set > dt .days {
    width: 66.5px;
  }

  .main dl.border-set > dt .days_head {
    background: #fff;
    font-weight: bold;
    padding: 7px 5px 5.5px;
    text-align: center;
  }

  .main dl.border-set > dt .days_head .month {
    font-size: 0.75rem;
    margin-bottom: 5px;
  }

  .main dl.border-set > dt .days_head .day {
    font-size: 1.25rem;
  }

  .main dl.border-set > dt .days_head .day span {
    font-size: 0.75rem;
  }

  .main dl.border-set > dt .days_body {
    font-size: 0.69rem;
    line-height: 20px;
    padding: 0 1.5px;
  }

  .main ul.news dl.border-set > dt {
    border-bottom: solid 1px #cecece;
    border-top: 0 none;
    padding: 15px 0 5px;
  }

  .main ul.news dl.border-set > dd {
    border-bottom: solid 1px #cecece;
    border-top: 0 none;
    padding: 15px 0 15px 0;
    width: calc(100% - 97px) !important;
  }

  .main ul.news dl.border-set > dd a {
    padding: 0 40px 0 0;
  }

  .main ul.news {
    margin-bottom: 15px;
  }

  .main ul.news li a {
    padding: 15px 40px 15px 15px;
  }

  .main ul.news li a:hover:after {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  .main ul.news li a:hover .news-title {
    opacity: 1;
  }

  .main ul.news dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .main ul.news dl dt {
    padding-right: 15px;
    width: 96.5px;
  }

  .main ul.news dl dt .days {
    width: 66.5px;
  }

  .main ul.news dl dt .days_head {
    padding: 7px 5px 5.5px;
  }

  .main ul.news dl dt .days_head .month {
    font-size: 0.75rem;
  }

  .main ul.news dl dt .days_head .day {
    font-size: 1.25rem;
  }

  .main ul.news dl dt .days_head .day span {
    font-size: 0.75rem;
  }

  .main ul.news dl dt .days_body {
    font-size: 0.69rem;
    line-height: 20px;
    padding: 0 1.5px;
  }

  .main ul.news dl dd {
    padding: 0;
    width: calc(100% - 81.5px) !important;
  }

  .main ul.news dl dd .label {
    margin: 0 0 6px;
  }

  .main ul.news dl dd .label span {
    font-size: 0.69rem;
    margin: 0;
    padding: 4.5px 5px;
    width: 8.5em;
  }

  .main ul.news dl dd .news-date {
    line-height: 1.5;
  }

  .main ul.news dl dd .news-tag {
    font-size: 0.81rem;
    line-height: 1.4;
    padding: 0;
  }

  /* ----- [LK1] アイコンリンク ----- */

  .main .p-free p:not([class*="heading"]):not([class*="p-title"]):not(.link-icon) + .link-icon:not(h2):not(h3):not(h4):not(h5):not(h6):not([class*="heading"]),
  .main .p-free p:not([class*="heading"]):not([class*="p-title"]):not(.link-icon) + ul > .link-icon:first-child {
    margin-top: 0;
  }

  .main .link-icon:not(li) + .link-icon:not(h2):not(h3):not(h4):not(h5):not(h6):not([class*="heading"]) {
    margin-top: -10px;
  }

  /* ----- [LK2] 横並びリンク ----- */

  .main .link-horizontal {
    margin-bottom: 15px;
  }

  /* ----- [TG1] タグ ----- */

  .main .tag {
    margin-bottom: 10px;
    margin-right: -10px;
  }

  .main .tag button {
    font-size: 0.75rem;
    margin: 0 10px 10px 0;
    min-width: 0;
    padding: 5.5px 15px;
  }

  .main .tag button.current {
    background: #009257;
    color: #fff;
  }

  /* ----- [TG2] ラベル ----- */

  .main .label span {
    font-size: 0.75rem;
  /*	padding: 7.5px 18px;*/
  }

  /* ----- [BT] ボタン ----- */

  .main .btn > * {
    margin: 0 15px 15px 0;
  }

  .main .l-content-main .p-free .btn {
    margin: 0 -15px 0 0;
  }

  .main .l-content-main .p-free .btn:last-child {
    margin-bottom: 0;
  }

  .main .l-content-main .p-free .img-set .btn:last-child {
    margin-bottom: 15px;
  }

  .main .l-content-main .p-free .btn > * {
    margin: 0 15px 15px 0;
  }

  .main .l-content-main .p-free p:not([class*="heading"]):not(.btn)  + .btn {
    margin-top: 0;
  }

  .main .l-content-main .p-free .btn + .btn {
    margin-top: 0;
  }

  /* ----- [BX] ボックス ----- */

  .main .box {
    margin-bottom: 15px;
  }

  .main .box .box-body dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .main .box .box-body dl dt {
    padding: 0 !important;
    width: 4em !important;
  }

  .main .box .box-body dl.list-col2 dd {
    width: calc(100% - 60px) !important;
  }

  .main .box .box-body dl.list-col2 dd + dt {
    margin-left: 0;
  }

  .main .box.box-tool {
    padding: 15px 15px 11.5px;
  }

  .main .box.box-tool .box-tool-wrap {
    display: block;
  }

  .main .box.box-tool .box-tool-wrap .box-tool-img {
    margin-bottom: 15px;
    width: 100%;
  }

  .main .box.box-tool .box-tool-wrap p {
    padding: 0;
    width: 100%;
  }

  .main .box.box-content {
    padding: 15px;
  }

  .main .box.box-clip {
    padding: 15px 15px 15px 60px;
  }

  .main .box.box-content h2.heading,
  .main .box.box-clip h2.heading {
    font-size: 1rem;
  }

  .main .box.box-heading h3.heading,
  .main .box.box-clip h3.heading {
    font-size: 0.94rem;
    font-weight: bold;
  }

  .main .box.box-double .box-double-wrap {
    padding: 15px;
  }

  .main .box.box-fukidashi {
    display: block;
  }

  .main .box.box-fukidashi .box-fukidashi-img {
    margin: 0 auto 20px;
  }

  .main .box.box-fukidashi .box-fukidashi-desc {
    padding: 15px;
    width: 100%;
  }

  .main .box.box-fukidashi .box-fukidashi-desc::after,
  .main .box.box-fukidashi-p2 .box-fukidashi-desc::after {
    top: -15px;
    left: calc(50% - 15px);
    border-color: transparent transparent #f1f1f1 transparent;
    border-width: 0 15px 15px 15px;
  }

  .main .box.box-link {
      margin-bottom: 15px;
  }

  .main .box.box-link a,
  .main .box.box-link > div {
    height: auto !important;
    margin-bottom: 0 !important;
  }

  .main .p-free .box-relation {
    padding-top: 15px;
  }

  .main .p-free .box-relation p.l.weight-bold {
    margin-bottom: 5px;
  }

  .main .bar,
  .main p.bar {
    padding: 8px 15px;
  }

  .main h2.bar.xl {
    font-size: 1.13rem !important;
  }

  /* ----- [FR]  枠 ----- */

  .main .frame {
    margin-bottom: 15px;
    padding: 15px;
  }

  .main .p-free .col-set > .frame:last-child {
    margin-bottom: 0;
  }

  .main .p-free .col-set > .frame > *:last-child {
      margin-bottom: 0;
  }

  .main .frame .heading:first-child {
    margin: -18px -18px 15px;
    padding: 12px 18px;
    font-size: 1.06rem;
  }

  .main .frame .heading .heading-label {
    float: none;
    display: inline-block;
    margin-bottom: 5px;
    padding: 5px 8px;
    font-size: .81rem;
  }

  /* ----- [TB] 表 ----- */

  .main table {
    margin-bottom: 15px;
  }

  .main table th,
  .main table td {
    padding: 7px 10px;
  }

  .main table th:only-of-type {
    min-width: 0;
  }

  .main table th,
  .main table td,
  .main table td p,
  .main table td ul,
  .main table td ol {
    font-size: .88rem;
  }

  .main table thead th {
    min-width: 0;
  }

  .main table.sp-col1,
  .main table.sp-col1 thead,
  .main table.sp-col1 tbody,
  .main table.sp-col1 tr,
  .main table.sp-col1 th,
  .main table.sp-col1 td {
    display: block;
    width: 100%;
    border: none 0;
  }

  .main table.sp-col1 {
    border-top: solid 1px #e5e5e5;
    border-left: solid 1px #e5e5e5;
    border-right: solid 1px #e5e5e5;
  }

  .main table.sp-col1 th {
    padding: 8px 15px;
    border-bottom: solid 1px #e5e5e5;
  }

  .main table.sp-col1 td {
    border-bottom: solid 1px #e5e5e5;
  }

  /* 水平スクロールバー */

  .main .scroll {
    margin: 0 0 15px;
    overflow-x: auto;
  }

  .main .scroll::-webkit-scrollbar {
    height: 5px;
  }

  .main .scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
    -webkit-border-radius: 100px;
  }

  .main .scroll::-webkit-scrollbar-thumb {
    background: #008b4e;
    -webkit-border-radius: 100px;
  }

  .main .scroll > * {
    margin-bottom: 15px !important;
    min-width: 540px;
  }

  /* ----- [NV2] タブ ----- */

  .main .tab {
    margin-bottom: 30px;
  }

  .main .row .tab {
    margin-bottom: 15px;
  }

  .main .sp-accordion .tab-nav {
    display: none;
  }

  .main .tab-nav li {
    min-height: 65px;
  }

  .main .tab-nav li a,
  .main .tab-nav li label {
    font-size: 0.75rem;
    line-height: 1.3;
    padding: 5px 3px;
  }

  .main .tab-container {
    margin: 0 -15px;
  }

  .main .row .tab .tab-container {
    margin: 0;
  }

  .main .tab-element {
    padding: 15px 15px 5px !important;
  }

  .main .sp-accordion .tab-slider {
    width: auto;
  }

  .main .sp-accordion .sp-tab-nav {
    display: block;
    margin: 0;
  }

  .main .sp-accordion .sp-tab-nav a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    background-color: #434c4d;
    border-top: solid 1px #5f6768;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    color: #fff !important;
    -ms-flex-align: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    min-height: 50px;
    padding: 5px 50px 5px 15px;
    text-align: center;
    text-decoration: none;
    -webkit-transition: background-color 0.2s linear, border-top-color 0.2s linear;
    transition: background-color 0.2s linear, border-top-color 0.2s linear;
  }

  html:not(.sp) .main .sp-accordion .sp-tab-nav:not(.current) a:hover {
    background-color: #5f6768;
  }

  .main .sp-accordion .sp-tab-nav:first-of-type a,
  .main .sp-accordion .sp-tab-nav.current + .tab-element + .sp-tab-nav a {
    border-top-color: #434c4d;
  }

  .main .sp-accordion .sp-tab-nav.current a {
    background-color: #008b4e;
    border-top-color: #008b4e !important;
  }

  .main .sp-accordion .sp-tab-nav a span {
    position: absolute;
    top: 50%;
    right: 10px;
    display: block;
    border: solid 1.5px rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    height: 30px;
    margin-top: -15px;
    width: 30px;
  }

  .main .sp-accordion .sp-tab-nav a span:before,
  .main .sp-accordion .sp-tab-nav a span:after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    background-color: #fff;
    border-radius: 2px;
    content: '';
  }

  .main .sp-accordion .sp-tab-nav a span:before {
    height: 2px;
    margin: -1px 0 0 -6px;
    width: 12px;
  }

  .main .sp-accordion .sp-tab-nav a span:after {
    height: 12px;
    margin: -6px 0 0 -1px;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
    width: 2px;
  }

  html:not(.sp) .main .sp-accordion .sp-tab-nav a:hover span:after,
  .main .sp-accordion .sp-tab-nav.current a span:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  .main .sp-accordion .tab-element {
    float: none;
    width: auto;
  }

  /* ----- [FM] フォーム ----- */

  .main .form dl.border-set {
    margin-bottom: 30px;
  }

  .main .form dl.border-set > dt {
    padding: 15px 0 5px;
  }

  .main .form dl.border-set .required:after {
    font-size: 0.75rem;
    margin-top: 5px;
  }

  /* ----- [EB1] 動画埋め込み ----- */

  .main .embed-video {
    margin-bottom: 15px;
  }

  /* ----- [SL] スライダー ----- */

  .main .slider {
    margin-bottom: 15px;
  }

  .main .row .slider {
    margin-left: -15px;
    margin-right: -15px;
  }

  .main .row .slider .no-col {
    padding: 15px;
  }

  /* ----- [gm] Google Map ----- */

  .main .gm {
    margin-bottom: 15px;
  }

  /* ----- [gm] Mainvisual ----- */

  .mainvisual .row {
    padding: 0;
  }

  .mainvisual .col-set {
    padding: 0 15px;
  }

  .main .mainvisual-article {
    padding: 0 15px;
  }

  .main .mainvisual-article .col-set {
    padding: 0;
  }

  .mainvisual-sub {
    width: 92vw;
  }

  .mainvisual-sub-body {
    overflow-y: auto;
    padding: 10px 15px 0;
  }

  .mainvisual-sub-body::-webkit-scrollbar {
    width: 10px;
  }

  .mainvisual-sub-body::-webkit-scrollbar-track {
    background: #e5e5e5;
    border: none;
  }

  .mainvisual-sub-body::-webkit-scrollbar-thumb {
    background: #027f3d;
  }

  .mainvisual-sub-body .btn {
    margin: 0 0 40px;
    width: 100%;
  }

  .mainvisual-search {
    padding: 0 15px;
  }

  .l-content {
    padding: 30px 0 0;
  }

  .l-content-white {
    background-color: #fff;
  }

  .l-content .row {
    padding: 0;
  }

  .l-content-main-wrap {
    position: relative;
  }

  .l-content-main .tag {
    padding: 0 15px;
  }

  .l-content-main .btn {
    margin: 30px 0 0;
    padding: 0 15px;
  }

  .l-content-main .btn .ghost {
    margin: 0;
  }

  .l-content-main .p-free .btn {
    padding: 0;
  }

  .l-content-main .p-free .btn:hover {
    color: #009257 !important;
  }

  .l-content-main .article-relation + .btn {
    margin: 30px 0 0;
  }

  .l-content-event {
    margin-top: 30px;
    padding-top: 30px;
    width: 100%;
  }

  .l-content-event::before,
  .l-content-event::after {
    content: none;
  }

  .l-content-event-wrap {
    padding: 10px 0 30px;
  }

  #container .l-content-main {
    margin: 0;
    padding: 0;
  }

  body:not(.page) .l-content-side {
    padding-top: 30px;
  }

  .l-content-page {
    margin-top: 0;
  }

  .l-content-relation {
    background: #f1f1f1;
    margin-top: 0;
    padding: 10px 0 0;
  }

  .l-content-relation h2[class*='heading']:first-child {
    margin-top: 20px !important;
  }

  .l-content-form {
    display: block;
    background: #f1f1f1;
    padding: 30px 15px 0;
  }

  .h-side {
    padding: 30px 15px 0;
  }

  .h-title {
    height: 75px;
  }

  .h-l1 {
    padding: 0 15px;
  }

  .h-l1 img {
    height: auto;
  }

  .h-l1 span {
    font-size: 0.69rem;
    margin: 0 0 0 15px;
  }

  .page .h-title {
    height: 75px;
  }

  .page .h-l1 {
    line-height: 1;
  }

  .page .h-l1 span {
    margin: 0 0 0 18px;
  }

  .main h2.h-l2 {
    font-size: 1.69rem;
  }

  .l-content-form .search-box {
    background: #fff;
    height: 50px;
    margin: 0 0 0 auto;
    width: 100%;
  }

  .l-content-form .search-box input {
    padding: 0 54px 0 20px;
  }

  .l-content-form .search-box button {
    right: 15px;
    background-image: url(../images/icon_search_g.png);
    background-size: 24px auto;
    height: 25.5px;
    width: 24px;
  }

  .article {
    display: block;
  }

  .article-box:hover .article-img-box-frame {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .p-mv .article.article-l2 {
    background: #fff;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    min-height: 180px;
    padding: 0;
  }

  .p-mv .article.article-l2 .label {
    position: relative;
    left: -15px;
  }

  .p-mv .article.article-l2 .article-wrap {
    position: static;
  }

  .p-mv .article.article-l2 .article-info {
    position: static;
    padding: 30px 0;
  }

  .p-mv .article.article-l2 .article-info-date {
    color: #333;
  }

  .p-mv .article.article-l2 .article-info-title {
    color: #000;
    font-size: 1.31rem;
    line-height: 1.5;
  }

  .p-mv .article.article-l2 .article-info-desc {
    display: none;
  }

  html:not(.spWebkit) .article-wrap-video .article-img::after {
    content: none;
  }

  html:not(.spWebkit) .article-wrap-video .article-img-box::after {
    position: absolute;
    top: 30%;
    right: 0;
    left: 0;
    background-image: url(../images/icon_play.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 68px auto;
    content: '';
    height: 68px;
    margin: auto;
    opacity: 1;
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    width: 68px;
  }

  .article-img {
    width: 100%;
  }

  .article-img.is-play .article-img-box::after {
    opacity: 0;
  }

  .article-img.is-play .js-movie-click::before {
    z-index: 11;
  }

  .article-img.is-play .js-movie-click .article-img-box-frame {
    opacity: 0;
  }

  .article-img-box-frame::before {
    padding-top: 178.113207547%;
  }

  .page .article-social {
    position: absolute;
    right: -80px;
    bottom: -45px;
    margin: 0;
  }

  .mainvisual .label {
    right: inherit;
    left: 0;
    max-width: 100%;
  }

  .mainvisual .article-img-box.js-movie-on iframe {
    display: none;
  }

  .mainvisual .article-img-box-frame::before {
    padding-top: 178.113207547%;
  }

  .mainvisual .article-info {
    position: absolute;
    bottom: 0;
    left: 0;
    background: url(/assets/images/bg_article.png) no-repeat 0 0 transparent;
    background-size: 100% auto;
    padding: 30% 15px 27px;
    width: 100%;
    z-index: 20;
  }

  .mainvisual .article-info-date {
    color: #fff;
    font-size: 0.81rem;
    margin: 0 0 11.5px;
  }

  .mainvisual .article-info-h {
    color: #fff;
    font-size: 0.81rem;
    margin: 0 0 9.5px;
  }

  .mainvisual .article-info-title {
    color: #fff;
    font-size: 1rem;
    margin: 0;
  }

  .mainvisual .article-info-desc {
    display: none;
  }

  .mainvisual .article-info-tag {
    color: #fff;
    font-size: 0.75rem;
    margin-top: 11.5px;
  }

  .article-block:nth-child(even) .article .label {
    right: 0;
    left: inherit;
  }

  .article-block:nth-child(even) .article-img {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .article-block:nth-child(even) .article-info {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .article-child {
    width: 100%;
  }

  .side-article .article-child {
    padding: 15px;
  }

  .article-child .label {
    max-width: 100%;
  }

  .article-child .label span {
    line-height: 1;
    padding: 6.5px 8px;
  }

  html:not(.spWebkit) .article-child .article-wrap-video .article-img-box::after {
    top: 0;
    bottom: 0;
    background-size: 35px auto;
    height: 35px;
    width: 35px;
  }

  .article-child .article-img {
    min-height: 178px;
    min-width: 100px;
    width: 26.666666%;
  }

  .article-child .article-info {
    position: relative;
    background: #fff;
    padding: 0 15px;
    width: 73.333334%;
  }

  .article-child .article-info::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background: #ddd;
    content: '';
    height: 1px;
    width: 100%;
  }

  .article-child .article-info-date {
    font-size: 0.75rem;
    margin-bottom: 8px;
  }

  .article-child .article-info-title {
    margin-bottom: 7px;
  }

  .article-child .article-info-desc {
    line-height: 1.5;
  }

  .l-content-main-wrap::after {
    content: none;
  }

  .l-content-main-wrap .article-child:nth-child(odd),
  .l-content-main-wrap .article-child:nth-child(even) {
    float: none;
  }

  .l-content-main-wrap .article-child .label {
    right: 0;
    left: inherit;
  }

  .l-content-main-wrap .article-child .article-img {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .l-content-main-wrap .article-child .article-info {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .side-article .article-wrap {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .side-article .article-wrap-video .article-img-box::after {
    background-size: 35px auto;
  }

  .side-article .article-img {
    min-height: 142px;
    min-width: auto;
    width: 80px;
  }

  .side-article .article-info {
    background: none;
    padding: 0 0 0 15px;
    width: calc(100% - 79px);
  }

  .side-article .article-info::after {
    content: none;
  }

  .side-article .article-info-tag {
    font-size: 0.81rem;
  }

  .article-relation-wrap:nth-child(even) .article .label {
    right: 0;
    left: inherit;
  }

  .article-relation-wrap:nth-child(even) .article-img {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .article-relation-wrap:nth-child(even) .article-info {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .l-content-main .btn.js-more .ghost:hover {
    color: #009257 !important;
  }

  html:not(.sp) .main .btn.js-more .ghost:hover {
    color: #fff !important;
  }

  .u-pickup-article.article-inlink .article-img {
    min-height: 142px;
    min-width: 0;
    width: 80px;
  }

  .u-pickup-article.article-inlink .article-info {
    padding: 0;
    width: calc(100% - 80px);
  }

  .u-pickup-article.article-inlink .article-info-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    width: 100%;
  }

  .u-pickup-article.article-inlink .article-info-title {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 15px 70px 15px 15px;
  }

  .u-pickup-article.article-inlink .article-info-title p {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    padding: 15px;
    width: calc(100% - 55px);
  }

  .u-pickup-article.article-inlink .article-info-title p > {
    display: block;
  }

  .u-pickup-article.article-inlink .article-info-title .arrow {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    display: block;
    border-left: solid 1px #e5e5e5;
    height: 100%;
    width: 55px;
  }

  .u-pickup-article.article-inlink .article-info-title .arrow::before {
    display: block;
    content: '';
    padding-top: 100%;
  }

  .u-pickup-article.article-inlink .article-info-title .arrow::after {
    content: none;
  }

  .u-pickup-article.article-inlink .article-info-title .arrow i::before,
  .u-pickup-article.article-inlink .article-info-title .arrow i::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: #999;
    content: '';
    margin: auto;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }

  .u-pickup-article.article-inlink .article-info-title .arrow i::before {
    height: 2px;
    width: 18px;
  }

  .u-pickup-article.article-inlink .article-info-title .arrow i::after {
    height: 18px;
    width: 2px;
  }

  .u-pickup-article.article-inlink .article-info-title .arrow.is-show i::after {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }

  .u-pickup-article.article-inlink .article-info-menu {
    display: none;
  }

  .u-pickup-article.article-inlink .article-sub-nav {
    width: 100%;
  }

  .u-pickup-article.article-inlink .article-sub-nav .article-info-menu {
    display: block;
  }

  .u-pickup-article.article-inlink .article-sub-nav .article-info-menu li {
    margin: 0;
    padding: 0;
  }

  .u-pickup-article.article-inlink .article-sub-nav .article-info-menu li a {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: #f1f1f1;
    border-bottom: solid 1px #e5e5e5;
    height: 60px;
    padding: 0 15px;
    width: 100%;
  }

  .u-pickup-article.article-inlink .article-sub-nav .article-info-menu li:last-child a {
    border-bottom: 0 none;
  }

  .u-pickup-article.article-inlink .article-sub-nav .article-info-menu li a > {
    display: block;
  }

  .u-pickup-article.article-inlink .article-sub-nav .article-info-menu li a .arrow::after {
    top: 0;
    display: block;
  }

  .u-pickup-article.article-inlink .article-sub-nav .article-info-menu li a:hover .arrow::after {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  .u-pickup-article.article-inlink .article-sub-nav .article-info-menu li a .arrow,
  .u-pickup-article.article-inlink .article-sub-nav .article-info-menu li.link-icon a:after  {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    height: 24px;
    margin: auto;
  }

  .u-visual::before {
    padding-top: 60%;
  }

  .u-visual-v2 {
    min-height: 170px;
    padding: 21px 0 40px;
  }

  .u-visual-v2 .breadcrumb {
    margin-bottom: 30px;
  }

  .u-visual-v2 .u-visual-h {
    font-size: 1.75rem;
  }

  .u-visual-non {
    background-color: #f1f1f1;
    border-left: 0;
  }

  .u-visual-h {
    font-size: 1.88rem;
  }

  .u-visual-h br {
    display: inline;
  }

  .u-visual-wrap {
    height: 100%;
  }

  .u-visual:not(.u-visual-v2) .u-visual-wrap {
    padding-top: 20px;
  }

  .target .u-visual:not(.u-visual-v2) .u-visual-wrap {
    padding-bottom: 0;
  }

  .u-visual-wrap-grid {
    display: block;
  }

  .u-visual-main {
    float: none;
    width: 100%;
  }

  .u-visual-main::before {
    padding-top: 60%;
  }

  .u-visual-main-wrap {
    height: 100%;
    padding: 22px 15px 0;
  }

  .u-visual-main .breadcrumb {
    padding: 0 15px;
  }

  .u-visual-sub {
    width: 100%;
  }

  .u-visual-sub-post .article-wrap .article-img::before {
    background: url(../images/bg_article.png) no-repeat center bottom;
  }

  .u-visual-sub-post .article-wrap.article-wrap-video .article-img-box::after {
    top: 0;
    bottom: 0;
    background-size: 50px auto;
    height: 50px;
    width: 50px;
  }

  .u-visual-sub-post .article-wrap .article-img-box-frame::before {
    content: '';
    padding-top: 177.8666666%;
  }

  .u-visual-sub-post .article-wrap .article-info {
    padding: 30% 15px 15px ;
  }

  .u-social {
    bottom: 15px;
    padding: 0 15px;
  }

  .u-social ul {
    margin: 0;
  }

  .u-social ul li a:hover {
    opacity: 1;
  }

  .u-local-nav {
    margin: 0 0 40px;
    width: 100%;
  }

  .u-local-nav ul {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0;
  }

  .u-local-nav ul + ul {
    border-top: 0;
  }

  .u-local-nav ul li {
    border-bottom: solid 1px #24a470;
    border-right: 0;
  }

  .u-local-nav ul li,
  .u-local-nav .col2 li,
  .u-local-nav .col3 li,
  .u-local-nav .col4 li,
  .u-local-nav .col5 li {
    width: 50%;
  }

  .u-local-nav ul li:nth-child(odd) {
    border-right: solid 1px #24a470;
  }

  .u-local-nav ul li a {
    position: relative;
    font-size: 0.88rem;
    height: 60px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 15px;
  }

  .u-local-nav ul li a:hover {
    background-color: #009257;
  }

  .u-local-nav ul li a br {
    display: none;
  }

  .u-lead p {
    font-size: 1rem;
    line-height: 1.5;
  }

  .u-point .u-col3-item-head {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .u-point .u-col3-item-img {
    height: auto;
  }

  .u-point .u-col3-item-h {
    line-height: 1.3;
    text-align: left;
  }

  .u-pickup {
    padding-top: 10px;
  }

  .u-pickup + .u-news {
    padding-top: 30px;
  }

  .u-pickup-article:nth-child(2) .article-info::after {
    content: '';
  }

  .u-pickup-article.u-pickup-article-sch:nth-child(1) .article-info::after,
  .u-pickup-article.u-pickup-article-sch:nth-child(2) .article-info::after {
    content: none;
  }

  .u-pickup-article .article-img-box span {
    display: none;
  }

  .u-news {
    margin-bottom: 30px;
    padding-top: 10px;
  }

  .u-news .news-conts {
    padding-top: 10px;
  }

  .u-news .news-btn .btn .ghost:hover {
    color: #009257 !important;
  }

  .u-news .news-btn .btn .ghost:hover span::after {
    background-position-y: -24px !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .u-point .h-l2 {
    padding-top: 7px;
  }

  .u-col3-set {
    display: block;
    margin-bottom: 30px;
  }

  .u-col3-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 0;
    width: 100%;
  }

  .u-col3-item + .u-col3-item {
    margin: 36px 0 0;
  }

  .u-col3-item-img {
    display: block;
    height: auto;
    width: 75px;
  }

  .u-col3-item-h {
    font-size: 1.25rem;
    margin: 0 0 0 20px;
  }

  .u-col3-item-desc {
    margin: 10px 0 0;
    width: 100%;
  }

  .u-col3-item-btn {
    position: relative;
    margin: 25px 0 0;
    width: 100%;
  }

  .u-col3-item-btn .btn .ghost:hover {
    color: #009257 !important;
  }

  .u-col3-item-btn .btn .ghost:hover span::after {
    background-position-y: -24px !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
  }

  html:not(.sp) .main .u-col3-item-btn .btn .ghost:hover {
    background-color: transparent !important;
  }

  .u-col3-item-caption {
    position: relative;
    margin-top: 10px;
  }

  .u-course {
    margin-bottom: 0;
    padding-top: 5.5px;
  }

  .u-course + .u-pickup {
    padding-top: 30px;
  }

  .u-pnl {
    display: block;
  }

  .u-pnl-item {
    width: 100%;
  }

  .u-pnl-item::after {
    padding-top: 39.1304347826%;
    width: 39.1304347826%;
  }

  .u-pnl-item:nth-child(odd),
  .u-pnl-item:nth-child(even),
  .u-pnl-item:nth-child(2) {
    margin-top: 0;
  }

  .u-pnl-item + .u-pnl-item {
    margin-top: 40px;
  }

  .u-pnl-item:nth-child(odd)::after {
    top: 13%;
    right: inherit;
    left: 5.07246376811%;
    content: '';
  }

  .u-pnl-item:nth-child(even)::after {
    top: 13%;
    right: 5.07246376811%;
    left: inherit;
    content: '';
  }

  .u-pnl-item:first-child::after {
    top: 26%;
    right: inherit;
    left: 5.07246376811%;
    content: '';
  }

  .u-pnl-item-img {
    width: 86.9565217391%;
  }

  .u-pnl-item-info {
    margin-top: -8.69565217391%;
    padding: 20px 20px 22.5px;
    width: 84.057972%;
  }

  .u-pnl-item-info:hover .u-pnl-item-info-wrap {
    opacity: 1;
  }

  .u-pnl-item-info:hover .u-pnl-item-info-h span > span:after {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  .u-pnl-item-info-h {
    font-size: 1.25rem;
    margin: 0 0 6.5px;
  }

  .u-page .l-content-full {
    background-color: #fff;
    padding: 30px 0 40px;
  }

  .u-page .l-content-full .p-free + .btn {
    margin: 16px 15px 0;
  }

  .u-page .u-side-nav .side-list li a.is-active:hover {
    opacity: 1;
  }

  .u-page .l-content-main {
    margin-bottom: 0;
  }

  .u-page .p-free + .btn {
    margin-top: 10px;
  }

  .u-page .l-content {
    padding-top: 0;
  }

  .u-page .l-content-wrap {
    background: #fff;
  }

  .u-page .u-side-nav {
    padding-top: 0 !important;
  }

  .u-page .u-side-nav .side-list > li:first-child {
    border-top: 0;
  }

  .u-page .u-side-nav .side-list li.is-active > a {
    margin-right: 0;
  }

  .u-page .u-side-nav .side-list > li:first-child a {
    font-size: 1rem;
    margin-right: 0;
    padding: 14px 40px 14px 15px;
  }

  .u-page .u-side-nav .side-list > li a:hover {
    background-color: transparent;
  }

  .u-page .p-free,
  .u-page .l-content-full .p-free {
    padding: 30px 15px;
  }

  .u-page.event .p-free {
    padding: 20px 0;
  }

  .u-page.event .p-free .tag {
    margin-bottom: 10px;
    margin-right: -10px;
  }

  .u-page.event .p-free .tag button {
    margin-bottom: 10px;
  }

  .u-page.news .p-mv .article-l2 .article-info {
    padding: 30px 0;
  }

  .u-page.news .u-visual .row {
    padding: 0 15px;
  }

  .u-page.news .p-free {
    padding: 20px 0;
  }

  .p-free .news-tag .tag {
    margin-bottom: 10px;
    margin-right: -10px;
    padding: 0;
  }

  .u-page.news .p-free .news-tag .tag {
    padding: 0 15px;
  }

  .p-free .news-tag .tag button {
    margin-bottom: 10px;
  }

  .u-page.news.page .l-content {
    background: #f1f1f1;
  }

  .u-page.news.page .l-content .p-mv-ctrl {
    padding: 30px 10px 20px 30px;
  }

  .u-page.news.page .l-content .p-free {
    padding: 20px 15px;
  }

  .p-free .news-conts:first-child {
    margin-top: -20px;
  }

  .u-page.magazine .p-free {
    padding: 20px 0;
  }

  .p-free .news-conts:first-child dl.border-set {
    border-top: 0
  }

  .u-page.magazine .p-title + .news-conts dl.border-set {
    border-top: solid 1px #ddd;
  }

  .u-page #container .side-list-item-parent > a,
  .u-page #container .side-list-item-parent > p {
    padding: 14px 15px;
  }

  .u-page #container .side-list-item-parent > a.is-active + span,
  .u-page #container .side-list-item-parent > p.is-active + span {
    border: 0;
    border-left: solid 1px #dadada;
  }

  .u-page #container .side-list-item-parent > a.is-active:hover::before,
  .u-page #container .side-list-item-parent > p.is-active:hover::before {
    content: '';
  }

  .u-page #container .side-list-item-parent a:hover::before {
    content: none;
  }

  .u-page #container .side-list-item-parent > a.is-active + span {
    border: 0;
    border-left: solid 1px #24a470;
  }

  .u-page #container .side-list-item-parent > span {
    top: 0;
    right: 0;
    border: 0;
    border-left: solid 1px #dadada;
    border-radius: 0;
    height: 49px;
    width: 40px;
  }

  .u-page #container .side-list-item-parent .side-list-item-child.is-hide {
    display: none;
  }

  .u-page #container .side-list-item-parent .side-list-item-child li a {
    margin-right: 0;
  }

  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent > span {
    top: 0;
    height: 43px;
  }

  .u-page #container .side-list-item-parent .side-list-item-child .side-list-item-parent .side-list-item-child .side-list-item-parent > span {
    height: 41px;
  }

  .u-about-pickup {
    padding-top: 30px;
  }

  .u-about-history {
    padding-bottom: 45px;
    padding-top: 30px;
  }

  .u-about-history .row {
    padding: 0 15px;
  }

  .u-about-history-conts.slick-slider {
    padding: 0 34px;
  }

  .u-about-history-conts .slick-list {
    padding-top: 60px;
  }

  .u-about-history-conts .slick-arrow {
    bottom: 70px;
  }

  .u-about-history-conts .slick-arrow.slick-prev {
    left: 16px;
  }

  .u-about-history-conts .slick-arrow.slick-next {
    right: 16px;
  }

  .u-about-history-item {
    width: 100%;
  }

  .u-about-history-item-head {
    margin: 0 auto;
    min-height: 226.5px;
    min-width: 194px;
    padding: 60px 20px 20px;
    width: 72.6591760299%;
  }

  .u-about-history-item-head::after {
    border-width: 15px 12.5px 0 12.5px;
  }

  .u-about-history-item-head-img {
    top: -60px;
    border: solid 5px #fff;
    width: 110px;
  }

  .u-about-history-item-line {
    margin: 28px 0 0;
  }

  .u-about-history-item-year {
    font-size: 1.25rem;
    margin: 15px 0 0;
  }

  .u-about-history-item-year span {
    font-size: 0.81rem;
    margin: 8px 0 0;
  }

  .u-about-history-btn {
    margin: 30px 0 0;
  }

  .ev-cal + .p-free {
    padding: 20px 15px;
  }

  #ev-cal-table tr td:nth-child(1) {
    text-align: center;
  }

  .volunteer .p-free {
    padding: 20px 0;
  }

  .volunteer .news-conts dl.border-set dt {
    position: absolute;
    float: none;
    padding: 15px 15px 5px;
  }

  .volunteer .news-conts dl.border-set dd a {
    padding: 3em 40px 15px 15px;
  }

  .u-grad-nav > ul {
    display: block;
    margin: 0;
  }

  .u-grad-nav-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }

  .u-grad-nav-item:nth-child(1) a:hover {
    background-color: #3f84ab;
  }

  .u-grad-nav-item:nth-child(2) a:hover {
    background-color: #5e6295;
  }

  .u-grad-nav-item:nth-child(3) a:hover {
    background-color: #dc9448;
  }

  .u-grad-nav-item:nth-child(4) a:hover {
    background-color: #83b46b;
  }

  .u-grad-nav-item:nth-child(5) a:hover {
    background-color: #ea5f5f;
  }

  .u-grad-nav-item:nth-child(6) a:hover {
    background-color: #28a06f;
  }

  .u-grad-nav-item a {
    padding: 0 15px;
    width: 100%;
  }

  .u-grad-nav-item a:hover {
    opacity: 1;
  }

  .ie .u-grad-nav-item {
    width: 100%;
  }

  .u-grad-nav-item-head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
    min-height: 116px;
    padding: 21px 0 23px;
  }

  .u-grad-nav-item-h {
    margin: 0 0 6px;
    text-align: left;
  }

  .grad .u-pickup {
    padding-top: 40px;
  }

  .shoukei .u-local-nav ul li {
    border-bottom: solid 1px #5899bc;
    border-right: 0;
  }

  .shoukei .u-local-nav ul li:nth-child(odd) {
    border-right: solid 1px #5899bc;
  }

  .shoukei .u-local-nav ul li a:hover {
    background-color: #3f84aa;
  }

  .shoukei .u-point .u-col3-item-btn .btn .ghost:hover {
    color: #3f84aa !important;
  }

  .shoukei .u-point .u-col3-item-btn .btn .ghost:hover span::after {
    background-position-y: 0;
  }

  .shoukei .u-course {
    padding-top: 5.5px;
  }

  .shoukei .u-news .tag button.current {
    background: #3f84aa;
  }

  .shoukei .u-news .tag button:hover {
    background: transparent;
    color: #3f84aa;
  }

  .shoukei .u-news .news-btn .btn .ghost:hover {
    color: #3f84aa !important;
  }

  .shoukei .u-news .news-btn .btn .ghost:hover span::after {
    background-position-y: 0 !important;
  }

  .seisaku .u-local-nav ul li {
    border-bottom: solid 1px #6e72a6;
    border-right: 0;
  }

  .seisaku .u-local-nav ul li:nth-child(odd) {
    border-right: solid 1px #6e72a6;
  }

  .seisaku .u-local-nav ul li a:hover {
    background-color: #5e6295;
  }

  .seisaku .u-point .u-col3-item-btn .btn .ghost:hover {
    color: #5e6295 !important;
  }

  .seisaku .u-point .u-col3-item-btn .btn .ghost:hover span::after {
    background-position-y: 0;
  }

  .seisaku .u-news .tag button.current {
    background: #5e6295;
  }

  .seisaku .u-news .tag button:hover {
    background: transparent;
    color: #5e6295;
  }

  .seisaku .u-news .news-btn .btn .ghost:hover {
    color: #5e6295 !important;
  }

  .seisaku .u-news .news-btn .btn .ghost:hover span::after {
    background-position-y: 0 !important;
  }

  .main .box.box-imanabi {
    padding: 70px 15px 15px;
    background-position: center top;
  }

  .main .box.box-imanabi .link-icon {
    margin-bottom: 0;
  }

  .service .u-local-nav ul li {
    border-bottom: solid 1px #e7a865;
    border-right: 0;
  }

  .service .u-local-nav ul li:nth-child(odd) {
    border-right: solid 1px #e7a865;
  }

  .service .u-local-nav ul li a:hover {
    background-color: #dc9448;
  }

  .service .u-point .u-col3-item-btn .btn .ghost:hover {
    color: #dc9448 !important;
  }

  .service .u-point .u-col3-item-btn .btn .ghost:hover span::after {
    background-position-y: -96px !important;
  }

  .service .u-news .tag button.current {
    background: #dc9448;
  }

  .service .u-news .tag button:hover {
    background: transparent;
    color: #dc9448;
  }

  .service .u-news .news-btn .btn .ghost:hover {
    color: #dc9448 !important;
  }

  .service .u-news .news-btn .btn .ghost:hover span::after {
    background-position-y: -96px !important;
  }

  .ningenshakai .u-local-nav ul li {
    border-bottom: solid 1px #95c67d;
    border-right: 0;
  }

  .ningenshakai .u-local-nav ul li:nth-child(odd) {
    border-right: solid 1px #95c67d;
  }

  .ningenshakai .u-local-nav ul li a:hover {
    background-color: #83b46b;
  }

  .ningenshakai .u-point .u-col3-item-btn .btn .ghost:hover {
    color: #83b46b !important;
  }

  .ningenshakai .u-point .u-col3-item-btn .btn .ghost:hover span::after {
    background-position-y: -48px !important;
  }

  .ningenshakai .u-news .tag button.current {
    background: #83b46b;
  }

  .ningenshakai .u-news .tag button:hover {
    background: transparent;
    color: #83b46b;
  }

  .ningenshakai .u-news .news-btn .btn .ghost:hover {
    color: #83b46b !important;
  }

  .ningenshakai .u-news .news-btn .btn .ghost:hover span::after {
    background-position-y: -48px !important;
  }

  .fgs .u-local-nav ul li {
    border-bottom: solid 1px #e77;
    border-right: 0;
  }

  .fgs .u-local-nav ul li:nth-child(odd) {
    border-right: solid 1px #e77;
  }

  .fgs .u-local-nav ul li a:hover {
    background-color: #ea5f5f;
  }

  .fgs .u-point .u-col3-item-btn .btn .ghost:hover {
    color: #ea5f5f !important;
  }

  .fgs .u-point .u-col3-item-btn .btn .ghost:hover span::after {
    background-position-y: -96px !important;
  }

  .fgs .u-news .tag button.current {
    background: #ea5f5f;
  }

  .fgs .u-news .tag button:hover {
    background: transparent;
    color: #ea5f5f;
  }

  .fgs .u-news .news-btn .btn .ghost:hover {
    color: #ea5f5f !important;
  }

  .fgs .u-news .news-btn .btn .ghost:hover span::after {
    background-position-y: -96px !important;
  }

  .graduate_sch .u-pickup {
    padding-top: 40px;
  }

  .target .u-news {
    padding-top: 45px;
  }

  .target .u-news .news-conts {
    padding-top: 0;
  }

  .target .u-pickup {
    padding-top: 80px;
  }

  .partners-title {
    padding: 0 15px 15px;
  }

  .partners-title p {
      margin-bottom: 15px;
  }

  .partners-title .alliance-number {
    font-size: 1.13rem;
  }

  .partners-title .alliance-number span {
      padding: 5px 0 0 40px;
      font-size: 6rem;
  }

  .main .partners-content ul li {
      padding: 10px 0;
  }

  .magazine .news-tag {
    padding: 0;
  }

  .magazine .l-content {
    padding-top: 0;
  }

  .magazine .news-tag .tag {
    background-color: #f1f1f1;
    margin-bottom: 0;
    margin-right: -10px;
    padding-bottom: 10px;
    padding-top: 20px;
  }

  .magazine .news-tag .tag button {
    margin-bottom: 10px;
  }

  .main .partners-content h2:first-child {
      margin-top: 30px;
  }

  .magazine .news-conts dl.border-set dt {
    position: absolute;
    float: none;
    padding: 15px 15px 0;
  }

  .magazine .news-conts dl.border-set dd a {
    padding: 2.8em 40px 15px 15px;
  }

  .p-free .ctv-content p {
    margin-bottom: 0;
  }

  .page .l-content .l-content-wrap > .col-set {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .page .l-content .l-content-wrap > .col-set::after {
    content: none;
  }

  .page .l-content .l-content-wrap > .col-set > .l-content-main {
    float: none;
  }

  .page .l-content .l-content-wrap > .col-set > .l-content-side {
    float: none;
  }

  .page .l-content {
    background: #fff;
  }

  .page .l-content-v2 {
    padding-top: 0;
  }

  /*.page .l-content-v2 .p-mv-ctrl {*/
  .page .article-l2 + .p-mv-ctrl {
    padding: 30px 10px 20px 30px;
  }

  .page .l-content-main.l-content-main-lower .l-content-page .p-free + .btn,
  .page .l-content-main.l-content-main-lower .l-content-page .l-content-relation + .btn {
    margin: 0;
    padding: 10px 15px 30px;
  }

  .page .mainvisual {
    padding: 0;
  }

  .page .mainvisual .row {
    padding: 0;
  }

  .page .mainvisual-search {
    padding: 0;
  }

  .page.event .p-free {
    padding: 20px 0;
  }
  /*
  .page.event .p-free h1:not([class*='heading']):first-child {
    padding: 0 15px;
  }
  */
  .u-page.event.page .p-free {
    padding: 20px 15px;
  }

  .p-mv .article-box:hover .article-img-box-frame {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .p-mv .article-box .article-img:hover .article-img-box-frame {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  .p-mv {
    position: relative;
    padding: 0 15px 45px;
  }

  .p-mv-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .p-mv .article {
    padding: 0;
    width: calc(100% - 80px);
    z-index: 30;
  }

  .p-mv .article-wrap {
    display: block;
  }

  .p-mv .label {
    right: inherit;
    left: 0;
  }

  .p-mv .article-box .article-img {
    width: 100%;
  }

  .p-mv .article-box .article-info {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    padding: 0 15px 27px;
    width: 100%;
    z-index: 1;
  }

  .p-mv .article:not(.article-l2) .article-box .article-info {
    padding-top: 30%;
    background: url(/assets/images/bg_article.png) no-repeat 0 0 transparent;
    background-size: 100% auto;
  }

  .p-mv .article-box .article-info-date {
    color: #fff;
    font-size: 0.81rem;
    margin: 0 0 11.5px;
  }

  .p-mv .article-box .article-info-title {
    color: #fff;
    font-size: 1rem;
    margin: 0;
  }

  .p-mv .article-box .article-info-desc {
    display: none;
  }

  .p-mv-ctrl {
    background: #fff;
    padding: 0 10px 20px 30px;
    width: 80px;
  }

  .p-mv-ctrl a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border: solid 1px rgba(5, 130, 76, 0.5);
    border-radius: 50%;
    height: 40px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 40px;
  }

  .p-mv-ctrl a > {
    display: block;
  }

  .p-mv-ctrl a + a {
    margin: 10px 0 0;
  }

  .p-mv-ctrl a.next::after,
  .p-mv-ctrl a.prev::after {
    display: block;
    background-image: url(../images/icon_link.png);
    background-position-y: -24px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    vertical-align: middle;
    width: 24px;
  }

  .p-mv-ctrl a.next::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .p-mv-ctrl a.list::after {
    display: block;
    background-image: url(../images/icon_link.png);
    background-position: -96px -24px;
    background-repeat: no-repeat;
    background-size: 480px 240px;
    content: '';
    height: 24px;
    vertical-align: middle;
    width: 24px;
  }

  .p-mv-ctrl a.none {
    opacity: 0.4;
    pointer-events: none;
  }

  .p-free .col-set {
    width: 100%;
  }

  .p-free {
    padding: 20px 15px;
  }

  .p-mv + .p-free {
    padding:  20px 15px;
  }

  .p-free .col1-2 {
    margin-right: 0;
    width: 100%;
  }

  .p-free + .btn {
    margin: 10px 0 30px;
  }

  .breadcrumb {
    top: 22px;
    width: auto;
  }

  .breadcrumb ul {
    margin: 0;
  }

  .breadcrumb ul li {
    font-size: 0.75rem;
    padding: 0 0 3px 14px;
  }

  .bnr {
    padding: 30px 0;
  }

  .bnr .row {
    padding: 0;
  }

  body:not(.index) .bnr {
    padding: 30px 0;
  }

  .news > .row {
    padding: 0;
  }

  .news-tag {
    padding: 0 15px;
  }

  .news-btn {
    padding: 30px 15px 0;
  }

  .calender-btn:hover {
    background: transparent;
  }

  .calender-btn:hover::after {
    background-position-y: -24px;
  }

  .pnl-set {
    background-color: #f1f1f1;
  }

  .pnl-column {
    border-left: 0;
    width: 100%;
  }

  .pnl-column-box {
    padding: 0;
  }

  .pnl-column-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .pnl-column-box .label span {
    line-height: 1;
  }


  .pnl-column-img {
    margin-bottom: 0;
    margin-left: 10px;
    width: 80px;
    height: 80px;
  }

  .pnl-column-img .img {
    margin: 0;
  }

  .pnl-column-info {
    padding: 40px 15px 15px;
    width: calc(100% - 80px);
  }

  .pnl-column-date {
    font-size: 0.75rem;
  }

  .pnl-column-desc {
    font-size: 0.88rem;
  }

  }

  @media screen and (max-width: 479px) {

  /* ----- [BT] ボタン ----- */

  .main .btn > * {
    margin-right: 0;
    width: 100%;
  }

  /* ----- [FM] フォーム ----- */

  .main .form input[type='text'],
  .main .form textarea {
    max-width: 100%;
  }

  }

  @media print {

  .ie .p-free .col-set {
    display: block;
  }

  .ie .p-free .col-set:after {
    content: "";
    clear: both;
    display: block;
  }

  .ie .p-free .col-set .col1-2,
  .ie .p-free .col-set .col1-3 {
    float: left;
  }

  .ie .p-free .col-set .col1-2:nth-of-type(2n+1),
  .ie .p-free .col-set .col1-3:nth-of-type(3n+1) {
    clear: both;
  }

  .slick-track {
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
    width: 50000px !important;
  }

  .slider .col1-2 {
    width: 482px !important;
  }

  .slider .col1-3 {
    width: 314.66666666px !important;
  }

  .slider .col1-4 {
    width: 231px !important;
  }

  .slider .col1-5 {
    width: 180.8px !important;
  }

  .slider .col1-6 {
    width: 147.33333333px !important;
  }

  .slick-list {
    padding: 0 !important;
  }

  .slick-arrow {
    display: none !important;
  }

  .slick-dots {
    display: none !important;
  }

  .firefox body:not(.page) .main .mainvisual-article > .col-set {
    display: block;
  }

  .firefox body:not(.page) .main .mainvisual-article > .col-set::after {
    display: block;
    clear: both;
    content: '';
  }

  .firefox body:not(.page) .main .mainvisual-article > .col-set .col2-3 {
    float: left;
  }

  .firefox body:not(.page) .main .mainvisual-article > .col-set .col1-3 {
    float: right;
  }

  .firefox body:not(.page) .main .l-content-wrap > .col-set {
    display: block;
  }

  .firefox body:not(.page) .main .l-content-wrap > .col-set::after {
    display: block;
    clear: both;
    content: '';
  }

  .firefox body:not(.page) .main .l-content-wrap > .col-set .l-content-main {
    float: left;
  }

  .firefox body:not(.page) .main .l-content-wrap > .col-set .l-content-side {
    float: right;
  }

  .firefox body:not(.page) .main .l-content-wrap .l-content-event {
    clear: both;
    width: 100%;
  }

  .main .top-mv-wrap::after {
    display: block;
    clear: both;
    content: '';
  }

  .main .top-mv-main {
    position: absolute !important;
    float: left;
    width: 50%;
  }

  .firefox .main .top-news,
  .firefox .main .top-event {
    background-color: #f1f1f1;
  }

  }

  @-webkit-keyframes mfp-bg-fadein {

  0% {
    opacity: 0;
  }

  100% {
    opacity: 0.8;
  }

  }

  @keyframes mfp-bg-fadein {

  0% {
    opacity: 0;
  }

  100% {
    opacity: 0.8;
  }

  }

  /* ----- パーツ集用 ----- */

  textarea.source {
    display: block;
    width: 100%;
    height: 200px;
    margin: 0 0 50px;
    padding: 10px;
    border: solid 1px #e5e5e5;
    font-size: 14px;
    white-space:pre-wrap;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    outline: none;
  }