@charset "UTF-8";

/**
 * ================================================================================
 * Table of Contents:
 *
 * Parts Settings
 *    - Element
 *    - Block
 *    - Box
 *    - Column
 *    - Title
 *    - Lists / Comments
 *    - Icon
 *    - Button
 *    - Banner
 *    - Table
 * Module Settings
 *    - Main Visual
 *    - Main Content
 *    - News
 * Animation Settings
 * ================================================================================
 */ 

 




/**
 * ================================================================================
 * Parts Settings
 * ================================================================================
 */


/**
 * Element
 * -------------------------------
 */
 
.is_pc { display: block !important; }
img.is_pc,
br.is_pc { display: inline-block !important; }
.is_sp,
img.is_sp,
br.is_sp { display: none !important; }



/**
 * Block
 * -------------------------------
 */

/* -- .sec_block -- */
.sec_block { margin-bottom: 60px; }
.sec_block:nth-last-of-type(1) { margin-bottom: 0; }


/* -- .cnt_block -- */
.cnt_block { margin-bottom: 40px; }
.cnt_block:nth-last-of-type(1) { margin-bottom: 0; }



/**
 * Box
 * -------------------------------
 */

/* -- .cnt_box -- */
.cnt_box { padding: 45px 50px 50px 50px; }



/**
 * Column
 * -------------------------------
 */

.cnt_col_lists {
  margin: -20px 0 0 -20px;
  list-style: none;
  letter-spacing: -.40em;
  }

  .cnt_col_lists > .cnt_col {
    display: inline-block;
    padding: 20px 0 0 20px;
    vertical-align: top;
    letter-spacing: normal;
    }

  .cnt_col_lists > .cnt_col01 { width: 100%; }
  .cnt_col_lists > .cnt_col02 { width: 50%; }
  .cnt_col_lists > .cnt_col03 { width: 33.3333%; }
  .cnt_col_lists > .cnt_col04 { width: 25%; }
  .cnt_col_lists > .cnt_col05 { width: 20%; }
  .cnt_col_lists > .cnt_col06 { width: 16.6666%; }
  .cnt_col_lists > .cnt_col07 { width: 14.2857%; }
  .cnt_col_lists > .cnt_col08 { width: 12.5%; }

    .cnt_col_lists > .cnt_col > a { display: block; }



/**
 * Title
 * -------------------------------
 */

/* -- .cnt_ttl -- */
.cnt_ttl {
  padding-bottom: 20px;
  margin-bottom: 25px;
  position: relative;
  }

  .cnt_ttl:before,
  .cnt_ttl:after{
    content: "";
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 0;
    }

  .cnt_ttl:before {
    background-color: #ccc;
    z-index: 1;
    }

  .cnt_ttl:after {
    background-color: #0095ff;
    width: 300px;
    z-index: 2;
    }

  .sec_ttl > span {
    display: block;
    font-weight: 700;
    }



/**
 * Lists / Comments
 * -------------------------------
 */
 
.cnt_lists,
.cnt_comments { list-style: none; }

  .cnt_lists li { margin-bottom: 5px; }
  .cnt_comments  li { margin-bottom: 3px; }

  .cnt_lists li,
  .cnt_comments li {
    padding-left: 1em;
    position: relative;
    }

    .cnt_lists li:before,
    .cnt_comments li:before {
      display: inline-block;
      margin-left: -1em;
      }

    .cnt_lists li:before { content: "・"; }
    .cnt_comments li:before { content: "※"; }

ol.cnt_lists,
ol.cnt_comments {
  counter-reset: item;
  list-style-type: none;
  }

  ol.cnt_lists li,
  ol.cnt_comments li {
    padding-left: 2.5em;
    text-indent: 0;
    }

  ol.cnt_lists li:before,
  ol.cnt_comments li:before { margin-left: -2.5em; }

  ol.cnt_lists li:before {
    counter-increment: item;
    content: "・"counter(item, decimal-leading-zero)".";
    }
  ol.cnt_comments li:before {
    counter-increment: item;
    content: "※"counter(item, decimal-leading-zero)".";
    }
    
