@charset "UTF-8";
@keyframes main_catch_first {
  0% {
    transform: translateY(30px); }
  100% {
    transform: translateY(0);
    fill: #000; } }

@keyframes main_catch_second {
  0% {
    transform: translateY(30px); }
  100% {
    transform: translateY(0);
    fill: #d61619;
    opacity: 1; } }

@keyframes reveil_first {
  0% {
    transform: translateX(-100%);
    opacity: 0; }
  100% {
    transform: translateX(0);
    opacity: 1; } }

@keyframes reveil_second {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(101%); } }

@keyframes reveil_v_first {
  0% {
    transform: translateY(-100%);
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }

@keyframes reveil_v_second {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(101%); } }

@keyframes point {
  0% {
    transform: translate(10px, 10px); }
  100% {
    transform: translate(0, 0); } }

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    transform: scale(1); } }

@keyframes bounce {
  0%, 100%, 20%, 50%, 80% {
    transform: translateY(0px); }
  40% {
    transform: translateY(-30px); }
  60% {
    transform: translateY(-15px); } }

.nowrap {
  white-space: nowrap; }

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

.fwb {
  font-weight: bold; }

@media only screen and (min-width: 788px) {
  .mt1rem_pc {
    margin-top: 1rem !important; } }

.mb1rem_pc {
  margin-bottom: 1rem !important; }

@media only screen and (min-width: 788px) {
  .mt2rem_pc {
    margin-top: 2rem !important; } }

.mb2rem_pc {
  margin-bottom: 2rem !important; }

@media only screen and (min-width: 788px) {
  .mt3rem_pc {
    margin-top: 3rem !important; } }

.mb3rem_pc {
  margin-bottom: 3rem !important; }

@media only screen and (min-width: 788px) {
  .mt4rem_pc {
    margin-top: 4rem !important; } }

.mb4rem_pc {
  margin-bottom: 4rem !important; }

@media only screen and (min-width: 788px) {
  .mt5rem_pc {
    margin-top: 5rem !important; } }

.mb5rem_pc {
  margin-bottom: 5rem !important; }

@media only screen and (min-width: 788px) {
  .mt6rem_pc {
    margin-top: 6rem !important; } }

.mb6rem_pc {
  margin-bottom: 6rem !important; }

@media only screen and (min-width: 788px) {
  .mt7rem_pc {
    margin-top: 7rem !important; } }

.mb7rem_pc {
  margin-bottom: 7rem !important; }

@media only screen and (min-width: 788px) {
  .mt8rem_pc {
    margin-top: 8rem !important; } }

.mb8rem_pc {
  margin-bottom: 8rem !important; }

@media only screen and (min-width: 788px) {
  .mt9rem_pc {
    margin-top: 9rem !important; } }

.mb9rem_pc {
  margin-bottom: 9rem !important; }

@media only screen and (min-width: 788px) {
  .mt10rem_pc {
    margin-top: 10rem !important; } }

.mb10rem_pc {
  margin-bottom: 10rem !important; }

@media only screen and (min-width: 788px) {
  .w1p_pc {
    width: 1% !important; } }

@media only screen and (min-width: 788px) {
  .w2p_pc {
    width: 2% !important; } }

@media only screen and (min-width: 788px) {
  .w3p_pc {
    width: 3% !important; } }

@media only screen and (min-width: 788px) {
  .w4p_pc {
    width: 4% !important; } }

@media only screen and (min-width: 788px) {
  .w5p_pc {
    width: 5% !important; } }

@media only screen and (min-width: 788px) {
  .w6p_pc {
    width: 6% !important; } }

@media only screen and (min-width: 788px) {
  .w7p_pc {
    width: 7% !important; } }

@media only screen and (min-width: 788px) {
  .w8p_pc {
    width: 8% !important; } }

@media only screen and (min-width: 788px) {
  .w9p_pc {
    width: 9% !important; } }

@media only screen and (min-width: 788px) {
  .w10p_pc {
    width: 10% !important; } }

@media only screen and (min-width: 788px) {
  .w11p_pc {
    width: 11% !important; } }

@media only screen and (min-width: 788px) {
  .w12p_pc {
    width: 12% !important; } }

@media only screen and (min-width: 788px) {
  .w13p_pc {
    width: 13% !important; } }

@media only screen and (min-width: 788px) {
  .w14p_pc {
    width: 14% !important; } }

@media only screen and (min-width: 788px) {
  .w15p_pc {
    width: 15% !important; } }

@media only screen and (min-width: 788px) {
  .w16p_pc {
    width: 16% !important; } }

@media only screen and (min-width: 788px) {
  .w17p_pc {
    width: 17% !important; } }

@media only screen and (min-width: 788px) {
  .w18p_pc {
    width: 18% !important; } }

@media only screen and (min-width: 788px) {
  .w19p_pc {
    width: 19% !important; } }

@media only screen and (min-width: 788px) {
  .w20p_pc {
    width: 20% !important; } }

@media only screen and (min-width: 788px) {
  .w21p_pc {
    width: 21% !important; } }

@media only screen and (min-width: 788px) {
  .w22p_pc {
    width: 22% !important; } }

@media only screen and (min-width: 788px) {
  .w23p_pc {
    width: 23% !important; } }

@media only screen and (min-width: 788px) {
  .w24p_pc {
    width: 24% !important; } }

@media only screen and (min-width: 788px) {
  .w25p_pc {
    width: 25% !important; } }

@media only screen and (min-width: 788px) {
  .w26p_pc {
    width: 26% !important; } }

@media only screen and (min-width: 788px) {
  .w27p_pc {
    width: 27% !important; } }

@media only screen and (min-width: 788px) {
  .w28p_pc {
    width: 28% !important; } }

@media only screen and (min-width: 788px) {
  .w29p_pc {
    width: 29% !important; } }

@media only screen and (min-width: 788px) {
  .w30p_pc {
    width: 30% !important; } }

@media only screen and (min-width: 788px) {
  .w31p_pc {
    width: 31% !important; } }

@media only screen and (min-width: 788px) {
  .w32p_pc {
    width: 32% !important; } }

@media only screen and (min-width: 788px) {
  .w33p_pc {
    width: 33% !important; } }

@media only screen and (min-width: 788px) {
  .w34p_pc {
    width: 34% !important; } }

@media only screen and (min-width: 788px) {
  .w35p_pc {
    width: 35% !important; } }

@media only screen and (min-width: 788px) {
  .w36p_pc {
    width: 36% !important; } }

@media only screen and (min-width: 788px) {
  .w37p_pc {
    width: 37% !important; } }

@media only screen and (min-width: 788px) {
  .w38p_pc {
    width: 38% !important; } }

@media only screen and (min-width: 788px) {
  .w39p_pc {
    width: 39% !important; } }

@media only screen and (min-width: 788px) {
  .w40p_pc {
    width: 40% !important; } }

@media only screen and (min-width: 788px) {
  .w41p_pc {
    width: 41% !important; } }

@media only screen and (min-width: 788px) {
  .w42p_pc {
    width: 42% !important; } }

@media only screen and (min-width: 788px) {
  .w43p_pc {
    width: 43% !important; } }

@media only screen and (min-width: 788px) {
  .w44p_pc {
    width: 44% !important; } }

@media only screen and (min-width: 788px) {
  .w45p_pc {
    width: 45% !important; } }

@media only screen and (min-width: 788px) {
  .w46p_pc {
    width: 46% !important; } }

@media only screen and (min-width: 788px) {
  .w47p_pc {
    width: 47% !important; } }

@media only screen and (min-width: 788px) {
  .w48p_pc {
    width: 48% !important; } }

@media only screen and (min-width: 788px) {
  .w49p_pc {
    width: 49% !important; } }

@media only screen and (min-width: 788px) {
  .w50p_pc {
    width: 50% !important; } }

@media only screen and (min-width: 788px) {
  .w51p_pc {
    width: 51% !important; } }

@media only screen and (min-width: 788px) {
  .w52p_pc {
    width: 52% !important; } }

@media only screen and (min-width: 788px) {
  .w53p_pc {
    width: 53% !important; } }

@media only screen and (min-width: 788px) {
  .w54p_pc {
    width: 54% !important; } }

@media only screen and (min-width: 788px) {
  .w55p_pc {
    width: 55% !important; } }

@media only screen and (min-width: 788px) {
  .w56p_pc {
    width: 56% !important; } }

@media only screen and (min-width: 788px) {
  .w57p_pc {
    width: 57% !important; } }

@media only screen and (min-width: 788px) {
  .w58p_pc {
    width: 58% !important; } }

@media only screen and (min-width: 788px) {
  .w59p_pc {
    width: 59% !important; } }

@media only screen and (min-width: 788px) {
  .w60p_pc {
    width: 60% !important; } }

@media only screen and (min-width: 788px) {
  .w61p_pc {
    width: 61% !important; } }

@media only screen and (min-width: 788px) {
  .w62p_pc {
    width: 62% !important; } }

@media only screen and (min-width: 788px) {
  .w63p_pc {
    width: 63% !important; } }

@media only screen and (min-width: 788px) {
  .w64p_pc {
    width: 64% !important; } }

@media only screen and (min-width: 788px) {
  .w65p_pc {
    width: 65% !important; } }

@media only screen and (min-width: 788px) {
  .w66p_pc {
    width: 66% !important; } }

@media only screen and (min-width: 788px) {
  .w67p_pc {
    width: 67% !important; } }

@media only screen and (min-width: 788px) {
  .w68p_pc {
    width: 68% !important; } }

@media only screen and (min-width: 788px) {
  .w69p_pc {
    width: 69% !important; } }

@media only screen and (min-width: 788px) {
  .w70p_pc {
    width: 70% !important; } }

@media only screen and (min-width: 788px) {
  .w71p_pc {
    width: 71% !important; } }

@media only screen and (min-width: 788px) {
  .w72p_pc {
    width: 72% !important; } }

@media only screen and (min-width: 788px) {
  .w73p_pc {
    width: 73% !important; } }

@media only screen and (min-width: 788px) {
  .w74p_pc {
    width: 74% !important; } }

@media only screen and (min-width: 788px) {
  .w75p_pc {
    width: 75% !important; } }

@media only screen and (min-width: 788px) {
  .w76p_pc {
    width: 76% !important; } }

@media only screen and (min-width: 788px) {
  .w77p_pc {
    width: 77% !important; } }

@media only screen and (min-width: 788px) {
  .w78p_pc {
    width: 78% !important; } }

@media only screen and (min-width: 788px) {
  .w79p_pc {
    width: 79% !important; } }

@media only screen and (min-width: 788px) {
  .w80p_pc {
    width: 80% !important; } }

@media only screen and (min-width: 788px) {
  .w81p_pc {
    width: 81% !important; } }

@media only screen and (min-width: 788px) {
  .w82p_pc {
    width: 82% !important; } }

@media only screen and (min-width: 788px) {
  .w83p_pc {
    width: 83% !important; } }

@media only screen and (min-width: 788px) {
  .w84p_pc {
    width: 84% !important; } }

@media only screen and (min-width: 788px) {
  .w85p_pc {
    width: 85% !important; } }

@media only screen and (min-width: 788px) {
  .w86p_pc {
    width: 86% !important; } }

@media only screen and (min-width: 788px) {
  .w87p_pc {
    width: 87% !important; } }

@media only screen and (min-width: 788px) {
  .w88p_pc {
    width: 88% !important; } }

@media only screen and (min-width: 788px) {
  .w89p_pc {
    width: 89% !important; } }

@media only screen and (min-width: 788px) {
  .w90p_pc {
    width: 90% !important; } }

@media only screen and (min-width: 788px) {
  .w91p_pc {
    width: 91% !important; } }

@media only screen and (min-width: 788px) {
  .w92p_pc {
    width: 92% !important; } }

@media only screen and (min-width: 788px) {
  .w93p_pc {
    width: 93% !important; } }

@media only screen and (min-width: 788px) {
  .w94p_pc {
    width: 94% !important; } }

@media only screen and (min-width: 788px) {
  .w95p_pc {
    width: 95% !important; } }

@media only screen and (min-width: 788px) {
  .w96p_pc {
    width: 96% !important; } }

@media only screen and (min-width: 788px) {
  .w97p_pc {
    width: 97% !important; } }

@media only screen and (min-width: 788px) {
  .w98p_pc {
    width: 98% !important; } }

@media only screen and (min-width: 788px) {
  .w99p_pc {
    width: 99% !important; } }

@media only screen and (min-width: 788px) {
  .w100p_pc {
    width: 100% !important; } }

.not-support {
  position: fixed;
  z-index: 99999;
  width: 500px;
  height: 250px;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="text"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="text"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="text"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

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

@media only screen and (min-width: 788px) {
  .pc_inline {
    display: inline; } }

@media only screen and (max-width: 787px) {
  .pc_inline {
    display: none; } }

@media only screen and (min-width: 788px) {
  .sp_inline {
    display: none; } }

@media only screen and (max-width: 787px) {
  .sp_inline {
    display: inline; } }

@media only screen and (min-width: 788px) {
  .pc_block {
    display: block; } }

@media only screen and (max-width: 787px) {
  .pc_block {
    display: none; } }

@media only screen and (min-width: 788px) {
  .sp_block {
    display: none; } }

@media only screen and (max-width: 787px) {
  .sp_block {
    display: block; } }

.anchor {
  display: block; }
  @media only screen and (min-width: 788px) {
    .anchor {
      margin-top: -200px;
      padding-top: 200px; } }
  @media only screen and (max-width: 787px) {
    .anchor {
      margin-top: -80px;
      padding-top: 80px; } }
  @media only screen and (max-width: 787px) {
    .anchor#s01_anchor {
      margin-top: 0;
      padding-top: 0; } }

.fz_small {
  font-size: 15px; }

/*------------------------------------------------------------------------



------------------------------------------------------------------------*/
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-size: 100%;
  font: inherit;
  vertical-align: baseline;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-wrap: break-word; }

/*  HTML5 display-role reset for older browsers
*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

td, th {
  word-break: break-all; }

strong {
  font-weight: bold; }

a {
  color: #000;
  -webkit-tap-highlight-color: transparent; }

@media only screen and (min-width: 788px) {
  .header_fixed #global_header_wrapper_pc #global_header {
    position: fixed;
    top: -150px;
    transform: translateY(150px); } }

@media only screen and (max-width: 787px) {
  .header_fixed #global_header_wrapper_sp #global_header_sp {
    position: fixed;
    top: -80px;
    transform: translateY(80px); } }

/**------------------------------------------------------------------------



------------------------------------------------------------------------*/
html {
  background-color: transparent;
  overflow-x: hidden; }

@media only screen and (min-width: 788px) {
  .ex_in, #top #s01 .bottom_cta .bottom_cta_inner, #top #s02 > .inner, #top #s02 .gray_bg .imglink_list, #top #s_blog .inner, #single .section .upper, #single .section .inner, #single .pagenav {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  .ex_in, #top #s01 .bottom_cta .bottom_cta_inner, #top #s02 > .inner, #top #s02 .gray_bg .imglink_list, #top #s_blog .inner, #single .section .upper, #single .section .inner, #single .pagenav {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

body {
  font-family: "Noto Sans JP", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 17px;
  line-height: 1.5;
  display: block;
  font-feature-settings: "palt";
  background-color: transparent;
  overflow-x: hidden;
  -webkit-text-size-adjust: none; }
  @media only screen and (max-width: 787px) {
    body {
      padding-bottom: 80px; } }

img {
  vertical-align: bottom;
  max-width: 100%;
  width: 100%; }

@media only screen and (min-width: 788px) {
  #container {
    margin-top: 170px; } }

#loading {
  background-color: #fff;
  height: 100vh;
  display: none; }

#gnav_overlay {
  background-color: #fff;
  height: 100vh;
  display: none; }

@media only screen and (min-width: 788px) {
  #fixed_footer {
    display: none; } }

@media only screen and (max-width: 787px) {
  #fixed_footer {
    position: fixed;
    width: 100%;
    height: 80px;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.9); } }

#fixed_footer ul {
  display: flex;
  justify-content: center;
  align-items: center; }
  #fixed_footer ul li {
    flex-basis: 160px;
    padding-top: 20px;
    margin-right: 10px; }
    #fixed_footer ul li:last-child {
      margin-right: 0; }

#global_header_wrapper_pc {
  position: relative; }
  @media only screen and (min-width: 788px) {
    #global_header_wrapper_pc {
      display: block;
      height: 150px; } }
  @media only screen and (max-width: 787px) {
    #global_header_wrapper_pc {
      display: none; } }
  #global_header_wrapper_pc #global_header {
    width: 100%;
    z-index: 3;
    background-color: #fff;
    transition: all 0.4s ease; }
    #global_header_wrapper_pc #global_header:after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      height: 2px;
      width: 100%;
      background-color: #000; }
    @media only screen and (min-width: 788px) {
      #global_header_wrapper_pc #global_header {
        height: 150px; } }
    @media only screen and (min-width: 788px) {
      #global_header_wrapper_pc #global_header .inner {
        display: flex;
        justify-content: space-between;
        box-sizing: border-box;
        max-width: 1200px;
        min-width: 900px;
        margin: 0 auto;
        padding: 32px 30px 0; } }
    #global_header_wrapper_pc #global_header .inner #siteid {
      line-height: 1;
      font-size: 0; }
      @media only screen and (min-width: 788px) {
        #global_header_wrapper_pc #global_header .inner #siteid {
          flex-basis: 128px; } }
    #global_header_wrapper_pc #global_header .inner #header_beta {
      flex-basis: 816px; }
      #global_header_wrapper_pc #global_header .inner #header_beta .upper {
        display: flex;
        width: 660px;
        margin-left: auto;
        justify-content: space-between; }
        #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_tel {
          flex-basis: 300px;
          line-height: 1; }
        #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns {
          flex-basis: 340px; }
          #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul {
            display: flex;
            justify-content: space-between; }
            #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul li {
              flex-basis: 160px; }
              #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul li a {
                display: block;
                height: 40px;
                text-indent: -9999px;
                text-decoration: none;
                line-height: 1;
                transition: all 0.2s ease; }
                #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul li a:hover {
                  opacity: 0.5; }
              #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul li#header_btn_donation a {
                background-image: url(../img/sprite.png);
                background-position: 0px 0px;
                width: 160px;
                height: 40px;
                background-size: cover; }
                @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
                  #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul li#header_btn_donation a {
                    background-image: url(../img/sprite@2x.png);
                    background-size: 160px 105px; } }
              #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul li#header_btn_inquiry a {
                background-image: url(../img/sprite.png);
                background-position: 0px -40px;
                width: 160px;
                height: 40px;
                background-size: cover; }
                @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
                  #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul li#header_btn_inquiry a {
                    background-image: url(../img/sprite@2x.png);
                    background-size: 160px 105px; } }
              #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul li#header_btn_insta a {
                background-image: url(../img/sprite.png);
                background-position: 0px -40px;
                width: 160px;
                height: 40px;
                background-size: cover; }
                @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
                  #global_header_wrapper_pc #global_header .inner #header_beta .upper #header_btns ul li#header_btn_insta a {
                    background-image: url(../img/sprite@2x.png);
                    background-size: 160px 105px; } }

#gnav {
  margin-top: 30px;
  display: flex;
  justify-content: space-between; }
  #gnav #gnav_menu {
    flex-basis: 530px;
    margin-right: 10px; }
    #gnav #gnav_menu > ul {
      display: flex;
      line-height: 1;
      align-items: center; }
      #gnav #gnav_menu > ul > li {
        line-height: 1;
        font-size: 0;
        display: flex;
        flex: none;
        align-items: flex-start;
        margin-right: 7px;
        position: relative;
        color: #bbb; }
        #gnav #gnav_menu > ul > li > .sub {
          display: none;
          position: absolute;
          z-index: 2;
          top: 35px;
          background: url("../img/common/sub_head.jpg") 0 0 no-repeat;
          padding-top: 13px;
          width: 201px;
          box-shadow: 10px 14px 0px -2px #000; }
          #gnav #gnav_menu > ul > li > .sub:after {
            display: block;
            content: "";
            height: 2px;
            background: url("../img/common/sub_bottom.png") 0 0 no-repeat;
            position: relative;
            z-index: 3;
            width: 100%; }
          #gnav #gnav_menu > ul > li > .sub > .sub_inner {
            background: #fff url("../img/common/sub_body.jpg") left top repeat-y;
            padding: 25px 10px 25px 24px; }
            #gnav #gnav_menu > ul > li > .sub > .sub_inner li + li {
              margin-top: 17px; }
            #gnav #gnav_menu > ul > li > .sub > .sub_inner a {
              font-size: 14px;
              text-decoration: none; }
        #gnav #gnav_menu > ul > li:after {
          display: inline-block;
          content: "";
          margin-left: 7px;
          background-image: url(../img/sprite.png);
          background-position: -116px -80px;
          width: 16px;
          height: 16px;
          width: 13px;
          height: 16px;
          background-repeat: no-repeat; }
          @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
            #gnav #gnav_menu > ul > li:after {
              background-image: url(../img/sprite@2x.png);
              background-size: 160px 105px; } }
          @supports (-ms-ime-align: auto) {
            #gnav #gnav_menu > ul > li:after {
              background-size: 160px 104px; } }
        #gnav #gnav_menu > ul > li:last-child {
          margin: 0; }
          #gnav #gnav_menu > ul > li:last-child:after {
            display: none; }
        #gnav #gnav_menu > ul > li > a,
        #gnav #gnav_menu > ul > li span {
          box-sizing: border-box;
          line-height: 1;
          display: block;
          text-decoration: none;
          font-size: 18px;
          height: 48px;
          font-weight: bold;
          position: relative; }
          #gnav #gnav_menu > ul > li > a:after,
          #gnav #gnav_menu > ul > li span:after {
            display: block;
            width: 0;
            bottom: 0;
            content: "";
            left: 0;
            height: 2px;
            position: absolute;
            transition: all 0.4s ease; }
          #gnav #gnav_menu > ul > li > a:hover:after,
          #gnav #gnav_menu > ul > li span:hover:after {
            transform: scaleX(1);
            width: 100%;
            background-color: #D61619;
            z-index: 2; }
  #gnav #header_sns_btns {
    margin-top: -5px;
    flex-basis: 197px;
    margin-right: 10px; }
    #gnav #header_sns_btns ul {
      display: flex;
      align-items: center; }
      #gnav #header_sns_btns ul li {
        line-height: 1;
        width: 75px; }
        #gnav #header_sns_btns ul li#linebtn {
          margin-right: 5px; }
          #gnav #header_sns_btns ul li#linebtn iframe {
            width: 100% !important; }
  #gnav #header_sns_mail {
    flex-basis: 55px;
    margin-top: -5px; }
    #gnav #header_sns_mail ul {
      display: flex;
      justify-content: space-between; }
      #gnav #header_sns_mail ul li {
        flex-basis: 25px;
        width: 25px;
        margin-right: 5px;
        flex: none; }
        #gnav #header_sns_mail ul li a {
          display: block;
          height: 25px;
          text-indent: -9999px;
          line-height: 1; }
        #gnav #header_sns_mail ul li#header_facebook a {
          background-image: url(../img/sprite.png);
          background-position: 0px -80px;
          width: 25px;
          height: 25px; }
          @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
            #gnav #header_sns_mail ul li#header_facebook a {
              background-image: url(../img/sprite@2x.png);
              background-size: 160px 105px; } }
          #gnav #header_sns_mail ul li#header_facebook a:hover {
            background-image: url(../img/sprite.png);
            background-position: -25px -80px;
            width: 25px;
            height: 25px; }
            @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
              #gnav #header_sns_mail ul li#header_facebook a:hover {
                background-image: url(../img/sprite@2x.png);
                background-size: 160px 105px; } }
        #gnav #header_sns_mail ul li#header_mail a {
          background-image: url(../img/sprite.png);
          background-position: -50px -80px;
          width: 25px;
          height: 25px; }
          @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
            #gnav #header_sns_mail ul li#header_mail a {
              background-image: url(../img/sprite@2x.png);
              background-size: 160px 105px; } }
          #gnav #header_sns_mail ul li#header_mail a:hover {
            background-image: url(../img/sprite.png);
            background-position: -75px -80px;
            width: 25px;
            height: 25px; }
            @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
              #gnav #header_sns_mail ul li#header_mail a:hover {
                background-image: url(../img/sprite@2x.png);
                background-size: 160px 105px; } }
        #gnav #header_sns_mail ul li#header_insta a {
          background: url(../img/sprite_insta.png) 0 0 no-repeat;
          background-position: 0px -25px;
          width: 26px;
          height: 26px; }
          #gnav #header_sns_mail ul li#header_insta a:hover {
            background-position: -27px -25px; }

