@charset "UTF-8";
/******************************* Preface ***************************************/
a:hover { color: #4DC99F; }

/********************************* body ***************************************/
html { scroll-behavior: auto; }

/********************************* body ***************************************/
body { /******************************** header **************************************/ /********************************  Main Content ******************************/ /***********************************  MV style ********************************/ /***********************************  footer ********************************/ }

body header { position: relative; }

body header.scrolled .items { background-color: rgba(241, 241, 234, 0.7); transition: all linear .2s; }

body header.header-01 { position: relative; z-index: 100; }

body header.header-01 .inner { position: fixed; width: 100%; height: 80px; display: flex; top: 0; justify-content: flex-end; align-items: center; padding: 0 2rem; z-index: 100; background: rgba(255, 255, 255, 0.8); }

body header.header-01 .inner.inner_top { background: 0; padding: 0; }

body header.header-01 .inner .logo { margin-right: auto; flex: none; }

body header.header-01 .inner .logo a { display: block; }

body header.header-01 .inner .logo a img { display: block; width: 290px; margin: 0 auto; }

body header.header-01 .inner .recruit_bnr { max-width: 180px; margin-right: 1rem; }

body header.header-01 .inner .rec_btn { padding: 0; }

body header.header-01 .inner .rec_btn a { display: flex; align-items: center; justify-content: center; width: 120px; height: 80px; color: #fff; transition: .3s; font-weight: bold; }

body header.header-01 .inner .rec_btn.rec_btn_01 a { border: solid 1px #1EAAE5; }

body header.header-01 .inner .rec_btn.rec_btn_01 a:hover { background: #fff !important; color: #1EAAE5 !important; }

body header.header-01 .inner .rec_btn.rec_btn_02 a { border: solid 1px #DF6393; }

body header.header-01 .inner .rec_btn.rec_btn_02 a:hover { background: #fff !important; color: #DF6393 !important; }

body header.header-01 .inner .menu-wrapper { margin-right: 4.8rem; }

body header.header-01 .inner .menu-wrapper .gnav { display: block; position: fixed; top: 0; right: -500px; bottom: 0; width: 500px; padding: 2rem 0; background: #4DC99F; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; transition: all .5s; z-index: 3; opacity: 0; margin-right: 0; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container { width: 100%; background: #E8F5E8; padding: 2rem 1rem; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu { display: flex; flex-wrap: nowrap; flex-direction: column; align-items: flex-end; justify-content: center; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu > .menu-item { position: static; width: 100%; height: auto; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li a { position: relative; display: block; padding: 1rem 2rem; font-size: 1.1rem; font-weight: bold; color: black; transition: all .3s; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li a:hover { opacity: .7; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li a::before { content: ''; display: block; position: absolute; top: 50%; left: 1em; transform: translateY(-50%); width: 15px; height: 15px; background-image: url(../img/arrow.svg); background-repeat: no-repeat; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu { display: flex; flex-wrap: wrap; justify-content: space-between; padding-left: 2rem; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li { width: calc(100% / 2 - 4px); margin-bottom: 10px; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li a { display: block; padding: 1rem 0.5rem; text-align: center; background: white; color: #4DC99F; font-size: 0.9rem; font-weight: 500; border-radius: 10px; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li a::before { display: none; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li a:hover { background: #4DC99F; color: white; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li.reverse-color a { background: #4DC99F; color: white; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li.reverse-color a:hover { background: white; color: #4DC99F; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li.reverse-color a:hover span { border-top: 1px solid #4DC99F; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li.reverse-color a span { display: block; position: relative; border-top: 1px solid white; padding-top: 0.3rem; margin-top: 0.3rem; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li.reverse-color a span::before { content: ''; display: block; position: absolute; top: 50%; left: 1.5em; transform: translateY(-50%); margin-right: 0.5em; width: 20px; height: 20px; background-image: url(../img/icon_tel.png); background-repeat: no-repeat; background-size: contain; }

body header.header-01 .inner .menu-wrapper .gnav .menu-container .menu li.menu-item-has-children ul.sub-menu li.title { display: block; width: 100%; border-top: 1px solid #4DC99F; color: #4DC99F; font-weight: bold; font-size: 1rem; padding: 0.5rem 0; }

body header.header-01 .inner .menu-wrapper .gnav .sns-link-btn { padding-bottom: 1.5em; }

body header.header-01 .inner .menu-wrapper .gnav .sns-link-btn a { display: block; text-align: center; color: white; font-weight: bold; font-size: .9rem; }

body header.header-01 .inner .menu-wrapper .gnav .sns-link-btn a img { display: block; width: 120px; margin: 0 auto; }

body header.header-01 .inner .menu-wrapper .toggle-btn { display: block; position: fixed; top: 25px; right: 30px; width: 45px; height: 45px; transition: all .5s; cursor: pointer; z-index: 3; }

body header.header-01 .inner .menu-wrapper .toggle-btn span { display: block; position: absolute; left: 0; width: 45px; height: 3px; border-radius: 3px; background-color: #333; transition: all .5s; }

body header.header-01 .inner .menu-wrapper .toggle-btn span:nth-child(1) { top: 0px; }

body header.header-01 .inner .menu-wrapper .toggle-btn span:nth-child(2) { top: 15px; }

body header.header-01 .inner .menu-wrapper .toggle-btn span.scrolled { background-color: black; }

body header.header-01 .inner .menu-wrapper .toggle-btn .menu-name { font-size: .9rem; position: absolute; top: 23px; width: 100%; text-align: center; }

body header.header-01 .inner .menu-wrapper.menu-open .gnav { right: 0; opacity: 1; }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn { margin-top: 0; }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn span { background-color: #333; }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(1) { -webkit-transform: translateY(14px) rotate(-315deg); transform: translateY(14px) rotate(-315deg); }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(2) { -webkit-transform: translateY(-3px) rotate(315deg); transform: translateY(0px) rotate(315deg); }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn span.scroll { background-color: #000000; }

body header.header-01 .inner .menu-wrapper.menu-open .toggle-btn .menu-name { display: none; }

body header.header-01 .inner .menu-wrapper.menu-open #mask { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: .5; z-index: 2; cursor: pointer; }

body header.header-01 .inner .menu-wrapper #mask { display: none; transition: all .3s; }

body .breadcrumb-wrap ul { width: 100%; max-width: 1080px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; padding: 1em 0; }

body .breadcrumb-wrap ul li { font-size: .9rem; font-weight: 500; }

body .breadcrumb-wrap ul li::after { padding: 0 1em; content: '>'; color: black; }

body .breadcrumb-wrap ul li:last-child::after { content: ''; }

body .breadcrumb-wrap ul li a { text-decoration: none; color: #4DC99F; }

@media screen and (min-width: 678px) and (max-width: 1140px) { body .breadcrumb-wrap { padding: 0 40px; } }

body main { overflow: hidden; }

body .content-wrap { padding: 4rem 0; /***********************************  共通 style ********************************/ /***********************************  TOPページ style ********************************/ }

body .content-wrap .inner.inner-l { width: 100%; max-width: 1080px; margin: 0 auto; }

body .content-wrap .inner.inner-m { width: 100%; max-width: 940px; margin: 0 auto; }

body .content-wrap .inner.inner-s { width: 100%; max-width: 730px; margin: 0 auto; }

@media screen and (min-width: 678px) and (max-width: 1150px) { body .content-wrap .inner.inner-s { padding: 0 1.5rem; }
		body .content-wrap .inner.inner-m { padding: 0 1.5rem; }
		body .content-wrap .inner.inner-l { padding: 0 1.5rem; } }

body .content-wrap h1.section-title.section-title01, body .content-wrap h2.section-title.section-title01, body .content-wrap h3.section-title.section-title01, body .content-wrap h4.section-title.section-title01, body .content-wrap h5.section-title.section-title01, body .content-wrap h6.section-title.section-title01 { margin-bottom: 3rem; font-weight: bold; }

body .content-wrap h1.section-title.section-title01 .sub, body .content-wrap h2.section-title.section-title01 .sub, body .content-wrap h3.section-title.section-title01 .sub, body .content-wrap h4.section-title.section-title01 .sub, body .content-wrap h5.section-title.section-title01 .sub, body .content-wrap h6.section-title.section-title01 .sub { display: inline-block; border: solid 1px #fff; border-radius: 999px; font-size: 1.2rem; padding: .5rem 1.5rem; margin-bottom: .5rem; }

body .content-wrap h1.section-title.section-title01 .main, body .content-wrap h2.section-title.section-title01 .main, body .content-wrap h3.section-title.section-title01 .main, body .content-wrap h4.section-title.section-title01 .main, body .content-wrap h5.section-title.section-title01 .main, body .content-wrap h6.section-title.section-title01 .main { display: block; font-size: 3rem; }

body .content-wrap h1.section-title.section-title02, body .content-wrap h2.section-title.section-title02, body .content-wrap h3.section-title.section-title02, body .content-wrap h4.section-title.section-title02, body .content-wrap h5.section-title.section-title02, body .content-wrap h6.section-title.section-title02 { margin-bottom: 1.5rem; font-weight: bold; }

body .content-wrap h1.section-title.section-title02 .sub, body .content-wrap h2.section-title.section-title02 .sub, body .content-wrap h3.section-title.section-title02 .sub, body .content-wrap h4.section-title.section-title02 .sub, body .content-wrap h5.section-title.section-title02 .sub, body .content-wrap h6.section-title.section-title02 .sub { display: block; font-size: 1.3rem; margin-bottom: .6rem; text-align: center; }

body .content-wrap h1.section-title.section-title02 .main, body .content-wrap h2.section-title.section-title02 .main, body .content-wrap h3.section-title.section-title02 .main, body .content-wrap h4.section-title.section-title02 .main, body .content-wrap h5.section-title.section-title02 .main, body .content-wrap h6.section-title.section-title02 .main { display: block; font-size: 2rem; }

body .content-wrap h1.section-title.section-title03, body .content-wrap h2.section-title.section-title03, body .content-wrap h3.section-title.section-title03, body .content-wrap h4.section-title.section-title03, body .content-wrap h5.section-title.section-title03, body .content-wrap h6.section-title.section-title03 { font-weight: bold; margin: 2rem 0 4rem 0; }

body .content-wrap h1.section-title.section-title03 .main, body .content-wrap h2.section-title.section-title03 .main, body .content-wrap h3.section-title.section-title03 .main, body .content-wrap h4.section-title.section-title03 .main, body .content-wrap h5.section-title.section-title03 .main, body .content-wrap h6.section-title.section-title03 .main { display: block; font-size: 2.8rem; margin-bottom: 1rem; }

body .content-wrap h1.section-title.section-title03 .sub, body .content-wrap h2.section-title.section-title03 .sub, body .content-wrap h3.section-title.section-title03 .sub, body .content-wrap h4.section-title.section-title03 .sub, body .content-wrap h5.section-title.section-title03 .sub, body .content-wrap h6.section-title.section-title03 .sub { display: block; font-size: 1.5rem; }

body .content-wrap h1.section-title.section-title04, body .content-wrap h2.section-title.section-title04, body .content-wrap h3.section-title.section-title04, body .content-wrap h4.section-title.section-title04, body .content-wrap h5.section-title.section-title04, body .content-wrap h6.section-title.section-title04 { margin-bottom: 1rem; font-weight: bold; }

body .content-wrap h1.section-title.section-title04 .sub, body .content-wrap h2.section-title.section-title04 .sub, body .content-wrap h3.section-title.section-title04 .sub, body .content-wrap h4.section-title.section-title04 .sub, body .content-wrap h5.section-title.section-title04 .sub, body .content-wrap h6.section-title.section-title04 .sub { display: block; font-size: 1.2rem; margin-bottom: .5rem; }

body .content-wrap h1.section-title.section-title04 .main, body .content-wrap h2.section-title.section-title04 .main, body .content-wrap h3.section-title.section-title04 .main, body .content-wrap h4.section-title.section-title04 .main, body .content-wrap h5.section-title.section-title04 .main, body .content-wrap h6.section-title.section-title04 .main { display: block; font-size: 2.4rem; }

body .content-wrap h1.section-title.section-title-visit .chara, body .content-wrap h2.section-title.section-title-visit .chara, body .content-wrap h3.section-title.section-title-visit .chara, body .content-wrap h4.section-title.section-title-visit .chara, body .content-wrap h5.section-title.section-title-visit .chara, body .content-wrap h6.section-title.section-title-visit .chara { width: 16%; margin-bottom: 1rem; }

body .content-wrap.content-wrap-cta .cta-wrap { display: flex; align-items: center; justify-content: space-between; }

body .content-wrap.content-wrap-cta .cta-wrap .cta-item { width: 48%; }

body .content-wrap#content00 { padding-top: 0; padding-bottom: 0; }

body .content-wrap#content00 .sec00 { padding-bottom: 4rem; }

body .content-wrap#content01 { padding-top: 0; padding-bottom: 0; }

body .content-wrap#content01 .kankyo_map { max-width: 840px; margin: 0 auto; }

body .content-wrap#content01 .contents_txt { padding-bottom: 3rem; }

body .content-wrap#content02 { padding-top: 0; padding-bottom: 0; }

body .content-wrap#content03 { padding-top: 0; padding-bottom: 0; }

body .content-wrap#content03 .contents_txt { padding-bottom: 3rem; }

body .content-wrap .suujidemiru { display: flex; flex-wrap: wrap; }

body .content-wrap .suujidemiru .item { width: calc( 33.333333% - ( 3rem / 3 )); display: flex; container-type: inline-size; margin: 1.5rem 1.5rem 1.5rem 0; }

body .content-wrap .suujidemiru .item:nth-child(3n) { margin-right: 0; }

body .content-wrap .suujidemiru .item .icon { width: 35%; padding: 0.3rem; }

body .content-wrap .suujidemiru .item .icon img { display: block; width: 100%; }

body .content-wrap .suujidemiru .item .txt { display: flex; flex-flow: column; height: 100%; justify-content: space-between; padding: 0.5rem 0 1rem; }

body .content-wrap .suujidemiru .item .txt .ttl { font-weight: 600; font-size: 1.1rem; }

body .content-wrap .suujidemiru .item .txt .num_wrap { display: flex; align-items: flex-end; justify-content: space-between; }

body .content-wrap .suujidemiru .item .txt .num_wrap > div { line-height: 1; }

body .content-wrap .suujidemiru .item .txt .num_wrap > div span { line-height: 1; font-size: 6cqw; font-weight: 600; color: white; }

body .content-wrap .suujidemiru .item .txt .num_wrap > div span.num { font-weight: 700; font-size: 20cqw; line-height: 0.5; color: #fffaa2; }

body .content-wrap .suujidemiru .item .txt .num_wrap > div span.colon { font-weight: 700; font-size: 20cqw; line-height: 0.5; color: #fffaa2; padding: 0 0.3rem; }

body .content-wrap .suujidemiru .item .txt .num_wrap > div span.lg { font-size: 8cqw; }

body .content-wrap .suujidemiru .item .txt .num_wrap > div span.sub { font-size: 3.7cqw; font-weight: 400; }

body .content-wrap#careerpass, body .content-wrap#educationsystem { padding-top: 0; }

body .content-wrap#careerpass .careerpass_head .head_wrap, body .content-wrap#educationsystem .careerpass_head .head_wrap { display: flex; align-items: center; }

body .content-wrap#careerpass .careerpass_head .head_wrap h3, body .content-wrap#educationsystem .careerpass_head .head_wrap h3 { min-width: 300px; }

body .content-wrap#careerpass .careerpass_head .head_wrap .captions, body .content-wrap#educationsystem .careerpass_head .head_wrap .captions { background: linear-gradient(135deg, #c3f0b2, #38c6a0); padding: 2rem 3rem; }

body .content-wrap#careerpass .careerpass_head .head_wrap .captions .ttl, body .content-wrap#educationsystem .careerpass_head .head_wrap .captions .ttl { font-size: 1.5rem; font-weight: bold; margin-bottom: 1rem; }

body .content-wrap#careerpass .careerpass_image img, body .content-wrap#educationsystem .careerpass_image img { display: block; width: 100%; }

body .content-wrap .sec_kankyo { padding-bottom: 4rem; }

body .content-wrap .sec_kankyo h4 { max-width: 740px; margin: -6.7rem auto 2.5rem auto; }

body .content-wrap#voice { padding-top: 0; }

body .content-wrap .voice_box { margin-top: 4rem; }

body .content-wrap .voice_box .voice-slider { position: relative; }

body .content-wrap .voice_box .voice-slider .item { width: 320px; height: 530px; border-radius: 20px; overflow: hidden; margin-right: .5rem !important; }

body .content-wrap .voice_box .voice-slider .item:nth-of-type(2n) .color_box { background: #E2EC99 !important; }

body .content-wrap .voice_box .voice-slider .item:nth-of-type(3n) .color_box { background: #FFFA99 !important; }

body .content-wrap .voice_box .voice-slider .item:nth-of-type(4n) .color_box { background: #BBE7F9 !important; }

body .content-wrap .voice_box .voice-slider .box01 a { position: relative; display: block; height: 100%; }

body .content-wrap .voice_box .voice-slider .box01 a .thumbs { display: block; overflow: hidden; height: 100%; }

body .content-wrap .voice_box .voice-slider .box01 a .thumbs img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }

body .content-wrap .voice_box .voice-slider .box01 a .txtBox { position: absolute; bottom: 0; left: 0; width: 100%; }

body .content-wrap .voice_box .voice-slider .box01 a .txtBox .cat { color: #fff; font-weight: bold; font-size: 1.5rem; padding: .4rem 1.5rem; background: linear-gradient(to top, #1c2c43 0%, rgba(28, 44, 67, 0) 100%); }

body .content-wrap .voice_box .voice-slider .box01 a .txtBox .cat .ja { font-size: 1.1rem; }

body .content-wrap .voice_box .voice-slider .box01 a .txtBox .color_box { width: 100%; padding: 1rem 1.5rem; background: #F9D4E2; color: #000; font-weight: bold; font-size: 1.4rem; line-height: 1.5; }

body .content-wrap .voice_box .voice-slider .btnBox { position: relative; margin-top: 3rem; display: flex; align-items: center; }

body .content-wrap .voice_box .voice-slider .btnBox .people-prev { margin-right: 1.5rem; }

body .content-wrap .voice_box .voice-slider .btnBox .people-next { margin-right: 2.5rem; }

body .content-wrap .voice_box .voice-slider .btnBox .people-prev:hover, body .content-wrap .voice_box .voice-slider .btnBox .people-next:hover { opacity: 0.7; }

body .content-wrap .voice_box .voice-slider .btnBox .people-prev img, body .content-wrap .voice_box .voice-slider .btnBox .people-next img { cursor: pointer; }

body .content-wrap .voice_box .voice-slider .btnBox .people-pagination { position: relative; top: 0; left: 0; width: calc(100% - 200px); height: 4px; display: flex; }

body .content-wrap .voice_box .voice-slider .btnBox .people-pagination .swiper-pagination-bullet { flex: 1; border-radius: 0; margin: 0; height: 4px; background-color: #eff4f3; opacity: 1; }

body .content-wrap .voice_box .voice-slider .btnBox .people-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active { background-color: #58B6DE; }

body .content-wrap#recruitment .recruitment_head { display: flex; }

body .content-wrap#recruitment .recruitment_head .section-title { width: 50%; line-height: 1.5; }

body .content-wrap#recruitment .recruitment_head .txt { width: 50%; padding-left: 1.5rem; }

body .content-wrap#recruitment .recruitment_list { display: flex; justify-content: space-between; margin-top: 3.5rem; }

body .content-wrap#recruitment .recruitment_list .recruitment_item { width: 32.5%; }

body .content-wrap#msg { padding-bottom: 0; }

body .content-wrap#msg h4 { max-width: 390px; margin: 0 auto 3rem auto; }

body .content-wrap#footnav { padding-top: 0; padding-bottom: 0; background: url(../img/footnav.png); background-size: 100%; }

body .content-wrap#footnav .footnav_bg { padding: 5rem 0 9rem 0; }

body .content-wrap#footnav .footnav_bg .section-title { font-weight: bold; margin-bottom: 4rem; }

body .content-wrap#footnav .footnav_bg .section-title .sub { display: block; font-size: 1.5rem; margin-bottom: .5rem; }

body .content-wrap#footnav .footnav_bg .section-title .main { display: block; font-size: 3rem; }

body .content-wrap#footnav .footnav_bg .nav { display: flex; flex-wrap: nowrap; justify-content: center; }

body .content-wrap#footnav .footnav_bg .nav li { width: 25%; border-bottom: solid 2px #fff; margin-right: 2rem; }

body .content-wrap#footnav .footnav_bg .nav li:last-of-type { margin-right: 0; }

body .content-wrap#footnav .footnav_bg .nav li a { position: relative; display: block; color: #fff; padding: .5rem; font-size: 1.1rem; font-weight: bold; }

body .content-wrap#footnav .footnav_bg .nav li a i { position: absolute; right: 2%; top: 50%; transform: translateY(-50%); }

body .content-wrap#footer_cta { padding-top: 0; }

body .content-wrap#footer_cta a { display: flex; max-width: 1140px; margin: -4rem auto 0 auto; border-radius: 20px; padding: 1.5rem 3rem; }

body .content-wrap#footer_cta a .section-title { width: 50%; line-height: 1; }

body .content-wrap#footer_cta a .txt-wrap { width: 50%; padding-left: 1.5rem; margin-left: 1.5rem; border-left: 2px solid #fff; }

body .content-wrap#footer_cta a .txt-wrap .ttl { font-weight: bold; font-size: 1.4rem; margin-bottom: 1rem; }

body .content-wrap .link-btn { width: 100%; margin: 0 auto; }

body .content-wrap .link-btn a { display: block; transition: .3s; font-weight: 500; }

body .content-wrap .link-btn.main-color a { display: block; background-color: #4DC99F; border: 1px solid #4DC99F; color: #fff; }

body .content-wrap .link-btn.main-color a:hover { background-color: #fff; color: #4DC99F; }

body .content-wrap .link-btn.main-color a:hover::after { border-color: #4DC99F; }

body .content-wrap .link-btn.main-color a::after { border-color: #fff; }

body .content-wrap .link-btn.reverse-color a { background-color: #FFFA99; border: 1px solid #FFFA99; color: #ffffff; }

body .content-wrap .link-btn.reverse-color a::after { background: #4DC99F !important; }

body .content-wrap .link-btn.reverse-color a:hover { background-color: #4DC99F; }

body .content-wrap .link-btn.reverse-color a:hover::after { background: #FFFA99 !important; }

body .content-wrap .flex_btn { display: flex; justify-content: space-between; }

body .content-wrap .flex_btn .link-btn { width: 48%; }

body .content-wrap form .row { border-bottom: 1px solid #eef3f1; margin: 0; }

body .content-wrap form .row .col-12 { display: flex; flex-wrap: wrap; align-items: flex-start; padding: 1rem 0; }

body .content-wrap form .row .col-12 label { width: 30%; font-size: 1.1rem; }

body .content-wrap form .row .col-12 label.reqire::after { content: "*"; color: red; font-size: 1.2rem; }

body .content-wrap form .row .col-12 select, body .content-wrap form .row .col-12 input, body .content-wrap form .row .col-12 textarea { width: 70%; background-color: white; border: 1px solid #f3f3f3; padding: 1rem; border-radius: 0.25rem; font-size: 1rem; background: #F8F9F9; }

body .content-wrap form .row .col-12 select:hover, body .content-wrap form .row .col-12 select:focus, body .content-wrap form .row .col-12 select:active, body .content-wrap form .row .col-12 input:hover, body .content-wrap form .row .col-12 input:focus, body .content-wrap form .row .col-12 input:active, body .content-wrap form .row .col-12 textarea:hover, body .content-wrap form .row .col-12 textarea:focus, body .content-wrap form .row .col-12 textarea:active { outline: 2px solid #707070; border-color: transparent !important; box-shadow: none !important; }

body .content-wrap form .row .col-12 .form-control { padding: 1.5rem 1rem; }

body .content-wrap form .row .seinengappi { display: flex; width: 70%; }

body .content-wrap form .row .seinengappi select { width: 100% !important; margin-right: 2rem; }

body .content-wrap form .row .seinengappi .year { width: 40%; margin-right: 2rem; }

body .content-wrap form .row .seinengappi .month { width: 30%; margin-right: 2rem; }

body .content-wrap form .row .seinengappi .day { width: 30%; }

body .content-wrap form .btn-wrap { text-align: center; }

body .content-wrap form .btn-wrap input[type=submit] { background-color: #62A962; color: white; font-weight: bold; font-size: 1rem; width: 350px; padding: 1.5rem 2rem; border-radius: 8px; border: solid 1px #62A962; outline: none; }

body .content-wrap form .btn-wrap input[type=submit]:hover { background-color: #fff; color: #62A962; }

body .content-wrap form .checkbox-consent { text-align: center; }

body .content-wrap form .checkbox-consent a { text-decoration: underline; }

body .content-wrap .table tr th { width: 30%; padding: 1rem 0; }

body .content-wrap .table tr td { padding: 1rem; }

body .content-wrap .table.table-01 tr th { border-top: none; border-bottom: 1px solid #AED8AE; }

body .content-wrap .table.table-01 tr td { border-top: none; border-bottom: 1px solid #EEEEEE; }

body .content-wrap .scroll-wrap { height: 300px; overflow: auto; border: 1px solid #D6D6D6; padding: 1.5rem; background: white; }

body .content-wrap .scroll-wrap h5 { padding-bottom: 1rem; margin-bottom: 0; font-size: 1rem; font-weight: 500; }

body .content-wrap .scroll-wrap p { padding-bottom: 1rem; line-height: 1.8; }

body .mv { position: relative; padding-bottom: 8%; }

body .mv .mv_image { max-width: 1280px; margin: 0 auto; }

body .mv .mv_foot .mv_ttl { width: 34%; margin-top: -70vh; margin-left: 7rem; margin-bottom: 1.8rem; }

@media screen and (min-width: 768px) and (max-width: 1280px) { body .mv .mv_foot .mv_ttl { margin-top: -46%; } }

body .mv .mv_foot .intro { position: relative; width: 65%; color: #fff; padding: 4rem 9rem; }

@media screen and (min-width: 768px) and (max-width: 1280px) { body .mv .mv_foot .intro { padding: 3rem; } }

body .mv .mv_foot .intro .ttl { font-size: 1.8rem; font-weight: bold; margin-bottom: 2rem; }

@media screen and (min-width: 768px) and (max-width: 1280px) { body .mv .mv_foot .intro .ttl { font-size: 1.8rem; } }

body .mv .mv_foot .intro .txt { line-height: 2.2; font-size: 1.1rem; }

@media screen and (min-width: 768px) and (max-width: 1280px) { body .mv .mv_foot .intro .txt { font-size: 1rem; line-height: 2; } }

body .mv .mv_sub01 { position: absolute; max-width: 460px; width: 100%; right: 4%; bottom: -4%; }

@media screen and (min-width: 768px) and (max-width: 1280px) { body .mv .mv_sub01 { max-width: 100%; width: 36%; right: 2%; bottom: -3%; } }

body .mv_voice { width: 100%; height: 100%; position: relative; container-type: inline-size; }

body .mv_voice .image { width: 75%; margin-left: 25%; }

body .mv_voice .image img { display: block; width: 100%; border-radius: 3.5cqw 0 0 3.5cqw; }

body .mv_voice .text { position: absolute; width: 40%; top: 50%; transform: translateY(-50%); padding-left: 9rem; }

body .mv_voice .text > h2 { color: #4DC99F; position: relative; }

body .mv_voice .text > h2 > span { line-height: 1; border-bottom: 3px solid #4DC99F; font-size: 1.2cqw; font-weight: 600; display: inline-block; padding-bottom: 0.4cqw; }

body .mv_voice .text > h2 > span.left-line { position: absolute; display: inline-block; width: 100vw; bottom: 0; left: -100vw; }

body .mv_voice .text .caption { padding: 2cqw 0; }

body .mv_voice .text .caption p { font-size: 2cqw; font-weight: 600; line-height: 1.6; }

body .mv_voice .text .caption p span { background-color: white; padding-right: 0.5em; }

body .mv_voice .text .initial { font-size: 1.1cqw; font-weight: 600; }

body .voice_job_caption { display: flex; }

body .voice_job_caption .text h2 { font-size: 2rem; font-weight: bold; margin-bottom: 2rem; }

body .voice_job_caption .text .details { line-height: 2.5; padding-right: 1.5rem; }

body .voice_job_caption .image img { display: block; border-radius: 2rem; }

body .content-wrap-schedule { position: relative; container-type: inline-size; }

body .content-wrap-schedule > .image { position: absolute; left: 0; top: 5rem; width: 50%; height: 700px; max-height: calc( 100% - 5rem - 5rem); aspect-ratio: 1/2; background-size: cover; background-position: center; border-radius: 0 2rem 2rem 0; }

body .content-wrap-schedule .schedule_text_wrap { width: 50%; margin-left: 50%; padding: 0 1rem 0 4rem; }

body .content-wrap-schedule .schedule_text_wrap h2 { font-size: 1.6rem; font-weight: 600; margin: -1.6rem 0 1.6rem 0; }

body .content-wrap-schedule .schedule_text_wrap ul.step-list li { display: flex; }

body .content-wrap-schedule .schedule_text_wrap ul.step-list li .point { width: 1rem; }

body .content-wrap-schedule .schedule_text_wrap ul.step-list li .point:before { content: ""; width: 1rem; height: 1rem; display: block; border-radius: 100rem; background-color: #4DC99F; }

body .content-wrap-schedule .schedule_text_wrap ul.step-list li .point:after { content: ""; height: 100%; display: block; border-left: 2px solid #4DC99F; transform: translate(calc(50% - 1px), -1rem); }

body .content-wrap-schedule .schedule_text_wrap ul.step-list li .time { color: #4DC99F; font-weight: 600; font-size: 1.1rem; line-height: 0.9; padding: 0 1rem; }

body .content-wrap-schedule .schedule_text_wrap ul.step-list li .text .ttl { color: #4DC99F; font-weight: 600; font-size: 1.1rem; line-height: 0.9; }

body .content-wrap-schedule .schedule_text_wrap ul.step-list li .text .txt { font-size: 0.9rem; padding: 1rem 0 3rem 0; }

body .content-wrap-message .message_wrap { display: flex; }

body .content-wrap-message .message_wrap .contents_txt { width: 60%; padding-right: 3rem; }

body .content-wrap-message .message_wrap .contents_txt h3 { color: white; font-size: 1.5rem; font-weight: 600; }

body .content-wrap-message .message_wrap .contents_txt .text { color: white; line-height: 2; }

body .content-wrap-message .message_wrap .image { width: 40%; }

body .content-wrap-message .message_wrap .image img { display: block; width: 100%; border-radius: 2rem; }

body .content-wrap-myprofile .myprofile_wrap { position: relative; container-type: inline-size; }

body .content-wrap-myprofile .myprofile_wrap .image { position: absolute; width: 35cqw; top: 50%; left: 50%; transform: translate(-50%, -50%); }

body .content-wrap-myprofile .myprofile_wrap .image img { display: block; width: 100%; border-radius: 100%; }

body .content-wrap-myprofile .myprofile_wrap ul.details { display: flex; flex-wrap: wrap; container-type: inline-size; }

body .content-wrap-myprofile .myprofile_wrap ul.details li { width: 50%; position: relative; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:after { content: ""; position: absolute; background-size: contain; background-position: center; background-repeat: no-repeat; }

body .content-wrap-myprofile .myprofile_wrap ul.details li .bg { width: 100%; }

body .content-wrap-myprofile .myprofile_wrap ul.details li .bg img { display: block; width: 100%; }

body .content-wrap-myprofile .myprofile_wrap ul.details li .text { position: absolute; top: 0; width: calc(100% - 6cqw); }

body .content-wrap-myprofile .myprofile_wrap ul.details li .text .ttl { font-size: 1.3rem; font-weight: 600; text-align: center; padding-bottom: 0.5rem; }

body .content-wrap-myprofile .myprofile_wrap ul.details li .text .txt { line-height: 2.8; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(1) { padding: 0 10cqw 10cqw 0; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(1) img { width: 90%; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(1) .text { padding: 7cqw 14cqw 0 6cqw; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(1):after { background-image: url(../img/myprofile_1_after.png); width: 10cqw; height: 10cqw; bottom: 5%; left: 31%; transform: translate(-50%, -50%); }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(2) { padding: 0 0 10cqw 10cqw; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(2) .text { padding: 7cqw 6cqw 0 2cqw; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(2):after { background-image: url(../img/myprofile_2_after.png); width: 10cqw; height: 10cqw; left: 18%; top: 31%; transform: translate(-50%, -50%); }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(3) { padding: 0 10cqw 0 0; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(3) img { width: 90%; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(3) .text { padding: 9cqw 14cqw 0 6cqw; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(3):after { background-image: url(../img/myprofile_3_after.png); width: 10cqw; height: 10cqw; bottom: 0; right: 7%; transform: translate(-50%, -50%); }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(4) { padding: 0 0 0 12cqw; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(4) img { width: 90%; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(4) .text { padding: 9cqw 14cqw 0 6cqw; }

body .content-wrap-myprofile .myprofile_wrap ul.details li:nth-child(4):after { background-image: url(../img/myprofile_4_after.png); width: 10cqw; height: 10cqw; top: 0; left: 59%; transform: translate(-50%, -50%); }

body .content-wrap-process ul.process_wrap { counter-reset: process 0; border: 1px solid #4DC99F; padding: 3rem; border-radius: 1.2rem; }

body .content-wrap-process ul.process_wrap li { display: flex; align-items: stretch; border-bottom: 2px solid #4DC99F; margin-bottom: 1.6rem; }

body .content-wrap-process ul.process_wrap li > div { display: flex; align-items: center; }

body .content-wrap-process ul.process_wrap li:last-child { margin-bottom: 0; }

body .content-wrap-process ul.process_wrap li .num { padding: 1rem 2rem; background: linear-gradient(135deg, #c3f0b2, #38c6a0); color: white; width: 20%; line-height: 1; font-size: 1.2rem; font-weight: 700; justify-content: end; position: relative; }

body .content-wrap-process ul.process_wrap li .num:before { position: absolute; content: "▼"; left: 2rem; top: 50%; transform: translateY(-50%); }

body .content-wrap-process ul.process_wrap li .num:after { counter-increment: process 1; content: "STEP" counter(process); font-family: "Montserrat", sans-serif; }

body .content-wrap-process ul.process_wrap li .text { padding: 0.5rem 2rem; flex-flow: column; align-items: start; }

body .content-wrap-process ul.process_wrap li .text .ttl { font-size: 1.5rem; color: #4DC99F; font-weight: 600; line-height: 1.5; }

body .bg_grade_green_lite form input, body .bg_grade_green_lite form select, body .bg_grade_green_lite form textarea { background-color: white !important; }

body .bg_grade_green_lite form input[type=submit] { background-color: #4DC99F !important; border-color: #4DC99F !important; border-radius: 100rem !important; }

body .bg_grade_green_lite form input[type=submit]:hover { background-color: white !important; color: #4DC99F !important; }

body .content-wrap-entrytype .entrytype_wrap { display: flex; flex-wrap: wrap; }

body .content-wrap-entrytype .entrytype_wrap a { display: block; background-color: #4DC99F; color: white; font-size: 1.2rem; font-weight: 600; margin-right: 2rem; width: calc( 50% - ( 2rem / 2 )); padding: 0.5em 0; text-align: center; border-radius: 100rem; }

body .content-wrap-entrytype .entrytype_wrap a:last-child { margin-right: 0; }

body .content-wrap-spec .spec_wrap h3 { font-size: 1.5rem; font-weight: 600; color: #4DC99F; margin-bottom: 0.5rem; }

body .content-wrap-spec .spec_wrap .spec_btn { padding: 2rem 0; text-align: center; }

body .content-wrap-spec .spec_wrap .spec_btn a { margin: 0 auto; }

body .content-wrap-spec .spec_wrap .spec_btn a img { display: inline-block; max-width: 360px; }

body footer.footer { background: #F2F2F2; display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 2rem; }

body footer.footer .inner { display: flex; align-items: center; }

body footer.footer .inner .logo { width: 260px; margin-right: 2rem; }

body footer.footer .inner .f_link { font-size: .9rem; }

body footer.footer .copyright { font-size: .9rem; }

/*==================================================
anime
==================================================*/
/* fadeUp */
.fadeIn { animation-name: fadeInAnime; animation-duration: 1.2s; animation-fill-mode: forwards; opacity: 0; }

.fadeUp { animation-name: fadeUpAnime; animation-duration: 1s; animation-fill-mode: forwards; opacity: 0; }

.fadeLeft { animation-name: fadeLeftAnime; animation-duration: 0.8s; animation-fill-mode: forwards; opacity: 0; }

.fadeRight { animation-name: fadeRightAnime; animation-duration: 0.8s; animation-fill-mode: forwards; opacity: 0; }

@keyframes fadeInAnime { from { opacity: 0; }
		to { opacity: 1; } }

@keyframes fadeUpAnime { from { opacity: 0;
				transform: translateY(50px); }
		to { opacity: 1;
				transform: translateY(0); } }

@keyframes fadeLeftAnime { from { opacity: 0;
				transform: translateX(100px); }
		to { opacity: 1;
				transform: translateX(0); } }

@keyframes fadeRightAnime { from { opacity: 0;
				transform: translateX(-100px); }
		to { opacity: 1;
				transform: translateX(0); } }

@keyframes bounce { 0%, 100% { transform: translateY(0);
				/* 元の位置 */ }
		50% { transform: translateY(-10px);
				/* 上に移動 */ } }

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger, .fadeLeftTrigger, .fadeRightTrigger, .fadeTrigger { opacity: 0; }

.loop-text { padding: 2.5rem 0; }

.loop-text .loop__box { display: flex; width: 100%; overflow: hidden; }

.loop__box img { display: inline-block; padding: 0 3rem; width: auto; height: calc(22 / 375 * 100vw); }

.loop__box img:first-child { animation: loop 30s -15s linear infinite; }

.loop__box img { animation: loop2 30s linear infinite; }

@keyframes loop { 0% { transform: translateX(100%); }
		to { transform: translateX(-100%); } }

@keyframes loop2 { 0% { transform: translateX(0); }
		to { transform: translateX(-200%); } }

.chara_rec { width: 16%; margin: 0 auto .5rem auto; }

.chara_careerpass { width: 12%; margin: 0 auto .5rem auto; }

.chara_voice { width: 18%; margin: 0 auto .8rem auto; }

.chara_cta_rec { width: 14%; margin: 0 auto; }

.chara_msg { width: 30%; max-width: 100px; }

.chra_wrap { display: flex; justify-content: center; align-items: center; margin-bottom: 2.5rem; }

.chra_wrap .chara_fnav { width: 10%; margin-right: 2rem; }

.chra_wrap .section-title { text-align: left !important; margin-bottom: 0 !important; }

.chra_wrap .section-title span { text-align: left !important; }
