@charset "UTF-8";
/*  02_base
================================================ */
/* 02_base
================================================ */
html { overflow: auto; }

body { min-width: 320px; overflow: hidden; color: #333; font-size: 1.4rem; line-height: 1.8; letter-spacing: .05em; font-family: "Noto Serif JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, serif; background: #fbfff8; }

@media screen and (min-width: 600px) { body { min-width: 1180px; font-size: 1.6rem; background: #fff; } }

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

a { -webkit-transition: all 0.3s ease; transition: all 0.3s ease; color: inherit; text-decoration: underline; }

@media screen and (min-width: 600px) { a:hover { text-decoration: none; }
  a.opacity:hover { opacity: .8; }
  a[href^=tel] { pointer-events: none; } }

em, strong, span { font-weight: inherit; }

/* pc <--> sp切り替え
-------------------------------------- */
#mediaQuery { display: none; font-family: 'sp'; }

@media screen and (min-width: 600px) { #mediaQuery { font-family: 'pc'; } }

@media screen and (max-width: 599px) { .viewPc { display: none; } }

@media screen and (min-width: 600px) { .viewSp { display: none; } }

/* font
-------------------------------------- */
.sans { font-family: 'Noto Sans JP', sans-serif; }

.serif { font-family: "Noto Serif JP", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, serif; }

.is_font_roboto { font-family: "Roboto", sans-serif; }

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

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

/* clearfix
-------------------------------------- */
.cf:after { content: ''; display: block; clear: both; }

/* layout
-------------------------------------- */
.mod_inner01 { padding: 0 15px; }

@media screen and (min-width: 600px) { .mod_inner01 { box-sizing: border-box; width: 1180px; padding: 0; margin-right: auto; margin-left: auto; } }

@media screen and (min-width: 600px) { #contents:after { content: ""; display: block; clear: both; } }

@media screen and (min-width: 600px) { #contents.is_full_column { width: 1000px; margin: 0 auto; }
  #contents.is_full_column #main { width: 100%; float: none; } }

/*  03_layout
================================================ */
/* #breadcrumb
================================================ */
#breadcrumb { letter-spacing: -.5em; }

#breadcrumb li { display: inline-block; letter-spacing: 0; margin-right: 5px; }

#breadcrumb li + li:before { margin-right: 8px; content: '>'; }

/* #gFooter
================================================ */
#gFooter { background: #271322; }

#gFooter .pageTop .btn { display: block; background: url(/img/home/ico_arrow01.png) no-repeat center #40313b; background-size: 18px auto; width: 100%; height: 40px; }

#gFooter .copyright { text-align: center; color: #7c7c7c; font-size: 1rem; padding: 13px 0; }

@media screen and (min-width: 600px) { #gFooter { position: relative; border-top: 1px solid #383838; background-color: #212121; }
  #gFooter .pageTop .btn { width: 80px; height: 80px; position: absolute; right: 0; bottom: 20px; z-index: 2; background: #333; overflow: hidden; }
  #gFooter .pageTop .btn:after { content: ''; background: url(/img/home/ico_arrow01.png) no-repeat center; background-size: cover; width: 20px; height: 11px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
  #gFooter .pageTop .btn:before { content: ''; background: #444; width: 100%; height: 100%; position: absolute; bottom: 100%; left: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #gFooter .pageTop .btn:hover:before { bottom: 0; } }

/* #loading
================================================ */
#loading { background: #fff; position: fixed; z-index: 1000; height: 100%; width: 100%; }

#loading .in { display: inline-block; background: #d9d9d9; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 79px; }

#loading .in .img { position: relative; z-index: 2; box-shadow: 0 0 0 10px #fff; }

#loading .in #gauge { background: #000; width: 100%; height: 100%; max-height: 100%; position: absolute; bottom: 0; left: 0; }

@media screen and (min-width: 600px) { #loading .in { width: 122px; } }

/* #gHeader
================================================ */
#gHeader { position: absolute; top: 0; z-index: 20; width: 100%; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#gHeader .gnavBtn { position: absolute; top: 0; right: 15px; z-index: 30; width: 45px; height: 54px; cursor: pointer; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#gHeader .gnavBtn .line { position: absolute; top: 26px; left: 50%; margin-left: -13px; width: 25px; height: 2px; background: #fff; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }

#gHeader .gnavBtn .line:nth-child(1) { top: 18px; }

#gHeader .gnavBtn .line:nth-child(3) { top: 34px; }

#gHeader .gnavBtn.is_active .line:nth-child(1) { top: 25px; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }

#gHeader .gnavBtn.is_active .line:nth-child(2) { opacity: 0; }

#gHeader .gnavBtn.is_active .line:nth-child(3) { top: 25px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

#gHeader .gnavBtn .txt { position: absolute; left: 0; bottom: 10px; width: 100%; font-size: 1rem; font-weight: 500; line-height: 1; text-align: center; }

#gHeader .pageTit { font-size: 0.9rem; font-weight: 400; letter-spacing: .06em; }

#gHeader .titWrapp { color: #fff; border-bottom: 1px solid #bfbfbf; padding: 7px 0 12px; }

#gHeader .titWrapp .pageTit, #gHeader .titWrapp .logo { position: relative; z-index: 25; }

#gHeader .logo { width: 115px; line-height: 0; }

#gHeader .inner { padding: 0 15px; }

#gHeader.js-fixed { position: fixed; background: rgba(33, 33, 33, 0.8); -webkit-animation: gHeader .6s ease 0s 1 normal; animation: gHeader .6s ease 0s 1 normal; }

#gHeader.js-fixed .titWrapp { border-bottom: 0; }

@media screen and (min-width: 600px) { #gHeader { min-width: 1180px; }
  #gHeader .header { margin-left: 30px; border-bottom: 1px solid #bfbfbf; }
  #gHeader .inner { padding: 0; }
  #gHeader .titWrapp { padding: 13px 0 0; border-bottom: 0; display: inline-block; float: left; }
  #gHeader .titWrapp .pageTit, #gHeader .titWrapp .logo { position: relative; z-index: 25; }
  #gHeader .pageTit { font-size: 1.3rem; }
  #gHeader .logo { width: 167px; margin-top: 3px; }
  #gHeader.js-fixed .header { border-bottom: 0; } }

@-webkit-keyframes gHeader { 0% { -webkit-transform: translateY(-100%); transform: translateY(-100%); }
  100% { -webkit-transform: translateY(0); transform: translateY(0); } }

@keyframes gHeader { 0% { -webkit-transform: translateY(-100%); transform: translateY(-100%); }
  100% { -webkit-transform: translateY(0); transform: translateY(0); } }

/*  #gNav
================================================ */
#gNav .gnavClose { border-top: 1px solid #d5d5d5; padding: 14px; text-align: center; color: #fff; background: #333; font-size: 1.3rem; cursor: pointer; }

#gNav .gnavClose span { position: relative; display: inline-block; padding-left: 23px; font-weight: 500; }

#gNav .gnavClose span:before, #gNav .gnavClose span:after { position: absolute; top: 50%; left: 2px; content: ""; display: block; width: 15px; height: 1px; background: #333; }

#gNav .gnavClose span:before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

#gNav .gnavClose span:after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }

@media screen and (max-width: 599px) { #gNav { display: none; position: fixed; z-index: 20; top: 0; bottom: 0; left: 0; width: 100%; height: 369px; overflow-y: scroll; background: rgba(33, 33, 33, 0.95); }
  #gNav .inner { padding: 0 15px; }
  #gNav .gNavContent { position: absolute; top: 54px; left: 0; width: 100%; }
  #gNav .listLink { border-top: 1px solid #3b3b3c; padding: 14px 0 0 0; margin: 0 -7px; }
  #gNav .listLink li { float: left; padding: 0 7px; width: 50%; box-sizing: border-box; }
  #gNav .listLink a { display: block; width: 100%; box-sizing: border-box; color: #fff; padding: 11px 4px; font-size: 1.5rem; border-bottom: 1px solid #3b3b3c; text-decoration: none; letter-spacing: .06em; }
  #gNav .cvLink { margin: 20px -7px 0; }
  #gNav .cvLink li { float: left; padding: 0 7px; width: 50%; box-sizing: border-box; }
  #gNav .cvLink a { display: block; width: 100%; box-sizing: border-box; color: #fff; padding: 13px 4px; font-size: 1.4rem; text-decoration: none; letter-spacing: .06em; position: relative; text-align: center; }
  #gNav .cvLink a span { background: url(/img/home/ico_header01.png) no-repeat left center; background-size: 17px auto; padding-left: 25px; display: inline-block; }
  #gNav .cvLink .recruit { background-color: #343687; color: #fff; }
  #gNav .cvLink .form { background-color: #fff; color: #212121; }
  #gNav .cvLink .form span { background-image: url(/img/home/ico_header02.png); } }

@media screen and (min-width: 600px) { #gNav { float: right; }
  #gNav .listLink { display: inline-block; float: left; margin-top: 25px; }
  #gNav .listLink li { float: left; margin-right: 31px; font-size: 1.5rem; color: #fff; letter-spacing: .06em; }
  #gNav .listLink li a { display: inline-block; text-decoration: none; padding: 10px; margin: -10px; }
  #gNav .cvLink { display: inline-block; float: left; margin-bottom: -19px; }
  #gNav .cvLink li { float: left; }
  #gNav .cvLink a { display: block; width: 120px; height: 100px; color: #fff; font-size: 1.4rem; text-align: center; box-sizing: border-box; position: relative; overflow: hidden; }
  #gNav .cvLink a span { display: inline-block; padding-top: 60px; position: relative; z-index: 2; }
  #gNav .cvLink a:before { content: ''; background: #474996; width: 100%; height: 100%; position: absolute; bottom: 100%; left: 0; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #gNav .cvLink a:hover:before { bottom: 0; }
  #gNav .cvLink .recruit { background-color: #343687; }
  #gNav .cvLink .recruit span { background: url(/img/home/ico_header01.png) no-repeat center 18px; background-size: auto 29px; }
  #gNav .cvLink .form { background-color: #212121; }
  #gNav .cvLink .form span { background: url(/img/home/ico_header02_white.png) no-repeat center 23px; background-size: auto 24px; }
  #gNav .cvLink .form:before { background: #323232; } }

/*  #mainVisual
================================================ */
#mainVisual .item { position: relative; }

#mainVisual .item .copy { width: 185px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); margin-top: 24px; }

#mainVisual .item .copy .in { width: 177px; margin: 4px; padding: 26px 0; text-align: center; position: relative; }

#mainVisual .item .copy .in img { display: inline-block; zoom: .5; opacity: 0; -webkit-transition: all 2s ease 2.4s; transition: all 2s ease 2.4s; }

#mainVisual .item .copy .img { position: relative; }

#mainVisual .item .copy .img:before { opacity: 0; content: ''; background: url(../img/home/ico_mv01.png) no-repeat center; background-size: cover; width: 104px; height: 32px; position: absolute; bottom: -40px; right: -20px; display: block; opacity: 0; -webkit-transition: all 1.8s ease 2s; transition: all 1.8s ease 2s; -webkit-transform: translateY(10px); -ms-transform: translateY(10px); transform: translateY(10px); }

#mainVisual .item .copy:before, #mainVisual .item .copy:after, #mainVisual .item .in:before, #mainVisual .item .in:after { content: ''; background-color: #fff; width: 1px; height: 0; position: absolute; -webkit-transition: all 1.8s ease .6s; transition: all 1.8s ease .6s; }

#mainVisual .item .copy:before, #mainVisual .item .in:before { top: 0; right: 0; }

#mainVisual .item .copy:after, #mainVisual .item .in:after { bottom: 0; left: 0; }

#mainVisual .item .copy .line, #mainVisual .item .in .line { content: ''; background-color: #fff; width: 0; height: 1px; position: absolute; -webkit-transition: all 0.8s cubic-bezier(0.52, 0.18, 0.64, 1.12) 1.6s; transition: all 0.8s cubic-bezier(0.52, 0.18, 0.64, 1.12) 1.6s; }

#mainVisual .item .copy .line.top, #mainVisual .item .in .line.top { top: 0; left: 0; }

#mainVisual .item .copy .line.bottom, #mainVisual .item .in .line.bottom { bottom: 0; right: 0; }

#mainVisual .item:not(:first-child).slick-current .copy:before, #mainVisual .item:not(:first-child).slick-current .copy:after, #mainVisual .item:not(:first-child).slick-current .in:before, #mainVisual .item:not(:first-child).slick-current .in:after { height: 100%; }

#mainVisual .item:not(:first-child).slick-current .copy .line, #mainVisual .item:not(:first-child).slick-current .in .line { width: 100%; }

#mainVisual .item:not(:first-child).slick-current .copy .in img { opacity: 1; }

#mainVisual .item:not(:first-child).slick-current .copy .img:before { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }

#mainVisual.is_active .item:first-child .copy:before, #mainVisual.is_active .item:first-child .copy:after, #mainVisual.is_active .item:first-child .in:before, #mainVisual.is_active .item:first-child .in:after { height: 100%; }

#mainVisual.is_active .item:first-child .copy .line, #mainVisual.is_active .item:first-child .in .line { width: 100%; }

#mainVisual.is_active .item:first-child .copy .in img { opacity: 1; }

#mainVisual.is_active .item:first-child .copy .img:before { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }

@media screen and (min-width: 600px) { #mainVisual .item { width: 100%; height: 960px; position: relative; }
  #mainVisual .item > img { position: absolute; top: 0; left: 0; width: auto; height: auto; width: 100%; height: 100%; max-width: inherit; }
  #mainVisual .item .copy { margin-top: 0; width: 370px; }
  #mainVisual .item .copy .in { width: 360px; margin: 5px; padding: 52px 0; }
  #mainVisual .item .copy .in img { zoom: 1; }
  #mainVisual .item .copy .img:before { content: ''; width: 208px; height: 64px; bottom: -80px; right: -36px; } }

#mainVisual .is_end .item .copy { -webkit-animation: is_end 2s ease 4.5s 1 normal forwards; animation: is_end 2s ease 4.5s 1 normal forwards; }

@-webkit-keyframes is_end { 0% { opacity: 1; }
  100% { opacity: 0; } }

@keyframes is_end { 0% { opacity: 1; }
  100% { opacity: 0; } }

/* #mainVisual TOPページ
================================================ */
/* #mainImg 下層ページ
================================================ */
/* #sidebar
================================================ */
