@charset "utf-8";
/* CSS Document */

body { font-size:calc(18 * 0.18vw); line-height: 1.8; }
:target { scroll-margin-top: calc(140vw / 7.8); }


.pc { display:none; }
.sp { display:block; }



.sp_left { text-align:left; }

.fs10vw { font-size:calc(10 * 0.22vw); }
.fs12vw { font-size:calc(12 * 0.22vw); }
.fs14vw { font-size:calc(14 * 0.22vw); }
.fs15vw { font-size:calc(15 * 0.20vw); }
.fs16vw { font-size:calc(16 * 0.20vw); }
.fs17vw { font-size:calc(17 * 0.19vw); }
.fs18vw { font-size:calc(18 * 0.18vw); }
.fs20vw { font-size:calc(20 * 0.18vw); }
.fs21vw { font-size:calc(20 * 0.18vw); }
.fs22vw { font-size:calc(22 * 0.16vw); }
.fs23vw { font-size:calc(23 * 0.16vw); }
.fs24vw { font-size:calc(24 * 0.16vw); }
.fs25vw { font-size:calc(25 * 0.15vw); }
.fs26vw { font-size:calc(26 * 0.15vw); }
.fs27vw { font-size:calc(27 * 0.15vw); }
.fs28vw { font-size:calc(28 * 0.15vw); }
.fs29vw { font-size:calc(29 * 0.15vw); }
.fs30vw { font-size:calc(30 * 0.15vw); }
.fs32vw { font-size:calc(32 * 0.13vw); }
.fs33vw { font-size:calc(33 * 0.13vw); }
.fs34vw { font-size:calc(34 * 0.13vw); }
.fs35vw { font-size:calc(35 * 0.13vw); }
.fs36vw { font-size:calc(36 * 0.13vw); }
.fs37vw { font-size:calc(37 * 0.13vw); }
.fs38vw { font-size:calc(38 * 0.13vw); }
.fs40vw { font-size:calc(40 * 0.13vw); }
.fs42vw { font-size:calc(42 * 0.13vw); }
.fs45vw { font-size:calc(45 * 0.12vw); }
.fs48vw { font-size:calc(48 * 0.11vw); }
.fs50vw { font-size:calc(50 * 0.11vw); }
.fs52vw { font-size:calc(52 * 0.11vw); }
.fs54vw { font-size:calc(54 * 0.11vw); }
.fs55vw { font-size:calc(55 * 0.1vw); }
.fs56vw { font-size:calc(56 * 0.1vw); }
.fs58vw { font-size:calc(58 * 0.1vw); }
.fs60vw { font-size:calc(60 * 0.1vw); }
.fs65vw { font-size:calc(65 * 0.1vw); }
.fs66vw { font-size:calc(66 * 0.1vw); }
.fs68vw { font-size:calc(68 * 0.1vw); }
.fs70vw { font-size:calc(70 * 0.1vw); }
.fs72vw { font-size:calc(72 * 0.1vw); }
.fs80vw { font-size:calc(80 * 0.1vw); }
.fs90vw { font-size:calc(90 * 0.08vw); }
.fs100vw { font-size:calc(100 * 08vw); }




.ttl { margin-block-end: 1em; }
.ttl2 .illust11 { top: -2em; left: -3em; }

.more { width: 70%; height: calc(70vw / 5); margin-block-start: 2em; }
.more .circle { width: calc(40vw / 7.2); height: calc(40vw / 7.2); }
.next .circle { width: calc(40vw / 7.2); height: calc(40vw / 7.2); }

.decoration { width:300%; }
.decoration .loop { animation: loop 30s linear infinite; }
.decoration .loop.second { animation: loop 30s -15s linear infinite; }


.shading,
.shading_white { background-size: 3vw 3vw; }


.inner { width: 94% }
.wide_inner { width: 94% }
.roomy_inner { width: 94% }
.middle_inner { width: 94% }
.low_inner { width: 94%; }
.narrow_inner { width: 94% }
.minimum_inner { width: 94%; }


#header { height: calc(140vw / 7.8); background-color:rgba(255,255,255,0.9); }
#header .logo { width: calc(550vw / 7.2); line-height: 1.5; }
#header .logo .logo_mark { width: calc(88vw / 10.2); }