_::-webkit-full-page-media,
_:future,
:root #gnav #gnav_menu {
  flex-basis: 540px;
  margin-right: 10px; }

_::-webkit-full-page-media,
_:future,
:root #gnav #gnav_menu ul li a {
  font-size: 17px; }

_::-webkit-full-page-media,
_:future,
:root #header_sns_btns {
  margin-right: 10px; }

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-color-index: 0) {
  #gnav #gnav_menu {
    (; flex-basis: 530px ;); } }

@media only screen and (max-width: 787px) {
  #global_header_wrapper_sp {
    display: block;
    height: 80px; } }

@media only screen and (min-width: 788px) {
  #global_header_wrapper_sp {
    display: none; } }

#global_header_wrapper_sp #global_header_sp {
  z-index: 3;
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #000;
  transition: all 0.4s ease;
  box-sizing: border-box;
  height: 80px; }
  #global_header_wrapper_sp #global_header_sp .inner {
    display: flex;
    justify-content: space-between;
    height: 80px;
    align-items: center; }
    @media only screen and (min-width: 788px) {
      #global_header_wrapper_sp #global_header_sp .inner {
        width: 900px;
        margin: 0 auto; } }
    @media only screen and (max-width: 787px) {
      #global_header_wrapper_sp #global_header_sp .inner {
        width: 87.5%;
        margin: 0 auto;
        max-width: 640px; } }
    #global_header_wrapper_sp #global_header_sp .inner #sp_left {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-basis: 260px; }
      #global_header_wrapper_sp #global_header_sp .inner #sp_left #siteid {
        line-height: 1;
        width: 60px; }
      #global_header_wrapper_sp #global_header_sp .inner #sp_left #header_sns_btns_sp {
        width: 190px;
        flex-basis: 190px; }
        #global_header_wrapper_sp #global_header_sp .inner #sp_left #header_sns_btns_sp ul {
          display: flex;
          align-items: center;
          justify-content: space-between; }
          #global_header_wrapper_sp #global_header_sp .inner #sp_left #header_sns_btns_sp ul li {
            line-height: 1; }
            #global_header_wrapper_sp #global_header_sp .inner #sp_left #header_sns_btns_sp ul li img {
              vertical-align: bottom; }

.btn_menu {
  width: 35px; }
  .btn_menu .bar {
    height: 3px;
    background-color: #000;
    display: block;
    line-height: 1;
    transition: all 0.4s ease; }
  .btn_menu .bar + .bar {
    margin-top: 6px; }

.menu_open .btn_menu .bar_top {
  transform: translateY(3px) rotateZ(45deg); }

.menu_open .btn_menu .bar_middle {
  margin-top: 0;
  opacity: 0; }

.menu_open .btn_menu .bar_bottom {
  margin-top: 0;
  transform: translateY(-3px) rotateZ(-45deg); }

@media only screen and (min-width: 788px) {
  #gnav_sp_wrapper {
    display: none; } }

@media only screen and (max-width: 787px) {
  #gnav_sp_wrapper {
    display: none;
    position: absolute;
    background-color: #000;
    width: 100%;
    box-sizing: border-box;
    z-index: 2;
    padding: 50px 0; }
    #gnav_sp_wrapper a {
      text-decoration: none;
      color: #fff; } }

#gnav_sp_wrapper #gnav_sp > ul {
  border-top: 1px solid #787878;
  border-bottom: 1px solid #787878; }
  @media only screen and (min-width: 788px) {
    #gnav_sp_wrapper #gnav_sp > ul {
      width: 900px;
      margin: 0 auto; } }
  @media only screen and (max-width: 787px) {
    #gnav_sp_wrapper #gnav_sp > ul {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  #gnav_sp_wrapper #gnav_sp > ul > li {
    position: relative; }
    #gnav_sp_wrapper #gnav_sp > ul > li.nolink {
      color: #666; }
      #gnav_sp_wrapper #gnav_sp > ul > li.nolink > .nolink_title {
        text-decoration: none;
        display: block;
        line-height: 1;
        padding: 1rem 1rem;
        color: #fff; }
      #gnav_sp_wrapper #gnav_sp > ul > li.nolink > .nolink_title {
        color: #666; }
      #gnav_sp_wrapper #gnav_sp > ul > li.nolink .icn {
        color: #666; }
    #gnav_sp_wrapper #gnav_sp > ul > li .icn {
      content: "";
      display: block;
      position: absolute;
      right: 1rem;
      top: 1rem;
      line-height: 1;
      font-size: 20px;
      font-family: "FontAwesome";
      color: #fff; }
    #gnav_sp_wrapper #gnav_sp > ul > li a {
      text-decoration: none; }
    #gnav_sp_wrapper #gnav_sp > ul > li > a,
    #gnav_sp_wrapper #gnav_sp > ul > li .sub_title {
      text-decoration: none;
      display: block;
      line-height: 1;
      padding: 1rem 1rem;
      color: #fff; }
    #gnav_sp_wrapper #gnav_sp > ul > li .sub {
      position: relative;
      display: none;
      border: 1px solid #b4b4b4;
      border-bottom: none;
      box-sizing: border-box;
      padding: 20px 28px;
      background-color: #fff; }
      #gnav_sp_wrapper #gnav_sp > ul > li .sub:before {
        transform: translatez(0);
        position: absolute;
        content: "";
        top: -12.5px;
        z-index: 2;
        right: 0;
        left: 0;
        margin: auto;
        display: block;
        width: 24.5px;
        height: 12.5px;
        background: transparent url("../img/common/footer_sub_arrow_top.png") left top/contain no-repeat; }
      #gnav_sp_wrapper #gnav_sp > ul > li .sub li a {
        text-decoration: none;
        color: #000; }
      #gnav_sp_wrapper #gnav_sp > ul > li .sub li + li {
        margin-top: 0.8rem; }
  #gnav_sp_wrapper #gnav_sp > ul > li + li {
    border-top: 1px solid #787878; }

#gnav_sp_wrapper #gnav_sp_btns {
  display: flex;
  margin-top: 40px;
  justify-content: space-between;
  padding: 0 17.14286%; }
  #gnav_sp_wrapper #gnav_sp_btns li {
    line-height: 1;
    flex-basis: 48.48485%; }

#gnav_sp_wrapper #gnav_sp_tel_sns {
  display: flex;
  margin-top: 23px;
  justify-content: space-between;
  padding: 0 17.14286%; }
  #gnav_sp_wrapper #gnav_sp_tel_sns #gnav_sp_tel {
    flex-basis: 70.90909%;
    line-height: 1; }
  #gnav_sp_wrapper #gnav_sp_tel_sns #sns_list {
    flex-basis: 25.75758%; }
    #gnav_sp_wrapper #gnav_sp_tel_sns #sns_list ul {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0 5px; }
      #gnav_sp_wrapper #gnav_sp_tel_sns #sns_list ul li {
        line-height: 1;
        flex-basis: 45.45455%; }

#gnav_sp_wrapper #gnav_btn_close {
  margin-top: 23px !important;
  line-height: 1; }
  @media only screen and (min-width: 788px) {
    #gnav_sp_wrapper #gnav_btn_close {
      width: 900px;
      margin: 0 auto; } }
  @media only screen and (max-width: 787px) {
    #gnav_sp_wrapper #gnav_btn_close {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }

#global_footer {
  background-color: #EDEFF1; }
  @media only screen and (min-width: 788px) {
    #global_footer {
      margin-top: 200px; } }
  @media only screen and (max-width: 787px) {
    #global_footer {
      margin-top: 100px;
      padding: 50px 0; } }
  @media only screen and (min-width: 788px) {
    #global_footer #footer_pagetop {
      display: none; } }
  @media only screen and (max-width: 787px) {
    #global_footer #footer_pagetop {
      width: 88px;
      margin: 0 auto;
      transform: translateY(calc(-50% - 56px)); } }
  #global_footer .upper {
    margin-bottom: 80px; }
  @media only screen and (min-width: 788px) {
    #global_footer #footer_menu_sp {
      display: none; } }
  @media only screen and (max-width: 787px) {
    #global_footer #footer_menu_sp {
      display: block; } }
  @media only screen and (max-width: 787px) and (min-width: 788px) {
    #global_footer #footer_menu_sp {
      width: 900px;
      margin: 0 auto; } }
  @media only screen and (max-width: 787px) and (max-width: 787px) {
    #global_footer #footer_menu_sp {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  #global_footer #footer_menu_sp > ul {
    border-top: 1px solid #B4B4B4;
    border-bottom: 1px solid #B4B4B4; }
    #global_footer #footer_menu_sp > ul > li {
      position: relative; }
      #global_footer #footer_menu_sp > ul > li .icn {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: 1rem;
        line-height: 1;
        font-size: 20px;
        font-family: 'FontAwesome'; }
      #global_footer #footer_menu_sp > ul > li a {
        text-decoration: none; }
      #global_footer #footer_menu_sp > ul > li > a, #global_footer #footer_menu_sp > ul > li .sub_title {
        text-decoration: none;
        display: block;
        line-height: 1;
        padding: 1rem 1rem; }
      #global_footer #footer_menu_sp > ul > li .sub {
        position: relative;
        display: none;
        border: 1px solid  #B4B4B4;
        border-bottom: none;
        box-sizing: border-box;
        padding: 20px 28px;
        background-color: #fff; }
        #global_footer #footer_menu_sp > ul > li .sub:before {
          transform: translatez(0);
          position: absolute;
          content: "";
          top: -12.5px;
          z-index: 2;
          right: 0;
          left: 0;
          margin: auto;
          display: block;
          width: 24.5px;
          height: 12.5px;
          background: transparent url("../img/common/footer_sub_arrow_top.png") left top/contain no-repeat; }
        #global_footer #footer_menu_sp > ul > li .sub li + li {
          margin-top: .8rem; }
    #global_footer #footer_menu_sp > ul > li + li {
      border-top: 1px solid #ccc; }
  @media only screen and (min-width: 788px) {
    #global_footer .inner {
      display: flex;
      justify-content: space-between;
      box-sizing: border-box;
      max-width: 1200px;
      min-width: 900px;
      margin: 0 auto;
      padding: 66px 30px; } }
  @media only screen and (max-width: 787px) {
    #global_footer .inner {
      width: 87.5%;
      margin: 0 auto;
      flex-direction: column;
      display: flex; } }
  @media only screen and (min-width: 788px) {
    #global_footer .inner #footer_alpha {
      flex-basis: calc(100% - 105px); } }
  @media only screen and (max-width: 787px) {
    #global_footer .inner #footer_alpha {
      order: 2;
      margin-top: 25px; } }
  #global_footer .inner #footer_alpha #footer_catch {
    line-height: 1; }
    @media only screen and (min-width: 788px) {
      #global_footer .inner #footer_alpha #footer_catch {
        width: 418px; } }
    @media only screen and (max-width: 787px) {
      #global_footer .inner #footer_alpha #footer_catch {
        width: 71.42857%;
        margin: 0 auto; } }
  @media only screen and (min-width: 788px) {
    #global_footer .inner #footer_beta {
      flex-basis: 105px; } }
  @media only screen and (max-width: 787px) {
    #global_footer .inner #footer_beta {
      order: 1; } }
  @media only screen and (max-width: 787px) {
    #global_footer .inner #footer_beta #footer_logo {
      width: 28.57143%;
      margin: 0 auto; } }
  #global_footer .inner #copyright {
    margin-top: 32px;
    display: flex;
    align-items: center; }
    @media only screen and (max-width: 787px) {
      #global_footer .inner #copyright {
        flex-wrap: wrap;
        justify-content: center; } }
    #global_footer .inner #copyright #footer_linebtn {
      line-height: 1; }
      @media only screen and (min-width: 788px) {
        #global_footer .inner #copyright #footer_linebtn {
          margin-right: 10px; } }
      @media only screen and (max-width: 787px) {
        #global_footer .inner #copyright #footer_linebtn {
          padding-top: 8px;
          margin-right: 5px; } }
    #global_footer .inner #copyright #footer_fbbtn {
      line-height: 1; }
      @media only screen and (min-width: 788px) {
        #global_footer .inner #copyright #footer_fbbtn {
          margin-right: 10px; } }
      @media only screen and (max-width: 787px) {
        #global_footer .inner #copyright #footer_fbbtn {
          margin-top: .5rem; } }
    #global_footer .inner #copyright #copyright_small {
      font-size: 12px; }
      @media only screen and (max-width: 787px) {
        #global_footer .inner #copyright #copyright_small {
          margin-top: .5rem; } }
    @media only screen and (max-width: 787px) {
      #global_footer .inner #copyright {
        text-align: center; } }

.nodeclink {
  text-decoration: none; }

.coming_soon {
  text-align: center;
  font-size: 64px;
  padding: 100px 0;
  color: #ccc; }

#basic_pagetitle {
  padding-top: 145px; }
  #basic_pagetitle .inner {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    line-height: 1; }

#main_catch .path {
  fill: transparent;
  transform: translateY(30px);
  display: block; }

#main_catch.animated .path:nth-child(1) {
  animation: main_catch_first 0.2s ease 0.1s 1 forwards; }

#main_catch.animated .path:nth-child(2) {
  animation: main_catch_first 0.2s ease 0.2s 1 forwards; }

#main_catch.animated .path:nth-child(3) {
  animation: main_catch_first 0.2s ease 0.3s 1 forwards; }

#main_catch.animated .path:nth-child(4) {
  animation: main_catch_first 0.2s ease 0.4s 1 forwards; }

#main_catch.animated .path:nth-child(5) {
  animation: main_catch_first 0.2s ease 0.5s 1 forwards; }

#main_catch.animated .path:nth-child(6) {
  animation: main_catch_first 0.2s ease 0.6s 1 forwards; }

#main_catch.animated .path:nth-child(7) {
  animation: main_catch_first 0.2s ease 0.7s 1 forwards; }

#main_catch.animated .path:nth-child(8) {
  animation: main_catch_first 0.2s ease 0.8s 1 forwards; }

#main_catch.animated .path:nth-child(9) {
  animation: main_catch_first 0.2s ease 0.9s 1 forwards; }

#main_catch.animated .path:nth-child(10) {
  animation: main_catch_first 0.2s ease 1s 1 forwards; }

#main_catch.animated .path:nth-child(11) {
  animation: main_catch_first 0.2s ease 1.1s 1 forwards; }

#main_catch.animated .path:nth-child(12) {
  animation: main_catch_first 0.2s ease 1.2s 1 forwards; }

#main_catch.animated .path:nth-child(13) {
  animation: main_catch_first 0.2s ease 1.3s 1 forwards; }

#main_catch.animated .path:nth-child(14) {
  animation: main_catch_first 0.2s ease 1.4s 1 forwards; }

#main_catch.animated .path:nth-child(15) {
  animation: main_catch_first 0.2s ease 1.5s 1 forwards; }

#main_catch.animated .path:nth-child(16) {
  animation: main_catch_first 0.2s ease 1.6s 1 forwards; }

#main_catch.animated .path:nth-child(17) {
  animation: main_catch_first 0.2s ease 1.7s 1 forwards; }

#main_catch.animated .path:nth-child(18) {
  animation: main_catch_first 0.2s ease 1.8s 1 forwards; }

#main_catch.animated .path:nth-child(19) {
  animation: main_catch_first 0.2s ease 1.9s 1 forwards; }

#main_catch.animated .path:nth-child(20) {
  animation: main_catch_first 0.2s ease 2s 1 forwards; }

#main_catch.animated .path.cls-1 {
  animation: main_catch_second 0.2s ease 1.5s 1 forwards; }

.kv {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover; }
  @media only screen and (min-width: 788px) {
    .kv {
      height: 780px; } }
  @media only screen and (max-width: 787px) {
    .kv {
      position: relative;
      width: 100%;
      height: 100%;
      padding-top: 135.41667%; } }
  .kv .kv_inner {
    width: 100%;
    height: 100%; }
    @media only screen and (min-width: 788px) {
      .kv .kv_inner {
        width: 900px;
        margin: 0 auto;
        position: relative; } }
    @media only screen and (max-width: 787px) {
      .kv .kv_inner {
        position: absolute;
        top: 0;
        left: 0; } }
    .kv .kv_inner .kv_title {
      line-height: 1;
      opacity: 0;
      transition: all 0.4s ease-in;
      transform: translateY(30px); }
      @media only screen and (min-width: 788px) {
        .kv .kv_inner .kv_title {
          padding-top: 85px; } }
      @media only screen and (max-width: 787px) {
        .kv .kv_inner .kv_title {
          padding: 56.15385% 0 0 6.25%; } }
      .kv .kv_inner .kv_title.animated {
        opacity: 1;
        transform: translateY(0); }
    .kv .kv_inner .kv_text {
      line-height: 1;
      opacity: 0;
      transition: all 0.4s ease 0.8s;
      transform: translateY(30px); }
      @media only screen and (min-width: 788px) {
        .kv .kv_inner .kv_text {
          padding-top: 42px; } }
      @media only screen and (max-width: 787px) {
        .kv .kv_inner .kv_text {
          padding: 30px 0 0 6.25%; } }
      .kv .kv_inner .kv_text.animated {
        opacity: 1;
        transform: translateY(0); }
    .kv .kv_inner .kv_catch {
      line-height: 1;
      position: absolute; }
      @media only screen and (min-width: 788px) {
        .kv .kv_inner .kv_catch {
          width: 900px;
          bottom: -169px; } }
      @media only screen and (max-width: 787px) {
        .kv .kv_inner .kv_catch {
          width: 87.5%;
          margin: auto;
          left: 0;
          right: 0;
          bottom: -12.30769%; } }

