@charset "UTF-8";
/* =====================================================
▼ COLOR
===================================================== */
/*---------------------------------------------------------------------------*/
@-webkit-keyframes header_animate { 0% { opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
@-moz-keyframes header_animate { 0% { opacity: 1;
    -moz-transform: scale(1.1);
         transform: scale(1.1); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1); } }
@keyframes header_animate { 0% { opacity: 1;
    -webkit-transform: scale(1.1);
       -moz-transform: scale(1.1);
            transform: scale(1.1); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes imgZoom { 0% { opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-moz-keyframes imgZoom { 0% { opacity: 0;
    -moz-transform: scale(0.5);
         transform: scale(0.5); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -moz-transform: scale(1);
         transform: scale(1); } }

@keyframes imgZoom { 0% { opacity: 0;
    -webkit-transform: scale(0.5);
       -moz-transform: scale(0.5);
            transform: scale(0.5); }
  25% { opacity: 1; }
  100% { opacity: 1;
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
            transform: scale(1); } }

.on { opacity: 0; visibility: hidden; -webkit-transform: translateY(50px); -moz-transform: translateY(50px); -ms-transform: translateY(50px); transform: translateY(50px); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }

.act { opacity: 0; visibility: hidden; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease; }

.main-visual { position: relative; z-index: 2; }

@media screen and (min-width: 769px) { .main-visual { height: 60rem; margin-top: 17.8rem; padding: 0; } }

@media screen and (max-width: 768px) { .main-visual { height: 78.125vw; margin-top: 21.875vw; } }

.main-visual.active .on { opacity: 1; visibility: visible; -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }

.main-visual.active .act { opacity: 1; visibility: visible; }

.mv-title { width: 100%; height: 100%; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); max-width: 107rem; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; padding: 0 1.5rem; }

.mv-title img { width: 58rem; height: auto; }

@media screen and (max-width: 768px) { .mv-title img { width: 78.125vw; } }

@media screen and (max-width: 768px) { .mv-title { padding: 0 9.375vw; } }

.mv-slider { width: 100%; height: 100%; }

.mv-slider_item { width: 100%; height: 60rem; background-position: center; }

@media screen and (max-width: 768px) { .mv-slider_item { height: 78.125vw; } }

/** section-intro **/
.section-intro { background: url(../img/rectag_bg.jpg) center center no-repeat; -moz-background-size: cover; background-size: cover; color: #fff; text-align: center; padding: 5rem 0 5rem; }

@media screen and (max-width: 768px) { .section-intro { padding: 4.6875vw 0 6.25vw 0; }
  .section-intro .btn { margin: 0 auto; } }

.section-intro .btn { margin: 0 auto; }

.intro-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 3.5rem 0 5rem -1rem; }

.intro-list li { width: -webkit-calc(100%/5 - 1rem); width: -moz-calc(100%/5 - 1rem); width: calc(100%/5 - 1rem); margin: 0 0 0 1rem; }

.intro-list li a { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 13rem; color: #fff; font-size: 3rem; font-weight: bold; border: 1px solid #fff; position: relative; }

.intro-list li a:after { position: absolute; content: ''; width: -webkit-calc(100% - 0.8rem); width: -moz-calc(100% - 0.8rem); width: calc(100% - 0.8rem); height: -webkit-calc(100% - 0.8rem); height: -moz-calc(100% - 0.8rem); height: calc(100% - 0.8rem); left: 0.4rem; top: 0.4rem; background: rgba(255, 255, 255, 0.2); -webkit-transition: all .3s ease; -moz-transition: all .3s ease; transition: all .3s ease; }

.intro-list li a span { display: inline-block; position: relative; z-index: 2; }

.intro-list li a:hover { opacity: 1; }

.intro-list li a:hover:after { width: 100%; height: 100%; left: 0; top: 0; right: 0; bottom: 0; background: #0A4BBE; }

@media screen and (max-width: 768px) { .intro-list { margin: 4.6875vw 0 3.125vw -3.125vw; }
  .intro-list li { width: -webkit-calc(100%/3 - 3.125vw); width: -moz-calc(100%/3 - 3.125vw); width: calc(100%/3 - 3.125vw); margin: 0 0 3.125vw 3.125vw; }
  .intro-list li a { font-size: 4.6875vw; height: 19.375vw; } }

.intro-title { font-size: 2.8rem; line-height: 2.05; margin-bottom: 2rem; }

@media screen and (min-width: 769px) { .intro-title span { display: inline-block; }
  .intro-title span:last-child { display: block; } }

@media screen and (max-width: 768px) { .intro-title { font-size: 5.3125vw; line-height: 1.6; }
  .intro-title span { display: block; } }

.intro-txt { font-size: 1.7rem; line-height: 2; }

@media screen and (max-width: 768px) { .intro-txt { font-size: 3.75vw; line-height: 1.6; text-align: left; letter-spacing: -0.04em; } }

/** section-about **/
.section-about { background: #DEEAFF; padding: 4rem 0 5rem; }

@media screen and (max-width: 768px) { .section-about { padding: 6.25vw 0 12.5vw; } }

.about-title { font-size: 3.2rem; font-weight: bold; text-align: center; margin-bottom: 2rem; }

@media screen and (max-width: 768px) { .about-title { font-size: 6.25vw; margin-bottom: 4.6875vw; } }

@media screen and (min-width: 769px) { .about-row { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; }
  .about-row_img { width: 34.5rem; }
  .about-row_ctn { width: -webkit-calc(100% - 38rem); width: -moz-calc(100% - 38rem); width: calc(100% - 38rem); margin-right: 3.5rem; }
  .about-row_ctn__txt { font-size: 1.7rem; line-height: 2; margin: 3rem 0; letter-spacing: -0.05em; } }

@media screen and (max-width: 768px) { .about-row_img { text-align: center; margin: 6.25vw 0; }
  .about-row_img img { width: 53.125vw; height: auto; }
  .about-row_ctn__txt { font-size: 3.75vw; line-height: 1.6; margin-top: 4.6875vw; }
  .about-row .btn { margin: 0 auto; } }