#header #hamburger { width: calc(100vw / 7.2); height: calc(80vw / 7.2); }
#header #hamburger .bar { width: calc(50vw / 7.2); }
#header #hamburger .bar_1,#header #hamburger .bar_2 { margin-block-end: calc(10vw / 7.2); }
#header #hamburger.active .bar_1,#header #hamburger.active .bar_3 { width: calc(56vw / 7.2); }


#header .header_menu { width: auto; }


#header #drawer.open .drawer-content { transform: translateX(0); }
#header #drawer .drawer-content nav { width:100%; }

#header #drawer .drawer-content ul .page a .circle { width: calc(30vw / 5); height: calc(30vw / 5); }

#header #drawer .drawer-content .reception { margin-block-start:1em; }
#header #drawer .drawer-content .reception .tel_box { margin-block-start: 0.5em; }

#header #drawer .drawer-content .contact_address dd .btn_tel { width: 48%; height: calc(60vw / 5); }

#header #drawer .drawer-content .group_logo { position: absolute; top: 1.6em; width: calc(350vw / 6); max-width: 350px; }

#header #drawer .drawer-content ul .page .section { margin-block-start: 0.75em; }
#header #drawer .drawer-content ul .page .section li { padding: 0.75em 0 0.25em 1.5em; }
#header #drawer .drawer-content ul .page .section li::before { top: 1.6em; }


.ct_box { width: 94%; margin: 6em auto 2em auto; }
.ct_box .tip::after { inset: auto 0 calc(-24vw / 7.2) 0; width: calc(25vw / 7.2); height: calc(25vw / 7.2); }
.ct_box .contact_box { display:block; padding:0 1em 1em 1em; }
.ct_box .contact_box .half { width:100%; padding: 1em 0 0 0; }
.ct_box .contact_box .half:first-of-type::after { inset: auto 0 -1em auto; margin: auto; width: 100%; height: 1px; }
.ct_box .contact_box .half dd { margin:0 auto; text-align: center; }

.ct_box .contact_box .ct_box_illust { bottom: -2em; right: -2em; width: calc(284vw / 10.2); z-index: 2; }


.bottom_recruit { background-image: url(../img/home/entry_bg_sp.webp); background-size: cover; }
.bottom_recruit_link { width: 100%; display: block; }




.bottom_contact .contact_box { display: block;}

.bottom_contact .contact_box .btn_tel { width: calc(600vw / 7.2); height: calc(160vw / 7.2); margin: 0 auto 1.5em auto; }



.events_ct_box .tip::after { inset: auto 0 calc(-24vw / 7.2) 0; width: calc(25vw / 7.2); height: calc(25vw / 7.2); }
.events_ct_box .ebents_ct_box_content { display: block; }
.events_ct_box .text { width: 100%; display: block; }
.events_ct_box .thumb { width: 100%; display: block; padding: calc(10vw / 7.2); }

.events_ct_box .contact_box { width: 100%; display: block; }
.events_ct_box .contact_box .tel_box { display: block; }
.events_ct_box .contact_box .tel_box .half { width:100%; padding: 1em 0 0 0; }
.events_ct_box .contact_box .tel_box .half:first-of-type::after { inset: auto 0 -1em auto; margin: auto; width: 100%; height: 1px; }
.events_ct_box .contact_box .tel_box .half dd { margin:0 auto; text-align: center; }

.events_ct_box .contact_box .ct_box_illust2 { bottom: -2em; left: -2em; width: calc(320vw / 10.2); z-index: 2; }




#footer { padding: 3em 0 3em 0; }

#footer .middle_inner.flex { display:block; }
#footer .footer_info { width: 100%; }
#footer .footer_menu_list { display: block; width: 100%; padding: 2em; font-size: calc(18 * 0.20vw); }


#footer .logo_mark { width: calc(88vw / 10.2); }

#footer .place { display:block; }
#footer .address { display:block; }
#footer .btn_gmap { display:block; width:max-content; }
#footer .banner { width: calc(330vw / 5); margin: 0 auto 0 auto; }

#page_top { bottom: 5vw; right: 4vw; width: calc(60vw / 6); height: calc(60vw / 6); }