hr {
  margin: 0;
  padding: 0; }
  hr.gray {
    background-color: #666; }
  hr.dotted {
    border: none; }
    @media only screen and (min-width: 788px) {
      hr.dotted {
        margin: 80px 0;
        height: 3px;
        background: transparent url("../img/common/dotted.png") left top repeat-x; } }
    @media only screen and (max-width: 787px) {
      hr.dotted {
        margin: 50px 0;
        height: 1px;
        background: transparent url("../img/common/dotted.png") left top/contain repeat-x; } }

.title_unit {
  line-height: 1;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #666;
  transition: all 0.4s ease;
  opacity: 0;
  transform: translateY(30px); }
  @media only screen and (min-width: 788px) {
    .title_unit {
      padding-bottom: 20px; } }
  @media only screen and (max-width: 787px) {
    .title_unit {
      padding-bottom: 20px; } }
  .title_unit .ttl {
    line-height: 1; }
  .title_unit .text {
    line-height: 1; }
  .title_unit.animated {
    opacity: 1;
    transform: translateY(0); }
  .title_unit.none_anim {
    opacity: 1;
    transition: none;
    transform: translateY(0); }

.fade_in_up {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.4s ease; }
  .fade_in_up.animated {
    opacity: 1;
    transform: translateY(0); }

.fade_in_left {
  opacity: 0;
  transform: translateX(30px);
  transition: all 0.4s ease; }
  .fade_in_left.animated {
    opacity: 1;
    transform: translateX(0); }

.reveal {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transition: all 0.2s ease 0.2s; }
  .reveal:before {
    content: "";
    display: block;
    background-color: #000;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    z-index: 2; }
  .reveal img {
    transition: opacity 0.1s ease 0.4s;
    opacity: 0; }
  .reveal.animated {
    opacity: 1; }
    .reveal.animated:before {
      animation: reveil_first 0.2s ease 0.2s 1 forwards, reveil_second 0.2s ease 0.4s 1 forwards; }
    .reveal.animated img {
      opacity: 1; }

.reveal_v {
  position: relative;
  overflow: hidden;
  opacity: 0;
  transition: all 0.2s ease 0.2s; }
  .reveal_v:before {
    content: "";
    display: block;
    background-color: #000;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    z-index: 2; }
  .reveal_v img {
    transition: opacity 0.1s ease 0.4s;
    opacity: 0; }
  .reveal_v.animated {
    opacity: 1; }
    @media only screen and (min-width: 788px) {
      .reveal_v.animated:before {
        animation: reveil_v_first 0.2s ease 0.2s 1 forwards, reveil_v_second 0.2s ease 0.4s 1 forwards; } }
    @media only screen and (max-width: 787px) {
      .reveal_v.animated:before {
        animation: reveil_first 0.2s ease 0.2s 1 forwards, reveil_second 0.2s ease 0.4s 1 forwards; } }
    .reveal_v.animated img {
      opacity: 1; }

@media only screen and (min-width: 788px) {
  .title_unit + .newslist {
    margin-top: 80px;
    padding: 0 30px; } }

@media only screen and (max-width: 787px) {
  .title_unit + .newslist {
    margin-top: 50px; } }

@media only screen and (min-width: 788px) {
  .newslist ul li {
    display: flex;
    flex-wrap: wrap;
    align-items: center; } }

@media only screen and (max-width: 787px) {
  .newslist ul li {
    margin-bottom: 30px;
    padding-bottom: 30px;
    background: transparent url("../img/common/dotted.png") left bottom/contain repeat-x; } }

.newslist ul li .upper {
  display: flex;
  justify-content: space-between; }
  @media only screen and (min-width: 788px) {
    .newslist ul li .upper {
      flex-basis: 280px; } }
  .newslist ul li .upper .date {
    flex-basis: 117px;
    margin-right: 12px;
    font-weight: bold; }
    .newslist ul li .upper .date a {
      text-decoration: none; }
  .newslist ul li .upper .icn {
    flex-basis: 170px;
    font-size: 14px;
    text-align: center;
    color: #fff; }
    .newslist ul li .upper .icn a {
      text-decoration: none;
      color: #fff; }
    .newslist ul li .upper .icn.red {
      background-color: #D61619;
      border-radius: 30px; }
    @media only screen and (min-width: 788px) {
      .newslist ul li .upper .icn {
        margin-right: 30px; } }
    @media only screen and (max-width: 787px) {
      .newslist ul li .upper .icn {
        font-size: 15px; } }

@media only screen and (min-width: 788px) {
  .newslist ul li .bottom {
    display: flex;
    flex-basis: calc(100% - 280px);
    justify-content: space-between; } }

@media only screen and (max-width: 787px) {
  .newslist ul li .bottom {
    margin-top: 20px; } }

.newslist ul li .bottom .title {
  flex-basis: calc(100% - 100px); }
  .newslist ul li .bottom .title a {
    text-decoration: none; }

.newslist ul li .bottom .newmark {
  white-space: nowrap;
  color: #D61619; }
  .newslist ul li .bottom .newmark:before {
    display: inline-block;
    content: "";
    margin: 0 12px;
    background-image: url(../img/sprite.png);
    background-position: -116px -80px;
    width: 16px;
    height: 16px; }
    @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
      .newslist ul li .bottom .newmark:before {
        background-image: url(../img/sprite@2x.png);
        background-size: 160px 105px; } }

@media only screen and (min-width: 788px) {
  .newslist ul li + li {
    margin-top: 24px; } }

@media only screen and (min-width: 788px) {
  .newslist + .btn_lists {
    width: 175px;
    margin: 80px auto 0; } }

@media only screen and (max-width: 787px) {
  .newslist + .btn_lists {
    width: 41.66667%;
    margin: 0 auto; } }

@media only screen and (min-width: 788px) {
  .form_wrapper {
    margin-top: 80px; } }

@media only screen and (max-width: 787px) {
  .form_wrapper {
    margin-top: 50px; } }

.form_wrapper .form_catch {
  font-weight: bold; }
  @media only screen and (min-width: 788px) {
    .form_wrapper .form_catch {
      font-size: 25px; } }
  @media only screen and (max-width: 787px) {
    .form_wrapper .form_catch {
      font-size: 20px; } }

@media only screen and (min-width: 788px) {
  .form_wrapper .form_upper {
    margin-top: 86px; } }

@media only screen and (max-width: 787px) {
  .form_wrapper .form_upper {
    margin-top: 40px; } }

@media only screen and (min-width: 788px) {
  .form_wrapper .form_upper .form_upper_row {
    display: flex;
    font-size: 16px; } }

.form_wrapper .form_upper .form_upper_row .title {
  font-weight: bold; }
  @media only screen and (min-width: 788px) {
    .form_wrapper .form_upper .form_upper_row .title {
      flex-basis: 366px;
      margin-right: 10px;
      letter-spacing: -0.02rem; } }

@media only screen and (min-width: 788px) {
  .form_wrapper .form_upper .form_upper_row .content {
    flex-basis: calc(100% - 366px -10px); } }

@media only screen and (max-width: 787px) {
  .form_wrapper .form_upper .form_upper_row .content {
    margin-top: 1rem;
    font-size: 15px; } }

.form_wrapper .form_upper .form_upper_row .content .tel {
  font-weight: bold; }
  @media only screen and (min-width: 788px) {
    .form_wrapper .form_upper .form_upper_row .content .tel {
      font-size: 25px; } }
  @media only screen and (max-width: 787px) {
    .form_wrapper .form_upper .form_upper_row .content .tel {
      font-size: 20px; } }

@media only screen and (min-width: 788px) {
  .form_wrapper .form_bottom {
    margin-top: 80px; } }

@media only screen and (max-width: 787px) {
  .form_wrapper .form_bottom {
    margin-top: 50px; } }

@media only screen and (min-width: 788px) {
  .form_wrapper .form_bottom_row .input_half {
    flex-basis: 49%; } }

.form_wrapper .form_bottom_row .input_full {
  flex-basis: 100%; }

.form_wrapper .form_bottom_row .content {
  margin-top: 16px;
  position: relative; }
  @media only screen and (min-width: 788px) {
    .form_wrapper .form_bottom_row .content {
      display: flex;
      justify-content: space-between; } }
  @media only screen and (min-width: 788px) {
    .form_wrapper .form_bottom_row .content .radio {
      white-space: nowrap;
      position: absolute;
      bottom: 0;
      right: 0; } }
  @media only screen and (max-width: 787px) {
    .form_wrapper .form_bottom_row .content .radio {
      margin-top: 1rem;
      text-align: center; } }

@media only screen and (max-width: 787px) {
  .form_wrapper .form_bottom_row.border_sp {
    border: 1px solid #000;
    border-radius: 3px;
    padding: 40px 28px; } }

@media only screen and (max-width: 787px) {
  .form_wrapper .form_bottom_row.border_sp .title {
    text-align: center;
    line-height: 1; } }

@media only screen and (min-width: 788px) {
  .form_wrapper .form_bottom_row + .form_bottom_row {
    margin-top: 40px; } }

@media only screen and (max-width: 787px) {
  .form_wrapper .form_bottom_row + .form_bottom_row {
    margin-top: 30px; } }

.form_wrapper input[type="text"],
.form_wrapper textarea {
  border-radius: 6px;
  background: none;
  font-size: 17px;
  border: 1px solid #505050;
  padding: 0.8rem 1rem;
  width: 100%;
  box-sizing: border-box; }

.form_wrapper .dotted {
  margin: 50px 0; }

.form_wrapper .contact_submit {
  background-color: #D61619;
  width: 175px;
  height: 50px;
  color: #fff;
  text-align: center;
  font-size: 17px;
  border-radius: 25px;
  margin: 0 auto;
  display: block;
  margin-top: 100px;
  cursor: pointer; }

.btn {
  transition: all 0.4s ease;
  position: relative; }
  @media only screen and (min-width: 788px) {
    .btn:hover {
      opacity: 0.5; } }
  @media only screen and (max-width: 787px) {
    .btn:active {
      opacity: 0.5; } }
  .btn.pointer_red:after {
    width: 60px;
    height: 47px;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -23px;
    background: url("../img/common/pointer_red.png") 0 0/contain no-repeat;
    animation: point 0.6s ease 0s infinite alternate; }
  .btn.pointer_black:after {
    width: 60px;
    height: 47px;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -23px;
    background: url("../img/common/pointer_black.png") 0 0/contain no-repeat;
    animation: point 0.6s ease 0s infinite alternate; }

.filelist {
  margin: 0 auto;
  border: 1px solid #000;
  background-color: #fff;
  box-sizing: border-box; }
  @media only screen and (min-width: 788px) {
    .filelist {
      width: 740px;
      border-radius: 30px;
      height: 60px;
      display: flex; } }
  @media only screen and (max-width: 787px) {
    .filelist {
      border-radius: 20px; } }
  .filelist .title {
    background-color: #000;
    text-align: center;
    color: #fff; }
    @media only screen and (min-width: 788px) {
      .filelist .title {
        border-radius: 28px 0 0 28px;
        flex-basis: 170px;
        line-height: 60px; } }
    @media only screen and (max-width: 787px) {
      .filelist .title {
        border-radius: 20px 20px 0 0;
        line-height: 50px; } }
  @media only screen and (min-width: 788px) {
    .filelist.finance-list .list ul li:after {
      display: inline-block;
      content: "";
      margin-left: 5px;
      background-image: url(../img/sprite.png);
      background-position: -100px -80px;
      width: 16px;
      height: 16px; } }
  @media only screen and (min-width: 788px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-width: 788px) and (min-resolution: 192dpi) {
    .filelist.finance-list .list ul li:after {
      background-image: url(../img/sprite@2x.png);
      background-size: 160px 105px; } }
  @media only screen and (min-width: 788px) {
    .filelist.investigation-list .list ul li:after {
      display: inline-block;
      content: "";
      margin-left: 24px;
      background-image: url(../img/sprite.png);
      background-position: -100px -80px;
      width: 16px;
      height: 16px; } }
  @media only screen and (min-width: 788px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-width: 788px) and (min-resolution: 192dpi) {
    .filelist.investigation-list .list ul li:after {
      background-image: url(../img/sprite@2x.png);
      background-size: 160px 105px; } }
  @media only screen and (min-width: 788px) {
    .filelist .list {
      padding: 22px 35px 22px 35px;
      width: 100%;
      box-sizing: border-box; } }
  @media only screen and (min-width: 788px) {
    .filelist .list ul {
      width: 100%;
      display: flex;
      justify-content: space-between; } }
  .filelist .list ul li {
    color: #b4b4b4;
    line-height: 1; }
    @media only screen and (max-width: 787px) {
      .filelist .list ul li {
        text-align: center;
        padding: 0.5rem 0; } }
    @media only screen and (min-width: 788px) {
      .filelist .list ul li:after {
        display: inline-block;
        content: "";
        margin-left: 12px;
        background-image: url(../img/sprite.png);
        background-position: -100px -80px;
        width: 16px;
        height: 16px; } }
  @media only screen and (min-width: 788px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-width: 788px) and (min-resolution: 192dpi) {
    .filelist .list ul li:after {
      background-image: url(../img/sprite@2x.png);
      background-size: 160px 105px; } }
    .filelist .list ul li a {
      text-decoration: none;
      font-weight: bold;
      color: #000;
      font-size: 17px; }
      @media only screen and (max-width: 787px) {
        .filelist .list ul li a {
          display: block; } }
    .filelist .list ul li:last-child:after {
      display: none; }
  @media only screen and (max-width: 787px) {
    .filelist .list ul li + li {
      border-top: 1px solid #000; } }

.filelist + .filelist {
  margin-top: 20px; }

#bottom_common_catch {
  line-height: 1;
  margin: 0 auto; }
  @media only screen and (min-width: 788px) {
    #bottom_common_catch {
      width: 720px;
      margin-top: 165px; } }
  @media only screen and (max-width: 787px) {
    #bottom_common_catch {
      width: 80.2381%;
      margin-top: 100px; } }

#wrapper.confirm .form_wrapper .form_bottom .form_bottom_row .title {
  font-weight: bold !important; }

#wrapper.confirm .form_wrapper .form_bottom .form_bottom_row .content {
  display: flex; }
  #wrapper.confirm .form_wrapper .form_bottom .form_bottom_row .content .input_half {
    margin-right: 1rem; }

#wrapper.confirm .form_wrapper .form_bottom .form_bottom_row.border_sp .content {
  display: block; }

.kome:before {
  content: "※";
  display: inline-block;
  vertical-align: top;
  width: 1rem; }

.kome span {
  width: calc(100% - 1.5rem);
  display: inline-block; }

.wp-pagenavi {
  margin-top: 150px;
  padding-top: 50px;
  line-height: 1;
  border-top: 1px dotted #000;
  font-family: Arial;
  display: flex;
  font-weight: bold;
  font-size: 25px;
  justify-content: center; }
  @media only screen and (max-width: 787px) {
    .wp-pagenavi {
      color: #b4b4b4; } }
  @media only screen and (min-width: 788px) {
    .wp-pagenavi .previouspostslink {
      margin-right: 50px; } }
  @media only screen and (max-width: 787px) {
    .wp-pagenavi .previouspostslink {
      margin-right: 24px; } }
  @media only screen and (min-width: 788px) {
    .wp-pagenavi .nextpostslink {
      margin-left: 50px; } }
  @media only screen and (max-width: 787px) {
    .wp-pagenavi .nextpostslink {
      margin-left: 24px; } }
  @media only screen and (min-width: 788px) {
    .wp-pagenavi .page,
    .wp-pagenavi .current {
      margin: 0 36px; } }
  @media only screen and (max-width: 787px) {
    .wp-pagenavi .page,
    .wp-pagenavi .current {
      margin: 0 10px; } }
  .wp-pagenavi a {
    display: block;
    text-decoration: none; }
    @media only screen and (max-width: 787px) {
      .wp-pagenavi a {
        color: #b4b4b4; } }

#article_body {
  /**
	 * 3.0 - Elements
	 */
  /**
	 * 4.0 - Alignment
	 */
  /**
	 * 5.0 - Caption
	 */
  /**
	 * 6.0 - Galleries
	 */
  /**
	 * 7.0 - Audio / Video
	 */
  /**
	 * 8.0 - RTL
	 */ }
  @media only screen and (min-width: 788px) {
    #article_body p:not(.imgWrap), #article_body h1, #article_body h2, #article_body h3, #article_body h4, #article_body h5, #article_body h6, #article_body div, #article_body table {
      margin: 0 50px; } }
  #article_body p + p {
    margin-top: 2rem !important; }
  #article_body h1 {
    font-size: 24px; }
  #article_body h2 {
    font-size: 20px;
    font-weight: bold;
    margin: 1rem 0 1.5rem;
    padding-bottom: .5rem; }
  #article_body h3 {
    font-weight: bold;
    font-size: 18px;
    margin: 1rem 0 1.5rem; }
  #article_body a {
    color: #FF9800;
    text-decoration: none; }
  #article_body dfn,
  #article_body cite,
  #article_body em,
  #article_body i {
    font-style: italic; }
  #article_body b,
  #article_body strong {
    font-weight: bold; }
  #article_body blockquote {
    border-left: 4px solid #1a1a1a;
    color: #686868;
    font-size: 19px;
    font-style: italic;
    line-height: 1.4736842105;
    margin-bottom: 28px;
    padding: 0 0 0 24px; }
  #article_body blockquote:not(.alignleft):not(.alignright) {
    margin-left: -28px; }
  #article_body blockquote blockquote:not(.alignleft):not(.alignright) {
    margin-left: 0; }
  #article_body blockquote:before,
  #article_body blockquote:after {
    content: "";
    display: table; }
  #article_body blockquote:after {
    clear: both; }
  #article_body blockquote > :last-child {
    margin-bottom: 0; }
  #article_body blockquote cite,
  #article_body blockquote small {
    color: #1a1a1a;
    font-size: 16px;
    line-height: 1.75; }
  #article_body blockquote em,
  #article_body blockquote i,
  #article_body blockquote cite {
    font-style: normal; }
  #article_body blockquote strong,
  #article_body blockquote b {
    font-weight: bold; }
  #article_body blockquote.alignleft,
  #article_body blockquote.alignright {
    border: 0 solid #1a1a1a;
    border-top-width: 4px;
    padding: 18px 0 0;
    width: -webkit-calc(50% - 14px);
    width: calc(50% - 14px); }
  #article_body address {
    font-style: italic;
    margin-bottom: 28px; }
  #article_body code,
  #article_body kbd,
  #article_body tt,
  #article_body var,
  #article_body samp,
  #article_body pre {
    font-family: Inconsolata, monospace; }
  #article_body pre {
    border: 1px solid #d1d1d1;
    font-size: 16px;
    line-height: 1.3125;
    margin-bottom: 28px;
    max-width: 100%;
    overflow: auto;
    padding: 14px;
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word; }
  #article_body code {
    background-color: #d1d1d1;
    padding: 2px 4px; }
  #article_body abbr[title] {
    border-bottom: 1px dotted #d1d1d1;
    cursor: help; }
  #article_body mark,
  #article_body ins {
    background: #007acc;
    color: #fff;
    padding: 2px 4px;
    text-decoration: none; }
  #article_body sup,
  #article_body sub {
    font-size: 75%;
    height: 0;
    line-height: 0;
    position: relative; }
  #article_body sub {
    top: -6px; }
  #article_body sup {
    bottom: -3px; }
  #article_body small {
    font-size: 80%; }
  #article_body big {
    font-size: 125%; }
  #article_body hr {
    background-color: #d1d1d1;
    border: 0;
    height: 1px;
    margin-bottom: 28px; }
  #article_body ul,
  #article_body ol {
    margin: 0 0 28px 0;
    padding: 0; }
  #article_body ul {
    list-style: disc; }
  #article_body ol {
    list-style: decimal; }
  #article_body li > ul,
  #article_body li > ol {
    margin-bottom: 0; }
  #article_body li > ul,
  #article_body blockquote > ul {
    margin-left: 20px; }
  #article_body li > ol,
  #article_body blockquote > ol {
    margin-left: 24px; }
  #article_body dl {
    margin-bottom: 28px; }
  #article_body dt {
    font-weight: bold; }
  #article_body dd {
    margin-bottom: 28px; }
  #article_body table,
  #article_body th,
  #article_body td,
  #article_body .mce-item-table,
  #article_body .mce-item-table th,
  #article_body .mce-item-table td {
    border: 1px solid #d1d1d1; }
  #article_body table a {
    color: #007acc; }
  #article_body table,
  #article_body .mce-item-table {
    border-collapse: separate;
    border-spacing: 0;
    border-width: 1px 0 0 1px;
    margin-bottom: 28px;
    width: 100%; }
  #article_body table th,
  #article_body .mce-item-table th,
  #article_body table caption {
    border-width: 0 1px 1px 0;
    font-size: 16px;
    font-weight: 700;
    padding: 7px;
    text-align: left; }
  #article_body table td,
  #article_body .mce-item-table td {
    border-width: 0 1px 1px 0;
    font-size: 16px;
    padding: 7px; }
  #article_body img {
    border: 0;
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    margin-bottom: 1rem; }
  #article_body a img {
    display: block; }
  #article_body figure {
    margin: 0; }
  #article_body del {
    opacity: 0.8; }
  #article_body fieldset {
    border: 1px solid #d1d1d1;
    margin-bottom: 28px;
    padding: 14px; }
  #article_body .alignleft {
    float: left;
    margin: 6px 28px 28px 0; }
  #article_body .alignright {
    float: right;
    margin: 6px 0 28px 28px; }
  #article_body .aligncenter {
    clear: both;
    display: block;
    margin: 0 auto 28px; }
  #article_body .wp-caption {
    background: transparent;
    border: none;
    margin-bottom: 28px;
    max-width: 100%;
    padding: 0;
    text-align: inherit; }
  #article_body .wp-caption-text,
  #article_body .wp-caption-dd {
    color: #686868;
    font-size: 13px;
    font-style: italic;
    line-height: 1.6153846154;
    padding-top: 7px; }
  #article_body .mce-content-body .wpview-wrap {
    margin-bottom: 28px; }
  #article_body .gallery {
    margin: 0 -1.1666667%;
    padding: 0; }
  #article_body .gallery .gallery-item {
    display: inline-block;
    max-width: 33.33%;
    padding: 0 1.1400652% 2.2801304%;
    text-align: center;
    vertical-align: top;
    width: 100%; }
  #article_body .gallery-columns-1 .gallery-item {
    max-width: 100%; }
  #article_body .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  #article_body .gallery-columns-4 .gallery-item {
    max-width: 25%; }
  #article_body .gallery-columns-5 .gallery-item {
    max-width: 20%; }
  #article_body .gallery-columns-6 .gallery-item {
    max-width: 16.66%; }
  #article_body .gallery-columns-7 .gallery-item {
    max-width: 14.28%; }
  #article_body .gallery-columns-8 .gallery-item {
    max-width: 12.5%; }
  #article_body .gallery-columns-9 .gallery-item {
    max-width: 11.11%; }
  #article_body .gallery .gallery-caption {
    font-size: 13px;
    margin: 0; }
  #article_body .gallery-columns-6 .gallery-caption,
  #article_body .gallery-columns-7 .gallery-caption,
  #article_body .gallery-columns-8 .gallery-caption,
  #article_body .gallery-columns-9 .gallery-caption {
    display: none; }
  #article_body .wp-audio-shortcode a,
  #article_body .wp-playlist a {
    box-shadow: none; }
  #article_body .mce-content-body .wp-audio-playlist {
    margin: 0;
    padding-bottom: 0; }
  #article_body .mce-content-body .wp-playlist-tracks {
    margin-top: 0; }
  #article_body .mce-content-body .wp-playlist-item {
    padding: 10px 0; }
  #article_body .mce-content-body .wp-playlist-item-length {
    top: 10px; }
  #article_body .rtl blockquote {
    border: 0 solid #1a1a1a;
    border-right-width: 4px; }
  #article_body .rtl blockquote.alignleft,
  #article_body .rtl blockquote.alignright {
    border: 0 solid #1a1a1a;
    border-top-width: 4px; }
  #article_body .rtl blockquote:not(.alignleft):not(.alignright) {
    margin-right: -28px;
    padding: 0 24px 0 0; }
  #article_body .rtl blockquote blockquote:not(.alignleft):not(.alignright) {
    margin-right: 0;
    margin-left: auto; }
  #article_body .rtl li > ul,
  #article_body .rtl blockquote > ul {
    margin-right: 20px;
    margin-left: auto; }
  #article_body .rtl li > ol,
  #article_body .rtl blockquote > ol {
    margin-right: 24px;
    margin-left: auto; }
  #article_body .rtl table th,
  #article_body .rtl .mce-item-table th,
  #article_body .rtl table caption {
    text-align: right; }

.no_anim * {
  opacity: 1 !important; }

.img_list {
  width: 100%; }
  @media only screen and (min-width: 788px) {
    .img_list {
      margin: 100px auto 0;
      display: block;
      height: 410px; } }
  @media only screen and (max-width: 787px) {
    .img_list {
      display: none; } }
  .img_list .bx-wrapper {
    margin-bottom: 0;
    padding: 0; }
  .img_list .bx-viewport {
    overflow: visible !important; }
  .img_list ul {
    overflow: visible !important; }
    .img_list ul li {
      opacity: 0;
      transition: all 0.4s ease; }
  .img_list.animated ul li {
    opacity: 1; }

@media only screen and (min-width: 788px) {
  .img_list_sp {
    display: none; } }

@media only screen and (max-width: 787px) {
  .img_list_sp {
    margin-top: 48px;
    display: block; } }

@media only screen and (max-width: 787px) {
  .img_list_sp li + li {
    margin-top: 10px; } }

#top .parallax_01 {
  height: 450px;
  background-color: transparent; }

@media only screen and (min-width: 788px) {
  #top .parallax_02 {
    margin-top: 80px;
    height: 450px; } }

@media only screen and (max-width: 787px) {
  #top .parallax_02 {
    margin-top: 100px; } }

@media only screen and (min-width: 788px) {
  #top .kv {
    background-image: url("../img/top/kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #top .kv {
    background-image: url("../img/top/kv_bg_sp.jpg"); } }

@media only screen and (min-width: 788px) {
  #top .kv .kv_inner .kv_title {
    width: 264px; } }

@media only screen and (max-width: 787px) {
  #top .kv .kv_inner .kv_title {
    width: 43.95833%; } }

@media only screen and (min-width: 788px) {
  #top .kv .kv_inner .kv_title {
    padding-top: 384px; } }

@media only screen and (max-width: 787px) {
  #top .kv .kv_inner .kv_title {
    padding: 7.38462% 0 0 6.25%; } }

@media only screen and (min-width: 788px) {
  #top .kv .kv_inner .kv_text {
    width: 211px; } }

@media only screen and (max-width: 787px) {
  #top .kv .kv_inner .kv_text {
    width: 38.95833%; } }

@media only screen and (min-width: 788px) {
  #top #s01 {
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #top #s01 {
    padding-top: 32.30769%; } }

#top #s01 .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media only screen and (min-width: 788px) {
    #top #s01 .inner {
      width: 900px;
      margin: 0 auto; } }
  @media only screen and (max-width: 787px) {
    #top #s01 .inner {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  @media only screen and (min-width: 788px) {
    #top #s01 .inner:after {
      margin-top: 100px;
      content: "";
      height: 1px;
      background-color: #000;
      flex-basis: 600px; } }

#top #s01 .title_unit {
  flex-basis: 100%; }
  @media only screen and (max-width: 787px) {
    #top #s01 .title_unit {
      order: 2;
      margin-top: 50px; } }
  #top #s01 .title_unit .ttl {
    flex-basis: 84px; }
  #top #s01 .title_unit .ttl_text {
    flex-basis: 58px; }

@media only screen and (min-width: 788px) {
  #top #s01 .text_01 {
    width: 600px;
    margin-top: 100px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; } }

@media only screen and (max-width: 787px) {
  #top #s01 .text_01 {
    margin-top: 50px;
    order: 3; } }

@media only screen and (min-width: 788px) {
  #top #s01 .text_01 .sttl_01 {
    width: 385px; } }

@media only screen and (max-width: 787px) {
  #top #s01 .text_01 .sttl_01 {
    width: 91.66667%; } }

#top #s01 .text_01 .para {
  font-size: 17px; }
  @media only screen and (max-width: 787px) {
    #top #s01 .text_01 .para {
      margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #top #s01 .img_01 {
    width: 280px;
    margin-top: 100px; } }

