@charset "utf-8";
/* CSS Document */
body {font-size: 4vw;}
.pc {display: none;}
.sp {display: block;}
.left {float: none;}
.right {float: none;}
.sp_left {text-align: left !important;}
.sp_center {text-align: center;}
.half {inline-size: 100%;}
.flex {display: block;}
.in_flex {display: flex;}
.table {display: block;}
.table dt,
.table dd {display: block;}
.d025s,.d05s,.d075s,.d1s,.d125s,.d15s,.d175s,.d2s {transition-delay: 0s !important;}
.lower_inner {inline-size: 96%;}
.left_side,.right_side {inline-size: 100%;}
:root {
  --h-size: 6em;
}
main,
body.page_in_privacy main,
body.page_in_contact main {margin-block-start: 0;padding-block-start: var(--h-size);}
/*header*/
body.page_in_privacy #header,
body.page_in_contact #header {block-size: var(--h-size);}
body.page_in_privacy #header .site_ttl, 
body.page_in_contact #header .site_ttl {background-color: #dbdbdb;}
#header {position: absolute;}
#header .menu_btn {position: fixed;}
#header .nav_side {display: none;position: fixed;inset: 0 0 auto 0;block-size: 100vh;}
#header .site_ttl {padding: 0.25em 0.5em 0.125em 1em;margin-block-end: 0.5em;}
body.page_in_privacy #header .site_logo img, 
body.page_in_contact #header .site_logo img {height: auto;}
body.page_in_privacy #header .site_logo, 
body.page_in_contact #header .site_logo,
#header .site_logo {margin: 0.125em auto 0.5em 0.875em;inline-size: min(320px,12em);}
#header .nav_side .ul .list .link {font-size: 1.25em;inline-size: fit-content;}
body.page_in_privacy #header .nav_side .ul, 
body.page_in_contact #header .nav_side .ul {margin-block: 2.75em 0;}
#header .nav_side .ul .list.contact {margin: 2em 0 0 0;}
#header .menu_btn {inset: 2em 0.5em auto auto;cursor: pointer;caret-color: transparent;}
#header .menu_btn .material-symbols-rounded {font-size: 3em;padding: 0.1em;}
#header .nav_side {inline-size: 100%;background-color: #fff;inset: 0 0 auto 0;position: fixed;margin: 0 auto;block-size: 100vh;padding: 6em 8% 0 8%;z-index: -1;}
body.page_in_top #header .nav_side .ul .list .link_top::before,
body.page_in_about #header .nav_side .ul .list .link_about::before,
body.page_in_business #header .nav_side .ul .list .link_business::before,
body.page_in_works #header .nav_side .ul .list .link_works::before {inset: 55% auto auto -1em;transform: translateY(-50%);}
section#fv .pa_text {font-size: 1.667em;padding-inline-start: 0em;}
section#fv .swiper-slide { overflow: hidden; display: flex; justify-content: center; }
section#fv .swiper-slide .slide_img { inline-size: 220%; }
section#fv .pa_text { inset: 45.75% 0 auto 0; }