.illust1 { width:calc(382vw / 10.2); }
.illust2 { width:calc(160vw / 10.2); }
.illust3 { width:calc(169vw / 10.2); }
.illust4 { width:calc(172vw / 10.2); }
.illust5 { width:calc(136vw / 10.2); }
.illust6 { width:calc(123vw / 10.2); }
.illust7 { width:calc(158vw / 10.2); }
.illust8 { width:calc(135vw / 10.2); }
.illust9 { width:calc(402vw / 10.2); }
.illust10 { width:calc(402vw / 10.2); }
.illust11 { width:calc(277vw / 10.2); }
.illust12 { width:calc(144vw / 10.2); }
.illust13 { width:calc(146vw / 10.2); }
.illust14 { width:calc(86vw / 10.2); }
.illust15 { width:calc(172vw / 10.2); }
.illust16 { width:calc(175vw / 10.2); }
.illust17 { width:calc(167vw / 10.2); }
.illust18 { width:calc(169vw / 10.2); }
.illust19 { width:calc(506vw / 10.2); }
.illust20 { width:calc(506vw / 10.2); }
.illust21 { width:calc(170vw / 10.2); }
.illust22 { width:calc(175vw / 10.2); }
.illust23 { width:calc(255vw / 10.2); }
.illust24 { width:calc(158vw / 10.2); }
.illust25 { width:calc(171vw / 10.2); }
.illust26 { width:calc(153vw / 10.2); }
.illust27 { width:calc(156vw / 10.2); }
.illust28 { width:calc(169vw / 10.2); }



main { padding-top:calc(140vw / 7.8); }


#top_about { padding: 7em 0 7em 0; }

#top_about .text { float: none; width: 94%; margin: 0 auto; }

#top_about .thumb { float: none; width: 100%; border-radius: unset; }


#top_company { height: auto; background-image: url(../img/home/company_bg_sp.webp); background-size: cover; }
#top_company .text { padding: 4em 0 4em 0; float:none; }

#top_company .thumb.right.flex { display:none; }

#top_company .loop-slider { overflow: hidden; }
#top_company .loop-slider .slider_track { display:flex; width:max-content; gap:0; }
#top_company .loop-slider .slide { width: calc(400vw / 7.2); margin: calc(20vw / 10.2); border-radius: 1.5em; }
#top_company .loop-slider .slide .heading { border-radius: 1.5em; }


#top_company .more { margin:3em auto 0 auto; }


#top_business .top_business_header { display: block; }
#top_business .top_business_header .text { width: 100%; margin: 3em auto 0 auto; }

#top_business .top_business_header .top_business_illust { width: calc(449vw / 10.2); }


#top_business .top_business_header .illust2,
#top_recruit .top_recruit_header .illust2 { top: -1em; left: -1em; }



#top_business .content.flex { display:block; }

#top_business .box { width: 100%; margin: 0; padding: 3em; }
#top_business .box:first-of-type { border-right: none; border-bottom: none; }

#top_business .box figcaption .content_ttl::after { width: calc(80vw / 10.2); }

#top_business .box .en { inset: auto 0 -1.5em 0; }




#top_recruit { padding: 2em 0 9em 0; }
#top_recruit .top_recruit_header .top_recruit_illust { width: calc(501vw / 10.2); top: -2em; right: -2em; }


#top_recruit .top_recruit_header { display: block; padding: 4em 0 2em 0; }
#top_recruit .top_recruit_header .text { width: 100%; margin-left: auto; }


#top_recruit .content { display: block; }

#top_recruit .content .box { width: 100%; padding: calc(50vw / 19.2); box-shadow: 7px 7px 0 #e7e7e5; }

#top_recruit .content .box .text { width: calc(380vw / 10.2); }
#top_recruit .content .box .thumb { width: calc(380vw / 7.2); padding: calc(10vw / 7.2); }

#top_recruit .content .box .next { position: absolute; inset: auto auto 1em 1em; }




#top_interview .top_interview_header .ttl .catch::after { inset: auto 0 calc(-24vw / 7.2) 0; width: calc(25vw / 7.2); height: calc(25vw / 7.2); }

#top_interview .top_interview_illust1 { position:absolute; inset:0 auto auto -0.5em; width:calc(179vw / 15.2); }
#top_interview .top_interview_illust2 {position:absolute;inset:calc(-360vw / 9.2) auto auto calc(200vw / 19.2); width: calc(181vw / 15.2);}
#top_interview .top_interview_illust3 { position:absolute; inset:calc(-230vw / 7.5) calc(200vw / 19.2) auto auto; width:calc(182vw / 15.2); }
#top_interview .top_interview_illust4 { position:absolute; inset:calc(120vw / 19.2) -0.5em auto auto; width:calc(219vw / 15.2); }


#top_interview .content { display: block; }