@media only screen and (max-width: 787px) {
  #top #s01 .img_01 {
    order: 1; } }

@media only screen and (min-width: 788px) {
  #top #s01 .bottom_catch {
    margin-top: 100px;
    position: relative; } }

@media only screen and (max-width: 787px) {
  #top #s01 .bottom_catch {
    margin-top: 50px; } }

@media only screen and (min-width: 788px) {
  #top #s01 .bottom_catch .bottom_catch_inner {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #top #s01 .bottom_catch .bottom_catch_inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

@media only screen and (min-width: 788px) {
  #top #s01 .bottom_catch .bottom_catch_inner {
    display: flex;
    position: absolute;
    top: -100px;
    right: 0;
    left: 0; } }

@media only screen and (max-width: 787px) {
  #top #s01 .bottom_catch .bottom_catch_inner {
    margin-top: 50px; } }

@media only screen and (min-width: 788px) {
  #top #s01 .bottom_catch .bottom_catch_inner .catch_v {
    margin-left: auto;
    width: 198px; } }

@media only screen and (max-width: 787px) {
  #top #s01 .bottom_catch .bottom_catch_inner .catch_v {
    width: 82.85714%; } }

@media only screen and (min-width: 788px) {
  #top #s01 .bottom_catch .bottom_catch_inner .text_02 {
    flex-basis: 432px; } }

@media only screen and (min-width: 788px) {
  #top #s01 .bottom_cta {
    margin-top: 52px; } }

@media only screen and (max-width: 787px) {
  #top #s01 .bottom_cta {
    margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #top #s01 .bottom_cta .bottom_cta_inner {
    display: flex;
    justify-content: space-between; } }

@media only screen and (min-width: 788px) {
  #top #s01 .bottom_cta .bottom_cta_inner .text_02 {
    flex-basis: 432px; } }

#top #s01 .bottom_cta .bottom_cta_inner .text_02 .para {
  font-size: 17px; }

@media only screen and (min-width: 788px) {
  #top #s01 .bottom_cta .bottom_cta_inner .btn_wrapper {
    flex-basis: 435px; } }

@media only screen and (max-width: 787px) {
  #top #s01 .bottom_cta .bottom_cta_inner .btn_wrapper {
    margin-top: 30px; } }

#top #s02 {
  margin-top: 100px; }
  #top #s02 .title_01 {
    flex-basis: 100%; }
    #top #s02 .title_01 .ttl {
      flex-basis: 84px; }
    #top #s02 .title_01 .ttl_text {
      flex-basis: 106px; }
  #top #s02 .title_02 {
    flex-basis: 100%; }
    #top #s02 .title_02 .ttl {
      flex-basis: 128px; }
    #top #s02 .title_02 .ttl_text {
      flex-basis: 162px; }
  @media only screen and (min-width: 788px) {
    #top #s02 .unit_01 {
      display: flex;
      justify-content: space-between;
      margin-top: 73px; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .unit_01 figure {
      flex-basis: 280px; } }
  @media only screen and (max-width: 787px) {
    #top #s02 .unit_01 figure {
      margin-top: 50px; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .unit_01 .text_05 {
      flex-basis: 590px;
      display: flex;
      flex-direction: column;
      justify-content: space-between; } }
  #top #s02 .unit_01 .text_05 .sttl_02 {
    line-height: 1; }
    @media only screen and (min-width: 788px) {
      #top #s02 .unit_01 .text_05 .sttl_02 {
        width: 432px; } }
    @media only screen and (max-width: 787px) {
      #top #s02 .unit_01 .text_05 .sttl_02 {
        margin-top: 50px;
        width: 59.04762%; } }
  @media only screen and (max-width: 787px) {
    #top #s02 .unit_01 .text_05 .para {
      margin-top: 45px; } }
  @media only screen and (min-width: 788px) {
    #top #s02 > .inner .sttl_01 {
      width: 578px;
      margin: 100px auto 0;
      line-height: 1; } }
  @media only screen and (max-width: 787px) {
    #top #s02 > .inner .sttl_01 {
      width: 82.85714%;
      margin-top: 50px; } }
  @media only screen and (min-width: 788px) {
    #top #s02 > .inner .text_list {
      display: flex;
      justify-content: center;
      margin-top: 60px; } }
  @media only screen and (max-width: 787px) {
    #top #s02 > .inner .text_list {
      margin-top: 30px; } }
  #top #s02 > .inner .text_list li {
    line-height: 1;
    opacity: 1; }
  @media only screen and (min-width: 788px) {
    #top #s02 > .inner .text_list li + li {
      margin-left: 25px; } }
  @media only screen and (max-width: 787px) {
    #top #s02 > .inner .text_list li + li {
      margin-top: 18px; } }
  @media only screen and (min-width: 788px) {
    #top #s02 > .inner .text_list .text_01 {
      flex-basis: 282px; } }
  @media only screen and (max-width: 787px) {
    #top #s02 > .inner .text_list .text_01 {
      width: 67.14286%; } }
  @media only screen and (min-width: 788px) {
    #top #s02 > .inner .text_list .text_02 {
      flex-basis: 251px; } }
  @media only screen and (max-width: 787px) {
    #top #s02 > .inner .text_list .text_02 {
      width: 60.2381%; } }
  @media only screen and (min-width: 788px) {
    #top #s02 > .inner .text_list .text_03 {
      flex-basis: 174px; } }
  @media only screen and (max-width: 787px) {
    #top #s02 > .inner .text_list .text_03 {
      width: 41.42857%; } }
  #top #s02 > .inner .text_list .text_01 {
    transition-delay: 0.2s; }
  #top #s02 > .inner .text_list .text_02 {
    transition-delay: 0.4s; }
  #top #s02 > .inner .text_list .text_03 {
    transition-delay: 0.6s; }
  #top #s02 > .inner .text_list.animated .text_01 {
    opacity: 1;
    transform: translateY(0); }
  #top #s02 > .inner .text_list.animated .text_02 {
    opacity: 1;
    transform: translateY(0); }
  #top #s02 > .inner .text_list.animated .text_03 {
    opacity: 1;
    transform: translateY(0); }
  #top #s02 > .inner .text_04 {
    margin-top: 1rem; }
    @media only screen and (min-width: 788px) {
      #top #s02 > .inner .text_04 {
        text-align: center; } }
    @media only screen and (max-width: 787px) {
      #top #s02 > .inner .text_04 {
        text-align: left; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .gray_bg {
      min-height: 1314px;
      margin-top: 371px;
      background-color: #edeff1; } }
  @media only screen and (max-width: 787px) {
    #top #s02 .gray_bg {
      width: 100%;
      position: relative;
      margin-top: 37.48126%;
      background: transparent url("../img/top/gray_bg_sp.jpg") center top/contain no-repeat; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .gray_bg .inner {
      width: 900px;
      margin: 0 auto; } }
  @media only screen and (max-width: 787px) {
    #top #s02 .gray_bg .inner {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  #top #s02 .gray_bg .img_list_container {
    position: relative; }
    @media only screen and (min-width: 788px) {
      #top #s02 .gray_bg .img_list_container {
        top: -287px; } }
    @media only screen and (max-width: 787px) {
      #top #s02 .gray_bg .img_list_container {
        transform: translateY(-8.36042%);
        margin-bottom: -8.36042%; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .gray_bg .imglink_list {
      height: 660px;
      position: relative; } }
  #top #s02 .gray_bg .imglink_list li + li {
    margin-top: 18px; }
  #top #s02 .gray_bg .imglink_list li.imglink_list_item {
    opacity: 1; }
    @media only screen and (min-width: 788px) {
      #top #s02 .gray_bg .imglink_list li.imglink_list_item {
        width: 420px;
        position: absolute; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .gray_bg .imglink_list li.img_list_item {
      width: 420px;
      position: absolute;
      transform: scale(0); } }
  @media only screen and (max-width: 787px) {
    #top #s02 .gray_bg .imglink_list li.img_list_item {
      display: none; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .gray_bg .imglink_list li.imglink_list_01 {
      margin: 0 auto;
      left: 0;
      right: 0; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .gray_bg .imglink_list li.imglink_list_02 {
      top: 0;
      left: -260px; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .gray_bg .imglink_list li.imglink_list_03 {
      top: 0;
      right: -260px; } }
  @media only screen and (min-width: 788px) {
    #top #s02 .gray_bg .imglink_list li.imglink_list_04 {
      top: 415px;
      left: 0; } }
  #top #s02 .gray_bg .imglink_list li.imglink_list_04 a {
    display: block;
    position: relative; }
    #top #s02 .gray_bg .imglink_list li.imglink_list_04 a:after {
      width: 60px;
      height: 47px;
      content: "";
      display: block;
      position: absolute;
      background: url("../img/common/pointer_red.png") 0 0/contain no-repeat;
      animation: point 0.6s ease 0s infinite alternate; }
      @media only screen and (min-width: 788px) {
        #top #s02 .gray_bg .imglink_list li.imglink_list_04 a:after {
          right: 84px;
          bottom: 44px; } }
      @media only screen and (max-width: 787px) {
        #top #s02 .gray_bg .imglink_list li.imglink_list_04 a:after {
          right: 20.19231%;
          bottom: 10.57692%; } }
    #top #s02 .gray_bg .imglink_list li.imglink_list_04 a:hover {
      opacity: 0.5; }
  @media only screen and (min-width: 788px) {
    #top #s02 .gray_bg .imglink_list li.imglink_list_05 {
      top: 415px;
      right: -10px; } }
  #top #s02 .gray_bg .imglink_list li.imglink_list_05 a {
    display: block;
    position: relative; }
    #top #s02 .gray_bg .imglink_list li.imglink_list_05 a:after {
      width: 60px;
      height: 47px;
      content: "";
      display: block;
      position: absolute;
      background: url("../img/common/pointer_red.png") 0 0/contain no-repeat;
      animation: point 0.6s ease 0s infinite alternate; }
      @media only screen and (min-width: 788px) {
        #top #s02 .gray_bg .imglink_list li.imglink_list_05 a:after {
          right: 84px;
          bottom: 44px; } }
      @media only screen and (max-width: 787px) {
        #top #s02 .gray_bg .imglink_list li.imglink_list_05 a:after {
          right: 20.19231%;
          bottom: 10.57692%; } }
    #top #s02 .gray_bg .imglink_list li.imglink_list_05 a:hover {
      opacity: 0.5; }
  #top #s02 .gray_bg .imglink_list li.imglink_list_01 {
    transition-delay: 0.2s; }
  #top #s02 .gray_bg .imglink_list li.imglink_list_02 {
    transition-delay: 0.4s; }
  #top #s02 .gray_bg .imglink_list li.imglink_list_03 {
    transition-delay: 0.6s; }
  #top #s02 .gray_bg .imglink_list li.imglink_list_04 {
    transition-delay: 0.8s; }
  #top #s02 .gray_bg .imglink_list li.imglink_list_05 {
    transition-delay: 1s; }
  #top #s02 .gray_bg .imglink_list li.imglist_01 {
    top: 415px;
    left: 0; }
  #top #s02 .gray_bg .imglink_list li.imglist_02 {
    top: 415px;
    right: -10px; }
  #top #s02 .gray_bg .imglink_list li.imglist_03 {
    top: 415px;
    left: -509px; }
  #top #s02 .gray_bg .imglink_list li.imglist_04 {
    top: 415px;
    right: -509px; }
  #top #s02 .gray_bg .imglink_list.animated .imglink_list_item {
    opacity: 1;
    transform: translateY(0); }
  #top #s02 .gray_bg .imglink_list.animated .img_list_item {
    animation: heartBeat 1s ease 0s 1 forwards; }
    #top #s02 .gray_bg .imglink_list.animated .img_list_item.imglist_01 {
      animation-delay: 0.8s; }
    #top #s02 .gray_bg .imglink_list.animated .img_list_item.imglist_02 {
      animation-delay: 1s; }
    #top #s02 .gray_bg .imglink_list.animated .img_list_item.imglist_03 {
      animation-delay: 1.2s; }
    #top #s02 .gray_bg .imglink_list.animated .img_list_item.imglist_04 {
      animation-delay: 1.4s; }
  @media only screen and (min-width: 788px) {
    #top #s02 .btn_02 {
      width: 435px;
      margin: 0 auto; } }
  @media only screen and (max-width: 787px) {
    #top #s02 .btn_02 {
      transform: translateY(-73%); } }
  @media only screen and (min-width: 788px) {
    #top #s02 .bottom_unit {
      margin-top: 100px !important; } }
  @media only screen and (max-width: 787px) {
    #top #s02 .bottom_unit {
      margin-top: 20.98951% !important; } }

#top #s04 {
  margin-top: 95px; }
  @media only screen and (min-width: 788px) {
    #top #s04 .inner {
      width: 900px;
      margin: 0 auto; } }
  @media only screen and (max-width: 787px) {
    #top #s04 .inner {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }
  #top #s04 .title_01 {
    flex-basis: 100%; }
    #top #s04 .title_01 .ttl {
      flex-basis: 84px; }
    #top #s04 .title_01 .ttl_text {
      flex-basis: 106px; }
  #top #s04 .sttl_01 {
    line-height: 1; }
    @media only screen and (min-width: 788px) {
      #top #s04 .sttl_01 {
        width: 647px;
        margin: 0 auto;
        margin-top: 80px; } }
    @media only screen and (max-width: 787px) {
      #top #s04 .sttl_01 {
        margin-top: 50px;
        width: 80.47619%; } }
  #top #s04 .unit_01 {
    margin-top: 50px; }
    @media only screen and (min-width: 788px) {
      #top #s04 .unit_01 {
        display: flex;
        justify-content: space-between; } }
    @media only screen and (min-width: 788px) {
      #top #s04 .unit_01 .column {
        flex-basis: 31.11111%; } }
    #top #s04 .unit_01 .column h4 {
      font-weight: bold;
      font-size: 18px;
      color: #D61619;
      text-align: center;
      line-height: 1.4;
      margin-top: 30px;
      letter-spacing: -0.03rem; }
    #top #s04 .unit_01 .column .text_01 {
      text-align: center; }
      @media only screen and (min-width: 788px) {
        #top #s04 .unit_01 .column .text_01 {
          margin-top: 20px; } }
      @media only screen and (max-width: 787px) {
        #top #s04 .unit_01 .column .text_01 {
          margin-top: 17px; } }
    @media only screen and (max-width: 787px) {
      #top #s04 .unit_01 .column + .column {
        margin-top: 50px; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .unit_02 {
      display: flex;
      justify-content: space-between; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .unit_02 #map {
      flex-basis: 280px; } }
  @media only screen and (max-width: 787px) {
    #top #s04 .unit_02 .text_02 {
      margin-top: 50px; } }
  #top #s04 .unit_02 .text_02 .sttl_02 {
    width: 360px; }
    @media only screen and (min-width: 788px) {
      #top #s04 .unit_02 .text_02 .sttl_02 {
        margin-left: auto; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .unit_02 .text_02 {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      flex-basis: 460px;
      text-align: right; } }
  @media only screen and (max-width: 787px) {
    #top #s04 .unit_02 .text_02 .para {
      margin-top: 24px; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .unit_02 .text_02 .para + .para {
      margin-top: 1rem; } }
  @media only screen and (max-width: 787px) {
    #top #s04 .unit_02 .text_02 .para + .para {
      margin-top: 0.5rem; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .unit_03 {
      display: flex;
      position: relative;
      justify-content: space-between; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .unit_03 figure {
      flex-basis: 220px;
      order: 2; } }
  @media only screen and (max-width: 787px) {
    #top #s04 .unit_03 figure {
      display: none; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .unit_03 .text_03 {
      flex-basis: 640px; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .unit_03 .text_03 .para + .para {
      margin-top: 1rem; } }
  @media only screen and (max-width: 787px) {
    #top #s04 .unit_03 .text_03 .para + .para {
      margin-top: 0.5rem; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .unit_03 .privacy_link {
      font-size: 12px;
      line-height: 1;
      position: absolute;
      right: 0;
      bottom: 0;
      white-space: nowrap; } }
  @media only screen and (max-width: 787px) {
    #top #s04 .unit_03 .privacy_link {
      display: none; } }
  @media only screen and (min-width: 788px) {
    #top #s04 .btn {
      width: 175px;
      margin: 80px auto 0; } }
  @media only screen and (max-width: 787px) {
    #top #s04 .btn {
      width: 41.66667%;
      margin: 46px auto 0; } }
  #top #s04 .gray_bg {
    background-color: #edeff1; }
    @media only screen and (min-width: 788px) {
      #top #s04 .gray_bg {
        margin-top: 80px;
        padding: 80px 0; } }
    @media only screen and (max-width: 787px) {
      #top #s04 .gray_bg {
        margin-top: 100px;
        padding: 30px 0; } }
    @media only screen and (min-width: 788px) {
      #top #s04 .gray_bg .inner {
        width: 900px;
        margin: 0 auto; } }
    @media only screen and (max-width: 787px) {
      #top #s04 .gray_bg .inner {
        width: 87.5%;
        margin: 0 auto;
        max-width: 640px; } }

@media only screen and (min-width: 788px) {
  #top #s_blog {
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #top #s_blog {
    padding-top: 32.30769%; } }

#top #s_blog .title_01 .ttl {
  flex-basis: 61px; }

#top #s_blog .title_01 .ttl_text {
  flex-basis: 27px; }

@media only screen and (min-width: 788px) {
  #top #s_contact {
    margin-top: 100px; } }

@media only screen and (max-width: 787px) {
  #top #s_contact {
    margin-top: 100px; } }

@media only screen and (min-width: 788px) {
  #top #s_contact .inner {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #top #s_contact .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

#top #s_contact .title_01 .ttl {
  flex-basis: 105px; }

#top #s_contact .title_01 .ttl_text {
  flex-basis: 50px; }

@media only screen and (min-width: 788px) {
  #donation .kv {
    background-image: url("../img/donation/donation_kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #donation .kv {
    background-image: url("../img/donation/donation_kv_bg_sp.jpg"); } }

@media only screen and (min-width: 788px) {
  #donation .kv .kv_inner .kv_title {
    width: 245px; } }

@media only screen and (max-width: 787px) {
  #donation .kv .kv_inner .kv_title {
    width: 46.66667%;
    padding-top: 5.84615%; } }

@media only screen and (min-width: 788px) {
  #donation .kv .kv_inner .kv_text {
    width: 217px; } }

@media only screen and (max-width: 787px) {
  #donation .kv .kv_inner .kv_text {
    width: 45.95238%; } }

@media only screen and (min-width: 788px) {
  #donation .section .inner {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #donation .section .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

@media only screen and (min-width: 788px) {
  #donation #s01 {
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #donation #s01 {
    padding-top: 32.30769%; } }

@media only screen and (min-width: 788px) {
  #donation #s01 .btn_05 {
    width: 435px;
    margin: 50px auto 0; } }

@media only screen and (max-width: 787px) {
  #donation #s01 .btn_05 {
    margin-top: 2rem; } }

#donation #s01 .upper {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (min-width: 788px) {
    #donation #s01 .upper {
      justify-content: space-between; } }
  #donation #s01 .upper .title_01 {
    flex-basis: 100%; }
    @media only screen and (max-width: 787px) {
      #donation #s01 .upper .title_01 {
        order: 2;
        margin-top: 50px; } }
    #donation #s01 .upper .title_01 .ttl {
      width: 171px; }
      @media only screen and (max-width: 787px) {
        #donation #s01 .upper .title_01 .ttl {
          transform: scale(0.9); } }
    #donation #s01 .upper .title_01 .ttl_text {
      width: 149px; }
      @media only screen and (max-width: 787px) {
        #donation #s01 .upper .title_01 .ttl_text {
          transform: scale(0.9); } }
  @media only screen and (min-width: 788px) {
    #donation #s01 .upper .text_01 {
      flex-basis: 530px;
      padding-top: 98px; } }
  @media only screen and (max-width: 787px) {
    #donation #s01 .upper .text_01 {
      margin-top: 50px;
      order: 3; } }
  @media only screen and (min-width: 788px) {
    #donation #s01 .upper .text_01 .sttl_01 {
      width: 396px; } }
  @media only screen and (max-width: 787px) {
    #donation #s01 .upper .text_01 .sttl_01 {
      width: 94.28571%; } }
  @media only screen and (min-width: 788px) {
    #donation #s01 .upper .text_01 .para {
      margin-top: 51px; } }
  @media only screen and (max-width: 787px) {
    #donation #s01 .upper .text_01 .para {
      margin-top: 30px; } }
  @media only screen and (min-width: 788px) {
    #donation #s01 .upper .img_01 {
      flex-basis: 280px;
      padding-top: 98px; } }
  @media only screen and (max-width: 787px) {
    #donation #s01 .upper .img_01 {
      order: 1; } }

@media only screen and (min-width: 788px) {
  #donation #s01 .bottom .sttl_02 {
    width: 750px;
    margin: 80px auto 0; } }

@media only screen and (max-width: 787px) {
  #donation #s01 .bottom .sttl_02 {
    margin-top: 80px; } }

@media only screen and (min-width: 788px) {
  #donation #s01 .bottom .unit_01 {
    display: flex;
    justify-content: space-between;
    margin-top: 60px; } }

@media only screen and (max-width: 787px) {
  #donation #s01 .bottom .unit_01 {
    margin-top: 42px; } }

@media only screen and (min-width: 788px) {
  #donation #s01 .bottom .unit_01 .column {
    flex-basis: 435px; } }

@media only screen and (max-width: 787px) {
  #donation #s01 .bottom .unit_01 .column + .column {
    margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #donation #s01 .bottom .text_02 {
    margin-top: 60px;
    text-align: center; } }

@media only screen and (max-width: 787px) {
  #donation #s01 .bottom .text_02 {
    margin-top: 50px; } }

#donation #s02 {
  margin-top: 100px; }
  #donation #s02 .unit_01 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #donation #s02 .unit_01 .title_01 {
      flex-basis: 100%; }
      #donation #s02 .unit_01 .title_01 .ttl {
        flex-basis: 149px; }
      #donation #s02 .unit_01 .title_01 .ttl_text {
        flex-basis: 105px; }
      @media only screen and (max-width: 787px) {
        #donation #s02 .unit_01 .title_01 {
          margin-top: 50px;
          order: 2; } }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_01 .text_01 {
        flex-basis: 586px;
        margin-top: 100px; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_01 .text_01 {
        order: 3; } }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_01 .text_01 .sttl_01 {
        width: 423px; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_01 .text_01 .sttl_01 {
        margin-top: 50px;
        width: 66.90476%; } }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_01 .text_01 .para {
        margin-top: 78px; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_01 .text_01 .para {
        margin-top: 35px; } }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_01 .img_01 {
        margin-top: 100px;
        flex-basis: 280px; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_01 .img_01 {
        order: 1; } }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_01 .bottom_btn {
        width: 175px;
        margin: 100px auto 0; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_01 .bottom_btn {
        width: 41.66667%;
        margin: 50px auto 0;
        order: 4; } }
  #donation #s02 .unit_02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_02 .text_02 {
        flex-basis: 580px; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_02 .text_02 {
        order: 2; } }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_02 .text_02 .sttl_02 {
        width: 423px; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_02 .text_02 .sttl_02 {
        width: 221px;
        margin-top: 50px; } }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_02 .text_02 .para {
        margin-top: 80px; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_02 .text_02 .para {
        margin-top: 30px; } }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_02 .img_02 {
        flex-basis: 280px; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_02 .img_02 {
        order: 1; } }
  @media only screen and (min-width: 788px) {
    #donation #s02 .unit_03 {
      display: flex;
      justify-content: space-between; } }
  @media only screen and (min-width: 788px) {
    #donation #s02 .unit_03 .fb_btn {
      flex-basis: 175px;
      margin-top: 80px; } }
  @media only screen and (max-width: 787px) {
    #donation #s02 .unit_03 .fb_btn {
      width: 41.66667%;
      margin: 50px auto 0; } }
  #donation #s02 .unit_03 .sns_btns {
    display: flex; }
    @media only screen and (min-width: 788px) {
      #donation #s02 .unit_03 .sns_btns {
        margin-top: 80px;
        flex-basis: 280px; } }
    @media only screen and (max-width: 787px) {
      #donation #s02 .unit_03 .sns_btns {
        margin-top: 30px;
        justify-content: center; } }
    #donation #s02 .unit_03 .sns_btns .btn {
      flex-basis: 90px;
      margin-right: 5px; }

