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

body { font-size:calc(20 * 0.19vw); }

:target { scroll-margin-top: calc(110vw / 7.2); }


.fs12vw { font-size:calc(12 * 0.22vw); }
.fs14vw { font-size:calc(14 * 0.21vw); }
.fs16vw { font-size:calc(16 * 0.21vw); }
.fs17vw { font-size:calc(17 * 0.2vw); }
.fs18vw { font-size:calc(18 * 0.19vw); }
.fs19vw { font-size:calc(19 * 0.19vw); }
.fs20vw { font-size:calc(20 * 0.19vw); }
.fs21vw { font-size:calc(21 * 0.18vw); }
.fs22vw { font-size:calc(22 * 0.18vw); }
.fs23vw { font-size:calc(23 * 0.18vw); }
.fs24vw { font-size:calc(24 * 0.18vw); }
.fs25vw { font-size:calc(25 * 0.18vw); }
.fs26vw { font-size:calc(26 * 0.16vw); }
.fs27vw { font-size:calc(27 * 0.16vw); }
.fs28vw { font-size:calc(28 * 0.14vw); }
.fs29vw { font-size:calc(29 * 0.14vw); }
.fs30vw { font-size:calc(30 * 0.14vw); }
.fs31vw { font-size:calc(31 * 0.14vw); }
.fs32vw { font-size:calc(32 * 0.12vw); }
.fs33vw { font-size:calc(33 * 0.12vw); }
.fs34vw { font-size:calc(34 * 0.12vw); }
.fs35vw { font-size:calc(35 * 0.12vw); }
.fs36vw { font-size:calc(36 * 0.12vw); }
.fs37vw { font-size:calc(37 * 0.12vw); }
.fs38vw { font-size:calc(38 * 0.12vw); }
.fs40vw { font-size:calc(40 * 0.12vw); }
.fs42vw { font-size:calc(42 * 0.12vw); }
.fs44vw { font-size:calc(44 * 0.12vw); }
.fs45vw { font-size:calc(45 * 0.12vw); }
.fs46vw { font-size:calc(46 * 0.12vw); }
.fs48vw { font-size:calc(48 * 0.12vw); }
.fs50vw { font-size:calc(50 * 0.12vw); }
.fs52vw { font-size:calc(52 * 0.12vw); }
.fs54vw { font-size:calc(54 * 0.12vw); }
.fs56vw { font-size:calc(56 * 0.11vw); }
.fs60vw { font-size:calc(60 * 0.11vw); }
.fs64vw { font-size:calc(64 * 0.11vw); }
.fs66vw { font-size:calc(66 * 0.11vw); }
.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.1vw); }
.fs100vw { font-size:calc(100 * 0.1vw); }
.fs120vw { font-size:calc(120 * 0.08vw); }

.pc { display: none; }
.sp { display: unset; }
.sp_left { text-align:left; }


/****** layout ********/
.wide_inner { width: 92%; }
.inner { width: 92%; }
.middle_inner { width: 92%; }
.low_inner { width: 92%; }
.minimum_inner { width: 92%; }

.right_inner { width: 92%; margin: 0 auto 0 auto; }
.left_inner { width: 92%; margin: 0 auto 0 auto; }


.r5 { border-radius:calc(5vw / 7.2); }
.r10 { border-radius:calc(10vw / 7.2); }
.r20 { border-radius:calc(20vw / 7.2); }
.r40 { border-radius:calc(40vw / 7.2); }


.ttl::after { width: calc(300vw / 7.2); margin-top: 0.8em; }
.summary { line-height: 2.1; }

.arrow_box { width:calc(50vw / 7.2); border-radius:calc(5vw / 7.2); }
.arrow_box.small { width:calc(40vw / 7.2); }