#top_interview .content .box { width: 100%; padding: 1em; box-shadow: 7px 7px 0 #e7e7e5; }



#top_interview .content .text .interview_name span { padding: 0.3em 0.5em 0.3em 0.5em }

#top_interview .content .thumb { width: calc(314vw / 9.2); }



#top_entry { background-image: url(../img/home/entry_bg_sp.webp); background-size: cover; }
#top_entry .top_entry_illust { display:none; }




#top_topics { overflow:hidden; }
#top_topics .roomy_inner.flex { display: block; }

#top_topics .top_topics_header { width:100%; margin-block-end: 2.5em; }
#top_topics .topics_header_illust { width: calc(539vw / 10.2); inset: -2em -2em auto auto; }

#top_topics .topics_list { width: 100%; padding: 1.5em 1.5em 8em 1.5em; }

#top_topics .topics_list .scroll_box .box { display:block; }
#top_topics .topics_list .scroll_box .box dt { display:block; width:100%; }
#top_topics .topics_list .scroll_box .box dd { display:block; width:100%; }


#top_topics .roomy_inner.flex .more { inset: auto 0 2em 0; margin: auto; }



#business { padding: 6em 0 8em 0; background-size: 200%; }


#business .content { display: block; }
#business .content .text { width: 100%; }
#business .content .thumb { width: 100%; padding: calc(10vw / 7.2); }


#chosen .content { padding: 1.5em; box-shadow: 7px 7px 0 #e7e7e5; }

#chosen .content .box .chosen_list { display:block; }
#chosen .content .box .chosen_list .text { width: 100%; }
#chosen .content .box .chosen_list .thumb { width: 100%; padding: calc(10vw / 7.2); }


#greeting .narrow_inner { position: relative; z-index: 1; }

#greeting .greeting_header { display: block; }
#greeting .greeting_header .text { width: 100%; }
#greeting .greeting_header .thumb { width: 100%; padding: calc(10vw / 7.2); }

#greeting .greeting_header .president { width: calc(354vw / 7.2); }

#greeting .greeting_header .thumb .illust12 { width: calc(144vw / 7.2); bottom: -2em; right: -0.5em; }




#philosophy .box .philosophy_illust { bottom: -9em; right: -0.5em; width: calc(299vw / 10.2); }


#philosophy .box .illust13 { top: -8em; left: 0; }

#philosophy .box { box-shadow: 7px 7px 0 #e7e7e5; }

#profile .company_detail { box-shadow: 7px 7px 0 #e7e7e5; padding: 1.5em; }
#profile .company_detail .box dt { width: 8em; }
#profile .company_detail .box dt .fs16vw { font-size: calc(16 * 0.17vw); }


#profile .structure { display: block; }
#profile .structure .text { width: 100%; }
#profile .structure .thumb { width: 100%; height: auto; padding: 1em; }
#profile .structure .thumb .structure_thumb { width: 90%; }

#profile .structure .text .structure_text { display: block; text-align: right; margin: 0 0 1em auto; width: calc(432vw / 7.2); }


#profile .loop-slider .slide { width: calc(760vw / 10.2);p adding: calc(10vw / 10.2); margin: calc(30vw / 10.2); }




#access .content { display: block; }
#access .content .text { width: 100%; }
#access .content .map { width: 100%; padding: calc(10vw / 7.2); }


#history .history_thumb { padding: calc(10vw / 7.2); }
#history .history_thumb .illust15 { bottom: -2em; right: -0.5em; }

#history .content { padding: 1.5em; box-shadow: 7px 7px 0 #e7e7e5; }
#history .content .box { display: block; }
#history .content .box dt { display: block; width:100%; }
#history .content .box dd { display: block; width:100%; }


#work .work_header { background-size: 200%; }

#work .work_header .tip::after { inset: auto 0 calc(-24vw / 7.2) 0; width: calc(25vw / 7.2); height: calc(25vw / 7.2); }

#work .work_header .ttl .illust5,#message .ttl .illust6,#events .ttl .illust8 { left: -3em; }
#numbers .ttl .illust24 { left: -4em; }


#work .loop-slider .slide { width: calc(760vw / 10.2); padding: calc(10vw / 10.2); margin: calc(30vw / 10.2); }


#work .content,#message .content { padding: 1.5em; box-shadow: 7px 7px 0 #e7e7e5; }

#work .content .thumb { padding: calc(10vw / 10.2); }
#work .content .thumb .illust23 { bottom: -2em; right: -0.5em; }