#donation .remodal {
  text-align: left; }
  #donation .remodal .modal_inner {
    font-size: 17px;
    margin: 0 auto; }
    @media only screen and (min-width: 788px) {
      #donation .remodal .modal_inner {
        width: 750px; } }
    @media only screen and (max-width: 787px) {
      #donation .remodal .modal_inner {
        width: 90%; } }
    @media only screen and (min-width: 788px) {
      #donation .remodal .modal_inner .modal_lead {
        width: 537px;
        margin: 70px auto 0; } }
    @media only screen and (max-width: 787px) {
      #donation .remodal .modal_inner .modal_lead {
        width: 83.57143%;
        margin: 41px auto 0; } }
    #donation .remodal .modal_inner .modal_lead_after {
      text-align: center;
      margin-top: 40px; }
    @media only screen and (min-width: 788px) {
      #donation .remodal .modal_inner .modal_unit {
        margin-top: 80px; } }
    @media only screen and (max-width: 787px) {
      #donation .remodal .modal_inner .modal_unit {
        margin-top: 50px; } }
    @media only screen and (min-width: 788px) {
      #donation .remodal .modal_inner .modal_unit .modal_unit_text_01 {
        margin-top: 30px; } }
    @media only screen and (max-width: 787px) {
      #donation .remodal .modal_inner .modal_unit .modal_unit_text_01 {
        margin-top: 20px; } }
    #donation .remodal .modal_inner .modal_box_01 {
      background-color: #edeff1;
      margin-top: 45px; }
      @media only screen and (min-width: 788px) {
        #donation .remodal .modal_inner .modal_box_01 {
          padding: 54px 50px; } }
      @media only screen and (max-width: 787px) {
        #donation .remodal .modal_inner .modal_box_01 {
          padding: 27px 15px; } }
      #donation .remodal .modal_inner .modal_box_01 .modal_box_ttl_01 {
        width: 202px;
        margin: 0 auto; }
      #donation .remodal .modal_inner .modal_box_01 .modal_box_unit {
        background-color: #fff;
        text-align: center; }
        @media only screen and (min-width: 788px) {
          #donation .remodal .modal_inner .modal_box_01 .modal_box_unit {
            padding: 25px;
            margin-top: 60px; } }
        @media only screen and (max-width: 787px) {
          #donation .remodal .modal_inner .modal_box_01 .modal_box_unit {
            padding: 30px 10px;
            margin-top: 28px; } }
        @media only screen and (min-width: 788px) {
          #donation .remodal .modal_inner .modal_box_01 .modal_box_unit + .modal_box_unit {
            margin-top: 50px; } }
        @media only screen and (max-width: 787px) {
          #donation .remodal .modal_inner .modal_box_01 .modal_box_unit + .modal_box_unit {
            margin-top: 10px; } }
        #donation .remodal .modal_inner .modal_box_01 .modal_box_unit p small {
          font-size: 13px; }
        #donation .remodal .modal_inner .modal_box_01 .modal_box_unit .modal_box_unit_ttl {
          font-size: 20px;
          font-weight: bold;
          line-height: 1;
          border-bottom: 1px solid #000;
          padding-bottom: 17px; }
        #donation .remodal .modal_inner .modal_box_01 .modal_box_unit .modal_box_unit_em {
          margin-top: 30px;
          font-weight: bold;
          color: #d61619; }
          @media only screen and (min-width: 788px) {
            #donation .remodal .modal_inner .modal_box_01 .modal_box_unit .modal_box_unit_em {
              line-height: 1;
              font-size: 26px; } }
          @media only screen and (max-width: 787px) {
            #donation .remodal .modal_inner .modal_box_01 .modal_box_unit .modal_box_unit_em {
              font-size: 20px; } }
        #donation .remodal .modal_inner .modal_box_01 .modal_box_unit .modal_box_unit_text {
          margin-top: 1rem; }
    #donation .remodal .modal_inner .modal_box_02 {
      background-color: #edeff1; }
      @media only screen and (min-width: 788px) {
        #donation .remodal .modal_inner .modal_box_02 {
          padding: 84px 50px;
          margin-top: 95px; } }
      @media only screen and (max-width: 787px) {
        #donation .remodal .modal_inner .modal_box_02 {
          padding: 47px 50px;
          margin-top: 20px; } }
      #donation .remodal .modal_inner .modal_box_02 .modal_box_ttl_02 {
        font-weight: bold;
        text-align: center; }
        @media only screen and (min-width: 788px) {
          #donation .remodal .modal_inner .modal_box_02 .modal_box_ttl_02 {
            font-size: 20px;
            line-height: 1; } }
      @media only screen and (min-width: 788px) {
        #donation .remodal .modal_inner .modal_box_02 .modal_box_text {
          margin-top: 64px; } }
      @media only screen and (max-width: 787px) {
        #donation .remodal .modal_inner .modal_box_02 .modal_box_text {
          margin-top: 40px; } }
      #donation .remodal .modal_inner .modal_box_02 .modal_box_text p + p {
        margin-top: 1rem; }

.error #d_form_01 .modal_head,
.confirm #d_form_01 .modal_head,
.thanks #d_form_01 .modal_head {
  display: none; }

#d_form_01 .error {
  display: block; }

#d_form_01 input[type="text"] {
  height: 50px;
  border: 1px solid #ccc;
  width: 100%;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px;
  padding: 0 1rem; }

#d_form_01 textarea {
  border: 1px solid #ccc;
  width: 100%;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 16px; }

#d_form_01 .modal_inner {
  text-align: left;
  margin: 0 auto; }
  @media only screen and (min-width: 788px) {
    #d_form_01 .modal_inner {
      width: 900px; } }
  @media only screen and (max-width: 787px) {
    #d_form_01 .modal_inner {
      width: 90%;
      padding-top: 50px; } }
  #d_form_01 .modal_inner .modal_ttl_01 {
    margin: 0 auto; }
    @media only screen and (min-width: 788px) {
      #d_form_01 .modal_inner .modal_ttl_01 {
        width: 750px; } }
  #d_form_01 .modal_inner .modal_sttl_01 {
    text-align: center;
    font-weight: bold;
    color: #d61619; }
    @media only screen and (min-width: 788px) {
      #d_form_01 .modal_inner .modal_sttl_01 {
        line-height: 1;
        font-size: 25px;
        width: 630px;
        margin: 50px auto 0; } }
    @media only screen and (max-width: 787px) {
      #d_form_01 .modal_inner .modal_sttl_01 {
        font-size: 22px;
        margin-top: 38px; } }
  #d_form_01 .modal_inner .modal_lead {
    display: flex;
    justify-content: center;
    font-weight: bold;
    text-align: center;
    margin-top: 51px; }
    @media only screen and (min-width: 788px) {
      #d_form_01 .modal_inner .modal_lead {
        font-size: 22px; } }
  #d_form_01 .modal_inner .line_01 {
    margin: 0;
    padding: 0;
    height: 3px;
    width: 100%;
    border: none;
    display: block;
    background: url("../img/d_form_01/modal_line_01.png") 0 0/contain repeat-x;
    margin-top: 50px; }
    #d_form_01 .modal_inner .line_01 + .form_row_02 {
      margin-top: 40px !important; }
  @media only screen and (min-width: 788px) {
    #d_form_01 .modal_inner .modal_form_wrapper {
      margin-top: 110px; } }
  @media only screen and (min-width: 788px) {
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_01 {
      display: flex; } }
  @media only screen and (max-width: 787px) {
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_01 {
      margin-top: 50px; } }
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_01 .label {
    font-weight: bold;
    font-size: 17px; }
    @media only screen and (min-width: 788px) {
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_01 .label {
        width: 40%; } }
  @media only screen and (min-width: 788px) {
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_01 .form_control {
      width: 60%; } }
  @media only screen and (max-width: 787px) {
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_01 .form_control {
      margin-top: 30px; } }
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_01 .form_control .large {
    font-weight: bold;
    color: #d61619;
    font-size: 23px; }
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_01 .form_control input[type="radio"],
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_01 .form_control input[type="checkbox"] {
    margin-right: 0.5rem; }
  @media only screen and (min-width: 788px) {
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 {
      margin-top: 80px; } }
  @media only screen and (max-width: 787px) {
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 {
      margin-top: 50px; } }
  @media only screen and (min-width: 788px) {
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 + .form_row_02,
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 + .form_row_03 {
      margin-top: 40px; } }
  @media only screen and (max-width: 787px) {
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 + .form_row_02,
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 + .form_row_03 {
      margin-top: 30px; } }
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .form_separate {
    margin-top: 1rem; }
    @media only screen and (min-width: 788px) {
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .form_separate {
        display: flex;
        justify-content: space-between; } }
    @media only screen and (min-width: 788px) {
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .form_separate .column {
        width: 49%; } }
    @media only screen and (max-width: 787px) {
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .form_separate .column {
        margin-top: 10px; } }
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .form {
    margin-top: 1rem; }
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .telnum {
    display: flex;
    margin-top: 1rem;
    align-items: center; }
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .telnum .tel_hyphen {
      margin: 0 0.5rem; }
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .birthday {
    display: flex;
    margin-top: 1rem;
    align-items: flex-end; }
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .birthday .birthday_input {
      margin: 0 0.5rem; }
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .birthday select {
      height: 50px;
      box-sizing: border-box;
      font-size: 16px;
      border: 1px solid #ccc;
      border-radius: 4px;
      text-align: right; }
      @media only screen and (min-width: 788px) {
        #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .birthday select {
          width: 150px; } }
      @media only screen and (max-width: 787px) {
        #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .birthday select {
          width: 70px; } }
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .zipcode {
    display: flex;
    align-items: center;
    margin-top: 1rem; }
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_02 .zipcode .zipcode_input {
      margin: 0 0.5rem; }
  #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 {
    margin-top: 40px; }
    @media only screen and (min-width: 788px) {
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 + .form_row_02 {
        margin-top: 40px; } }
    @media only screen and (max-width: 787px) {
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 + .form_row_02 {
        margin-top: 30px; } }
    @media only screen and (min-width: 788px) {
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 {
        display: flex; } }
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 .label {
      font-size: 17px;
      font-weight: bold; }
      @media only screen and (min-width: 788px) {
        #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 .label {
          width: 18%; } }
    @media only screen and (max-width: 787px) {
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 .text {
        margin-top: 30px; } }
    #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 .text .radio_list {
      display: flex;
      flex-wrap: wrap;
      margin-top: 1rem; }
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 .text .radio_list li {
        margin-right: 2rem; }
        #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 .text .radio_list li input {
          margin-right: 0.5rem; }
      #d_form_01 .modal_inner .modal_form_wrapper .form_row_03 .text .radio_list .error {
        width: 100%; }
  #d_form_01 .modal_inner .modal_form_wrapper .mwform-radio-field.horizontal-item label {
    display: flex;
    align-items: center; }
  #d_form_01 .modal_inner .modal_form_wrapper .form_privacy {
    margin-top: 40px;
    border: 1px solid #505050;
    padding: 30px; }
    #d_form_01 .modal_inner .modal_form_wrapper .form_privacy .label {
      text-align: center; }
    #d_form_01 .modal_inner .modal_form_wrapper .form_privacy .form_privacy_column {
      margin-top: 1rem; }
      @media only screen and (min-width: 788px) {
        #d_form_01 .modal_inner .modal_form_wrapper .form_privacy .form_privacy_column {
          display: flex;
          align-items: flex-end;
          justify-content: space-between; } }
      #d_form_01 .modal_inner .modal_form_wrapper .form_privacy .form_privacy_column .form_privacy_column_check {
        font-weight: bold; }
        @media only screen and (min-width: 788px) {
          #d_form_01 .modal_inner .modal_form_wrapper .form_privacy .form_privacy_column .form_privacy_column_check {
            font-size: 22px; } }
        @media only screen and (max-width: 787px) {
          #d_form_01 .modal_inner .modal_form_wrapper .form_privacy .form_privacy_column .form_privacy_column_check {
            text-align: center;
            margin-top: 1rem; } }
  #d_form_01 .modal_inner .modal_form_wrapper .form_ttl_01 {
    font-weight: bold;
    font-size: 17px;
    line-height: 1;
    margin-top: 50px; }
  #d_form_01 .modal_inner .modal_form_wrapper .modal_btns {
    display: flex;
    justify-content: center; }
    @media only screen and (min-width: 788px) {
      #d_form_01 .modal_inner .modal_form_wrapper .modal_btns {
        margin-top: 95px; } }
    @media only screen and (max-width: 787px) {
      #d_form_01 .modal_inner .modal_form_wrapper .modal_btns {
        margin-top: 50px; } }
    #d_form_01 .modal_inner .modal_form_wrapper .modal_btns input[type="submit"] {
      background-color: #d61619;
      color: #fff;
      text-align: center;
      line-height: 1;
      cursor: pointer; }
      @media only screen and (min-width: 788px) {
        #d_form_01 .modal_inner .modal_form_wrapper .modal_btns input[type="submit"] {
          padding: 17px 24px;
          font-size: 17px;
          border-radius: 50px; } }
      @media only screen and (max-width: 787px) {
        #d_form_01 .modal_inner .modal_form_wrapper .modal_btns input[type="submit"] {
          padding: 1rem 3rem;
          font-size: 17px;
          border-radius: 50px; } }
      #d_form_01 .modal_inner .modal_form_wrapper .modal_btns input[type="submit"][name="submitBack"] {
        margin-right: 1rem;
        background-color: #666;
        cursor: pointer; }

#privacy #container {
  margin-top: 120px; }

@media only screen and (min-width: 788px) {
  #privacy .section .inner {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #privacy .section .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

@media only screen and (min-width: 788px) {
  #privacy .section .inner {
    width: 640px; } }

#privacy .section .inner h2 {
  font-weight: bold; }

#privacy .section .inner h2 + .para {
  margin-top: 1rem; }

#privacy .section + .section {
  margin-top: 50px; }

#activity_01 .activity_lead,
#activity_02 .activity_lead,
#activity_03 .activity_lead,
#activity_03_test .activity_lead {
  margin: 0 auto; }

#activity_01 .act_numb,
#activity_02 .act_numb,
#activity_03 .act_numb,
#activity_03_test .act_numb {
  margin: 0 auto;
  opacity: 0;
  transition: all 0.4s ease; }
  @media only screen and (min-width: 788px) {
    #activity_01 .act_numb,
    #activity_02 .act_numb,
    #activity_03 .act_numb,
    #activity_03_test .act_numb {
      width: 210px;
      margin-top: 152px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 .act_numb,
    #activity_02 .act_numb,
    #activity_03 .act_numb,
    #activity_03_test .act_numb {
      width: 32.14286%;
      margin-top: 100px; } }
  #activity_01 .act_numb.animated,
  #activity_02 .act_numb.animated,
  #activity_03 .act_numb.animated,
  #activity_03_test .act_numb.animated {
    opacity: 1;
    transform: rotateY(360deg); }

@media only screen and (min-width: 788px) {
  #activity_01 .act_title,
  #activity_02 .act_title,
  #activity_03 .act_title,
  #activity_03_test .act_title {
    margin: 50px auto 0; } }

@media only screen and (max-width: 787px) {
  #activity_01 .act_title,
  #activity_02 .act_title,
  #activity_03 .act_title,
  #activity_03_test .act_title {
    margin-top: 40px; } }

@media only screen and (min-width: 788px) {
  #activity_01 .act_bar,
  #activity_02 .act_bar,
  #activity_03 .act_bar,
  #activity_03_test .act_bar {
    margin-top: 80px; } }

@media only screen and (max-width: 787px) {
  #activity_01 .act_bar,
  #activity_02 .act_bar,
  #activity_03 .act_bar,
  #activity_03_test .act_bar {
    margin-top: 50px; } }

@media only screen and (min-width: 788px) {
  #activity_01 .btns,
  #activity_02 .btns,
  #activity_03 .btns,
  #activity_03_test .btns {
    display: flex;
    justify-content: space-between;
    margin-top: 60px; } }

@media only screen and (max-width: 787px) {
  #activity_01 .btns,
  #activity_02 .btns,
  #activity_03 .btns,
  #activity_03_test .btns {
    margin-top: 42px; } }

@media only screen and (min-width: 788px) {
  #activity_01 .btns .column,
  #activity_02 .btns .column,
  #activity_03 .btns .column,
  #activity_03_test .btns .column {
    flex-basis: 435px; } }

@media only screen and (max-width: 787px) {
  #activity_01 .btns .column + .column,
  #activity_02 .btns .column + .column,
  #activity_03 .btns .column + .column,
  #activity_03_test .btns .column + .column {
    margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #activity_01 .kv {
    background-image: url("../img/activity_01/kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #activity_01 .kv {
    background-image: url("../img/activity_01/kv_bg_sp.jpg"); } }

@media only screen and (min-width: 788px) {
  #activity_01 .kv .kv_inner .kv_title {
    width: 465px; } }

@media only screen and (max-width: 787px) {
  #activity_01 .kv .kv_inner .kv_title {
    width: 45.20833%;
    padding: 7.88955% 0 0 6.25%; } }

@media only screen and (min-width: 788px) {
  #activity_01 .kv .kv_inner .kv_text {
    width: 423px; } }

@media only screen and (max-width: 787px) {
  #activity_01 .kv .kv_inner .kv_text {
    width: 42.08333%; } }

@media only screen and (min-width: 788px) {
  #activity_01 .section .inner {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #activity_01 .section .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s01 {
    padding-top: 156px; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s01 {
    padding-top: 32.30769%; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s01 .activity_lead {
    width: 666px; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s01 .activity_lead {
    width: 72.85714%; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s01 .act_title {
    width: 750px; } }

#activity_01 #s01 .upper {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (min-width: 788px) {
    #activity_01 #s01 .upper {
      margin-top: 50px;
      justify-content: space-between; } }
  #activity_01 #s01 .upper .title_01 {
    flex-basis: 100%; }
    @media only screen and (max-width: 787px) {
      #activity_01 #s01 .upper .title_01 {
        order: 2;
        margin-top: 50px; } }
    @media only screen and (min-width: 788px) {
      #activity_01 #s01 .upper .title_01 .ttl {
        flex-basis: 112px; } }
    @media only screen and (max-width: 787px) {
      #activity_01 #s01 .upper .title_01 .ttl {
        flex-basis: 26.66667%; } }
    @media only screen and (min-width: 788px) {
      #activity_01 #s01 .upper .title_01 .ttl_text {
        flex-basis: 163px; } }
    @media only screen and (max-width: 787px) {
      #activity_01 #s01 .upper .title_01 .ttl_text {
        flex-basis: 40.47619%; } }
  @media only screen and (min-width: 788px) {
    #activity_01 #s01 .upper .text_01 {
      position: relative;
      z-index: 2;
      flex-basis: 530px;
      padding-top: 98px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s01 .upper .text_01 {
      margin-top: 50px;
      order: 3; } }
  @media only screen and (min-width: 788px) {
    #activity_01 #s01 .upper .text_01 .sttl_03 {
      width: 468px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s01 .upper .text_01 .sttl_03 {
      width: 91.42857%; } }
  @media only screen and (min-width: 788px) {
    #activity_01 #s01 .upper .text_01 .para {
      margin-top: 54px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s01 .upper .text_01 .para {
      margin-top: 30px; } }
  @media only screen and (min-width: 788px) {
    #activity_01 #s01 .upper .img_01 {
      flex-basis: 415px;
      margin-left: -45px;
      padding-top: 98px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s01 .upper .img_01 {
      order: 1;
      flex-basis: 66.19048%;
      margin: 32px auto 0; } }
  #activity_01 #s01 .upper .s01_bottom_bar {
    flex-basis: 100%; }
    @media only screen and (min-width: 788px) {
      #activity_01 #s01 .upper .s01_bottom_bar {
        margin-top: 40px; } }
    @media only screen and (max-width: 787px) {
      #activity_01 #s01 .upper .s01_bottom_bar {
        margin-top: 30px;
        order: 4; } }

#activity_01 #s01 .bottom {
  margin-top: 100px; }
  #activity_01 #s01 .bottom .sttl_05 {
    margin: 0 auto; }
    @media only screen and (min-width: 788px) {
      #activity_01 #s01 .bottom .sttl_05 {
        width: 330px; } }
    @media only screen and (max-width: 787px) {
      #activity_01 #s01 .bottom .sttl_05 {
        width: 78.57143%; } }
  #activity_01 #s01 .bottom .text_02 {
    margin-top: 100px;
    font-size: 25px; }

@media only screen and (min-width: 788px) {
  #activity_01 #s02 .activity_lead {
    width: 666px;
    margin: 150px auto 0; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s02 .activity_lead {
    width: 82.38095%;
    margin: 100px auto 0; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s02 .act_title {
    width: 750px; } }

#activity_01 #s02 .upper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

#activity_01 #s02 .title_01 {
  margin-top: 50px;
  flex-basis: 100%; }
  @media only screen and (max-width: 787px) {
    #activity_01 #s02 .title_01 {
      order: 2;
      margin-top: 50px; } }
  #activity_01 #s02 .title_01 .ttl {
    flex-basis: 233px; }
    @media only screen and (max-width: 787px) {
      #activity_01 #s02 .title_01 .ttl {
        transform: scale(0.9); } }
  #activity_01 #s02 .title_01 .ttl_text {
    flex-basis: 117px; }
    @media only screen and (max-width: 787px) {
      #activity_01 #s02 .title_01 .ttl_text {
        transform: scale(0.9); } }

