@charset "utf-8";
/* CSS Document */
body {font-size: 12px;}
.sp {display: block;}
.pc {display: none;}
.left {float: none;}
.right {float: none;}
.sp_left{text-align: start;}
.sp_center {text-align: center;}
.flex {display: block;}
.table {display: block;}
/*header*/
#header {border-top: 6px solid #6715a5;padding-block-end: 0.5em;}
#spnav {right: 0.5em;top: 0.5em;font-size: 2.5em;line-height: 1em;}
#spnav span {font-size: 9px;    line-height: 1em;}
#header nav#menu ul.menu_ul {display: none;position: absolute;z-index: 1;inline-size: 100%;inset: 0.5em 0 auto 0;}
#header nav#menu {inline-size: 100%;position: relative;}
#header nav#menu ul.menu_ul li.list {inline-size: 100%;text-align: left;aspect-ratio: auto;font-size: 1.25em;display: block;padding: 0.75em 0 0.75em 25%;}
#header nav#menu ul.menu_ul li.list::after {content: "";position: absolute;background-color: #FFF;left: 0;top: 0;inline-size: 80%;block-size: 1px;right: 0;bottom: auto;margin-inline: auto;}
#header nav#menu ul.menu_ul li.list img.icon {inset: auto;top: auto;left: auto;display: inline-block;position: absolute;left: 16%;transform: translatey(-50%) translateX(-50%);top: 50%;}
#header .left_side .site_ttl {margin: 0 0 0 auto;inline-size: min(344px,10em);}
#header .left_side {inline-size: fit-content;margin-inline-start: 1em;}
#header .left_side .in_box {padding-block-start: 0.25em;font-size: 0.75em;}
#header .left_side #google_translate_element {margin-inline-end: 0;}
#header nav#menu ul.menu_ul li.list a.wh {inline-size: 87%;padding-inline-start: 0.5em;}
#header nav#menu ul.menu_ul li.list a.wh:hover img {filter: none;}
#top_img {aspect-ratio: 1920 / 814;overflow: hidden;}
#top_img img.heading {inline-size: 110%;}
#top_img::after {content: "";block-size: 3em;inset: auto 0 -1.5em 0;}
#top_img h2.lato {left: 0.5em;top: 16%;text-shadow: 0px 0px 2px #a0a0a0;}
#top_img h2.lato span.noto {font-size: 0.53em;font-weight: bold;font-weight: 900;text-shadow: 0px 0px 2px #a0a0a0;}
#top_img h2.lato span.noto::after {inline-size: 2.5em;inset: 50% -3em auto auto;}
.sub_ttl {font-size: 1.5em;}
#top_info .flex .flex_item .sub_ttl span.small {  font-size: 0.667em;}
#top_info .flex .flex_item {inline-size: 94%;aspect-ratio: auto;padding-block-end: 5em;margin: 0 auto 3em auto;}
#top_info .news_dl {border-top: 1px solid #a5a5a5;margin: 0;padding: 0.5em 0;line-height: 1.5em;}
#top_info a.more {margin: 0 auto;right: 0;}
#top_category .flex_item {inline-size: 100%;}
#top_category .flex_item .cat_ttl {font-size: 1.5em;}
#top_category .flex_item .cat_ttl span.small {font-size: 0.667em;}
#top_category .flex_item p.text {font-size: 1em;}
#top_category .flex_item .img_link p.pa {font-size: 0.75em;}
#top_category h2.sub_ttl::before {inline-size: 2rem;inset: 2rem 0 auto 0;}
#top_calendar {margin-block: 1em 4em;}
#top_calendar a.bk {font-size: 1.35em;}
#top_recruit {background-image: url(./images/top_recruit_bg_sp.jpg);padding: 2.5em 0 3em 0;}
#top_recruit h2.sub_ttl::after {inset: 0px 0 auto 0;inline-size: 2rem;}
#top_recruit .text_box {inline-size: 100%;}
#top_recruit .middle_inner2 .img_box {background-size: 100%;aspect-ratio: 64 / 36;inline-size: 100%;}
#top_recruit .text_box {padding-block-start: 1em;padding-block-end: 1em;}
#top_recruit .text_box .cat_ttl {font-size: 1.5em;}
#top_recruit .text_box .cat_ttl span.small {font-size: 0.667em;}
#top_recruit .text_box p.text {font-size: 1em;margin-block-end: 0.5em;}
#top_recruit .text_box p.pp6_bg {margin-inline-start: auto;margin-inline-end: 3%;font-size: 0.75em;}
#footer {padding: 53.5em 0 0.5em 0;}
#footer .footer_inner {inset: -5.5em 0 auto 0;padding: 2em 2% 1.5em 2%;block-size: 58em;}
#footer nav.footer_menu ul.center li.list {font-size: 1em;display: block;inline-size: 84%;text-align: left;margin: 0.5em auto 0 auto;}
#footer nav.footer_menu ul.center {margin-block-end: 0.5em;}
#footer .right_side {inline-size: 100%;padding-inline-start: 0em;}
#footer .right_side h4.center {font-size: 1.5em;}
#footer .right_side h4.center span.small {font-size: 0.667em;}
#footer .right_side .flex {inline-size: min(300px,90%);padding-inline-start: 0em;}
#footer .right_side .flex a.link {inline-size: 100%;padding: 0.5em 0;display: block;margin-block-end: 1em;}
#footer .left_side {inline-size: 100%;border-right: none;}
#footer .left_side .top .footer_ttl {inline-size: min(344px,20em);margin: 2em auto 2em auto;display: block;}
#footer .left_side .top .detail {inline-size: fit-content;font-size: 1em;padding-block-start: 0.5em;margin-inline: auto;display: block;}
#footer .left_side .footer_link a.pp4 {text-align: center;}
#footer .right_side .flex a.link.mail {padding-block-start: 0.68em;padding-block-end: 0.67em;}
/*page*/
#page_top .flex_item .page_ttl span.small {font-size: 0.75em;line-height: 2em;}
.bread .bread_ul {margin: 1em auto 0 0;}
.btn_section {margin: 5em 0 2em 0;}
.btn_section .middle_inner .page_btn a.pr {inline-size: min(280px,75%);margin: 0 auto 1em auto;display: block;}
.sub_ttl2 {}
.sub_ttl2 span.small {font-size: 0.5em;line-height: 3em;}
.sub_ttl2::after {inline-size: min(74px,15vw);inset: -0.75em 0 auto 0;margin-inline: auto;}
/*about*/
.btn_section .middle_inner .in_inner h3.center {font-size: 1.50em;margin-block-start: 1.35em;}
.btn_section .middle_inner .in_inner .flex .flex_item {inline-size: min(280px,75%);margin: 0 auto 0.75em auto;display: block;}
#greetng::after {inline-size: 300%;inset: 0 auto auto -100%;}
#greetng .text_side.size1 {inline-size: 100%;}
#greetng .sub_ttl2 {text-align: center;}
#greetng strong.ymc {font-size: 1.5em;margin-block-start: 0.5em;}
#greetng .img_side.size1 {inline-size: min(480px,80%);}
#greetng .img_side.size1.right {margin-inline: auto;padding-block-start: 1.5em;}
#greetng .text_side.size1.right {padding-block-start: 1em;}
#greetng .img_side.size1.left {padding-block-start: 1.5em;margin-inline: auto;}
#greetng .text_side.size2 {inline-size: 100%;padding-block-start: 1em;}
#greetng .img_side.size2 {inline-size: min(580px,90%);padding-block-start: 1.5em;margin-inline: auto;}
#greetng .img_side img.l_img {inset: 0em auto auto auto;position: relative;}
#greetng .text_side .name img.name_img {inline-size: min(140px,65%);margin: 0.5em auto auto auto;}
#greetng .text_side .name {inline-size: 100%;margin-block-start: 1.75em;text-align: center;}
#greetng .middle_inner {padding-block-end: 3em;}
#position p.p_1 br.tb {display: block;}
#position p.p_1 {margin-block-start: 1em;margin-block-end: 1.25em;font-size: 1.075em;}
#process .flex_item h4.sub_ttl3::after {inline-size: min(41px,5vw);inset: 50% -1.5em auto auto;}
#position .large_inner::after {border: 6px solid #f4e1f5;inline-size: min(560px,50%);inset: auto 0 4.5% 0;}
#position .correlation_diagram .in_ttl {margin-block-start: 0.75em;}
#position .correlation_diagram .flex {display: flex;}
#position .correlation_diagram .flex .flex_item {inline-size: min(480px,29%);}
#position .correlation_diagram .flex .flex_item.left_item .heading {border: 2px solid #6439e1;}
#position .correlation_diagram .flex .flex_item.left_item .left {border: 2px solid #6439e1;inline-size: 44%;}
#position .correlation_diagram .flex .flex_item.left_item .right {border: 2px solid #6439e1;inline-size: 44%;}
#position .correlation_diagram .flex .flex_item.center_item .heading {border: 2px solid #b634ba;}
#position .correlation_diagram .flex .flex_item.center_item .heading.pp4_bg {border: 2px solid #5c26ff;margin-block-end: 1.125em;padding: 1em 0;}
#position .correlation_diagram .flex .flex_item.right_item .left {border: 2px solid #b634ba;inline-size: 44%;}
#position .correlation_diagram .flex .flex_item.right_item .right {border: 2px solid #b634ba;inline-size: 44%;}
#position .arrow1 {inline-size: min(104px,14%);}
#position .arrow3 {inline-size: min(104px,35%);}
#position .arrow5 {inline-size: min(104px,14%);}
#position .arrow6 {inline-size: min(104px,14%);}
#position .m_tail {inline-size: min(63px,22%);}
#position .s_tail {inline-size: min(48px,8%);}
#position .large_inner {padding-block-end: 3em;}
#process .flex_item {inline-size: min(555px,100%);margin: 0 auto 5.5em auto;}
#process .flex_item figure.heading img.tri1 {inset: auto 0 -4.5em 0;transform: rotate(90deg);inline-size: min(26px,1.75em);margin-inline: auto;display: block;}
#process .flex_item figure.heading img.tri1.pc {display: none;}
#process .flex_item figure.heading {margin-inline: auto;inline-size: min(480px,100%);}
#process .flex_item figure.heading .p_1 {block-size: auto;}
#company dl.table {margin: 0 auto 1em auto;}
#company dl.table .company_dt {inline-size: 100%;display: block;}
#company dl.table .company_dd {padding: 0.875em 0 0.875em 0;inline-size: 100%;display: block;margin-inline-start: 0;}
#company .flex .flex_item {padding: 1em 0 0 0;inline-size: min(600px,100%);margin-inline: auto;}
#company .flex .flex_item p.text {block-size: auto;}
#company .flex .flex_item h4.map_ttl::after {inline-size: 30px;inset: 50% -2.5em auto auto;}
#company .swiper-button-prev {inset: 50% auto auto -0.05em;font-size: 6em;}
#company .swiper-button-next {inset: 50% -0.05em auto auto;font-size: 6em;}
#company .swiper-container {margin-block-end: 5em;}
#history dl.table {margin: 0 auto 1em auto;}
#history dl.table .history_dt {inline-size: 100%;display: block;}
#history dl.table .history_dd {padding: 0.875em 0 0.875em 0;inline-size: 100%;display: block;margin-inline-start: 0;}
#history dl.table .history_dd br {display: none;}
#history dl.table:nth-of-type(3) .history_dd br {display: block;}
#history .monochrome {margin: 3em 0 2em 0;}
#organization {padding: 3em 0 2em 0;}
#organization .chart {inline-size: min(350px, 100%);margin-inline: auto;font-size: 1.25em;}
#organization .in_flex p.center {inline-size: 9em;block-size: 36px;}
#organization .one_line .chart_left::after {inset: 29% auto auto 2em;inline-size: 2em;}
#organization .one_line .chart_left p.center:nth-of-type(2) {margin: -1em auto 0.5em 4em;}
#organization .one_line .chart_left p.center::after,
#organization .one_line .chart_left p.center:nth-of-type(3)::before {left: calc(2em - 2px);}
#organization .one_line .chart_left p.center:nth-of-type(3)::before {block-size: 3em;}
#organization .two_line .chart_left::before,
#organization .three_line .chart_left::before {inset: 0 auto auto 2em;}
#organization .two_line .chart_left p.center,#organization .three_line .chart_left p.center {
/*    writing-mode: vertical-rl;*/
    block-size: auto;inline-size: 2em;padding: 1em 0;inset: 50% auto auto 4em;}