.more { width:calc(460vw / 7.2); height:calc(100vw / 7.2); padding-right: calc(24vw / 7.2); border-radius:calc(20vw / 7.2); box-shadow: calc(3vw / 7.2) calc(3vw / 7.2) 0 #1A2C74; }
.more:hover { transform: none; box-shadow: calc(3vw / 7.2) calc(3vw / 7.2) 0 #1A2C74; }
.more .arrow_box { right: calc(34vw / 7.2); }


/****** illust (position_a) ********/
.illust1 { width:calc(240vw / 12.2); }
.illust2 { width:calc(280vw / 10.2); }
.illust3 { width:calc(350vw / 12.2); }
.illust4 { width:calc(270vw / 10.2); }
.illust5 { width:calc(250vw / 10.2); }
.illust6 { width:calc(170vw / 10.2); }
.illust7 { width:calc(287vw / 8.2); }

.bird { width:calc(200vw / 10.2); }



/****** header ********/
#header { height: calc(110vw / 7.2); }
#header .header_bar { box-shadow: 0 2px 4px rgba(26,44,116,0.1); }
#header .wide_inner { width: 100%; padding-left: 4%; }
#header .logo .mark { width:calc(70vw / 7.2); }
#header .logo .name { margin-left: 0.4em; }

#header #hamburger { width: calc(60vw / 7.2); margin-right: 1em; margin-left: auto; align-items: flex-start; }
#header #hamburger .icon { width:calc(48vw / 7.2); height:calc(48vw / 7.2); font-size: calc(56 * 0.12vw); }
#header #hamburger .label { font-size: calc(22 * 0.12vw); }
#header .header_btn,
#header .divider,
#header #google_translate_element { display:none; }


/* drawer */
#header #drawer .drawer-content { height: 100vh; max-height: none; padding: calc(150vw / 7.2) 0 calc(260vw / 7.2) 0; }

#header #drawer .drawer_nav { display:block; }
#header #drawer .drawer_nav .col1,
#header #drawer .drawer_nav .col2,
#header #drawer .drawer_nav .col3 { width:100%; }

#header #drawer .page_link .arrow_box { width:calc(46vw / 7.2); margin-right: calc(20vw / 7.2); }
#header #drawer .page_link .ja::after { height:calc(10vw / 7.2); }
#header #drawer .page_block { margin-block-end: 1.8em; }
#header #drawer .page_block .sub_list { column-gap: calc(60vw / 7.2); padding-left: calc(66vw / 7.2); }
#header #drawer .page_block .sub_list li a .arrow_box { width:calc(30vw / 7.2); margin-right: calc(16vw / 7.2); }

#header #drawer .drawer_btn { height:calc(110vw / 7.2); border-radius:calc(20vw / 7.2); }

#header #drawer .drawer_wave { width:100%; }
#header #drawer .illust7 { inset: auto 4% calc(40vw / 7.2) auto; }



/****** bottom_contact ********/
.bottom_contact { padding: 5em 0 3em 0; }
.bottom_contact .bottom_contact_wrapper { padding: 6.5em 1.25em 1.5em 1.25em; border-radius:calc(40vw / 7.2); }
.bottom_contact .summary { text-align: left; }

.bottom_contact .link_box { display:block; margin-block-start: 1.5em; }
.bottom_contact .link_box a { width:100%; height:calc(120vw / 7.2); border-radius:calc(20vw / 7.2); margin-block-end: 1em; }

.bottom_contact .bottom_contact_blob { inset: calc(-80vw / 7.2) auto auto calc(-30vw / 7.2); width:calc(330vw / 7.2); }
.bottom_contact .bottom_contact_photo { inset: calc(-70vw / 7.2) auto auto calc(-30vw / 7.2); width:calc(340vw / 7.2); }
.bottom_contact .illust5 { inset: calc(-40vw / 7.2) calc(20vw / 7.2) auto auto; }
.bottom_contact .illust6 { display:none; }



/****** footer ********/
#footer { padding: 3em 0 0 0; }
#footer .inner { display:block; }
#footer .site_info { width:100%; }
#footer .site_info .logo .mark { width:calc(80vw / 7.2); }
#footer .site_info .map_btn { width:calc(130vw / 7.2); height:calc(46vw / 7.2); }

#footer .site_menu { width:100%; margin-block-start: 2em; grid-template-columns: repeat(2, 1fr); gap: 1.8em 0.8em; /* box同士の間隔はgapで調整 */ }
#footer .site_menu .page_block { column-gap: 1.2em; /* 業務内容など2列リストの間隔 */ }
#footer .site_menu .page_name { white-space: normal; }
#footer .site_menu .page_block li i { margin-right: calc(10vw / 7.2); }

#footer .copy { padding: 2.5em 0 1.5em 0; }

#ptop { width:calc(60vw / 7.2); inset:auto calc(30vw / 7.2) calc(40vw / 7.2) auto; padding-bottom: calc(16vw / 7.2); }



/**** home *******************/

main { margin-block-start: calc(110vw / 7.2); }


/* fv */
#fv { aspect-ratio: 720 / 960; }
#fv .fv_wave { inset: auto 0 calc(-30vw / 7.2) 0; }

#fv .fv_content { inset: calc(70vw / 7.2) auto auto 4%; }
#fv .fv_catch { font-size: calc(70 * 0.085vw); }
#fv .fv_catch .fs46vw { font-size: calc(46 * 0.085vw); }
#fv .fv_sub { font-size: calc(44 * 0.1vw); }
#fv .fv_content .glow::before { inset: 0 calc(-20vw / 7.2); filter: blur(calc(20vw / 7.2)); }
#fv .fv_catch_line { width:calc(208vw / 7.2); margin: 0.6em 0 0.4em 0; }
#fv .fv_label { width:calc(390vw / 7.2); border-radius:calc(10vw / 7.2); }

#fv .fv_recruit { inset: auto 4% calc(110vw / 7.2) auto; width:calc(470vw / 7.2); height:auto; padding: calc(15vw / 7.2); border-radius:calc(20vw / 7.2); }
#fv .fv_recruit .thumb { width:calc(170vw / 7.2); border-radius:calc(16vw / 7.2); }
#fv .fv_recruit .text { padding: 0.3em 0 0 1em; }
#fv .fv_recruit .fv_recruit_line,
#fv .fv_recruit .fv_recruit_swoosh { display:none; }
#fv .fv_recruit .bird { width:calc(83vw / 7.2); inset: calc(14vw / 7.2) calc(14vw / 7.2) auto auto; }
#fv .fv_recruit .ja { font-size: calc(33 * 0.1vw); }
#fv .fv_recruit .summary { font-size: calc(19 * 0.15vw); line-height: 1.7; }


/* top_about */
#top_about { padding: 5em 0 3em 0; background-size: 200% auto; }
#top_about .illust1 { inset: calc(40vw / 7.2) auto auto 2%; }
#top_about .ttl { margin-block-end: 1.5em; }

#top_about .about_wrapper { display:flex; flex-direction: column; }
#top_about .text { display: contents; }
#top_about .catch { order: 1; white-space: normal; font-size: calc(44 * 0.1vw); }
#top_about .wave_line { order: 2; width:100%; margin: 1em 0; }
#top_about .summary { order: 3; width:100%; }
#top_about .thumb_list { order: 4; width:100%; margin-block-start: 2em; }
#top_about .link_list { order: 5; width:100%; margin-block-start: 2em; }

#top_about .thumb1 { width:100%; border-radius: calc(40vw / 7.2); margin: 0; }
#top_about .thumb2 { width:70%; border-radius: calc(40vw / 7.2); margin: -3em 0 0 auto; position: relative; }

#top_about .link_list .box { width:100%; height:auto; padding: 1em; border-radius:calc(20vw / 7.2); box-shadow: calc(4vw / 7.2) calc(4vw / 7.2) 0 #1A2C74; margin-block-end: 1.2em; }
#top_about .link_list .box .box_text { width: 58%; padding-block-start: 0.2em; }
#top_about .link_list .box .summary { width:100%; line-height: 1.8; }
#top_about .link_list .box .thumb { width:38%; align-self: center; border-radius:calc(16vw / 7.2); }
#top_about .link_list .box:hover { transform: none; box-shadow: calc(4vw / 7.2) calc(4vw / 7.2) 0 #1A2C74; }


/* top_works */
#top_works { padding-block-start: calc(30vw / 7.2); }
#top_works .works_bg { padding: 11em 0 4em 0; border-radius: 0 0 calc(60vw / 7.2) calc(60vw / 7.2); background-size: 200% auto, auto; }

#top_works .top_works_photo { inset: calc(60vw / 7.2) auto auto calc(-20vw / 7.2); width:calc(300vw / 7.2); }
#top_works .top_works_line { display:none; }
#top_works .illust2 { inset: calc(70vw / 7.2) 3% auto auto; }

#top_works .summary { text-align:left; }

#top_works .works_list { grid-template-columns: 1fr; gap: 1.5em; margin-block-start: 2em; }
#top_works .works_list .box { padding: 1.2em 1.2em 1.4em 1.2em; border-radius:calc(30vw / 7.2); }
#top_works .works_list .box .num { width:calc(80vw / 7.2); border-radius:calc(10vw / 7.2); margin-right: 0.6em; }
#top_works .works_list .box .thumb { border-radius:calc(20vw / 7.2); }
#top_works .works_list .box .summary { width: calc(100% - 3em); }
#top_works .works_list .box .arrow_box { inset: auto 1.2em 1.4em auto; }

#top_works .more { margin-block-start: 2.5em; }


/* top_recruit */
#top_recruit { padding: 9em 0 4em 0; background-size: 200% auto; }
#top_recruit .illust3 { inset: calc(40vw / 7.2) auto auto 2%; }
#top_recruit .illust4 { inset: calc(40vw / 7.2) 3% auto auto; }
#top_recruit .top_recruit_line { display:none; }
#top_recruit .ttl { margin-block-end: 1.5em; }

#top_recruit .recruit_wrapper { display:flex; flex-direction: column-reverse; }
#top_recruit .text { width:92%; padding: 0; margin: 0 auto; }
#top_recruit .catch { white-space: normal; font-size: calc(44 * 0.1vw); }
#top_recruit .wave_line { width:100%; margin: 1em 0; }
#top_recruit .more { margin: 2em auto 0 auto; }

#top_recruit .thumb_list { width:100%; margin-block-start: 2.5em; }
#top_recruit .thumb_list .thumb1 { width:65%; border-radius: 0 calc(50vw / 7.2) calc(50vw / 7.2) 0; }
#top_recruit .thumb_list .thumb2 { inset: calc(60vw / 7.2) 4% auto auto; width:40%; border-radius: calc(40vw / 7.2); }

#top_recruit .link_list { grid-template-columns: 1fr; gap: 1.2em; margin-block-start: 3em; }
#top_recruit .link_list .box { height:auto; min-height: calc(260vw / 7.2); border-radius:calc(30vw / 7.2); }
#top_recruit .link_list .box .thumb { width:38%; height:auto; gap: calc(6vw / 7.2); }
#top_recruit .link_list .box .box_text { padding: 1em 1em 3.5em 1.2em; }
#top_recruit .link_list .box .summary { width:100%; line-height: 1.8; }
#top_recruit .link_list .box .arrow_box { inset: auto 1em 1em auto; }


/* top_gallery */
#top_gallery { padding: 4em 0 4em 0; background-size: 100% 100%; }
#top_gallery .gallery_wrapper { display:flex; flex-direction: column; }
#top_gallery .text { display: contents; }
#top_gallery .text .bird { inset: calc(90vw / 7.2) 6% auto auto; }
#top_gallery .ttl { order: 1; }
#top_gallery .summary { order: 2; }
#top_gallery .thumb_list { order: 3; }
#top_gallery .more { order: 4; margin: 2em auto 0 auto; width:calc(460vw / 7.2); }

#top_gallery .thumb_list { width:100%; grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: calc(12vw / 7.2); margin-block-start: 1.5em; }
#top_gallery .thumb_list .thumb { aspect-ratio: 4 / 3; border-radius:calc(20vw / 7.2); }
#top_gallery .thumb_list .thumb3 { grid-column: 2; grid-row: 1 / 3; aspect-ratio: auto; }
#top_gallery .thumb_list .thumb4 { grid-column: 1 / 3; grid-row: 3; aspect-ratio: 16 / 9; }



/****** page_header (下層共通) ********/
.page_header { height: auto; padding-block-end: calc(80vw / 7.2); }
.page_header { background-size: 200% auto, auto; background-position: right top, 0 0; }
.page_header::before { inset: auto 0 calc(-30vw / 7.2) 0; }
.page_header .inner { padding-block-start: 2.5em; }
.page_header_ttl .slug { border-radius:calc(10vw / 7.2); }

.page_header_thumb { position: relative; inset: auto; width: 92%; margin: 2em auto 0 auto; gap: calc(16vw / 7.2); }
.page_header_thumb img { height: calc(300vw / 7.2); border-radius: calc(40vw / 7.2); }
.page_header_thumb .thumb1 { width: 35%; }
.page_header_thumb .thumb2 { width: 65%; }



/**** business *******************/
#business { padding: 8em 0 4em 0; background-size: 200% auto, 200% auto, auto; }
#business .illust8 { inset: calc(50vw / 7.2) auto auto 2%; width: calc(290vw / 12.2); }
#business .illust9 { inset: calc(84vw / 12.2) 2% auto auto; width: calc(270vw / 12.2); }
#business .lead { text-align:left; }

#business .box { margin-block-start: 2.5em; padding: 1.2em 1.2em 1.4em 1.2em; border-radius:calc(30vw / 7.2); }
#business .box_head { flex-wrap: wrap; }
#business .box_head .num { width:calc(80vw / 7.2); border-radius:calc(10vw / 7.2); margin-right: 0.6em; }
#business .box_head .box_ttl { width:auto; }
#business .box_head .summary { width:100%; margin-block-start: 0.8em; line-height: 1.9; }

#business .thumb_list { margin-block-start: 1.2em; }
#business .thumb_list.col2,
#business .thumb_list.col3 { grid-template-columns: 1fr; gap: calc(20vw / 7.2); }
#business .thumb_list > img { height:calc(380vw / 7.2); border-radius:calc(30vw / 7.2); }

#business .illust10 { inset: calc(-50vw / 7.2) 2% auto auto; width: calc(205vw / 10.2); }
#business .illust11 { inset: calc(-50vw / 7.2) 2% auto auto; width: calc(230vw / 10.2); }
#business .illust12 { inset: calc(-40vw / 7.2) 2% auto auto; width: calc(200vw / 10.2); }

#business .support_box { height:auto; padding: 1.2em 1em 1.2em 1em; border-radius:calc(30vw / 7.2); }
#business .support_box .illust13 { position: relative; inset: auto; display:block; margin: 0 0 0.5em auto; width: calc(220vw / 12.2); }
#business .support_box .support_text { width:100%; }
#business .support_box .support_text br { display:none; }
#business .support_box .support_list { flex-wrap: wrap; gap: calc(16vw / 7.2); }
#business .support_box .support_list li { width: calc(50% - calc(8vw / 7.2)); height:auto; padding: 0.5em 0 0.8em 0; border-radius:calc(20vw / 7.2); }
#business .support_box .support_list .label i { margin-right: 0.4em; }




/**** about *******************/
#greeting { padding: 4em 0 3em 0; background-size: 200% auto; }
#greeting .illust14 { inset: calc(39vw / 6) 2% auto auto; width: calc(300vw / 13.2); }
#greeting .ttl { margin-block-end: 2em; }

#greeting .greeting_box { flex-direction: column; }
#greeting .box2 { flex-direction: column-reverse; }
#greeting .greeting_box .thumb { width:92%; }
#greeting .box2 .thumb { margin-left:auto; }
#greeting .greeting_box .text,
#greeting .box1 .text,
#greeting .box2 .text,
#greeting .box3 .text { width:92%; margin: 1.5em auto 0 auto; }
#greeting .box2,
#greeting .box3 { margin-block-start: 3.5em; }

#greeting .box1 .thumb img,
#greeting .box3 .thumb img { border-radius: 0 calc(50vw / 7.2) calc(50vw / 7.2) 0; }
#greeting .box2 .thumb img { border-radius: calc(50vw / 7.2) 0 0 calc(50vw / 7.2); }

#greeting .greeting_box .catch { inset: auto auto calc(-30vw / 7.2) 0; font-size: calc(42 * 0.085vw); }
#greeting .greeting_box .catch > span { height:calc(66vw / 7.2); padding: calc(16vw / 7.2) calc(20vw / 7.2) 0 calc(20vw / 7.2); margin-block-end: calc(10vw / 7.2); border-radius: 0 calc(16vw / 7.2) calc(16vw / 7.2) 0; }
#greeting .box1 .text { margin-top: 3em; }

#greeting .box_ttl { line-height: 1.6; }
#greeting .wave_line { width:100%; margin: 1em 0 1.2em 0; }
#greeting .summary { line-height: 2.1; }

#greeting .greeting_photo { margin-block-start: 3em; gap: calc(16vw / 7.2); }
#greeting .greeting_photo img { width:50%; }
#greeting .greeting_photo .thumb4 { border-radius: 0 calc(40vw / 7.2) calc(40vw / 7.2) 0; }
#greeting .greeting_photo .thumb5 { border-radius: calc(40vw / 7.2) 0 0 calc(40vw / 7.2); }

#company { padding: 5em 0 4em 0; background-size: 200% auto, 200% auto, auto; }
#company .illust15 { inset: calc(40vw / 7.2) auto auto 2%; }
#company .illust16 { inset: calc(-10vw / 7.2) 2% auto auto; }
#company .ttl { margin-block-end: 2em; }

#company .company_wrapper { display:block; width:92%; padding: 0; }
#company .company_table .row { align-items:flex-start; margin: 0 0 1em 0; }
#company .company_table dt { flex-shrink: 0; width:calc(150vw / 7.2); height:calc(60vw / 7.2); line-height:calc(60vw / 7.2); border-radius:calc(10vw / 7.2); }
#company .company_table dd { margin: 0 0 0 1em; padding-top: 0.3em; }
#company .company_thumb { width:100%; border-radius:calc(40vw / 7.2); margin-block-start: 1.5em; }

#company .map_list { grid-template-columns: 1fr; gap: 1.2em; width:92%; margin-block-start: 2.5em; }
#company .map_box { padding: 1em 0.8em 0.8em 0.8em; border-radius:calc(10vw / 7.2); }
#company .map_box .map_ttl { margin-block-end: 0.7em; }
#company .map_box .map_ttl i { margin-right: 0.4em; }
#company .map_box iframe { height:calc(420vw / 7.2); border-radius:calc(10vw / 7.2); }
#company .company_photo { width:80%; margin: 1em auto 0 auto; display:block; }




/**** recruit *******************/
#message { padding: 4em 0 3em 0; background-size: 200% auto; }
#message .message_head { display:block; padding-left: 0; }
#message .message_head .ttl { width:auto; margin-block-end: 1.2em; }
#message .message_head .catch { white-space: normal; font-size: calc(44 * 0.1vw); }

#message .message_wrapper { display:flex; flex-direction: column-reverse; margin-block-start: 2em; }
#message .message_wrapper .text { width:100%; margin-block-start: 2em; }
#message .message_wrapper .box_ttl { padding-left: calc(36vw / 7.2); }
#message .message_wrapper .box_ttl::before { width:calc(20vw / 7.2); }
#message .message_wrapper .wave_line { width:100%; }
#message .summary { line-height: 2.1; }
#message .message_wrapper .thumb { width:100%; border-radius:calc(40vw / 7.2); }

#message .point_box { height:auto; padding: 1.2em 1em; border-radius:calc(30vw / 7.2); }
#message .point_box .icon { width:calc(100vw / 7.2); }
#message .point_box .icon .shine { width:calc(50vw / 7.2); inset: calc(-26vw / 7.2) auto auto calc(10vw / 7.2); }
#message .point_box .point_text { width:auto; flex: 1; line-height: 1.8; }

#message .message_text { display:block; }
#message .message_text .summary { width:100%; margin-block-start: 1em; }


#attempt { padding: 7em 0 3em 0; background-size: 200% auto, auto; }
#attempt .attempt_photo1 { inset: calc(-60vw / 7.2) auto auto 2%; width:calc(260vw / 7.2); }
#attempt .attempt_photo2_blob { inset: calc(40vw / 7.2) 1% auto auto; width:calc(240vw / 7.2); }
#attempt .attempt_photo2 { inset: calc(34vw / 7.2) 2% auto auto; width:calc(230vw / 7.2); }
#attempt .ttl { margin-block-end: 2em; }

#attempt .box { display:block; height:auto; padding: 1.2em 1.2em 1.5em 1.2em; margin-block-end: 1.5em; border-radius:calc(30vw / 7.2); }
#attempt .box::before { display:none; }
#attempt .box > img { position:static; display:block; margin: 0 auto; }
#attempt .box .illust17,
#attempt .box .illust18,
#attempt .box .illust19 { width: 60%; }
#attempt .box .num_box { position:static; width:auto; display:flex; align-items:baseline; justify-content:center; gap: 0.4em; margin: 0.5em 0 0.6em 0; }
#attempt .box .num_box .num { margin-top: 0; }
#attempt .box .text { position:static; width:100%; }
#attempt .box .box_ttl { display:block; height:auto; line-height: 1.5; padding: 0.35em 0.6em; text-align:center; border-radius:calc(10vw / 7.2); font-size: calc(38 * 0.1vw); }
#attempt .box .summary { line-height: 1.9; margin-block-start: 0.8em; }

#attempt .loop-slider { margin-block-start: 2.5em; }
.recruit_page .loop-slider .slide { width:calc(360vw / 7.2); margin-right: calc(20vw / 7.2); }
.recruit_page .loop-slider .slide img { border-radius:calc(30vw / 7.2); }


#interview { padding: 7em 0 2.5em 0; background-size: 200% auto, auto; }
#interview .illust20 { inset: calc(60vw / 7.2) auto auto 2%; }
#interview .interview_polygon { display:none; }
#interview .illust21 { inset: calc(50vw / 7.2) 2% auto auto; }
#interview > .summary { width:92%; text-align:left; line-height: 2; }
#interview > .summary br { display:none; }

#interview .interview_list { grid-template-columns: repeat(2, 1fr); gap: calc(20vw / 7.2); margin-block-start: 2em; }
#interview .interview_list .box { height:auto; padding-bottom: 1em; border-radius:calc(24vw / 7.2); }
#interview .interview_list .box .box_text { padding: 0.4em 0.6em 0 0.8em; }
#interview .interview_list .box .dept { flex-wrap: wrap; gap: 0.3em; margin-block-start: 0.3em; }
#interview .interview_list .box .dept .label { width:calc(80vw / 7.2); height:calc(40vw / 7.2); line-height:calc(40vw / 7.2); border-radius:calc(8vw / 7.2); margin-right: 0.4em; }
#interview .interview_list .box .arrow_box { width:calc(40vw / 7.2); inset: auto 0.6em 0.8em auto; }
.recruit_page .badge { width:calc(110vw / 7.2); padding: calc(10vw / 7.2) 0 0 calc(18vw / 7.2); }

#interview .loop-slider { margin-block-start: 2.5em; }


#requirements { padding: 9em 0 4em 0; background-size: 100% auto; background-position: center top; }
#requirements .requirements_deco { inset: calc(50vw / 7.2) auto auto 2%; width:calc(300vw / 7.2); }
#requirements .illust22 { inset: calc(70vw / 7.2) auto auto 2%; width:calc(220vw / 7.2); }
#requirements .requirements_balloon { inset: calc(60vw / 7.2) auto auto calc(240vw / 7.2); }
#requirements .illust23 { inset: calc(80vw / 7.2) 2% auto auto; width:calc(220vw / 7.2); }
#requirements .ttl { margin-block-end: 2em; }

#requirements .requirements_table .row { display:block; padding: 1em 0; }
#requirements .requirements_table dt { width:calc(180vw / 7.2); height:calc(56vw / 7.2); line-height:calc(56vw / 7.2); border-radius:calc(10vw / 7.2); }
#requirements .requirements_table dd,
#requirements .requirements_table dd.nowrap_pc { margin: 0.6em 0 0 0; line-height: 1.9; white-space: normal; }
#requirements .dot_list li { padding-left: calc(28vw / 7.2); }
#requirements .dot_list li::before { width:calc(14vw / 7.2); inset: calc(20vw / 7.2) auto auto 0; }


.modal .modal-content { width: 92%; border-radius:calc(30vw / 7.2); }
.modal .modal-close { width:calc(80vw / 7.2); inset: calc(-30vw / 7.2) calc(-16vw / 7.2) auto auto; }
.modal #modal-body { max-height: 82vh; padding: 1em 1em 1.5em 1em; }
.staff_detail .staff_detail_thumb { border-radius:calc(30vw / 7.2); }
.staff_detail .badge { width:calc(130vw / 7.2); padding: calc(12vw / 7.2) 0 0 calc(20vw / 7.2); }
.staff_detail .name { margin-block-start: 0.5em; }
.staff_detail .tag_list { display:block; margin-block-start: 0.6em; }
.staff_detail .tag_list .tag { align-items:flex-start; margin-block-end: 0.6em; }
.staff_detail .tag_list dt { min-width:calc(110vw / 7.2); height:calc(50vw / 7.2); line-height:calc(50vw / 7.2); border-radius:calc(10vw / 7.2); }
.staff_detail .tag_list dd { margin-left: 0.6em; padding-top: 0.15em; }
.staff_detail .qa { margin-block-start: 1.5em; }
.staff_detail .qa dt { padding-left: calc(28vw / 7.2); }
.staff_detail .qa dt::before { width:calc(14vw / 7.2); inset: calc(14vw / 7.2) auto auto 0; }
.staff_detail .qa dd { margin: 0.8em 0 1.8em 0; line-height: 1.9; }
.staff_detail .qa dd:last-child { margin-bottom: 0; }
#interview .interview_list .box .box_text { padding-right: 2.6em; }
#interview .interview_list .box .name { font-size: calc(36 * 0.1vw); }
#interview .interview_list .box .name .fs26vw { font-size: calc(26 * 0.1vw); }
#interview .interview_list .box .dept .label { font-size: calc(22 * 0.13vw); }
#interview .interview_list .box .dept .fs24vw { font-size: calc(24 * 0.13vw); }
#interview .interview_list .badge .slug { font-size: calc(26 * 0.1vw); }
#interview .interview_list .badge .num { font-size: calc(44 * 0.1vw); }




/**** gallery *******************/
#gallery { padding: 7em 0 5em 0; background-size: 100% auto, 200% auto; }
#gallery .illust24 { inset: calc(30vw / 7.2) auto auto 2%; width: calc(250vw / 12.2); }
#gallery .illust25 { inset: calc(40vw / 7.2) 2% auto auto; width: calc(232vw / 12.2); }
#gallery .illust26 { inset: auto 30% calc(40vw / 7.2) auto; }
#gallery .illust27 { inset: auto 4% calc(20vw / 7.2) auto; }

#gallery .lead { text-align:left; line-height: 1.9; }
#gallery .lead br { display:none; }
#gallery .lead span { display:block; margin-block-end: 0.5em; }

#gallery .photo_list { grid-template-columns: repeat(2, 1fr); gap: calc(20vw / 7.2); margin-block-start: 2em; }
#gallery .photo_list .thumb { border-radius:calc(24vw / 7.2); }

#modal_gallery_box .modal-content img { max-width: 92vw; max-height: 80vh; border-radius:calc(16vw / 7.2); }
#modal_gallery_box #modal-close { width:calc(80vw / 7.2); inset: calc(-40vw / 7.2) calc(-8vw / 7.2) auto auto; }




/**** contact *******************/
#contact_hero { padding: 3em 0 4em 0; }
#contact_hero .tel_ring { width:calc(160vw / 7.2); inset: auto 2% calc(30vw / 7.2) auto; }
#contact_hero .inner.flex { display:block; }
#contact_hero .text { width:100%; }
#contact_hero .catch { white-space: normal; font-size: calc(42 * 0.1vw); }
#contact_hero .wave_line { width:100%; margin: 1em 0; }
#contact_hero .summary { line-height: 2; }
#contact_hero .tel_box { width:100%; height:auto; margin-top: 2em; padding: 1.5em 1em 1.8em 1em; border-radius:calc(40vw / 7.2); }
#contact_hero .tel_box .ttl .ja { font-size: calc(42 * 0.09vw); }
#contact_hero .tel_box .tel_btn { width:100%; height:calc(120vw / 7.2); margin-top: 1em; border-radius:calc(20vw / 7.2); }

#form_section { padding: 7em 0 3em 0; }
#form_section .form_photo_blob { width:calc(260vw / 7.2); inset: calc(-40vw / 7.2) auto auto 2%; }
#form_section .form_photo { width:calc(250vw / 7.2); inset: calc(-50vw / 7.2) auto auto 0; }
#form_section .illust28 { width:calc(220vw / 7.2); inset: calc(20vw / 7.2) 2% auto auto; }
#form_section .form_deco { width:calc(300vw / 7.2); inset: auto 0 calc(200vw / 7.2) auto; }
#form_section .illust29 { display:none; }
#form_section .form_wave { bottom: calc(-30vw / 7.2); }
#form_section .ttl { margin-block-end: 2em; }
#form_section .ttl .ja { font-size: calc(52 * 0.09vw); }

#form .box { display:block; padding: 1.2em 0; }
#form .box dt { width:100%; margin-bottom: 0.6em; }
#form .box.textarea dt { padding-top: 0; }
#form .box dt .required,
#form .box dt .any,
#form .box.textarea dt .required { position:static; display:inline-grid; margin: 0 0 0 0.6em; vertical-align: middle; width:calc(70vw / 7.2); height:calc(38vw / 7.2); border-radius:calc(6vw / 7.2); }
#form input[type=text],
#form input[type=email],
#form input[type=tel],
#form textarea { height:calc(90vw / 7.2); padding: 0 1em; border-radius:calc(10vw / 7.2); }
#form textarea { height:calc(320vw / 7.2); padding: 0.8em 1em; }
#form .form_btn { margin-block-start: 2em; }

#form_section .lead { text-align:left; margin: 0 0 2em 0; }
#form.confirm .box,
#form.confirm .box:first-of-type { min-height: 0; padding: 1em 0; }
#form.confirm .box dd { padding: 0; }
#form.confirm .form_btn_wrapper { flex-direction: column-reverse; align-items:center; gap: 1.2em; margin-block-start: 2em; }
#form.confirm .back_btn .arrow_box { left: calc(30vw / 7.2); }

.contact_sub #form_section { padding: 9em 0 4em 0; }
.contact_sub #form_section .form_photo_blob { top:1em; }
.contact_sub #form_section .form_photo { top: 1em; }
.contact_sub #form_section .illust28 { top: calc(20vw / 7.2); }
.contact_sub #form_section .form_deco { top: auto; }

#form_section .message_box { width:100%; padding: 2em 1.2em; border-radius:calc(30vw / 7.2); text-align:left; }
#form_section .message_box .message_icon { text-align:center; }
#form_section .message_box .message_ttl { text-align:center; }
#form_section .message_box .summary { line-height: 2; }
.contact_page #footer { padding-top: 4.5em; }