@media only screen and (min-width: 788px) {
  #activity_01 #s02 .text_01 {
    position: relative;
    z-index: 2;
    flex-basis: calc(100% - 320px);
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s02 .text_01 {
    margin-top: 50px;
    order: 3; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s02 .text_01 .sttl_03 {
    width: 492px; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s02 .text_01 .sttl_03 {
    width: 95.47619%; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s02 .text_01 .para {
    margin-top: 54px; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s02 .text_01 .para {
    margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s02 .img_01 {
    flex-basis: 280px;
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s02 .img_01 {
    order: 1;
    margin-top: 50px; } }

#activity_01 #s02 .bottom .btns {
  justify-content: center; }
  @media only screen and (min-width: 788px) {
    #activity_01 #s02 .bottom .btns {
      margin-top: 90px; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s03 .activity_lead {
    width: 666px;
    margin: 150px auto 0; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s03 .activity_lead {
    width: 82.38095%;
    margin: 100px auto 0; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s03 .act_title {
    width: 750px; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s03 .upper {
    display: flex;
    flex-direction: column; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s03 .upper .title_unit {
    order: 2; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s03 .upper .img_01 {
    width: 510px;
    margin: 66px auto 0; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s03 .upper .img_01 {
    width: 80%;
    margin: 52px auto 0; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s03 .text_01 {
    width: 754px;
    margin: 105px auto 0; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s03 .text_01 {
    margin-top: 47px;
    width: 66.66667%; } }

#activity_01 #s03 .text_02 {
  font-size: 17px;
  line-height: calc(30 / 17); }
  @media only screen and (min-width: 788px) {
    #activity_01 #s03 .text_02 {
      margin-top: 52px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s03 .text_02 {
      margin-top: 47px; } }

#activity_01 #s03 .unit_01 {
  border-top: 1px dashed #000; }
  @media only screen and (min-width: 788px) {
    #activity_01 #s03 .unit_01 {
      margin-top: 47px;
      padding-top: 50px;
      display: flex;
      justify-content: space-between; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s03 .unit_01 {
      margin-top: 40px;
      padding-top: 40px; } }
  #activity_01 #s03 .unit_01 .txt {
    line-height: calc(30 / 17); }
    @media only screen and (min-width: 788px) {
      #activity_01 #s03 .unit_01 .txt {
        width: 420px; } }
  @media only screen and (min-width: 788px) {
    #activity_01 #s03 .unit_01 .img {
      width: 435px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s03 .unit_01 .img {
      margin-top: 45px; } }

#activity_01 #s03 .unit_02 {
  margin-top: 80px; }
  @media only screen and (min-width: 788px) {
    #activity_01 #s03 .unit_02 {
      display: flex;
      justify-content: space-between; } }
  #activity_01 #s03 .unit_02 .txt {
    line-height: calc(30 / 17); }
    @media only screen and (min-width: 788px) {
      #activity_01 #s03 .unit_02 .txt {
        width: 420px; } }
  #activity_01 #s03 .unit_02 .img {
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    @media only screen and (min-width: 788px) {
      #activity_01 #s03 .unit_02 .img {
        width: 435px; } }
    @media only screen and (max-width: 787px) {
      #activity_01 #s03 .unit_02 .img {
        margin-top: 30px; } }
    @media only screen and (min-width: 788px) {
      #activity_01 #s03 .unit_02 .img .btn + .btn {
        margin-top: 35px; } }
    @media only screen and (max-width: 787px) {
      #activity_01 #s03 .unit_02 .img .btn + .btn {
        margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s03 .unit_03 {
    margin-top: 55px; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s03 .unit_03 {
    margin-top: 35px; } }

#activity_01 #s03 .unit_03 .tellink {
  text-decoration: none; }
  @media only screen and (min-width: 788px) {
    #activity_01 #s03 .unit_03 .tellink {
      pointer-events: none; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s03 .app_download {
    border: 3px solid #000;
    box-sizing: border-box;
    width: 720px;
    margin: 64px auto 0; } }

@media only screen and (max-width: 787px) {
  #activity_01 #s03 .app_download {
    margin-top: 50px; } }

#activity_01 #s03 .app_download .app_download_title {
  text-align: center; }
  @media only screen and (min-width: 788px) {
    #activity_01 #s03 .app_download .app_download_title .app_download_title_inner {
      display: inline-block;
      background-color: #fff;
      line-height: 1;
      transform: translateY(-70%);
      padding: 0 48px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s03 .app_download .app_download_title .app_download_title_inner {
      display: block;
      margin: 0 auto;
      width: 92.14286%; } }

@media only screen and (min-width: 788px) {
  #activity_01 #s03 .app_download .app_download_inner {
    padding: 24px 68px 38px; } }

#activity_01 #s03 .app_download .app_download_inner .app_download_btns {
  display: flex;
  justify-content: space-between; }
  @media only screen and (max-width: 787px) {
    #activity_01 #s03 .app_download .app_download_inner .app_download_btns {
      margin-top: 27px;
      padding: 0 11px; } }
  @media only screen and (min-width: 788px) {
    #activity_01 #s03 .app_download .app_download_inner .app_download_btns .app_download_btn.app_download_btn_01 {
      width: 245px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s03 .app_download .app_download_inner .app_download_btns .app_download_btn.app_download_btn_01 {
      width: 40.95477%; } }
  @media only screen and (min-width: 788px) {
    #activity_01 #s03 .app_download .app_download_inner .app_download_btns .app_download_btn.app_download_btn_02 {
      width: 303px; } }
  @media only screen and (max-width: 787px) {
    #activity_01 #s03 .app_download .app_download_inner .app_download_btns .app_download_btn.app_download_btn_02 {
      width: 50.75377%; } }

#activity_01 #s03 .title_01 {
  margin-top: 50px;
  flex-basis: 100%; }
  @media only screen and (max-width: 787px) {
    #activity_01 #s03 .title_01 {
      order: 2;
      margin-top: 50px; } }
  #activity_01 #s03 .title_01 .ttl {
    flex-basis: 233px; }
    @media only screen and (max-width: 787px) {
      #activity_01 #s03 .title_01 .ttl {
        transform: scale(0.9); } }
  #activity_01 #s03 .title_01 .ttl_text {
    flex-basis: 117px; }
    @media only screen and (max-width: 787px) {
      #activity_01 #s03 .title_01 .ttl_text {
        transform: scale(0.9); } }

#activity_01 #s03 .bottom .btns {
  justify-content: center; }
  @media only screen and (min-width: 788px) {
    #activity_01 #s03 .bottom .btns {
      margin-top: 90px; } }

@media only screen and (min-width: 788px) {
  #activity_02 .kv {
    background-image: url("../img/activity_02/kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #activity_02 .kv {
    background-image: url("../img/activity_02/kv_bg_sp.jpg"); } }

@media only screen and (min-width: 788px) {
  #activity_02 .kv .kv_inner .kv_title {
    width: 416px; } }

@media only screen and (max-width: 787px) {
  #activity_02 .kv .kv_inner .kv_title {
    width: 69.375%;
    padding: 7.88955% 0 0 6.25%; } }

@media only screen and (min-width: 788px) {
  #activity_02 .kv .kv_inner .kv_text {
    width: 412px; } }

@media only screen and (max-width: 787px) {
  #activity_02 .kv .kv_inner .kv_text {
    width: 72.70833%; } }

@media only screen and (min-width: 788px) {
  #activity_02 .section .inner {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #activity_02 .section .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

@media only screen and (min-width: 788px) {
  #activity_02 #s01 {
    padding-top: 156px; } }

@media only screen and (max-width: 787px) {
  #activity_02 #s01 {
    padding-top: 32.30769%; } }

@media only screen and (min-width: 788px) {
  #activity_02 #s01 .activity_lead {
    width: 616px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #activity_02 #s01 .activity_lead {
    width: 78.80952%; } }

@media only screen and (min-width: 788px) {
  #activity_02 #s01 .act_title {
    width: 750px; } }

#activity_02 #s01 .upper {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (min-width: 788px) {
    #activity_02 #s01 .upper {
      margin-top: 50px;
      justify-content: space-between; } }
  #activity_02 #s01 .upper .title_01 {
    flex-basis: 100%; }
    @media only screen and (max-width: 787px) {
      #activity_02 #s01 .upper .title_01 {
        order: 2;
        margin-top: 50px; } }
    @media only screen and (min-width: 788px) {
      #activity_02 #s01 .upper .title_01 .ttl {
        flex-basis: 168px; } }
    @media only screen and (max-width: 787px) {
      #activity_02 #s01 .upper .title_01 .ttl {
        flex-basis: 168px;
        transform: scale(0.9); } }
    @media only screen and (min-width: 788px) {
      #activity_02 #s01 .upper .title_01 .ttl_text {
        flex-basis: 91px; } }
    @media only screen and (max-width: 787px) {
      #activity_02 #s01 .upper .title_01 .ttl_text {
        flex-basis: 91px;
        transform: scale(0.9); } }
  @media only screen and (min-width: 788px) {
    #activity_02 #s01 .upper .text_01 {
      position: relative;
      z-index: 2;
      flex-basis: 530px;
      padding-top: 98px; } }
  @media only screen and (max-width: 787px) {
    #activity_02 #s01 .upper .text_01 {
      margin-top: 50px;
      order: 3; } }
  @media only screen and (min-width: 788px) {
    #activity_02 #s01 .upper .text_01 .sttl_03 {
      width: 468px; } }
  @media only screen and (max-width: 787px) {
    #activity_02 #s01 .upper .text_01 .sttl_03 {
      width: 78.57143%; } }
  @media only screen and (min-width: 788px) {
    #activity_02 #s01 .upper .text_01 .para {
      margin-top: 54px; } }
  @media only screen and (max-width: 787px) {
    #activity_02 #s01 .upper .text_01 .para {
      margin-top: 30px; } }
  @media only screen and (min-width: 788px) {
    #activity_02 #s01 .upper .img_01 {
      flex-basis: 280px;
      padding-top: 98px; } }
  @media only screen and (max-width: 787px) {
    #activity_02 #s01 .upper .img_01 {
      order: 1;
      margin: 32px auto 0; } }

@media only screen and (min-width: 788px) {
  #activity_02 #s01 .btns {
    margin-top: 90px; } }

@media only screen and (min-width: 788px) {
  #activity_02 #s02 .activity_lead {
    width: 618px;
    margin: 150px auto 0; } }

@media only screen and (max-width: 787px) {
  #activity_02 #s02 .activity_lead {
    width: 78.80952%;
    margin: 100px auto 0; } }

@media only screen and (min-width: 788px) {
  #activity_02 #s02 .act_title {
    width: 750px; } }

#activity_02 #s02 .upper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

#activity_02 #s02 .title_01 {
  margin-top: 50px;
  flex-basis: 100%; }
  @media only screen and (max-width: 787px) {
    #activity_02 #s02 .title_01 {
      order: 2;
      margin-top: 50px; } }
  #activity_02 #s02 .title_01 .ttl {
    flex-basis: 171px; }
    @media only screen and (max-width: 787px) {
      #activity_02 #s02 .title_01 .ttl {
        transform: scale(0.9); } }
  #activity_02 #s02 .title_01 .ttl_text {
    flex-basis: 68px; }
    @media only screen and (max-width: 787px) {
      #activity_02 #s02 .title_01 .ttl_text {
        transform: scale(0.9); } }

@media only screen and (min-width: 788px) {
  #activity_02 #s02 .text_01 {
    position: relative;
    z-index: 2;
    flex-basis: calc(100% - 320px);
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #activity_02 #s02 .text_01 {
    margin-top: 50px;
    order: 3; } }

@media only screen and (min-width: 788px) {
  #activity_02 #s02 .text_01 .sttl_03 {
    width: 460px; } }

@media only screen and (max-width: 787px) {
  #activity_02 #s02 .text_01 .sttl_03 {
    width: 92.14286%; } }

@media only screen and (min-width: 788px) {
  #activity_02 #s02 .text_01 .para {
    margin-top: 54px; } }

@media only screen and (max-width: 787px) {
  #activity_02 #s02 .text_01 .para {
    margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #activity_02 #s02 .img_01 {
    flex-basis: 280px;
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #activity_02 #s02 .img_01 {
    order: 1;
    margin-top: 50px; } }

#activity_02 #s02 .bottom .btns {
  justify-content: center; }

#activity_03 .filelist,
#activity_03_test .filelist {
  margin-top: 100px; }

@media only screen and (min-width: 788px) {
  #activity_03 .kv,
  #activity_03_test .kv {
    background-image: url("../img/activity_03/kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #activity_03 .kv,
  #activity_03_test .kv {
    background-image: url("../img/activity_03/kv_bg_sp.jpg"); } }

@media only screen and (min-width: 788px) {
  #activity_03 .kv .kv_inner .kv_title,
  #activity_03_test .kv .kv_inner .kv_title {
    width: 415px; } }

@media only screen and (max-width: 787px) {
  #activity_03 .kv .kv_inner .kv_title,
  #activity_03_test .kv .kv_inner .kv_title {
    width: 69.16667%;
    padding: 7.88955% 0 0 6.25%; } }

@media only screen and (min-width: 788px) {
  #activity_03 .kv .kv_inner .kv_text,
  #activity_03_test .kv .kv_inner .kv_text {
    width: 474px; } }

@media only screen and (max-width: 787px) {
  #activity_03 .kv .kv_inner .kv_text,
  #activity_03_test .kv .kv_inner .kv_text {
    width: 83.54167%; } }

@media only screen and (min-width: 788px) {
  #activity_03 .section .inner,
  #activity_03_test .section .inner {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #activity_03 .section .inner,
  #activity_03_test .section .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

#activity_03 .btns,
#activity_03_test .btns {
  justify-content: center; }

@media only screen and (min-width: 788px) {
  #activity_03 #s01,
  #activity_03_test #s01 {
    padding-top: 156px; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s01,
  #activity_03_test #s01 {
    padding-top: 32.30769%; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s01 .activity_lead,
  #activity_03_test #s01 .activity_lead {
    width: 618px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s01 .activity_lead,
  #activity_03_test #s01 .activity_lead {
    width: 79.04762%; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s01 .act_title,
  #activity_03_test #s01 .act_title {
    width: 900px; } }

#activity_03 #s01 .upper,
#activity_03_test #s01 .upper {
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (min-width: 788px) {
    #activity_03 #s01 .upper,
    #activity_03_test #s01 .upper {
      margin-top: 50px;
      justify-content: space-between; } }
  #activity_03 #s01 .upper .title_01,
  #activity_03_test #s01 .upper .title_01 {
    flex-basis: 100%; }
    @media only screen and (max-width: 787px) {
      #activity_03 #s01 .upper .title_01,
      #activity_03_test #s01 .upper .title_01 {
        order: 2;
        margin-top: 50px; } }
    #activity_03 #s01 .upper .title_01 .ttl,
    #activity_03_test #s01 .upper .title_01 .ttl {
      flex-basis: 256px; }
      @media only screen and (max-width: 787px) {
        #activity_03 #s01 .upper .title_01 .ttl,
        #activity_03_test #s01 .upper .title_01 .ttl {
          transform: scale(0.9); } }
    #activity_03 #s01 .upper .title_01 .ttl_text,
    #activity_03_test #s01 .upper .title_01 .ttl_text {
      flex-basis: 81px; }
      @media only screen and (max-width: 787px) {
        #activity_03 #s01 .upper .title_01 .ttl_text,
        #activity_03_test #s01 .upper .title_01 .ttl_text {
          transform: scale(0.9); } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s01 .upper .text_01,
    #activity_03_test #s01 .upper .text_01 {
      position: relative;
      z-index: 2;
      flex-basis: 530px;
      padding-top: 98px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s01 .upper .text_01,
    #activity_03_test #s01 .upper .text_01 {
      margin-top: 50px;
      order: 3; } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s01 .upper .text_01 .sttl_03,
    #activity_03_test #s01 .upper .text_01 .sttl_03 {
      width: 426px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s01 .upper .text_01 .sttl_03,
    #activity_03_test #s01 .upper .text_01 .sttl_03 {
      width: 83.33333%; } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s01 .upper .text_01 .para,
    #activity_03_test #s01 .upper .text_01 .para {
      margin-top: 54px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s01 .upper .text_01 .para,
    #activity_03_test #s01 .upper .text_01 .para {
      margin-top: 30px; } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s01 .upper .img_01,
    #activity_03_test #s01 .upper .img_01 {
      flex-basis: 280px;
      padding-top: 98px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s01 .upper .img_01,
    #activity_03_test #s01 .upper .img_01 {
      order: 1;
      margin-top: 50px; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s01 .btns,
  #activity_03_test #s01 .btns {
    margin-top: 90px; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s02 .activity_lead,
  #activity_03_test #s02 .activity_lead {
    width: 618px;
    margin: 150px auto 0; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s02 .activity_lead,
  #activity_03_test #s02 .activity_lead {
    width: 77.85714%;
    margin: 100px auto 0; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s02 .act_title,
  #activity_03_test #s02 .act_title {
    width: 900px; } }

#activity_03 #s02 .upper,
#activity_03_test #s02 .upper {
  display: flex;
  flex-wrap: wrap; }

#activity_03 #s02 .title_01,
#activity_03_test #s02 .title_01 {
  margin-top: 50px;
  flex-basis: 100%; }
  @media only screen and (max-width: 787px) {
    #activity_03 #s02 .title_01,
    #activity_03_test #s02 .title_01 {
      order: 2;
      margin-top: 50px;
      align-items: flex-end; } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s02 .title_01 .ttl,
    #activity_03_test #s02 .title_01 .ttl {
      flex-basis: 324px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s02 .title_01 .ttl,
    #activity_03_test #s02 .title_01 .ttl {
      flex-basis: 38.33333%; } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s02 .title_01 .ttl_text,
    #activity_03_test #s02 .title_01 .ttl_text {
      flex-basis: 176px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s02 .title_01 .ttl_text,
    #activity_03_test #s02 .title_01 .ttl_text {
      flex-basis: 41.90476%; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s02 .text_01,
  #activity_03_test #s02 .text_01 {
    position: relative;
    z-index: 2;
    flex-basis: calc(100% - 280px);
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s02 .text_01,
  #activity_03_test #s02 .text_01 {
    margin-top: 50px;
    order: 3; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s02 .text_01 .sttl_03,
  #activity_03_test #s02 .text_01 .sttl_03 {
    width: 452px; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s02 .text_01 .sttl_03,
  #activity_03_test #s02 .text_01 .sttl_03 {
    width: 82.61905%; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s02 .text_01 .para,
  #activity_03_test #s02 .text_01 .para {
    margin-top: 54px; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s02 .text_01 .para,
  #activity_03_test #s02 .text_01 .para {
    margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s02 .img_01,
  #activity_03_test #s02 .img_01 {
    flex-basis: 280px;
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s02 .img_01,
  #activity_03_test #s02 .img_01 {
    order: 1;
    margin-top: 50px; } }

#activity_03 #s02 .bottom .btns,
#activity_03_test #s02 .bottom .btns {
  justify-content: center; }

@media only screen and (max-width: 787px) {
  #activity_03 #s04 .group_01,
  #activity_03_test #s04 .group_01 {
    display: flex;
    flex-wrap: wrap; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s04 .group_01 .title_unit,
  #activity_03_test #s04 .group_01 .title_unit {
    order: 2;
    width: 100%; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s04 .group_01 .movie,
  #activity_03_test #s04 .group_01 .movie {
    order: 1;
    width: 100%; } }

#activity_03 #s04 .title_01,
#activity_03_test #s04 .title_01 {
  margin-top: 50px;
  flex-basis: 100%; }
  @media only screen and (max-width: 787px) {
    #activity_03 #s04 .title_01,
    #activity_03_test #s04 .title_01 {
      order: 2;
      margin-top: 50px;
      align-items: flex-end; } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s04 .title_01 .ttl,
    #activity_03_test #s04 .title_01 .ttl {
      flex-basis: 324px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s04 .title_01 .ttl,
    #activity_03_test #s04 .title_01 .ttl {
      flex-basis: 38.33333%; } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s04 .title_01 .ttl_text,
    #activity_03_test #s04 .title_01 .ttl_text {
      flex-basis: 142px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s04 .title_01 .ttl_text,
    #activity_03_test #s04 .title_01 .ttl_text {
      flex-basis: 33.80952%; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s04 .movie,
  #activity_03_test #s04 .movie {
    width: 94.88889%;
    margin: 98px auto 0; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s04 .movie,
  #activity_03_test #s04 .movie {
    margin-top: 60px; } }

#activity_03 #s04 .movie .movie_inner,
#activity_03_test #s04 .movie .movie_inner {
  position: relative;
  padding-top: 56.25%;
  font-size: 0;
  line-height: 1; }

#activity_03 #s04 .movie iframe,
#activity_03_test #s04 .movie iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }

@media only screen and (min-width: 788px) {
  #activity_03 #s04 .bottom,
  #activity_03_test #s04 .bottom {
    display: flex;
    justify-content: space-between;
    margin-top: 100px; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s04 .bottom,
  #activity_03_test #s04 .bottom {
    margin-top: 42px;
    position: relative; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s04 .bottom .text_01,
  #activity_03_test #s04 .bottom .text_01 {
    width: 624px; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s04 .bottom .text_01 .sttl_03,
  #activity_03_test #s04 .bottom .text_01 .sttl_03 {
    width: 529px; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s04 .bottom .text_01 .sttl_03,
  #activity_03_test #s04 .bottom .text_01 .sttl_03 {
    width: 90.95238%; } }

#activity_03 #s04 .bottom .text_01 .para,
#activity_03_test #s04 .bottom .text_01 .para {
  margin-top: 54px; }
  #activity_03 #s04 .bottom .text_01 .para p + p,
  #activity_03_test #s04 .bottom .text_01 .para p + p {
    margin-top: 30px; }
  #activity_03 #s04 .bottom .text_01 .para .para_last:after,
  #activity_03_test #s04 .bottom .text_01 .para .para_last:after {
    display: inline-block;
    content: "";
    vertical-align: text-top;
    margin-top: 4px;
    margin-left: 5px;
    background: url("../img/activity_03/s04_para_last.png") 0 0/contain no-repeat;
    width: 13px;
    height: 19px; }

@media only screen and (min-width: 788px) {
  #activity_03 #s04 .bottom .img_01,
  #activity_03_test #s04 .bottom .img_01 {
    width: 157px; } }

@media only screen and (max-width: 787px) {
  #activity_03 #s04 .bottom .img_01,
  #activity_03_test #s04 .bottom .img_01 {
    position: absolute;
    top: 0;
    right: 0;
    width: 16.19048%; } }

@media only screen and (min-width: 788px) {
  #activity_03 #s04 .btns .column,
  #activity_03_test #s04 .btns .column {
    width: 635px;
    flex-basis: auto; } }

#activity_03 #s04 .btns .btn_text,
#activity_03_test #s04 .btns .btn_text {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-top: 30px; }
  @media only screen and (max-width: 787px) {
    #activity_03 #s04 .btns .btn_text,
    #activity_03_test #s04 .btns .btn_text {
      font-size: 13px; } }