#top_about .p_1 {padding-inline: 2%;}
#top_news .column {padding-block: 1.65em 1.5em;}
#top_news .column .ul {inline-size: min(1280px,90%);}
#top_business .column .text_side {padding: 3em 6% 4em 6%;}
#top_works .column .box {inline-size: min(560px,100%);margin-inline: auto;}
/*page_contact*/
.page_contact {padding-block: 3em 2.5em;}
.page_contact .link_side {inline-size: 100%;}
.page_contact .link_side a[class^="link_"] {inline-size: 100%;margin-block-end: 1em;}
/*footer*/
#footer {padding-block-start: 3.5em;}
#footer .inner {inline-size: 90%;}
#footer .nav_side {margin-block-start: 3em;}
#footer .nav_side .ul .list {margin-inline-start: 0;margin-block-end: 1em;}
#footer .nav_side .ul .list .link {inline-size: fit-content;}
#footer .copy {margin-block: 4em 1.5em;}
/* about */
#page_top {padding: 3.25em 2em 4.65em 1.5em;}
.page_ttl {font-size: 1.875em;}
.about_top {padding: 2em 2em 2.65em 1.5em;}
#overview .text_side {inline-size: 100%;padding: 1.875em 1em 2em 1em;}
#overview .text_side .p_1 {inline-size: 100%;line-height: 2;}
#overview .img_side {inline-size: 100%;margin-inline: auto;}
#profile .text_side {inline-size: 100%;padding: 1.875em 1em 3em 1em;}
#profile .img_side {inline-size: 100%;}
#profile .middle .box {inline-size: min(920px,90%);}
#profile .middle .box .flex_item {inline-size: min(378px,47.15%);}
#profile .bottom iframe {aspect-ratio: 4 / 3;}
#history {padding-block: 3.5em 2.75em;}
/*privacy*/
.privacy_top {background-position: right -7em center;}
#privacy {padding-block: 3.5em 3.75em;}
#privacy .p_1 {line-height: 2;padding-block-end: 1em;margin-block-end: 5.5em;}
#privacy .inner {padding: 2em 1.35em 2em 1.35em;}
#privacy .ol .list {margin-block-start: 5em;}
#privacy .ol .list .dl .dt {margin-block-end: 0.875em;}
#privacy .ol .list .dl .dd .in_ul .in_list {margin-block-start: 1em;}
/*business*/
#business .column .top .text_side,#business .column .top.re_flex .text_side {inline-size: 100%;padding: 1em 1em 1em 1em;}
#business .column .top .img_box {inline-size: 100%;}
#business .column .top .img_box .img {margin-inline: 0 auto;display: block;inline-size: 100%;}
#business .column .bottom {padding: 1em 1em 2.5em 1em;}
#business .column .bottom .df_box .text_side {inline-size: 100%;}
#business .column .bottom .df_box .text_side .p_1 {line-height: 2;}
#business .column .bottom .df_box .img_side {inline-size: 100%;}
#business .column .bottom .box1 .text_side {inline-size: 100%;}
#business .column .bottom .box1 .center_text {position: initial;inset: auto;transform: translateY(0);}
#business .column .bottom .box2 .dl {inline-size: 100%;margin-block-end: 1.875em;}
#business .column .bottom .ttl2 {margin-block-end: 5em 1em;}
#business .column .bottom .df_box .text_side .ul {margin-block-start: 0;}
#business .column .bottom .ol1 .list .text_side {inline-size: 100%;padding: 1em 1em 0 3.75em;}
#business .column .bottom .ol1 .list .img_side {inline-size: 100%;margin-block-start: 2em;}
#business .column .bottom [class^="ol"] .list .num {font-size: 3.5em;inset: 0.25em auto auto 0.125em;}
#business .column .bottom .ol2 .list .text_side {padding: 1em 1em 1em 3.75em;}
#business .column .bottom .ol2 .list .text_side .in_text {line-height: 2;}
#business .column .bottom .ol2 .list .text_side {line-height: 2;}
#business .column .top.re_flex .text_side .ttl {text-align: left;}
#business .column .top .text_side .ttl {font-size: 1.75em;}
#business .column .bottom .box2 .dl .dd .text {line-height: 1.8;}
#business .column .top {margin-block-end: 3em;}
#business .column .bottom .p_4 {line-height: 2;}
#business .column .bottom .box1 .text_side .p_3 {line-height: 2;}
#business .column .bottom .box1 .text_side {padding: 1.65em 1.25em 2em 1.25em;}
/*works*/
#works {padding-block: 3.5em 4.5em;}
#works .top .box {gap: 6%;}
#works .top .box .flex_item {inline-size: min(361px,47%);margin-block-end: 1em;}
#works .top .p_1 {line-height: 2;margin-block: 1.75em 2em;}
#works .bottom {padding: 3.75em 1.35em 1.25em 1.35em;margin-block-start: 3em;}
#works .bottom::before {block-size: 3.6em;inset: -1.8em 0 auto 0;}
#works .bottom .column .box {inline-size: min(600px,100%);}
#works_detail .column {padding: 3em 1em 5.5em 1em;}
#works_detail .column .works_ttl {margin-block-end: 1em;}
#works_detail .column .works_ttl::before {inline-size: 3.75em;inset: -0.75em 0 auto 0;}
#works_detail .column .swiper_box {padding: 0;}
#works_detail .column .swiper_box .swiperThumbnail .swiper-wrapper .swiper-slide {inline-size: min(190px,48%) !important;margin-block-end: 0.75em;}
#works_detail .column .swiper_box .swiperThumbnail .swiper-wrapper {gap: 4%;}
#works_detail .column .swiper_box .swiperMain .swiper-button-prev {inset: 50% auto auto -1.5em;inline-size: min(30px,1em);}
#works_detail .column .swiper_box .swiperMain .swiper-button-next {inset: 50% -1.5em auto auto;inline-size: min(30px,1em);}
#works_detail .column .swiper.swiper-horizontal {touch-action: auto;}
/*contact*/
#contact {padding-block: 3.5em 3em;}
.contact_top {background-position: center right 20%;}
#contact .inner {padding: 1em 1.5em 3.5em 1.5em;}
#contact .top {padding-block-end: 1.5em;}
#contact .top .p_1 {line-height: 2;padding-block-end: 1.5em;}
#contact .top .ttl {margin-block-start: 1.25em;}
#contact .top .link {padding: 0.45em 2.75em 0.45em 2.5em;margin-block-start: 1.7em;}
#contact .bottom {padding-block-start: 1.5em;}
#contact .bottom .ttl {padding-inline-start: 0;}
#contact .bottom .p_3 {line-height: 2;}
#contact #form_top {padding-inline: 0;}
#contact #form_top .dl .dd textarea {aspect-ratio: 4.5 / 3;}
#contact #form_top .send_btn input[type="submit"] {padding: 1em 3.45em 0.95em 3.45em;}
#contact #form_top .send_conf {inline-size: min(800px,100%);}
#contact #form_top .send_conf .link {inline-size: 100%;}
#contact #form_top .send_conf .link.back {margin-block-end: 1.5em;}