#organization .two_line .chart_left::after {inset: 50% auto auto 2em;inline-size: 2em;}
#organization .three_line .chart_left::after {inset: 50% auto auto 2em;inline-size: 2em;}
#organization .two_line .chart_right p.center,#organization .three_line .chart_right p.center {margin: 0 0 0.75em auto;}
#organization .two_line .chart_right p.center::after,
#organization .three_line .chart_right p.center::after {inline-size: 1.5em;}
#organization .two_line .chart_right .left_border,
#organization .three_line .chart_right .left_border {padding-inline-start: 1.5em;}
#organization .two_line .chart_right .left_border::after,#organization .three_line .chart_right .left_border::after {inset: 18px auto auto 0;block-size: calc(100% - calc(34px + 0.75em));}
#organization .two_line .chart_right .left_border::before,
#organization .three_line .chart_right .left_border::before {inline-size: 3.7em;}
#organization .after_text {inset: 9.5% 0 auto 0;border: 7px solid #e7dfff;}
#organization .three_line .chart_right {padding-block-start: 1em;padding-block-end: 1em;}

#organization .two_line_2 .chart_left_2 p.center,#organization .three_line_2 .chart_left_2 p.center {inline-size: 6em;box-sizing: border-box;padding-block-start: 0.125em;}
#organization .two_line_2 .chart_left_2 p.center {inset: 50% 1.65em auto auto;}
#organization .three_line_2 .chart_left_2 p.center {inset: -2.75em 1.65em 0 auto;}
#organization .two_line_2 .chart_left_2 p.center::before {block-size: 1.75em;}
#organization .two_line_2 .chart_center p.center,#organization .two_line_2 .chart_right_2 p.center,#organization .three_line_2 .chart_center p.center,#organization .three_line_2 .chart_right_2 p.center {inline-size: 7em;}
#organization .two_line_2 .chart_left_2::after {inset: 0 auto auto 2em;block-size: 100%;}
#organization .two_line_2 .chart_left_2::before {inset: 100% auto auto 2em;block-size: 6em;}
#organization .three_line_2 .chart_left_2::after {nset: 3.75em -4px auto auto;inline-size: 1.875em;}
#organization .three_line_2 .chart_left_2 p.center::before {inset: -20px auto auto 2em;block-size: 18px;}
#organization .two_line_2 .chart_center::before {inline-size: calc(100% - 6em);}
#organization .two_line_2 .chart_center::after {block-size: calc(100% - 65px);}
#organization .two_line_2 .chart_center p.center::after,#organization .three_line_2 .chart_center p.center::after,#organization .three_line_2 .chart_right_2 p.center::after,#organization .two_line_2 .chart_right_2 p.center::after {inline-size: 0.45em;inset: 50% auto auto -7px;}
#organization .three_line_2 .chart_left_2 p.center::after {block-size: 1.75em;inline-size: 2px;inset: 50% auto auto -1.75em;}
#organization .two_line_2 .chart_center p.center.top::before,#organization .three_line_2 .chart_center p.center.top::before {inline-size: 0.75em;}
#organization .two_line_2 .chart_right_2 .left_border::before,#organization .three_line_2 .chart_center .left_border::before,#organization .three_line_2 .chart_right_2 .left_border::before,#organization .two_line_2 .chart_center .left_border::before {block-size: calc(100% - 34.5px);transform: translateY(-50%);}

