@charset "UTF-8";
/* ==========================================================================
   initialize
   ========================================================================== */
/* ==========================================================================
   index
   ========================================================================== */
#introduction {
  text-align: center; }
  #introduction .title {
    margin-bottom: 2rem; }
  #introduction .text {
    line-height: 1.75;
    display: inline-block;
    text-align: left;
    margin-bottom: 2rem; }
  #introduction .time {
    font-family: 'Noto Serif JP', sans-serif;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #introduction .time dl {
      padding: 0 1.5rem;
      margin-bottom: 0; }
      #introduction .time dl dt {
        font-size: 1.5rem;
        font-weight: normal; }
  #introduction .address {
    margin-bottom: 0; }
  #introduction .tel {
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 1.5rem; }

#information {
  background-color: #F7F6F0; }
  #information h2 {
    text-align: center;
    margin-bottom: 1rem; }
  #information .slick-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
    #information .slick-track:before, #information .slick-track:after {
      content: none; }
  #information .slick-slide {
    float: none;
    height: auto; }
  #information .slick-prev, #information .slick-next {
    z-index: 1;
    width: 3rem;
    padding: 1rem;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    /*
    &:after {
      content: "";
      position: absolute;
      display: block;
      width: 50%;
      height: 50%;
      bottom: 0;
      background-color: rgba(red, .5);
      left: 0;
    }*/ }
    #information .slick-prev:hover, #information .slick-next:hover {
      background-color: rgba(0, 0, 0, 0.25); }
    #information .slick-prev:before, #information .slick-next:before {
      content: "";
      position: absolute;
      display: block;
      width: 24px;
      height: 24px;
      border-left: 4px solid white;
      border-top: 4px solid white; }
  #information .slick-prev {
    left: 0; }
    #information .slick-prev:before {
      -webkit-transform: rotate(315deg);
      -ms-transform: rotate(315deg);
      transform: rotate(315deg);
      margin: -12px 0px 0px 4px;
      margin: -12px 0px 0px -4px; }
  #information .slick-next {
    right: 0; }
    #information .slick-next:before {
      -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
      transform: rotate(135deg);
      margin: -12px 0px 0px -12px;
      margin: -12px 0px 0px -4px; }
  #information .img-container {
    position: relative;
    overflow: hidden;
    width: 100%; }
    #information .img-container:before {
      display: block;
      padding-top: 66.66666%;
      content: ''; }
    #information .img-container img {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      width: 100%; }
  #information .slide-item {
    margin: 1rem; }
    #information .slide-item .slide-item-inner {
      color: inherit;
      text-decoration: none;
      display: block;
      opacity: 1;
      height: 100%;
      -webkit-transition: opacity .5s;
      -o-transition: opacity .5s;
      transition: opacity .5s;
      background-color: #fff; }
      #information .slide-item .slide-item-inner:hover {
        opacity: .5; }
    #information .slide-item p {
      margin: 0;
      padding: 1rem; }

#main-banner-container {
  padding-bottom: 0; }
  #main-banner-container .main-banner {
    display: block;
    width: calc(100% - 6rem);
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto; }
    #main-banner-container .main-banner:not(:last-child) {
      margin-bottom: 7rem; }
    #main-banner-container .main-banner.reversed {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }
    #main-banner-container .main-banner:before {
      content: "";
      width: 50%;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
      order: 0;
      min-height: 450px;
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
    #main-banner-container .main-banner.main_01:before {
      background-image: url(../img/index/main_r.jpg);
      background-image: url(../img/index/main_r2.jpg);
      background-image: url(../img/index2/company_outline.jpg);
      background-position: center 30%; }
    #main-banner-container .main-banner.main_02:before {
/*
      background-image: url(../img/index/main_ms.jpg);
*/
      background-image: url(../img/index2/our_services.jpg); }
    #main-banner-container .main-banner.main_03:before {
/*
      background-image: url(../img/index/main_vp.jpg);
*/
      background-image: url(../img/index2/philosophy.jpg); }
    #main-banner-container .main-banner.main_04:before {
/*
      background-image: url(../img/index/main_fg.jpg);
*/
      background-image: url(../img/index2/recruit.jpg); }
    #main-banner-container .main-banner.main_05:before {
/*
      background-image: url(../img/index/main_ac.jpg);
*/
      background-image: url(../img/index2/access.jpg); }
    #main-banner-container .main-banner .main-banner-inner {
      margin-left: -6.7rem;
      margin-right: 0;
      background-color: rgba(255, 255, 255, 0.85); }
      #main-banner-container .main-banner .main-banner-inner section {
        padding: 1.5rem;
        -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
        min-width: 360px; }
        #main-banner-container .main-banner .main-banner-inner section h1 {
          text-align: center;
          margin-bottom: 1rem; }
          #main-banner-container .main-banner .main-banner-inner section h1 > span {
            display: block; }
        #main-banner-container .main-banner .main-banner-inner section p {
          line-height: 1.75;
          /* 19.05.20 */
          line-height: 1.5; }
          #main-banner-container .main-banner .main-banner-inner section p:last-child {
            margin-bottom: 0; }
        #main-banner-container .main-banner .main-banner-inner section .btn {
          width: 100%; }
    #main-banner-container .main-banner.reversed .main-banner-inner {
      margin-left: 0;
      margin-right: -6.7rem; }
    #main-banner-container .main-banner.main_02 .main-banner-inner section {
      padding-bottom: .75rem; }
      #main-banner-container .main-banner.main_02 .main-banner-inner section + section {
        padding-top: .75rem;
        padding-bottom: 1.5rem; }
      #main-banner-container .main-banner.main_02 .main-banner-inner section h1 {
        margin-bottom: .75rem; }
      #main-banner-container .main-banner.main_02 .main-banner-inner section p.text {
        margin-bottom: .75rem; }
      #main-banner-container .main-banner.main_02 .main-banner-inner section .text + p:not(:last-child) {
        margin-bottom: 1.5rem; }
    #main-banner-container .main-banner.main_02 h1 span,
    #main-banner-container .main-banner.main_03 h1 span,
    #main-banner-container .main-banner.main_04 h1 span {
      letter-spacing: .75em; }
    #main-banner-container .main-banner.main_02 h1 small,
    #main-banner-container .main-banner.main_03 h1 small {
      text-indent: -1.875rem; }