.cnt_comments,
.cnt_caption {
  color: #ccc;
  font-size: 10px;
  line-height: 1.4;
  }



/**
 * Icon
 * -------------------------------
 */

.cnt_icon {
    display: inline-block;
    padding-left: 1em;
    position: relative;
    font-weight: 700;
    line-height: 1.6;
    }
a.cnt_icon {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  }

  .cnt_icon:before,
  .cnt_icon:after {
    content: "";
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100% auto;
    position: absolute;
    top: 0.6em;
    left: 0;
    }

  a.cnt_icon.cnt_icon_arrow:before {
    width: 7px;
    height: 7px;
    border-right-width: 1.5px;
    border-bottom-width: 1.5px;
    border-style: solid;
    border-color: #0095ff;
    border-left: none;
    border-top: none;
    -wegbkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    }



/**
 * Button
 * -------------------------------
 */

.cnt_btn_lists {
  list-style: none;
  letter-spacing: -.40em;
  }

  .cnt_btn_lists .cnt_btn {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: top;
    position: relative;
    }

    .cnt_btn_lists .cnt_btn > * {
      background-color: #0095ff;
      width: 100%;
      display: block;
      padding: 10px 25px 10px 20px;
      position: relative;
      color: #fff;
      font-weight: 700;
      text-align: center;
      line-height: 1.2;
      border-radius: 1000px;
      }

    .cnt_btn_lists .cnt_btn > *:before {
      content: "";
      width: 8px;
      height: 8px;
      margin-top: -4px;
      border-right-width: 2px;
      border-bottom-width: 2px;
      border-style: solid;
      border-color: #fff;
      border-left: none;
      border-top: none;
      position: absolute;
      top: 50%;
      right: 10px;
      -wegbkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      }
    

/* -- Color -- */
.cnt_btn_lists .cnt_btn.cnt_btn_gray > * { background-color: #999; }
.cnt_btn_lists .cnt_btn.cnt_btn_blue > * { background-color: #0095ff; }


/* -- Disable -- */
.cnt_btn_lists .cnt_btn.cnt_btn_disable:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  }

  .cnt_btn_lists .cnt_btn.cnt_btn_disable > * { opacity: 0.5; }



/**
 * Banner
 * -------------------------------
 */

.cnt_banner_lists {
  list-style: none;
  letter-spacing: -.40em;
  }

  .cnt_banner_lists .cnt_banner {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: top;
    position: relative;
    }

    .cnt_banner_lists .cnt_banner > * {
      background-color: #fff;
      width: 100%;
      display: block;
      padding: 5px;
      border-radius: 8px;
      }
  
      .cnt_banner_lists .cnt_banner > * > *:not(img) {
        background-color: #e5e5e5;
        width: 100%;
        display: flex;
        align-items: center;
        align-content: center;
        flex-wrap: wrap;
        padding: 10px 25px 10px 15px;
        position: relative;
        color: #333;
        font-weight: 500;
        line-height: 1.2;
        }

        .cnt_banner_lists .cnt_banner > * > *:not(img):before {
          content: "";
          width: 8px;
          height: 8px;
          margin-top: -4px;
          border-right-width: 2px;
          border-bottom-width: 2px;
          border-style: solid;
          border-color: #0095ff;
          border-left: none;
          border-top: none;
          position: absolute;
          top: 50%;
          right: 10px;
          -wegbkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
          }


/* -- Disable -- */
.cnt_banner_lists .cnt_banner.cnt_banner_disable:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  }

  .cnt_banner_lists .cnt_banner.cnt_banner_disable > * { opacity: 0.5; }



/**
 * Definition List
 * -------------------------------
 */

.cnt_dl_lists {}

  .cnt_dl_lists > dt {
    display: block;
    margin-bottom: 5px;
    font-size: 112.5%;
    font-weight: 700;
    }