#activity_03 #s03 .research_box,
#activity_03_test #s03 .research_box {
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  padding: 0 9px 0 9px; }
  @media only screen and (min-width: 788px) {
    #activity_03 #s03 .research_box,
    #activity_03_test #s03 .research_box {
      margin-top: 80px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s03 .research_box,
    #activity_03_test #s03 .research_box {
      margin-top: 50px; } }
  #activity_03 #s03 .research_box:before, #activity_03 #s03 .research_box:after,
  #activity_03_test #s03 .research_box:before,
  #activity_03_test #s03 .research_box:after {
    content: "";
    display: block;
    margin: auto;
    left: 0;
    right: 0;
    background-color: #fff;
    position: absolute; }
    @media only screen and (min-width: 788px) {
      #activity_03 #s03 .research_box:before, #activity_03 #s03 .research_box:after,
      #activity_03_test #s03 .research_box:before,
      #activity_03_test #s03 .research_box:after {
        width: 840px;
        height: 40px; } }
    @media only screen and (max-width: 787px) {
      #activity_03 #s03 .research_box:before, #activity_03 #s03 .research_box:after,
      #activity_03_test #s03 .research_box:before,
      #activity_03_test #s03 .research_box:after {
        width: 81.71296%;
        height: 19px; } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s03 .research_box:before,
    #activity_03_test #s03 .research_box:before {
      top: -20px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s03 .research_box:before,
    #activity_03_test #s03 .research_box:before {
      top: -10px; } }
  @media only screen and (min-width: 788px) {
    #activity_03 #s03 .research_box:after,
    #activity_03_test #s03 .research_box:after {
      bottom: -20px; } }
  @media only screen and (max-width: 787px) {
    #activity_03 #s03 .research_box:after,
    #activity_03_test #s03 .research_box:after {
      bottom: -10px; } }
  #activity_03 #s03 .research_box .research_box_inner,
  #activity_03_test #s03 .research_box .research_box_inner {
    border: 1px solid #000; }
    @media only screen and (min-width: 788px) {
      #activity_03 #s03 .research_box .research_box_inner,
      #activity_03_test #s03 .research_box .research_box_inner {
        padding: 0 80px 60px; } }
    @media only screen and (max-width: 787px) {
      #activity_03 #s03 .research_box .research_box_inner,
      #activity_03_test #s03 .research_box .research_box_inner {
        padding: 0 7.5% 46px; } }
    #activity_03 #s03 .research_box .research_box_inner .research_box_title,
    #activity_03_test #s03 .research_box .research_box_inner .research_box_title {
      background-color: #fff;
      margin: 0 auto; }
      @media only screen and (min-width: 788px) {
        #activity_03 #s03 .research_box .research_box_inner .research_box_title,
        #activity_03_test #s03 .research_box .research_box_inner .research_box_title {
          width: 289px;
          margin-top: -20px; } }
      @media only screen and (max-width: 787px) {
        #activity_03 #s03 .research_box .research_box_inner .research_box_title,
        #activity_03_test #s03 .research_box .research_box_inner .research_box_title {
          width: 67.94118%;
          margin-top: -10px; } }
      #activity_03 #s03 .research_box .research_box_inner .research_box_title h4,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_title h4 {
        margin: 0 auto;
        line-height: 1; }
        @media only screen and (min-width: 788px) {
          #activity_03 #s03 .research_box .research_box_inner .research_box_title h4,
          #activity_03_test #s03 .research_box .research_box_inner .research_box_title h4 {
            width: 208px; } }
        @media only screen and (max-width: 787px) {
          #activity_03 #s03 .research_box .research_box_inner .research_box_title h4,
          #activity_03_test #s03 .research_box .research_box_inner .research_box_title h4 {
            width: 135px; } }
    @media only screen and (min-width: 788px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_lead,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_lead {
        width: 574px;
        margin: 40px auto 0; } }
    @media only screen and (max-width: 787px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_lead,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_lead {
        width: 86.47059%;
        margin: 10px auto 0; } }
    @media only screen and (min-width: 788px) {
      #activity_03 #s03 .research_box .research_box_inner .researh_box_download_title,
      #activity_03_test #s03 .research_box .research_box_inner .researh_box_download_title {
        margin-top: 40px; } }
    @media only screen and (max-width: 787px) {
      #activity_03 #s03 .research_box .research_box_inner .researh_box_download_title,
      #activity_03_test #s03 .research_box .research_box_inner .researh_box_download_title {
        margin-top: 20px; } }
    @media only screen and (min-width: 788px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_download_btns,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_download_btns {
        display: flex;
        justify-content: center; } }
    @media only screen and (min-width: 788px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_download_btns .column,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_download_btns .column {
        flex-basis: 348px;
        margin-right: 24px; } }
    @media only screen and (max-width: 787px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_download_btns .column,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_download_btns .column {
        margin-top: 25px; } }
    @media only screen and (min-width: 788px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_download_btns .column .comment,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_download_btns .column .comment {
        margin: 18px auto 0; } }
    @media only screen and (max-width: 787px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_download_btns .column .comment,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_download_btns .column .comment {
        margin-top: 18px; } }
    @media only screen and (min-width: 788px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_download_btns .column .comment img,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_download_btns .column .comment img {
        height: 75px; } }
    @media only screen and (max-width: 787px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_download_btns .column .comment img,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_download_btns .column .comment img {
        height: 16vw; } }
    @media only screen and (min-width: 788px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_download_btns .btn .arrow,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_download_btns .btn .arrow {
        width: 40px;
        margin: 0 auto 30px; } }
    @media only screen and (max-width: 787px) {
      #activity_03 #s03 .research_box .research_box_inner .research_box_download_btns .btn .arrow,
      #activity_03_test #s03 .research_box .research_box_inner .research_box_download_btns .btn .arrow {
        display: none; } }

@media only screen and (min-width: 788px) {
  #activity_03 .btns,
  #activity_03_test .btns {
    margin-top: 90px; } }

@media only screen and (min-width: 788px) {
  #background .kv {
    background-image: url("../img/background/kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #background .kv {
    background-image: url("../img/background/kv_bg_sp.jpg"); } }

@media only screen and (min-width: 788px) {
  #background .kv .kv_inner .kv_title {
    width: 340px; } }

@media only screen and (max-width: 787px) {
  #background .kv .kv_inner .kv_title {
    width: 64.7619%;
    padding-top: 42.61538%; } }

@media only screen and (min-width: 788px) {
  #background .kv .kv_inner .kv_text {
    width: 211px; } }

@media only screen and (max-width: 787px) {
  #background .kv .kv_inner .kv_text {
    width: 44.52381%; } }

@media only screen and (min-width: 788px) {
  #background .section .inner {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #background .section .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

@media only screen and (min-width: 788px) {
  #background #s01 {
    padding-top: 156px; } }

@media only screen and (max-width: 787px) {
  #background #s01 {
    padding-top: 32.30769%; } }

@media only screen and (min-width: 788px) {
  #background #s01 .upper {
    display: flex;
    flex-wrap: wrap; } }

@media only screen and (min-width: 788px) {
  #background #s01 .upper {
    margin-top: 50px;
    justify-content: space-between; } }

@media only screen and (min-width: 788px) {
  #background #s01 .upper .title_01 {
    flex-basis: 100%; } }

@media only screen and (max-width: 787px) {
  #background #s01 .upper .title_01 {
    order: 2;
    margin-top: 50px; } }

#background #s01 .upper .title_01 .ttl {
  flex-basis: 260px; }
  @media only screen and (max-width: 787px) {
    #background #s01 .upper .title_01 .ttl {
      transform-origin: 0 0;
      transform: scale(0.9); } }

#background #s01 .upper .title_01 .ttl_text {
  flex-basis: 120px; }
  @media only screen and (max-width: 787px) {
    #background #s01 .upper .title_01 .ttl_text {
      transform: scale(0.9); } }

@media only screen and (min-width: 788px) {
  #background #s01 .upper .text_01 {
    position: relative;
    z-index: 2;
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #background #s01 .upper .text_01 {
    margin-top: 50px;
    order: 3; } }

@media only screen and (min-width: 788px) {
  #background #s01 .upper .text_01 .sttl_01 {
    width: 557px; } }

@media only screen and (max-width: 787px) {
  #background #s01 .upper .text_01 .sttl_01 {
    width: 78.09524%; } }

@media only screen and (min-width: 788px) {
  #background #s01 .upper .text_01 .para {
    margin-top: 54px; } }

@media only screen and (max-width: 787px) {
  #background #s01 .upper .text_01 .para {
    margin-top: 30px; } }

#background #s01 .upper .s01_text_list {
  line-height: 1; }
  @media only screen and (min-width: 788px) {
    #background #s01 .upper .s01_text_list {
      margin-top: 58px; } }
  @media only screen and (max-width: 787px) {
    #background #s01 .upper .s01_text_list {
      margin-top: 33px; } }
  @media only screen and (min-width: 788px) {
    #background #s01 .upper .s01_text_list li img {
      height: 23px; } }
  #background #s01 .upper .s01_text_list li + li {
    margin-top: 13px; }
  @media only screen and (min-width: 788px) {
    #background #s01 .upper .s01_text_list .num_01 {
      width: 393px; } }
  @media only screen and (max-width: 787px) {
    #background #s01 .upper .s01_text_list .num_01 {
      transform-origin: 0 0;
      width: 93.57143%; } }
  @media only screen and (min-width: 788px) {
    #background #s01 .upper .s01_text_list .num_02 {
      width: 742px; } }
  @media only screen and (max-width: 787px) {
    #background #s01 .upper .s01_text_list .num_02 {
      width: 100%; } }
  @media only screen and (min-width: 788px) {
    #background #s01 .upper .s01_text_list .num_03 {
      width: 771px; } }
  @media only screen and (max-width: 787px) {
    #background #s01 .upper .s01_text_list .num_03 {
      width: 100%; } }

#background #s02 {
  margin-top: 100px; }
  #background #s02 .upper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  #background #s02 .title_01 {
    flex-basis: 100%; }
    @media only screen and (max-width: 787px) {
      #background #s02 .title_01 {
        order: 2;
        margin-top: 50px; } }
    #background #s02 .title_01 .ttl {
      flex-basis: 127px; }
      @media only screen and (max-width: 787px) {
        #background #s02 .title_01 .ttl {
          transform: scale(0.9); } }
    #background #s02 .title_01 .ttl_text {
      flex-basis: 124px; }
      @media only screen and (max-width: 787px) {
        #background #s02 .title_01 .ttl_text {
          transform: scale(0.9); } }
  @media only screen and (min-width: 788px) {
    #background #s02 .text_01 {
      position: relative;
      z-index: 2;
      padding-top: 98px;
      flex-basis: calc(100% - 320px); } }
  @media only screen and (max-width: 787px) {
    #background #s02 .text_01 {
      margin-top: 50px;
      order: 3; } }
  @media only screen and (min-width: 788px) {
    #background #s02 .text_01 .sttl_01 {
      width: 421px; } }
  @media only screen and (max-width: 787px) {
    #background #s02 .text_01 .sttl_01 {
      width: 91.42857%; } }
  @media only screen and (min-width: 788px) {
    #background #s02 .text_01 .para {
      margin-top: 54px; } }
  @media only screen and (max-width: 787px) {
    #background #s02 .text_01 .para {
      margin-top: 30px; } }
  @media only screen and (min-width: 788px) {
    #background #s02 .img_01 {
      flex-basis: 280px;
      padding-top: 98px; } }
  @media only screen and (max-width: 787px) {
    #background #s02 .img_01 {
      order: 1; } }

#background .red_bg {
  background-color: #D61619; }
  @media only screen and (min-width: 788px) {
    #background .red_bg {
      padding: 100px 0;
      margin-top: 100px; } }
  @media only screen and (max-width: 787px) {
    #background .red_bg {
      padding: 80px 0;
      margin-top: 50px; } }
  #background .red_bg .attention {
    font-size: 15px; }
    @media only screen and (min-width: 788px) {
      #background .red_bg .attention {
        margin-top: 64px; } }
    @media only screen and (max-width: 787px) {
      #background .red_bg .attention {
        margin-top: 44px;
        font-size: 12px;
        text-align: center; } }
  #background .red_bg .sttl_02 {
    margin: 0 auto;
    line-height: 1; }
    @media only screen and (min-width: 788px) {
      #background .red_bg .sttl_02 {
        width: 243px; } }
    @media only screen and (max-width: 787px) {
      #background .red_bg .sttl_02 {
        width: 57.85714%; } }
  @media only screen and (min-width: 788px) {
    #background .red_bg #avg_income {
      margin-top: 80px;
      display: flex;
      flex-wrap: wrap; } }
  #background .red_bg .box {
    box-sizing: border-box; }
    @media only screen and (min-width: 788px) {
      #background .red_bg .box {
        flex-basis: 300px; } }
    @media only screen and (max-width: 787px) {
      #background .red_bg .box {
        margin-top: 50px; } }
    #background .red_bg .box .box_title {
      font-weight: bold;
      text-align: center;
      line-height: 1;
      font-size: 20px; }
    #background .red_bg .box .income {
      line-height: 1;
      text-align: center; }
      @media only screen and (min-width: 788px) {
        #background .red_bg .box .income {
          margin-top: 30px; } }
      @media only screen and (max-width: 787px) {
        #background .red_bg .box .income {
          margin-top: 23px; } }
    #background .red_bg .box .box_upper {
      padding-bottom: 40px; }
      #background .red_bg .box .box_upper .income span {
        line-height: 1;
        font-size: 24px;
        font-weight: bold; }
      #background .red_bg .box .box_upper .income .number {
        color: #fff;
        font-size: 64px;
        letter-spacing: -0.1rem;
        font-family: Arial, sans-serif; }
    #background .red_bg .box .box_bottom {
      padding-top: 40px;
      border-top: 1px dotted #000; }
      @media only screen and (max-width: 787px) {
        #background .red_bg .box .box_bottom {
          width: 70.2381%;
          margin: 0 auto; } }
      #background .red_bg .box .box_bottom .income span {
        font-size: 24px;
        font-weight: bold; }
      #background .red_bg .box .box_bottom .income .number {
        color: #fff;
        font-size: 54px;
        font-weight: normal;
        letter-spacing: -0.1rem;
        font-family: Arial, sans-serif; }
  @media only screen and (min-width: 788px) {
    #background .red_bg .box + .box {
      border-left: 1px solid #000; } }
  @media only screen and (max-width: 787px) {
    #background .red_bg .box + .box {
      padding-top: 50px;
      border-top: 1px solid #000; } }

@media only screen and (min-width: 788px) {
  #background #s03 {
    margin-top: 100px; } }

@media only screen and (max-width: 787px) {
  #background #s03 {
    margin-top: 100px; } }

#background #s03 .attention {
  font-size: 15px;
  text-align: center; }
  @media only screen and (min-width: 788px) {
    #background #s03 .attention {
      margin-top: 50px; } }
  @media only screen and (max-width: 787px) {
    #background #s03 .attention {
      margin-top: 30px; } }

#background #s03 .upper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

#background #s03 .title_01 {
  flex-basis: 100%; }
  @media only screen and (max-width: 787px) {
    #background #s03 .title_01 {
      order: 2;
      margin-top: 50px; } }
  #background #s03 .title_01 .ttl {
    flex-basis: 172px; }
    @media only screen and (max-width: 787px) {
      #background #s03 .title_01 .ttl {
        transform: scale(0.9); } }
  #background #s03 .title_01 .ttl_text {
    flex-basis: 208px; }
    @media only screen and (max-width: 787px) {
      #background #s03 .title_01 .ttl_text {
        transform: scale(0.9); } }

@media only screen and (min-width: 788px) {
  #background #s03 .text_01 {
    position: relative;
    z-index: 2;
    padding-top: 98px;
    flex-basis: calc(100% - 320px); } }

@media only screen and (max-width: 787px) {
  #background #s03 .text_01 {
    margin-top: 50px;
    order: 3; } }

@media only screen and (min-width: 788px) {
  #background #s03 .text_01 .sttl_01 {
    width: 307px; } }

@media only screen and (max-width: 787px) {
  #background #s03 .text_01 .sttl_01 {
    width: 73.09524%; } }

@media only screen and (min-width: 788px) {
  #background #s03 .text_01 .para {
    margin-top: 54px; } }

@media only screen and (max-width: 787px) {
  #background #s03 .text_01 .para {
    margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #background #s03 .img_01 {
    flex-basis: 280px;
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #background #s03 .img_01 {
    order: 1; } }

#background #s03 .btns {
  display: flex;
  justify-content: center; }
  @media only screen and (min-width: 788px) {
    #background #s03 .btns {
      margin-top: 100px; } }
  @media only screen and (max-width: 787px) {
    #background #s03 .btns {
      margin-top: 50px; } }
  @media only screen and (min-width: 788px) {
    #background #s03 .btns .column {
      flex-basis: 435px; } }

#background #s03 .gray_bg {
  background-color: #edeff1; }
  #background #s03 .gray_bg .attention {
    font-size: 15px; }
    @media only screen and (min-width: 788px) {
      #background #s03 .gray_bg .attention {
        margin-top: 77px;
        text-align: left; } }
    @media only screen and (max-width: 787px) {
      #background #s03 .gray_bg .attention {
        margin-top: 50px; } }
  @media only screen and (min-width: 788px) {
    #background #s03 .gray_bg {
      margin-top: 100px;
      padding: 100px 0; } }
  @media only screen and (max-width: 787px) {
    #background #s03 .gray_bg {
      margin-top: 50px;
      padding: 80px 0; } }
  #background #s03 .gray_bg .sttl_02 {
    margin: 0 auto; }
    @media only screen and (min-width: 788px) {
      #background #s03 .gray_bg .sttl_02 {
        width: 356px; } }
    @media only screen and (max-width: 787px) {
      #background #s03 .gray_bg .sttl_02 {
        width: 84.7619%; } }
  @media only screen and (min-width: 788px) {
    #background #s03 .gray_bg .graph_units {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; } }
  @media only screen and (min-width: 788px) {
    #background #s03 .gray_bg .graph_units .unit {
      margin-top: 85px;
      flex-basis: 430px; } }
  @media only screen and (max-width: 787px) {
    #background #s03 .gray_bg .graph_units .unit {
      margin-top: 80px; } }
  #background #s03 .gray_bg .graph_units .unit .unit_title {
    margin: 0 auto;
    font-weight: bold; }
    @media only screen and (min-width: 788px) {
      #background #s03 .gray_bg .graph_units .unit .unit_title {
        width: 180px; } }
    @media only screen and (max-width: 787px) {
      #background #s03 .gray_bg .graph_units .unit .unit_title {
        width: 42.85714%; } }
  #background #s03 .gray_bg .graph_units .unit .graph_row {
    margin-top: 40px; }
    #background #s03 .gray_bg .graph_units .unit .graph_row .graph_title {
      font-weight: bold; }
    #background #s03 .gray_bg .graph_units .unit .graph_row.animated .bg .number .counter {
      display: inline-block; }
  #background #s03 .gray_bg .graph_units .unit .bg {
    overflow: hidden;
    margin-top: 20px;
    line-height: 1;
    background-color: #fff;
    height: 50px; }
    #background #s03 .gray_bg .graph_units .unit .bg .elem {
      height: 50px;
      transition: all 0.6s ease;
      width: 100%;
      transform: translateX(-100%);
      transform-origin: top left;
      position: relative; }
      #background #s03 .gray_bg .graph_units .unit .bg .elem.red {
        background-color: #D61619; }
      #background #s03 .gray_bg .graph_units .unit .bg .elem.black {
        background-color: #000; }
    #background #s03 .gray_bg .graph_units .unit .bg .number {
      font-family: Arial, sans-serif;
      position: absolute;
      font-size: 12px;
      font-weight: bold;
      right: 10px;
      top: 18px;
      color: #fff;
      z-index: 2;
      line-height: 1; }

@media only screen and (min-width: 788px) {
  #background #s04 {
    margin-top: 100px; } }

@media only screen and (max-width: 787px) {
  #background #s04 {
    margin-top: 100px; } }

#background #s04 .upper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

#background #s04 .title_01 {
  flex-basis: 100%; }
  @media only screen and (max-width: 787px) {
    #background #s04 .title_01 {
      order: 2;
      margin-top: 50px; } }
  #background #s04 .title_01 .ttl {
    flex-basis: 149px; }
    @media only screen and (max-width: 787px) {
      #background #s04 .title_01 .ttl {
        transform: scale(0.9); } }
  #background #s04 .title_01 .ttl_text {
    flex-basis: 82px; }
    @media only screen and (max-width: 787px) {
      #background #s04 .title_01 .ttl_text {
        transform: scale(0.9); } }

@media only screen and (min-width: 788px) {
  #background #s04 .text_01 {
    position: relative;
    z-index: 2;
    padding-top: 98px;
    flex-basis: calc(100% - 435px);
    display: flex;
    flex-direction: column;
    justify-content: space-between; } }

@media only screen and (max-width: 787px) {
  #background #s04 .text_01 {
    margin-top: 50px;
    order: 3; } }

@media only screen and (min-width: 788px) {
  #background #s04 .text_01 .sttl_01 {
    width: 374px; } }

@media only screen and (max-width: 787px) {
  #background #s04 .text_01 .sttl_01 {
    width: 89.04762%; } }

@media only screen and (min-width: 788px) {
  #background #s04 .text_01 .para {
    margin-top: 54px; } }

@media only screen and (max-width: 787px) {
  #background #s04 .text_01 .para {
    margin-top: 30px; } }

@media only screen and (min-width: 788px) {
  #background #s04 .img_01 {
    flex-basis: 400px;
    padding-top: 98px; } }

@media only screen and (max-width: 787px) {
  #background #s04 .img_01 {
    order: 1; } }

@media only screen and (min-width: 788px) {
  #recruit .kv {
    background-image: url("../img/recruit/kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #recruit .kv {
    background-image: url("../img/recruit/kv_bg_sp.jpg"); } }

@media only screen and (min-width: 788px) {
  #recruit .kv .kv_inner .kv_title {
    width: 197px; } }

@media only screen and (max-width: 787px) {
  #recruit .kv .kv_inner .kv_title {
    width: 37.61905%;
    padding-top: 5.84615%; } }

@media only screen and (min-width: 788px) {
  #recruit .kv .kv_inner .kv_text {
    width: 175px; } }

@media only screen and (max-width: 787px) {
  #recruit .kv .kv_inner .kv_text {
    width: 41.66667%; } }

@media only screen and (min-width: 788px) {
  #recruit .section .inner {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #recruit .section .inner {
    width: 87.5%;
    margin: 0 auto;
    max-width: 640px; } }

#recruit .recruit_lead_text {
  font-weight: bold; }
  @media only screen and (min-width: 788px) {
    #recruit .recruit_lead_text {
      font-size: 25px;
      margin-top: 140px; } }
  @media only screen and (max-width: 787px) {
    #recruit .recruit_lead_text {
      font-size: 20px;
      margin-top: 100px; } }

@media only screen and (min-width: 788px) {
  #recruit #s01 {
    padding-top: 156px; } }

@media only screen and (max-width: 787px) {
  #recruit #s01 {
    padding-top: 32.30769%; } }

@media only screen and (min-width: 788px) {
  #recruit #s01 .upper {
    margin-top: 100px;
    padding: 0 100px 0; } }

@media only screen and (max-width: 787px) {
  #recruit #s01 .upper {
    padding: 0 5.2381% 0; } }

#recruit #s01 .bottom {
  border-top: 1px dotted #000; }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .bottom {
      padding: 100px 100px 0;
      margin-top: 100px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .bottom {
      padding: 40px 5.2381% 0;
      margin-top: 40px; } }

#recruit #s01 .sttl_01 {
  line-height: 1; }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .sttl_01 {
      width: 147px;
      margin-top: 100px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .sttl_01 {
      margin-top: 38px;
      width: 35%; } }

#recruit #s01 .sttl_02 {
  line-height: 1; }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .sttl_02 {
      width: 207px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .sttl_02 {
      width: 49.28571%; } }

@media only screen and (min-width: 788px) {
  #recruit #s01 .s01_text_list_01 {
    display: flex;
    margin-top: 51px; } }

@media only screen and (max-width: 787px) {
  #recruit #s01 .s01_text_list_01 {
    margin-top: 30px; } }

