@charset "UTF-8";
/*
Theme Name:若葉
Text Domain: sunace-net.com
Version: 1.01
Requires at least: 5.4
Requires PHP: 7.4
Author: OK COMPUTER
Description: This is the theme for the 2020 site renewal.
*/
@import url("https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@1,600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap");
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

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, 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: 62.5%;
  font: inherit;
  letter-spacing: 1.01;
  vertical-align: baseline; }
  @media screen and (max-width: 767px) {
    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, 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 {
      font-size: 97%; } }

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

body {
  font-size: 1rem;
  line-height: 1.5em;
  position: relative; }

ol, ul {
  list-style: none;
  list-style-position: inside; }

blockquote, q {
  quotes: none; }

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

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

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

/**************************
FORMAT
**************************/
.mincho {
  font-family: 游明朝体, "Yu Mincho", YuMincho, "Noto Serif JP", serif, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }

.number {
  font-family: "Crimson Text", serif;
  font-style: italic; }

.eng {
  font-family: "Oswald", sans-serif; }

.bold {
  font-weight: bold; }

.small {
  font-size: 0.8em; }

.medium {
  font-size: 1.3em;
  line-height: 1.5em; }
  @media screen and (max-width: 767px) {
    .medium {
      font-size: 1.1em; } }

.large {
  font-size: 1.5em;
  line-height: 1.6em; }

.large2 {
  font-size: 1.8em;
  line-height: 1.6em; }

.large3 {
  font-size: 2.0em;
  line-height: 1.6em; }

.large4 {
  font-size: 2.8em;
  line-height: 1.5em; }