/**
 * Table
 * -------------------------------
 */

.cnt_table {}

  .cnt_table table { width: 100%; }

    .cnt_table table th,
    .cnt_table table td {
      padding: 15px 40px;
      border-top: 1px solid #5b5b5b;
      border-bottom: 1px solid #5b5b5b;
      background-clip: padding-box;
      position: relative;
      vertical-align: middle;
      }

    .cnt_table table th {
      background-color: rgba(255, 255, 255, 0.05);
      font-weight: 700;
      text-align: center;
      }



/**
 * Overflow
 * -------------------------------
 */

.cnt_overflow_x { overflow-x: scroll; }
.cnt_overflow_y { overflow-y: scroll; }






/**
 * ================================================================================
 * Module Settings
 * ================================================================================
 */


/**
 * Main Visual
 * -------------------------------
 */

.sec_mv {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  width: 100%;
  height: 260px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  text-align: center;
  }

  .sec_mv:before {
    content: "";
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    }

  .sec_mv .sec_mv_inner {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 40px;
    position: relative;
    z-index: 2;
    }


    /* -- .sec_mv_ttl -- */
    .sec_mv .sec_mv_ttl { width: 100%; }

    .sec_mv .sec_mv_ttl > * { width: 100%; }

      .sec_mv .sec_mv_ttl > h1 { font-weight: 500; }

      .sec_mv .sec_mv_ttl > p {
        margin-top: 15px;
        font-family: "Saira", sans-serif;
        font-size: 24px;
        line-height: 1.2;
        letter-spacing: 0.03em;
        }

      .sec_mv .sec_mv_ttl > div {
        background-color: #fff;
        display: inline-block;
        width: 60px;
        height: 2px;
        margin-top: 20px;
        }


    /* -- .sec_mv_txt -- */
    .sec_mv .sec_mv_txt {
      width: 100%;
      margin-top: 20px;
      font-size: 18px;
      letter-spacing: 0.03em;
      line-height: 1.8;
      }



/**
 * Main Contents
 * -------------------------------
 */

.sec_mc {
  padding: 60px 0;
  position: relative;
  }

  .sec_mc:before {
    content: "";
    background: -webkit-linear-gradient(top,  rgba(3,32,90,1) 0%,rgba(3,32,90,0) 100%);
    background: linear-gradient(to bottom,  rgba(3,32,90,1) 0%,rgba(3,32,90,0) 100%);
    width: 100%;
    height: 450px;
    position: absolute;
    top: 10px;
    left: 0;
    }



/**
 * News
 * -------------------------------
 */

.cnt_news {}


  /* -- .cnt_news_lists -- */
  .cnt_news .cnt_news_lists {
    margin-top: -15px;
    list-style: none;
    letter-spacing: -.40em;
    }

    .cnt_news .cnt_news_lists .cnt_news {
      display: inline-block;
      width: 100%;
      letter-spacing: normal;
      vertical-align: top;
      border-bottom: 1px dotted #5b5b5b;
      }

      .cnt_news .cnt_news_lists .cnt_news > * {
        display: block;
        padding: 15px 25px 15px 0;
        position: relative;
        color: #fff;
        line-height: 1.4;
        }

        .cnt_news .cnt_news_lists .cnt_news > *:not(span):before {
          content: "";
          width: 8px;
          height: 8px;
          margin-top: -4px;
          border-right-width: 2px;
          border-bottom-width: 2px;
          border-style: solid;
          border-color: #0095ff;
          border-left: none;
          border-top: none;
          position: absolute;
          top: 50%;
          right: 10px;
          -wegbkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
          }

        .cnt_news .cnt_news_lists .cnt_news > * .new {
          display: inline-block;
          padding: 2px 6px;
          margin-left: 15px;
          border: 1px solid #ff0000;
          vertical-align: middle;
          color: #ff0000;
          font-size: 10px;
          font-weight: 500;
          }

        .cnt_news .cnt_news_lists .cnt_news > * > dl {
          display: table;
          width: 100%;
          }

          .cnt_news .cnt_news_lists .cnt_news > * > dl > dt,
          .cnt_news .cnt_news_lists .cnt_news > * > dl > dd { display: table-cell; }

          .cnt_news .cnt_news_lists .cnt_news > * > dl > dt { width: 5%; }

          .cnt_news .cnt_news_lists .cnt_news > * > dl > dd {
            width: 95%;
            padding-left: 20px;
            }








