// ブレイクポイントを指定 $tab: 960px; $sp: 767px; @mixin tab { @media screen and (max-width: ($tab)) { @content; } } @mixin ttab { @media screen and (max-width: ($ttab)) { @content; } } @mixin sp { @media screen and (max-width: ($sp)) { @content; } } .title { position: relative; margin-bottom: 40px; &:before { position: absolute; content: ""; width: 100%; height: 0; border-bottom: 2px solid; top: 19px; } h2 { font-size: 32px; padding-left: 40px; padding-right: 15px; margin-left: 15px; line-height: 1.2em; position: relative; width: fit-content; background: #F9F9F9; font-family: "Inter", sans-serif; color: #1A007C; span { font-family: 'Noto Sans JP', sans-serif; display: block; color: #1DA6CB; font-size: 14px; font-weight: 500; } } } .title_h2 { width: 600px; padding: 0 0 16px !important; font-size: 32px; border-bottom: 2px solid #CBCBCB; margin-bottom: 40px; position: relative; @include tab { width: 100%; } @include sp { font-size: 20px; padding-bottom: 8px !important; } &:before { position: absolute; content: ""; bottom: -2px; left: 0; width: 80px; height: 2px; background: #1DA6CB; @include sp { width: 40px; } } } .p-breadcrumbs { margin-top: 8px; .p-breadcrumbs__list { display: flex; gap: 20px; align-items: center; .p-breadcrumbs__list-item { font-size: 14px; position: relative; &:before { position: absolute; content: ""; right: -12px; top: 50%; transform: translateY(-50%); width: 4px; height: 4px; border-radius: 50px; background: #0F0143; } &.last:before { display: none; } } } } .company_about_wrap { margin-top: 120px; @include sp { margin-top: 80px; } .company_about_content { display: flex; gap: 120px; align-items: flex-start; @media screen and (max-width: 1150px) { gap: 60px; } @include tab { flex-direction: column-reverse; gap: 40px; } p { max-width: 620px; width: 50%; @include tab { width: 100%; max-width: none; } } img { max-width: 640px; width: 50%; height: auto; @include tab { width: 100%; margin: 0 auto; } } } } .company_philosophy_wrap { margin-top: 160px; @include sp { margin-top: 120px; } .philosophy_list { background: #fff; padding: 40px; @include sp { padding: 40px 5vw; } li { display: flex; gap: 40px; align-items: center; margin-bottom: 32px; @include tab { flex-direction: column; align-items: flex-start; gap: 16px; } @include sp { margin-bottom: 24px; } &:last-child { margin-bottom: 0; } .num { background: #1A007C; padding: 8px 0 8px 30px; width: 160px; color: #fff; font-size: 18px; font-weight: 500; font-family: "Inter", sans-serif; flex-shrink: 0; @include sp { width: 120px; font-size: 12px; padding: 6px 0 6px 20px; } span { font-size: 24px; color: #fff; font-weight: bold; font-family: "Inter", sans-serif; @include sp { font-size: 20px; } } } .text { font-size: 24px; font-weight: 500; @include sp { font-size: 18px; } } } } } .company_greeting_wrap{ margin-top: 120px; .greeting_content { background: #fff; margin-top: 40px; padding: 40px 0 120px; .width { display: flex; gap: 80px; justify-content: center; position: relative; align-items: flex-start; @include tab { flex-direction: column; gap: 24px; } img { max-width: 420px; @include tab { max-width: 240px; display: block; margin: 0 auto; } } div { max-width: 660px; .font-s { margin-bottom: 8px; } .font-ll { margin: 16px 0 40px; font-weight: 500; @include sp { font-size: 24px; margin: 0 0 40px; } } .font-m { color: #1A007C; font-size: 20px; margin-bottom: 24px; @include sp { font-size: 16px; margin-bottom: 40px; } } .black { margin-bottom: 40px; } } } h3 { margin-top: 80px; justify-content: flex-start !important; font-size: 32px; @include tab { align-items: center; } @include sp { font-size: 20px; } } .career_list { margin-top: 32px; max-width: 1140px; flex-direction: column; gap: 32px; position: relative; padding-bottom: 40px; @include sp { gap: 0; } &:before { content: ""; position: absolute; width: 1px; height: 100%; background: #0F0143; left: 90px; top: 0; @include sp { left: 60px; } } div { position: absolute; left: 87px; bottom: -40px; display: flex; flex-direction: column; gap: 8px; @include sp { left: 58px; } span { width: 6px; height: 6px; border-radius: 50px; background: #0F0143; } } li { display: flex; gap: 35px; font-size: 18px; align-items: flex-start; width: 100%; @include sp { gap: 8px; } .num { position: relative; padding-left: 16px; padding: 8.5px 0 8.5px 16px; background: #fff; flex-shrink: 0; @include sp { font-size: 16px; font-weight: 500; padding-top: 16px; } &:before { position: absolute; content: ""; left: 0; top: 50%; transform: translateY(-50%); width: 8px; height: 8px; border-radius: 50px; background: #1DA6CB; } } .text { padding-bottom: 16px; border-bottom: 1px solid #CBCBCB; padding-top: 8.5px; width: 100%; @include sp { padding-top: 16px; } } } } } } .company_profile_wrap { margin-top: 160px; @include sp { margin-top: 120px; } .profile_list { width: 100%; max-width: 1100px; margin: 0 auto; li { display: flex; align-items: stretch; gap: 0; border-bottom: 1px solid #fff; @include sp { flex-direction: column; } .title { margin: 0; flex-shrink: 0; background: #1DA6CB; color: #fff; width: 28%; padding: 22px 0; text-align: center; font-size: 18px; font-weight: 500; @include sp { width: 100%; text-align: left; padding: 16px 20px; font-size: 16px; } &::before { display: none; } } .text { margin: 0; flex-shrink: 0; width: 72%; padding: 22px 5%; border: none; background: #fff; @include sp { width: 100%; padding: 16px 20px; } } } } } .service_top_wrap { margin-top: 120px; display: flex; justify-content: space-between; align-items: flex-start; gap: 5%; @include tab { flex-direction: column; gap: 40px; padding: 0; } @include sp { margin-top: 80px; } .service_top_content { max-width: 560px; width: 50%; @include tab { max-width: none; width: 100%; } .font-l { font-size: 20px; font-weight: bold; margin-bottom: 40px; @include tab { width: 90%; margin: 0 auto 40px; } @include sp { font-size: 18px; } } ul { width: 100%; > li { background: #fff; border-bottom: 1px solid #0F0143; a { font-size: 20px; padding: 30px 0 30px 24px; display: flex; gap: 24px; align-items: center; font-weight: 500; cursor: pointer; position: relative; @media screen and (max-width: 1250px) { font-size: 18px; } @include tab { padding: 30px 5vw; } @include sp { gap: 16px; font-size: 16px; padding: 20px 5vw; } .num { color: #989898; font-size: 20px; font-weight: 500; font-family: "Inter", sans-serif; @media screen and (max-width: 1250px) { font-size: 18px; } @include sp { font-size: 16px; } } .dli-chevron-down { display: inline-block; vertical-align: middle; color: #0F0143; line-height: 1; right: 10%; width: 10px; height: 10px; top: 39.5px; border: 1px solid currentColor; border-left: 0; border-bottom: 0; box-sizing: border-box; transform: rotateX(0deg) rotateZ(45deg); position: absolute; @media screen and (max-width: 1250px) { top: 38px; right: 7.5%; } @include sp { width: 7px; height: 7px; right: 5%; top: 28px; } &:before { position: absolute; content: ""; width: 32px; height: 32px; border: 1px solid #0F0143; border-radius: 50px; left: -10px; top: -14px; @include sp { width: 24px; height: 24px; left: -9px; top: -11px; } } } &:hover { color: #1EA6CB; .dli-chevron-down { right: 7.5%; color: #1EA6CB; &:before { border: 1px solid #1EA6CB; } } } } } } } img { max-width: 600px; width: 50%; @include tab { margin: 0 auto; width: 90%; } } } .service_business_wrap { margin-top: 160px; .service_business_list { > li { margin-bottom: 160px; display: flex; justify-content: space-between; align-items: flex-start; position: relative; @include tab { flex-direction: column; margin-bottom: 80px; } .left_wrap { width: 360px; flex-shrink: 0; position: sticky; top: 125px; @include tab { width: 100%; position: relative; top: 0; } ul { @include tab { display: none; } } .num { background: #1A007C; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 24px; font-weight: bold; margin-bottom: 24px; font-family: "Inter", sans-serif; @include tab { width: 40px; height: 40px; font-size: 20px; margin-bottom: 16px; } } h3 { font-size: 20px; font-weight: 500; padding-bottom: 16px; border-bottom: 1px solid; color: #1A007C; margin-bottom: 24px; @include tab { font-size: 18px; } } a { display: block; margin-bottom: 16px; padding-left: 21px; position: relative; color: #0F0143; &:before { position: absolute; content: ""; width: 18px; height: 18px; background: #0F0143; left: 0; top: 6.5px; } &:hover { color: #1DA6CB; &:before { background: #1DA6CB; } } } } .right_wrap { background: #fff; max-width: 920px; width: 70%; padding: 40px; @include tab { width: 100vw; max-width: none; margin-left: -5vw; padding: 40px 5vw; } @include tab { padding: 24px 5vw; } ul { li { display: flex; gap: 80px; padding-bottom: 40px; border-bottom: 1px solid; margin-bottom: 40px; align-items: flex-start; @include tab { gap: 0; padding-bottom: 24px; margin-bottom: 24px; } .font-m { margin-bottom: 24px; padding-left: 21px; position: relative; @include tab { font-size: 18px; margin-bottom: 16px; } &:before { position: absolute; content: ""; width: 18px; height: 18px; background: #0F0143; left: 0; top: 6.5px; @include tab { top: 5.5px; } } } .pc_none { display: none; @include tab { display: block; margin: 0 auto 24px !important; max-width: 320px !important; width: 100% !important; } } img { max-width: 320px; width: 100%; height: auto; @include tab { display: none; } } } } } &#project { .right_wrap { .font-s:first-child { margin-bottom: 40px; } #project1 { flex-direction: column; gap: 40px; img { width: 90%; margin: 0 auto; max-width: none; } } } } &#investment { .right_wrap { li:last-child { border: none; } } } &#estate{ .right_wrap { div { display: flex; justify-content: space-between; margin-bottom: 40px; align-items: flex-start; @include tab { flex-direction: column-reverse; } .font-s { width: 50%; @include tab { width: 100%; } } img { width: 320px; @include tab { max-width: 320px; width: 100%; margin: 0 auto 24px; } } } ul { margin-top: 40px; @include sp { margin-top: 24px; } li { flex-direction: column; gap: 16px; padding-bottom: 16px; margin-bottom: 16px; @include sp { gap: 8px; padding-bottom: 8px; } .font-m { padding: 0; margin: 0; @include sp { font-size: 16px; } &:before { display: none; } } } } } } } } } .contact { .form_wrap { margin-top: 80px; .flow_content { display: flex; justify-content: center; gap: 120px; margin-bottom: 80px; @include sp { gap: 68px; } p { position: relative; padding-top: 48px; width: 50px; text-align: center; color: #1A007C; font-size: 24px; font-weight: 500; @include sp { font-size: 20px; padding-top: 32px; } &:before { position: absolute; content: ""; width: 40px; height: 40px; top: 0; left: 5px; background: #1A007C; border-radius: 50px; @include sp { width: 24px; height: 24px; left: 14px; } } &:after { position: absolute; content: ""; width: 80px; height: 2px; top: 19.5px; right: -100px; background: #CBCBCB; @include sp { width: 40px; height: 2px; top: 10.5px; right: -56px; } } &.off { color: #CBCBCB; &:before { background: #CBCBCB; } } &:last-child { &:after { display: none; } } } } } .center { text-align: center; @include sp { text-align: left; } } #contactForm { max-width: 640px; margin: 80px auto 0; .form_input { margin-bottom: 32px; @include sp { margin-bottom: 24px; } .title { font-size: 18px; display: flex; align-items: center; margin-bottom: 16px; font-weight: 500; @include sp { font-size: 16px; } &:before { display: none; } span { background: #DF4040; font-size: 12px; color: #fff; padding: 4px 8px; margin-right: 24px; font-weight: 400; @include sp { font-size: 10px; margin-right: 16px; } &.ninni { background: #A0A0A0; } } } input { display: block; border: 1px solid #0F0143; padding: 11px 24px; font-size: 18px; width: 100%; @include sp { width: 100%; font-size: 16px; padding: 8px 16px; } &.half { width: 320px; @include sp { width: 100%; } } } select { display: block; border: 1px solid #0F0143; padding: 11px 24px; font-size: 18px; width: 100%; @include sp { font-size: 16px; padding: 8px 16px; } &.half { width: 320px; @include sp { width: 100%; } } } textarea { display: block; border: 1px solid #0F0143; padding: 11px 24px; font-size: 18px; width: 100%; height: 160px; @include sp { font-size: 16px; padding: 8px 16px; } &.half { width: 320px; @include sp { width: 100%; } } } &.checkbox { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 0; div { display: flex; align-items: center; gap: 16px; } input { width: auto; cursor: pointer; } label { display: flex; margin: 0; cursor: pointer; gap: 16px; font-size: 14px; @include sp { font-size: 12px; } a { text-decoration: underline; display: flex; gap: 8px; align-items: flex-end; font-size: 14px; position: relative; img { position: relative; bottom: 2px; width: 10px; } @include sp { font-size: 12px; } } } } &.error { input { border: 1px solid #DF4040; } select { border: 1px solid #DF4040; } textarea { border: 1px solid #DF4040; } .error { margin-top: 8px; color: #DF4040; } } } .link_btn { background: #fff; border: none; cursor: pointer; margin: 0 auto; &:hover { background: #0F0143; span { color: #fff; } } } &.confirm_content { .font-s:last-child { margin-left: 64px; font-size: 18px; @include sp { font-size: 16px; margin-left: 54px; } } } } p:has(.wpcf7-submit) { width: 280px; height: 64px; display: flex; justify-content: center; align-items: center; position: relative; cursor: pointer; margin: 80px auto 40px; background: #fff; &:before { position: absolute; content: ""; left: 0; top: 0; width: 12px; height: 100%; background: #0F0143; } .wpcf7-submit { width: 100%; height: 100%; cursor: pointer; background: none; border: none; font-size: 20px; } .wpcf7-spinner { display: none; } &:hover { background: #0F0143; .wpcf7-submit { color: #fff; } } } .back_btn { margin: 0 auto; display: block; background: none; border: none; cursor: pointer; font-size: 16px; padding: 0 20px 8px; border-bottom: 1px solid; &:hover { opacity: 0.7; } } &.thanks { .form_wrap { .flow_content p:after { background: #1A007C; } .font-l { text-align: center; margin-bottom: 24px; font-weight: 500; @include sp { font-size: 18px; } } .font-s { width: fit-content; margin: 0 auto; font-size: 18px; @include sp { font-size: 14px; } } .link_btn { margin: 80px auto 0; } } } } .privacy { .title_h2 { margin-top: 80px; } .privacy_text { max-width: 1120px; margin: 0 auto; h3 { margin: 40px 0 16px; } ul { margin-top: 16px; li { padding-left: 1em; position: relative; margin-bottom: 6px; &:before { position: absolute; content: "・"; left: 1px; } &.second { margin-left: 1em; } } } a { display: block; text-decoration: underline; margin-top: 10px; } } }