/**
    #main-banner-container .main-banner.main_04 {
      display: block; }
      #main-banner-container .main-banner.main_04:before {
        display: block;
        width: calc(100% - 360px - -6.7rem);
        margin: auto; }



      #main-banner-container .main-banner.main_04 .main-banner-inner {
        width: 360px;
        margin: 0 auto;
        position: absolute;
        top: 0;
        left: 0;
        right: 0; }
**/
    #main-banner-container .main-banner.main_05 {
      width: 800px;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
      margin-left: auto;
      margin-right: auto;
      color: #fff;
/*
      background-color: #231815;
*/
      background-color: rgb(0, 120, 210);
      text-decoration: none; }
      #main-banner-container .main-banner.main_05:before {
        content: none; }
      #main-banner-container .main-banner.main_05 > .img {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        min-width: 50%;
        -webkit-transition: opacity .5s;
        -o-transition: opacity .5s;
        transition: opacity .5s; }
        #main-banner-container .main-banner.main_05 > .img img {
          max-width: 100%; }
      #main-banner-container .main-banner.main_05 .main-banner-inner {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        margin-left: 0;
        margin-right: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background-color: transparent;
        -webkit-transition: opacity .5s;
        -o-transition: opacity .5s;
        transition: opacity .5s; }
        #main-banner-container .main-banner.main_05 .main-banner-inner section {
          min-width: auto; }
      #main-banner-container .main-banner.main_05:hover > .img,
      #main-banner-container .main-banner.main_05:hover .main-banner-inner {
        opacity: .75; }

#middle-banner-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  #middle-banner-container .middle-banner {
    width: calc(50% - 2rem);
    max-width: 600px;
    text-align: center;
    margin-bottom: 4rem;
    margin-bottom: 4rem;
    position: relative;
    overflow: hidden; }
    #middle-banner-container .middle-banner:before {
      content: "";
      display: block;
      padding-bottom: 41.841%;
      padding-bottom: 56.25%;
      padding-bottom: 46.25%; }
    #middle-banner-container .middle-banner span {
      font-family: 'Noto Serif JP', sans-serif;
      font-size: 2rem;
      color: #fff;
      position: absolute;
      width: 12em;
      left: 0;
      right: 0;
      margin-left: auto;
      margin-right: auto;
      bottom: .5em;
      padding: .25em 0;
      line-height: 1;
      z-index: 1;
      -webkit-transition: opacity .5s;
      -o-transition: opacity .5s;
      transition: opacity .5s; }
    #middle-banner-container .middle-banner img {
      position: absolute;
      width: 100%;
      left: 0;
      bottom: 0;
      -webkit-transition: opacity .5s;
      -o-transition: opacity .5s;
      transition: opacity .5s; }
    #middle-banner-container .middle-banner:hover span,
    #middle-banner-container .middle-banner:hover img {
      opacity: .75; }
    #middle-banner-container .middle-banner.t:before {
      background-color: #34AD37; }
    #middle-banner-container .middle-banner.t span {
      background-color: rgba(52, 173, 55, 0.75); }
    #middle-banner-container .middle-banner.b {
      margin-left: 4rem; }
      #middle-banner-container .middle-banner.b:before {
        background-color: #EA545D; }
      #middle-banner-container .middle-banner.b span {
        background-color: rgba(234, 84, 93, 0.75); }
  #middle-banner-container #memberscard {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    color: rgba(41, 28, 25, 0.75);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #middle-banner-container #memberscard:before {
      content: "";
      display: inline-block;
      margin-right: 1.5rem;
      width: 64px;
      height: 100px;
      background: url(../img/index/memberscard.jpg) 0 0 no-repeat;
      background-size: contain; }
    #middle-banner-container #memberscard p {
      margin-bottom: .5rem; }
    #middle-banner-container #memberscard .btn {
      min-width: 14rem;
      padding: .25rem;
      color: #fff; }
      #middle-banner-container #memberscard .btn[data-name="register"] {
        background-color: #FF5C79;
        border-color: #FF5C79; }
        #middle-banner-container #memberscard .btn[data-name="register"]:hover {
          color: #FF5C79;
          background-color: transparent; }
      #middle-banner-container #memberscard .btn[data-name="policy"] {
        background-color: #AB75AA;
        border-color: #AB75AA;
        margin-left: .5rem; }
        #middle-banner-container #memberscard .btn[data-name="policy"]:hover {
          color: #AB75AA;
          background-color: transparent; }

/* ==========================================================================
   キャッシュレスに関する案内文
   ========================================================================== */
aside#notice_1910 {
  margin-top: -2rem;
  margin-bottom: 3rem; }
  aside#notice_1910 > a {
    display: block;
    margin: 10px 10px 0 10px; }
    aside#notice_1910 > a img {
      width: 100%; }
    aside#notice_1910 > a[href] {
      -webkit-transition: opacity .3s;
      -o-transition: opacity .3s;
      transition: opacity .3s; }
      aside#notice_1910 > a[href]:hover {
        opacity: .75; }