#privacy {margin-block: 6.5em 3.5em;}
#privacy .privacy_li {margin-block-end: 1.5em;}
#map {margin-block: 6.5em 3em;}
#map .middle_inner .address,#map .middle_inner p.p_1 {font-size: 1.075em;}
#access .middle_inner .flex .flex_item {inline-size: 100%;margin-block-end: 3em;}
#access {margin-block: 5.75em 4em;}
#recruit_top .text_box {font-size: 0.45em;}
.btn_section.recruit_btn .middle_inner .page_btn a.pr {inline-size: min(282px,75%);}
.recruit_btn .scroll_flex {inline-size: min(855px,70%);margin-block-start: 4.65em;}
.recruit_btn::before {inset: 72vw auto auto -0.65vw;}
.triangle_container::before {inset: 70vw auto auto 0;}
.recruit_btn .scroll_flex .scroll_a {inline-size: min(361px,100%);margin-block-end: 2em;display: block;}
#message .middle_inner {padding-block-end: 3em;}
#message strong {font-size: 1.5em;text-align: start;}
#message .text_side.left {padding-inline-end: 0;inline-size: 100%;}
#message .text_side.right {inline-size: 100%;padding-inline-start: 0;}
#message .img_side {inline-size: 90%;margin-inline: auto;}
#message .flower1 {inset: auto auto 37vw 0;}
#message .flower2 {inset: auto 0 37vw auto;}
#message .img_side img.m_img {margin-inline: auto;padding-block-start: 0;}
#message .text_side .p_1 {margin-block-start: 1em;margin-block-end: 3em;}
#work {padding-block: 5.5em 8em;}
#work .text_side.right {padding-inline-start: 0;inline-size: 100%;}
#work .block_step2 .text_side.left {inline-size: 100%;padding-inline-end: 0;}
#work .img_side {width: 90%;margin-inline: auto;}
#work .text_side h4.s_ttl {inline-size: fit-content;margin-inline: auto;margin-block-start: 0;}
#work p.p_1 {margin-block-end: 0.25em;text-align: start;}
#work .text_side .p_1 {margin-block-end: 3em;}
#work .flower1 {inset: auto auto 1% 0;}
#work .flower2 {inset: auto 0 1% auto;}
#page_entry .middle_inner {inline-size: 90%;}
#page_entry .flex .flex_item {inline-size: min(370px,80%);display: block;margin-inline: auto;margin-block-end: 2em;}
#page_entry .flex .flex_item.wh {padding-block-end: 0.35em;}
#page_entry .flex .flex_item:nth-of-type(2) {margin-block-end: 1em;}
.page_entry_ttl {font-size: 1.5em;}
#page_entry {background-size: 400%;padding-block: 6em 1em;}
#interview .text_box p.pr {border: 1px solid #5d27ff;padding: 0.875em 1.5em;font-size: 1em;}
#interview .text_box p.text2 {border-color: #b736bc;}
#interview .text_box p.text1::after {inline-size: 14px;block-size: 10px;inset: -1px 100% auto auto;background-size: 100%;}
#interview .text_box p.text2::after {inline-size: 14px;block-size: 6px;inset: -1px auto auto 100%;background-size: 100%;}
#interview .text_box {inline-size: 77%;}
#interview .img_box {inline-size: min(140px,20.25%);}
#interview .sub_ttl2 span.fig {margin-inline-end: 0;display: block;}
#requirements dl.table {inline-size: 100%;display: block;margin: 0 auto 1em auto;}
#requirements dt.table_dt {inline-size: 100%;display: block;}
#requirements dd.table_dd {padding: 0.875em 0 0.875em 0;inline-size: 100%;display: block;margin-inline-start: 0;}
#requirements dd.table_dd .r_li {text-indent: -1em;padding-inline-start: 1em;}
#requirements .arrow {inline-size: min(266px,21%);margin-block-start: 4em;}
#requirements {padding-block: 5em 3.5em;}
#group .group .flex_item {inline-size: 100%;}
#group .group .flex_item em.fb {font-size: 1.25em;}
#group .group .flex_item em.fb::after {inset: 50% -1.25em auto auto;}
#group .sub_ttl2 {font-size: 1.75em;}
/*life*/
#life .top_container h4.sub_ttl2 {text-align: center;}
#life h3.life_ttl {font-size: 1.25em;}
#life .middle_inner {inline-size: min(1260px, 80%);}
#life .text_side,#life .img_side {float: none;inline-size:100%;}
#life .top_container .text_side {font-size: 0.875em;}
#life h4.case_ttl {font-size: 1.5em;}
#life .middle_container img.img {inline-size: 70%;margin-inline: auto;display: block;}
#life .text_side p.p_2 {margin-block-end: 0em;}
#life .middle_container {margin-block-start: 2em;}
#life .flower1,#life .flower2 {inline-size: min(286px,10%);}
#life .flower3,#life .flower4,#life .flower5 {inline-size: min(300px,10%);}
#life .top_container h4.sub_ttl2 {font-size: 2em;}
#life .text_side em.fb {font-size: 1.5em;}
#life .top_container {padding-block-start: 0em;}
#life .arrow {inline-size: min(266px,21%);margin-block-start: 3em;}
/*shipping*/
#life.in_shipping .sub_ttl2 {text-align: center;}
#life.in_shipping .text_side::after {inset: 8% 0 auto 0;margin-inline: auto;inline-size: min(450px,21em);}
#life .top_container a.bl1 {font-size: 1.25em;margin-inline: auto;inline-size: fit-content;display: block;margin-block-end: 3em;}
.in_entry2 .page_entry_ttl {font-size: 1.35em;}
.in_entry2 a.link {inline-size: 100%;display: block;margin-block-end: 0.5em;}
.in_entry2 .flex {inline-size: min(1020px,90%);font-size: 0.875em;}
#life.in_shipping .sub_ttl2 {font-size: 2em;}
/*netsrvice*/
#netservice .text_side {inline-size: 100%;padding-block-start: 3em;}
#netservice .img_side {inline-size: min(580px,70%);float: none;margin-inline: auto;}
#function .function_flex .flex_item {inline-size: min(360px,70%);margin-inline: auto;}
#function .function_flex::after {inline-size: min(860px,100%);inset: 4% 0 auto 0;}
#netservice .text_side::after {inset: 8% auto auto 0;}
#netservice .bottom_container .text_side::after {inset: 8% 0% auto auto;}
#netservice .bottom_container {padding-block: 3em 2em;}
#netservice .middle_img {margin-block-start: 0em;}
#netservice h3.sub_ttl2 {text-align: center;}
/*contact*/
#contact {padding-block: 6em 1em;}
#contact .top_contact .flex_item em.s_ttl {margin-inline: auto;}
#contact .top_contact .flex {margin-block-start: 2.5em;}
#contact .top_contact .flex_item {inline-size: 100%;}
#contact .top_contact .flex_item.tel {margin-block-end: 3em;}
#contact .top_contact .flex_item a {inline-size: fit-content;margin-inline: auto;display: block;}
#contact .main_form {padding-block: 5.5em 4em;}
#contact form#formtop dl.form_dl dd.form_dd input[type="text"],#contact form#formtop dl.form_dl dd.form_dd textarea {inline-size: 90%;margin-inline-start: 5%;}
#contact .send input[type="submit"] {font-size: 1.25em;}
#contact .conf_flex .conf_btn {inline-size: 70%;font-size: 1.25em;display: block;margin-inline: auto;}
#contact .conf_flex .conf_btn.back {margin-block-end: 1em;}
#contact.comp_section p.text {margin-block: 6em 6em;}
/*news*/
.contents_inner div.post {padding-block: 4em 0em;}
.contents_inner {inline-size: 100%;}
.side_inner {padding-block-start: 1em;inline-size: 100%;}
.side_inner .post_ul li,.side_inner .cate_ul li,.side_inner .archive_ul li {font-size: 1.125em;}
.pagenation .page-numbers,.wp-pagenavi span, .wp-pagenavi a,.pagenation .page,.wp-pagenavi a.first,.wp-pagenavi a.last, {padding: 0.35em 0.75em;}
.pagenation .single_next, .pagenation .single_prev {padding: 0 0.5em 0.125em 0.5em;}
/*gallery*/
.page_in_switch a.pp1_bg {padding: 0.6em 0 0.6em 0;margin-block-end: 1em;display: block;inline-size: 75%;margin-inline: auto;}
#gallery #movie_box .sub_ttl2,#gallery #photo_box .sub_ttl2 {font-size: 2em;}
#gallery #middle {margin-block: 1em 1em;}
#gallery .photo li {inline-size: min(400px,48.75%);margin-block-end: 1em;}
#gallery #photo_box img.arrow {margin-block-start: 2em;}
#gallery #photo_box {padding-block: 5em 2em;}
#gallery #photo_box .l_flower2 {inset: auto auto 1% 0;}
#gallery #photo_box .r_flower2 {inset: auto 0 1% auto;}
@media (min-width: 300px) and (max-width: 363px) {
#organization .two_line .chart_left p.center,#organization .three_line .chart_left p.center {background-color: #fff;}
}