#message .content .thumb { padding: calc(10vw / 10.2); margin-block-end: 6em; }
#message .content .thumb .president { bottom: -5em; right: 0; }

#message .content .box dd { display:block; }
#message .content .box dd .pic { width: calc(130vw / 7.2); margin-block-end: 1em; }
#message .content .box dd .text { width: 100%; }

#message .content .box dd .text::before { inset: calc(-17vw / 7.2) auto auto 1.9em; width: calc(30vw / 7.2); height: calc(30vw / 7.2); transform: rotate(45deg) skew(10deg, 10deg); }



#numbers .numbers_list { display: block; }
#numbers .numbers_list .box { width: 100%; }
#numbers .numbers_list .box .thumb_box { height: calc(360vw / 6); box-shadow: 7px 7px 0 #e7e7e5; }
#numbers .numbers_list .box .thumb_box .thumb { width: 70%; }

#events .content .thumb { padding: calc(10vw / 10.2); }
#events .content .img_box { display: block; width: 100%; }
#events .content .img_box .thumb.half { width: 100%; padding: calc(10vw / 10.2); }





#interview { padding: 4em 0 4em 0; }

#interview .interview_header .tip::after { inset: auto 0 calc(-24vw / 7.2) 0; width: calc(25vw / 7.2); height: calc(25vw / 7.2); }

#interview .interview_illust1 { inset: calc(120vw / 19.2) auto auto 0; width:calc(179vw / 15.2); }
#interview .interview_illust2 { inset: calc(-370vw / 10.2) auto auto calc(200vw / 19.2); width: calc(181vw / 15.2); }
#interview .interview_illust3 { inset: calc(-300vw / 10.2) calc(200vw / 19.2) auto auto; width:calc(182vw / 15.2); }
#interview .interview_illust4 { inset: calc(370vw / 19.2) 0 auto auto; width:calc(219vw / 15.2); }


#interview .link_list { flex-wrap: wrap; padding: 2em 0 0 0; }
#interview .link_list .btn { width: 48%; height: calc(90vw / 6.5); margin-block-end: 1.5em; }

#interview .content { box-shadow: 7px 7px 0 #e7e7e5; }

#interview .interview_mv { display: block; }
#interview .interview_mv .text { width: 100%; }
#interview .interview_mv .thumb { width: 100%; padding: calc(10vw / 7.2); }
#interview .interview_mv .thumb .illust25,
#interview .interview_mv .thumb .illust26,
#interview .interview_mv .thumb .illust27,
#interview .interview_mv .thumb .illust28 { bottom: -2em; right: -1em; }

#interview .content .box dd { display:block; }
#interview .content .box dd .pic { width: calc(130vw / 7.2); margin-block-end: 1em; }
#interview .content .box dd .text { width: 100%; }

#interview .content .box dd .text::before { inset: calc(-16.5vw / 7.2) auto auto 1.9em; width: calc(30vw / 7.2); height: calc(30vw / 7.2); transform: rotate(45deg) skew(10deg, 10deg); }



#interview .schedule_content { display: block; }
#interview .schedule_content .text { width: 100%; }
#interview .schedule_content .thumb { width: 100%; padding: calc(10vw / 7.2); }

#interview .schedule .schedule_list { display:block; }
#interview .schedule .schedule_list dt { display:block; width:100%; border-right: none; }
#interview .schedule .schedule_list dd { display:block; }


#topics { padding: 5em 0 5em 0; display: block;  }

#topics .left_colmn { width: 100%; padding:1.5em; }
#topics .right_colmn { width: 100%; margin-block-start: 4em; }

.widget-area .widget_block { margin-block-end: 2em; }
.widget-area .wp-block-heading { font-size:calc(22 * 0.16vw); }
.widget-area .wp-block-heading::after { font-size:calc(33 * 0.13vw); }


.post-navigation .nav-links .meta-nav .circle { width: calc(40vw / 7.2); height: calc(40vw / 7.2); line-height: calc(40vw / 7.2); }

#topics .left_colmn.topics_list span.page-numbers,
#topics .left_colmn.topics_list a.page-numbers { margin: 0 calc(15vw / 7.2) 0 calc(15vw / 7.2); width: calc(60vw / 7.2); height: calc(60vw / 7.2); }

#topics .left_colmn.topics_list .page-numbers.next, #topics .left_colmn.topics_list .page-numbers.prev { width: calc(100vw / 7.2); }









