// ブレイクポイントを指定 $tab: 960px; $sp: 767px; @mixin tab { @media screen and (max-width: ($tab)) { @content; } } @mixin sp { @media screen and (max-width: ($sp)) { @content; } } .loadinganime { background: #fff; align-items: center; display: flex; height: 100vh; justify-content: center; left: 0; position: fixed; top: 0; transition: opacity 1s ease 1s; width: 100%; z-index: 999; &.none { display: none; } &.loading .logo { opacity: 1; } &.loaded { opacity: 0; pointer-events: none; } .logo { filter: blur(0); opacity: 0; transition: opacity 1s ease,filter 1s ease; width: 545px; &.loaded { filter: blur(10px); opacity: 0; } @include sp { width: 100%; } } svg { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); @include sp { width: 100%; } } } #md .cls-1 { fill: none; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 22px; stroke-dasharray: 1500; /* この行を追加 */ stroke-dashoffset:1500; /* この行を追加 */ } #logo { .cls-1 { stroke-width: 26.75px; stroke-dasharray: 1500; /* この行を追加 */ stroke-dashoffset:1500; /* この行を追加 */ } .cls-1, .cls-2, .cls-3 { fill: none; stroke: #fff; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1500; /* この行を追加 */ stroke-dashoffset:1500; /* この行を追加 */ } .cls-2 { stroke-width: 26px; stroke-dasharray: 1500; /* この行を追加 */ stroke-dashoffset:1500; /* この行を追加 */ } .cls-3 { stroke-width: 100px; stroke-dasharray: 1500; /* この行を追加 */ stroke-dashoffset:1500; /* この行を追加 */ } } .fv_wrap { img { width: 100%; display: block; } margin-bottom: 100px; @include tab { margin-bottom: 50px; } } .about_wrap { padding: 0px 20px 0px; position: relative; margin-bottom: 50px; @include tab { padding: 0px 5vw 0; } .bg { position: absolute; width: 2000px; left: calc(50% - 1000px); z-index: 0; top: -365px; } .bg_sp_1 { position: absolute; width: 524px; top: -230px; left: -180px; z-index: 0; } .bg_sp_2 { position: absolute; width: 485px; left: 50%; top: 285px; z-index: 0; transform: translateX(-50%); } h1 { position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; @include tab { font-size: 16px; img { width: 200px; } } } .about_content { position: relative; margin-top: 75px; display: flex; align-items: center; justify-content: center; gap: 80px; @include tab { margin-top: 21.5px; gap: 25px; flex-direction: column; } img { width: 447px; @include tab { min-width: 255px; width: 50%; } } .f16 { max-width: 543px; line-height: 32px; @include tab { width: 100%; max-width: 500px; } } } } .service_wrap { padding: 0px 20px 50px; position: relative; overflow: hidden; &:before { content: ""; position: absolute; width: 100%; height: 100%; top: 300px; left: 0; z-index: 0; background: #F4F4F4; } @include tab { padding: 0px 5vw 0; } .bg { position: absolute; width: 120%; left: -10%; top: 180px; z-index: 0; } h1 { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; @include tab { font-size: 16px; img { width: 200px; } } } > .f16 { width: 900px; margin: 50px auto; position: relative; @include tab { margin: 25px 0; width: 100%; } } .service_content { position: relative; display: flex; gap: 54px; max-width: 1300px; margin: 0 auto; align-items: center; @include tab { flex-direction: column; gap: 25px; } .l-service_content { width: calc(45% - 27px); @include tab { width: 100%; max-width: 500px; } > img { width: 100%; display: block; } div { background: #fff; border-radius: 0 0 5px 5px; padding: 53px 54px 54px 35px; box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.08); @include sp { padding: 25px; } h2 { display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px; @include sp { flex-direction: column-reverse; gap: 12px; font-size: 17px; margin-bottom: 12px; img { width: 72.5px; } } } } } .r-service_content { width: calc(55% - 27px); display: flex; flex-direction: column; gap: 20px; @include tab { width: 100%; max-width: 500px; } .r-service_content_item { background: #fff; border-radius: 5px; padding: 25px 50px 25px 35px; box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.08); display: flex; align-items: center; gap: 40px; @media screen and (max-width: 1025px){ gap: 20px; } @include tab { flex-direction: column-reverse; align-items: center; gap: 25px; padding: 25px; &:last-child { margin-bottom: 50px; } } h2 { font-size: 22px; line-height: 32px; margin-bottom: 5px; text-align: center; @include sp { font-size: 17px; margin-bottom: 12px; } } img { flex-shrink: 0; @include tab { width: 72.5px; } } } } } } .company_wrap { margin: 135px auto 100px; max-width: 1350px; width: calc(100% - 40px); box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.08); border-radius: 7.5px; @include tab { margin: 25px auto; width: 90%; max-width: 500px; } h1 { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 45px 0 50px; @include tab { font-size: 16px; padding: 50px 0 15px; img { width: 200px; } } } .company_list { width: 810px; margin: 0 auto; padding-bottom: 50px; @include tab { width: 100%; padding: 0 15px 25px; } .company_list_item { border-bottom: 1px solid #BFBFBF; padding: 23px 46px; display: flex; gap: 40px; align-items: baseline; @include tab { padding: 20px 0px; gap: 25px; } &:last-child { border-bottom: none; padding-bottom: 0; .head { opacity: 0; @include tab { display: none; } } } .head { width: 130px; font-weight: 600; font-size: 16px; padding: 3.5px 0; background: #F5F5F5; color: #5A5A5A; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.16); text-align: center; border-radius: 50px; @include tab { width: 95px; font-size: 14px; padding: 5.5px 0; flex-shrink: 0; } } p { @include tab { font-size: 14px; } } iframe { border: 0; height: 292px; @include sp { height: 165px; } } } } } .recruit_wrap { max-width: 1280px; padding: 0 40px; margin: 190px auto 0; position: relative; @include tab { padding: 0 5vw; margin-top: 50px; font-size: 16px; img { width: 200px; } } h1 { text-align: left; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 0px 0 75px; @include tab { padding-bottom: 50px; } } h3 { font-size: 44px; line-height: 81px; @include tab { font-size: 27px; line-height: 42px; } } img.logo_l { max-width: 844px; width: 60%; right: 47%; height: auto; position: absolute; top: -70px; z-index: -1; @include tab { top: 0; width: 100%; right: 0; } } img.recruit { max-width: 728px; width: 50%; left: 55%; position: absolute; top: 35px; @include tab { top: 260px; width: 60%; left: unset; right: -3%; } } .contact_link { color: #fff; background: #FF0000; flex-shrink: 0; font-size: 16px; font-weight: bold; position: relative; border-radius: 50px; padding: 0 46px 0 46px; height: 67px; transition: 0.3s; display: flex; align-items: center; box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16); width: fit-content; margin-left: calc(50% - 150px); @include tab { margin: 35vw 0 0; } @include sp { height: 39px; font-size: 14px; padding: 0 13px 0 28px; } @media screen and (max-width: 1199px) { padding: 0 20px 0 40px; } @media screen and (max-width: 1050px) { font-size: 14px; } &:hover { background: #1717FD; color: #fff; &:before { background: #FF0000; } } &:before { position: absolute; content: ""; width: 14px; height: 14px; border-radius: 50px; background: #fff; left: 24px; top: 50%; transform: translateY(-50%); transition: 0.3s; @media screen and (max-width: 1199px) { left: 17px; } @include sp { left: 13px; width: 9px; height: 9px; } } } } .bg_bottom { width: 100%; @include tab { margin-top: 5vw; } }