@charset "UTF-8";
/* Setting */
/*--------------------------------------------------------------
# Setting
--------------------------------------------------------------*/
/* Color Set */
/* Font Set */
@font-face { font-family: Get-Show; src: local("Get-Show"), local("Get-Show"), url("../fonts/Get-Show.woff") format("woff"), url("../fonts/Get-Show.otf") format("otf"); }

/* Animation */
.slide { opacity: 0; -webkit-transition: all 0.7s cubic-bezier(0.2, 1.1, 0.4, 1) 0.3s; transition: all 0.7s cubic-bezier(0.2, 1.1, 0.4, 1) 0.3s; }

.slide-right { -webkit-transform: translate(-99%, 0); transform: translate(-99%, 0); }

.slide-left { -webkit-transform: translate(99%, 0); transform: translate(99%, 0); }

.slide > * { opacity: 0; -webkit-transition: all 0.5s 1s; transition: all 0.5s 1s; }

.slide.in { opacity: 1; -webkit-transform: translate(0, 0) !important; transform: translate(0, 0) !important; }

.slide.in > * { opacity: 1; }

.fadeup { opacity: 0; -webkit-transition: all 0.8s cubic-bezier(0.2, 1.1, 0.4, 1) 0.2s; transition: all 0.8s cubic-bezier(0.2, 1.1, 0.4, 1) 0.2s; -webkit-transform: translate(0, 30px); transform: translate(0, 30px); }

.fadeup > .fadeup { opacity: 0; -webkit-transition: all 0.6s cubic-bezier(0.2, 1.1, 0.4, 1) 0.25s; transition: all 0.6s cubic-bezier(0.2, 1.1, 0.4, 1) 0.25s; -webkit-transform: translate(0, 10px); transform: translate(0, 10px); }

.fadeup.in { opacity: 1; -webkit-transform: translate(0, 0) !important; transform: translate(0, 0) !important; }

.fadeup.in > * { opacity: 1; }

.text-reveal span { position: relative; }

.text-reveal span::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #de002d; -webkit-transform-origin: left; transform-origin: left; -webkit-transform: scale(1, 1); transform: scale(1, 1); }

.text-reveal span::after { content: "\A"; white-space: pre; }

.text-reveal.start span:nth-of-type(1):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s forwards; }

.text-reveal.start span:nth-of-type(2):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.6s forwards; }

.text-reveal.start span:nth-of-type(3):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.9s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.9s forwards; }

.text-reveal.start span:nth-of-type(4):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.12s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.12s forwards; }

.text-reveal.start span:nth-of-type(5):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.15s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.15s forwards; }

@-webkit-keyframes reveal-text { 100% { -webkit-transform: scale(0, 1); transform: scale(0, 1); } }

@keyframes reveal-text { 100% { -webkit-transform: scale(0, 1); transform: scale(0, 1); } }

