@charset "utf-8";
/* CSS Document */
body {font-size: clamp(7px,0.938vw,18px);font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;font-weight: 400;margin: 0 auto;padding: 0;line-height: 1.8;-webkit-text-size-adjust: 100%;position: relative;color: #111;letter-spacing: 0.03em;inline-size: min(1920px,100%);background-color: #eaeaea;}
html {scroll-behavior: smooth;}
:target { scroll-margin-top: var(--h-size);}
main {inline-size: 100%;overflow: hidden;margin-block-start: var(--h-size);}
main.popup {margin-block-start: 0;font-size: 1.693em;}
section {inline-size: 100%;position: relative;z-index: 1;}
img {border: none;vertical-align: middle;height: auto;}
a {text-decoration: none;cursor: pointer;display: block;}
ol,ul {padding-inline-start: 0;}
ol li,ul li{list-style-type: none;}
dd {margin-inline-start: 0;}
dl {margin-block: 0;}
em {font-style: normal;}
address {font-style: normal;}
*, *:before, *:after {box-sizing: border-box;}
/* チェック用 未入力時ハイライト*/
img[alt=""] { outline: 3px solid #c143c5; }
a[href=""] { outline: 3px solid #b3fff8; } 
/********************************* float **********************************************/
.c-both {clear: both;}
.left,.in_left {float: left;}
.right,.in_right {float: right;}
.center {display: block;margin-inline: auto;text-align: center;}
.table , .in_table {display: table;}
.table > dt,.table > dd ,.in_table > dt,.in_table > dd{display: table-cell;}
/************* display *************/
.flex,.in_flex {display: flex;justify-content: space-between;flex-wrap: wrap;}
.re_flex {flex-direction: row-reverse;}
.db {display: block;}
.dib {display: inline-block;}
.df {display: flow-root;}
/************************************** inline-size ****************************************/
.inner {inline-size: min(1760px,91.6667%);margin-inline: auto;}
.middle_inner {inline-size: min(1500px,78.125%);margin-inline: auto;}
.lower_inner {inline-size: min(1280px,66.6667%);margin-inline:auto;}
.heading {inline-size: 100%;}
.half {inline-size: 50%;}
.sp {display: none;}
.pc {display: block;}
.ofh {overflow: hidden;}
.left_side,.right_side{inline-size:48%;}
/**************************************position**************************************/
.pr {position: relative;}
.pa {position: absolute;}
.pf {position: fixed;}
.vat {vertical-align: top;}
.vab {vertical-align: bottom;}
.vam {vertical-align: middle;}
.tal {text-align: left;}
.tar {text-align: right;}
.tac {text-align: center;}
/************************************ color *******************************************/
:root {
--base-purple1: #35329a;
--base-blue1: #003461;
--base-blue2: #00335f;
--base-blue3: #17466e;
--h-size: 8em;
--list-size1 : 31%;
--list-size2 : 35.5%;
}
.size1 {inline-size: var(--list-size1);}
.size2 {inline-size: var(--list-size2);}
.size3 {inline-size:calc(100% - calc(var(--list-size1) + var(--list-size2)));}
/*黒*/
.bk {color: #000;}
.bk_bg {background-color: #000;}
.bk2_bg {background-color: #3b3b3b;}
/*白*/
.wh {color: #FFF;}
.wh_bg {background-color: #FFF;}
/* 紫 */
.pp1 {color: var(--base-purple1);}
.pp1_bg {background-color: var(--base-purple1);}
/*　青　*/
.bl2 {color: var(--base-blue2);}
.bl1_bg {background-color: var(--base-blue1);}
.bl3_bg {background-color: var(--base-blue3);}
/* gray */
.gr_bg {background-color: #eaeaea;}
.gr1_bg {background-color: #dbdbdb;}
.gr2_bg {background-color: #e1e1e1;}
.gr3_bg {background-color: #dfdfdf;}

a {opacity: 1;transition: all 0.25s}
span.error { display: block; color: #F03; font-size: 0.8em; }
/*************************************** font ****************************************/
.fb {font-weight: bold;}
.f5 {font-weight: 500;}
.fn {font-weight: normal;}
.itl {font-style: italic;}
.ygt {font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;}
.dss {font-family: "Dosis", sans-serif;}
.tr_text {writing-mode: tb-rl;}
.material-symbols-rounded {font-weight: 100;}
/************************************* js ****************************************/
.fade {opacity: 0;transition: all 1s;}
.fade.active {opacity: 1;}
.fade_in {opacity: 0;transition: all 1s;transform: translateY(2rem);}
.fade_in.active {opacity: 1;transform: translateY(0);}
.d025s {transition-delay: 0.25s !important;}
.d05s {transition-delay: 0.5s !important;}
.d075s {transition-delay: 0.75s !important;}
.d1s {transition-delay: 1s !important;}
.d125s {transition-delay: 1.25s !important;}
.d15s {transition-delay: 1.5s !important;}
.d175s {transition-delay: 1.75s !important;}
.d2s {transition-delay: 2s !important;}
.scale_in {transform: scale(0.5);transition: all 0.5s;opacity: 0}
.scale_in.active {transform: scale(1);opacity: 1;}

/*********************************** common **************************************/
.ttl {font-size: 2em;font-weight: 500;letter-spacing: 0.125em;margin-block: 0;}
.ttl .small {font-size: 0.583em;letter-spacing: 0.125em;margin-block-start: 0.75em;}
.more1 {inline-size: min(240px,15.25em);margin-inline: auto;border-block-end: 1px solid #000;color: #000;letter-spacing: 0.1em;font-size: 0.889em;padding-block-end: 1.25em;padding-inline-start: 0.5em;font-weight: 500;}
.more1 .arrow {inline-size: 1.5em;border-block-end: 1px solid #000;inset: 37% 0.65em auto auto;transform: translateY(-50%);transition: all 0.3s;}
.more1:hover .arrow {inset: 37% 0 auto auto;}
.more1 .arrow:after {content: "";position: absolute;inline-size: 0.75em;block-size: 1px;background-color: #000;inset: auto 0 -1px auto;transform: rotate(35deg);transform-origin: right;}
.more1:hover {}
.more1.center {}

/*********************************** BLOCK **************************************/
#header {position: fixed;inset: 0 0 auto 0;z-index: 2;block-size: var(--h-size);}
#header .site_ttl {font-size: 0.778em;margin: 0;padding: 0.5em 0.5em 0.125em 4.35em;letter-spacing: 0.1em;font-weight: normal;}

body.page_in_privacy #header,
body.page_in_contact #header {block-size: calc(var(--h-size) - 2.5em);}
body.page_in_privacy #header .site_ttl,
body.page_in_contact #header .site_ttl {background-color: #fff;}
body.page_in_privacy #header .site_logo,
body.page_in_contact #header .site_logo {margin: 0em auto 0.5em 3.25em;inline-size: min(245px,14em);}
body.page_in_privacy #header .site_logo img,
body.page_in_contact #header .site_logo img {height: 3.25em;}
body.page_in_privacy #header .nav_side .ul,
body.page_in_contact #header .nav_side .ul {margin-block: 0 0;}
body.page_in_privacy main,
body.page_in_contact main {margin-block-start: calc(var(--h-size) - 2.5em);}

#header .site_logo {font-size: 1em;margin: 0.875em auto 0.5em 3.25em;inline-size: min(320px,18em);}
#header .site_logo a {transition: all 0.3s;}
#header .site_logo a:hover {opacity: 0.65;}
#header .site_logo .logo {}
#header .site_logo .logo.bl_logo {}
#header .nav_side {inline-size: fit-content;}
#header .nav_side .ul {margin-block: 2.75em 0;}
#header .nav_side .ul .list {margin-inline-end: 2em;margin-block-start: 1.125em;}
#header .nav_side .ul .list .link {transition: all 0.3s;font-size: 0.944em;font-weight: 600;letter-spacing: 0.05em;}
#header .nav_side .ul .list .link:hover {color: var(--base-blue1);}
#header .nav_side .ul .list .link:after {content: "";position: absolute;inline-size: 0;block-size: 1px;background-color: var(--base-blue3);inset: 100% 0 auto 0;transition: all 0.3s;}
#header .nav_side .ul .list .link:hover:after {inline-size: 100%;}
#header .nav_side .ul .list.contact {margin-inline: 0.75em 3.5em;margin-block-start: 0;}
#header .nav_side .ul .list.contact .link {transition: all 0.3s;}
#header .nav_side .ul .list.contact .link .material-symbols-rounded {inline-size: 1.55em;text-align: center;block-size: auto;aspect-ratio: 1;border-radius: 50%;padding-block-start: 0.2em;font-size: 2em;font-weight: 100;}
#header .nav_side .ul .list.contact .link:hover {}
#header .nav_side .ul .list.contact .link:after {content: none;}
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 {content: "";position: absolute;inline-size: 0.5em;block-size: auto;aspect-ratio: 1;background-color: var(--base-blue1);border-radius: 50%;inset: -0.65em 0 auto 0;margin-inline: auto;}
/* top */


section#fv {}
section#fv .swiper-container {}
section#fv .swiper-wrapper {}
section#fv .swiper-slide {}
section#fv .swiper-slide .slide_img {}
section#fv .pa_text {inset: 38.75% 0 auto 0;margin: auto;z-index: 1;inline-size: fit-content;block-size: fit-content;line-height: 1;color: #fff;font-size: 2.667em;letter-spacing: 0.3em;padding-inline-start: 0.35em;font-weight: 500;}


#top_about {background-image: url(../img/top/top_about_bg.jpg);background-position: center;background-repeat: no-repeat;background-size: cover;padding-block: 6.55em 6.6em;}
#top_about .ttl {padding-inline-start: 0.125em;margin-block-end: 1.375em;}
#top_about .ttl .small {}
#top_about .p_1 {line-height: 2.35;letter-spacing: 0.05em;padding-inline-start: 0.75em;}
#top_about .more1 {margin-block-start: 4em;}
#top_about .more1 .arrow {}


#top_news {padding-block: 5em 6.75em;}
#top_news .inner {}
#top_news .ttl {margin-block-end: 1.65em;}
#top_news .ttl .small {}
#top_news .column {padding-block: 2.65em 2.5em;}
#top_news .column .ul {inline-size: min(1280px,73%);margin-inline: auto;}
#top_news .column .ul .list {margin-block-end: 1.35em;line-height: 2.35;letter-spacing: 0.05em;}
#top_news .column .ul .list .dl {border-block-end: 1px solid #666;padding-block-end: 0.3em;margin-block-end: 0.7em;}
#top_news .column .ul .list .dl .dt {inline-size: 6.65em;}
#top_news .column .ul .list .dl .dt time {font-size: 0.889em;letter-spacing: 0.05em;}
#top_news .column .ul .list .dl .dd {font-size: 1.056em;color: var(--base-blue1);transform: translateY(-3px);}
#top_news .column .ul .list .link {display: inline-block;border-block-end: 1px solid #000;line-height: 1;padding-inline-end: 0.25em;}
#top_news .column .ul .list .link .material-symbols-rounded {font-weight: 100;vertical-align: sub;}


#top_business {padding-block: 6em 0;}
#top_business .ttl {margin-block-end: 1.9em;}
#top_business .ttl .small {margin-block-start: 1em;}
#top_business .column {}
#top_business .column .img_side {}
#top_business .column .img_side .img {}
#top_business .column .text_side {padding: 7em 12% 0 13%;}
#top_business .column .text_side .s_ttl {margin-block: 0 1.9em;}
#top_business .column .text_side .s_ttl .small {font-size: 1.111em;letter-spacing: 0.125em;margin-block-end: 1em;}
#top_business .column .text_side .s_ttl .em {font-size: 1.333em;letter-spacing: 0.125em;}
#top_business .column .text_side .p_1 {line-height: 2;letter-spacing: 0.05em;}
#top_business .column .text_side .more1 {margin-block-start: 3em;}
#top_business .column .text_side .more1 .arrow {}

#top_works {background-image: url(../img/top/top_works_bg.jpg);background-position: center;background-repeat: no-repeat;background-size: cover;padding-block: 6.875em 6.5em;}
#top_works .inner {}
#top_works .ttl {margin-block-end: 1.875em;}
#top_works .ttl .small {margin-block-start: 1em;}
#top_works .column {justify-content: flex-start;gap: 2.27%;}
#top_works .column .box {inline-size: min(560px,31.82%);margin-block-end: 1.65em;}
#top_works .column .box .cover {display: block;}
#top_works .column .box .cover .img {transition: all 0.3s;}
#top_works .column .box:hover .cover .img {transform: scale(1.1);}
#top_works .column .box .caption {font-size: 1.056em;letter-spacing: 0.05em;}
#top_works .column .box .caption .material-symbols-rounded {font-weight: 100;vertical-align: middle;margin-inline-start: 0.25em;font-size: 1.4em;}
#top_works .more1 {margin-block-start: 3.5em;}

.page_contact {background-image: url(../img/block/page_contact_bg.jpg);background-position: center;background-repeat: no-repeat;background-size: cover;padding-block: 4.75em 4.6em;}
.page_contact .inner {}
.page_contact .ttl {margin-block-end: 1.35em;}
.page_contact .ttl .small {margin-block-start: 1.125em;}
.page_contact .link_side {inline-size: min(850px,49%);margin-inline: auto;}
.page_contact .link_side a[class^="link_"] {inline-size: 47.25%;background-color: rgba(256,256,256, 0.9);letter-spacing: 0.125em;font-size: 1.111em;padding-block: 0.55em 0.65em;border-radius: 100vmax;transition: all 0.3s;}
.page_contact .link_side a[class^="link_"]:hover {background-color: #3b3b3b;color: #fff;}
.page_contact .link_side a[class^="link_"] .material-symbols-rounded {font-weight: 100;font-size: 1.8em;margin-inline-end: 0.25em;vertical-align: top;}
.page_contact .link_side .link_tel {}
.page_contact .link_side .link_tel .material-symbols-rounded {}
.page_contact .link_side .link_contact {}
.page_contact .link_side .link_contact .material-symbols-rounded {}

#footer {padding-block-start: 7.5em;}
#footer .inner {inline-size: min(1280px,67%);}
#footer .ttl_side {}
#footer .ttl_side .footer_ttl {letter-spacing: 0.125em;font-weight: 300;font-size: 1.111em;transition: all 0.3s;}
#footer .ttl_side .footer_ttl:hover {color: var(--base-blue1);}
#footer .ttl_side .address {margin-block-start: 0.65em;letter-spacing: 0.05em;}
#footer .nav_side {}
#footer .nav_side .ul {margin-block: 0;}
#footer .nav_side .ul .list {margin-inline-start: 2.3em;}
#footer .nav_side .ul .list .link {letter-spacing: 0.125em;font-size: 0.9em;transition: all 0.3s;}
#footer .nav_side .ul .list .link:after {content: "";position: absolute;inline-size: 0;block-size: 1px;background-color: var(--base-blue3);inset: 100% 0 auto 0;transition: all 0.3s;}
#footer .nav_side .ul .list .link:hover {color: var(--base-blue3);}
#footer .nav_side .ul .list .link:hover:after {inline-size: 100%;}
#footer .copy {margin-block: 6em 3.5em;font-size: 0.75em;letter-spacing: 0.125em;}

/* about_us */
.about_top {background-image: url(../img/about_us/page_top.jpg);background-repeat: no-repeat;background-position: center;background-size: cover;padding: 3.25em 2em 4.65em 4.5em;}
.page_ttl {font-size: 2.556em;margin-block: 0;letter-spacing: 0.125em;font-weight: 500;}
.page_ttl .small {font-size: 0.435em;letter-spacing: 0.125em;margin-block-start: 0.5em;}


#overview {}
#overview .text_side {inline-size: calc(100% - 24.896%);padding: 4.875em 2em 3em 4.5em;}
#overview .text_side .ttl {margin-block-end: 1.25em;}
#overview .text_side .ttl .small {}
#overview .text_side .p_1 {line-height: 2.45;inline-size: 91%;letter-spacing: 0.05em;margin-block-end: 1.45em;}
#overview .img_side {inline-size: min(478px,24.896%);}
#overview .img_side .img {}


#profile {}
#profile .top {}
#profile .text_side {inline-size: calc(100% - 25%);padding: 4.875em 4.35em 3em 9em;}
#profile .text_side .ttl {margin-block-end: 1.5em;}
#profile .text_side .ttl .small {}
#profile .text_side .dl {border-block-end: 1px solid #aeaeae;padding-block: 0em 1em;margin-block-end: 1em;letter-spacing: 0.05em;}
#profile .text_side .dl .dt {inline-size: 11em;}
#profile .text_side .dl .dd {}
#profile .img_side {inline-size: min(480px,25%);}
#profile .img_side .img {}
#profile .middle {background-color: #3b3b3b;padding-block: 3.25em 3.25em;}
#profile .middle .box {inline-size: min(920px,48%);margin-inline: auto;}
#profile .middle .box .flex_item {inline-size: min(378px,41.15%);}
#profile .middle .box .flex_item .img {border-radius: 50%;inline-size: min(378px,100%);}
#profile .bottom {}
#profile .bottom iframe {block-size: auto;aspect-ratio: 1920 / 450;filter: grayscale(30%);}

#history {padding-block: 5.5em 5.75em;}
#history .lower_inner {}
#history .ttl {margin-block-end: 1.5em;}
#history .ttl .small {}
#history .dl {border-block-end: 1px solid #aeaeae;padding-block: 0em 1em;margin-block-end: 1em;letter-spacing: 0.05em;}
#history .dl .dt {inline-size: 7.75em;}
#history .dl .dd {}

.privacy_top {background-image: url(../img/privacy/page_top.jpg);background-repeat: no-repeat;background-position: center;background-size: cover;padding: 3.25em 2em 4.65em 4.5em;}
#privacy {padding-block: 5.5em 6.75em;}
#privacy .inner {padding: 4em 13.35em 4em 13.35em;}
#privacy .p_1 {letter-spacing: 0.05em;border-block-end: 1px solid #aeaeae;line-height: 2.4;padding-block-end: 2em;margin-block-end: 7.5em;}
#privacy .ol {margin-inline:auto;}
#privacy .ol .list {margin-block-start: 6em;}
#privacy .ol .list .dl {}
#privacy .ol .list .dl .dt {font-size: 1.167em;letter-spacing: 0.125em;margin-block-end: 1.875em;}
#privacy .ol .list .dl .dt::before {content: "";position: absolute;background-color: var(--base-blue2);inline-size: 5.75em;block-size: 1px;inset: -1.65em 0 auto 0;margin-inline: auto;}
#privacy .ol .list .dl .dd {letter-spacing: 0.05em;}
#privacy .ol .list .dl .dd .in_ul {padding-inline-start: 1.5em;}
#privacy .ol .list .dl .dd .in_ul .in_list {list-style-type: disc;margin-block-start: 1.5em;}
#privacy .ol .list .dl .dd a {display: inline-block;color: var(--base-blue2);text-decoration: underline;margin-block-start: 0.5em;transition: all 0.3s;}
#privacy .ol .list .dl .dd a:hover {color: #3b3b3b;opacity: 0.8;}


.business_top {background-image: url(../img/business/page_top.jpg);background-repeat: no-repeat;background-position: center;background-size: cover;padding: 3.25em 2em 4.65em 4.5em;}
#business {padding-block: 5.5em 6em;}
#business .inner {}
#business .inner.mt {margin-block-start: 7em;}
#business .column {}
#business .column .top {}
#business .column .top .text_side {inline-size: 57%;padding: 4.65em 1em 1em 13.5em;}
#business .column .top .text_side .ttl {}
#business .column .top .text_side .ttl .small2 {font-size: 0.556em;letter-spacing: 0.125em;}
#business .column .top .text_side .ttl .small {font-size: 0.667em;letter-spacing: 0.125em;margin-block-start: 0.65em;}
#business .column .top .img_box {inline-size: 40.875%;}
#business .column .top .img_box .img {margin-inline: 0 auto;display: block;inline-size: min(481px,67%);}

#business .column .top.re_flex .text_side {padding: 4.65em 13.5em 1em 1em;}
#business .column .top.re_flex .text_side .ttl {text-align: right;}
#business .column .top.re_flex .text_side .ttl .small2 {}
#business .column .top.re_flex .text_side .ttl .small {}
#business .column .top.re_flex .img_box {}
#business .column .top.re_flex .img_box .img {margin-inline: auto 0;display: block;}

#business .column .bottom {padding: 6.25em 13.35em 2.5em 13.5em;}
#business .column .bottom .ttl2 {font-size: 1.167em;letter-spacing: 0.125em;margin-block-end: 1.75em;}
#business .column .bottom .ttl2.mt {margin-block-start: 6em;}
#business .column .bottom .ttl2.mt1 {margin-block-start: 4em;}
#business .column .bottom .ttl2.mt2 {margin-block-start: 6em;}
#business .column .bottom .ttl2:before {content: "";position: absolute;background-color: var(--base-blue2);inline-size: 5.75em;block-size: 1px;inset: -1.65em 0 auto 0;margin-inline: auto;}
#business .column .bottom .df_box {margin-block-end: 3em;}
#business .column .bottom .df_box .text_side {inline-size: 46%;}
#business .column .bottom .df_box .text_side .p_1 {margin-block: 0 1em;line-height: 2.35;letter-spacing: 0.05em;}
#business .column .bottom .df_box .text_side .ul {margin-block-start: 1.5em;padding-inline-start: 5%;}
#business .column .bottom .df_box .text_side .ul .list {margin-block-end: 1.375em;letter-spacing: 0.05em;list-style-type: disc;}
#business .column .bottom .df_box .img_side {margin-block-start: 0.65em;inline-size: min(600px,47.125%);}
#business .column .bottom .df_box .img_side .img {}
#business .column .bottom .box1 {margin-block-end: 6.875em;}
#business .column .bottom .box1 .text_side {inline-size: 47%;border: 1px solid #a0a0a0;padding: 1.65em 2.25em 2em 2.25em;}
#business .column .bottom .box1 .text_side .p_2 {margin-block: 0 0.75em;font-size: 1.056em;letter-spacing: 0.05em;}
#business .column .bottom .box1 .text_side .p_3 {line-height: 2.4;letter-spacing: 0.05em;margin-block: 0;}
#business .column .bottom .box1 .center_text {inline-size: fit-content;position: absolute;inset: 50% 0 auto 0;margin: 0 auto;transform: translateY(-50%);font-size: 2.556em;color: #555;font-weight: 100;}
#business .column .bottom .box2 {margin-block: 2.875em 3.75em;}
#business .column .bottom .box2.mt {margin-block: 2.2em 0.5em;}
#business .column .bottom .box2 .dl {inline-size: 47%;margin-block-end: 1.875em;}
#business .column .bottom .box2 .dl .dt {border-block-end: 1px solid #7d7d7d;font-size: 1.056em;letter-spacing: 0.05em;padding-block-end: 0.65em;}
#business .column .bottom .box2 .dl .dd {padding-block-start: 0.25em;}
#business .column .bottom .box2 .dl .dd .img {inset: 1.35em auto auto 0;inline-size: min(120px,20%);}
#business .column .bottom .box2 .dl .dd .text {margin-inline-start: 25%;letter-spacing: 0.05em;line-height: 2.4;}
#business .column .bottom [class^="ol"] {}
#business .column .bottom [class^="ol"] .list {}
#business .column .bottom [class^="ol"] .list .arrow {inset: auto 0 -2.875em 0;margin-inline: auto;inline-size: min(54px,3em);}
#business .column .bottom [class^="ol"] .list .num {font-size: 4.444em;font-weight: 200;color: #555;margin: 0;line-height: 1;inset: 0.25em auto auto 0.25em;transform: rotate(-3deg);font-style: italic;}
#business .column .bottom [class^="ol"] .list .text_side {}
#business .column .bottom [class^="ol"] .list .text_side .in_ul {padding-inline-start: 1em;}
#business .column .bottom [class^="ol"] .list .text_side .in_ul .in_list {margin-block-start: 0.5em;list-style-type: disc;}
#business .column .bottom [class^="ol"] .list .img_side {}
#business .column .bottom .ol1 {margin-block: 3.25em 7em;}
#business .column .bottom .ol1 .list {margin-block-end: 4.5em;}
#business .column .bottom .ol1 .list .num {}
#business .column .bottom .ol1 .list .text_side {inline-size: 76%;padding: 1em 1em 0 5em;font-size: 1.056em;}
#business .column .bottom .ol1 .list .text_side .in_ul {}
#business .column .bottom .ol1 .list .text_side .in_ul .in_list {}
#business .column .bottom .ol1 .list .img_side {inline-size: min(300px,24%);}
#business .column .bottom .p_4 {line-height: 2.4;letter-spacing: 0.05em;margin-block: 2.5em 0;}
#business .column .bottom .ol2 {margin-block-start: 2.5em;}
#business .column .bottom .ol2 .list {margin-block-end: 4.5em;}
#business .column .bottom .ol2 .list .num {}
#business .column .bottom .ol2 .list .text_side {padding: 1em 1em 1em 4.75em;font-size: 1.056em;letter-spacing: 0.05em;line-height: 2.4;}
#business .column .bottom .ol2 .list .text_side .in_ul {font-size: 0.938em;margin-block-start: 0.75em;}
#business .column .bottom .ol2 .list .text_side .in_ul .in_list {margin-block-start: 0;}
#business .column .bottom .ol2 .list .text_side .in_text {margin-block-start: 0.65em;line-height: 2.3;font-size: 0.947em;}

.works_top {background-image: url(../img/works/page_top.jpg);background-repeat: no-repeat;background-position: center;background-size: cover;padding: 3.25em 2em 4.65em 4.5em;}

#works {padding-block: 5.5em 7.5em;}
#works .inner {}
#works .top {}
#works .top .box {justify-content: center;gap: calc(17.954544% / 3);}
#works .top .box .flex_item {inline-size: min(361px,20.511364%);}
#works .top .box .flex_item .img {border-radius: 50%;}
#works .top .p_1 {line-height: 2.4;margin-block: 2.75em 2em;letter-spacing: 0.05em;}
#works .bottom {padding: 9.75em 13.35em 1.25em 13.3em;margin-block-start: 5em;}
#works .bottom::before {content: "";position: absolute;inline-size: 1px;block-size: 6.6em;background-color: #000;inset: -2.35em 0 auto 0;margin-inline: auto;}
#works .bottom .column {}
#works .bottom .column .box {margin-block-end: 1.875em;inline-size: min(600px,47.1%);}
#works .bottom .column .box .cover {display: block;}
#works .bottom .column .box .cover .img {transition: all 0.3s;}
#works .bottom .column .box:hover .cover .img {transform: scale(1.1);}
#works .bottom .column .box .caption {font-size: 1.056em;letter-spacing: 0.05em;}
#works .bottom .column .box .caption .material-symbols-rounded {font-weight: 100;vertical-align: middle;margin-inline-start: 0.25em;font-size: 1.4em;}

.works_detail_top {background-image: url(../img/works/detail_top.jpg);background-repeat: no-repeat;background-position: center;background-size: cover;padding: 3.25em 2em 4.65em 4.5em;}
#works_detail {padding-block: 5.65em 6.65em;}
#works_detail .inner {}
#works_detail .column {padding: 6em 13.5em 5.5em 13.5em;}
#works_detail .column .works_ttl {font-size: 1.167em;letter-spacing: 0.125em;font-weight: 400;color: #00335f;margin-block-end: 3em;}
#works_detail .column .works_ttl:before {content: "";position: absolute;inline-size: 5.75em;block-size: 1px;background-color: #000;inset: -1.5em 0 auto 0;margin-inline: auto;}
#works_detail .column .swiper_box {padding: 0;background-color: transparent;}
#works_detail .column .swiper_box .swiperMain {overflow: inherit;}
#works_detail .column .swiper_box .swiperMain .swiper-button-prev {inset: 50% auto auto -4.2em;transform: translateY(-50%);inline-size: min(30px,1.75em);cursor: pointer;}
#works_detail .column .swiper_box .swiperMain .swiper-button-next {inset: 50% -4.2em auto auto;transform: translateY(-50%);inline-size: min(30px,1.75em);cursor: pointer;}
#works_detail .column .swiper_box .swiperMain .swiper-wrapper {margin-block-end: 1.35em;}
#works_detail .column .swiper_box .swiperMain .swiper-wrapper .swiper-slide {}
#works_detail .column .swiper_box .swiperMain .swiper-wrapper .swiper-slide img {inline-size: 100%;}
#works_detail .column .swiper_box .swiperThumbnail {}
#works_detail .column .swiper_box .swiperThumbnail .swiper-wrapper {justify-content: flex-start;flex-wrap: wrap;gap:calc(6.1% / 3);}
#works_detail .column .swiper_box .swiperThumbnail .swiper-wrapper .swiper-slide {inline-size: min(190px,23.475%) !important;margin-block-end: 0.75em;cursor: pointer;}
#works_detail .column .swiper_box .swiperThumbnail .swiper-wrapper .swiper-slide img {inline-size: min(190px,100%);}
#works_detail .column .data {border-block: 1px solid #7d7d7d;margin-block: 3.5em 2em;padding-block: 0.5em;}
#works_detail .column .data .dl {}
#works_detail .column .data .dl .dt {inline-size: 13.25em;text-align: center;font-size: 1.111em;letter-spacing: 0.05em;font-weight: 500;}
#works_detail .column .data .dl .dd {padding-inline-start: 1.25em;}
#works_detail .column .data .dl .dd .ul {}
#works_detail .column .data .dl .dd .ul .list {list-style-type: disc;padding-block: 0.25em;letter-spacing: 0.05em;}
#works_detail .column .more2 {inline-size: min(240px,15.25em);margin-inline: auto;border-block-end: 1px solid #000;color: #000;letter-spacing: 0.1em;font-size: 0.889em;padding-block-end: 1.25em;padding-inline-end: 0.5em;font-weight: 500;text-align: right;margin-block-start: 5em;transition: all 0.3s;}
#works_detail .column .more2:hover .arrow {inset: 37% auto auto 0.25em;}
#works_detail .column .more2 .arrow {inline-size: 1.5em;border-block-end: 1px solid #000;inset: 37% auto auto 0.65em;transform: translateY(-50%);transition: all 0.3s;}
#works_detail .column .more2 .arrow:before {content: "";position: absolute;inline-size: 0.75em;block-size: 1px;background-color: #000;inset: auto auto -1px 0;transform: rotate(-35deg);transform-origin: left;}


.contact_top {background-image: url(../img/contact/page_top.jpg);background-repeat: no-repeat;background-position: center;background-size: cover;padding: 3.25em 2em 4.65em 4.5em;}
#contact {padding-block: 5.5em 5em;}
#contact .inner {padding: 4em 13.5em 5.5em 13.5em;}
#contact .top {border-block-end: 1px solid #afafaf;padding-block-end: 2.5em;}
#contact .top .p_1 {letter-spacing: 0.05em;line-height: 2.4;border-block-end: 1px solid #afafaf;padding-block-end: 2.75em;}
#contact .top .ttl {margin-block-start: 2.25em;}
#contact .top .ttl .small {}
#contact .top .link {inline-size: fit-content;padding: 0.45em 5.75em 0.45em 5.5em;font-size: 1.123em;letter-spacing: 0.125em;margin-block-start: 2.7em;border-radius: 100vmax;transition: all 0.3s;border: 1px solid var(--base-blue3);}
#contact .top .link:hover {background-color: #fff;color: var(--base-blue3);}
#contact .top .link .material-symbols-rounded {font-weight: 100;font-size: 1.85em;vertical-align: middle;margin-inline-end: 0.15em;transform: translateY(-3px);transition: all 0.3s;}
#contact .top .link:hover .material-symbols-rounded {color: var(--base-blue3);}
#contact .top .p_2 {margin-block-start: 1.35em;letter-spacing: 0.05em;}
#contact .bottom {padding-block-start: 4.25em;}
#contact .bottom .ttl {margin-block-end: 1.125em;padding-inline-start: 0.125em;}
#contact .bottom .ttl .small {margin-block-start: 0.825em;}
#contact .bottom .p_3 {letter-spacing: 0.05em;line-height: 2.4;}
#contact #form_top {padding-inline: 5.35em;margin-block-start: 3.5em;}
#contact #form_top .dl {margin-block-end: 1.25em;}
#contact #form_top .conf_dl {border-block-end: 1px solid #bababa;padding-block-end: 1em;}
#contact #form_top .dl .dt {font-size: 1.010em;letter-spacing: 0.03em;font-weight: 600;margin-block-end: 0.95em;padding-inline-start: 0.125em;}
#contact #form_top .dl .dt .small {font-size: 0.898em;}
#contact #form_top .dl .dt .h {background-color: #ab1717;padding: 0.3em 0.9em 0.35em 0.9em;border-radius: 100vmax;font-size: 0.834em;margin-inline-start: 0.85em;letter-spacing: 0.075em;font-weight: 400;}
#contact #form_top .dl .dt .n {background-color: #4c4c4c;padding: 0.3em 0.9em 0.35em 0.9em;border-radius: 100vmax;font-size: 0.834em;margin-inline-start: 0.85em;letter-spacing: 0.075em;font-weight: 400;}
#contact #form_top .dl .dd {}
#contact #form_top .dl .dd .error {}
#contact #form_top .dl .dd input[type="text"] {inline-size: 100%;font-size: 1.01em;letter-spacing: 0.05em;font-family: inherit;padding: 0.75em 0.5em;border: 2px solid #bababa;border-radius: 0;}
#contact #form_top .dl .dd input[type="tel"] {inline-size: 100%;font-size: 1.01em;letter-spacing: 0.05em;font-family: inherit;padding: 0.75em 0.5em;border: 2px solid #bababa;border-radius: 0;}
#contact #form_top .dl .dd input[type="email"] {inline-size: 100%;font-size: 1.01em;letter-spacing: 0.05em;font-family: inherit;padding: 0.75em 0.5em;border: 2px solid #bababa;border-radius: 0;}
#contact #form_top .dl .dd textarea {inline-size: 100%;font-size: 1.01em;letter-spacing: 0.05em;font-family: inherit;padding: 0.75em 0.5em;border: 2px solid #bababa;resize: none;block-size: auto;aspect-ratio: 4.5 / 1;border-radius: 0;}
#contact #form_top .privacy_link {color: #003360;inline-size: fit-content;border-block-end: 1px solid #5d718a;line-height: 1;letter-spacing: 0.05em;margin-block-start: 3em;transition: all 0.3s;}
#contact #form_top .privacy_link:hover {color: #5d718a;}
#contact #form_top .send_btn {margin-block-start: 2.7em;inline-size: fit-content;}
#contact #form_top .send_btn input[type="submit"] {appearance: none;border: 1px solid var(--base-blue1);font-family: inherit;letter-spacing: 0.125em;font-size: 1.179em;cursor: pointer;padding: 0.6em 5.45em 0.55em 5.45em;border-radius: 100vmax;transition: all 0.3s;}
#contact #form_top .send_btn:hover input[type="submit"] {background-color: #fff;color: var(--base-blue1);}
#contact #form_top .send_btn .material-symbols-rounded {font-weight: 100;inset: 50% 0.15em auto auto;transform: translateY(-50%);font-size: 2.582em;pointer-events: none;transition: all 0.3s;}
#contact #form_top .send_btn:hover .material-symbols-rounded {inset: 50% 0em auto auto;color: var(--base-blue1);}
#contact #form_top .send_conf {inline-size: min(800px,75%);margin-block-start: 4em;}
#contact #form_top .send_conf .link {transition: all 0.3s;inline-size: 48%;padding-block: 0.75em;font-size: 1.125em;letter-spacing: 0.125em;border-radius: 100vmax;}
#contact #form_top .send_conf .link .material-symbols-rounded {transition: all 0.3s;font-size: 2.25em;font-weight: 100;transform: translateY(-50%);pointer-events: none;}
#contact #form_top .send_conf .link.back {border: 1px solid #3b3b3b;}
#contact #form_top .send_conf .link.back:hover {background-color: #fff;color: #3b3b3b;}
#contact #form_top .send_conf .link.back .material-symbols-rounded {inset: 50% auto auto 0.25em;}
#contact #form_top .send_conf .link.back:hover .material-symbols-rounded {color: #3b3b3b;inset: 50% auto auto 0;}
#contact #form_top .send_conf .link.post {border: 1px solid var(--base-blue1);}
#contact #form_top .send_conf .link.post:hover {background-color: #fff;color: var(--base-blue1);}
#contact #form_top .send_conf .link.post .material-symbols-rounded {inset: 50% 0.25em auto auto;}
#contact #form_top .send_conf .link.post:hover .material-symbols-rounded {color: var(--base-blue1);inset: 50% 0 auto auto;}












