@charset "UTF-8";
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

ul { list-style: none; }

button, input, select, textarea { margin: 0; }

html { box-sizing: border-box; }

*, *:before, *:after { box-sizing: inherit; }

img, embed, iframe, object, video { height: auto; max-width: 100%; }

audio { max-width: 100%; }

iframe { border: 0; }

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

td, th { padding: 0; text-align: left; }

textarea, input[type="email"], input[type="password"], input[type="text"], input[type="button"], input[type="submit"] { -webkit-appearance: none; }

textarea { resize: vertical; }

input:-webkit-autofill { -webkit-box-shadow: 0 0 1000px white inset; outline: none; }

input, button { outline: none; }

area { border: none; outline: none; }

img { -ms-interpolation-mode: bicubic; }

* { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); max-height: 999999px; }
*::before, *::after { will-change: all; box-sizing: border-box; }

em, i, b { font-weight: normal; font-style: normal; }

body { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; font-family: "Noto Serif JP", "Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "小塚明朝 Std R", 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", HG明朝E, "HGS明朝E", HGS明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "MS PMincho", serif; }

input, textarea, select { font-family: "Noto Serif JP", "Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "小塚明朝 Std R", 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", HG明朝E, "HGS明朝E", HGS明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "MS PMincho", serif; }

.ie11 body, .ie11 input, .ie11 textarea, .ie11 select { font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

a { cursor: pointer; text-decoration: none; }

a:link { color: #000; }

a:visited { color: #000; }

a:hover { color: #000; text-decoration: none; }

a:active { color: #000; }

.clr { clear: both; }

.hide { position: absolute !important; left: -9999px !important; top: -9999px !important; }

section { clear: both; zoom: 1; }

article:after, section:after, .clrFx:after { content: ''; clear: both; display: block; }

/*
html{overflow:hidden;}
html.windowloaded {overflow: visible;}
*/
@media screen and (min-width: 641px) { .sp-item { display: none; } }
body { position: static; overflow: auto; width: auto; *overflow-y: hidden; color: #000; font-size: 20px; line-height: 1.5; z-index: 0; background: #fff; min-width: 1180px; }

.over-section { margin: 0 -1010px; zoom: 1; position: relative; *overflow-y: hidden; clear: both; padding: 0; }

.over-section:after { content: ''; clear: both; display: block; }

main { padding: 0; position: relative; overflow: hidden; }

section { width: 100%; margin: 0 auto; clear: both; zoom: 1; position: relative; z-index: 100; padding: 0; }

.wrap { margin: 0 auto; clear: both; zoom: 1; position: relative; z-index: 100; padding: 0; text-align: center; }

article { margin: 0 auto; clear: both; zoom: 1; position: relative; z-index: 10; padding: 0; }

article:after, section:after, .wrap:after { content: ''; clear: both; display: block; }

/* main style */
.sns a { display: block; width: 40px; line-height: 38px; height: 40px; background: #000; border-radius: 100%; font-family: 'icomoon'; text-align: center; transition: 0.2s; border: 1px solid #000; }
.sns a:hover { background: #fff; border-color: #000; }
.sns a:hover::after { color: #000; }

.sns a::after { color: #fff; font-size: 22px; }

.sns a[href*='twitter']::after { content: "\ea96"; }

.sns a[href*='facebook']::after { content: "\ea90"; }

.sns a[href*='insta']::after { content: "\ea92"; }

.eng { position: relative; padding: 0; }
.eng::after { content: ''; width: 100%; height: 100%; border: 1px solid #000; z-index: 10; position: absolute; left: 0; top: 0; z-index: -1; }
.eng a { display: block; background: url("/img/common/btn_english.png") left top no-repeat; width: 127px; height: 34px; background-size: 100% auto; position: relative; z-index: 10; }
.eng a::after { content: ''; width: 100%; height: 100%; background: url("/img/common/btn_english.png") left -35px no-repeat #000; background-size: 100% auto; position: absolute; left: 0; top: 0; z-index: 20; transition: opacity 0.2s; opacity: 0; }

.eng a:hover::after { opacity: 1; transition: opacity 0.4s; }

.job { position: relative; }
.job::after { content: ''; width: 100%; height: 100%; border: 1px solid #a71d25; z-index: 10; position: absolute; left: 0; top: 0; transition: borderColor 0.2s; }
.job a { display: block; background: url("/img/common/btn_recruit.png") left top no-repeat #a71d25; width: 127px; height: 34px; background-size: 100% auto; position: relative; z-index: 20; }
.job a::after { content: ''; width: 100%; height: 100%; background: url("/img/common/btn_recruit.png") left -35px no-repeat #fff; background-size: 100% auto; position: absolute; left: 0; top: 0; z-index: 20; transition: opacity 0.2s; opacity: 0; border: 1px solid #a71d25; }

.job a:hover::after { opacity: 1; transition: opacity 0.4s; }

.siteheader { position: fixed; left: 0; top: 0; width: 100%; min-width: 1180px; z-index: 1200; font-size: 0; line-height: 1; }
.siteheader .wrap { background: rgba(255, 255, 255, 0.9); padding: 0 16px 0 0; position: relative; z-index: 1110; transition: background 0.1s; text-align: right; }
.siteheader .wrap .logo { float: left; }
.siteheader .wrap .sns { display: inline-block; vertical-align: top; }
.siteheader .wrap .sns li { display: inline-block; vertical-align: top; }
.siteheader .wrap .sns ~ p { display: inline-block; vertical-align: top; }
.siteheader .wrap .sns { padding: 18px 0 0; }
.siteheader .wrap .sns li { margin: 0 5px 0; }
.siteheader .wrap .eng { margin: 20px 10px 0; }
.siteheader .wrap .job { margin: 20px 0 0; }
.siteheader p.menu { position: relative; margin-left: 30px; transition: opacity 0.3s; }
.siteheader p.menu::after { content: ''; width: 44px; height: 2px; background: #000; position: absolute; left: 50%; top: 50%; margin: -1px 0 0 -22px; transition: 0.2s; }
.siteheader p.menu a { display: block; width: 74px; height: 74px; position: relative; }
.siteheader p.menu a::before { content: ''; width: 44px; height: 2px; background: #000; position: absolute; left: 50%; top: 50%; margin: -14px 0 0 -22px; transition: 0.2s; }
.siteheader p.menu a::after { content: ''; width: 44px; height: 2px; background: #000; position: absolute; left: 50%; top: 50%; margin: 13px 0 0 -22px; transition: 0.2s; }
.siteheader p.menu:hover { opacity: 0.7; }
.siteheader nav.pc-item { position: fixed; left: 0; top: -101%; width: 100%; height: auto; z-index: 1100; transition: top 0.2s,opacity 0.2s; opacity: 1; }
.siteheader nav.pc-item div { background: #f1ede6; display: flex; justify-content: center; padding: 108px 0 90px; text-align: center; min-width: 1180px; position: fixed; left: 0; top: -101%; width: 100%; transition: top 0.2s; }
.siteheader nav.pc-item div dl { margin: 0 25px 0; }
.siteheader nav.pc-item div dt { font-size: 18px; line-height: 1; color: #a71d25; padding: 0 10px 3px; border-bottom: 1px solid #000; line-height: 36px; letter-spacing: 0.1em; }
.siteheader nav.pc-item div dd ul { letter-spacing: 0.1em; }
.siteheader nav.pc-item div ul.other { margin: 0 25px; }
.siteheader nav.pc-item div ul.other li:nth-child(1) { font-size: 18px; line-height: 1; color: #a71d25; padding: 0; border: 1px solid #000; width: 180px; line-height: 36px; font-weight: 16px; }
.siteheader nav.pc-item div ul.other li:nth-child(1) a { transition: 0.2s; display: block; }
.siteheader nav.pc-item div ul.other li:nth-child(1) a span { padding: 0 0 0 10px; display: inline-block; position: relative; }
.siteheader nav.pc-item div ul.other li:nth-child(1) a span::after { content: ''; background: url("/img/common/icon_blank.png") left top no-repeat; width: 19px; height: 15px; background-size: 19px auto; position: absolute; left: -20px; top: 50%; margin-top: -8px; z-index: 0; }
.siteheader nav.pc-item div ul.other li:nth-child(1) a span::before { content: ''; background: url("/img/common/icon_blank-gray.png") left top no-repeat; width: 19px; height: 15px; background-size: 19px auto; position: absolute; left: -20px; top: 50%; margin-top: -8px; z-index: 10; }
.siteheader nav.pc-item div ul.other li:nth-child(1) a:hover { color: #fff; background: #000; }
.siteheader nav.pc-item div ul.other li:nth-child(1) a:hover::after { opacity: 0; transition: 0.4s; }
.siteheader nav.pc-item div ul.other li:nth-child(1) a:hover::before { opacity: 1; transition: 0.4s; }

.siteheader nav.pc-item div ul.other li:nth-child(2) { font-size: 18px; line-height: 1; color: #a71d25; padding: 0; border: 1px solid #000; width: 180px; line-height: 36px; font-weight: 16px; }
.siteheader nav.pc-item div ul.other li:nth-child(2) a { transition: 0.2s; display: block; }
.siteheader nav.pc-item div ul.other li:nth-child(2) a span { padding: 0 0 0 10px; display: inline-block; position: relative; }
.siteheader nav.pc-item div ul.other li:nth-child(2) a span::after { content: ''; background: url("/img/common/icon_blank.png") left top no-repeat; width: 19px; height: 15px; background-size: 19px auto; position: absolute; left: -20px; top: 50%; margin-top: -8px; z-index: 0; }
.siteheader nav.pc-item div ul.other li:nth-child(2) a span::before { content: ''; background: url("/img/common/icon_blank-gray.png") left top no-repeat; width: 19px; height: 15px; background-size: 19px auto; position: absolute; left: -20px; top: 50%; margin-top: -8px; z-index: 10; }
.siteheader nav.pc-item div ul.other li:nth-child(2) a:hover { color: #fff; background: #000; }
.siteheader nav.pc-item div ul.other li:nth-child(2) a:hover::after { opacity: 0; transition: 0.4s; }
.siteheader nav.pc-item div ul.other li:nth-child(2) a:hover::before { opacity: 1; transition: 0.4s; }

.siteheader nav.pc-item div dd { padding: 30px 0 0; }
.siteheader nav.pc-item div li { font-size: 16px; line-height: 1; }
.siteheader nav.pc-item div li + li { margin-top: 25px; }
.siteheader nav.pc-item div a:hover { text-decoration: underline; }

#navbg { position: fixed; left: -101%; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); z-index: 1000; transition: opacity 0.6s; opacity: 0; }

.menuopen #navbg { left: 0; opacity: 1; }

.menuopen .siteheader .wrap { background-color: #fff; }

.menuopen .siteheader nav.pc-item { top: 0; opacity: 1; transition: top 0.6s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); }
.menuopen .siteheader nav.pc-item div { top: 0; transition: top 0.6s 0s cubic-bezier(0.165, 0.84, 0.44, 1); }

.menuopen p.menu::after { transform: translateX(200px); opacity: 0; }
.menuopen p.menu a::before { transform: rotate(45deg) translate(11px, 11px); }
.menuopen p.menu a::after { transform: rotate(-45deg) translate(8px, -8px); }

.bnrs { font-size: 0; background: #f1ede6; padding: 20px 0; position: relative;z-index: 100;}
.bnrs.bottom { background: none; /*padding: 80px 0;*/ }
.bnrs ul { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; width: 1180px; margin: 0 auto; }
.bnrs a { display: block; width: 540px; height: 145px; position: relative; overflow: hidden; margin: 10px; }
.bnrs a.ec { display: block; width: 1100px; height: 304px; position: relative; overflow: hidden; margin: 10px 10px 90px 10px; }
.bnrs a.newyear { display: block; width: 1100px; height: 244px; position: relative; overflow: hidden; margin: 10px 10px 30px 10px; }
.bnrs a.ehomaki { display: block; width: 1100px; height: 244px; position: relative; overflow: hidden; margin: 10px 10px 30px 10px; }
.bnrs a.chirashisoba { display: block; width: 1100px; height: 244px; position: relative; overflow: hidden; margin: 10px 10px 30px 10px; }
.bnrs a.springsyaon { display: block; width: 1100px; height: 244px; position: relative; overflow: hidden; margin: 10px 10px 30px 10px; }

.bnrs a::before, .bnrs a::after { transition: 0.2s; position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.bnrs a[href*='recruit']::before { content: ''; background: url("/img/common/bnr_recruit.png") left -150px no-repeat; z-index: 0; }
.bnrs a[href*='recruit']::after { content: ''; background: url("/img/common/bnr_recruit.png") left 0 no-repeat; z-index: 10; }
.bnrs a[href*='instagram']::before { content: ''; background: url("/img/common/bnr_instagram.png") left -150px no-repeat; z-index: 0; }
.bnrs a[href*='instagram']::after { content: ''; background: url("/img/common/bnr_instagram.png") left 0 no-repeat; z-index: 10; }
.bnrs a[href*='media']::before { content: ''; background: url("/img/common/bnr_media.png") left -150px no-repeat; z-index: 0; }
.bnrs a[href*='media']::after { content: ''; background: url("/img/common/bnr_media.png") left 0 no-repeat; z-index: 10; }

.bnrs a.movie01::before { content: ''; background: url("/img/common/bnr_moovie01.png") left -150px no-repeat; z-index: 0; }
.bnrs a.movie01::after { content: ''; background: url("/img/common/bnr_moovie01.png") left 0 no-repeat; z-index: 10; }
.bnrs a.movie02::before { content: ''; background: url("/img/common/bnr_moovie02.png") left -150px no-repeat; z-index: 0; }
.bnrs a.movie02::after { content: ''; background: url("/img/common/bnr_moovie02.png") left 0 no-repeat; z-index: 10; }
.bnrs a.ec::before { content: ''; background: url("/img/common/bnr_ec.png") left -620px no-repeat; z-index: 0; }
.bnrs a.ec::after { content: ''; background: url("/img/common/bnr_ec.png") left -310px no-repeat; z-index: 10; transition: 0.0s;}

.bnrs a.newyear::before { content: ''; background: url("/img/common/bnr_newyear.png") left -488px no-repeat; z-index: 0; }
.bnrs a.newyear::after { content: ''; background: url("/img/common/bnr_newyear.png") left -244px no-repeat; z-index: 10; transition: 0.0s;}

.bnrs a.ehomaki{margin-top: 60px;}
.bnrs a.ehomaki::before { content: ''; background: url("/img/common/bnr_ehomaki.png") left -488px no-repeat; z-index: 0; }
.bnrs a.ehomaki::after { content: ''; background: url("/img/common/bnr_ehomaki.png") left -244px no-repeat; z-index: 10; transition: 0.0s;}

.bnrs a.chirashisoba{margin-top: 60px;}
.bnrs a.chirashisoba::before { content: ''; background: url("/img/common/bnr_chirashisoba.png") left -488px no-repeat; z-index: 0; }
.bnrs a.chirashisoba::after { content: ''; background: url("/img/common/bnr_chirashisoba.png") left -244px no-repeat; z-index: 10; transition: 0.0s;}

.bnrs a.springsyaon{margin-top: 60px;}
.bnrs a.springsyaon::before { content: ''; background: url("/img/common/bnr_spring-syaon.png") left -488px no-repeat; z-index: 0; }
.bnrs a.springsyaon::after { content: ''; background: url("/img/common/bnr_spring-syaon.png") left -244px no-repeat; z-index: 10; transition: 0.0s;}


.bnrs a:hover::after { background-color: rgba(255, 255, 255, 0.2); transition: 0.4s;}
.bnrs a:hover::before { transform: scale(1.03); transition: 0.6s; }
.bnrs a.ec:hover::after { background-color: rgba(255, 255, 255, 0.2); transition: 0.0s; background: url("/img/common/bnr_ec.png") left 0px no-repeat;}
.bnrs a.newyear:hover::after { background-color: rgba(255, 255, 255, 0.2); transition: 0.0s; background: url("/img/common/bnr_newyear.png") left 0px no-repeat;}

.bnrs a.ehomaki:hover::after { background-color: rgba(255, 255, 255, 0.2); transition: 0.0s; background: url("/img/common/bnr_ehomaki.png") left 0px no-repeat;}
.bnrs a.chirashisoba:hover::after { background-color: rgba(255, 255, 255, 0.2); transition: 0.0s; background: url("/img/common/bnr_chirashisoba.png") left 0px no-repeat;}
.bnrs a.springsyaon:hover::after { background-color: rgba(255, 255, 255, 0.2); transition: 0.0s; background: url("/img/common/bnr_spring-syaon.png") left 0px no-repeat;}


.sitefooter { border-top: 3px solid #a71d25; background: url("/img/common/bg_footer.jpg") center top no-repeat; height: 377px; overflow: hidden; color: #fff; padding: 41px 0 0; }
.sitefooter a { color: #fff; }
.sitefooter a:hover { opacity: 0.7; transition: 0.4s; color: #fff; }
.sitefooter ul.link { display: flex; justify-content: center; }
.sitefooter ul.link li { font-size: 15px; line-height: 18px; padding: 9px 20px; position: relative; }
.sitefooter ul.link + ul.link li { font-size: 12px; line-height: 15px; padding: 9px 15px; }
.sitefooter ul.link li + li::before { content: ''; width: 1px; height: 18px; background: #fff; position: absolute; left: 0; top: 50%; margin-top: -9px; }
.sitefooter ul.link li.blank a { margin-left: 30px; position: relative; }
.sitefooter ul.link li.blank a::after { content: ''; background: url("/img/common/icon_blank-gray.png") left top no-repeat; width: 20px; height: 16px; position: absolute; left: -30px; top: 50%; font-size: 0; background-size: 100% auto; margin-top: -8px; }
.sitefooter ul.link + ul.link li::before { height: 15px; margin-top: -7.5px; }
.sitefooter p.logo { padding: 35px 0 30px; }
.sitefooter p.copy { color: #bbb; font-size: 11px; padding: 42px 0 0; }
.sitefooter .sns { font-size: 0; line-height: 1; display: flex; justify-content: center; align-items: center; }
.sitefooter .sns dt { font-size: 13px; line-height: 30px; padding: 0 13px; letter-spacing: 0.15em; }
.sitefooter .sns li { font-size: 0; line-height: 1; margin: 0; padding: 0 7px; }
.sitefooter .sns li a { background: none; border: none; margin: 0; width: 30px; height: 30px; line-height: 30px; }
.sitefooter .sns li a[href*='facebook']::after { content: "\ea91"; }
.sitefooter .sns li a::after { font-size: 30px; font-weight: 100; }
.sitefooter .sns li a:hover::after { color: #fff; }

@media screen and (min-width: 1600px) { .sitefooter { background-size: cover; } }
@media screen and (max-width: 640px) { /*  	SP STYLE  *************************************************************/
  .pc-item { display: none; }
  body { font-size: 3.59375vw; min-width: 100%; }
  .over-section { margin: 0; }
  #wrapper { width: 100%; }
  main { width: 100%; }
  #loading .in { width: 56.25vw; height: 50vw; }
  #loading .in::before { content: ''; width: 56.25vw; background-size: auto 100%; }
  #loading .in i { width: 56.25vw; background-size: auto 100%; }
  #loading span { font-size: 2.34375vw; top: 31.25vw; }
  /* main style */
  .sns a { width: 14.0625vw; line-height: 14.0625vw; height: 14.0625vw; }
  .sns a::after { color: #fff; font-size: 7.03125vw; }
  .eng { width: 39.0625vw; }
  .eng a { width: 39.0625vw; height: 10.46875vw; }
  .eng a::after { background: url("/img/common/btn_english.png") left -10.9375vw no-repeat #000; background-size: 100% auto; }
  .job { width: 39.0625vw; }
  .job a { width: 39.0625vw; height: 10.46875vw; }
  .job a::after { background: url("/img/common/btn_recruit.png") left -10.9375vw no-repeat #fff; }
  .siteheader { min-width: inherit; }
  .siteheader .wrap { padding: 0; text-align: left; height: 12.1875vw; }
  .siteheader .wrap .logo { float: none; }
  .siteheader .wrap .logo img { height: 12.1875vw; width: auto; }
  .siteheader .wrap .sns { display: none; }
  .siteheader .wrap .sns ~ p { display: none; }
  .siteheader p.menu { position: absolute; margin-left: 0; display: block !important; right: 1.25vw; top: 0; }
  .siteheader p.menu::after { width: 6.875vw; height: 0.3125vw; margin: -0.15625vw 0 0 -3.4375vw; }
  .siteheader p.menu a { display: block; width: 11.5625vw; height: 11.5625vw; }
  .siteheader p.menu a::before { width: 6.875vw; height: 0.3125vw; margin: -2.1875vw 0 0 -3.4375vw; }
  .siteheader p.menu a::after { width: 6.875vw; height: 0.3125vw; margin: 2.03125vw 0 0 -3.4375vw; }
  .siteheader nav.pc-item { display: none; }
  .siteheader nav.sp-item { height: 100%; background: #f1ede6; position: fixed; left: 0; top: -101vh; width: 100%; text-align: center; transition: top 0.2s; }
  .siteheader nav.sp-item .scroll { height: 100%; overflow: hidden; overflow-y: auto; padding: 22.1875vw 0 0; }
  .siteheader nav.sp-item .scroll ul.link li.blank span { display: inline-block; padding-left: 3.125vw; position: relative; }
  .siteheader nav.sp-item .scroll ul.link li.blank span::after { content: ''; background: url("/img/common/icon_blank.png") left top no-repeat; width: 5vw; height: 4.0625vw; background-size: 100% auto; position: absolute; left: -20px; top: 50%; margin-top: -1.875vw; }
  .siteheader nav.sp-item .scroll ul.link li a { display: block; font-size: 5.5vw; line-height: 17vw; }
  .siteheader nav.sp-item .scroll .footer { display: none; }
  .siteheader nav.sp-item .scroll .sns { display: flex; justify-content: center; padding: 5.3125vw 0 0; }
  .siteheader nav.sp-item .scroll .sns a { margin: 0 0.78125vw; }
  .siteheader nav.sp-item .scroll p.eng, .siteheader nav.sp-item .scroll p.job { display: inline-block; vertical-align: top; margin: 10vw 1.5625vw; }
  .siteheader nav.sp-item .scroll .eng a::after, .siteheader nav.sp-item .scroll .job a::after { display: none; }
  .menuopen { overflow: hidden; }
  .menuopen .siteheader .wrap { background-color: #fdfdfd; }
  .menuopen p.menu::after { transform: translateX(31.25vw); opacity: 0; }
  .menuopen p.menu a::before { transform: rotate(45deg) translate(1.71875vw, 1.71875vw); }
  .menuopen p.menu a::after { transform: rotate(-45deg) translate(1.25vw, -1.25vw); }
  .menuopen nav.sp-item { top: 0; transition: 0.4s; }
  .bnrs { padding: 4.6875vw 0; }
  .bnrs.bottom { padding: 7.8125vw 0; }
  .bnrs ul { display: block; width: 100%; }
  .bnrs ul li { display: block; text-align: center; }
  .bnrs ul li.pc-item { display: none;}
  .bnrs a { display: block; width: 84.375vw; height: 22.65625vw; margin: 1.5625vw auto; }
  .bnrs a.ec { display: block; width: 100vw; height: 27.8125vw; margin: 1.5625vw auto; }
  .bnrs a::before, .bnrs a::after { background-size: 100% auto !important; }
  .bnrs a[href*='recruit']::before { background-position: 0 -23.4375vw; }
  .bnrs a[href*='instagram']::before { background-position: 0 -23.4375vw; }
  .bnrs a[href*='media']::before { background-position: 0 -23.4375vw; }
  .bnrs a.movie01::before { background-position: 0 -23.4375vw; }
  .bnrs a.movie02::before { background-position: 0 -23.4375vw; }
  .bnrs a.ec::before { background-position: 0 -56.40625vw; }
  .bnrs a.ec::after { background-position: 0 -28.28125vw; }
  .sitefooter { border-top: 0.46875vw solid #a71d25; background: url("/img/common/bg_footer.jpg") center top/auto 100%; height: 62.5vw; padding: 6.25vw 0 0; }
  .sitefooter ul.link { flex-wrap: wrap; }
  .sitefooter ul.link li { font-size: 2.34375vw; line-height: 2.8125vw; padding: 1.40625vw 3.125vw; }
  .sitefooter ul.link + ul.link li { font-size: 1.875vw; line-height: 2.34375vw; padding: 1.40625vw 2.34375vw; }
  .sitefooter ul.link li + li::before { width: 1px; height: 2.8125vw; margin-top: -1.40625vw; }
  .sitefooter ul.link li.blank a { margin-left: 4.6875vw; }
  .sitefooter ul.link li.blank a::after { width: 3.125vw; height: 2.5vw; left: -4.6875vw; margin-top: -1.25vw; }
  .sitefooter ul.link + ul.link li::before { height: 2.34375vw; margin-top: -1.171875vw; }
  .sitefooter p.logo { padding: 5.46875vw 0 3.59375vw; }
  .sitefooter p.logo img { height: 10.3125vw; width: auto; }
  .sitefooter p.copy { font-size: 1.71875vw; padding: 6.5625vw 0 0; }
  .sitefooter .sns dt { font-size: 2.03125vw; line-height: 4.6875vw; padding: 0 2.03125vw; }
  .sitefooter .sns li { padding: 0 1.09375vw; }
  .sitefooter .sns li a { width: 4.6875vw; height: 4.6875vw; line-height: 4.6875vw; }
  .sitefooter .sns li a::after { font-size: 4.6875vw; } }
/* animation */
/*
	js styles
******************************/
#baseVW { width: 100vw; position: fixed; left: -9999px; opacity: 0; }

#imageloaded { position: fixed; left: -9999px; height: 1px; width: 1px; overflow: hidden; }

/* 
	loader
*********************/
#loader { background: rgba(255, 255, 255, 0.5); width: 100%; height: 100%; z-index: 100000; position: fixed; left: 0; top: 0; }

#loader .loader { width: 48px; height: 48px; position: fixed; left: 50%; top: 50%; margin: -24px 0 0 -24px; }

/*!
 * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/)
 * Copyright 2015 Daniel Cardoso <@DanielCardoso>
 * Licensed under MIT
 */
.la-ball-clip-rotate, .la-ball-clip-rotate > div { position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.la-ball-clip-rotate { display: block; font-size: 0; color: #fff; }

.la-ball-clip-rotate.la-dark { color: #333; }

.la-ball-clip-rotate > div { display: inline-block; float: none; background-color: currentColor; border: 0 solid currentColor; }

.la-ball-clip-rotate { width: 32px; height: 32px; }

.la-ball-clip-rotate > div { width: 32px; height: 32px; background: transparent; border-width: 2px; border-bottom-color: transparent; border-radius: 100%; -webkit-animation: ball-clip-rotate .75s linear infinite; -moz-animation: ball-clip-rotate .75s linear infinite; -o-animation: ball-clip-rotate .75s linear infinite; animation: ball-clip-rotate .75s linear infinite; }

.la-ball-clip-rotate.la-sm { width: 16px; height: 16px; }

.la-ball-clip-rotate.la-sm > div { width: 16px; height: 16px; border-width: 1px; }

.la-ball-clip-rotate.la-2x { width: 48px; height: 48px; }

.la-ball-clip-rotate.la-2x > div { width: 48px; height: 48px; border-width: 1px; }

.la-ball-clip-rotate.la-3x { width: 96px; height: 96px; }

.la-ball-clip-rotate.la-3x > div { width: 96px; height: 96px; border-width: 1px; }

/* Animation */
@-webkit-keyframes ball-clip-rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  50% { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@-moz-keyframes ball-clip-rotate { 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
  50% { -moz-transform: rotate(180deg); transform: rotate(180deg); }
  100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } }
@-o-keyframes ball-clip-rotate { 0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
  50% { -o-transform: rotate(180deg); transform: rotate(180deg); }
  100% { -o-transform: rotate(360deg); transform: rotate(360deg); } }
@keyframes ball-clip-rotate { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); }
  50% { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); }
  100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } }
[data-anim] { opacity: 0; transform: translateY(30px); transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1); }

[data-anim].animated { opacity: 1; transform: translateY(0); }

/* drag */
/*
body{
user-select:none;
-webkit-user-select:none;
-ms-user-select: none;
-moz-user-select:none;
-khtml-user-select:none;
-webkit-user-drag:none;
-khtml-user-drag:none;
}
*/