@-webkit-keyframes up { 100% { opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes up { 100% { opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

html { font-size: 15px; }

body { font-family: "Noto Sans Japanese"; line-height: 1.8; color: #111; overflow-x: hidden; padding: 0 !important; }

a, a img, button { color: #de002d; -webkit-transition: all 0.3s; transition: all 0.3s; -webkit-backface-visibility: hidden; backface-visibility: hidden; text-decoration: none; }

a:active, a:focus, a img:active, a img:focus, button:active, button:focus { outline: none; }

a img:hover { opacity: 0.75; }

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

::-moz-selection { background: #f7e4dc; }

::selection { background: #f7e4dc; }

::-moz-selection { background: #f7e4dc; }

.d-sp { display: none; }

.d-tb { display: none; }

/* Loader */
.loader_wrap { position: fixed; width: 100%; height: 100%; top: 0px; left: 0px; overflow: hidden; z-index: 40; }

.loader_logo { position: absolute; top: 50%; left: 0; right: 0; text-align: center; width: 100%; -webkit-transform: translateY(-60%); transform: translateY(-60%); z-index: 50; -webkit-transition: all 0.5s; transition: all 0.5s; }

.loader_logo img { max-width: 300px; -webkit-animation: blink 1.5s ease-in-out infinite alternate; animation: blink 1.5s ease-in-out infinite alternate; }

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

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

.loader_cover { position: absolute; display: block; width: 100%; height: 50%; -webkit-transition: -webkit-transform 1s cubic-bezier(0.2, 1.1, 0.4, 1) 0.3s; transition: -webkit-transform 1s cubic-bezier(0.2, 1.1, 0.4, 1) 0.3s; transition: transform 1s cubic-bezier(0.2, 1.1, 0.4, 1) 0.3s; transition: transform 1s cubic-bezier(0.2, 1.1, 0.4, 1) 0.3s, -webkit-transform 1s cubic-bezier(0.2, 1.1, 0.4, 1) 0.3s; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); background: #111; z-index: 10; }

.loader_cover.loader_cover01 { top: 0; left: 0; }

.loader_cover.loader_cover02 { bottom: 0; right: 0; }

.load-done .loader_logo { opacity: 0 !important; }

.load-done .loader_cover.loader_cover01 { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }

.load-done .loader_cover.loader_cover02 { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }

/* header */
header { line-height: 56px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

header .nav_logo { -ms-flex-preferred-size: 30%; flex-basis: 30%; padding: 17px 20px; -webkit-box-sizing: border-box; box-sizing: border-box; }

header .nav_logo a img { vertical-align: inherit; max-width: 240px; }

header .head_menu { -ms-flex-preferred-size: 65%; flex-basis: 65%; }

header .head_menu .nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; text-align: center; margin-right: 15px; font-family: "Arial Black", Gadget, sans-serif; letter-spacing: 0.05em; font-weight: bold; list-style: none; }

header .head_menu .nav li { margin: 0 10px; }

header .head_menu .nav li a { display: block; color: #de002d; padding: 10px 0; line-height: 1; -webkit-box-sizing: border-box; box-sizing: border-box; letter-spacing: 0.1em; position: relative; }

header .head_menu .nav li a::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; margin: auto; border-bottom: solid 2px #de002d; width: 0; -webkit-transition: all 0.3s; transition: all 0.3s; }

header .head_menu .nav li a:hover::after { width: 100%; }

/** Content */
.container { max-width: 1200px; margin: 0 auto; padding: 0 30px; }

.btn { font-family: Arial, Helvetica, sans-serif; letter-spacing: 0.05em; display: inline-block; padding: 10px 30px; border: solid 1px #de002d; color: #de002d; text-align: center; }

.btn:hover { background-color: #de002d; color: #fff; }

.btn.btn_more { color: #fff; border-color: #fff; }

.btn.btn_more:hover { background-color: #fff; color: #de002d; }

.btn.btn_enter { color: #fff; background-color: #de002d; }

.btn.btn_enter:hover { color: #de002d; background-color: #fff; }

.btn_center { text-align: center; }

.btn_center .btn, .btn_center .btn_enter { font-family: "Arial Black", Gadget, sans-serif; letter-spacing: 0.05em; font-weight: bold; min-width: 400px; }

/* top */
video { position: absolute; z-index: 1; width: auto; height: auto; top: 50%; left: 50%; min-height: 100%; min-width: 100%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); }

@supports ((-o-object-fit: cover) or (object-fit: cover)) { video { height: 100%; width: 100%; left: 0; -o-object-fit: cover; object-fit: cover; top: 0; -webkit-transform: none; transform: none; } }

@supports (-ms-ime-align: auto) { /* Edge のみ適用される */
  video { width: auto; height: auto; top: 50%; left: 50%; min-height: 100%; min-width: 100%; -webkit-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); } }

.mv_wrap { background: url(../img/mv_sample.jpg) no-repeat center/cover; position: fixed; width: 100%; height: 100vh; top: 0; left: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; overflow: hidden; z-index: -1; }

.mv_wrap .mv_container { max-width: 1400px; width: 100%; margin: 0 auto; padding: 0 3%; }

.mv_wrap .mv_text { position: relative; text-align: right; z-index: 3; }

.mv_wrap .mv_text h1 { font-family: Arial, Helvetica, sans-serif; letter-spacing: 0.05em; color: #fff; font-size: 3.65rem; font-weight: normal; line-height: 1.4; margin-bottom: 1rem; text-shadow: 0 0 80px rgba(31, 44, 82, 0.5); }

.mv_wrap .mv_text h1 .headline { font-family: "Arial Black", Gadget, sans-serif; letter-spacing: 0.05em; font-weight: bold; display: inline-block; font-weight: bold; }

.mv_wrap .mv_text p { margin-bottom: 0; color: #fff; font-size: 1.3rem; letter-spacing: 0.15em; text-shadow: 0 0 20px rgba(31, 44, 82, 0.5); }

.top_content { margin-top: 100vh; padding-top: 120px; background: #fff; }

.top_sec { padding: 80px 0; position: relative; }

.sec_title { font-family: "Arial Black", Gadget, sans-serif; letter-spacing: 0.05em; font-weight: bold; font-size: 2.4rem; }

.top_sec_line .sec_title { position: relative; padding-top: 80px; color: #de002d; }

.top_sec_line .sec_title::before, .top_sec_line .sec_title::after { content: ""; height: 70px; position: absolute; top: 0; left: 50%; border-left: solid 1px #de002d; }

.top_sec_line .sec_title::before { border-color: #fff; z-index: 1; -webkit-animation: sdb 1.5s infinite; animation: sdb 1.5s infinite; }

.top_sec_line h3 { color: #de002d; }

@-webkit-keyframes sdb { 0% { height: 0; }
  100% { height: 70px; } }

@keyframes sdb { 0% { height: 0; }
  100% { height: 70px; } }

.top_redbox { background-color: #de002d; color: #fff; padding: 40px 60px; width: 60%; position: relative; z-index: 2; }

.top_redbox > * { max-width: 500px; margin-left: auto; margin-right: auto; }

.top_redbox h3 { font-size: 1.24rem; margin-bottom: 1.5rem; font-weight: normal; }

.top_v_wrap { position: absolute; top: 0; width: 50%; height: 100%; }

#philosophy { margin-bottom: 60px; }

#philosophy .top_redbox { -webkit-transform: translate(99%, 0); transform: translate(99%, 0); margin-left: auto; }

#philosophy .top_v_wrap { left: 0; }

#philosophy .sec_title.text-reveal span::before { background-color: #fff; }

#company { margin-bottom: 60px; }

#company .top_redbox { -webkit-transform: translate(-99%, 0); transform: translate(-99%, 0); margin-right: auto; padding: 80px 60px; }

#company .top_v_wrap { right: 0; }

#company .sec_title.text-reveal span::before { background-color: #fff; }

.top_sec_line h2 { text-align: center; }

.top_sec_line h3 { text-align: center; font-weight: normal; }

.outline_block_wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 160px; margin-bottom: 60px; }

.outline_block_wrap .outline_block { -ms-flex-preferred-size: 48%; flex-basis: 48%; margin-bottom: 60px; }

.outline_block_wrap .outline_block:nth-child(1), .outline_block_wrap .outline_block:nth-child(3) { margin-top: -80px; }

.outline_block_wrap .outline_block a { position: relative; display: block; }

.outline_block_wrap .outline_block a figcaption { display: inline-block; background-color: #de002d; color: #fff; padding: 5px 10px; font-family: "Arial Black", Gadget, sans-serif; letter-spacing: 0.05em; font-weight: bold; font-size: 1rem; position: absolute; left: 0; bottom: -1.5rem; width: 70%; text-align: center; z-index: 1; -webkit-transition: all 0.4s; transition: all 0.4s; }

.outline_block_wrap .outline_block a:hover figcaption { width: 100%; }

#df .remodal-overlay { background-color: rgba(0, 0, 0, 0.15); }

#df .remodal { background-color: #de002d; background-repeat: no-repeat; background-position: -80px center; color: #fff; -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3); box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3); max-width: 650px; padding: 70px; text-align: left; font-size: 13px; }

#df .remodal p { margin-bottom: 25px; }

#df .remodal p.ceo { text-align: right; }

#df .remodal h3 { font-style: normal; text-align: center; }

#df .remodal h4 { display: inline-block; background-color: #fff; color: #111; padding: 1px 10px; font-size: 1.15em; margin-bottom: 10px; }

#df .remodal ul { padding-left: 20px; }

#df .remodal-close { width: 50px; height: 50px; top: auto; left: auto; bottom: 0; right: 0; }

#df .remodal-close::before { font-size: 50px; line-height: 1; width: 35px; }

#df .remodal-close:hover, #df .remodal-close.remodal-close:focus { color: #fff; }

#recruit { text-align: center; background: url(../img/recruit_img01_1.jpg) no-repeat center bottom 20%/cover; color: #fff; padding: 200px 0; }

#recruit .sec_title { margin-bottom: 1.5rem; }

#recruit h3 { font-weight: normal; margin-bottom: 2.5rem; }

#access { text-align: center; }

#access h3 { margin: 3rem 0 2rem; }

#access h3 img { max-width: 280px; }

#access .map_wrapper { margin-bottom: 3rem; }

.copyright { text-align: center; font-family: Arial, Helvetica, sans-serif; letter-spacing: 0.05em; padding: 4rem 1rem 1rem; }

/* Page */
.title_bg { padding: 140px 0; }

.title_bg .title_text { max-width: 1400px; margin: 0 0 0 -15vw; padding: 0 30px; }

.title_bg .title_text h1 { font-family: "Arial Black", Gadget, sans-serif; letter-spacing: 0.05em; font-weight: bold; font-size: 3.65rem; }

.title_bg .title_text h1.start span:nth-of-type(1):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.8s forwards; }

.title_bg .title_text h1.start span:nth-of-type(2):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.16s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.16s forwards; }

.title_bg .title_text h1.start span:nth-of-type(3):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.24s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.24s forwards; }

.title_bg .title_text h1.start span:nth-of-type(4):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.32s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.32s forwards; }

.title_bg .title_text h1.start span:nth-of-type(5):before { -webkit-animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.40s forwards; animation: reveal-text 800ms cubic-bezier(0.645, 0.045, 0.355, 1) 0.40s forwards; }

.title_bg .title_text p { font-size: 1.3rem; }

.wrap_white { background-color: #fff; margin-top: -50px; position: relative; -webkit-box-shadow: 0 0 20px rgba(72, 72, 72, 0.1); box-shadow: 0 0 20px rgba(72, 72, 72, 0.1); padding: 50px 30px; }

.wrap_white table { max-width: 800px; margin: 0 auto; }

.wrap_white table th, .wrap_white table td { padding: 15px 25px; font-weight: normal; }

.wrap_white table th { vertical-align: top; }

/* company */
.title_company { background: url(../img/company_img01.jpg) no-repeat center/cover; -webkit-transform: translate(99%, 0); transform: translate(99%, 0); margin-left: auto; width: 80%; }

.title_company h1, .title_company p { color: #de002d; }

.company_message { padding-top: 80px; }

.company_message h2 { text-align: center; font-weight: normal; font-size: 2.3rem; letter-spacing: 0.05em; margin-bottom: 2.5rem; }

.company_message p { text-align: justify; max-width: 1000px; margin: 0 auto 3.5rem; }

.company_message p.ceo { text-align: right; }

.company_message p.ceo img { margin-left: 10px; vertical-align: text-bottom; }

.title_company_profile { background-color: #de002d; -webkit-transform: translate(-99%, 0); transform: translate(-99%, 0); margin-right: auto; width: 95%; padding: 100px 0 120px; }

.title_company_profile h2 { color: #fff; font-size: 1.8rem; letter-spacing: 0.05em; font-weight: normal; text-align: center; margin-left: 5%; }

.company_profile_table th { text-align: right; }

/* contact */
.title_contact { background-color: #de002d; -webkit-transform: translate(99%, 0); transform: translate(99%, 0); margin-left: auto; width: 95%; }

.title_contact .title_text { margin: 0 0 0 3vw; }

.title_contact .title_text h1, .title_contact .title_text p { color: #fff; }

.title_contact .title_text h1.text-reveal span::before { background-color: #fff; }

.contact_wrap p { text-align: center; margin-bottom: 3rem; }

.contact_wrap.wrap_white table { border-spacing: 0; margin-bottom: 1rem; }

.contact_wrap.wrap_white table th, .contact_wrap.wrap_white table td { border-top: solid 1px #ddd; text-align: left; }

.contact_wrap .contact_form label { display: block; padding: 3px; }

.contact_wrap .contact_form .required { font-size: 0.8rem; }

.contact_wrap .contact_form input[type="text"], .contact_wrap .contact_form input[type="email"], .contact_wrap .contact_form textarea { border: solid 1px #ddd; min-width: 25vw; padding: 3px 5px; border-radius: 3px; }

.contact_wrap .contact_form input[type="text"]:focus, .contact_wrap .contact_form input[type="email"]:focus, .contact_wrap .contact_form textarea:focus { outline: solid 3px #de002d; }

#success { text-align: center; }

/* recruit */
.recruit_page header { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; position: absolute; width: 100%; z-index: 1; padding-top: 1rem; }

.recruit_mv { width: 100%; height: 100vh; background: url(../img/rec_mv.jpg) no-repeat center/cover; text-align: center; position: relative; }

.recruit_mv h1 { position: absolute; width: 240px; height: 263px; margin: auto; top: 0; bottom: 0; left: 0; right: 0; }

.recruit_mv .logo { position: absolute; bottom: 50px; left: 0; right: 0; width: 240px; margin: 0 auto; }

.rec_title { text-align: center; font-family: Arial, Helvetica, sans-serif; letter-spacing: 0.05em; font-size: 2.65rem; margin-bottom: 2rem; }

.rec_title span { font-family: inherit; font-size: 0.5em; display: block; }

.rec_title_lead { border-top: solid 1px #111; padding-top: 2rem; margin-bottom: 3rem; text-align: center; }

.wrap_oneday { text-align: center; padding: 80px 0; }

.wrap_oneday .wrap_point { background-color: #f7e4dc; padding: 80px 0; margin-top: 60px; }

.wrap_oneday .wrap_point .point_3 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.wrap_oneday .wrap_point .point_3 .point_content + .point_content { margin-left: 40px; }

.wrap_oneday .wrap_point .point_3 .point_content p { margin-bottom: 1rem; }

.wrap_education { position: relative; margin-bottom: 40px; }

.wrap_education .education_img { position: absolute; top: 25%; right: 0; width: 55%; border: solid 40px #ddd; background-color: #ddd; border-right-width: 0; border-left-width: 50px; }

.wrap_education .education_img img { max-width: 700px; }

.wrap_education .education_txt { width: 40%; }

.wrap_education .education_txt .education_reddbox { background-color: #de002d; color: #fff; font-size: 1.25rem; margin: 0 -10% 2rem 0; padding: 20px 20px 20px 2px; position: relative; -webkit-transform: translate(-99%, 0); transform: translate(-99%, 0); }

.wrap_education .education_txt .education_reddbox::after { content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 100%; background-color: #de002d; -webkit-transform: translateX(-99%); transform: translateX(-99%); z-index: -1; }

.wrap_education .education_txt .education_step { margin-bottom: 1rem; }

.wrap_requirements { padding: 80px 0 0; }

.wrap_requirements .wrap_jobs { background-color: #f7e4dc; padding: 80px 0; }

.wrap_requirements table { width: 100%; font-size: 1.2rem; border-spacing: 0; padding: 20px; margin-bottom: 30px; }

.wrap_requirements table th, .wrap_requirements table td { font-weight: 500; padding: 20px; }

.wrap_requirements table th { white-space: nowrap; border-right: solid 1px; border-bottom: solid 1px; padding: 20px 5%; min-width: 200px; }

.wrap_requirements table td { border-bottom: solid 1px; }

.wrap_requirements table tr.last th, .wrap_requirements table tr.last td { border-bottom: 0; }

.wrap_requirements .entry { text-align: center; }

.wrap_requirements .entry a { display: inline-block; background-color: #de002d; color: #fff; font-size: 1.8rem; font-weight: 500; padding: 5px 40px; }

.wrap_requirements .annotation { font-size: 1rem; font-weight: normal; }

@media screen and (min-width: 0px) and (max-width: 992px) { .d-pc { display: none; }
  .d-tb { display: block; }
  header .nav_logo { -ms-flex-preferred-size: 80%; flex-basis: 80%; padding: 15px; }
  header .head_menu { margin-top: 0; -ms-flex-preferred-size: 20%; flex-basis: 20%; }
  header .head_menu #nav-toggle { color: #de002d; display: block; position: absolute; top: 32px; right: 20px; height: 32px; cursor: pointer; z-index: 11; }
  header .head_menu #nav-toggle .toggle-icon { position: relative; width: 36px; }
  header .head_menu #nav-toggle span { width: 100%; height: 3px; left: 0; display: block; background: #de002d; position: absolute; -webkit-transition: top 0.5s ease, -webkit-transform 0.6s ease-in-out; transition: top 0.5s ease, -webkit-transform 0.6s ease-in-out; transition: transform 0.6s ease-in-out, top 0.5s ease; transition: transform 0.6s ease-in-out, top 0.5s ease, -webkit-transform 0.6s ease-in-out; }
  header .head_menu #nav-toggle span:nth-child(1) { top: 0; }
  header .head_menu #nav-toggle span:nth-child(2) { top: 10px; }
  header .head_menu #nav-toggle span:nth-child(3) { top: 20px; }
  header .head_menu .nav { background: #de002d; color: #fff; margin: 0; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 10; text-align: center; display: none; visibility: hidden; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; opacity: 0; -webkit-transition: opacity 0.6s ease, visibility 0.6s ease; transition: opacity 0.6s ease, visibility 0.6s ease; }
  header .head_menu .nav li { font-size: 1.15rem; margin-bottom: 1rem; opacity: 0; -webkit-transform: translateX(200px); transform: translateX(200px); -webkit-transition: opacity 0.2s ease, -webkit-transform 0.6s ease; transition: opacity 0.2s ease, -webkit-transform 0.6s ease; transition: transform 0.6s ease, opacity 0.2s ease; transition: transform 0.6s ease, opacity 0.2s ease, -webkit-transform 0.6s ease; }
  header .head_menu .nav li:nth-child(2) { -webkit-transition-delay: 0.15s; transition-delay: 0.15s; }
  header .head_menu .nav li:nth-child(3) { -webkit-transition-delay: 0.3s; transition-delay: 0.3s; }
  header .head_menu .nav li:nth-child(4) { -webkit-transition-delay: 0.45s; transition-delay: 0.45s; }
  header .head_menu .nav li:nth-child(5) { -webkit-transition-delay: 0.6s; transition-delay: 0.6s; }
  header .head_menu .nav li:nth-child(6) { -webkit-transition-delay: 0.75s; transition-delay: 0.75s; }
  header .head_menu .nav li:nth-child(7) { -webkit-transition-delay: 0.9s; transition-delay: 0.9s; }
  header .head_menu .nav li a { color: #fff; padding: 1rem; }
  header.home .nav_logo { -ms-flex-preferred-size: 100%; flex-basis: 100%; text-align: center; }
  header.home .head_menu { display: none; }
  /* open */
  body.menu-open { height: 100vh; overflow-y: hidden; }
  body.menu-open header .head_menu #nav-toggle span { background: #fff; }
  body.menu-open header .head_menu #nav-toggle span:nth-child(1) { top: 15px; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
  body.menu-open header .head_menu #nav-toggle span:nth-child(2) { top: 15px; width: 0; left: 50%; }
  body.menu-open header .head_menu #nav-toggle span:nth-child(3) { top: 15px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
  body.menu-open header .head_menu .nav { visibility: visible; opacity: 1; display: -webkit-box; display: -ms-flexbox; display: flex; }
  body.menu-open header .head_menu .nav li { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
  .wrap_education .education_txt .education_reddbox p br { display: none; } }

@media screen and (min-width: 0px) and (max-width: 768px) { .d-sp { display: block; }
  .d-pc { display: none; }
  html { font-size: 13px; }
  .btn_center .btn, .btn_center .btn_enter { width: 100%; min-width: 0; }
  .mv_wrap .mv_text h1 { font-size: 3rem; }
  .top_redbox { width: 85%; padding: 25px; margin-top: 25vh; }
  .top_v_wrap { width: 80%; height: 80%; }
  #philosophy { margin-bottom: 0; }
  #philosophy .top_redbox br { display: none; }
  #company { margin-bottom: 0; padding-bottom: 0; }
  #company .top_redbox { padding: 25px 50px; }
  #company .top_redbox .btn { display: block; }
  .top_sec_line { padding-top: 40px; }
  .outline_block_wrap { margin-top: 30px; }
  .outline_block_wrap .outline_block { -ms-flex-preferred-size: 80%; flex-basis: 80%; }
  .outline_block_wrap .outline_block:nth-child(1), .outline_block_wrap .outline_block:nth-child(3) { margin-top: 0; margin-left: auto; }
  #df .remodal { padding: 30px; }
  #recruit { padding: 100px 0; }
  .title_bg { padding: 80px 0; }
  .wrap_white { padding: 20px; }
  .wrap_white table th, .wrap_white table td { display: block; width: 100%; padding: 15px 0; }
  .wrap_white table th { padding-bottom: 0; text-align: left; font-weight: bold; }
  .wrap_white table tr + tr th { border-top: solid 1px #eee; }
  .recruit_mv { height: 60vh; }
  .recruit_mv h1 { width: 40%; height: 40%; top: 15%; }
  .recruit_mv .logo { bottom: 20px; }
  .wrap_oneday .wrap_point .point_3 { display: block; }
  .wrap_oneday .wrap_point .point_3 .point_content { margin: 0 30px; }
  .wrap_oneday .wrap_point .point_3 .point_content + .point_content { margin: 30px 30px 0; }
  .wrap_education .rec_title { line-height: 1.4; }
  .wrap_education .rec_title span { margin-top: 1rem; }
  .wrap_education .education_img { position: relative; margin-bottom: 2rem; width: 100%; border-width: 20px; }
  .wrap_education .education_img img { max-width: 100%; }
  .wrap_education .education_txt { width: 100%; }
  .wrap_requirements table { font-size: 1rem; }
  .wrap_requirements table th, .wrap_requirements table td { display: block; width: 100%; }
  .wrap_requirements table th { border-right: none; border-bottom: dotted 1px; }
  .wrap_requirements table tr.first th { border-top: solid 1px; }
  .wrap_requirements table tr.last th { border-bottom: dotted 1px; } }
/*# sourceMappingURL=style.css.map */