/**
 * ================================================================================
 * Animate Settings
 * ================================================================================
 */


.animate {
  display: block;
  transition-property: all;
  transition-timing-function: ease-out;
  }


/* -- .animate_moveY01 -- */
.animate_moveY01 {
  opacity: 0;
  visibility: hidden;
  transition-duration: 0.6s;
  -webkit-transform: translate(0, 40px);
  transform: translate(0, 40px);
  }
.animate_moveY01.animated {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  }


/* -- .animate_scaleX01 -- */
.animate_scaleX01 {
  transition-duration: 0.6s;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  }
.animate_scaleX01.animated {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  }


/* -- .animate_blur01 -- */
.animate_blur01 {
  background: transparent;
  opacity: 0;
  visibility: hidden;
  transition-duration: 0.8s;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  }
.animate_blur01.animated {
  opacity: 1;
  visibility: visible;
  -webkit-filter: blur(0);
  filter: blur(0);
  }









@media all and (min-width: 0px) and (max-width: 767px) {
    

/**
 * ================================================================================
 * Parts Settings
 * ================================================================================
 */
    

/**
 * Element
 * -------------------------------
 */
 
.is_pc,
img.is_pc,
br.is_pc { display: none !important; }
.is_sp { display: block !important; }
img.is_sp,
br.is_sp { display: inline-block !important; }
    
    
    
/**
 * Block
 * -------------------------------
 */

/* -- .sec_block -- */
.sec_block { margin-bottom: 40px; }
.sec_block:nth-last-of-type(1) { margin-top: 0; }


/* -- .cnt_block -- */
.cnt_block { margin-bottom: 30px; }
.cnt_block:nth-last-of-type(1) { margin-top: 0; }
  
  
  
/**
 * Box
 * -------------------------------
 */

/* -- .cnt_box -- */
.cnt_box { padding: 20px 15px 25px 15px; }
    
    
    
/**
 * Column
 * -------------------------------
 */

.cnt_col_lists { margin: -10px 0 0 -10px; }

  .cnt_col_lists > .cnt_col { padding: 10px 0 0 10px; }

  .cnt_col_lists > .cnt_col01_sp { width: 100% !important; }
  .cnt_col_lists > .cnt_col02_sp { width: 50% !important; }
  .cnt_col_lists > .cnt_col03_sp { width: 33.3333% !important; }
  .cnt_col_lists > .cnt_col04_sp { width: 25% !important; }
  .cnt_col_lists > .cnt_col05_sp { width: 20% !important; }
  .cnt_col_lists > .cnt_col06_sp { width: 16.6666% !important; }
  .cnt_col_lists > .cnt_col07_sp { width: 14.2857% !important; }
  .cnt_col_lists > .cnt_col08_sp { width: 12.5% !important; }
    
    

/**
 * Title
 * -------------------------------
 */

/* -- .cnt_ttl -- */
.cnt_ttl {
  padding-bottom: 15px;
  margin-bottom: 20px;
  }

  .cnt_ttl:after { width: 100px; }
    
    
    
/**
 * Lists / Comments
 * -------------------------------
 */

.cnt_lists li { margin-bottom: 5px; }
.cnt_comments  li { margin-bottom: 2px; }
    
    

/**
 * Icon
 * -------------------------------
 */

.cnt_icon {}
  
  a.cnt_icon.cnt_icon_arrow:before {
    width: 6px;
    height: 6px;
    }
 
    

/**
 * Button
 * -------------------------------
 */
    
.cnt_btn_lists {}

  .cnt_btn_lists .cnt_btn > * { padding: 10px 25px 10px 15px; }
    
    .cnt_btn_lists .cnt_btn > *:before {
      width: 8px;
      height: 8px;
      margin-top: -4px;
      border-right-width: 2px;
      border-bottom-width: 2px;
      right: 10px;
      }
  
  
  
/**
 * Definition List
 * -------------------------------
 */

.cnt_dl_lists {}

  .cnt_dl_lists > dt { margin-bottom: 5px; }
  
  
/**
 * Banner
 * -------------------------------
 */

.cnt_banner_lists {}

  .cnt_banner_lists .cnt_banner > * {
    padding: 3px;
    border-radius: 4px;
    }

    .cnt_banner_lists .cnt_banner > * > *:not(img) { padding: 10px 25px 10px 15px; }

      .cnt_banner_lists .cnt_banner > * > *:not(img):before {
        width: 8px;
        height: 8px;
        margin-top: -4px;
        border-right-width: 2px;
        border-bottom-width: 2px;
        right: 10px;
        }
    

    
/**
 * Table
 * -------------------------------
 */

.cnt_table {}

  .cnt_table table th,
  .cnt_table table td { padding: 10px 15px; }
    
    
    
/**
 * Overflow
 * -------------------------------
 */

.cnt_overflow_x_sp { overflow-x: scroll; }
.cnt_overflow_y_sp { overflow-y: scroll; }
    
    
    
    
    
    
/**
 * ================================================================================
 * Module Settings
 * ================================================================================
 */ 
  
  
/**
 * Main Visual
 * -------------------------------
 */

.sec_mv { height: 120px; }

  .sec_mv .sec_mv_inner { padding: 0 20px; }


    /* -- .sec_mv_ttl -- */
    .sec_mv .sec_mv_ttl {}

      .sec_mv .sec_mv_ttl > h1 {}

      .sec_mv .sec_mv_ttl > p {
        margin-top: 5px;
        font-size: 13px;
        }

      .sec_mv .sec_mv_ttl > div {
        width: 50px;
        height: 2px;
        margin-top: 15px;
        }


    /* -- .sec_mv_txt -- */
    .sec_mv .sec_mv_txt {
      margin-top: 15px;
      font-size: 12px;
      }
  
  
  
/**
 * Main Contents
 * -------------------------------
 */

.sec_mc { padding: 35px 0 40px 0; }

  .sec_mc:before {
    height: 380px;
    top: 5px;
    }
  
  
  
/**
 * News
 * -------------------------------
 */

.cnt_news {}


  /* -- .cnt_news_lists -- */
  .cnt_news .cnt_news_lists { margin-top: -10px; }

    .cnt_news .cnt_news_lists .cnt_news > * { padding: 10px 25px 10px 0; }

      .cnt_news .cnt_news_lists .cnt_news > *:not(span):before {
        width: 8px;
        height: 8px;
        margin-top: -4px;
        border-right-width: 2px;
        border-bottom-width: 2px;
        }

      .cnt_news .cnt_news_lists .cnt_news > * .new {
        padding: 1px 4px;
        margin-left: 10px;
        }

      .cnt_news .cnt_news_lists .cnt_news > * > dl {
        display: table;
        width: 100%;
        }

        .cnt_news .cnt_news_lists .cnt_news > * > dl > dt { width: 15%; }

        .cnt_news .cnt_news_lists .cnt_news > * > dl > dd {
          width: 85%;
          padding-left: 10px;
          }
    
    
    
  
  
  
/**
 * ================================================================================
 * Animate Settings
 * ================================================================================
 */


/* -- .animate_moveY01 -- */
.animate_moveY01 {
  -webkit-transform: translate(0, 30px);
  transform: translate(0, 30px);
  }
    
}