#recruit #s01 .s01_text_list_01 li {
  line-height: 1; }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_01 li {
      margin-right: 25px; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_01 li.num_01 {
      flex-basis: 96px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .s01_text_list_01 li.num_01 {
      width: 25.26316%; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_01 li.num_02 {
      flex-basis: 161px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .s01_text_list_01 li.num_02 {
      width: 42.63158%; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_01 li.num_03 {
      flex-basis: 216px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .s01_text_list_01 li.num_03 {
      width: 56.84211%; } }

@media only screen and (max-width: 787px) {
  #recruit #s01 .s01_text_list_01 li + li {
    margin-top: 15px; } }

@media only screen and (min-width: 788px) {
  #recruit #s01 .s01_text_list_02 {
    margin-top: 51px; } }

@media only screen and (max-width: 787px) {
  #recruit #s01 .s01_text_list_02 {
    margin-top: 30px; } }

#recruit #s01 .s01_text_list_02 li {
  line-height: 1;
  font-size: 0;
  text-align: left;
  transform-origin: 0 0; }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_02 li img {
      height: 22px;
      font-size: 0;
      vertical-align: bottom;
      margin-right: auto; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_02 li.num_01 {
      width: 554px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .s01_text_list_02 li.num_01 img {
      width: 80.52632%; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_02 li.num_02 {
      width: 695px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .s01_text_list_02 li.num_02 {
      width: 98.94737%; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_02 li.num_03 {
      width: 566px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .s01_text_list_02 li.num_03 {
      width: 73.94737%; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_02 li.num_04 {
      width: 465px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .s01_text_list_02 li.num_04 {
      width: 68.42105%; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_02 li.num_05 {
      width: 578px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .s01_text_list_02 li.num_05 {
      width: 91.84211%; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .s01_text_list_02 li.num_06 {
      width: 367px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .s01_text_list_02 li.num_06 {
      width: 63.42105%; } }

#recruit #s01 .s01_text_list_02 li + li {
  margin-top: 20px; }

#recruit #s01 .attention {
  margin-top: 50px; }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .attention {
      font-size: 14px; } }

#recruit #s01 .btns {
  display: flex;
  justify-content: center; }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .btns {
      margin-top: 100px; } }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .btns {
      margin-top: 50px; } }
  @media only screen and (min-width: 788px) {
    #recruit #s01 .btns .column {
      flex-basis: 435px; } }

#recruit #s01 .title_01 {
  margin-top: 147px;
  flex-basis: 100%; }
  @media only screen and (max-width: 787px) {
    #recruit #s01 .title_01 {
      order: 2;
      margin-top: 50px; } }
  #recruit #s01 .title_01 .ttl {
    flex-basis: 84px; }
    @media only screen and (max-width: 787px) {
      #recruit #s01 .title_01 .ttl {
        transform: scale(0.9); } }
  #recruit #s01 .title_01 .ttl_text {
    flex-basis: 92px; }
    @media only screen and (max-width: 787px) {
      #recruit #s01 .title_01 .ttl_text {
        transform: scale(0.9); } }

@media only screen and (min-width: 788px) {
  #newslist .kv,
  #category .kv {
    background-image: url("../img/newslist/kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #newslist .kv,
  #category .kv {
    background-image: url("../img/newslist/kv_bg_sp.jpg"); } }

@media only screen and (max-width: 787px) {
  #newslist .kv .kv_inner,
  #category .kv .kv_inner {
    display: flex;
    flex-direction: column;
    justify-content: center; } }

#newslist .kv .kv_inner .kv_title,
#category .kv .kv_inner .kv_title {
  margin: 0 auto; }
  @media only screen and (min-width: 788px) {
    #newslist .kv .kv_inner .kv_title,
    #category .kv .kv_inner .kv_title {
      padding: 0;
      width: 425px;
      padding-top: 317px; } }
  @media only screen and (max-width: 787px) {
    #newslist .kv .kv_inner .kv_title,
    #category .kv .kv_inner .kv_title {
      width: 71.66667%;
      padding: 0; } }

#newslist .kv .kv_inner .kv_text,
#category .kv .kv_inner .kv_text {
  margin: 0 auto; }
  @media only screen and (min-width: 788px) {
    #newslist .kv .kv_inner .kv_text,
    #category .kv .kv_inner .kv_text {
      width: 232px; } }
  @media only screen and (max-width: 787px) {
    #newslist .kv .kv_inner .kv_text,
    #category .kv .kv_inner .kv_text {
      padding: 0;
      margin-top: 30px;
      width: 46.90476%; } }

@media only screen and (min-width: 788px) {
  #newslist .section,
  #category .section {
    padding-top: 156px; } }

@media only screen and (max-width: 787px) {
  #newslist .section,
  #category .section {
    padding-top: 32.30769%; } }

#newslist .section .inner,
#category .section .inner {
  margin: 0 auto; }
  @media only screen and (min-width: 788px) {
    #newslist .section .inner,
    #category .section .inner {
      width: 930px; } }
  @media only screen and (max-width: 787px) {
    #newslist .section .inner,
    #category .section .inner {
      width: 87.5%;
      margin: 0 auto;
      max-width: 640px; } }

@media only screen and (min-width: 788px) {
  #newslist .title_01,
  #category .title_01 {
    width: 900px;
    margin: 0 auto; } }

@media only screen and (max-width: 787px) {
  #newslist .title_01,
  #category .title_01 {
    order: 2;
    margin-top: 50px;
    display: block; } }

#newslist .title_01 .ttl,
#category .title_01 .ttl {
  flex-basis: 80px; }
  @media only screen and (max-width: 787px) {
    #newslist .title_01 .ttl,
    #category .title_01 .ttl {
      width: 80px;
      transform-origin: 0 0;
      transform: scale(0.9); } }

#newslist .title_01 .ttl_categories,
#category .title_01 .ttl_categories {
  display: flex; }
  @media only screen and (max-width: 787px) {
    #newslist .title_01 .ttl_categories,
    #category .title_01 .ttl_categories {
      justify-content: space-around; } }
  @media only screen and (min-width: 788px) {
    #newslist .title_01 .ttl_categories li,
    #category .title_01 .ttl_categories li {
      font-size: 15px;
      margin-right: 18px; } }
  @media only screen and (max-width: 787px) {
    #newslist .title_01 .ttl_categories li,
    #category .title_01 .ttl_categories li {
      font-size: 13px;
      margin-top: 1rem; } }
  #newslist .title_01 .ttl_categories li.current-cat a,
  #category .title_01 .ttl_categories li.current-cat a {
    color: #000; }
  #newslist .title_01 .ttl_categories a,
  #category .title_01 .ttl_categories a {
    color: #b4b4b4;
    font-weight: bold;
    text-decoration: none; }
    #newslist .title_01 .ttl_categories a:hover,
    #category .title_01 .ttl_categories a:hover {
      color: #000; }

@media only screen and (min-width: 788px) {
  #newslist .articles,
  #category .articles {
    margin-top: 135px; } }

@media only screen and (max-width: 787px) {
  #newslist .articles,
  #category .articles {
    margin-top: 25px; } }

#newslist .article,
#category .article {
  position: relative; }
  @media only screen and (min-width: 788px) {
    #newslist .article,
    #category .article {
      width: 900px;
      margin: 0 auto;
      padding: 15px;
      min-height: 280px; } }
  #newslist .article .newmark,
  #category .article .newmark {
    line-height: 1;
    color: #d61619;
    font-weight: bold; }
    @media only screen and (min-width: 788px) {
      #newslist .article .newmark,
      #category .article .newmark {
        position: absolute;
        top: -15px; } }
    @media only screen and (max-width: 787px) {
      #newslist .article .newmark,
      #category .article .newmark {
        margin-bottom: 15px; } }
  #newslist .article a,
  #category .article a {
    text-decoration: none; }
    @media only screen and (min-width: 788px) {
      #newslist .article a,
      #category .article a {
        display: flex;
        justify-content: space-between; } }
  @media only screen and (min-width: 788px) {
    #newslist .article .figure,
    #category .article .figure {
      flex-basis: 50%;
      margin-right: 30px;
      min-height: 280px; } }
  #newslist .article .figure img,
  #category .article .figure img {
    object-fit: cover;
    height: 280px; }
  #newslist .article:hover,
  #category .article:hover {
    background-color: #f5f6f7; }
  @media only screen and (min-width: 788px) {
    #newslist .article .text,
    #category .article .text {
      flex-basis: 50%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: space-between;
      min-height: 280px; } }
  #newslist .article .text .article_title,
  #category .article .text .article_title {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5; }
    @media only screen and (max-width: 787px) {
      #newslist .article .text .article_title,
      #category .article .text .article_title {
        margin-top: 25px; } }
  #newslist .article .text .article_date_category,
  #category .article .text .article_date_category {
    line-height: 1;
    font-size: 15px;
    display: flex; }
    @media only screen and (max-width: 787px) {
      #newslist .article .text .article_date_category,
      #category .article .text .article_date_category {
        margin-top: 18px;
        color: #787878; } }
    #newslist .article .text .article_date_category span,
    #category .article .text .article_date_category span {
      margin: 0 0.5rem; }
  #newslist .article .text .article_excerpt,
  #category .article .text .article_excerpt {
    font-size: 15px; }
    @media only screen and (max-width: 787px) {
      #newslist .article .text .article_excerpt,
      #category .article .text .article_excerpt {
        margin-top: 15px;
        color: #787878; } }

@media only screen and (min-width: 788px) {
  #newslist .article + .article,
  #category .article + .article {
    margin-top: 70px; } }

@media only screen and (max-width: 787px) {
  #newslist .article + .article,
  #category .article + .article {
    border-top: 1px dotted #000;
    padding-top: 50px;
    margin-top: 50px; } }

@media only screen and (min-width: 788px) {
  #single .kv {
    background-image: url("../img/single/kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #single .kv {
    background-image: url("../img/single/kv_bg_sp.jpg"); } }

@media only screen and (max-width: 787px) {
  #single .kv .kv_inner {
    display: flex;
    flex-direction: column;
    justify-content: center; } }

#single .kv .kv_inner .kv_title {
  margin: 0 auto;
  font-weight: bold;
  line-height: 1.5;
  text-align: center; }
  @media only screen and (min-width: 788px) {
    #single .kv .kv_inner .kv_title {
      padding: 0;
      width: 630px;
      font-size: 30px;
      padding-top: 317px; } }
  @media only screen and (max-width: 787px) {
    #single .kv .kv_inner .kv_title {
      width: 90%;
      font-size: 24px;
      padding: 0; } }

#single .kv .kv_inner .kv_text {
  line-height: 1;
  font-size: 15px;
  display: flex;
  justify-content: center; }
  #single .kv .kv_inner .kv_text .newmark {
    margin-right: 1rem;
    line-height: 1;
    color: #d61619;
    font-weight: bold; }
  @media only screen and (max-width: 787px) {
    #single .kv .kv_inner .kv_text {
      margin-top: 18px;
      color: #787878;
      padding-left: 0; } }
  #single .kv .kv_inner .kv_text span {
    margin: 0 0.5rem; }

@media only screen and (min-width: 788px) {
  #single .section {
    padding-top: 156px; } }

@media only screen and (max-width: 787px) {
  #single .section {
    padding-top: 32.30769%; } }

#single .section .upper {
  margin-bottom: 2rem; }

#single .section .inner {
  margin: 0 auto; }

#single #sns_btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media only screen and (min-width: 788px) {
    #single #sns_btns {
      margin-top: 100px;
      align-items: center; } }
  @media only screen and (max-width: 787px) {
    #single #sns_btns {
      margin-top: 4rem; } }
  #single #sns_btns .btn {
    margin-right: 10px;
    line-height: 1;
    padding-top: 1rem; }

#single .pagenav {
  line-height: 1;
  padding-top: 50px;
  margin-top: 100px;
  border-top: 1px dotted #000;
  font-family: Arial;
  font-weight: bold; }
  @media only screen and (min-width: 788px) {
    #single .pagenav {
      font-size: 25px; } }
  @media only screen and (max-width: 787px) {
    #single .pagenav {
      font-size: 18px; } }
  #single .pagenav ul {
    display: flex;
    justify-content: center; }
  #single .pagenav li.pagenav_link {
    flex-basis: 33%; }
    @media only screen and (min-width: 788px) {
      #single .pagenav li.pagenav_link.prev {
        text-align: center; } }
    @media only screen and (max-width: 787px) {
      #single .pagenav li.pagenav_link.prev {
        text-align: right; } }
    #single .pagenav li.pagenav_link.alllink {
      text-align: center; }
      @media only screen and (min-width: 788px) {
        #single .pagenav li.pagenav_link.alllink {
          margin: 0 140px; } }
      @media only screen and (max-width: 787px) {
        #single .pagenav li.pagenav_link.alllink {
          margin: 0 20px; } }
    @media only screen and (min-width: 788px) {
      #single .pagenav li.pagenav_link.next {
        text-align: center; } }
    @media only screen and (max-width: 787px) {
      #single .pagenav li.pagenav_link.next {
        text-align: left; } }
  #single .pagenav a {
    text-decoration: none; }

@media only screen and (min-width: 788px) {
  #results_indi .kv,
  #results_corp .kv {
    background-image: url("../img/results/kv_bg.jpg"); } }

@media only screen and (max-width: 787px) {
  #results_indi .kv,
  #results_corp .kv {
    background-image: url("../img/results/kv_bg_sp.jpg"); } }

#results_indi .kv .kv_inner,
#results_corp .kv .kv_inner {
  display: flex;
  justify-content: center;
  align-items: center; }

@media only screen and (min-width: 788px) {
  #results_indi .kv .results_pagetitle,
  #results_corp .kv .results_pagetitle {
    width: 522px; } }

@media only screen and (max-width: 787px) {
  #results_indi .kv .results_pagetitle,
  #results_corp .kv .results_pagetitle {
    width: 83.46667%; } }

#results_indi .results_article,
#results_corp .results_article {
  padding-top: 93px; }
  #results_indi .results_article .inner,
  #results_corp .results_article .inner {
    margin: 0 auto; }
    @media only screen and (min-width: 788px) {
      #results_indi .results_article .inner,
      #results_corp .results_article .inner {
        width: 900px; } }
    @media only screen and (max-width: 787px) {
      #results_indi .results_article .inner,
      #results_corp .results_article .inner {
        width: 90%; } }

#results_indi .results_title,
#results_corp .results_title {
  font-weight: bold;
  line-height: 1;
  text-align: center;
  border-bottom: 1px solid #000;
  padding-bottom: 21px; }
  @media only screen and (min-width: 788px) {
    #results_indi .results_title,
    #results_corp .results_title {
      font-size: 30px; } }
  @media only screen and (max-width: 787px) {
    #results_indi .results_title,
    #results_corp .results_title {
      font-size: 20px; } }

@media only screen and (min-width: 788px) {
  #results_indi .results_list,
  #results_corp .results_list {
    padding: 0 30px;
    margin-top: 40px; } }

@media only screen and (max-width: 787px) {
  #results_indi .results_list,
  #results_corp .results_list {
    margin-top: 28px; } }

#results_indi .results_list .results_row,
#results_corp .results_list .results_row {
  display: flex;
  line-height: 1; }
  #results_indi .results_list .results_row + .results_row,
  #results_corp .results_list .results_row + .results_row {
    margin-top: 25px; }
    @media only screen and (max-width: 787px) {
      #results_indi .results_list .results_row + .results_row,
      #results_corp .results_list .results_row + .results_row {
        padding-top: 25px;
        border-top: 1px dotted #000; } }
  @media only screen and (max-width: 787px) {
    #results_indi .results_list .results_row,
    #results_corp .results_list .results_row {
      flex-direction: column;
      justify-content: center; } }
  #results_indi .results_list .results_row_date,
  #results_corp .results_list .results_row_date {
    font-weight: bold; }
    @media only screen and (min-width: 788px) {
      #results_indi .results_list .results_row_date,
      #results_corp .results_list .results_row_date {
        border-right: 4px solid #000;
        padding-right: 50px;
        margin-right: 30px;
        font-size: 20px;
        flex-basis: 50px; } }
    @media only screen and (max-width: 787px) {
      #results_indi .results_list .results_row_date,
      #results_corp .results_list .results_row_date {
        font-size: 17px;
        text-align: center; } }
  @media only screen and (min-width: 788px) {
    #results_indi .results_list .results_row_label,
    #results_corp .results_list .results_row_label {
      font-size: 20px;
      flex-basis: 550px; } }
  @media only screen and (max-width: 787px) {
    #results_indi .results_list .results_row_label,
    #results_corp .results_list .results_row_label {
      text-align: center;
      margin-top: 16px; } }
  @media only screen and (min-width: 788px) {
    #results_indi .results_list .results_row_btn,
    #results_corp .results_list .results_row_btn {
      flex-basis: 160px; } }
  @media only screen and (max-width: 787px) {
    #results_indi .results_list .results_row_btn,
    #results_corp .results_list .results_row_btn {
      width: 43.85185%;
      margin: 16px auto 0; } }

#results_indi .custom_password_aria,
#results_corp .custom_password_aria {
  margin: 100px auto;
  padding: 50px;
  border: 1px solid #ccc;
  background-color: #eee;
  border-radius: 10px; }
  @media only screen and (min-width: 788px) {
    #results_indi .custom_password_aria,
    #results_corp .custom_password_aria {
      width: 900px; } }
  @media only screen and (max-width: 787px) {
    #results_indi .custom_password_aria,
    #results_corp .custom_password_aria {
      width: 90%; } }
  #results_indi .custom_password_aria form,
  #results_corp .custom_password_aria form {
    text-align: center; }
    #results_indi .custom_password_aria form label,
    #results_corp .custom_password_aria form label {
      display: block;
      margin-top: 1rem; }
    #results_indi .custom_password_aria form input[type="password"],
    #results_corp .custom_password_aria form input[type="password"] {
      font-size: 20px;
      padding: 0.5rem 1rem;
      border: 1px solid #ccc;
      margin-left: 1rem; }
    #results_indi .custom_password_aria form input[type="submit"],
    #results_corp .custom_password_aria form input[type="submit"] {
      display: inline-block;
      margin-top: 2rem;
      padding: 1rem 6rem;
      font-size: 16px;
      color: #fff;
      border-radius: 30px;
      background-color: #D61619; }

@media only screen and (min-width: 788px) {
  #research_form {
    padding: 100px 0; } }

@media only screen and (max-width: 787px) {
  #research_form {
    padding: 36px 0; } }

#research_form .error {
  color: #f00;
  margin-top: 0.5rem; }

#research_form .btn_close {
  margin-top: 50px;
  text-align: center; }

#research_form #pop_wrapper {
  margin: 0 auto;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  padding: 0 9px;
  box-sizing: border-box; }
  @media only screen and (min-width: 788px) {
    #research_form #pop_wrapper {
      width: 900px; } }
  @media only screen and (max-width: 787px) {
    #research_form #pop_wrapper {
      width: 90%; } }
  #research_form #pop_wrapper #pop_wrapper_inner {
    border: 1px solid #000; }
    @media only screen and (min-width: 788px) {
      #research_form #pop_wrapper #pop_wrapper_inner {
        padding: 80px 0; } }
    @media only screen and (max-width: 787px) {
      #research_form #pop_wrapper #pop_wrapper_inner {
        padding: 32px 7.75% 50px; } }
    #research_form #pop_wrapper #pop_wrapper_inner .ttl {
      line-height: 1; }
      @media only screen and (min-width: 788px) {
        #research_form #pop_wrapper #pop_wrapper_inner .ttl {
          width: 602px;
          margin: 0 auto; } }
      @media only screen and (max-width: 787px) {
        #research_form #pop_wrapper #pop_wrapper_inner .ttl {
          width: 92.35294%; } }
    @media only screen and (min-width: 788px) {
      #research_form #pop_wrapper #pop_wrapper_inner .lead {
        font-size: 20px;
        margin-top: 20px;
        text-align: center; } }
    @media only screen and (max-width: 787px) {
      #research_form #pop_wrapper #pop_wrapper_inner .lead {
        margin-top: 18px; } }
    @media only screen and (min-width: 788px) {
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper {
        width: 720px;
        margin: 55px auto 0; } }
    @media only screen and (max-width: 787px) {
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper {
        margin-top: 40px; } }
    #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper input[type="text"] {
      width: 100%;
      border: 1px solid #505050;
      box-sizing: border-box;
      border-radius: 3px;
      /* IE */
      /* Edge */ }
      @media only screen and (min-width: 788px) {
        #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper input[type="text"] {
          font-size: 20px;
          padding: 0.8rem 1rem; } }
      @media only screen and (max-width: 787px) {
        #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper input[type="text"] {
          padding: 0.8rem 1rem; } }
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper input[type="text"]::placeholder {
        color: #505050; }
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper input[type="text"]::-ms-input-placeholder {
        color: #505050; }
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper input[type="text"]::-ms-input-placeholder {
        color: #505050; }
    @media only screen and (min-width: 788px) {
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .row + .row {
        margin-top: 40px; } }
    @media only screen and (max-width: 787px) {
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .row + .row {
        margin-top: 30px; } }
    #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .label {
      margin-bottom: 20px;
      line-height: 1;
      font-weight: bold;
      font-size: 17px; }
    @media only screen and (min-width: 788px) {
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .name_column {
        display: flex;
        justify-content: space-between; } }
    @media only screen and (min-width: 788px) {
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .name_column .column {
        width: 49%; } }
    @media only screen and (max-width: 787px) {
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .name_column .column + .column {
        margin-top: 10px; } }
    #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .privacy_box {
      font-size: 17px;
      margin-top: 40px; }
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .privacy_box .privacy_ttl {
        font-weight: bold;
        margin-bottom: 1rem; }
    #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .research_btns {
      display: flex;
      justify-content: center; }
      @media only screen and (min-width: 788px) {
        #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .research_btns {
          margin-top: 80px; } }
      @media only screen and (max-width: 787px) {
        #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .research_btns {
          margin-top: 50px; } }
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .research_btns input[type="image"] {
        width: 100%; }
      #research_form #pop_wrapper #pop_wrapper_inner #form_wrapper .research_btns .btn {
        flex-basis: 175px; }

@media only screen and (min-width: 788px) {
  #donation_list #s01 {
    margin-top: 100px; } }

@media only screen and (max-width: 787px) {
  #donation_list #s01 {
    margin-top: 50px; } }

#donation_list #s01 .inner {
  margin: 0 auto; }
  @media only screen and (min-width: 788px) {
    #donation_list #s01 .inner {
      width: 900px; } }
  @media only screen and (max-width: 787px) {
    #donation_list #s01 .inner {
      width: 90%; } }
  #donation_list #s01 .inner h2 {
    margin: 0 auto; }
    @media only screen and (min-width: 788px) {
      #donation_list #s01 .inner h2 {
        width: 750px; } }
  #donation_list #s01 .inner .lead_01 {
    text-align: center;
    font-size: 17px; }
    @media only screen and (min-width: 788px) {
      #donation_list #s01 .inner .lead_01 {
        margin-top: 50px; } }
    @media only screen and (max-width: 787px) {
      #donation_list #s01 .inner .lead_01 {
        margin-top: 37px; } }
  #donation_list #s01 .inner .list_01 {
    display: flex;
    flex-wrap: wrap; }
    @media only screen and (min-width: 788px) {
      #donation_list #s01 .inner .list_01 {
        margin-top: 105px; } }
    @media only screen and (max-width: 787px) {
      #donation_list #s01 .inner .list_01 {
        justify-content: center; } }
    #donation_list #s01 .inner .list_01 li {
      width: 280px; }
      @media only screen and (min-width: 788px) {
        #donation_list #s01 .inner .list_01 li {
          margin-right: 30px; } }
      @media only screen and (max-width: 787px) {
        #donation_list #s01 .inner .list_01 li {
          margin-top: 60px; } }
      #donation_list #s01 .inner .list_01 li:nth-child(3n) {
        margin-right: 0; }
      #donation_list #s01 .inner .list_01 li .btn_circle img {
        vertical-align: bottom; }
      #donation_list #s01 .inner .list_01 li .btn_circle.pointer_red:after {
        bottom: 25px; }
      #donation_list #s01 .inner .list_01 li .arrow {
        width: 30px;
        margin: 15px auto 0;
        vertical-align: bottom; }
        #donation_list #s01 .inner .list_01 li .arrow img {
          width: 30px;
          height: 25px; }
      #donation_list #s01 .inner .list_01 li .txt_01 {
        font-size: 17px;
        margin-top: 15px;
        text-align: center; }

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