@charset "UTF-8";
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 100;
  src: url("../font/NotoSansCJKjp/NotoSansCJKjp-Thin.woff") format("woff"), url("../font/NotoSansCJKjp-Thin.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200;
  src: url("../font/NotoSansCJKjp/NotoSansCJKjp-Light.woff") format("woff"), url("../font/NotoSansCJKjp-Light.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 300;
  src: url("../font/NotoSansCJKjp/NotoSansCJKjp-DemiLight.woff") format("woff"), url("../font/NotoSansCJKjp-DemiLight.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansCJKjp/NotoSansCJKjp-Regular.woff") format("woff"), url("../font/NotoSansCJKjp-Regular.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 500;
  src: url("../font/NotoSansCJKjp/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700;
  src: url("../font/NotoSansCJKjp/NotoSansCJKjp-Bold.woff") format("woff"), url("../font/NotoSansCJKjp-Bold.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 900;
  src: url("../font/NotoSansCJKjp/NotoSansCJKjp-Black.woff") format("woff"), url("../font/NotoSansCJKjp-Black.ttf") format("truetype"); }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-size: 100%;
  vertical-align: baseline; }

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

html {
  overflow-y: scroll; }

blockquote, q {
  quotes: none; }

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

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

ol, ul {
  list-style: none; }

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

caption, th {
  text-align: left; }

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

html {
  font-size: 6.25%; }

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

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

a {
  text-decoration: none;
  transition: .3s ease-in-out; }

a:focus {
  outline-color: #3b99fc;
  outline-offset: 0px;
  outline-style: auto;
  outline-width: 5px; }

a:hover {
  cursor: pointer; }

body {
  line-height: 2;
  font-family: "Noto Sans Japanese", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, Roboto, "Droid Sans", sans-serif;
  color: #12200E;
  font-size: 13px;
  font-size: 13rem;
  font-weight: 500;
  position: relative;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
  overflow: hidden; }

img {
  width: 100%; }

@media screen and (min-width: 480px) {
  body {
    font-size: 14px;
    font-size: 14rem; }
  img {
    width: auto; } }

.btn, .btn--next, .btn--prev {
  position: relative;
  display: inline-block;
  min-width: 220px;
  text-align: center;
  color: #12200E;
  font-weight: 500;
  width: 100%;
  line-height: 1.4;
  padding: 1.3em 2.1em 1.4em;
  border-radius: 2.5em;
  transition: 0.3s ease-in-out;
  overflow: hidden; }
  @media screen and (min-width: 480px) {
    .btn, .btn--next, .btn--prev {
      min-width: 310px;
      width: auto;
      padding: 1.6em 2.1em 1.7em; } }
  .btn a, .btn--next a, .btn--prev a {
    color: inherit; }
  .btn::after, .btn--next::after, .btn--prev::after {
    position: absolute;
    top: 50%;
    right: 1.42em;
    display: block;
    width: 0.42em;
    height: 0.71em;
    content: '';
    display: block;
    transform: translate(0, -50%);
    background: none;
    transition: 0.3s ease-in-out; }
  .btn:before, .btn--next:before, .btn--prev:before {
    content: '';
    display: block;
    width: 0;
    height: 3.7em;
    background-color: #131D10;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
    @media screen and (min-width: 480px) {
      .btn:before, .btn--next:before, .btn--prev:before {
        height: 4.7em; } }
  @media screen and (min-width: 480px) {
    .btn:hover, .btn--next:hover, .btn--prev:hover {
      color: #fff; }
      .btn:hover::before, .btn--next:hover::before, .btn--prev:hover::before {
        width: 100%;
        transition: width 0.5s ease; } }
  .btn.inverted, .inverted.btn--next, .inverted.btn--prev {
    background-color: #131D10;
    color: #fff; }
    .btn.inverted::after, .inverted.btn--next::after, .inverted.btn--prev::after {
      background: none; }
    .btn.inverted::before, .inverted.btn--next::before, .inverted.btn--prev::before {
      content: '';
      display: block;
      background: #fff;
      width: 0;
      height: 4.7em;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
    @media screen and (min-width: 480px) {
      .btn.inverted:hover, .inverted.btn--next:hover, .inverted.btn--prev:hover {
        color: #12200E; }
        .btn.inverted:hover::before, .inverted.btn--next:hover::before, .inverted.btn--prev:hover::before {
          width: 100%;
          transition: width 0.5s ease; } }
  .btn.small, .small.btn--next, .small.btn--prev {
    font-size: 11rem; }
    @media screen and (min-width: 480px) {
      .btn.small, .small.btn--next, .small.btn--prev {
        font-size: 12rem;
        min-width: auto;
        padding: 0.83em 2.75em 1em 2.08em; } }

.btn--next {
  color: #131D10;
  border: 2px solid #131D10; }
  .btn--next::after {
    background: url(../images/common/icon_chevron_right.svg) no-repeat center center;
    background-size: cover; }
  @media screen and (min-width: 480px) {
    .btn--next:hover::after {
      background: url(../images/common/icon_chevron_right_wh.svg) no-repeat center center;
      background-size: cover; } }
  .btn--next.inverted {
    background-color: #131D10;
    z-index: 1; }
    .btn--next.inverted::after {
      background: url(../images/common/icon_chevron_right_wh.svg) no-repeat center center;
      background-size: cover;
      width: 0.37em;
      height: 0.65em; }
    @media screen and (min-width: 480px) {
      .btn--next.inverted:hover::after {
        background: url(../images/common/icon_chevron_right.svg) no-repeat center center;
        background-size: cover; } }
  .btn--next.small {
    padding-top: 1.2em; }
    @media screen and (min-width: 480px) {
      .btn--next.small {
        padding-top: 0.83em; }
        .btn--next.small::after {
          background: url(../images/common/icon_chevron_right_wh.svg) no-repeat center center;
          background-size: cover; } }
  @media screen and (min-width: 480px) and (min-width: 480px) {
    .btn--next.small:hover::after {
      background: url(../images/common/icon_chevron_right.svg) no-repeat center center;
      background-size: cover; } }
  .btn--next.w-auto {
    width: auto;
    min-width: auto; }

.btn--prev {
  background: #fff;
  border: 2px solid #131D10;
  color: #131D10;
  min-width: auto; }
  .btn--prev::after {
    left: 10px;
    width: 6px;
    height: 8px;
    background: url(../images/common/icon_chevron_left.svg) no-repeat center center;
    background-size: cover; }
  @media screen and (min-width: 480px) {
    .btn--prev:hover::after {
      background: url(../images/common/icon_chevron_left_wh.svg) no-repeat center center;
      background-size: cover; } }
  .btn--prev.inverted {
    background-color: #131D10; }
    .btn--prev.inverted::after {
      background: url(../images/common/icon_chevron_left_wh.svg) no-repeat center center;
      background-size: cover; }
    @media screen and (min-width: 480px) {
      .btn--prev.inverted:hover::after {
        background: url(../images/common/icon_chevron_left.svg) no-repeat center center;
        background-size: cover; } }

.btn--close {
  min-width: auto;
  width: auto; }
  .btn--close span {
    position: relative;
    padding-left: 1.5em; }
    .btn--close span::after {
      content: '';
      display: block;
      width: 1em;
      height: 1em;
      background: url(../images/common/icon_close_wh.svg) no-repeat center center;
      background-size: cover;
      position: absolute;
      top: 0;
      left: 0; }

.btn-area--alc {
  text-align: center; }
  .btn-area--alc.__btm {
    margin-top: 30px; }
    @media screen and (min-width: 480px) {
      .btn-area--alc.__btm {
        margin-top: 60px; } }

/*

---
name: Button

category:
  - component
  - component/button
---

```html
<a href="" class="btn"><span>Button</span></a>
```

### 次ページへの遷移

```html
<a href="" class="btn--next"><span>詳しく見る</span></a>
<a href="" class="btn--next inverted"><span>詳しく見る</span></a>
<a href="" class="btn--next inverted small"><span>詳しく見る</span></a>
```

### 前ページへの遷移

```html
<a href="" class="btn--prev"><span>前のページヘ</span></a>
<a href="" class="btn--prev inverted"><span>前のページヘ</span></a>
```

*/
.c-pagettl--main {
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: 0.08em;
  display: inline-block;
  margin-top: -30px;
  padding: 8px 25px;
  position: relative;
  z-index: 5; }
  .c-pagettl--main span {
    position: relative;
    z-index: 2;
    opacity: 0;
    animation: pageTtl 0.5s 2s step-start forwards; }
  .c-pagettl--main::before, .c-pagettl--main::after {
    content: '';
    display: block;
    background: #fff;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .c-pagettl--main::before {
    animation: pageTtlFront 1s 1.7s cubic-bezier(0.9, 0, 0.1, 1) forwards;
    z-index: 10;
    opacity: 0; }
  .c-pagettl--main::after {
    animation: pageTtlBack 1s 0.8s cubic-bezier(0.9, 0, 0.1, 1) forwards;
    z-index: 1;
    opacity: 0; }
  @media screen and (min-width: 480px) {
    .c-pagettl--main {
      margin-top: -6em;
      padding: 10px 40px; } }
  @media screen and (min-width: 1920px) {
    .c-pagettl--main {
      padding: 10px 50px; } }
  .c-pagettl--main .pagettl__main {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 46rem; }
    @media screen and (min-width: 480px) {
      .c-pagettl--main .pagettl__main {
        font-size: 68rem; } }
  .c-pagettl--main .pagettl__sub {
    font-weight: 700; }
    @media screen and (min-width: 480px) {
      .c-pagettl--main .pagettl__sub {
        font-size: 16rem; } }

@keyframes pageTtl {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes pageTtlFront {
  0% {
    width: 100%;
    opacity: 1; }
  100% {
    width: 0;
    opacity: 1; } }

@keyframes pageTtlBack {
  0% {
    width: 0;
    opacity: 1; }
  100% {
    width: 100%;
    opacity: 1; } }

.c-pagettl_imgback {
  padding-top: 48%;
  position: relative;
  height: 0; }
  @media screen and (min-width: 480px) {
    .c-pagettl_imgback {
      padding-top: 25.62%; } }
  .c-pagettl_imgback::before {
    content: '';
    display: block;
    width: 120px;
    height: 150px;
    background: url(../images/common/pattern_dot.png), linear-gradient(8.5deg, #27D9C1, #80D931);
    background-size: 1vw, 100%;
    transform: skew(-28.5deg, 0);
    position: absolute;
    top: 0;
    left: -80px;
    opacity: 0;
    animation: pageTtlDecoSp 1s 2s cubic-bezier(0.9, 0, 0.1, 1) forwards; }

@keyframes pageTtlDecoSp {
  0% {
    height: 0;
    opacity: 0; }
  100% {
    height: 150px;
    opacity: 0.9; } }
    @media screen and (min-width: 480px) {
      .c-pagettl_imgback::before {
        height: 40vh; } }
    @media screen and (min-width: 960px) {
      .c-pagettl_imgback::before {
        width: 16.15%;
        height: 54.6vh;
        left: -9%;
        background: url(../images/common/pattern_dot.png), linear-gradient(8.5deg, #27D9C1, #80D931);
        background-size: 0.5vw, 100%;
        animation: pageTtlDecoPc 1.7s 2s cubic-bezier(0.9, 0, 0.1, 1) forwards; }
      @keyframes pageTtlDecoPc {
        0% {
          height: 0;
          opacity: 0; }
        100% {
          height: 54.6vh;
          opacity: 0.9; } } }

.c-pagettl--sub {
  margin-bottom: 25px;
  position: relative; }
  @media screen and (min-width: 480px) {
    .c-pagettl--sub {
      margin-bottom: 50px; } }
  .c-pagettl--sub::after {
    content: '';
    width: 35.30vw;
    height: 65.10vh;
    background: linear-gradient(#F9F9F9, #FFFFFF);
    transform: skew(-28.5deg, 0);
    position: absolute;
    top: 0;
    left: -56.5vmin;
    z-index: -5; }
    @media screen and (min-width: 480px) {
      .c-pagettl--sub::after {
        width: 18.30vw;
        height: 65.10vh;
        left: -21.5vw; } }
  .c-pagettl--sub .pagettl {
    font-size: 24rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.4; }
    @media screen and (min-width: 480px) {
      .c-pagettl--sub .pagettl {
        font-size: 36rem;
        padding-top: 10px; } }
    @media screen and (min-width: 1920px) {
      .c-pagettl--sub .pagettl {
        font-size: 42rem; } }
  .c-pagettl--sub .parentttl {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 14rem;
    font-weight: 700;
    position: relative;
    display: inline-block;
    background: linear-gradient(90deg, #4FD981, #80D931);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent; }
    @media screen and (min-width: 480px) {
      .c-pagettl--sub .parentttl {
        font-size: 18rem; } }
    @media screen and (min-width: 1920px) {
      .c-pagettl--sub .parentttl {
        font-size: 20rem; } }
  .c-pagettl--sub.__left {
    position: relative;
    padding: 50px 0 50px 27px; }
    @media screen and (min-width: 480px) {
      .c-pagettl--sub.__left {
        padding: 103px 0 115px 65px; } }
    .c-pagettl--sub.__left::before {
      content: '';
      width: 6px;
      height: 100%;
      background: url(../images/common/pattern_dot_small.png), linear-gradient(45deg, #4Bd985, #80D931);
      background-size: 25%, 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      animation: ttlLeftLine 2.5s 0s cubic-bezier(0.9, 0, 0.1, 1); }
      @media screen and (min-width: 480px) {
        .c-pagettl--sub.__left::before {
          width: 12px; } }
    .c-pagettl--sub.__left.__breadcrumbs-in {
      padding-top: 15px;
      padding-bottom: 45px; }
      @media screen and (min-width: 480px) {
        .c-pagettl--sub.__left.__breadcrumbs-in {
          padding-top: 25px;
          padding-bottom: 85px; } }
    .c-pagettl--sub.__left .parentttl::after {
      content: '';
      width: 1.5em;
      height: 1px;
      display: block;
      background: linear-gradient(90deg, #4FD981, #80D931);
      position: absolute;
      top: 50%;
      right: -1.9em; }

@keyframes ttlLeftLine {
  0% {
    height: 0%; }
  50% {
    height: 0%; }
  100% {
    height: 100%; } }
  .c-pagettl--sub.__center {
    text-align: center; }
    .c-pagettl--sub.__center .parentttl {
      padding-bottom: 5px; }
      @media screen and (min-width: 480px) {
        .c-pagettl--sub.__center .parentttl {
          padding-bottom: 10px; } }

_:-ms-lang(x)::-ms-backdrop, .c-pagettl--sub .parentttl {
  background: none;
  color: #4FD981; }

.c-ttl-base, .c-ttl--btm-line, .c-ttl--left-line, .c-ttl--center {
  font-weight: 500;
  font-size: 20rem;
  letter-spacing: 0.08em;
  line-height: 1.4; }
  @media screen and (min-width: 480px) {
    .c-ttl-base, .c-ttl--btm-line, .c-ttl--left-line, .c-ttl--center {
      font-size: 24rem; } }

.c-ttl--btm-line {
  position: relative;
  padding-bottom: 40px; }
  @media screen and (min-width: 480px) {
    .c-ttl--btm-line {
      padding-bottom: 55px; } }
  .c-ttl--btm-line::after {
    content: '';
    width: 1.3em;
    height: 2px;
    background: linear-gradient(90deg, #4FD981, #80D931);
    display: block;
    position: absolute;
    bottom: 20px;
    left: 0; }
    @media screen and (min-width: 480px) {
      .c-ttl--btm-line::after {
        bottom: 30px; } }

.c-ttl--left-line {
  font-size: 16rem;
  padding: 0 0 12px 25px;
  position: relative; }
  @media screen and (min-width: 480px) {
    .c-ttl--left-line {
      font-size: 20rem;
      padding: 0 0 0.83em 1.37em; } }
  .c-ttl--left-line::after {
    content: '';
    width: 0.29em;
    height: 1.25em;
    background: linear-gradient(45deg, #4Bd985, #80D931);
    display: block;
    position: absolute;
    top: 0;
    left: 7px;
    transform: skewX(-30deg); }
    @media screen and (min-width: 480px) {
      .c-ttl--left-line::after {
        height: 26px; } }

.c-ttl--center {
  text-align: center; }

/*

---
name: Title

category:
  - component
  - component/Title
---

## 概要

### ページタイトル イメージ画像あり
```html
<h1 class="c-pagettl--main">
  <span class="pagettl__main">Title</span><br>
  <span class="pagettl__sub">タイトル</span>
</h1>
```

### ページタイトル 左ライン
```html
<div class="c-pagettl--sub --left">
  <p class="parentttl">Parent Directory</p>
  <h1 class="pagettl">タイトル</h1>
</div>
```

### ページタイトル センター
```html
<div class="c-pagettl--sub --center">
  <p class="parentttl">Parent Directory</p>
  <h1 class="pagettl">タイトル</h1>
</div>
```

### ページタイトル 特別なコンテンツ用
```html
<h1 class="c-pagettl--main --special">
  <span class="pagettl__main">Title</span><br>
  <span class="pagettl__sub">タイトル</span>
</h1>
```

### コンテンツタイトル 下ライン
```html
<h2 class="c-ttl--btm-line">タイトル</h2>
```

### コンテンツタイトル 左斜めライン
```html
<h2 class="c-ttl--left-line">タイトル</h2>
```

### コンテンツタイトル センター
```html
<h2 class="c-ttl--center">タイトル</h2>
```


*/
.c-cases-card a {
  display: block;
  margin: 0 10px; }

@media screen and (min-width: 480px) {
  .c-cases-card {
    width: 30.54%; } }

.c-cases-card .cases-card__txt-wrapper {
  padding-top: 25px; }

.c-cases-card .cases-card__img img {
  vertical-align: top;
  width: 100%; }

.c-cases-card .cases-ttl {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
  padding-left: 15px; }
  @media screen and (min-width: 1920px) {
    .c-cases-card .cases-ttl {
      font-size: 18rem; } }
  .c-cases-card .cases-ttl::before {
    content: '';
    display: block;
    width: 3px;
    height: 100%;
    background: #12200E;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }

.c-cases-card .cases-desc {
  padding: 1.07em 0 1.42em;
  line-height: 1.8; }

@media screen and (min-width: 480px) {
  .c-cases-card-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 80.52%;
    max-width: 1400px;
    margin: 0 auto;
    display: flex; } }

.c-cases-card-wrapper.__all {
  width: 89.33%;
  margin: 0 auto;
  border-top: 1px solid #ddd;
  padding-top: 30px; }
  @media screen and (min-width: 480px) {
    .c-cases-card-wrapper.__all {
      border: none;
      padding-top: 0; } }
  .c-cases-card-wrapper.__all .c-cases-card {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #ddd; }
    @media screen and (min-width: 480px) {
      .c-cases-card-wrapper.__all .c-cases-card {
        border: none;
        padding: 2.85em 0;
        margin-bottom: 0; } }
    @media screen and (min-width: 480px) {
      .c-cases-card-wrapper.__all .c-cases-card.is-empty {
        padding: 0; } }

.c-cases-card-wrapper.__slider {
  margin: 15px auto 0; }
  @media screen and (min-width: 480px) {
    .c-cases-card-wrapper.__slider {
      margin: 45px auto 70px; } }

.cases_tag .c-cases-card-wrapper.__all {
  margin-top: 30px; }
  @media screen and (min-width: 480px) {
    .cases_tag .c-cases-card-wrapper.__all {
      margin-top: 0; } }

/*

---
name: Card
category:
  - component
  - component/card
---


```html
<div class="card">
  <div class="card__img">
    <img src="/assets/images/common/default.jpg" alt="foo">
  </div>
  <div class="card__body">
    <p class="card__ttl">title</p>
    <p class="card__desc">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nisi libero accusantium similique veritatis excepturi !</p>
  </div>
</div>
```


*/
.c-bg-grd--gly {
  position: relative;
  overflow: hidden; }
  .c-bg-grd--gly::before {
    content: '';
    width: 60%;
    height: 65.10vh;
    background: linear-gradient(#F9F9F9, #FFFFFF);
    transform: skew(-28.5deg, 0);
    position: absolute;
    top: 12vh;
    right: -15%;
    z-index: -5; }
    @media screen and (min-width: 480px) {
      .c-bg-grd--gly::before {
        width: 35.87%;
        height: 65.10vh;
        top: 18vh;
        right: -12%; } }

.c-table-stripe {
  width: 100%; }
  .c-table-stripe tr:nth-of-type(odd) {
    background: #FAFAFA; }
  .c-table-stripe tr:nth-of-type(even) {
    background: #F5F5F5; }
  .c-table-stripe tr th {
    width: 100%;
    display: block;
    padding: 15px 20px 1px; }
    @media screen and (min-width: 480px) {
      .c-table-stripe tr th {
        width: 18%;
        display: table-cell; } }
    @media screen and (min-width: 960px) {
      .c-table-stripe tr th {
        width: 13%;
        padding: 30px; } }
  .c-table-stripe tr td {
    width: 100%;
    display: block;
    padding: 1px 20px 15px; }
    @media screen and (min-width: 480px) {
      .c-table-stripe tr td {
        width: 87%;
        display: table-cell;
        padding: 30px; } }

.c-pagination {
  margin-top: 30px; }
  @media screen and (min-width: 480px) {
    .c-pagination {
      margin-top: 60px; } }

.page-numbers {
  text-align: center; }
  .page-numbers li, .page-numbers a, .page-numbers span {
    display: inline-block; }
  .page-numbers li {
    margin-top: 5px; }
    @media screen and (min-width: 480px) {
      .page-numbers li {
        margin: 5px 2px 0; } }
  .page-numbers a, .page-numbers span {
    padding: 10px 4px;
    color: #665E5B;
    text-decoration: none; }
    @media screen and (min-width: 480px) {
      .page-numbers a, .page-numbers span {
        padding: 15px 4px; } }
  .page-numbers a {
    cursor: pointer; }
  .page-numbers .page-numbers {
    margin-top: 0;
    background-color: #F5F5F5;
    min-width: 40px; }
    @media screen and (min-width: 480px) {
      .page-numbers .page-numbers {
        min-width: 50px; } }
  .page-numbers .current {
    color: #fff;
    background-color: #131D10; }

a {
  color: #12200E;
  opacity: 1;
  transition: all 0.8s ease; }
  a:hover {
    transition: all 0.4s ease; }

.link--underline {
  text-decoration: underline; }
  .link--underline:hover {
    text-decoration: none; }

.link--next {
  position: relative;
  padding-right: 1em;
  display: inline-block;
  line-height: 1.4; }
  .link--next::after {
    position: absolute;
    top: 0.35em;
    right: 0;
    display: inline-block;
    width: 0.37em;
    height: 0.65em;
    content: '';
    background: url(../images/common/icon_chevron_right.svg) no-repeat center center;
    background-size: cover; }
  .link--next:hover {
    opacity: 0.7; }

.link--external {
  position: relative;
  padding-right: 1.42em;
  text-decoration: underline; }
  .link--external::after {
    position: absolute;
    bottom: 0.05em;
    right: 0;
    transform: translate(0, -50%);
    display: inline-block;
    width: 0.71em;
    height: 0.64em;
    content: '';
    background: url(../images/common/icon_link_external.svg) no-repeat center center;
    background-size: cover; }

/*

---
name: Link

category:
  - component
  - component/Link
---

## 概要

* 遷移テキストにて使用する

### アイコンなし / アンダーライン
```html
<a href="" class="link--underline">詳しく見る</a>
```

### アイコンあり
```html
<a href="" class="link--next">詳しく見る</a>
```

### 外部リンク
```html
<a href="" class="link--external">詳しく見る</a>
```


*/
.c-contact-sec {
  border: 6px solid #131D10;
  text-align: center;
  padding: 50px 25px 60px; }
  @media screen and (min-width: 480px) {
    .c-contact-sec {
      padding: 80px 80px 120px; } }

.contact-sec__ttl {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em; }
  .contact-sec__ttl .ttl__main {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 40rem; }
    @media screen and (min-width: 480px) {
      .contact-sec__ttl .ttl__main {
        font-size: 48rem; } }
    @media screen and (min-width: 1920px) {
      .contact-sec__ttl .ttl__main {
        font-size: 60rem; } }

.contact-sec__txt {
  padding: 15px 0 20px; }
  @media screen and (min-width: 480px) {
    .contact-sec__txt {
      padding: 35px 0 40px; } }

.c-label-cases > li {
  font-size: 11rem;
  font-weight: 500;
  background: #F3F4F3;
  display: inline-block;
  margin: 0 2px 5px 0;
  line-height: 1; }
  @media screen and (min-width: 480px) {
    .c-label-cases > li {
      font-size: 12rem; } }
  .c-label-cases > li span, .c-label-cases > li a {
    display: block;
    padding: 0.6em 1.25em 0.7em; }
  .c-label-cases > li a:hover {
    background: #131D10;
    color: #fff; }

.c-news-list li {
  padding: 20px 0;
  border-top: 1px solid #DDD; }
  @media screen and (min-width: 480px) {
    .c-news-list li {
      padding: 28px 0; } }
  .c-news-list li:last-child {
    border-bottom: 1px solid #DDD; }
  .c-news-list li .date {
    display: block; }
    @media screen and (min-width: 480px) {
      .c-news-list li .date {
        display: inline;
        padding: 0 30px; } }

.breadcrumbs {
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-bottom: 30px; }
  @media screen and (min-width: 480px) {
    .breadcrumbs {
      padding-bottom: 55px; } }
  .breadcrumbs li {
    display: inline;
    white-space: nowrap;
    font-size: 11rem;
    color: #555; }
    .breadcrumbs li a {
      text-decoration: underline;
      color: #555; }
    .breadcrumbs li::after {
      content: '>';
      color: #AEAEAE;
      position: relative;
      left: 0;
      top: -1px;
      padding: 0 2px 0 8px; }
    .breadcrumbs li:last-child::after {
      content: ''; }

.c-form_lead {
  padding-bottom: 20px; }
  @media screen and (min-width: 480px) {
    .c-form_lead {
      padding-bottom: 40px; } }

.c-form-wrapper {
  border-top: 1px solid #ddd; }
  .c-form-wrapper .form-row {
    padding: 18px 0 25px;
    border-bottom: 1px solid #ddd;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center; }
    @media screen and (min-width: 480px) {
      .c-form-wrapper .form-row {
        -ms-flex-align: start;
            align-items: flex-start;
        padding: 30px 30px 35px; } }
  .c-form-wrapper .form-item-name {
    line-height: 1.6;
    padding-right: 8px; }
    .c-form-wrapper .form-item-name label {
      font-weight: 500; }
    @media screen and (min-width: 480px) {
      .c-form-wrapper .form-item-name {
        width: 15%; } }
  @media screen and (min-width: 480px) {
    .c-form-wrapper .form-label {
      width: 15%;
      text-align: center; } }
  @media screen and (min-width: 960px) {
    .c-form-wrapper .form-label {
      width: 10%; } }
  .c-form-wrapper .form-label .required, .c-form-wrapper .form-label .option {
    padding: 0.3em 0.8em 0.4em;
    color: #fff;
    font-size: 11rem;
    font-weight: 300; }
    @media screen and (min-width: 480px) {
      .c-form-wrapper .form-label .required, .c-form-wrapper .form-label .option {
        padding: 0.5em 1em 0.7em;
        font-size: 12rem; } }
  .c-form-wrapper .form-label .required {
    background: #DF584F; }
  .c-form-wrapper .form-label .option {
    background: #303C2D; }
  .c-form-wrapper .form-element-wrapper {
    width: 100%;
    margin-top: 10px; }
    @media screen and (min-width: 480px) {
      .c-form-wrapper .form-element-wrapper {
        width: 70%;
        margin-top: 0; } }
    @media screen and (min-width: 960px) {
      .c-form-wrapper .form-element-wrapper {
        width: 75%; } }
    .c-form-wrapper .form-element-wrapper .form-element input[type="text"], .c-form-wrapper .form-element-wrapper .form-element input[type="email"], .c-form-wrapper .form-element-wrapper .form-element input[type="url"], .c-form-wrapper .form-element-wrapper .form-element textarea {
      border: none;
      background: #F5F5F5;
      padding: 1em;
      width: 100%;
      font-size: 16rem; }
    .c-form-wrapper .form-element-wrapper .form-element .radio-label {
      margin-right: 3px;
      position: relative;
      bottom: 1px; }
    .c-form-wrapper .form-element-wrapper .form-notes {
      padding-top: 8px; }
      .c-form-wrapper .form-element-wrapper .form-notes.__before {
        padding-top: 0; }
      @media screen and (min-width: 480px) {
        .c-form-wrapper .form-element-wrapper .form-notes {
          padding-top: 15px; } }
  .c-form-wrapper .c-form-btn-area {
    padding-top: 30px;
    text-align: center;
    position: relative; }
    @media screen and (min-width: 480px) {
      .c-form-wrapper .c-form-btn-area {
        padding-top: 50px; } }
    .c-form-wrapper .c-form-btn-area li {
      padding: 0 5px 10px; }
      .c-form-wrapper .c-form-btn-area li:last-of-type {
        padding-bottom: 0; }
      @media screen and (min-width: 480px) {
        .c-form-wrapper .c-form-btn-area li {
          display: inline-block; } }
      @media screen and (min-width: 480px) {
        .c-form-wrapper .c-form-btn-area li.form-btn--left {
          position: absolute;
          top: 50px;
          left: 0; } }
    .c-form-wrapper .c-form-btn-area .c-form-btn {
      font-size: 13rem;
      letter-spacing: 0.08em;
      cursor: pointer; }
      .c-form-wrapper .c-form-btn-area .c-form-btn.__submit {
        color: #fff;
        font-weight: 600;
        border: none;
        position: relative;
        background: url(../images/common/icon_chevron_right_wh.svg) no-repeat right 20px top 50%, #131D10;
        background-size: 6px 8px; }
      .c-form-wrapper .c-form-btn-area .c-form-btn.__back {
        color: #12200E;
        border: 1px solid #12200E;
        background: url(../images/common/icon_chevron_left.svg) no-repeat 20px 50%;
        background-size: 6px 8px; }
        @media screen and (min-width: 480px) {
          .c-form-wrapper .c-form-btn-area .c-form-btn.__back {
            min-width: 180px; } }

.mw_wp_form_confirm .form-notes {
  display: none; }

.c-form_complete {
  margin-bottom: 40px; }
  @media screen and (min-width: 480px) {
    .c-form_complete {
      margin-bottom: 70px; } }

.c-dlist--num {
  border-top: 1px solid #ddd;
  counter-reset: number; }
  .c-dlist--num dt {
    font-size: 15rem;
    font-weight: 500;
    line-height: 1.6;
    padding: 25px 0 0 1.5em;
    position: relative; }
    @media screen and (min-width: 480px) {
      .c-dlist--num dt {
        font-size: 16rem;
        padding-top: 30px; } }
    .c-dlist--num dt::before {
      counter-increment: number;
      content: counter(number) ". ";
      position: absolute;
      top: 25px;
      left: 0; }
      @media screen and (min-width: 480px) {
        .c-dlist--num dt::before {
          top: 30px; } }
  .c-dlist--num dd {
    border-bottom: 1px solid #ddd;
    padding: 10px 0 25px; }
    @media screen and (min-width: 480px) {
      .c-dlist--num dd {
        padding: 10px 0 35px; } }

.c-ulist--disc li {
  padding-left: 1.5em;
  position: relative;
  line-height: 1.8;
  padding-bottom: 5px; }
  .c-ulist--disc li::before {
    content: '・';
    font-size: 16rem;
    font-weight: 700;
    line-height: 1;
    position: absolute;
    top: 0.25em;
    left: 0; }
  .c-ulist--disc li:last-of-type {
    padding-bottom: 0; }

.c-ulist--disc.__inlist {
  padding-top: 15px; }

.c-ulist--num {
  counter-reset: number; }
  .c-ulist--num li {
    padding-left: 2em;
    position: relative;
    line-height: 1.8;
    padding-bottom: 5px;
    position: relative; }
    .c-ulist--num li:last-of-type {
      padding-bottom: 0; }
    @media screen and (min-width: 480px) {
      .c-ulist--num li {
        padding-bottom: 15px; } }
    .c-ulist--num li::before {
      counter-increment: number;
      content: "(" counter(number) ")";
      position: absolute;
      top: 0;
      left: 0; }
  .c-ulist--num.__inlist {
    padding-top: 10px; }
    @media screen and (min-width: 480px) {
      .c-ulist--num.__inlist {
        padding-top: 15px; } }

.txt--underlist {
  padding-top: 15px; }
  @media screen and (min-width: 480px) {
    .txt--underlist {
      padding-top: 20px; } }

.c-sim-link-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 40px; }
  .c-sim-link-list li {
    width: 32%;
    border-top: 1px solid #12200E;
    border-bottom: 1px solid #12200E; }
    .c-sim-link-list li a {
      display: block;
      padding: 20px 10px; }
      @media screen and (min-width: 480px) {
        .c-sim-link-list li a {
          padding: 50px 30px; } }
      .c-sim-link-list li a span {
        width: 100%; }

.single-edit-content a {
  text-decoration: underline; }
  .single-edit-content a:hover {
    text-decoration: none; }

.single-edit-content p {
  padding: 15px 0; }
  @media screen and (min-width: 480px) {
    .single-edit-content p {
      padding: 30px 0; } }
  .single-edit-content p:first-of-type {
    padding-top: 0; }

.single-edit-content img {
  display: block;
  margin: 0 auto;
  width: auto;
  height: auto;
  max-width: 100%; }
  @media screen and (min-width: 480px) {
    .single-edit-content img {
      max-width: 750px; } }

/******************************************************************
// 1)spanタグに付与
// .u-wb 常にブロック表示
// .u-wb-sp -> pc時にはインライン、SP時にはブロック
// .u-wb-tb -> pc時にはインライン、SP,TB時にはブロック
// .u-wb-pc -> pc時にはブロック、SP時にはインライン
// 2)brタグに付与
// .u-br-pc -> pc時には改行、SP時には改行なし
// .u-br-sp -> pc時には改行なし、SP時には改行あり
// ******************************************************************/
.u-wb {
  display: block; }

.u-wb-sp {
  display: block; }
  @media (min-width: 680px) {
    .u-wb-sp {
      display: inline; } }

.u-wb-tb {
  display: block; }
  @media (min-width: 680px) {
    .u-wb-tb {
      display: inline; } }

.u-wb-pc {
  display: inline; }
  @media (min-width: 680px) {
    .u-wb-pc {
      display: block; } }

.u-br-pc {
  display: none; }
  @media (min-width: 680px) {
    .u-br-pc {
      display: inline; } }

.u-br-sp {
  display: inline; }
  @media (min-width: 960px) {
    .u-br-sp {
      display: none; } }

.aln--c {
  text-align: center; }

.l-centering {
  width: 84%;
  margin: 0 auto; }

@media screen and (min-width: 960px) {
  .l-centering {
    width: 84%;
    max-width: 1100px;
    margin: 0 auto; } }

@media screen and (min-width: 1920px) {
  .l-centering {
    width: auto;
    max-width: 1200px;
    margin: 0 auto; } }

.site-header {
  position: relative;
  height: 70px;
  z-index: 200;
  background: #fff; }
  .site-header .site-title {
    padding: 12px 15px 10px;
    display: inline-block; }
    .site-header .site-title a {
      display: inline-block; }
    .site-header .site-title img {
      width: 177px;
      height: auto; }

.site-header-nav-wrapper {
  width: 100%;
  height: 100vh;
  background: #fff;
  display: none;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  transition-duration: .8s;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  position: fixed;
  top: 0;
  left: 0; }
  .site-header-nav-wrapper.nav-active {
    display: block;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-duration: .6s;
    padding: 60px 50px 100px; }
    .site-header-nav-wrapper.nav-active .site-header-nav li {
      position: relative;
      animation: navShow 1s 0s ease; }

@keyframes navShow {
  0% {
    opacity: 0;
    left: -20px; }
  50% {
    opacity: 0;
    left: -20px; }
  100% {
    opacity: 1;
    left: 0; } }

.nav--main {
  padding-bottom: 20px; }
  .nav--main li a {
    font-size: 16rem;
    font-weight: 500;
    color: #12200E;
    padding: 12px 0;
    display: inline-block;
    width: 100%;
    letter-spacing: 0.1em; }
  .nav--main li button {
    color: #12200E;
    font-size: 16rem;
    font-weight: 500;
    text-align: left;
    letter-spacing: 0.1em;
    padding: 12px 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none;
    cursor: pointer;
    border: none;
    background-color: transparent;
    line-height: 1.6;
    width: 100%; }

.nav--main__layer {
  position: relative;
  z-index: 200; }
  .nav--main__layer::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: url(../images/common/icon_chevron_down.svg) 0 0 no-repeat;
    background-size: contain;
    position: absolute;
    top: 20px;
    right: 0;
    transition: 0.3s ease-in-out; }
  .nav--main__layer .inner-nav li {
    opacity: 0;
    visibility: hidden;
    line-height: 0;
    transition: opacity .3s linear, visibility .3s linear, line-height .3s linear;
    padding-left: 1.5em;
    position: relative; }
    .nav--main__layer .inner-nav li::before {
      content: '';
      display: block;
      width: 0.8em;
      height: 1px;
      background: #12200E;
      position: absolute;
      top: 1.6em;
      left: 0; }
    .nav--main__layer .inner-nav li a {
      line-height: 0;
      opacity: 0;
      visibility: hidden;
      padding: 0;
      transition: opacity .3s linear, visibility .3s linear, padding .3s ease-out, line-height .3s linear; }
  .nav--main__layer.inner-nav-active.nav--main__layer::after {
    transform: rotate(-180deg);
    transform-origin: center 40%;
    transition: 0.3s ease-in-out; }
  .nav--main__layer.inner-nav-active .inner-nav {
    padding-bottom: 10px; }
    .nav--main__layer.inner-nav-active .inner-nav li {
      opacity: 1;
      visibility: visible;
      transition: opacity .3s linear, visibility .3s linear; }
      .nav--main__layer.inner-nav-active .inner-nav li a {
        padding: 12px 0;
        line-height: 1.6;
        opacity: 1;
        visibility: visible;
        transition: padding-top .3s ease-out, padding-bottom .3s ease-out; }

.sp-nav-btn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 300;
  width: 70px;
  height: 70px;
  background: #1A1A20;
  border: none; }
  .sp-nav-btn__bar {
    display: block;
    width: 33px;
    height: 2px;
    background: #fff;
    position: relative;
    top: 0;
    left: 22%;
    transition: 0.3s ease-in-out; }
    .sp-nav-btn__bar::before {
      content: "";
      display: block;
      width: 33px;
      height: 2px;
      background: #fff;
      position: absolute;
      top: -8px;
      left: 0;
      transition: 0.3s ease-in-out; }
    .sp-nav-btn__bar::after {
      content: "";
      display: block;
      width: 33px;
      height: 2px;
      background: #fff;
      position: absolute;
      top: 8px;
      left: 0;
      transition: 0.3s ease-in-out; }
  .sp-nav-btn.close .sp-nav-btn__bar {
    transform: rotate(-45deg);
    left: 22%; }
    .sp-nav-btn.close .sp-nav-btn__bar::before {
      display: none; }
    .sp-nav-btn.close .sp-nav-btn__bar::after {
      transform: rotate(90deg);
      top: 25%; }

.nav--sub {
  text-align: center; }
  .nav--sub .nav-link {
    padding: 30px 0;
    position: relative;
    top: 5px;
    border-top: 1px solid #12200E; }
  .nav--sub .nav-btn {
    margin-left: 1px;
    background: #131D10;
    margin-bottom: 10px;
    text-align: center;
    border-radius: 6em; }
    .nav--sub .nav-btn a {
      font-size: 15rem;
      color: #fff;
      padding: 15px 40px 18px;
      position: relative;
      display: inline-block; }
      .nav--sub .nav-btn a::after {
        content: '';
        display: block;
        width: 0.42em;
        height: 0.71em;
        background: url(../images/common/icon_chevron_right_wh.svg) no-repeat center center;
        background-size: cover;
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%); }

.site-footer {
  background: #10130F;
  padding: 30px 0 50px;
  position: relative; }

.pagetop {
  width: 50px;
  height: 50px;
  z-index: 5; }
  .pagetop a {
    display: block; }

.footer-site-title {
  text-align: center; }
  .footer-site-title img {
    width: 204px;
    height: auto; }

.site-footer-inner {
  padding: 0 6%; }

.site-footer-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 35px 0; }

.footer-nav-block {
  width: 50%; }
  .footer-nav-block > li {
    padding: 5px 0; }
    .footer-nav-block > li > a {
      font-size: 12rem;
      color: #BFC2BE;
      padding-right: 1em;
      position: relative; }
      .footer-nav-block > li > a::before {
        content: '';
        display: block;
        width: 0.42em;
        height: 0.71em;
        background: url(../images/common/icon_chevron_right_gly.svg) no-repeat center center;
        position: absolute;
        top: 0.2em;
        right: 0; }

.footer-innernav li a {
  font-size: 11rem;
  line-height: 1.8;
  color: #BFC2BE;
  position: relative;
  padding-left: 1.6em;
  display: inline-block; }
  .footer-innernav li a::before {
    content: '';
    display: block;
    width: 0.8em;
    height: 1px;
    background: #949793;
    position: absolute;
    top: 0.8em;
    left: 0; }

.copyright {
  color: #4A4D48;
  font-size: 11rem;
  padding: 0 10% 0 6%; }

.subpage-content {
  padding-bottom: 60px; }
  @media screen and (min-width: 480px) {
    .subpage-content {
      padding-bottom: 150px; } }
  @media screen and (min-width: 1920px) {
    .subpage-content {
      padding-bottom: 200px; } }
  .subpage-content .sec-contact--btm {
    padding-top: 60px; }
    @media screen and (min-width: 480px) {
      .subpage-content .sec-contact--btm {
        padding-top: 150px; } }
  .subpage-content .sec-contact--middle {
    padding: 60px 0; }
    @media screen and (min-width: 480px) {
      .subpage-content .sec-contact--middle {
        padding: 120px 0; } }
  .subpage-content .policy_lead {
    padding-bottom: 20px; }
    @media screen and (min-width: 480px) {
      .subpage-content .policy_lead {
        padding-bottom: 55px; } }

.subpage-content__insec {
  padding-bottom: 60px; }
  @media screen and (min-width: 480px) {
    .subpage-content__insec {
      padding-bottom: 90px; } }

.major-page {
  padding-top: 80px; }
  @media screen and (min-width: 480px) {
    .major-page {
      padding-top: 90px; } }
  .major-page .major-intro-sec {
    padding-bottom: 50px; }
    @media screen and (min-width: 480px) {
      .major-page .major-intro-sec {
        padding-bottom: 60px; } }
    .major-page .major-intro-sec .intro__lead {
      font-size: 20rem;
      font-weight: 500;
      line-height: 1.6;
      letter-spacing: 0.15em;
      padding-bottom: 15px; }
      @media screen and (min-width: 480px) {
        .major-page .major-intro-sec .intro__lead {
          font-size: 26rem;
          line-height: 1.8;
          padding-bottom: 0.96em; } }
    .major-page .major-intro-sec .intro__txt {
      line-height: 2.2;
      letter-spacing: 0.08em;
      font-weight: 500; }

.c-imgtxt-sec {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse; }
  @media screen and (min-width: 480px) {
    .c-imgtxt-sec {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-pack: justify;
          justify-content: space-between; } }
  @media screen and (min-width: 480px) {
    .c-imgtxt-sec__txt {
      width: 51.36%; } }
  .c-imgtxt-sec__img {
    margin-bottom: 20px; }
    @media screen and (min-width: 480px) {
      .c-imgtxt-sec__img {
        width: 45.45%; } }
    .c-imgtxt-sec__img img {
      vertical-align: top;
      width: 100%; }

@media screen and (min-width: 480px) {
  .site-header {
    height: 90px; }
    .site-header .site-title img {
      width: 245px; }
  .nav--main li a, .nav--main li button {
    font-size: 16rem;
    padding: 20px; }
  .nav-active {
    padding: 120px; }
  .sp-nav-btn {
    width: 90px;
    height: 90px; }
    .sp-nav-btn__bar {
      width: 45px; }
      .sp-nav-btn__bar::before {
        width: 45px; }
      .sp-nav-btn__bar::after {
        width: 45px; }
  .site-footer {
    padding-top: 50px; }
  .footer-nav-block {
    width: 25%; }
  .copyright {
    text-align: center; } }

@media screen and (min-width: 1100px) {
  .site-header {
    height: 113px;
    display: -ms-flexbox;
    display: flex; }
    .site-header .site-title {
      padding: 23px 0 26px 30px;
      z-index: 1; }
      .site-header .site-title img {
        width: 242px;
        height: 64px; }
  .site-header-nav-wrapper {
    display: block;
    transform: none;
    height: 113px;
    opacity: 1;
    position: absolute; }
    .site-header-nav-wrapper.nav-active {
      padding: 0; }
  .site-header-nav {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; }
  .sp-nav-btn {
    display: none; }
  .nav--main {
    text-align: right;
    padding: 0 30px;
    position: relative; }
    .nav--main::after {
      content: '';
      display: block;
      width: 1px;
      height: 1.6em;
      background: #12200E;
      position: absolute;
      top: 3px;
      right: 30px; }
    .nav--main > li {
      display: inline-block;
      line-height: 1;
      position: relative; }
      .nav--main > li::before {
        content: '';
        display: block;
        width: 1px;
        height: 1.6em;
        background: #12200E;
        position: absolute;
        top: 0;
        left: 0; }
      .nav--main > li a, .nav--main > li button {
        display: block;
        padding: 0 22px 0 30px;
        font-size: 15rem;
        line-height: 1.4; }
      .nav--main > li a:hover {
        position: relative; }
        .nav--main > li a:hover::after {
          content: '';
          display: block;
          width: 100%;
          height: 2px;
          background: linear-gradient(90deg, #4FD981, #80D931);
          position: relative;
          top: 12px;
          left: 0;
          animation: navHover 0.3s 0s ease forwards; }
  @keyframes navHover {
    0% {
      width: 0; }
    100% {
      width: 100%; } }
      .nav--main > li button {
        padding-right: 45px; }
  .nav--main__layer::after {
    top: 0.5em;
    right: 12px; }
  .nav--main__layer .inner-nav {
    position: absolute;
    top: 1.1em;
    left: 50%;
    transform: translateX(-50%);
    width: 160px;
    height: 0;
    text-align: left;
    padding-top: 0;
    transition: padding-top .3s ease-out; }
    .nav--main__layer .inner-nav li {
      padding: 0;
      display: block;
      width: 100%;
      border-right: none; }
      .nav--main__layer .inner-nav li::before {
        content: none; }
      .nav--main__layer .inner-nav li a {
        font-size: 14rem;
        padding: 0;
        transition: padding .3s ease-out; }
        .nav--main__layer .inner-nav li a::after {
          display: none; }
  .nav--main__layer.inner-nav-active .inner-nav {
    height: auto;
    padding-top: 15px;
    transition: padding-top .3s ease-out; }
    .nav--main__layer.inner-nav-active .inner-nav li {
      padding-left: 0;
      background: #f8f8f8; }
      .nav--main__layer.inner-nav-active .inner-nav li a {
        border-left: none;
        border-bottom: 1px solid #fff;
        padding-top: 18px;
        padding-bottom: 20px;
        padding-left: 30px;
        padding-right: 30px;
        transition: padding-top .3s ease-out, padding-bottom .3s ease-out; }
        .nav--main__layer.inner-nav-active .inner-nav li a:hover {
          opacity: 0.7; }
  .nav--sub {
    text-align: right;
    padding-top: 0;
    padding-bottom: 16px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: start;
        align-items: flex-start; }
    .nav--sub .nav-link {
      padding: 10px 0 0;
      border: none; }
      .nav--sub .nav-link a {
        font-weight: 500; }
    .nav--sub .nav-btn {
      display: inline-block;
      border-radius: 0;
      margin-bottom: 0; }
      .nav--sub .nav-btn a {
        font-size: 14rem;
        padding: 10px 40px 12px; }
        .nav--sub .nav-btn a::before {
          content: '';
          display: block;
          background: rgba(255, 255, 255, 0.1);
          width: 0;
          height: 4.7em;
          position: absolute;
          top: 0;
          left: 0; }
        .nav--sub .nav-btn a:hover::before {
          animation: btnInverted 0.4s 0s ease forwards; }
  @keyframes btnInverted {
    0% {
      width: 0; }
    100% {
      width: 100%; } }
    .nav--sub .nav-link {
      padding-right: 20px; }
  .site-footer {
    padding: 80px 0 100px; }
  .pagetop {
    width: 70px;
    height: 70px;
    position: absolute;
    bottom: 80px;
    right: 40px; }
    .pagetop a:hover {
      opacity: 0.7; }
  .footer-site-title {
    width: 24.5%;
    text-align: left; }
    .footer-site-title img {
      width: 215px;
      height: 56px; }
  .site-footer-inner {
    display: -ms-flexbox;
    display: flex;
    padding: 0; }
  .site-footer-nav {
    width: 76.5%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    padding: 0 0 80px; }
  .footer-nav-block {
    border-left: 1px solid #242822;
    padding: 25px 30px;
    -ms-flex-positive: 1;
        flex-grow: 1;
    width: 100%; }
    .footer-nav-block li a {
      font-size: 13rem; }
      .footer-nav-block li a::before {
        top: 50%;
        transform: translateY(-50%); }
  .footer-innernav li a {
    font-size: 12rem; }
    .footer-innernav li a::before {
      top: 0.8em;
      transform: none; }
  .copyright {
    font-size: 13rem;
    text-align: right; } }

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

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

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

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

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

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev, .slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before, .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 60px; }

.slick-dots {
  position: absolute;
  bottom: -35px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-size: 50px;
        line-height: 15px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

@media screen {
  html:not(.no-js) {
    /**
    * Fade animations:
    * fade
    * fade-up, fade-down, fade-left, fade-right
    * fade-up-right, fade-up-left, fade-down-right, fade-down-left
    */
    /**
    * Zoom animations:
    * zoom-in, zoom-in-up, zoom-in-down, zoom-in-left, zoom-in-right
    * zoom-out, zoom-out-up, zoom-out-down, zoom-out-left, zoom-out-right
    */
    /**
    * Slide animations
    */
    /**
    * Flip animations:
    * flip-left, flip-right, flip-up, flip-down
    */ }
    html:not(.no-js) [data-aos^='fade'][data-aos^='fade'] {
      opacity: 0;
      transition-property: opacity, transform; }
      html:not(.no-js) [data-aos^='fade'][data-aos^='fade'].aos-animate {
        opacity: 1;
        transform: none; }
    html:not(.no-js) [data-aos='fade-up'] {
      transform: translate3d(0, 60px, 0); }
    html:not(.no-js) [data-aos='fade-down'] {
      transform: translate3d(0, -60px, 0); }
    html:not(.no-js) [data-aos='fade-right'] {
      transform: translate3d(-60px, 0, 0); }
    html:not(.no-js) [data-aos='fade-left'] {
      transform: translate3d(60px, 0, 0); }
    html:not(.no-js) [data-aos='fade-up-right'] {
      transform: translate3d(-60px, 60px, 0); }
    html:not(.no-js) [data-aos='fade-up-left'] {
      transform: translate3d(60px, 60px, 0); }
    html:not(.no-js) [data-aos='fade-down-right'] {
      transform: translate3d(-60px, -60px, 0); }
    html:not(.no-js) [data-aos='fade-down-left'] {
      transform: translate3d(60px, -60px, 0); }
    html:not(.no-js) [data-aos^='zoom'][data-aos^='zoom'] {
      opacity: 0;
      transition-property: opacity, transform; }
      html:not(.no-js) [data-aos^='zoom'][data-aos^='zoom'].aos-animate {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1); }
    html:not(.no-js) [data-aos='zoom-in'] {
      transform: scale(0.6); }
    html:not(.no-js) [data-aos='zoom-in-up'] {
      transform: translate3d(0, 60px, 0) scale(0.6); }
    html:not(.no-js) [data-aos='zoom-in-down'] {
      transform: translate3d(0, -60px, 0) scale(0.6); }
    html:not(.no-js) [data-aos='zoom-in-right'] {
      transform: translate3d(-60px, 0, 0) scale(0.6); }
    html:not(.no-js) [data-aos='zoom-in-left'] {
      transform: translate3d(60px, 0, 0) scale(0.6); }
    html:not(.no-js) [data-aos='zoom-out'] {
      transform: scale(1.2); }
    html:not(.no-js) [data-aos='zoom-out-up'] {
      transform: translate3d(0, 60px, 0) scale(1.2); }
    html:not(.no-js) [data-aos='zoom-out-down'] {
      transform: translate3d(0, -60px, 0) scale(1.2); }
    html:not(.no-js) [data-aos='zoom-out-right'] {
      transform: translate3d(-60px, 0, 0) scale(1.2); }
    html:not(.no-js) [data-aos='zoom-out-left'] {
      transform: translate3d(60px, 0, 0) scale(1.2); }
    html:not(.no-js) [data-aos^='slide'][data-aos^='slide'] {
      transition-property: transform;
      visibility: hidden; }
      html:not(.no-js) [data-aos^='slide'][data-aos^='slide'].aos-animate {
        visibility: visible;
        transform: translate3d(0, 0, 0); }
    html:not(.no-js) [data-aos='slide-up'] {
      transform: translate3d(0, 100%, 0); }
    html:not(.no-js) [data-aos='slide-down'] {
      transform: translate3d(0, -100%, 0); }
    html:not(.no-js) [data-aos='slide-right'] {
      transform: translate3d(-100%, 0, 0); }
    html:not(.no-js) [data-aos='slide-left'] {
      transform: translate3d(100%, 0, 0); }
    html:not(.no-js) [data-aos^='flip'][data-aos^='flip'] {
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      transition-property: transform; }
    html:not(.no-js) [data-aos='flip-left'] {
      transform: perspective(2500px) rotateY(-100deg); }
      html:not(.no-js) [data-aos='flip-left'].aos-animate {
        transform: perspective(2500px) rotateY(0); }
    html:not(.no-js) [data-aos='flip-right'] {
      transform: perspective(2500px) rotateY(100deg); }
      html:not(.no-js) [data-aos='flip-right'].aos-animate {
        transform: perspective(2500px) rotateY(0); }
    html:not(.no-js) [data-aos='flip-up'] {
      transform: perspective(2500px) rotateX(-100deg); }
      html:not(.no-js) [data-aos='flip-up'].aos-animate {
        transform: perspective(2500px) rotateX(0); }
    html:not(.no-js) [data-aos='flip-down'] {
      transform: perspective(2500px) rotateX(100deg); }
      html:not(.no-js) [data-aos='flip-down'].aos-animate {
        transform: perspective(2500px) rotateX(0); } }

body[data-aos-duration='50'] [data-aos], [data-aos][data-aos][data-aos-duration='50'] {
  transition-duration: 50ms; }

body[data-aos-delay='50'] [data-aos], [data-aos][data-aos][data-aos-delay='50'] {
  transition-delay: 0s; }
  body[data-aos-delay='50'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='50'].aos-animate {
    transition-delay: 50ms; }

body[data-aos-duration='100'] [data-aos], [data-aos][data-aos][data-aos-duration='100'] {
  transition-duration: 100ms; }

body[data-aos-delay='100'] [data-aos], [data-aos][data-aos][data-aos-delay='100'] {
  transition-delay: 0s; }
  body[data-aos-delay='100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='100'].aos-animate {
    transition-delay: 100ms; }

body[data-aos-duration='150'] [data-aos], [data-aos][data-aos][data-aos-duration='150'] {
  transition-duration: 150ms; }

body[data-aos-delay='150'] [data-aos], [data-aos][data-aos][data-aos-delay='150'] {
  transition-delay: 0s; }
  body[data-aos-delay='150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='150'].aos-animate {
    transition-delay: 150ms; }

body[data-aos-duration='200'] [data-aos], [data-aos][data-aos][data-aos-duration='200'] {
  transition-duration: 200ms; }

body[data-aos-delay='200'] [data-aos], [data-aos][data-aos][data-aos-delay='200'] {
  transition-delay: 0s; }
  body[data-aos-delay='200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='200'].aos-animate {
    transition-delay: 200ms; }

body[data-aos-duration='250'] [data-aos], [data-aos][data-aos][data-aos-duration='250'] {
  transition-duration: 250ms; }

body[data-aos-delay='250'] [data-aos], [data-aos][data-aos][data-aos-delay='250'] {
  transition-delay: 0s; }
  body[data-aos-delay='250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='250'].aos-animate {
    transition-delay: 250ms; }

body[data-aos-duration='300'] [data-aos], [data-aos][data-aos][data-aos-duration='300'] {
  transition-duration: 300ms; }

body[data-aos-delay='300'] [data-aos], [data-aos][data-aos][data-aos-delay='300'] {
  transition-delay: 0s; }
  body[data-aos-delay='300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='300'].aos-animate {
    transition-delay: 300ms; }

body[data-aos-duration='350'] [data-aos], [data-aos][data-aos][data-aos-duration='350'] {
  transition-duration: 350ms; }

body[data-aos-delay='350'] [data-aos], [data-aos][data-aos][data-aos-delay='350'] {
  transition-delay: 0s; }
  body[data-aos-delay='350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='350'].aos-animate {
    transition-delay: 350ms; }

body[data-aos-duration='400'] [data-aos], [data-aos][data-aos][data-aos-duration='400'] {
  transition-duration: 400ms; }

body[data-aos-delay='400'] [data-aos], [data-aos][data-aos][data-aos-delay='400'] {
  transition-delay: 0s; }
  body[data-aos-delay='400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='400'].aos-animate {
    transition-delay: 400ms; }

body[data-aos-duration='450'] [data-aos], [data-aos][data-aos][data-aos-duration='450'] {
  transition-duration: 450ms; }

body[data-aos-delay='450'] [data-aos], [data-aos][data-aos][data-aos-delay='450'] {
  transition-delay: 0s; }
  body[data-aos-delay='450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='450'].aos-animate {
    transition-delay: 450ms; }

body[data-aos-duration='500'] [data-aos], [data-aos][data-aos][data-aos-duration='500'] {
  transition-duration: 500ms; }

body[data-aos-delay='500'] [data-aos], [data-aos][data-aos][data-aos-delay='500'] {
  transition-delay: 0s; }
  body[data-aos-delay='500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='500'].aos-animate {
    transition-delay: 500ms; }

body[data-aos-duration='550'] [data-aos], [data-aos][data-aos][data-aos-duration='550'] {
  transition-duration: 550ms; }

body[data-aos-delay='550'] [data-aos], [data-aos][data-aos][data-aos-delay='550'] {
  transition-delay: 0s; }
  body[data-aos-delay='550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='550'].aos-animate {
    transition-delay: 550ms; }

body[data-aos-duration='600'] [data-aos], [data-aos][data-aos][data-aos-duration='600'] {
  transition-duration: 600ms; }

body[data-aos-delay='600'] [data-aos], [data-aos][data-aos][data-aos-delay='600'] {
  transition-delay: 0s; }
  body[data-aos-delay='600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='600'].aos-animate {
    transition-delay: 600ms; }

body[data-aos-duration='650'] [data-aos], [data-aos][data-aos][data-aos-duration='650'] {
  transition-duration: 650ms; }

body[data-aos-delay='650'] [data-aos], [data-aos][data-aos][data-aos-delay='650'] {
  transition-delay: 0s; }
  body[data-aos-delay='650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='650'].aos-animate {
    transition-delay: 650ms; }

body[data-aos-duration='700'] [data-aos], [data-aos][data-aos][data-aos-duration='700'] {
  transition-duration: 700ms; }

body[data-aos-delay='700'] [data-aos], [data-aos][data-aos][data-aos-delay='700'] {
  transition-delay: 0s; }
  body[data-aos-delay='700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='700'].aos-animate {
    transition-delay: 700ms; }

body[data-aos-duration='750'] [data-aos], [data-aos][data-aos][data-aos-duration='750'] {
  transition-duration: 750ms; }

body[data-aos-delay='750'] [data-aos], [data-aos][data-aos][data-aos-delay='750'] {
  transition-delay: 0s; }
  body[data-aos-delay='750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='750'].aos-animate {
    transition-delay: 750ms; }

body[data-aos-duration='800'] [data-aos], [data-aos][data-aos][data-aos-duration='800'] {
  transition-duration: 800ms; }

body[data-aos-delay='800'] [data-aos], [data-aos][data-aos][data-aos-delay='800'] {
  transition-delay: 0s; }
  body[data-aos-delay='800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='800'].aos-animate {
    transition-delay: 800ms; }

body[data-aos-duration='850'] [data-aos], [data-aos][data-aos][data-aos-duration='850'] {
  transition-duration: 850ms; }

body[data-aos-delay='850'] [data-aos], [data-aos][data-aos][data-aos-delay='850'] {
  transition-delay: 0s; }
  body[data-aos-delay='850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='850'].aos-animate {
    transition-delay: 850ms; }

body[data-aos-duration='900'] [data-aos], [data-aos][data-aos][data-aos-duration='900'] {
  transition-duration: 900ms; }

body[data-aos-delay='900'] [data-aos], [data-aos][data-aos][data-aos-delay='900'] {
  transition-delay: 0s; }
  body[data-aos-delay='900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='900'].aos-animate {
    transition-delay: 900ms; }

body[data-aos-duration='950'] [data-aos], [data-aos][data-aos][data-aos-duration='950'] {
  transition-duration: 950ms; }

body[data-aos-delay='950'] [data-aos], [data-aos][data-aos][data-aos-delay='950'] {
  transition-delay: 0s; }
  body[data-aos-delay='950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='950'].aos-animate {
    transition-delay: 950ms; }

body[data-aos-duration='1000'] [data-aos], [data-aos][data-aos][data-aos-duration='1000'] {
  transition-duration: 1000ms; }

body[data-aos-delay='1000'] [data-aos], [data-aos][data-aos][data-aos-delay='1000'] {
  transition-delay: 0s; }
  body[data-aos-delay='1000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1000'].aos-animate {
    transition-delay: 1000ms; }

body[data-aos-duration='1050'] [data-aos], [data-aos][data-aos][data-aos-duration='1050'] {
  transition-duration: 1050ms; }

body[data-aos-delay='1050'] [data-aos], [data-aos][data-aos][data-aos-delay='1050'] {
  transition-delay: 0s; }
  body[data-aos-delay='1050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1050'].aos-animate {
    transition-delay: 1050ms; }

body[data-aos-duration='1100'] [data-aos], [data-aos][data-aos][data-aos-duration='1100'] {
  transition-duration: 1100ms; }

body[data-aos-delay='1100'] [data-aos], [data-aos][data-aos][data-aos-delay='1100'] {
  transition-delay: 0s; }
  body[data-aos-delay='1100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1100'].aos-animate {
    transition-delay: 1100ms; }

body[data-aos-duration='1150'] [data-aos], [data-aos][data-aos][data-aos-duration='1150'] {
  transition-duration: 1150ms; }

body[data-aos-delay='1150'] [data-aos], [data-aos][data-aos][data-aos-delay='1150'] {
  transition-delay: 0s; }
  body[data-aos-delay='1150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1150'].aos-animate {
    transition-delay: 1150ms; }

body[data-aos-duration='1200'] [data-aos], [data-aos][data-aos][data-aos-duration='1200'] {
  transition-duration: 1200ms; }

body[data-aos-delay='1200'] [data-aos], [data-aos][data-aos][data-aos-delay='1200'] {
  transition-delay: 0s; }
  body[data-aos-delay='1200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1200'].aos-animate {
    transition-delay: 1200ms; }

body[data-aos-duration='1250'] [data-aos], [data-aos][data-aos][data-aos-duration='1250'] {
  transition-duration: 1250ms; }

body[data-aos-delay='1250'] [data-aos], [data-aos][data-aos][data-aos-delay='1250'] {
  transition-delay: 0s; }
  body[data-aos-delay='1250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1250'].aos-animate {
    transition-delay: 1250ms; }

body[data-aos-duration='1300'] [data-aos], [data-aos][data-aos][data-aos-duration='1300'] {
  transition-duration: 1300ms; }

body[data-aos-delay='1300'] [data-aos], [data-aos][data-aos][data-aos-delay='1300'] {
  transition-delay: 0s; }
  body[data-aos-delay='1300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1300'].aos-animate {
    transition-delay: 1300ms; }

body[data-aos-duration='1350'] [data-aos], [data-aos][data-aos][data-aos-duration='1350'] {
  transition-duration: 1350ms; }

body[data-aos-delay='1350'] [data-aos], [data-aos][data-aos][data-aos-delay='1350'] {
  transition-delay: 0s; }
  body[data-aos-delay='1350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1350'].aos-animate {
    transition-delay: 1350ms; }

body[data-aos-duration='1400'] [data-aos], [data-aos][data-aos][data-aos-duration='1400'] {
  transition-duration: 1400ms; }

body[data-aos-delay='1400'] [data-aos], [data-aos][data-aos][data-aos-delay='1400'] {
  transition-delay: 0s; }
  body[data-aos-delay='1400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1400'].aos-animate {
    transition-delay: 1400ms; }

body[data-aos-duration='1450'] [data-aos], [data-aos][data-aos][data-aos-duration='1450'] {
  transition-duration: 1450ms; }

body[data-aos-delay='1450'] [data-aos], [data-aos][data-aos][data-aos-delay='1450'] {
  transition-delay: 0s; }
  body[data-aos-delay='1450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1450'].aos-animate {
    transition-delay: 1450ms; }

body[data-aos-duration='1500'] [data-aos], [data-aos][data-aos][data-aos-duration='1500'] {
  transition-duration: 1500ms; }

body[data-aos-delay='1500'] [data-aos], [data-aos][data-aos][data-aos-delay='1500'] {
  transition-delay: 0s; }
  body[data-aos-delay='1500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1500'].aos-animate {
    transition-delay: 1500ms; }

body[data-aos-duration='1550'] [data-aos], [data-aos][data-aos][data-aos-duration='1550'] {
  transition-duration: 1550ms; }

body[data-aos-delay='1550'] [data-aos], [data-aos][data-aos][data-aos-delay='1550'] {
  transition-delay: 0s; }
  body[data-aos-delay='1550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1550'].aos-animate {
    transition-delay: 1550ms; }

body[data-aos-duration='1600'] [data-aos], [data-aos][data-aos][data-aos-duration='1600'] {
  transition-duration: 1600ms; }

body[data-aos-delay='1600'] [data-aos], [data-aos][data-aos][data-aos-delay='1600'] {
  transition-delay: 0s; }
  body[data-aos-delay='1600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1600'].aos-animate {
    transition-delay: 1600ms; }

body[data-aos-duration='1650'] [data-aos], [data-aos][data-aos][data-aos-duration='1650'] {
  transition-duration: 1650ms; }

body[data-aos-delay='1650'] [data-aos], [data-aos][data-aos][data-aos-delay='1650'] {
  transition-delay: 0s; }
  body[data-aos-delay='1650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1650'].aos-animate {
    transition-delay: 1650ms; }

body[data-aos-duration='1700'] [data-aos], [data-aos][data-aos][data-aos-duration='1700'] {
  transition-duration: 1700ms; }

body[data-aos-delay='1700'] [data-aos], [data-aos][data-aos][data-aos-delay='1700'] {
  transition-delay: 0s; }
  body[data-aos-delay='1700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1700'].aos-animate {
    transition-delay: 1700ms; }

body[data-aos-duration='1750'] [data-aos], [data-aos][data-aos][data-aos-duration='1750'] {
  transition-duration: 1750ms; }

body[data-aos-delay='1750'] [data-aos], [data-aos][data-aos][data-aos-delay='1750'] {
  transition-delay: 0s; }
  body[data-aos-delay='1750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1750'].aos-animate {
    transition-delay: 1750ms; }

body[data-aos-duration='1800'] [data-aos], [data-aos][data-aos][data-aos-duration='1800'] {
  transition-duration: 1800ms; }

body[data-aos-delay='1800'] [data-aos], [data-aos][data-aos][data-aos-delay='1800'] {
  transition-delay: 0s; }
  body[data-aos-delay='1800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1800'].aos-animate {
    transition-delay: 1800ms; }

body[data-aos-duration='1850'] [data-aos], [data-aos][data-aos][data-aos-duration='1850'] {
  transition-duration: 1850ms; }

body[data-aos-delay='1850'] [data-aos], [data-aos][data-aos][data-aos-delay='1850'] {
  transition-delay: 0s; }
  body[data-aos-delay='1850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1850'].aos-animate {
    transition-delay: 1850ms; }

body[data-aos-duration='1900'] [data-aos], [data-aos][data-aos][data-aos-duration='1900'] {
  transition-duration: 1900ms; }

body[data-aos-delay='1900'] [data-aos], [data-aos][data-aos][data-aos-delay='1900'] {
  transition-delay: 0s; }
  body[data-aos-delay='1900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1900'].aos-animate {
    transition-delay: 1900ms; }

body[data-aos-duration='1950'] [data-aos], [data-aos][data-aos][data-aos-duration='1950'] {
  transition-duration: 1950ms; }

body[data-aos-delay='1950'] [data-aos], [data-aos][data-aos][data-aos-delay='1950'] {
  transition-delay: 0s; }
  body[data-aos-delay='1950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1950'].aos-animate {
    transition-delay: 1950ms; }

body[data-aos-duration='2000'] [data-aos], [data-aos][data-aos][data-aos-duration='2000'] {
  transition-duration: 2000ms; }

body[data-aos-delay='2000'] [data-aos], [data-aos][data-aos][data-aos-delay='2000'] {
  transition-delay: 0s; }
  body[data-aos-delay='2000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2000'].aos-animate {
    transition-delay: 2000ms; }

body[data-aos-duration='2050'] [data-aos], [data-aos][data-aos][data-aos-duration='2050'] {
  transition-duration: 2050ms; }

body[data-aos-delay='2050'] [data-aos], [data-aos][data-aos][data-aos-delay='2050'] {
  transition-delay: 0s; }
  body[data-aos-delay='2050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2050'].aos-animate {
    transition-delay: 2050ms; }

body[data-aos-duration='2100'] [data-aos], [data-aos][data-aos][data-aos-duration='2100'] {
  transition-duration: 2100ms; }

body[data-aos-delay='2100'] [data-aos], [data-aos][data-aos][data-aos-delay='2100'] {
  transition-delay: 0s; }
  body[data-aos-delay='2100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2100'].aos-animate {
    transition-delay: 2100ms; }

body[data-aos-duration='2150'] [data-aos], [data-aos][data-aos][data-aos-duration='2150'] {
  transition-duration: 2150ms; }

body[data-aos-delay='2150'] [data-aos], [data-aos][data-aos][data-aos-delay='2150'] {
  transition-delay: 0s; }
  body[data-aos-delay='2150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2150'].aos-animate {
    transition-delay: 2150ms; }

body[data-aos-duration='2200'] [data-aos], [data-aos][data-aos][data-aos-duration='2200'] {
  transition-duration: 2200ms; }

body[data-aos-delay='2200'] [data-aos], [data-aos][data-aos][data-aos-delay='2200'] {
  transition-delay: 0s; }
  body[data-aos-delay='2200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2200'].aos-animate {
    transition-delay: 2200ms; }

body[data-aos-duration='2250'] [data-aos], [data-aos][data-aos][data-aos-duration='2250'] {
  transition-duration: 2250ms; }

body[data-aos-delay='2250'] [data-aos], [data-aos][data-aos][data-aos-delay='2250'] {
  transition-delay: 0s; }
  body[data-aos-delay='2250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2250'].aos-animate {
    transition-delay: 2250ms; }

body[data-aos-duration='2300'] [data-aos], [data-aos][data-aos][data-aos-duration='2300'] {
  transition-duration: 2300ms; }

body[data-aos-delay='2300'] [data-aos], [data-aos][data-aos][data-aos-delay='2300'] {
  transition-delay: 0s; }
  body[data-aos-delay='2300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2300'].aos-animate {
    transition-delay: 2300ms; }

body[data-aos-duration='2350'] [data-aos], [data-aos][data-aos][data-aos-duration='2350'] {
  transition-duration: 2350ms; }

body[data-aos-delay='2350'] [data-aos], [data-aos][data-aos][data-aos-delay='2350'] {
  transition-delay: 0s; }
  body[data-aos-delay='2350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2350'].aos-animate {
    transition-delay: 2350ms; }

body[data-aos-duration='2400'] [data-aos], [data-aos][data-aos][data-aos-duration='2400'] {
  transition-duration: 2400ms; }

body[data-aos-delay='2400'] [data-aos], [data-aos][data-aos][data-aos-delay='2400'] {
  transition-delay: 0s; }
  body[data-aos-delay='2400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2400'].aos-animate {
    transition-delay: 2400ms; }

body[data-aos-duration='2450'] [data-aos], [data-aos][data-aos][data-aos-duration='2450'] {
  transition-duration: 2450ms; }

body[data-aos-delay='2450'] [data-aos], [data-aos][data-aos][data-aos-delay='2450'] {
  transition-delay: 0s; }
  body[data-aos-delay='2450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2450'].aos-animate {
    transition-delay: 2450ms; }

body[data-aos-duration='2500'] [data-aos], [data-aos][data-aos][data-aos-duration='2500'] {
  transition-duration: 2500ms; }

body[data-aos-delay='2500'] [data-aos], [data-aos][data-aos][data-aos-delay='2500'] {
  transition-delay: 0s; }
  body[data-aos-delay='2500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2500'].aos-animate {
    transition-delay: 2500ms; }

body[data-aos-duration='2550'] [data-aos], [data-aos][data-aos][data-aos-duration='2550'] {
  transition-duration: 2550ms; }

body[data-aos-delay='2550'] [data-aos], [data-aos][data-aos][data-aos-delay='2550'] {
  transition-delay: 0s; }
  body[data-aos-delay='2550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2550'].aos-animate {
    transition-delay: 2550ms; }

body[data-aos-duration='2600'] [data-aos], [data-aos][data-aos][data-aos-duration='2600'] {
  transition-duration: 2600ms; }

body[data-aos-delay='2600'] [data-aos], [data-aos][data-aos][data-aos-delay='2600'] {
  transition-delay: 0s; }
  body[data-aos-delay='2600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2600'].aos-animate {
    transition-delay: 2600ms; }

body[data-aos-duration='2650'] [data-aos], [data-aos][data-aos][data-aos-duration='2650'] {
  transition-duration: 2650ms; }

body[data-aos-delay='2650'] [data-aos], [data-aos][data-aos][data-aos-delay='2650'] {
  transition-delay: 0s; }
  body[data-aos-delay='2650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2650'].aos-animate {
    transition-delay: 2650ms; }

body[data-aos-duration='2700'] [data-aos], [data-aos][data-aos][data-aos-duration='2700'] {
  transition-duration: 2700ms; }

body[data-aos-delay='2700'] [data-aos], [data-aos][data-aos][data-aos-delay='2700'] {
  transition-delay: 0s; }
  body[data-aos-delay='2700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2700'].aos-animate {
    transition-delay: 2700ms; }

body[data-aos-duration='2750'] [data-aos], [data-aos][data-aos][data-aos-duration='2750'] {
  transition-duration: 2750ms; }

body[data-aos-delay='2750'] [data-aos], [data-aos][data-aos][data-aos-delay='2750'] {
  transition-delay: 0s; }
  body[data-aos-delay='2750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2750'].aos-animate {
    transition-delay: 2750ms; }

body[data-aos-duration='2800'] [data-aos], [data-aos][data-aos][data-aos-duration='2800'] {
  transition-duration: 2800ms; }

body[data-aos-delay='2800'] [data-aos], [data-aos][data-aos][data-aos-delay='2800'] {
  transition-delay: 0s; }
  body[data-aos-delay='2800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2800'].aos-animate {
    transition-delay: 2800ms; }

body[data-aos-duration='2850'] [data-aos], [data-aos][data-aos][data-aos-duration='2850'] {
  transition-duration: 2850ms; }

body[data-aos-delay='2850'] [data-aos], [data-aos][data-aos][data-aos-delay='2850'] {
  transition-delay: 0s; }
  body[data-aos-delay='2850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2850'].aos-animate {
    transition-delay: 2850ms; }

body[data-aos-duration='2900'] [data-aos], [data-aos][data-aos][data-aos-duration='2900'] {
  transition-duration: 2900ms; }

body[data-aos-delay='2900'] [data-aos], [data-aos][data-aos][data-aos-delay='2900'] {
  transition-delay: 0s; }
  body[data-aos-delay='2900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2900'].aos-animate {
    transition-delay: 2900ms; }

body[data-aos-duration='2950'] [data-aos], [data-aos][data-aos][data-aos-duration='2950'] {
  transition-duration: 2950ms; }

body[data-aos-delay='2950'] [data-aos], [data-aos][data-aos][data-aos-delay='2950'] {
  transition-delay: 0s; }
  body[data-aos-delay='2950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2950'].aos-animate {
    transition-delay: 2950ms; }

body[data-aos-duration='3000'] [data-aos], [data-aos][data-aos][data-aos-duration='3000'] {
  transition-duration: 3000ms; }

body[data-aos-delay='3000'] [data-aos], [data-aos][data-aos][data-aos-delay='3000'] {
  transition-delay: 0s; }
  body[data-aos-delay='3000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='3000'].aos-animate {
    transition-delay: 3000ms; }

[data-aos] {
  pointer-events: none; }
  [data-aos].aos-animate {
    pointer-events: auto; }

body[data-aos-easing="linear"] [data-aos], [data-aos][data-aos][data-aos-easing="linear"] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75); }

body[data-aos-easing="ease"] [data-aos], [data-aos][data-aos][data-aos-easing="ease"] {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); }

body[data-aos-easing="ease-in"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in"] {
  transition-timing-function: cubic-bezier(0.42, 0, 1, 1); }

body[data-aos-easing="ease-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out"] {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1); }

body[data-aos-easing="ease-in-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out"] {
  transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); }

body[data-aos-easing="ease-in-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-back"] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); }

body[data-aos-easing="ease-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-back"] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

body[data-aos-easing="ease-in-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-back"] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

body[data-aos-easing="ease-in-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-sine"] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); }

body[data-aos-easing="ease-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-sine"] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1); }

body[data-aos-easing="ease-in-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-sine"] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); }

body[data-aos-easing="ease-in-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quad"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quad"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quad"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-cubic"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-cubic"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-cubic"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quart"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quart"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quart"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

.mv {
  width: 100vw;
  height: calc(100vh - 70px);
  position: relative; }
  .mv::before {
    content: '';
    display: block;
    width: 30.66%;
    height: 27.86%;
    background: #fff;
    transform: skew(-28.5deg, 0);
    position: absolute;
    top: 0;
    left: -19%;
    z-index: 1;
    animation: mvMask 1.5s 0s ease-out; }

@keyframes mvMask {
  0% {
    left: -50vw; }
  50% {
    left: -50vw; }
  100% {
    left: -19vw; } }
  .mv .mv__inner {
    background: url(../images/top/mv_sp.jpg) center center no-repeat;
    background-size: cover;
    width: 100vw;
    height: 100%;
    position: relative;
    animation: mvImg 2s 0s ease-out; }

@keyframes mvImg {
  0% {
    opacity: 0;
    background-position: -100px center; }
  50% {
    opacity: 0;
    background-position: -100px center; }
  70% {
    opacity: 0;
    background-position: -10px center; }
  100% {
    background-position: center center; } }
    .mv .mv__inner::before {
      content: '';
      display: block;
      width: 35vw;
      height: 60vh;
      background: linear-gradient(#08ffde, #a2ff50);
      background-size: contain;
      position: absolute;
      top: 0;
      left: -22%;
      transform: skew(-28.5deg, 0);
      z-index: 3;
      animation: mvColorFront 1.5s 1.5s cubic-bezier(0.9, 0, 0.1, 1) forwards;
      opacity: 0; }
    .mv .mv__inner::after {
      content: '';
      display: block;
      width: 35vw;
      height: 60vh;
      background: linear-gradient(#27D9C1, #80D931);
      background-size: contain;
      mix-blend-mode: color-burn;
      position: absolute;
      top: 0;
      left: -22%;
      transform: skew(-28.5deg, 0);
      z-index: 3;
      animation: mvColorBack 1.5s 1.5s cubic-bezier(0.9, 0, 0.1, 1) forwards;
      opacity: 0; }

@keyframes mvColorFront {
  0% {
    width: 0;
    opacity: 0.2; }
  100% {
    width: 35vw;
    opacity: 0.2; } }

@keyframes mvColorBack {
  0% {
    width: 0;
    opacity: 1; }
  100% {
    width: 35vw;
    opacity: 1; } }

@keyframes mvColorFrontPc {
  0% {
    width: 0;
    height: 0;
    opacity: 0; }
  100% {
    width: 20vw;
    height: 55.5vh;
    opacity: 0.2; } }

@keyframes mvColorBackPc {
  0% {
    width: 0;
    height: 0;
    opacity: 0; }
  100% {
    width: 20vw;
    height: 55.5vh;
    opacity: 1; } }

.mv__copy {
  position: absolute;
  bottom: 90px;
  left: 0;
  z-index: 5;
  opacity: 0; }
  .mv__copy .bg-wh span {
    position: relative;
    z-index: 10; }
  .mv__copy .bg-wh::after {
    content: '';
    display: block;
    width: 0;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5; }
  .mv__copy__main {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 42px;
    font-size: 4.2rem;
    font-size: 11.2vw;
    font-weight: 400;
    line-height: 1.6; }
    .mv__copy__main .bg-wh {
      padding: 0.15em 0.3em;
      position: relative; }
  .mv__copy__sub {
    font-weight: 700;
    line-height: 1.6;
    margin-top: 3px; }
    .mv__copy__sub .bg-wh {
      padding: 1em;
      display: inline-block; }

.opening .mv__copy {
  opacity: 1; }
  .opening .mv__copy .bg-wh::after {
    width: 100%;
    transition: width 0.5s cubic-bezier(0.9, 0, 0.1, 1); }
  .opening .mv__copy .bg-wh span {
    position: relative;
    opacity: 1;
    z-index: 20; }
    .opening .mv__copy .bg-wh span::before {
      content: '';
      display: block;
      width: 0;
      height: 100%;
      background: #fff;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 10;
      animation: copyMask 1.5s 0s cubic-bezier(0.9, 0, 0.1, 1); }
  .opening .mv__copy__main:first-of-type::before {
    content: '';
    display: block;
    width: 0.15em;
    height: 1em;
    background: linear-gradient(45deg, #4Bd985, #80D931);
    position: absolute;
    top: 0;
    left: 0.3em;
    transform: skew(-28.5deg, 0);
    z-index: 15;
    animation: mainCopyLine 2s 0s cubic-bezier(0.9, 0, 0.1, 1); }
  .opening .mv__copy__main .bg-wh span::after {
    top: -0.25em; }
  .opening .mv__copy__sub {
    position: relative; }
    .opening .mv__copy__sub .bg-wh {
      position: relative; }
      .opening .mv__copy__sub .bg-wh span {
        animation: subCopyLeft 2.5s 0s cubic-bezier(0.9, 0, 0.1, 1) forwards; }
        .opening .mv__copy__sub .bg-wh span::after {
          top: -1em; }
    .opening .mv__copy__sub::before {
      content: '';
      display: block;
      width: 1em;
      height: 2px;
      background: #12200E;
      position: absolute;
      left: 1em;
      top: 1.5em;
      z-index: 10;
      animation: subCopyLine 2.5s 0s cubic-bezier(0.9, 0, 0.1, 1); }

@keyframes copyMask {
  0% {
    width: 100%; }
  100% {
    width: 0%; } }

@keyframes mainCopyLine {
  0% {
    height: 0; }
  70% {
    height: 0; }
  100% {
    height: 1em; } }

@keyframes subCopyLine {
  0% {
    width: 0; }
  80% {
    width: 0; }
  100% {
    width: 1em; } }

@keyframes subCopyLeft {
  0% {
    padding-left: 0; }
  70% {
    padding-left: 0; }
  100% {
    padding-left: 1.5em; } }

.top .top-sec__ttl {
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em; }
  .top .top-sec__ttl .ttl__main {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 46rem; }

.top .top-bg-grd {
  position: relative; }
  .top .top-bg-grd::before {
    content: '';
    display: block;
    width: 26.66%;
    height: 182px;
    background: url(../images/top/bg_grd_triangle.svg) 0 0 no-repeat;
    background-size: contain;
    position: absolute;
    top: -70px;
    left: 0;
    z-index: -1; }
  .top .top-bg-grd::after {
    content: '';
    display: block;
    width: 62.66%;
    height: 381px;
    background: url(../images/top/bg_grd_trape.svg) right 0 bottom 0 no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -30px;
    right: 0;
    z-index: -1; }

.top .top-bg-shadow {
  position: relative;
  overflow: hidden; }
  .top .top-bg-shadow::after {
    content: '';
    background: linear-gradient(#F7F7F7, #FFF);
    transform: skew(-28.5deg, 0);
    width: 450px;
    height: 500px;
    position: absolute;
    top: -25px;
    right: -280px;
    z-index: -5; }

.top .top-imgblk__txt {
  width: 84%;
  margin: 0 auto;
  padding-bottom: 40px; }
  .top .top-imgblk__txt .txt__desc {
    line-height: 2.0;
    padding: 15px 0 20px;
    font-weight: 500; }

.top .top-imgblk__img {
  width: 84%;
  margin: 0 auto; }
  .top .top-imgblk__img img {
    width: 100%; }

.top .top-linkbox {
  padding-bottom: 2.14em; }
  .top .top-linkbox__img {
    box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.1); }
    .top .top-linkbox__img img {
      width: 100%;
      vertical-align: top; }
  .top .top-linkbox__txt {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    background: #fff;
    margin-top: -30px;
    padding: 1.8em 2.28em 2.28em;
    position: relative;
    z-index: 2;
    box-shadow: 0px 12px 18px -18px rgba(0, 0, 0, 0.4); }
    .top .top-linkbox__txt .linkbox__ttl {
      padding-bottom: 1.42em; }
      .top .top-linkbox__txt .linkbox__ttl .ttl__main {
        font-size: 42rem; }

.top .top-service {
  padding: 70px 0 60px; }

.top .top-cases {
  padding: 60px 0 40px; }

.top .top-about-flow {
  padding: 40px 0 50px; }

.top .top-recruit {
  padding: 50px 0 60px; }

.top .top-news {
  padding: 60px 0 30px; }
  .top .top-news .c-news-list {
    padding: 20px 0 25px; }

.top .top-contact {
  padding: 30px 0 60px; }

.service.core-contents {
  position: relative;
  overflow: hidden; }
  .service.core-contents::before {
    content: '';
    width: 60%;
    height: 65.10vh;
    background: linear-gradient(#F9F9F9, #FFFFFF);
    transform: skew(-28.5deg, 0);
    position: absolute;
    top: 6vh;
    left: -68%;
    z-index: -5; }
  .service.core-contents::after {
    content: '';
    width: 60%;
    height: 65.10vh;
    background: linear-gradient(#F9F9F9, #FFFFFF);
    transform: skew(-28.5deg, 0);
    position: absolute;
    top: 12vh;
    right: -27%;
    z-index: -5; }
  .service.core-contents .core-contents__ttl {
    line-height: 1.3;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.08em;
    padding: 80px 0 60px;
    position: relative; }
    .service.core-contents .core-contents__ttl::before {
      content: '';
      display: block;
      width: 26.15%;
      height: 24vh;
      background: url(../images/common/pattern_dot.png), linear-gradient(8.5deg, #27D9C1, #80D931);
      background-size: 0.5vw, 100%;
      transform: skew(-28.5deg, 0);
      position: absolute;
      top: 0;
      left: -16%;
      z-index: -3; }
    .service.core-contents .core-contents__ttl::after {
      content: '';
      display: block;
      width: 26.15%;
      height: 28vh;
      background: url(../images/common/pattern_dot.png), linear-gradient(8.5deg, #27D9C1, #80D931);
      background-size: 0.5vw, 100%;
      transform: skew(-28.5deg, 0);
      position: absolute;
      top: 0;
      right: -17%;
      z-index: -3; }
    .service.core-contents .core-contents__ttl .core-ttl__main {
      font-family: "Barlow Condensed", sans-serif;
      font-size: 54rem;
      font-weight: 600; }
    .service.core-contents .core-contents__ttl .core-ttl__sub {
      font-size: 14rem;
      font-weight: 700; }

.service .service-intro-sec {
  padding-bottom: 60px; }
  .service .service-intro-sec .intro__lead {
    font-size: 20rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.15em;
    text-align: center;
    padding-bottom: 15px; }
  .service .service-intro-sec .intro__txt {
    line-height: 2.2;
    letter-spacing: 0.08em;
    font-weight: 500; }

.service .service_detail {
  padding-bottom: 60px; }
  .service .service_detail .service_box__txt-wrapper {
    background: #fff;
    padding: 35px 30px 25px;
    margin: -20px auto 0;
    z-index: 5;
    position: relative;
    box-shadow: 0px 5px 30px rgba(0, 0, 0, 0.05); }
  .service .service_detail .service_box--main {
    background: #F8F8F8;
    padding-bottom: 40px;
    margin-bottom: 40px; }
    .service .service_detail .service_box--main .service_box__img img {
      width: 100%;
      vertical-align: top; }
    .service .service_detail .service_box--main .service_box__txt-wrapper {
      width: 92%; }
      .service .service_detail .service_box--main .service_box__txt-wrapper .service_box__txt {
        padding-bottom: 5px; }
  .service .service_detail .service_box--sub {
    position: relative;
    margin-bottom: 40px;
    padding-bottom: 40px; }
    .service .service_detail .service_box--sub::before {
      content: '';
      display: block;
      width: 100%;
      height: 50vh;
      background: #F8F8F8;
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1; }
    .service .service_detail .service_box--sub .service_box__img {
      width: 92%;
      margin: 0 auto; }
      .service .service_detail .service_box--sub .service_box__img img {
        width: 100%;
        vertical-align: top; }
    .service .service_detail .service_box--sub .service_box__txt-wrapper {
      width: 84%; }

.service .develop-items {
  padding-top: 30px; }

.service .develop-item {
  padding: 160px 30px 30px;
  margin-bottom: 20px;
  background: #F8F8F8;
  position: relative; }
  .service .develop-item::after {
    content: '';
    display: block;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%); }
  .service .develop-item::before {
    content: '';
    display: block;
    width: 70px;
    height: 70px;
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5; }
  .service .develop-item__ttl {
    font-size: 14rem;
    font-weight: 500;
    padding-bottom: 5px;
    text-align: center; }
  .service .develop-item__txt {
    padding-bottom: 10px; }
  .service .develop-item.__gift-processing::before {
    background: url(../images/service/icon_gift-processing.svg) 50% 50% no-repeat;
    background-size: contain; }
  .service .develop-item.__case-control::before {
    background: url(../images/service/icon_case-control.svg) 50% 50% no-repeat;
    background-size: 60%; }
  .service .develop-item.__carrier::before {
    background: url(../images/service/icon_carrier.svg) 50% 50% no-repeat;
    background-size: 90%; }
  .service .develop-item.__e-commerce::before {
    background: url(../images/service/icon_e-commerce.svg) 50% 50% no-repeat;
    background-size: 70%; }
  .service .develop-item.__trade::before {
    background: url(../images/service/icon_trade.svg) 50% 50% no-repeat;
    background-size: contain; }
  .service .develop-item.__system-migration::before {
    background: url(../images/service/icon_system-migration.svg) 50% 50% no-repeat;
    background-size: 80%; }
  .service .develop-item.__pipe-line::before {
    background: url(../images/service/icon_pipe-line.svg) 50% 50% no-repeat;
    background-size: 70%; }
  .service .develop-item.__automatic-warehouse::before {
    background: url(../images/service/icon_automatic-warehouse.svg) 50% 50% no-repeat;
    background-size: contain; }
  .service .develop-item.__pos::before {
    background: url(../images/service/icon_pos.svg) 50% 50% no-repeat;
    background-size: 65%; }
  .service .develop-item.__production-control::before {
    background: url(../images/service/icon_production-control.svg) 50% 50% no-repeat;
    background-size: 80%; }
  .service .develop-item.__disaster-info::before {
    background: url(../images/service/icon_disaster-info.svg) 50% 50% no-repeat;
    background-size: contain; }
  .service .develop-item.__handy-terminal::before {
    background: url(../images/service/icon_handy-terminal.svg) 50% 50% no-repeat;
    background-size: contain; }
  .service .develop-item.__time-keeping::before {
    background: url(../images/service/icon_time-keeping.svg) 50% 50% no-repeat;
    background-size: 80%; }
  .service .develop-item.__customize-cocktail::before {
    background: url(../images/service/icon_customize-cocktail.svg) 50% 50% no-repeat;
    background-size: 85%; }
  .service .develop-item.__customize-mcframe::before {
    background: url(../images/service/icon_customize-mcframe.svg) 50% 50% no-repeat;
    background-size: 85%; }

.company .c-pagettl_imgback {
  background: url(../images/company/company_pagettl_bg_sp.jpg) 0 0 no-repeat;
  background-size: cover; }

.company .company_philosophy_img {
  padding: 10px 0 30px; }
  .company .company_philosophy_img img {
    width: 100%;
    vertical-align: top; }
  .company .company_philosophy_img .philosophy_detail {
    display: -ms-flexbox;
    display: flex; }
    .company .company_philosophy_img .philosophy_detail li {
      font-size: 10rem;
      font-weight: 500;
      color: #1B3E1E;
      padding: 0 5px;
      text-align: center;
      line-height: 1.7;
      width: 33.33%; }

.company .training-summary-item {
  border: 1px solid #9FE2D2;
  padding: 1.2em 1em;
  text-align: center;
  margin-bottom: 30px;
  position: relative; }
  .company .training-summary-item:last-of-type {
    margin-bottom: 10px; }
  .company .training-summary-item::after {
    content: '';
    display: block;
    width: 12px;
    height: 14px;
    position: absolute;
    bottom: -22px;
    left: 50%;
    transform: translateX(-50%); }
  .company .training-summary-item.__it-basic::after {
    background: url(../images/company/training_arw_step1.svg) no-repeat;
    background-size: contain; }
  .company .training-summary-item.__it-application {
    border-color: #A2E7BC; }
    .company .training-summary-item.__it-application::after {
      background: url(../images/company/training_arw_step2.svg) no-repeat;
      background-size: contain; }
  .company .training-summary-item.__it-practice {
    border-color: #AEE7A8; }
    .company .training-summary-item.__it-practice::after {
      background: url(../images/company/training_arw_step3.svg) no-repeat;
      background-size: contain; }
  .company .training-summary-item.__afterfollow {
    border-color: #BAE595; }

.company .training-summary__month {
  display: block;
  line-height: 1.6; }
  .company .training-summary__month.__it-basic {
    color: #27CFA7; }
  .company .training-summary__month.__it-application {
    color: #27CFA7; }
  .company .training-summary__month.__it-practice {
    color: #56D648; }
  .company .training-summary__month.__afterfollow {
    color: #7EE425; }

.company .training-summary__ttl {
  display: block;
  font-size: 14rem;
  font-weight: 500; }

.company .training-detail {
  border-bottom: 1px solid #ddd;
  padding: 30px 0; }
  .company .training-detail__ttl {
    font-size: 16rem;
    font-weight: 500;
    line-height: 1.6;
    padding-bottom: 6px; }
  .company .training-detail__month {
    margin-right: 10px; }
    .company .training-detail__month.__it-basic {
      color: #27CFA7; }
    .company .training-detail__month.__it-application {
      color: #27CFA7; }
    .company .training-detail__month.__it-practice {
      color: #56D648; }
    .company .training-detail__month.__afterfollow {
      color: #7EE425; }
  .company .training-detail-items {
    padding-top: 12px; }
  .company .training-detail-item {
    padding: 12px 0 12px 20px;
    position: relative; }
    .company .training-detail-item::before {
      content: '';
      display: block;
      width: 1em;
      height: 1px;
      position: absolute;
      top: 22px;
      left: 0; }
    .company .training-detail-item__ttl {
      font-size: 14rem;
      font-weight: 500;
      padding-bottom: 8px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start; }
      .company .training-detail-item__ttl .label-step {
        padding: 0.2em 0.8em 0.3em;
        background: #000;
        color: #fff;
        font-family: "Barlow Condensed", sans-serif;
        letter-spacing: 0.08em;
        margin-right: 8px;
        line-height: 1.2; }
      .company .training-detail-item__ttl .course-name {
        line-height: 1.6; }
    .company .training-detail-item.__it-basic::before {
      background: #27CFA7; }
    .company .training-detail-item.__it-basic .label-step {
      background: #27CFA7; }
    .company .training-detail-item.__it-application::before {
      background: #33D06E; }
    .company .training-detail-item.__it-application .label-step {
      background: #33D06E; }

.company .profile_map {
  height: 0;
  position: relative;
  padding-top: 80%; }
  .company .profile_map iframe {
    position: absolute;
    top: 0;
    left: 0; }

.cases .c-pagettl_imgback {
  background: url(../images/cases/cases_pagettl_bg_sp.jpg) 0 0 no-repeat;
  background-size: cover; }

.cases .cases_search {
  border: 3px solid #D8D8D8;
  padding: 20px 25px 30px;
  width: 89.33%;
  margin: 0 auto; }
  .cases .cases_search.__btm {
    margin-top: 30px; }
  .cases .cases_search.__top {
    margin: 0 auto 30px; }

.cases .cases_search__ttl {
  font-size: 16rem;
  font-weight: 700;
  padding-bottom: 10px; }

.cases .cases_search-list {
  margin-bottom: 10px;
  width: 100%; }
  .cases .cases_search-list th, .cases .cases_search-list td {
    display: block; }
  .cases .cases_search-list th {
    padding-bottom: 5px; }
  .cases .cases_search-list td {
    padding-bottom: 15px; }

.cases .cases_search_cancel {
  text-align: right; }

.cases .cases_detail_ttl-sec {
  padding: 0 0 50px; }
  .cases .cases_detail_ttl-sec .breadcrumbs {
    padding-top: 15px; }

.cases .cases_detail_scale {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  padding-top: 15px; }
  .cases .cases_detail_scale .scale__ttl::after {
    content: '：'; }
  .cases .cases_detail_scale .scale__period::after {
    content: '/';
    margin: 0 8px; }

.cases .cases_detail_client {
  margin: 0 auto 25px;
  border-left: 3px solid #12200E;
  padding-left: 1.5em; }
  .cases .cases_detail_client dt {
    font-size: 14rem;
    font-weight: 700; }

.cases .cases_detail_summary {
  padding: 30px 0 20px;
  position: relative;
  border-top: 1px solid #12200E;
  border-bottom: 1px solid #12200E; }
  .cases .cases_detail_summary .summary__ttl {
    font-size: 14rem;
    font-weight: 700;
    padding-left: 2em;
    position: relative; }
    .cases .cases_detail_summary .summary__ttl::after {
      content: '';
      display: block;
      width: 1.4em;
      height: 1.4em;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 0; }
    .cases .cases_detail_summary .summary__ttl.__problem::after {
      background: url(../images/cases/icon_problem.svg) 0 0 no-repeat;
      background-size: contain; }
    .cases .cases_detail_summary .summary__ttl.__solution::after {
      background: url(../images/cases/icon_solution.svg) 0 0 no-repeat;
      background-size: contain; }
    .cases .cases_detail_summary .summary__ttl.__effect::after {
      background: url(../images/cases/icon_effect.svg) 0 0 no-repeat;
      background-size: contain; }
  .cases .cases_detail_summary .summary_detail {
    padding: 0 0 1em 2em;
    position: relative; }
    .cases .cases_detail_summary .summary_detail::after {
      content: '';
      display: block;
      width: 1px;
      height: 120%;
      border: 1px dashed #fff;
      position: absolute;
      top: -10%;
      left: 0.7em;
      z-index: -1; }
    .cases .cases_detail_summary .summary_detail::before {
      content: '';
      display: block;
      width: 1px;
      height: 120%;
      position: absolute;
      top: -10%;
      left: 0.7em;
      z-index: -1; }
    .cases .cases_detail_summary .summary_detail.__problem::before {
      background: linear-gradient(#F15454, #4FD980); }
    .cases .cases_detail_summary .summary_detail.__solution::before {
      background: linear-gradient(#4FD980, #48A9ED); }
    .cases .cases_detail_summary .summary_detail__list.__problem li::before {
      color: #F15454; }
    .cases .cases_detail_summary .summary_detail__list.__solution li::before {
      color: #4FD980; }
    .cases .cases_detail_summary .summary_detail__list.__effect li::before {
      color: #48A9ED; }

.cases .cases_detail_ex_wrapper {
  margin-top: 40px; }

.cases .cases_detail_ex {
  padding: 42.66% 0 30px; }
  .cases .cases_detail_ex.__phase-1 {
    background: url(../images/cases/cases_bg_ttl_phase_1_sp.jpg) 0 0 no-repeat;
    background-size: contain; }
  .cases .cases_detail_ex.__phase-2 {
    background: url(../images/cases/cases_bg_ttl_phase_2_sp.jpg) 0 0 no-repeat;
    background-size: contain; }
  .cases .cases_detail_ex .ex__txt-wrapper {
    padding: 30px;
    z-index: 5;
    background: #fff;
    width: 92%;
    margin: -30px auto 0; }
    .cases .cases_detail_ex .ex__txt-wrapper .ex__txt-unit {
      padding: 10px 0; }
      .cases .cases_detail_ex .ex__txt-wrapper .ex__txt-unit:last-of-type {
        padding-bottom: 0; }
    .cases .cases_detail_ex .ex__txt-wrapper .ex__ttl {
      font-size: 18rem;
      font-weight: 500;
      letter-spacing: 0.08em;
      text-align: center;
      padding-bottom: 10px;
      position: relative; }
      .cases .cases_detail_ex .ex__txt-wrapper .ex__ttl::before {
        content: '';
        display: block;
        width: 1px;
        height: 30px;
        background: linear-gradient(45deg, #4Bd985, #80D931);
        position: absolute;
        top: -45px;
        left: 50%; }
      .cases .cases_detail_ex .ex__txt-wrapper .ex__ttl--effect {
        position: relative;
        padding: 0 0 8px 1.5em;
        font-size: 15rem;
        font-weight: 500;
        line-height: 1.6; }
        .cases .cases_detail_ex .ex__txt-wrapper .ex__ttl--effect::before {
          content: '';
          display: block;
          width: 1.2em;
          height: 1em;
          background: url(../images/cases/icon_ttl_detail_effect.svg) 0 0 no-repeat;
          background-size: contain;
          position: absolute;
          top: 0.3em;
          left: 0; }

.cases .cases_detail_tech {
  background: #FAFAFA;
  padding: 30px; }
  .cases .cases_detail_tech .tech_items {
    line-height: 1.8; }
    .cases .cases_detail_tech .tech_items .tech_item {
      padding-bottom: 5px; }
      .cases .cases_detail_tech .tech_items .tech_item .tech_item__ttl::after {
        content: '：'; }

.cases.cases_tag .cases_choose {
  width: 84%;
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  .cases.cases_tag .cases_choose .choose_cat {
    padding-right: 20px;
    max-width: 65%; }
    .cases.cases_tag .cases_choose .choose_cat__ttl {
      padding-right: 0.5em; }
      .cases.cases_tag .cases_choose .choose_cat__ttl::before {
        content: '[ '; }
      .cases.cases_tag .cases_choose .choose_cat__ttl::after {
        content: ' ]'; }
    .cases.cases_tag .cases_choose .choose_cat__name::after {
      content: '：'; }

.flow .c-pagettl_imgback {
  background: url(../images/flow/flow_pagettl_bg_sp.jpg) 0 0 no-repeat;
  background-size: cover; }

.flow .flow_list {
  position: relative;
  counter-reset: number; }
  .flow .flow_list::before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #4FD981, #80D931);
    position: absolute;
    top: 0;
    left: 0; }
  .flow .flow_list dt {
    font-size: 16rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    position: relative;
    padding: 25px 0 5px;
    display: -ms-flexbox;
    display: flex; }
    .flow .flow_list dt::before {
      counter-increment: number;
      content: counter(number, decimal-leading-zero);
      display: block;
      color: #fff;
      font-family: "Barlow Condensed", sans-serif;
      font-size: 20rem;
      font-weight: 700;
      width: 1.5em;
      height: 1.5em;
      background: linear-gradient(45deg, #27d9c1, #80D931);
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      margin-right: 0.5em; }
  .flow .flow_list dd {
    padding: 0 0 30px 3.2em;
    position: relative;
    background: url(../images/flow/flow_arw.svg) 0.5em 0.5em no-repeat; }
    .flow .flow_list dd::before {
      content: '';
      display: block;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, #4FD981, #80D931);
      position: absolute;
      bottom: 0;
      left: 0; }

.flow .flow_sup-wrapper {
  margin-top: 30px; }

.flow .flow_sup {
  position: relative;
  padding-bottom: 2px; }
  .flow .flow_sup::before, .flow .flow_sup::after {
    content: '';
    width: 2px;
    height: 100%;
    position: absolute;
    background: linear-gradient(45deg, #4Bd985, #80D931);
    top: 0;
    left: 0; }
  .flow .flow_sup::after {
    left: auto;
    right: 0; }

.flow .flow_sup__txt {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  position: relative;
  padding: 15px 20px; }
  .flow .flow_sup__txt::before, .flow .flow_sup__txt::after {
    content: '';
    width: 1em;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-bottom: 2px solid #4Bd985;
    border-top: 2px solid #80D931; }
  .flow .flow_sup__txt::after {
    left: auto;
    right: 0; }

.news .news_date {
  padding-top: 20px; }

.news .news-single__content {
  padding-bottom: 25px; }

.faq .faq_list {
  border-bottom: 1px solid #ddd; }
  .faq .faq_list .faq__q {
    padding: 20px 2em 15px 2.7em;
    position: relative;
    font-weight: 500;
    cursor: pointer;
    border-top: 1px solid #ddd; }
    .faq .faq_list .faq__q::before {
      content: 'Q';
      position: absolute;
      top: 20px;
      left: 0;
      padding: 5px 8px;
      color: #fff;
      font-family: "Barlow Condensed", sans-serif;
      background: #131D10;
      font-size: 16rem;
      line-height: 1; }
    .faq .faq_list .faq__q::after {
      content: '';
      display: block;
      width: 10px;
      height: 10px;
      background: url(../images/common/icon_chevron_down.svg) 0 0 no-repeat;
      background-size: contain;
      position: absolute;
      top: 30px;
      right: 10px;
      transition: 0.3s ease-in-out; }
    .faq .faq_list .faq__q.is-active::after {
      transform: rotate(-180deg);
      transition: 0.3s ease-in-out; }
  .faq .faq_list .faq__a {
    display: none;
    padding: 0 2em 0 2.7em;
    position: relative; }
    .faq .faq_list .faq__a::before {
      content: 'A';
      position: absolute;
      top: 0;
      left: 0;
      padding: 3px 7px;
      font-family: "Barlow Condensed", sans-serif;
      border: 2px solid #131D10;
      font-size: 16rem;
      line-height: 1; }

.contact .contact_lead {
  border: 1px solid #12200E;
  padding: 30px;
  margin-bottom: 50px; }
  .contact .contact_lead__link-list li {
    padding: 15px 0;
    line-height: 1.4;
    border-bottom: 1px solid #12200E; }

.contact .contact_tel {
  text-align: center;
  line-height: 1.4;
  padding: 22px 20px 25px;
  border: 3px solid #D8D8D8;
  margin-bottom: 22px; }
  .contact .contact_tel__ttl {
    font-weight: 500; }
  .contact .contact_tel__num {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 26rem;
    letter-spacing: 0.08em; }

.privacy .privacymark {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
      align-items: flex-start;
  padding-top: 20px; }
  .privacy .privacymark img {
    width: 80px;
    height: auto;
    margin-right: 20px; }

.partner .partner_lead {
  padding-bottom: 40px; }

@media screen and (min-width: 480px) {
  .mv::before {
    height: 100vh;
    left: -35%;
    animation: mvMask 1.5s 0s ease-out; }
  @keyframes mvMask {
    0% {
      left: -70%; }
    50% {
      left: -70%; }
    100% {
      left: -35%; } }
  .mv .mv__inner::before {
    height: 50vh;
    left: -5%; }
  .mv .mv__inner::after {
    height: 50vh;
    left: -5%; }
  .mv__copy__main {
    font-size: 75rem; }
  .mv__copy__sub {
    font-size: 20rem; }
    .mv__copy__sub .bg-wh {
      padding: 0.8em; }
      .mv__copy__sub .bg-wh span {
        padding-left: 25px; }
  .top .top-imgblk__txt {
    padding-bottom: 60px; }
    .top .top-imgblk__txt .txt__desc {
      padding-bottom: 30px; }
  .top .top-about-flow {
    display: -ms-flexbox;
    display: flex; }
  .service.core-contents::before {
    top: 10vh;
    left: -52%; }
  .service.core-contents::after {
    right: -48%; }
  .service.core-contents .core-contents__ttl {
    padding: 11.07em 0 3.92em; }
    .service.core-contents .core-contents__ttl::before {
      height: 49vh;
      left: -20%; }
    .service.core-contents .core-contents__ttl::after {
      top: -20%;
      height: 36vh; }
    .service.core-contents .core-contents__ttl .core-ttl__main {
      font-size: 70rem; }
    .service.core-contents .core-contents__ttl .core-ttl__sub {
      font-size: 20rem; }
  .service.core-contents .service-intro-sec {
    padding-bottom: 6.85em; }
    .service.core-contents .service-intro-sec .intro__lead {
      font-size: 24rem;
      line-height: 1.8;
      padding-bottom: 1.15em; }
    .service.core-contents .service-intro-sec .intro__txt {
      text-align: center;
      line-height: 2.2; }
  .service .service_detail {
    position: relative;
    padding-bottom: 150px; }
    .service .service_detail .service_box__txt-wrapper {
      padding: 45px 50px 60px; }
    .service .service_detail::before {
      content: '';
      display: block;
      width: 100%;
      height: 34.85em;
      background: #F8F8F8;
      position: absolute;
      top: 5.71em;
      left: 0;
      z-index: -1; }
    .service .service_detail::after {
      content: '';
      display: block;
      width: 100%;
      height: 34.85em;
      background: #F8F8F8;
      position: absolute;
      bottom: 13em;
      left: 0;
      z-index: -1; }
    .service .service_detail .service_box--main {
      background: none;
      max-width: 1100px;
      margin: 0 auto; }
      .service .service_detail .service_box--main .service_box__txt-wrapper {
        margin: -70px auto 0; }
    .service .service_detail .service_box--sub-wrapper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      margin-top: 2em; }
    .service .service_detail .service_box--sub {
      width: 47%; }
      .service .service_detail .service_box--sub::before {
        display: none; }
      .service .service_detail .service_box--sub .service_box__img {
        width: 92.98%; }
      .service .service_detail .service_box--sub .service_box__txt-wrapper {
        width: 82.45%;
        padding: 35px 30px 40px; }
  .service .develop-items {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding-top: 3.57em; }
  .service .develop-item {
    padding: 12.85em 3.21em 2.5em;
    width: 49%; }
    .service .develop-item::after {
      width: 8.57em;
      height: 8.57em;
      top: 3.21em; }
    .service .develop-item::before {
      width: 5.71em;
      height: 5.71em;
      position: absolute;
      top: 4.64em;
      z-index: 5; }
    .service .develop-item__ttl {
      text-align: left;
      font-size: 16rem; }
    .service .develop-item__txt {
      padding-bottom: 1.42em; }
    .service .develop-item .develop-item__btn {
      text-align: right; }
    .service .develop-item.__gift-processing::before {
      background-size: 90%; }
  .company .c-pagettl_imgback {
    background: url(../images/company/company_pagettl_bg_pc.jpg) 0 0 no-repeat;
    background-size: cover; }
  .company .company_philosophy_img {
    width: 85.18%;
    margin: 0 auto;
    padding: 0.74em 0 5.71em; }
    .company .company_philosophy_img .philosophy_detail {
      display: -ms-flexbox;
      display: flex; }
      .company .company_philosophy_img .philosophy_detail li {
        font-size: 14rem;
        letter-spacing: 0.15em; }
  .company .company_philosophy_txt {
    text-align: center;
    padding-bottom: 4.28em; }
  .company .training-summary-items {
    padding-bottom: 30px; }
  .company .training-summary-item {
    padding: 2em;
    margin-bottom: 45px; }
    .company .training-summary-item::after {
      width: 16px;
      height: 20px;
      bottom: -34px; }
  .company .training-summary__month {
    font-size: 16rem;
    display: inline-block; }
  .company .training-summary__ttl {
    font-size: 18rem;
    display: inline-block;
    padding: 0 10px 8px; }
  .company .training-detail {
    padding: 60px 0; }
    .company .training-detail__ttl {
      font-size: 20rem;
      padding-bottom: 18px; }
    .company .training-detail__txt {
      font-weight: 500; }
    .company .training-detail__month {
      margin-right: 15px; }
    .company .training-detail-items {
      padding-top: 17px; }
    .company .training-detail-item {
      padding: 17px 0 17px 30px; }
      .company .training-detail-item::before {
        top: 30px; }
      .company .training-detail-item__ttl {
        font-size: 18rem; }
        .company .training-detail-item__ttl .label-step {
          font-size: 16rem;
          margin-right: 14px; }
  .company .profile_map {
    padding-top: 35%; }
  .cases .c-pagettl_imgback {
    background: url(../images/cases/cases_pagettl_bg_pc.jpg) 0 0 no-repeat;
    background-size: cover; }
  .cases .cases_search {
    max-width: 1400px;
    margin: 0 auto;
    padding: 3.57em 3.57em 5em;
    position: relative; }
    .cases .cases_search.__btm {
      margin-top: 90px; }
    .cases .cases_search.__top {
      margin: 10px auto 50px; }
  .cases .cases_search__ttl {
    padding-bottom: 1.87em; }
  .cases .cases_search-list th, .cases .cases_search-list td {
    display: table-cell; }
  .cases .cases_search-list th {
    width: 10%; }
  .cases .cases_search-list td {
    width: 90%; }
  .cases .cases_search_cancel {
    position: absolute;
    top: 3.21em;
    right: 3.57em; }
  .cases.cases_tag .cases_choose {
    width: 80.52%;
    max-width: 1400px;
    margin: 0 auto;
    -ms-flex-pack: end;
        justify-content: flex-end; }
  .cases .cases_detail_client {
    margin: 30px auto 40px; }
    .cases .cases_detail_client dt {
      font-size: 16rem; }
  .cases .cases_detail_summary .summary__ttl {
    font-size: 16rem; }
  .cases .cases_detail_summary .summary_detail {
    padding: 1em 0 2em 2em; }
  .cases .cases_detail_ex_wrapper {
    margin-top: 100px; }
  .cases .cases_detail_ex {
    padding: 19.76% 0 2.85em; }
    .cases .cases_detail_ex.__phase-1 {
      background: url(../images/cases/cases_bg_ttl_phase_1_pc.jpg) 0 0 no-repeat;
      background-size: contain; }
    .cases .cases_detail_ex.__phase-2 {
      background: url(../images/cases/cases_bg_ttl_phase_2_pc.jpg) 0 0 no-repeat;
      background-size: contain; }
    .cases .cases_detail_ex .ex__txt-wrapper {
      padding: 4.28em;
      z-index: 5;
      background: #fff;
      width: 92%;
      margin: -70px auto 0;
      max-width: 1200px; }
      .cases .cases_detail_ex .ex__txt-wrapper .ex__txt-unit {
        padding: 10px 0 30px; }
      .cases .cases_detail_ex .ex__txt-wrapper .ex__ttl {
        font-size: 24rem;
        padding-bottom: 2em; }
        .cases .cases_detail_ex .ex__txt-wrapper .ex__ttl::before {
          height: 40px;
          top: -80px; }
        .cases .cases_detail_ex .ex__txt-wrapper .ex__ttl--effect {
          padding: 0 0 10px 1.8em;
          font-size: 18rem; }
  .flow .c-pagettl_imgback {
    background: url(../images/flow/flow_pagettl_bg_pc.jpg) 0 0 no-repeat;
    background-size: cover; }
  .flow .flow_list dt {
    font-size: 20rem;
    padding-top: 40px; }
    .flow .flow_list dt::before {
      font-size: 24rem;
      font-weight: 500; }
  .flow .flow_list dd {
    padding: 0 0 50px 3.6em;
    background: url(../images/flow/flow_arw.svg) 0.7em 0.5em no-repeat; }
    .flow .flow_list dd::before {
      margin-right: 0.7em; }
  .flow .flow_sup-wrapper {
    margin-top: 60px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center; }
  .flow .flow_sup__txt {
    font-size: 16rem;
    letter-spacing: 0.08em;
    padding: 0 50px; }
  .news .news_date {
    padding-top: 40px; }
  .news .news-single__content {
    padding-bottom: 50px; }
  .faq .faq_list .faq__q {
    padding: 35px 5em 38px 3.5em; }
    .faq .faq_list .faq__q::before {
      padding: 5px 11px 8px;
      font-size: 24rem;
      top: 30px; }
    .faq .faq_list .faq__q::after {
      top: 45px;
      right: 30px; }
  .faq .faq_list .faq__a {
    padding: 0 2em 45px 3.5em; }
    .faq .faq_list .faq__a::before {
      padding: 3px 9px 6px;
      font-size: 24rem; }
  .contact .contact_lead {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding: 50px;
    margin-bottom: 100px; }
    .contact .contact_lead__link-list {
      padding-left: 25px; }
      .contact .contact_lead__link-list li {
        width: 22em; }
  .contact .contact_tel {
    padding: 35px 20px 40px;
    margin-bottom: 60px; }
    .contact .contact_tel__num {
      font-size: 32rem;
      margin: 0 8px; }
  .privacy .privacymark {
    -ms-flex-align: center;
        align-items: center;
    padding-top: 30px; }
    .privacy .privacymark img {
      width: 80px;
      height: auto;
      margin-right: 20px; }
  .partner .partner_lead {
    padding-bottom: 60px; } }

@media screen and (min-width: 480px) and (orientation: landscape) {
  .mv::before {
    height: 100vh;
    left: -35%;
    animation: mvMask 1.5s 0s ease-out; }
  @keyframes mvMask {
    0% {
      left: -70%; }
    50% {
      left: -70%; }
    100% {
      left: -35%; } }
  .mv .mv__inner {
    background: url(../images/top/mv_pc.jpg) center center no-repeat;
    background-size: cover; }
    .mv .mv__inner::before {
      height: 50vh;
      left: -5%; }
    .mv .mv__inner::after {
      height: 50vh;
      left: -5%; }
  .mv__copy__main {
    font-size: 65rem; }
  .mv__copy__sub {
    font-size: 18rem; } }

@media screen and (min-width: 960px) {
  .mv {
    height: calc(100vh - 113px); }
    .mv::before {
      width: 55vw;
      height: 100%;
      left: -20%;
      animation: mvMask 2s 0s cubic-bezier(0.9, 0, 0.1, 1); }
  @keyframes mvMask {
    0% {
      left: -30vw; }
    50% {
      left: -30vw; }
    100% {
      left: -20vw; } }
    .mv .mv__inner {
      background: url(../images/top/mv_pc.jpg) center center no-repeat;
      background-size: cover; }
      .mv .mv__inner::before {
        width: 20vw;
        height: 55.5vh;
        left: 30vw;
        animation: mvColorFrontPc 1.5s 1.5s cubic-bezier(0.9, 0, 0.1, 1) forwards; }
      .mv .mv__inner::after {
        width: 20vw;
        height: 55.5vh;
        left: 30vw;
        animation: mvColorBackPc 1.5s 1.5s cubic-bezier(0.9, 0, 0.1, 1) forwards; }
  _:-ms-lang(x)::-ms-backdrop, .mv .mv__inner::after {
    background: linear-gradient(to bottom left, rgba(14, 249, 244, 0.5), rgba(234, 255, 154, 0.5)); }
  @supports (-ms-ime-align: auto) {
    .mv .mv__inner::after {
      background: linear-gradient(to bottom left, rgba(14, 249, 244, 0.5), rgba(234, 255, 154, 0.5)); } }
  .opening .mv__copy {
    bottom: 6.51vh;
    margin-left: 60px; }
    .opening .mv__copy__main {
      font-size: 74rem;
      line-height: 1.32; }
      .opening .mv__copy__main .bg-wh {
        padding: 0em 0.3em 0.06em; }
        .opening .mv__copy__main .bg-wh:first-of-type {
          width: 0.1em;
          left: 0.2em; }
    .opening .mv__copy__sub {
      margin-top: 15px; }
      .opening .mv__copy__sub .bg-wh {
        padding: 0.6em 1.5em 0.8em; }
      .opening .mv__copy__sub::before {
        top: 1.35em;
        left: 1.2em; }
  .top .top-sec__ttl .ttl__main {
    font-size: 48rem; }
  .top .top-sec__ttl.__large-ttl .ttl__main {
    font-size: 56rem; }
  .top .top-sec__ttl.__large-ttl .ttl__sub {
    font-size: 16rem; }
  .top .top-bg-grd {
    position: relative; }
    .top .top-bg-grd::before {
      width: 8.78%;
      height: 220px;
      top: -120px; }
    .top .top-bg-grd::after {
      content: '';
      display: block;
      width: 42.02%;
      height: 95.05vh;
      background: url(../images/top/bg_grd_trape_pc.svg) right 0 bottom 0 no-repeat;
      background-size: contain;
      top: -120px;
      bottom: auto; }
  .top .top-bg-shadow::after {
    width: 67%;
    height: 800px; }
  .top .top-imgblk {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .top .top-imgblk__txt {
      width: 42.16%;
      padding: 0 60px 0 9.66%; }
      .top .top-imgblk__txt .txt__desc {
        line-height: 2.5;
        padding: 2.5em 0 3em;
        font-size: 16rem; }
    .top .top-imgblk__img {
      width: 57.83%; }
      .top .top-imgblk__img img {
        width: 100%; }
  .top .top-linkbox {
    width: 50%; }
    .top .top-linkbox__txt {
      width: 85.35%;
      padding-top: 2.5em;
      padding-bottom: 3.57em; }
      .top .top-linkbox__txt .linkbox__ttl {
        padding-bottom: 2.2em; }
        .top .top-linkbox__txt .linkbox__ttl .ttl__main {
          font-size: 48rem; }
  .top .top-service {
    padding: 120px 0 102px; }
  .top .top-cases {
    padding: 102px 0 75px; }
  .top .top-about-flow {
    padding: 75px 0 90px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .top .top-recruit {
    padding: 90px 0 85px; }
  .top .top-news {
    padding: 85px 0 75px; }
    .top .top-news .c-news-list {
      padding: 45px 0 50px; }
  .top .top-contact {
    padding: 75px 0 150px; }
  .service.core-contents .core-contents__ttl::after {
    top: 0; }
  .service .service-intro-sec .intro__lead {
    font-size: 26rem; }
  .service .service_detail .service_box--sub-wrapper {
    margin-top: 5.71em; }
  .service .service_detail .service_box--sub {
    width: 41.72%; }
    .service .service_detail .service_box--sub .service_box__txt-wrapper {
      padding: 45px 50px 60px; }
  .service .develop-item {
    padding: 3.21em 3.21em 2.5em 12.85em; }
    .service .develop-item::after {
      left: 2.5em;
      transform: none; }
    .service .develop-item::before {
      left: 3.92em;
      transform: none; }
  .company .company_philosophy_img {
    width: 62.18%; } }

@media screen and (min-width: 1920px) {
  .mv__copy__main {
    font-size: 90rem; }
  .opening .mv__copy__main {
    font-size: 90rem; }
  .top .top-sec__ttl .ttl__main {
    font-size: 60rem; }
  .top .top-sec__ttl.__large-ttl .ttl__main {
    font-size: 68rem; }
  .top .top-linkbox__txt {
    width: 75%;
    padding: 3em 3em 6em; }
    .top .top-linkbox__txt .linkbox__ttl .ttl__main {
      font-size: 56rem; }
  .top .top-case .top-case-card-wrapper {
    padding-top: 50px;
    max-width: 1600px; }
  .cases .cases_detail_ttl-sec {
    padding-bottom: 80px; }
  .cases .cases_detail_summary {
    padding: 50px 0 40px; }
  .cases.single .breadcrumbs {
    padding-bottom: 95px; } }

/* 2024/03/04 追加 START */
/* ■SDGsの取り組み■ */
/* sdgs宣言 */
.sdgs-declare {
  width: 1100px;
  text-align: center;
}
.sdgs-declare-text-head {
  font-size: 40px;
  font-family: "Yu Mincho", Georgia, Century, sans-serif;
}
.sdgs-declare-text {
  font-size: 16px;
}
.img-sdgs-declare {
  width: 50%;
  height: 50%;
  margin-top: 10px;
  transition: .3s;
}
/* マウスオーバー時、不透明度を50%にする */
.img-sdgs-declare:hover {
  opacity: 0.5;
}

/* -------------------- */
/* sdgsの背景画像1 */
.img-sdgs01-img-1 {
  position: relative;
  width: 1100px;
  height: 450px;
/*  background-image: url("../images/sdgs/sdgs01_img_1.jpg"); */ /* phpでpath指定が必要。html側で設定する */
  background-position: center;
  background-size: cover;
  object-fit: cover;           /* 縦横比を維持。収まらない場合は見切れます */
  background-position: 0% 0%;  /* 見切れた場合のトリミング位置 */
  overflow: hidden;            /* はみ出し禁止 */
  margin-top: 30px;
}
/* 白枠の透過背景1-01 */
.background-sdgs01-img-1-01 {
  width: 725px; /*  width: 860px; */
  height: 175px;
  margin-left: 50px;
  margin-top:  25px;
  background-color: rgba(255, 255, 255, 0.75);  /* 背景色の透過 */
  /* 角の丸み設定 START */
  border-top-left-radius:     20px;
  border-top-right-radius:    20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius:  20px;
  /* 角の丸み設定 END */
  overflow: hidden;  /* はみ出し禁止 */
}
/* 白枠の透過背景1-02 */
.background-sdgs01-img-1-02 {
  width: 725px; /*  width: 860px; */
  height: 200px;
  margin-left: 50px;
  margin-top:  25px;
  background-color: rgba(255, 255, 255, 0.75);  /* 背景色の透過 */
  /* 角の丸み設定 START */
  border-top-left-radius:     20px;
  border-top-right-radius:    20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius:  20px;
  /* 角の丸み設定 END */
  overflow: hidden;  /* はみ出し禁止 */
}
/* 画像右下の背景タイトル文字1 */
.backtitle-sdgs-1 {
  position: absolute;
  font-family: Georgia, Century, sans-serif;
  font-size: 60px;
  text-align: right;
  color: RGBa(255, 255, 255, 0.50);
  width:  325px;
  height: 120px;
  top:  330px;
  left: 775px;
  padding-top:  30px;
  padding-right: 25px;
}

/* -------------------- */
/* sdgsの背景画像2 */
.img-sdgs01-img-2 {
  position: relative;
  width: 1100px;
  height: 450px;
/*  background-image: url("../images/sdgs/sdgs01_img_2.jpg"); */ /* phpでpath指定が必要。html側で設定する */
  background-position: center;
  background-size: cover;
  object-fit: cover;           /* 縦横比を維持。収まらない場合は見切れます */
  background-position: 50% 50%;  /* 見切れた場合のトリミング位置 */
  overflow: hidden;            /* はみ出し禁止 */
  margin-top: 50px;
}
/* 白枠の透過背景2-01 */
.background-sdgs01-img-2-01 {
  width: 725px; /*  width: 860px; */
  height: 175px;
  margin-left: 50px;
  margin-top:  25px;
  background-color: rgba(255, 255, 255, 0.75);  /* 背景色の透過 */
  /* 角の丸み設定 START */
  border-top-left-radius:     20px;
  border-top-right-radius:    20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius:  20px;
  /* 角の丸み設定 END */
  overflow: hidden;  /* はみ出し禁止 */
}
/* 白枠の透過背景2-02 */
.background-sdgs01-img-2-02 {
  width: 725px; /*  width: 860px; */
  height: 200px;
  margin-left: 50px;
  margin-top:  25px;
  background-color: rgba(255, 255, 255, 0.75);  /* 背景色の透過 */
  /* 角の丸み設定 START */
  border-top-left-radius:     20px;
  border-top-right-radius:    20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius:  20px;
  /* 角の丸み設定 END */
  overflow: hidden;  /* はみ出し禁止 */
}
/* 画像右下の背景タイトル文字2 */
.backtitle-sdgs-2 {
  position: absolute;
  font-family: Georgia, Century, sans-serif;
  font-size: 60px;
  text-align: right;
  color: RGBa(255, 255, 255, 0.50);
  width:  325px;
  height: 120px;
  top:  330px;
  left: 775px;
  padding-top:  30px;
  padding-right: 25px;
}

/* -------------------- */
/* sdgsの背景画像3 */
.img-sdgs01-img-3 {
  position: relative;
  width: 1100px;
  height: 450px;
/*  background-image: url("../images/sdgs/sdgs01_img_3.jpg"); */ /* phpでpath指定が必要。html側で設定する */
  background-position: center;
  background-size: cover;
  object-fit: cover;           /* 縦横比を維持。収まらない場合は見切れます */
  background-position: 0% 50%; /* 見切れた場合のトリミング位置 */
  overflow: hidden;            /* はみ出し禁止 */
  margin-top: 50px;
}
/* 白枠の透過背景3-01 */
.background-sdgs01-img-3-01 {
  width: 725px; /*  width: 860px; */
  height: 175px;
  margin-left: 50px;
  margin-top:  25px;
  background-color: rgba(255, 255, 255, 0.80);  /* 背景色の透過 */
  /* 角の丸み設定 START */
  border-top-left-radius:     20px;
  border-top-right-radius:    20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius:  20px;
  /* 角の丸み設定 END */
  overflow: hidden;  /* はみ出し禁止 */
}
/* 白枠の透過背景3-02 */
.background-sdgs01-img-3-02 {
  width: 725px; /*  width: 860px; */
  height: 200px;
  margin-left: 50px;
  margin-top:  25px;
  background-color: rgba(255, 255, 255, 0.80);  /* 背景色の透過 */
  /* 角の丸み設定 START */
  border-top-left-radius:     20px;
  border-top-right-radius:    20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius:  20px;
  /* 角の丸み設定 END */
  overflow: hidden;  /* はみ出し禁止 */
}
/* 画像右下の背景タイトル文字3 */
.backtitle-sdgs-3 {
  position: absolute;
  font-family: Georgia, Century, sans-serif;
  font-size: 60px;
  text-align: right;
  color: RGBa(255, 255, 255, 0.60);
  width:  400px;
  height: 120px;
  top:  330px;
  left: 700px;
  padding-top:  30px;
  padding-right: 25px;
}

/* -------------------- */
/* sdgsの背景画像4 */
.img-sdgs01-img-4 {
  position: relative;
  width: 1100px;
  height: 450px;
/*  background-image: url("../images/sdgs/sdgs01_img_4.jpg"); */ /* phpでpath指定が必要。html側で設定する */
  background-position: center;
  background-size: cover;
  object-fit: cover;           /* 縦横比を維持。収まらない場合は見切れます */
  background-position: 0% 35%; /* 見切れた場合のトリミング位置 */
  overflow: hidden;            /* はみ出し禁止 */
  margin-top: 50px;
}
/* 白枠の透過背景4-01 */
.background-sdgs01-img-4-01 {
  width: 725px; /*  width: 860px; */
  height: 175px;
  margin-left: 50px;
  margin-top:  25px;
  background-color: rgba(255, 255, 255, 0.75);  /* 背景色の透過 */
  /* 角の丸み設定 START */
  border-top-left-radius:     20px;
  border-top-right-radius:    20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius:  20px;
  /* 角の丸み設定 END */
  overflow: hidden;  /* はみ出し禁止 */
}
/* 白枠の透過背景4-02 */
.background-sdgs01-img-4-02 {
  width: 725px; /*  width: 860px; */
  height: 200px;
  margin-left: 50px;
  margin-top:  25px;
  background-color: rgba(255, 255, 255, 0.75);  /* 背景色の透過 */
  /* 角の丸み設定 START */
  border-top-left-radius:     20px;
  border-top-right-radius:    20px;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius:  20px;
  /* 角の丸み設定 END */
  overflow: hidden;  /* はみ出し禁止 */
}
/* 画像右下の背景タイトル文字4 */
.backtitle-sdgs-4 {
  position: absolute;
  font-family: Georgia, Century, sans-serif;
  font-size: 60px;
  text-align: right;
  color: RGBa(150, 150, 150, 0.50);
  width:  325px;
  height: 120px;
  top:  330px;
  left: 775px;
  padding-top:  30px;
  padding-right: 25px;
}

/* 白枠内の文字の見出し */
.background-sdgs-text-head {
  font-size: 20px;
  text-shadow:
     1px  1px 15px #FFFFFF,
    -1px  1px 15px #FFFFFF,
    -1px -1px 15px #FFFFFF,
     1px -1px 15px #FFFFFF;
  margin-top:    20px;
  margin-left:   20px;
  margin-right:  20px;
  margin-bottom:  5px;
}
/* 白枠内の文字 */
.background-sdgs-text {
  font-size: 18px;
  width: 97%;     /* 白枠ぎりぎりまで改行しない */
  text-shadow:
     1px  1px 15px #FFFFFF,
    -1px  1px 15px #FFFFFF,
    -1px -1px 15px #FFFFFF,
     1px -1px 15px #FFFFFF;
  margin-top:     0px;
  margin-left:   40px;
  margin-right:   0px;
  margin-bottom:  0px;
}
/* SDGsのアイコン画像 */
.icon-img {
  object-fit: fill;  /* 指定サイズに合わせて画像を拡大縮小する */
  width:  100px;
  height: 100px;
}
.icon-sdgs-02 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:   40px;
  left: 825px;
}
.icon-sdgs-03 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:   40px;
  left: 950px;
}
.icon-sdgs-04 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:  165px;
  left: 825px;
}
.icon-sdgs-05 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:  165px;
  left: 950px;
}
.icon-sdgs-06 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:  290px;
  left: 825px;
}
.icon-sdgs-07 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:   40px;
  left: 825px;
}
.icon-sdgs-08 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:   40px;
  left: 950px;
}
.icon-sdgs-10 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:  165px;
  left: 825px;
}
.icon-sdgs-11 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:  165px;
  left: 950px;
}
.icon-sdgs-12 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:   40px;
  left: 950px;
}
.icon-sdgs-13 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:  165px;
  left: 825px;
}
.icon-sdgs-15 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:  165px;
  left: 950px;
}
.icon-sdgs-16 {
  position: absolute;
  width:  100px;
  height: 100px;
  top:   40px;
  left: 825px;
}

/* ■TOP  ※front-page■ */
/* sdgs宣言 */
.sdgs-declare-top {
  width: auto;
  text-align: center;
}
.img-sdgs-declare-top {
  width: 630px;
  height: 385px;
  margin-top: 10px;
  transition: .3s;
}
/* マウスオーバー時、不透明度を50%にする */
.img-sdgs-declare-top:hover {
  opacity: 0.5;
}
/* 2024/03/04 追加 END */
/* 2024/03/14 追加 START */
/* ■個人情報の取扱いに関する公表事項について■ */
.announce-p-contact {
  font-size: 16rem;
  padding-top: 20px;
  padding-bottom: 15px;
}

.announce-table-border-off-01 {
  width: 800px;
  text-indent: 1em;
  border-collapse: collapse;
  border: 0px solid;
/*  margin-left: 25px; */
}
.announce-table-border-off-01 td {
  border: 0px solid;
}
.announce-table-border-off-01 td:first-of-type {
  width: 300px;
}
.announce-table-border-on-01 {
  width: 1100px;
  text-indent: 1em;
  border-collapse: collapse;
  border: 2px solid;
  margin-left: 25px;
}
.announce-table-border-on-01 th {
  border: 1px solid;
  text-align: center;
  background-color: #FFFFCC; /* 薄黄色 */
}
.announce-table-border-on-01 td {
  border: 1px solid;
}
.announce-table-border-on-01 td:first-of-type {
  width: 320px;
}

.announce-table-border-off-02 {
  width: 800px;
  text-indent: 1em;
  border-collapse: collapse;
  border: 0px solid;
/*  margin-left: 25px; */
}
.announce-table-border-off-02 td {
  border: 0px solid;
}
.announce-table-border-off-02 td:first-of-type {
  width: 320px;
}
/* 2024/03/14 追加 END */