.red {
  color: #FF5454; }

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

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

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

.blue {
  color: #59E25F; }

.center_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

.honbun {
  width: 100%;
  margin: 0 auto;
  padding: 0 5px;
  max-width: 1200px; }

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

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

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

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

.mb_35 {
  margin-bottom: 35px !important; }

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

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

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

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

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

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

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

.ml_10 {
  margin-left: 10px; }

.pad_5 {
  padding: 5px; }

.pad_10 {
  padding: 10px; }

.pad_15 {
  padding: 15px; }

.pad_20 {
  padding: 20px; }

.pad_0_10 {
  padding: 0px 10px; }
  @media (max-width: 767px) {
    .pad_0_10 {
      padding: 0 0; } }

.pad_0_20 {
  padding: 0px 20px; }

.pad_30 {
  padding: 30px !important; }

.pad_area {
  padding-top: 40px;
  padding-bottom: 40px; }

@media screen and (max-width: 767px) {
  .pad_area {
    padding-top: 24px;
    padding-bottom: 24px; } }
.f_left {
  float: left; }

.f_right {
  float: right; }

.clear {
  clear: both; }

.c_black {
  color: #000; }

.c_as {
  color: #3665bf !important; }

.c_rf {
  color: #156f0f !important; }

.c_fd {
  color: #bc3737 !important; }

.w_center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

p {
  line-height: 1.5em; }

p.indent {
  text-indent: 1em; }

.relative {
  position: relative !important; }

.absolute {
  position: absolute !important; }

.h_v_center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  padding: 10px 15px; }

.mask_black {
  position: relative;
  z-index: -1; }

.mask_black::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4); }

.hissu {
  color: #fff;
  background-color: #FF4B72;
  font-size: 0.8em;
  margin-left: 10px;
  padding: 2px 5px; }

/*TEL*/
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; } }
/*LINE*/
.line_orange {
  background-image: url("./images/line_orange_h20.png");
  height: 20px;
  background-repeat: no-repeat;
  background-position: left center;
  margin-top: 70px;
  margin-bottom: 70px; }
  @media (max-width: 767px) {
    .line_orange {
      margin-top: 30px;
      margin-bottom: 30px; } }

.dotline {
  width: 100%;
  height: 10px !important;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 10px !important; }

.dotline_black {
  width: 100%;
  heitht: 1px;
  margin: 15px auto;
  border-bottom: 1px dotted #555; }

.borderline {
  width: 100%;
  height: 10px !important;
  border-bottom: 2px solid #92C64F;
  margin-bottom: 30px; }

.img-circle {
  border-radius: 50%; }

.img-radius {
  border-radius: 15px; }

p {
  line-height: 1.5em; }

/*LINK*/
a:link,
a:visited {
  color: #000;
  text-decoration: none; }

a:hover {
  color: #ff5810; }

a img {
  border: none; }

a:hover img {
  transition: .3s;
  opacity: 0.80;
  filter: alpha(opacity=80);
  -ms-filter: "alpha( opacity=80 )";
  -moz-opacity: 0.80; }

/* column / flex */
.column_2_70_30 {
  width: 100%; }

.column_2_70_30 .left {
  width: 70%;
  float: left;
  padding: 10px; }

.column_2_70_30 .right {
  width: 30%;
  float: right;
  text-align: left;
  padding: 10px; }

@media screen and (max-width: 767px) {
  .column_2_70_30 .left {
    width: 100%;
    float: none; }

  .column_2_70_30 .right {
    width: 100%;
    float: none; } }
.column_2_30_70 {
  width: 100%; }

.column_2_30_70 .left {
  width: 30%;
  float: left;
  padding: 10px; }

.column_2_30_70 .right {
  width: 70%;
  float: right;
  text-align: left;
  padding: 10px; }

@media screen and (max-width: 767px) {
  .column_2_30_70 .left {
    width: 100%;
    float: none; }

  .column_2_30_70 .right {
    width: 100%;
    float: none; } }
.column_2_60_40 {
  width: 100%; }

.column_2_60_40 .left {
  width: 60%;
  float: left;
  padding: 5px; }

.column_2_60_40 .right {
  width: 40%;
  float: right;
  text-align: left;
  padding: 5px; }

@media screen and (max-width: 767px) {
  .column_2_60_40 .left {
    width: 100%;
    float: none; }

  .column_2_60_40 .right {
    width: 100%;
    float: none; } }
.column_2_40_60 {
  width: 100%; }

.column_2_40_60 .left {
  width: 40%;
  float: left;
  padding: 5px; }

.column_2_40_60 .right {
  width: 60%;
  float: right;
  text-align: left;
  padding: 5px; }

@media screen and (max-width: 767px) {
  .column_2_40_60 .left {
    width: 100%;
    float: none; }

  .column_2_40_60 .right {
    width: 100%;
    float: none; } }
.column_2_80_20 {
  width: 100%; }

.column_2_80_20 .left {
  width: 80%;
  float: left; }

.column_2_80_20 .right {
  width: 20%;
  float: right;
  text-align: left; }

@media screen and (max-width: 767px) {
  .column_2_80_20 .left {
    width: 100%;
    float: none; }

  .column_2_80_20 .right {
    width: 100%;
    float: none; } }
.column_2_20_80 {
  width: 100%; }

.column_2_20_80 .left {
  width: 20%;
  float: left;
  padding: 10px; }

.column_2_20_80 .right {
  width: 80%;
  float: right;
  text-align: left;
  padding: 10px; }

@media screen and (max-width: 767px) {
  .column_2_80_20 .left {
    width: 100%;
    float: none; }

  .column_2_80_20 .right {
    width: 100%;
    float: none; } }
.column_2 > div {
  width: calc(100% / 2);
  width: 50%;
  width: -webkit-calc(100% / 2);
  float: left;
  height: auto;
  padding: 10px; }

.column_3 > div {
  width: calc(100% / 3);
  width: 33%;
  width: -webkit-calc(100% / 3);
  float: left;
  padding: 10px;
  height: auto; }

@media screen and (max-width: 767px) {
  .column_3 > div {
    width: 100%;
    float: none; } }
.column_4 > div {
  width: calc(100% / 4);
  width: 25%;
  width: -webkit-calc(100% / 4);
  float: left;
  height: auto;
  padding: 5px; }

@media screen and (max-width: 640px) {
  .column_4 > div {
    width: 100%;
    float: none; } }
.column_5 > div {
  width: 20%;
  width: -webkit-calc(100% / 5);
  width: calc(100% / 5);
  float: left; }

@media screen and (max-width: 767px) {
  .column_5 > div {
    width: 100%;
    float: none; } }
/*flex*/
.slick_member {
  margin: 0 auto;
  width: 100%; }
  .slick_member > div {
    display: block;
    margin: 0;
    padding: 10px; }
    .slick_member > div a:hover {
      color: #000; }
    .slick_member > div dl dt {
      position: relative;
      z-index: -1; }
      .slick_member > div dl dt .inscription {
        position: absolute;
        display: inline-block;
        z-index: 5;
        background-color: rgba(214, 76, 0, 0.8);
        width: 80px;
        height: 80px;
        border-radius: 50%;
        text-align: center;
        line-height: 80px;
        font-weight: bold;
        color: #fff;
        right: 10px;
        bottom: 40px;
        font-size: 1.2em; }
    .slick_member > div dl dd {
      font-size: 0.8em;
      width: 90%;
      max-width: 460px;
      margin: -30px auto 20px;
      background-color: rgba(239, 239, 239, 0.96);
      text-align: center;
      padding: 10px;
      z-index: 10; }
      .slick_member > div dl dd .name {
        font-size: 1.8em;
        font-weight: bold; }
      .slick_member > div dl dd .as {
        display: inline-block;
        margin: 10px auto 5px;
        padding: 1px 5px;
        border: 2px solid #3665bf !important;
        color: #3665bf !important;
        font-weight: bold; }
      .slick_member > div dl dd .rf {
        display: inline-block;
        margin: 10px auto 5px;
        padding: 1px 5px;
        border: 2px solid #156f0f !important;
        color: #156f0f !important;
        font-weight: bold; }
      .slick_member > div dl dd .fd {
        display: inline-block;
        margin: 10px auto 5px;
        padding: 1px 5px;
        border: 2px solid #bc3737 !important;
        color: #bc3737 !important;
        font-weight: bold; }
      .slick_member > div dl dd .zk {
        display: inline-block;
        margin: 10px auto 5px;
        padding: 1px 5px;
        border: 2px solid #ff8243 !important;
        color: #ff8243 !important;
        font-weight: bold; }

.flex_20_80 {
  margin: 0 auto 40px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  width: 90%; }

.flex_20_80 > div.left {
  margin: 0;
  padding: 10px;
  width: 20%; }

.flex_20_80 > div.right {
  margin: 0;
  padding: 10px;
  width: 80%;
  vertical-align: middle; }

@media (max-width: 767px) {
  .flex_20_80 > div.left {
    width: 100%; }

  .flex_20_80 > div.right {
    width: 100%; } }
.flex_70_30 {
  margin: 0 auto 40px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  width: 100%; }
  .flex_70_30 > div:nth-child(1) {
    margin: 0;
    padding: 10px;
    width: 70%; }
    @media (max-width: 767px) {
      .flex_70_30 > div:nth-child(1) {
        width: 100%; } }
  .flex_70_30 > div:nth-child(2) {
    margin: 0;
    padding: 10px;
    width: 30%;
    vertical-align: middle; }
    @media (max-width: 767px) {
      .flex_70_30 > div:nth-child(2) {
        width: 100%; } }

.flex_40_60 {
  margin: 0 auto 40px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  width: 100%; }
  .flex_40_60 > div:nth-child(1) {
    margin: 0;
    padding: 10px;
    width: 40%; }
    @media (max-width: 767px) {
      .flex_40_60 > div:nth-child(1) {
        width: 100%; } }
  .flex_40_60 > div:nth-child(2) {
    margin: 0;
    padding: 10px;
    width: 60%;
    vertical-align: middle; }
    @media (max-width: 767px) {
      .flex_40_60 > div:nth-child(2) {
        width: 100%; } }

.flex_works {
  margin: 0 auto 40px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  height: 512px;
  justify-content: flex-end;
  position: relative; }
  .flex_works.as {
    background: -moz-linear-gradient(left, #3665BF, #CAECFFF);
    background: -webkit-linear-gradient(left, #3665BF, #CAECFF);
    background: linear-gradient(to right, #3665BF, #CAECFF);
    color: white; }
  .flex_works.rf {
    background: -moz-linear-gradient(left, #156F0F, #DBF0D8);
    background: -webkit-linear-gradient(left, #156F0F, #DBF0D8);
    background: linear-gradient(to right, #156F0F, #DBF0D8);
    color: white; }
  .flex_works.fd {
    background: -moz-linear-gradient(left, #BC3737, #FFD4E2);
    background: -webkit-linear-gradient(left, #BC3737, #FFD4E2);
    background: linear-gradient(to right, #BC3737, #FFD4E2);
    color: white; }
  .flex_works.members {
    background-color: #f6f6f6;
    text-shadow: 0px 0px 5px #f6f6f6, 0px 0px 5px #f6f6f6, 0px 0px 8px #f6f6f6; }
  @media (max-width: 833px) {
    .flex_works {
      height: auto; } }
  .flex_works > div.left {
    margin: 0;
    width: 40%;
    order: 1;
    padding: 20px; }
    @media (max-width: 833px) {
      .flex_works > div.left {
        order: 2;
        width: 100%;
        padding: 15px 15px 24px; } }
    .flex_works > div.left h2 {
      position: absolute;
      left: 50px;
      top: 120px;
      font-size: 3em;
      font-weight: bold;
      line-height: 1.3em; }
      .flex_works > div.left h2 span {
        font-size: 0.4em;
        margin: 2em 0; }
      @media (max-width: 833px) {
        .flex_works > div.left h2 {
          position: relative;
          font-size: 1.3em;
          left: 0;
          top: 0; } }
      .flex_works > div.left h2 .mark_as {
        background: linear-gradient(transparent 70%, rgba(54, 101, 191, 0.4) 70%);
        display: inline; }
      .flex_works > div.left h2 .mark_rf {
        background: linear-gradient(transparent 70%, rgba(21, 111, 15, 0.4) 70%);
        display: inline; }
      .flex_works > div.left h2 .mark_fd {
        background: linear-gradient(transparent 70%, rgba(188, 55, 50, 0.4) 70%);
        display: inline; }
      .flex_works > div.left h2 .mark_zk {
        background: linear-gradient(transparent 70%, rgba(255, 130, 67, 0.4) 70%);
        display: inline; }
  .flex_works > div.right {
    background-size: cover;
    background-position: left top;
    background-repeat: no-repeat;
    margin: 0;
    width: 60%;
    order: 2; }
    .flex_works > div.right.as {
      background-image: url(./images/w_as.jpg); }
    .flex_works > div.right.rf {
      background-image: url(./images/w_rf.jpg); }
      @media (max-width: 833px) {
        .flex_works > div.right.rf {
          background-position: left 50% top; } }
    .flex_works > div.right.fd {
      background-image: url(./images/w_fd.jpg); }
    @media (max-width: 833px) {
      .flex_works > div.right {
        order: 1;
        height: 66.67vw;
        width: 100%; } }

.flex_w_bottom {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 40px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  color: #fff;
  justify-content: flex-end;
  position: relative; }
  .flex_w_bottom.as {
    background-color: #D7E1F3; }
  .flex_w_bottom.rf {
    background-color: #CAE5CA; }
  .flex_w_bottom.fd {
    background-color: #F4DCDC; }
  @media (max-width: 767px) {
    .flex_w_bottom {
      height: auto; } }
  .flex_w_bottom > div.left {
    margin: 0;
    width: 30%;
    background-size: cover;
    line-height: 0; }
    @media (max-width: 837px) {
      .flex_w_bottom > div.left {
        width: 100%; } }
  .flex_w_bottom > div.right {
    margin: 0;
    width: 70%; }
    @media (max-width: 837px) {
      .flex_w_bottom > div.right {
        height: auto;
        width: 100%; } }
    .flex_w_bottom > div.right dl {
      position: relative; }
      .flex_w_bottom > div.right dl dt {
        background-color: #f8f8f8;
        padding: 10px;
        color: #000;
        font-size: 1.4em;
        font-weight: bold; }
      .flex_w_bottom > div.right dl dd {
        padding: 10px;
        color: #000; }
        @media (max-width: 767px) {
          .flex_w_bottom > div.right dl dd {
            padding: 10px 10px 30px; } }
    .flex_w_bottom > div.right .topics {
      position: absolute;
      display: block;
      font-size: 2em;
      color: rgba(255, 255, 255, 0.5);
      right: 10px;
      bottom: 10px;
      font-family: 'Oswald', sans-serif; }

.flex_store {
  margin: 0 auto;
  padding: 10px 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center; }
  .flex_store div:nth-child(1) {
    margin: 0;
    padding: 10px;
    width: 30%;
    font-weight: bold;
    background-color: #ededed;
    text-align: center;
    vertical-align: top; }
    @media (max-width: 767px) {
      .flex_store div:nth-child(1) {
        width: 100%; } }
  .flex_store div:nth-child(2) {
    margin: 0;
    padding: 10px;
    width: 70%; }
    @media (max-width: 767px) {
      .flex_store div:nth-child(2) {
        width: 100%; } }

.flex_2_1 {
  margin: 0 auto;
  padding: 10px 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center; }
  @media (max-width: 767px) {
    .flex_2_1 {
      padding: 0 0; } }
  .flex_2_1 > div {
    margin: 0;
    padding: 10px;
    width: 50%; }
    @media (max-width: 767px) {
      .flex_2_1 > div {
        padding: 0;
        margin: 0 0 10px;
        width: 100%; } }

.flex_3 {
  margin: 0 auto;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center; }
  .flex_3 > div {
    margin: 0;
    width: 33.3%; }

.flex_3_1 {
  margin: 0 auto;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%; }
  .flex_3_1 > div {
    margin: 0;
    padding: 10px !important;
    width: 33.3%; }
    @media (max-width: 767px) {
      .flex_3_1 > div {
        margin: 0;
        width: 100%; } }

.flex_4_2 {
  margin: 0 auto;
  padding: 10px;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  /*justify-content: center; */ }
  .flex_4_2 > div {
    margin: 0;
    padding: 10px;
    width: 25%; }
    @media (max-width: 767px) {
      .flex_4_2 > div {
        margin: 0;
        width: 50%; } }

.res_block {
  display: none !important; }

.res_block_768 {
  display: none !important; }

.res_none {
  display: block !important; }

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

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

@media screen and (max-width: 767px) {
  .res_block {
    display: block !important; }

  .res_none {
    display: none !important; }

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

  .right_res_center {
    text-align: center !important; } }
@media screen and (max-width: 837px) {
  .res_block_768 {
    display: block !important; } }
/**************************
HEADLINE
**************************/
h2.title {
  display: block;
  margin: 10px auto;
  font-size: 1.8em;
  font-weight: bold;
  margin-bottom: 30px;
  position: relative;
  padding: 30px 0 5px;
  text-align: center;
  line-height: 2.4em;
  color: #68995a; }
  h2.title::before {
    content: url("images/leaf.svg");
    position: absolute;
    width: 40px;
    margin-left: -50px;
    margin-top: 5px; }
  @media screen and (max-width: 767px) {
    h2.title {
      font-size: 1.4em;
      padding: 16px 0 5px;
      margin-bottom: 20px; } }

h3.subpage_title {
  text-align: center;
  font-weight: bold;
  font-size: 1.5em;
  margin-bottom: 50px; }
  @media (max-width: 767px) {
    h3.subpage_title {
      margin-bottom: 30px;
      font-size: 1.24em; } }

h3.works {
  width: 90%;
  margin: 10px auto 50px;
  text-align: center;
  font-size: 1.5em;
  font-weight: bold; }
  @media (max-width: 767px) {
    h3.works {
      font-size: 1.2em; } }

h3.catch {
  margin-bottom: 0;
  border-bottom: none;
  font-size: 1.3em !important;
  font-weight: bold;
  background-color: #000;
  color: #FFF;
  padding: 15px 10px; }
  @media screen and (max-width: 767px) {
    h3.catch {
      font-size: 1em !important; } }

h3.story {
  font-family: 游明朝体, "Yu Mincho", YuMincho, "Noto Serif JP", serif, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  margin-bottom: 0;
  border-bottom: none;
  font-size: 2em !important;
  font-weight: bold;
  color: #000;
  padding: 15px 10px;
  line-height: 1.5em; }
  h3.story .under {
    background: linear-gradient(transparent 70%, #8DDCEF 30%); }
  @media screen and (max-width: 837px) {
    h3.story {
      font-size: 1.4em !important; } }

h4.blog {
  font-size: 1.2em;
  margin-bottom: 20px;
  padding: 8px;
  font-weight: bold;
  background-color: #000;
  color: #fff !important;
  border-radius: 5px; }
  h4.blog a {
    color: #fff; }

h4.border_black {
  border-bottom: 1px solid #000;
  font-size: 2em !important;
  padding: 10px 0; }

h5.sidebar {
  font-size: 1.1em;
  font-weight: bold;
  padding: 10px 0 5px;
  margin-bottom: 10px;
  border-bottom: 2px dotted #d1d1d1; }

/**************************
background
**************************/
.bg_red {
  background-color: #BE0000; }

.bg_gray {
  background-color: #292929; }

.bg_gray2 {
  background-color: #eee; }

.bg_as {
  background-color: #3665bf;
  color: #FFF; }

.bg_rf {
  background-color: #156f0f;
  color: #FFF; }

.bg_fd {
  background-color: #bc3737;
  color: #FFF; }

.bg_as_r {
  background-color: #D7E1F3;
  color: #000; }

.bg_rf_r {
  background-color: #CAE5CA;
  color: #000; }

.bg_fd_r {
  background-color: #F4DCDC;
  color: #000; }

.bg_wakaba {
  background: url(images/bg_wakaba.jpg?ver=2.0) no-repeat center;
  background-position: center bottom;
  background-size: contain;
  padding-bottom: 800px; }
  @media screen and (max-width: 767px) {
    .bg_wakaba {
      padding-bottom: 300px; } }

.bg_wakaba_top {
  background: url(images/bg_wakaba_top.jpg?ver=2.0) no-repeat center;
  background-position: right top; }

.bg_story {
  background: url(images/bg_story.png) no-repeat center;
  background-position: center center;
  background-size: cover; }
  .bg_story p {
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 8px #fff; }

.bg_gradation {
  background: -moz-linear-gradient(0% 50% 0deg, #f2fcff 0%, #fff0fa 100%);
  background: -webkit-linear-gradient(0deg, #f2fcff 0%, #fff0fa 100%);
  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, #f2fcff), color-stop(1, #fff0fa));
  background: -o-linear-gradient(0deg, #f2fcff 0%, #fff0fa 100%);
  background: -ms-linear-gradient(0deg, #f2fcff 0%, #fff0fa 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#F2FCFF', endColorstr='#FFF0FA' ,GradientType=0)";
  background: linear-gradient(90deg, #f2fcff 0%, #fff0fa 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F2FCFF', endColorstr='#FFF0FA', GradientType=1); }

.area_white {
  background-color: #fff;
  color: #000;
  padding: 30px 20px; }

.area_red {
  background-color: #BE0000;
  color: #FFF;
  padding: 10px 20px; }

.area_black {
  background-color: #000;
  color: #FFF;
  padding: 10px 20px; }

.area_gray {
  background-color: #F5F5F5;
  color: #000;
  padding: 10px 20px; }

.area_gray2 {
  background-color: #E5E5E5;
  color: #000;
  padding: 10px 20px; }

.logo-bg_red {
  max-width: 280px;
  padding: 20px;
  text-align: center;
  margin: 0 auto; }

.contents {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 10px;
  /*padding:10px 10px;*/ }
  @media screen and (max-width: 767px) {
    .contents {
      margin: 10px auto; } }

.area_gaiyou {
  position: relative; }
  .area_gaiyou img {
    width: 60%; }
    @media screen and (max-width: 767px) {
      .area_gaiyou img {
        width: 100%; } }
  .area_gaiyou dl {
    background-color: #fff;
    padding: 80px 60px;
    position: absolute;
    top: 300px;
    right: 0;
    margin: 0; }
    @media screen and (max-width: 767px) {
      .area_gaiyou dl {
        position: relative;
        width: 90%;
        margin: 0 auto;
        padding: 40px 30px;
        top: -80px; } }
    .area_gaiyou dl dt {
      display: block;
      float: left;
      width: 80px;
      font-weight: bold; }
    .area_gaiyou dl dd {
      margin-left: 80px; }

.contents_top {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px 10px; }
  @media screen and (max-width: 767px) {
    .contents_top {
      margin: 0 auto 10px;
      padding: 10px; } }

.contents_1000 {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 10px;
  /*padding:10px 10px;*/ }
  @media screen and (max-width: 767px) {
    .contents_1000 {
      margin: 10px auto; } }

/**************************
FRAMEWORK
**************************/
body {
  background: #FFF;
  background-repeat: repeat;
  background-position: top center;
  font-family: Helvetica , "游ゴシック" , "Yu Gothic" , sans-serif;
  font-size: 12pt;
  color: #000;
  letter-spacing: 0.1em; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }

/*骨組み*/
#wrap {
  margin: 0px auto; }

/* header */
.site-header {
  display: flex;
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  margin: 0;
  background-color: rgba(255, 255, 255, 0.85);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
  z-index: 1002; }

.site-header h1, .site-header.fixed h1,
.site-header h1 img, .site-header.fixed h1 img,
.site-header .memberlog a, .site-header.fixed .memberlog a {
  transition: all 0.1s ease;
  -webkit-transition: all 0.1s ease;
  -moz-transition: all 0.1s ease;
  -o-transition: all 0.1s ease; }

.site-header.fixed h1,
.site-header.fixed .memberlog a {
  font-size: 0.8em; }

.site-header h1 img {
  width: 116px;
  margin-right: 5px; }

.site-header.fixed h1 img {
  width: 116px; }

.site-header .title {
  position: absolute;
  width: 300px;
  top: 15px;
  left: 70px;
  display: block;
  font-size: 0.9em; }

@media screen and (max-width: 1199px) {
  .site-header .title {
    position: absolute;
    width: 240px;
    top: 15px;
    left: 70px;
    display: block;
    font-size: 0.7em; } }
@media screen and (max-width: 374px) {
  .site-header .title {
    position: absolute;
    width: 180px;
    top: 15px;
    left: 70px;
    display: block;
    font-size: 0.6em; } }
header h1 {
  display: block;
  float: left;
  padding-left: 50px;
  text-indent: -50px;
  margin-left: 10px; }

@media screen and (max-width: 767px) {
  header h1 {
    width: 100%;
    float: none;
    font-size: 0.7em;
    line-height: 0; }

  .site-header h1 img {
    width: 60px;
    margin-top: 7px;
    margin-right: 5px; }

  .site-header.fixed h1 img {
    width: 60px;
    margin-top: 7px; } }
/*contents*/
#container {
  width: 100%;
  height: auto;
  min-height: 1000px;
  margin: 0 auto; }

#main_image {
  background-image: url(./images/top_image.jpg?ver=2.0);
  /*背景画像*/
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  /*背景サイズ*/
  width: 100%;
  height: 100vh;
  position: relative;
  border-left: 90px solid #FFF; }
  #main_image h1.logo {
    width: 80px;
    height: 150px;
    position: absolute;
    top: 50%;
    left: -85px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%); }

@media screen and (max-width: 767px) {
  #main_image {
    background-image: url(./images/top_image.jpg);
    /*背景画像*/
    background-attachment: scroll;
    background-position: right 39% top 0px; }

  /*背景サイズ*/ }
#sub_image {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  /*背景サイズ*/
  width: 100%;
  position: relative;
  border-left: 90px solid #FFF; }
  #sub_image h1.logo {
    width: 80px;
    height: 150px;
    position: absolute;
    top: 50%;
    left: -85px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%); }

#main_image_sub {
  background-image: url(../frec_2018/images/main_image.jpg);
  /*背景画像*/
  background-position: center center;
  background-attachment: fixed;
  /*画面からの相対位置（背景固定）*/
  background-size: cover;
  /*背景サイズ*/
  width: 100%;
  height: 400px;
  position: relative; }

@media screen and (max-width: 767px) {
  #main_image_sub {
    height: 280px;
    background-attachment: scroll; } }
/*footer*/
footer {
  background-color: #68995a;
  width: 100%;
  height: auto;
  color: #FFF;
  padding-top: 30px;
  padding-bottom: 30px;
  display: none; }

footer ul {
  padding-left: 0.5em; }

footer a:link,
footer a:visited {
  text-decoration: none;
  color: #fff; }

footer a:hover {
  color: #50A4FF; }

footer a img {
  border: none; }

ul.footer_nav2 li {
  float: left;
  margin-right: 20px;
  font-size: 0.8em;
  text-align: left; }
  @media screen and (max-width: 767px) {
    ul.footer_nav2 li {
      text-align: center;
      float: none; } }

ul.footer_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

ul.footer_nav li {
  float: left;
  font-size: 0.9em; }

ul.footer_nav li::after {
  content: "|";
  margin-left: 2em;
  margin-right: 2em; }

ul.footer_nav li:last-child::after {
  content: "";
  margin-left: 2em;
  margin-right: 2em; }

@media screen and (max-width: 767px) {
  ul.footer_nav {
    display: block; }

  ul.footer_nav li {
    float: none;
    text-align: center; }

  ul.footer_nav li::after {
    content: "";
    margin-left: 0em;
    margin-right: 0em; }

  ul.footer_nav li:last-child::after {
    content: "";
    margin-left: 0em;
    margin-right: 0em; } }
address {
  display: inline-block;
  width: 100%;
  color: #000;
  text-align: center;
  font-style: normal;
  font-size: 1em;
  position: relative;
  padding-left: 20px; }
  address br {
    display: none; }
  @media screen and (max-width: 767px) {
    address {
      font-size: 0.8em; } }

#address {
  display: none; }

/* breadlist */
.breadlist {
  width: 100%;
  max-width: 1200px;
  margin: 10px auto 30px;
  font-size: 0.8em; }

/**************************
LIST
**************************/
ul.list li {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 1em; }

ul.disk li {
  list-style-type: disc;
  padding-left: 1em;
  text-indent: -1em; }

ul.number li {
  list-style-type: decimal;
  padding-left: 1em;
  text-indent: -1em; }

ul.sitemap li {
  list-style-type: disc !important;
  margin-bottom: 10px;
  font-weight: bold; }
  ul.sitemap li ul li {
    font-weight: normal;
    margin-bottom: 5px !important;
    list-style-type: none !important;
    font-size: 0.9em; }

.side_category li {
  list-style: none; }
  .side_category li:before {
    padding-right: 10px;
    color: #FF7B63;
    font-family: FontAwesome;
    content: '\f07b';
    /* アイコンのunicode */ }

dl.sidebar_post {
  margin-bottom: 20px; }
  dl.sidebar_post dt {
    display: block;
    font-size: 0.8em; }
  dl.sidebar_post dd {
    display: block;
    padding: 0px 5px 8px;
    border-bottom: 1px dotted #ccc; }

dl.works {
  padding: 10px;
  margin-bottom: 20px; }
  dl.works dt {
    position: relative;
    font-weight: bold;
    font-size: 1.3em;
    border-bottom: 1px solid #000;
    padding: 5px; }
    @media screen and (max-width: 767px) {
      dl.works dt {
        font-size: 1.1em; } }
    dl.works dt span.number {
      position: absolute;
      font-size: 2.4em;
      left: 0;
      top: -21px; }
      @media screen and (max-width: 767px) {
        dl.works dt span.number {
          bottom: 5px; } }
    dl.works dt span:nth-child(2) {
      position: absolute;
      left: 2em;
      bottom: 5px; }
      @media screen and (max-width: 767px) {
        dl.works dt span:nth-child(2) {
          left: 2.0em;
          font-size: 0.96em; } }
  dl.works dd {
    padding: 5px 15px;
    margin-bottom: 10px; }

dl.sidebar_post {
  margin-bottom: 20px; }
  dl.sidebar_post dt {
    display: block;
    font-size: 0.8em; }
  dl.sidebar_post dd {
    display: block;
    padding: 0px 5px 8px;
    border-bottom: 1px dotted #ccc; }

ul.privacy li {
  list-style-type: decimal;
  margin-bottom: 10px;
  padding-left: 1em;
  text-indent: -1em; }

dl.table {
  box-sizing: border-box;
  background: rgba(242, 242, 242, 0.5);
  border-bottom: 1px solid #CCC; }
  dl.table dt {
    font-weight: bold;
    float: left;
    width: 32%;
    padding: 20px 19px 20px;
    border-top: 1px solid #CCC; }
  dl.table dd {
    margin-left: 32%;
    background: #FFF;
    padding: 20px 39px 20px;
    border-top: 1px solid #CCC; }
  @media screen and (max-width: 767px) {
    dl.table dt {
      float: none;
      width: 100%;
      padding: 10px 15px 10px; }
    dl.table dd {
      margin-left: 0;
      background: #FFF;
      padding: 10px 24px 10px; } }

dl.gaiyou {
  width: 100%;
  max-width: 600px;
  margin: 0 auto; }
  dl.gaiyou dt {
    display: block;
    width: 130px;
    float: left;
    margin-right: 10px; }
  dl.gaiyou dd {
    display: block;
    padding-top: 0px;
    margin-left: 140px;
    margin-bottom: 30px; }
  @media screen and (max-width: 767px) {
    dl.gaiyou dt {
      margin-left: 10px;
      float: none;
      margin-right: 10px; }
    dl.gaiyou dd {
      margin-left: 10px; } }

dl.contact {
  width: 100%;
  margin: 10px auto; }

dl.contact dt {
  display: block;
  width: 300px;
  float: left;
  margin-right: 10px;
  background-color: #BE0000;
  color: #fff;
  padding: 5px;
  text-align: center;
  font-weight: bold;
  font-size: 1.2em; }

dl.contact dd {
  display: block;
  padding: 5px 20px;
  margin-left: 320px;
  margin-bottom: 30px; }

@media screen and (max-width: 767px) {
  dl.contact dt {
    margin-left: 10px;
    float: none;
    margin-right: 10px; }

  dl.contact dd {
    margin-left: 10px; } }
dl.qa {
  margin: 0 0 70px;
  padding: 0 0 30px; }
  @media screen and (max-width: 767px) {
    dl.qa {
      margin: 0 0 30px;
      padding: 0 0 0; } }
  dl.qa dt {
    margin: 0 0 60px;
    padding: 0 0 0 130px;
    font-size: 25px;
    position: relative;
    line-height: 1.2em;
    cursor: pointer;
    transition-duration: 0.2s; }
    @media screen and (max-width: 767px) {
      dl.qa dt {
        margin: 0 0 40px;
        padding: 10px 0 0 80px;
        font-size: 1.2em;
        padding: 0 0 0 40px; } }
    dl.qa dt::before {
      content: "Q";
      position: absolute;
      background-color: #bc3737;
      color: #fff;
      font-size: 66px;
      width: 100px;
      height: 100px;
      line-height: 100px;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      text-align: center;
      border-radius: 50%; }
      @media screen and (max-width: 767px) {
        dl.qa dt::before {
          font-size: 1.2em;
          width: 30px;
          height: 30px;
          line-height: 30px; } }
  dl.qa dd {
    display: none;
    padding: 0 0 0 130px;
    position: relative; }
    dl.qa dd > div {
      min-height: 100px; }
    @media screen and (max-width: 767px) {
      dl.qa dd {
        margin: 0 0 40px;
        padding: 10px 0 0 90px;
        font-size: 1em;
        padding: 0 0 0 50px; } }
    dl.qa dd::before {
      content: "A";
      position: absolute;
      background-color: #3665bf;
      color: #fff;
      font-size: 66px;
      width: 100px;
      height: 100px;
      line-height: 100px;
      top: 0;
      left: 0px;
      margin: auto;
      text-align: center;
      border-radius: 50%; }
      @media screen and (max-width: 767px) {
        dl.qa dd::before {
          font-size: 1.2em;
          width: 30px;
          height: 30px;
          line-height: 30px;
          left: 0px;
          bottom: auto;
          top: 0; } }

dl.topics {
  width: 100%;
  padding: 10px; }
  dl.topics dt {
    font-weight: bold;
    color: inherit;
    margin-bottom: 5px;
    float: left;
    margin-right: 10px; }
  dl.topics dd {
    color: inherit;
    margin-bottom: 5px;
    margin-left: 10px; }

/**************************
TABLE
**************************/
table.t_responsive {
  width: 100%;
  margin: 10px auto;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-left: none;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show; }

.t_responsive th {
  min-width: 100px;
  border-right: none;
  border-top: 1px solid #ccc;
  background-color: #333;
  font-weight: bold;
  padding: 0.3em 1em;
  text-align: left; }

.t_responsive td {
  border-right: none;
  border-bottom: 1px solid #ccc;
  padding: 0.5em 1em;
  font-size: 1em; }

.t_responsive td.left {
  text-align: left; }

@media screen and (max-width: 767px) {
  table.t_responsive {
    width: 100%; }

  .t_responsive th,
  .t_responsive td {
    width: 100%;
    display: block; } }
table.t_store {
  width: 100%;
  margin: 10px auto 30px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-left: none;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show; }

.t_store th {
  min-width: 100px;
  border-right: none;
  border-top: 1px solid #ccc;
  background-color: #EAFFF1;
  font-weight: bold;
  padding: 0.3em 1em;
  text-align: left; }

.t_store td {
  border-right: none;
  border-bottom: 1px solid #ccc;
  padding: 0.5em 1em;
  font-size: 1em; }

.t_store td.left {
  text-align: left; }

@media screen and (max-width: 767px) {
  table.t_store {
    width: 100%; }

  .t_store th,
  .t_store td {
    width: 100%;
    display: block; } }
table.t_store2 {
  width: 100%;
  margin: 10px auto 30px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-left: none;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show; }

.t_store2 th {
  min-width: 100px;
  border-right: none;
  border-top: 1px solid #ccc;
  background-color: #EAEFFF;
  font-weight: bold;
  padding: 0.3em 1em;
  text-align: left; }

.t_store2 td {
  border-right: none;
  border-bottom: 1px solid #ccc;
  padding: 0.5em 1em;
  font-size: 1em; }

.t_store2 td.left {
  text-align: left; }

@media screen and (max-width: 767px) {
  table.t_store2 {
    width: 100%; }

  .t_store2 th,
  .t_store2 td {
    width: 100%;
    display: block; } }
/**************************
JQuery
**************************/
/*jQuery.appear.js*/
.item_top {
  top: -30px;
  padding-right: 0px;
  opacity: 0;
  position: relative; }

.item_bottom {
  bottom: -30px;
  padding-left: 0px;
  opacity: 0;
  position: relative; }

.item_left {
  left: -40px;
  padding-right: 0px;
  opacity: 0;
  position: relative; }

.item_right {
  right: -40px;
  padding-left: 0px;
  opacity: 0;
  position: relative; }

.item_fade_in {
  opacity: 0;
  position: relative;
  padding-left: 0px;
  right: 0px; }

/*ページトップ*/
#pageTop {
  background: url(images/pagetop.png) no-repeat;
  width: 40px;
  height: 40px;
  position: fixed;
  bottom: 10%;
  right: 2%;
  z-index: 10000;
  text-indent: -9999em;
  cursor: pointer; }

#pageTop:hover {
  background: url(images/pagetop_hover.png) no-repeat; }

/*autoslide*/
#slide {
  width: 100%;
  /*表示の範囲です。中の要素によって適宜変えてください*/
  height: 350px;
  /*表示の範囲です。中の要素によって適宜変えてください*/
  overflow: hidden !important;
  /*普通に考えるとoverflow:hidden;は必要です*/
  position: relative;
  /*スライドが絶対配置で移動するので、positionはrelativeである必要があります*/
  padding: 10px 0; }

#slideIn {
  position: absolute;
  /*スライドが絶対配置で移動するので、positionはabsoluteである必要があります*/
  left: 0;
  /*必要です*/
  top: 10px;
  /*必要です*/ }

#slide li {
  float: left;
  /*横移動する場合は、あらかじめloat:left;しておきます*/
  width: 350px;
  height: 197px;
  margin-right: 5px;
  transition-duration: 0.3s; }

figure {
  width: 100%;
  display: block;
  position: relative;
  height: 150px;
  overflow: hidden; }

figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

/**************************
WordPress 
**************************/
/* contactform7 */
.wpcf7 textarea, .wpcf7 input[type="text"],
.wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select {
  width: 100%;
  margin: 0 auto 1em;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #777; }

.wpcf7 textarea:focus, .wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus, .wpcf7 input[type="tel"]:focus {
  outline: 0;
  border: 2px solid #47C1E2;
  background-color: #fff; }

.wpcf7 input[type="zip"] {
  width: 180px; }

.wpcf7 input[type="submit"] {
  width: 150px;
  padding: 10px;
  border: none;
  color: #fff;
  background-color: #9ED82D;
  -webkit-appearance: none;
  cursor: pointer;
  margin-top: 1em;
  margin-bottom: 1em;
  border-radius: 5px; }

.wpcf7 input[type="submit"]:hover {
  background-color: #ff5810; }

.wpcf7-list-item-label {
  margin-right: 15px; }

.wpcf7c-elm-step2 {
  text-align: center; }

.wpcf7 input[type="button"] {
  width: 150px;
  padding: 10px;
  border: none;
  color: #fff;
  background-color: #999;
  -webkit-appearance: none;
  cursor: pointer;
  margin-top: 1em;
  margin-bottom: 1em;
  border-radius: 5px;
  margin-right: 1em; }

.wpcf7 input[type="button"]:hover {
  background-color: #555; }

span.wpcf7-not-valid-tip {
  width: 300px; }

span.wpcf7-list-item {
  display: block; }

.privacy_area {
  width: 100%;
  max-width: 800px;
  height: 150px;
  overflow-y: scroll;
  margin: 0 auto 1em;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #777; }

/**************************
BUTTON
**************************/
.button_skew {
  flex: 1 1 auto;
  margin: 10px;
  padding: 20px;
  border: 2px solid #000;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: .3s; }

.button_skew:after {
  position: absolute;
  transition: .3s;
  content: '';
  width: 0;
  left: 50%;
  bottom: 0;
  height: 3px;
  background: #000; }

.button_skew:after {
  height: 120%;
  left: -10%;
  transform: skewX(15deg);
  z-index: -1; }

.button_skew:hover {
  cursor: pointer;
  color: #fff;
  font-weight: bold; }

.button_skew:hover:after {
  left: -10%;
  width: 120%; }

.btn_sunace {
  font-family: 'Oswald', sans-serif;
  width: 100%;
  margin: 0 auto;
  border: 6px solid #ff8243;
  display: block;
  padding: 20px 25px;
  text-align: center;
  color: #ff8243 !important;
  text-decoration: none !important;
  letter-spacing: .1em;
  font-size: 1.6em;
  transition: .3s;
  font-weight: bold;
  white-space: nowrap; }
  @media screen and (max-width: 767px) {
    .btn_sunace {
      font-size: 1.2em; } }
  .btn_sunace a {
    text-decoration: none !important;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease; }
  .btn_sunace:hover {
    background: #ff8243;
    border: 6px solid #ff8243;
    transition: .3s;
    color: #FFF !important;
    opacity: 1 !important; }

.btn {
  width: 50px;
  height: 50px;
  position: absolute;
  right: 15px;
  top: 7px;
  background: none;
  z-index: 1000; }

.btn:before,
.btn:after,
.btn span {
  display: block;
  width: 80%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out; }

.btn span {
  height: 3px;
  /*background-color: #fff;*/
  top: calc(50% - 1.5px); }

.btn:before {
  content: "MENU";
  font-size: 0.7em;
  text-align: center;
  top: calc(25% - 3px);
  border-top: 3px solid #fff; }

.btn:after {
  content: "";
  bottom: calc(25% - 3px);
  border-bottom: 3px solid #fff; }

.btn.on span {
  display: none; }

.btn.on:before {
  content: "";
  top: calc(50% - 1.5px);
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg); }

.btn.on:after {
  bottom: calc(50% - 1.5px);
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg); }

.btnlink {
  width: 96%;
  display: block;
  margin: auto;
  border: 1px solid #0060ff;
  border-radius: 5px;
  background: #4285F4;
  height: 35px;
  line-height: 35px;
  text-align: center;
  margin-bottom: 35px;
  color: #000; }

a.format {
  display: block;
  width: 95%;
  min-height: 40px;
  padding: 10px 20px 10px 40px;
  border: 1px solid #ccc;
  color: #000;
  position: relative;
  margin: 10px;
  margin-right: 10px;
  text-align: center; }

a.format::before {
  content: url(images/word.jpg);
  position: absolute;
  left: 5px;
  top: 5px; }

a.format:hover {
  opacity: 0.7; }

@media screen and (max-width: 767px) {
  a.format {
    text-align: left; } }
a.format_pdf {
  display: block;
  width: 72%;
  height: 40px;
  padding: 10px 20px 10px 40px;
  color: #000;
  position: relative;
  margin: 10px;
  margin-right: 10px; }

a.format_pdf::before {
  content: url(https://g-club.gifu.jp/wp-content/themes/g-club/images/pdf.png);
  position: absolute;
  left: 1px;
  top: 1px; }

a.format_pdf:hover {
  color: #BE0000; }

a.btn_more {
  display: inline-block;
  min-width: 240px;
  padding: 5px 20px;
  color: #68995a;
  border: 2px solid #68995a;
  position: relative;
  margin: 10px;
  margin-right: 10px;
  text-align: center;
  font-weight: bold;
  border-radius: 30px; }
  a.btn_more:hover {
    transition: .3s;
    background-color: #68995a;
    color: #FFF;
    font-weight: bold; }

/* icon */
.icon_case-study a {
  color: #000 !important;
  font-size: 1.4em; }

.icon_case-study a:hover {
  color: #BE0000 !important; }

/*slide menu*/
.ul_open_h,
.ul_open_v {
  background: rgba(27, 0, 0, 0.9);
  color: #fff;
  margin: 0;
  padding: 0;
  list-style: none;
  top: 0;
  z-index: 999; }

.ul_open_h {
  height: 100%;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
  overflow-y: scroll;
  position: fixed; }

.ul_open_h li {
  padding: 10px;
  width: 360px; }

.ul_open_v {
  position: absolute;
  height: 100%; }

.ul_open_v li {
  padding: 10px;
  width: 360px; }

.open-1 {
  right: -100%; }

.open-1.active {
  right: 0px; }

.move-1.on.btn {
  position: fixed;
  right: 25px;
  top: 50px; }

ul li ul li {
  margin-left: 1em;
  padding: 3px; }

/**************************
OTHERS
**************************/
/* loading */
#container, .site-header, footer, address, #members {
  display: none; }

#loading {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 50px;
  height: 50px; }

span.loading07 {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 50px;
  vertical-align: middle;
  -webkit-animation: animation07 2s linear infinite;
  animation: animation07 2s linear infinite; }

span.loading07 span {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%; }

span.loading07:before, span.loading07:after, span.loading07 span:before, span.loading07 span:after {
  position: absolute;
  display: inline-block;
  content: " ";
  width: 23px;
  height: 23px; }

span.loading07:before {
  left: 0;
  top: 0;
  background-image: -webkit-gradient(radial, 25 25, 0, 25 25, 25, from(transparent), color-stop(0.81, transparent), color-stop(0.82, #999), color-stop(0.98, #999), color-stop(0.99, transparent), to(transparent));
  background-image: -webkit-radial-gradient(25px 25px, 25px 25px, transparent, transparent 81%, #999 82%, #999 98%, transparent 99%, transparent);
  background-image: radial-gradient(25px 25px at 25px 25px, transparent, transparent 81%, #999 82%, #999 98%, transparent); }

span.loading07:after {
  right: 0;
  bottom: 0;
  background-image: -webkit-gradient(radial, -2 -2, 0, -2 -2, 25, from(transparent), color-stop(0.81, transparent), color-stop(0.82, #999), color-stop(0.98, #999), color-stop(0.99, transparent), to(transparent));
  background-image: -webkit-radial-gradient(-2px -2px, 25px 25px, transparent, transparent 81%, #999 82%, #999 98%, transparent 99%, transparent);
  background-image: radial-gradient(25px 25px at -2px -2px, transparent, transparent 81%, #999 82%, #999 98%, transparent); }

span.loading07 span:before {
  left: 0;
  bottom: 0;
  background-image: -webkit-gradient(radial, 25 -2, 0, 25 -2, 25, from(transparent), color-stop(0.81, transparent), color-stop(0.82, #999), color-stop(0.98, #999), color-stop(0.99, transparent), to(transparent));
  background-image: -webkit-radial-gradient(25px -2px, 25px 25px, transparent, transparent 81%, #999 82%, #999 98%, transparent 99%, transparent);
  background-image: radial-gradient(25px 25px at 25px -2px, transparent, transparent 81%, #999 82%, #999 98%, transparent); }

span.loading07 span:after {
  right: 0;
  top: 0;
  background-image: -webkit-gradient(radial, -2 25, 0, -2 25, 25, from(transparent), color-stop(0.81, transparent), color-stop(0.82, #999), color-stop(0.98, #999), color-stop(0.99, transparent), to(transparent));
  background-image: -webkit-radial-gradient(-2px 25px, 25px 25px, transparent, transparent 81%, #999 82%, #999 98%, transparent 99%, transparent);
  background-image: radial-gradient(25px 25px at -2px 25px, transparent, transparent 81%, #999 82%, #999 98%, transparent); }

@-webkit-keyframes animation07 {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg); } }
@keyframes animation07 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
/*loading ここまで*/
.old {
  float: left;
  text-align: center;
  border-radius: 10px;
  color: #000;
  margin-left: auto;
  margin-right: 0; }

.new {
  float: right;
  text-align: center;
  border-radius: 10px;
  color: #000;
  margin-left: auto;
  margin-right: 0; }

.old a {
  padding: 0.1em 1em;
  color: #000;
  text-decoration: underline !important; }

.new a {
  padding: 0.1em 1em;
  color: #000;
  text-decoration: underline !important; }

.old a:hover, .new a:hover {
  color: #BE0000; }

/*TOP画像*/
.mv .mv-text {
  padding: 0 15px;
  z-index: 2;
  text-align: center;
  color: #FFF; }

.privacy .mv, .contact .mv, .link .mv, .sitemap .mv {
  background: url(images/bg_others.jpg) no-repeat center;
  background-size: cover; }

.company .mv {
  background: url(images/bg_company.jpg) no-repeat center;
  background-position: center bottom;
  background-size: cover; }

.products .mv {
  background: url(images/bg_products.jpg) no-repeat center;
  background-size: cover; }

.recruit .mv {
  background: url(images/bg_recruit.jpg) no-repeat center;
  background-size: cover; }

.activity .mv {
  background: url(images/bg_activity.jpg) no-repeat center;
  background-size: cover; }

.mv {
  height: 328px;
  position: relative; }
  .mv:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 42, 83, 0.6);
    z-index: 1; }
  .mv .mv-text {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%); }
  .mv h2 {
    font-size: 2.8em;
    font-family: 'Oswald', sans-serif;
    color: #fff;
    margin: 0 0 30px;
    text-shadow: 0 0 10px #002A53;
    line-height: 1.2em; }
    .mv h2 span {
      display: block;
      font-size: 0.4em; }
  .mv .lead {
    font-size: 16px; }
    .mv .lead span {
      display: inline-block; }

/*タイムライン*/
.timeline {
  list-style: none;
  padding-left: 12vw; }
  @media (max-width: 767px) {
    .timeline {
      padding-left: 0; } }

.timeline > li {
  margin-bottom: 60px; }
  @media (max-width: 767px) {
    .timeline > li {
      margin-bottom: 20px; } }

.timeline-content dt {
  font-size: 1.2em;
  font-weight: bold; }

.timeline-date {
  font-size: 1.2em;
  font-weight: bold; }

/* タイムライン　for Desktop */
@media (min-width: 768px) {
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative; }

  .timeline-date {
    width: 110px;
    float: left;
    /*margin-top: 20px;*/ }

  .timeline-content {
    width: 75%;
    float: left;
    border-left: 3px #ff5810 solid;
    padding-left: 30px; }

  .timeline-content dl {
    margin-bottom: 20px; }

  .timeline-content:before {
    content: '';
    width: 8px;
    height: 8px;
    border: solid 3px #ff5810;
    background: #FFF;
    position: absolute;
    left: 105px;
    top: 3px;
    border-radius: 100%; } }
/*recruit*/
a.btn_recruit {
  display: inline-block;
  padding: 5px 20px;
  color: #47C1E2;
  border: 2px solid #47C1E2;
  position: relative;
  margin: 10px;
  border-radius: 20px;
  text-align: center;
  font-weight: bold; }

a.btn_recruit:hover {
  transition: .3s;
  background-color: #47C1E2;
  color: #FFF;
  font-weight: bold; }

.icon_recruit {
  position: absolute;
  width: 150px;
  height: 150px;
  background-color: #45ce41;
  z-index: 10; }

@media screen and (max-width: 767px) {
  .icon_recruit {
    position: absolute;
    width: 100px;
    height: 100px; } }
.rec_catch_area {
  position: absolute;
  bottom: 30px;
  background-color: rgba(43, 43, 43, 0.4);
  padding: 30px;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .rec_catch_area {
      bottom: 15px;
      padding: 15px; } }

.rec_catch {
  font-size: 2.2em;
  font-weight: bold;
  color: #FFF;
  text-align: center; }
  .rec_catch span {
    color: #45CE41; }
  @media screen and (max-width: 767px) {
    .rec_catch {
      font-size: 1.2em; } }

.rec_catch2 {
  font-size: 2.6em;
  font-weight: bold;
  color: #45CE41;
  text-align: left;
  font-style: italic; }
  @media screen and (max-width: 767px) {
    .rec_catch2 {
      font-size: 1.6em; } }

.area_l_recruit {
  position: absolute;
  font-family: 'Oswald', sans-serif;
  z-index: -1;
  font-size: 18vw;
  font-weight: bold;
  right: 0;
  bottom: 100px;
  color: #efefef; }

h3.rec_title {
  font-size: 3.3em;
  font-weight: bold;
  line-height: 1em;
  font-family: 游明朝体, "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  margin-bottom: 30px; }
  @media screen and (max-width: 767px) {
    h3.rec_title {
      font-size: 2em; } }

.rec_member_area {
  position: absolute;
  text-align: center;
  bottom: 30px;
  background-color: rgba(255, 255, 255, 0.88);
  padding: 30px;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, 0.8);
  bottom: 30px;
  right: 80px; }
  .rec_member_area .name {
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 20px; }
    @media screen and (max-width: 767px) {
      .rec_member_area .name {
        font-size: 1.6em; } }
  @media screen and (max-width: 767px) {
    .rec_member_area {
      bottom: -170px;
      width: 80%;
      left: 50%;
      transform: translateX(-50%); } }

dl.single dt {
  position: relative;
  z-index: -1; }
  dl.single dt .inscription {
    position: absolute;
    display: inline-block;
    z-index: 5;
    background-color: rgba(214, 76, 0, 0.8);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    text-align: center;
    line-height: 80px;
    font-weight: bold;
    color: #fff;
    right: 10px;
    bottom: 40px;
    font-size: 1.2em; }
dl.single dd {
  font-size: 0.8em;
  width: 90%;
  max-width: 460px;
  margin: -30px auto 20px;
  background-color: rgba(239, 239, 239, 0.96);
  text-align: center;
  padding: 10px;
  z-index: 10; }
  dl.single dd .name {
    font-size: 1.8em;
    font-weight: bold; }
  dl.single dd .as {
    display: inline-block;
    margin: 10px auto 5px;
    padding: 1px 5px;
    border: 2px solid #3665bf !important;
    color: #3665bf !important;
    font-weight: bold; }
  dl.single dd .rf {
    display: inline-block;
    margin: 10px auto 5px;
    padding: 1px 5px;
    border: 2px solid #156f0f !important;
    color: #156f0f !important;
    font-weight: bold; }
  dl.single dd .fd {
    display: inline-block;
    margin: 10px auto 5px;
    padding: 1px 5px;
    border: 2px solid #bc3737 !important;
    color: #bc3737 !important;
    font-weight: bold; }
  dl.single dd .zk {
    display: inline-block;
    margin: 10px auto 5px;
    padding: 1px 5px;
    border: 2px solid #ff8243 !important;
    color: #ff8243 !important;
    font-weight: bold; }

h3.gyoumu {
  font-size: 1.4em;
  font-weight: bold;
  padding: 15px 25px;
  width: 100%;
  border-radius: 30px;
  color: #fff;
  background-color: #444;
  margin-bottom: 15px; }
  @media screen and (max-width: 833px) {
    h3.gyoumu {
      font-size: 1.2em;
      text-align: center; } }

dl.gyoumu {
  width: 100%;
  padding: 8px 15px; }
  @media screen and (max-width: 767px) {
    dl.gyoumu {
      padding: 8px 5px; } }
  dl.gyoumu dt {
    font-size: 1.1em;
    margin-bottom: 3px;
    line-height: 1.2em;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      dl.gyoumu dt {
        font-size: 1.1em; } }
    dl.gyoumu dt span {
      font-family: 'Crimson Text', serif;
      font-style: italic;
      font-size: 1.3em !important;
      font-weight: bold;
      margin-right: 15px;
      color: orange; }
  dl.gyoumu dd {
    min-height: 60px; }
    @media screen and (max-width: 767px) {
      dl.gyoumu dd {
        min-height: auto; } }

.pad_time {
  padding: 10px; }
  @media screen and (max-width: 767px) {
    .pad_time {
      padding: 0 10px !important; } }

.box_rec_blue {
  width: 100%;
  padding: 30px;
  border: 7px solid #003977;
  margin-bottom: 50px;
  border-radius: 10px; }
  @media screen and (max-width: 767px) {
    .box_rec_blue {
      padding: 10px; } }

.flex_qa {
  margin: 0 auto;
  padding: 10px 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center; }

.flex_qa > div {
  margin: 0;
  padding: 25px;
  width: 100%; }
  .flex_qa > div dl {
    margin-bottom: 30px; }
    .flex_qa > div dl dt {
      position: relative;
      font-weight: bold;
      border-bottom: 1px solid #ccc;
      padding: 10px; }
      .flex_qa > div dl dt span:nth-child(1) {
        display: block;
        position: absolute;
        left: 0;
        bottom: 10px;
        font-size: 2.6em;
        font-family: 'Crimson Text', serif;
        font-style: italic;
        color: #d64c00;
        letter-spacing: 0.2em; }
      .flex_qa > div dl dt span:nth-child(2) {
        position: absolute;
        margin-left: 3.0em;
        bottom: 8px;
        font-size: 1.2em;
        line-height: 1.1em; }
        @media (max-width: 767px) {
          .flex_qa > div dl dt span:nth-child(2) {
            bottom: 5px; } }
    .flex_qa > div dl dd {
      padding: 10px; }

@media (max-width: 767px) {
  .flex_qa > div {
    margin: 0;
    padding: 10px;
    width: 100%; } }
.box_private {
  width: 100%;
  padding: 30px;
  border: 7px solid #E7E7E7;
  border-radius: 10px;
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .box_private {
      padding: 10px; } }
  .box_private h4 {
    font-size: 3em;
    color: #E7E7E7;
    font-family: 'Oswald', sans-serif;
    display: block;
    margin-bottom: 20px;
    text-align: right; }
  .box_private dl dt {
    width: 300px;
    float: left;
    text-align: center;
    margin: 0 auto; }
    .box_private dl dt img {
      margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .box_private dl dt {
        float: none; } }
  .box_private dl dd {
    margin-left: 320px;
    padding: 0 30px; }
    @media screen and (max-width: 767px) {
      .box_private dl dd {
        margin-left: 0;
        padding: 10px;
        clear: both; } }

@media screen and (max-width: 767px) {
  .row_reverse {
    flex-direction: row-reverse; } }
.area_career {
  background-color: #fff;
  border-radius: 30px;
  padding: 35px;
  width: 100%;
  max-width: 450px;
  margin: 30px auto; }
  .area_career dl {
    box-sizing: border-box;
    background: rgba(223, 236, 240, 0.5);
    border-bottom: 1px solid #CCC; }
    .area_career dl dt {
      font-weight: bold;
      width: 100%;
      padding: 10px 15px 10px;
      border-top: 1px solid #CCC; }
    .area_career dl dd {
      background: #FFF;
      padding: 10px 20px;
      border-top: 1px solid #CCC; }

.catch_area {
  position: absolute;
  bottom: 3vw;
  background-color: rgba(49, 140, 0, 0.47);
  padding: 2vw;
  width: 100%;
  background: linear-gradient(233deg, rgba(78, 202, 65, 0.6), rgba(8, 117, 191, 0.6), rgba(249, 230, 78, 0.6));
  background-size: 600% 600%;
  -webkit-animation: AnimationName 15s ease infinite;
  -moz-animation: AnimationName 15s ease infinite;
  animation: AnimationName 15s ease infinite; }
@-webkit-keyframes AnimationName {
  0% {
    background-position: 97% 0%; }
  50% {
    background-position: 4% 100%; }
  100% {
    background-position: 97% 0%; } }
@-moz-keyframes AnimationName {
  0% {
    background-position: 97% 0%; }
  50% {
    background-position: 4% 100%; }
  100% {
    background-position: 97% 0%; } }
@keyframes AnimationName {
  0% {
    background-position: 97% 0%; }
  50% {
    background-position: 4% 100%; }
  100% {
    background-position: 97% 0%; } }
  @media screen and (max-width: 767px) {
    .catch_area {
      padding: 12px; } }

/*.top_catch{
	font-size: 3em;
	font-family: $mincho;
	font-weight: bold;
	color:#FFF;
	text-align: center;
	span{
		color:#45CE41;
	}
	@media screen and (max-width: 767px) {
		font-size: 1.2em;
	}
}*/
.top_catch {
  font-size: 3em;
  font-family: 游明朝体, "Yu Mincho", YuMincho, "Noto Serif JP", serif, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-weight: bold;
  color: #FFF;
  text-align: center;
  line-height: 1em; }
  @media screen and (max-width: 767px) {
    .top_catch {
      font-size: 1.2em; } }
  .top_catch span {
    position: relative; }
    .top_catch span:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #318C00;
      transform-origin: left;
      transform: scale(1, 1); }
    .top_catch span:after {
      content: "\A";
      white-space: pre; }
    .top_catch span:nth-of-type(1):before {
      animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s forwards; }
    .top_catch span:nth-of-type(2):before {
      animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s forwards; }
    .top_catch span:nth-of-type(3):before {
      animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s forwards; }
    .top_catch span:nth-of-type(4):before {
      animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s forwards; }
    .top_catch span:nth-of-type(5):before {
      animation: reveal-text 600ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.10s forwards; }

@keyframes reveal-text {
  100% {
    transform: scale(0, 1); } }
/*works*/
.flex_over {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 1.2em;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center; }
  @media (max-width: 950px) {
    .flex_over {
      font-size: 0.9em;
      line-height: 1em; } }

.flex_over > div {
  margin: 0;
  width: 100%;
  padding: 12px;
  font-weight: bold; }

p.be_h3 {
  width: 90%;
  margin: 10px auto;
  padding: 10px;
  max-width: 700px;
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.1em; }
  p.be_h3.as {
    border-bottom: 3px solid #3665bf; }
  p.be_h3.rf {
    border-bottom: 3px solid #156f0f; }
  p.be_h3.fd {
    border-bottom: 3px solid #bc3737; }
  p.be_h3.zk {
    border-bottom: 3px solid #ff8243; }

.menu_fp > a {
  color: #fff !important;
  position: relative;
  display: block;
  height: 230px;
  overflow: hidden;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease; }
  .menu_fp > a > div:nth-child(1) {
    width: 60%;
    background-color: #ff8243;
    height: 100%;
    position: relative;
    padding-top: 50px; }
    @media (max-width: 767px) {
      .menu_fp > a > div:nth-child(1) {
        width: calc(50%); } }
    .menu_fp > a > div:nth-child(1) .more {
      display: block;
      width: 130px;
      font-size: 0.8em;
      padding: 5px 20px;
      color: #fff;
      border: 1px solid #fff;
      position: relative;
      margin: 10px auto;
      text-align: center;
      -webkit-transition: all .3s ease;
      -moz-transition: all .3s ease;
      -ms-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
    .menu_fp > a > div:nth-child(1)::after {
      content: '';
      width: 0;
      height: 0;
      display: inline-block;
      border: 13px solid transparent;
      border-top-width: 12px;
      border-bottom-width: 12px;
      position: absolute;
      right: -26px;
      top: 50%;
      margin-top: -12px;
      border-left-color: #ff8243; }
  .menu_fp > a > div:nth-child(2) {
    width: 40%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    background-size: cover;
    background-position: center center;
    transition: all 0.3s ease-out;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    will-change: transform; }
    .menu_fp > a > div:nth-child(2).m_president {
      background-image: url("./images/fp_menu_01_sp2.jpg"); }
      @media (max-width: 767px) {
        .menu_fp > a > div:nth-child(2).m_president {
          background-image: url("images/fp_menu_01_sp2.jpg");
          background-position: center center; } }
    .menu_fp > a > div:nth-child(2).m_company {
      background-image: url("./images/fp_menu_02.jpg"); }
    @media (max-width: 767px) {
      .menu_fp > a > div:nth-child(2) {
        width: calc(50%); } }
  .menu_fp > a:hover {
    color: #fff; }
    .menu_fp > a:hover > div:nth-child(1) .more {
      color: #ff8243;
      border: 1px solid #fff;
      position: relative;
      margin: 10px auto;
      text-align: center;
      background-color: #fff;
      -webkit-transition: all .3s ease;
      -moz-transition: all .3s ease;
      -ms-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
    .menu_fp > a:hover > div:nth-child(1)::after {
      top: 40%; }
    .menu_fp > a:hover > div:nth-child(2) {
      transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0.9); }

.menu_fp_story > a {
  color: #fff !important;
  position: relative;
  display: block;
  height: 230px;
  overflow: hidden;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease; }
  .menu_fp_story > a > div:nth-child(1) {
    width: 60%;
    background-color: #ff8243;
    height: 100%;
    position: relative;
    padding-top: 50px; }
    @media (max-width: 767px) {
      .menu_fp_story > a > div:nth-child(1) {
        width: 52%; } }
    .menu_fp_story > a > div:nth-child(1) .more {
      display: block;
      width: 130px;
      font-size: 0.8em;
      padding: 5px 20px;
      color: #fff;
      border: 1px solid #fff;
      position: relative;
      margin: 10px auto;
      text-align: center;
      -webkit-transition: all .3s ease;
      -moz-transition: all .3s ease;
      -ms-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
    .menu_fp_story > a > div:nth-child(1)::after {
      content: '';
      width: 0;
      height: 0;
      display: inline-block;
      border: 13px solid transparent;
      border-top-width: 12px;
      border-bottom-width: 12px;
      position: absolute;
      right: -26px;
      top: 50%;
      margin-top: -12px;
      border-left-color: #ff8243; }
  .menu_fp_story > a > div:nth-child(2) {
    width: 40%;
    height: 100%;
    background-image: url("images/fp_menu_03.jpg?ver=2.4");
    position: absolute;
    right: 0;
    top: 0;
    background-size: cover;
    background-position: center center;
    z-index: -1;
    transition: all 0.3s ease-out;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    will-change: transform; }
    @media (max-width: 767px) {
      .menu_fp_story > a > div:nth-child(2) {
        width: calc(50%);
        background-image: url("images/fp_menu_03_sp.jpg?ver=2.0");
        background-repeat: no-repeat; } }
  .menu_fp_story > a:hover {
    color: #fff; }
    .menu_fp_story > a:hover > div:nth-child(1) .more {
      color: #ff8243;
      border: 1px solid #fff;
      position: relative;
      margin: 10px auto;
      text-align: center;
      background-color: #fff;
      -webkit-transition: all .3s ease;
      -moz-transition: all .3s ease;
      -ms-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
    .menu_fp_story > a:hover > div:nth-child(1)::after {
      top: 40%; }
    .menu_fp_story > a:hover > div:nth-child(2) {
      transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0.9); }

.menu_fp_value > a {
  background-color: #252525;
  color: #fff !important;
  position: relative;
  display: block;
  height: 230px;
  overflow: hidden;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease; }
  .menu_fp_value > a > div:nth-child(1) {
    width: 60%;
    background-color: #252525;
    height: 100%;
    position: relative;
    padding-top: 50px; }
    @media (max-width: 768px) {
      .menu_fp_value > a > div:nth-child(1) {
        width: 50%; } }
    .menu_fp_value > a > div:nth-child(1) .more {
      display: block;
      width: 130px;
      font-size: 0.8em;
      padding: 5px 20px;
      color: #fff;
      border: 1px solid #fff;
      position: relative;
      margin: 10px auto;
      text-align: center;
      -webkit-transition: all .3s ease;
      -moz-transition: all .3s ease;
      -ms-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
  .menu_fp_value > a > div:nth-child(2) {
    width: 40%;
    height: 100%;
    background-image: url("images/fp_menu_value.png");
    position: absolute;
    right: 0;
    top: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 1;
    transition: all 0.3s ease-out;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    will-change: transform; }
    @media (max-width: 837px) {
      .menu_fp_value > a > div:nth-child(2) {
        width: 50%;
        background-size: contain; } }
  .menu_fp_value > a:hover {
    color: #fff; }
    .menu_fp_value > a:hover > div:nth-child(1) .more {
      color: #252525;
      border: 1px solid #fff;
      position: relative;
      margin: 10px auto;
      text-align: center;
      background-color: #fff;
      -webkit-transition: all .3s ease;
      -moz-transition: all .3s ease;
      -ms-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
    .menu_fp_value > a:hover > div:nth-child(1)::after {
      top: 40%; }
    .menu_fp_value > a:hover > div:nth-child(2) {
      transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0.9); }

.menu_fp_faq > a {
  color: #fff !important;
  position: relative;
  display: block;
  height: 230px;
  overflow: hidden;
  background-color: #5bc15f;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease; }
  .menu_fp_faq > a > div:nth-child(1) {
    width: 60%;
    background-color: #5bc15f;
    height: 100%;
    position: relative;
    padding-top: 50px; }
    @media (max-width: 837px) {
      .menu_fp_faq > a > div:nth-child(1) {
        width: 50%; } }
    .menu_fp_faq > a > div:nth-child(1) .more {
      display: block;
      width: 130px;
      font-size: 0.8em;
      padding: 5px 20px;
      color: #fff;
      border: 1px solid #fff;
      position: relative;
      margin: 10px auto;
      text-align: center;
      -webkit-transition: all .3s ease;
      -moz-transition: all .3s ease;
      -ms-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
  .menu_fp_faq > a > div:nth-child(2) {
    width: 40%;
    height: 100%;
    background-image: url("images/fp_menu_qa.png?ver=2.4");
    position: absolute;
    right: 0;
    top: 0;
    background-size: cover;
    background-position: center center;
    z-index: 1;
    transition: all 0.3s ease-out;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
    will-change: transform; }
    @media (max-width: 837px) {
      .menu_fp_faq > a > div:nth-child(2) {
        width: 50%; } }
  .menu_fp_faq > a:hover {
    color: #fff; }
    .menu_fp_faq > a:hover > div:nth-child(1) .more {
      color: #5bc15f;
      border: 1px solid #fff;
      position: relative;
      margin: 10px auto;
      text-align: center;
      background-color: #fff;
      -webkit-transition: all .3s ease;
      -moz-transition: all .3s ease;
      -ms-transition: all .3s ease;
      -o-transition: all .3s ease;
      transition: all .3s ease; }
    .menu_fp_faq > a:hover > div:nth-child(1)::after {
      top: 40%; }
    .menu_fp_faq > a:hover > div:nth-child(2) {
      transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0.9); }

.story-title {
  position: absolute;
  top: 30px;
  left: 0;
  display: flex;
  justify-content: center;
  width: 5vw;
  padding-top: 1.5em;
  border-top: 1px solid #ff5810; }
  .story-title span {
    display: block;
    font-family: rift, sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: .05em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }
  @media (max-width: 837px) {
    .story-title {
      display: none; } }

.story-title_res {
  padding-left: 1.5em;
  border-left: 1px solid #ff5810; }
  .story-title_res span {
    display: block;
    font-family: rift, sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: .05em; }

div.main {
  display: flex;
  position: relative;
  height: 165px;
  margin: 0;
  background-repeat: no-repeat;
  position: relative;
  background-image: url("images/image_movie2.jpg");
  background-position: center bottom; }
  @media (max-width: 767px) {
    div.main {
      height: 110px; } }

/*div.box{
    margin:auto;
    text-align:center;
    padding:10px 15px;
}*/
div.box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  padding: 10px 15px; }

.movie {
  width: 96%;
  position: absolute;
  top: 51%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  padding: 10px 15px;
  line-height: 0; }

.category_deco {
  margin-top: 5px;
  margin-bottom: 5px;
  display: inline-block;
  padding: 0 2px;
  text-align: center;
  font-size: 0.8em;
  color: #fff;
  background-color: #22bce0;
  border-radius: 2px; }

.flex_news {
  margin: -6px auto 30px;
  font-size: 1em;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 96%;
  max-width: 1160px;
  justify-content: center;
  z-index: 10; }
  @media (max-width: 767px) {
    .flex_news {
      font-size: 0.85em;
      margin: -26px auto 0; } }
  .flex_news > div:nth-child(1) {
    margin: 0;
    width: 10%;
    overflow: hidden;
    text-align: center;
    background-color: #333;
    color: #FFF;
    padding: 12px;
    font-weight: bold;
    border-radius: 24px 0 0 24px; }
    @media (max-width: 767px) {
      .flex_news > div:nth-child(1) {
        font-size: 0.6em;
        letter-spacing: 0.05em;
        padding: 8px 3px; } }
  .flex_news div:nth-child(2) {
    position: relative;
    margin: 0;
    width: 85%;
    background-color: #F5F5F5;
    color: #000;
    padding: 12px;
    overflow: hidden; }
    @media (max-width: 767px) {
      .flex_news div:nth-child(2) {
        padding: 8px; } }
  .flex_news div:nth-child(3) {
    position: relative;
    margin: 0;
    width: 5%;
    background-color: #333;
    color: #fff;
    padding: 12px 0;
    overflow: hidden;
    font-size: 1.4em;
    border-radius: 0 24px 24px 0; }
    @media (max-width: 767px) {
      .flex_news div:nth-child(3) {
        font-size: 0.7em;
        padding: 8px 3px; } }
    .flex_news div:nth-child(3) a {
      color: #fff !important; }

.metaslider .flex-control-nav {
  display: none !important; }

.ticker {
  width: 100%;
  padding-bottom: 24px;
  text-align: left;
  position: relative;
  overflow: hidden; }

.ticker ul {
  width: 100%;
  position: relative; }

.ticker ul li {
  width: 100%;
  display: none; }

@media screen and (max-width: 767px) {
  html, body {
    overflow-x: hidden !important;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; } }
.keieirinen {
  font-family: 游明朝体, "Yu Mincho", YuMincho, "Noto Serif JP", serif, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  margin-bottom: 40px;
  text-align: center;
  line-height: 2em; }
  @media screen and (max-width: 767px) {
    .keieirinen {
      text-align: center;
      font-size: 0.98em; } }

p.price {
  text-align: center;
  font-size: 0.9em; }

.story_lyric {
  font-family: 游明朝体, "Yu Mincho", YuMincho, "Noto Serif JP", serif, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 1.3em;
  line-height: 1.5em;
  padding: 10px; }
  @media screen and (max-width: 767px) {
    .story_lyric {
      font-size: 0.9em; } }

.sub_title {
  text-align: center;
  font-weight: bold;
  font-size: 1em; }
  @media (max-width: 767px) {
    .sub_title {
      font-size: 0.85em; } }

/*pagination*/
.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  clear: both;
  padding: 20px 0;
  position: relative;
  font-size: 14px;
  line-height: 14px;
  text-align: center; }

.pagination span, .pagination a {
  display: block;
  float: left;
  width: auto;
  margin: 2px 5px 2px 0;
  padding: 5px 10px 6px 10px;
  background-color: #eee;
  border: 1px solid #bbb;
  border-radius: 3px;
  color: #333;
  text-decoration: none; }

.pagination a:hover {
  background-color: #fff; }

.pagination .current {
  background-color: #fff;
  font-weight: bold; }

.recaptcha_policy {
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 11px !important;
  color: #444 !important; }

.recaptcha_policy a {
  font-size: 11px !important;
  color: #111 !important; }

.grecaptcha-badge {
  visibility: hidden; }

dl.list_new {
  width: 50%;
  margin: 20px auto;
  border: 1px solid #777;
  background-color: #fff;
  padding: 15px; }
  @media screen and (max-width: 767px) {
    dl.list_new {
      position: relative;
      width: 90%;
      margin: 0 auto;
      padding: 40px 30px; } }
  dl.list_new dt {
    float: left;
    width: 100px;
    font-weight: bold;
    text-align: right; }
    @media screen and (max-width: 767px) {
      dl.list_new dt {
        text-align: right; } }
  dl.list_new dd {
    margin-left: 80px; }
