@charset "utf-8";
/* top css */

html,
body {
overflow-x: hidden;
overflow-x: clip;
}

:root {
/* ------------------------------
Fluid font scale
768px → 1920px
------------------------------ */

--fs-50-40: clamp(4rem, calc(3.333rem + 0.868vw), 5rem);
--fs-30-24: clamp(2.4rem, calc(2rem + 0.521vw), 3rem);
--fs-28-22: clamp(2.2rem, calc(1.8rem + 0.521vw), 2.8rem);
--fs-24-18: clamp(1.8rem, calc(1.4rem + 0.521vw), 2.4rem);
--fs-22-18: clamp(1.8rem, calc(1.533rem + 0.347vw), 2.2rem);
--fs-20-15: clamp(1.5rem, calc(1.167rem + 0.434vw), 2rem);
--fs-18-14: clamp(1.4rem, calc(1.133rem + 0.347vw), 1.8rem);
--fs-15-13: clamp(1.3rem, calc(1.167rem + 0.174vw), 1.5rem);

/* ------------------------------
Semantic font roles
------------------------------ */

--fs-section-en: var(--fs-50-40);
--fs-section-copy: var(--fs-28-22);
--fs-content-heading: var(--fs-24-18);
--fs-link-heading: var(--fs-20-15);
--fs-lead: var(--fs-18-14);
--fs-body: var(--fs-15-13);
}


/*-------------------------------------------------
TOP OPENING VARIABLES
-------------------------------------------------*/

#page_home {
--top-kv-final-top: calc(clamp(220px, 18vw, 270px) + 30px);
--top-kv-final-left: 60px;
--top-kv-final-width: calc(100% - 60px);
--top-kv-final-height: calc(100svh - var(--top-kv-final-top));
}


/*-------------------------------------------------
opening中のスクロール停止
-------------------------------------------------*/

html.is-top-opening,
body.is-top-opening {
overflow: hidden;
}


/*-------------------------------------------------
ローディング
-------------------------------------------------*/

#top_loading {
position: fixed;
inset: 0;
z-index: 999999;
overflow: hidden;
background: transparent;
pointer-events: auto;
}
.loading_logo {
position: absolute;
top: 50%;
left: 50%;
z-index: 4;
width: min(250px, 70vw);
opacity: 0;
visibility: hidden;
}
.loading_logo img {
display: block;
width: 100%;
height: auto;
}


/*-------------------------------------------------
loading_panel
-------------------------------------------------*/

.loading_panel {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
will-change: transform;
}
.loading_panel_white {
z-index: 3;
background: #fff;
}
.loading_panel_beige {
z-index: 2;
background: #f6e8dc;
}

/*-------------------------------------------------
loading_curve
-------------------------------------------------*/

.loading_curve_wrap {
position: absolute;
top: 0;
left: -145px;
width: 150px;
height: 100%;
transform-origin: right center;
will-change: transform;
}
.loading_curve {
position: absolute;
top: 0;
left: 0;
width: 150px;
height: 100vh;
height: 100svh;
overflow: hidden;
}
.loading_curve::before {
content: "";
position: absolute;
top: 50%;
left: 0;
width: 200%;
height: 200vh;
border-radius: 50%;
transform: translateY(-50%);
}
.loading_panel_white .loading_curve::before {
background: #fff;
}
.loading_panel_beige .loading_curve::before {
 background: #f6e8dc;
}

@media all and (max-width: 767px) {
.loading_curve::before {
width: 150%;
}
}

/* JavaScript初期化前のチラつき防止 */
body.is-top-opening .top_hero,
body.is-top-opening header {
visibility: hidden;
}
body.is-top-ready .top_hero {
visibility: visible;
}
body.is-top-ready header {
visibility: visible;
}


/*-------------------------------------------------
top_stage
-------------------------------------------------*/

.top_stage {
position: relative;
z-index: 1;
background: transparent;
}


/*-------------------------------------------------
top_hero
-------------------------------------------------*/

.top_hero {
position: relative;
z-index: 1;
width: 100%;
height: calc(var(--top-kv-final-top) + 145svh);
background: #fff;
isolation: isolate;
}
.top_visual {
position: absolute;
top: 0;
left: 0;
z-index: 1;
width: 100%;
height: 100vh;
height: 100svh;
will-change: top, left, width, transform;
}


/*-------------------------------------------------
top_kv
-------------------------------------------------*/

.top_kv {
position: absolute;
inset: 0;
z-index: 1;
width: 100%;
height: 100%;
overflow: hidden;
/* 黒透過の初期値 */
--kv-overlay: 0;
}
.top_kv::after {
content: "";
position: absolute;
inset: 0;
z-index: 2;
background: rgba(0, 0, 0, var(--kv-overlay));
pointer-events: none;
will-change: background-color;
}
.top_kv picture,
.top_kv img {
position: relative;
z-index: 1;
display: block;
width: 100%;
height: 100%;
}
.top_kv img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center center;
filter: blur(0px);
transform-origin: center center;
will-change: transform, filter;
backface-visibility: hidden;
}


/*-------------------------------------------------
オレンジ矩形
-------------------------------------------------*/

.top_accent {
position: absolute;
top: 209px;
left: calc(var(--top-kv-final-left) * -1);
z-index: 0;
width: 100vw;
height: calc(100% - 209px);
/*background-color: #f38b11;*/
/*background-color: #EB6700;*/
background-image: linear-gradient(180deg, #f38b11, #ea6614);
-webkit-clip-path: polygon(0 0, 100% 70%, 100% 100%, 0 100%);
clip-path: polygon(0 0, 100% 70%, 100% 100%, 0 100%);
pointer-events: none;
}


/*-------------------------------------------------
kv キャッチコピー
-------------------------------------------------*/

.top_copy {
position: absolute;
top: clamp(105px, 8vw, 135px);
left: clamp(70px, 10vw, 150px);
z-index: 3;
opacity: 0;
visibility: hidden;
color: #111;
}
.top_copy_en {
margin-bottom: 13px;
font-family: balboa, sans-serif;
font-size: clamp(6.5rem, 6.2vw, 10.0rem);
font-weight: 300;
line-height: 0.95;
letter-spacing: 0.03em;
}
.top_copy_ja {
font-size: clamp(1.5rem, 1.45vw, 2.3rem);
font-weight: 500;
line-height: 1.5;
letter-spacing: 0.2em;
}
.top_copy_mask {
display: block;
overflow: hidden;
}
.top_copy_inner {
display: block;
will-change: transform;
}

@media all and (max-width : 1024px ){
.top_copy_en {
margin-bottom: 10px;
}
}

@media all and (max-width : 820px ){
.top_copy_en {
margin-bottom: 8px;
}
}


/*---------------------------------
TOP SNS
---------------------------------*/

.top_sns{
position:absolute;
left: -40px;
bottom: 33%;
z-index:5;
display:flex;
flex-direction:column;
gap:18px;
}
.top_sns li{
line-height:1;
}
.top_sns a{
display:flex;
justify-content:center;
align-items:center;
width:22px;
height:22px;
transition:.4s;
}
.top_sns img{
display:block;
width:100%;
height:auto;
}
.top_sns a:hover{
opacity:.6;
transform:translateY(-3px);
}

@media all and (max-width : 1024px ){
.top_sns {
display: none;
}
}


/*-------------------------------------------------
タブレット
-------------------------------------------------*/

@media all and (max-width: 1024px) {
#page_home {
--top-kv-final-top: 220px;
--top-kv-final-left: 30px;
--top-kv-final-width: calc(100% - 30px);
--top-kv-final-height: calc(100svh - var(--top-kv-final-top));
}
.top_copy {
top: 105px;
left: 60px;
}
}


/*-------------------------------------------------
sp
-------------------------------------------------*/

@media all and (max-width: 767px) {
#page_home {
--top-kv-final-top: 185px;
--top-kv-final-left: 18px;
--top-kv-final-width: calc(100% - 18px);
--top-kv-final-height: calc(100svh - var(--top-kv-final-top));
}
.loading_logo {
width: 200px;
}
.top_copy {
top: 70px;
left: 30px;
right: 20px;
}
.top_copy_en {
margin-bottom: 6px;
font-size: 4.1rem;
letter-spacing: 0.05em;
}
.top_copy_ja {
font-size: 1.3rem;
line-height: 1.6;
letter-spacing: 0.1em;
}
.top_kv img {
object-position: center center;
}
}


/*-------------------------------------------------
スクロールダウン
-------------------------------------------------*/

.scroll {
width: 135px;
height: 135px;
position: absolute;
top: 250px;
right: 5.8565%;
z-index: 4;
opacity: 0;
visibility: hidden;
will-change: opacity, transform;
}
.scroll a {
display: block;
width: 100%;
height: 100%;
position: relative;
}
.scroll a::before {
content: "";
width: 100%;
height: 100%;
background-position: center center;
background-repeat: no-repeat;
background-size: 100%;
position: absolute;
left: 0;
top: 0;
animation: scroll-bg 12s linear infinite;
}
.scroll._down a::before {
background-image: url("../img/top/scroll_down.svg");
}
.scroll a::after {
content: "";
width: 22px;
height: 30px;
background-position: center center;
background-repeat: no-repeat;
background-size: 20px auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -45%);
}
.scroll._down a::after {
background-image: url("../img/top/arrow.svg");
}

@keyframes scroll-bg {
0% {
transform: rotate(0deg);
}
100% {
transform:rotate(360deg); }
}

@media all and (max-width : 1440px ){
.scroll {
position: absolute;
top: 200px;
}
}

@media all and (max-width : 1260px ){
.scroll {
position: absolute;
top: 170px;
}
}

@media all and (max-width: 767px) {
.scroll {
width: 75px;
height: 75px;
top: 100px;
right: 15px;
}
.scroll a::after {
width: 16px;
height: 22px;
background-size: 16px auto;
}
}


/*-------------------------------------------------
header 調整
-------------------------------------------------*/

#page_home .head_logo img {
filter: brightness(0) saturate(100%);
}
.g_navi_menu li a {
color: #222;
}
.g_navi_menu li a:hover {
color: #EB6700;
}


/*-------------------------------------------------
sec_title
-------------------------------------------------*/

.sec_titlebox {
margin-bottom: 25px;
}
.sec_titlebox dt {
font-family: "Outfit", sans-serif;
font-weight: 100;
color: #EB5505;
font-size: var(--fs-50-40);
line-height: 1;
letter-spacing: 0.02em;
margin-bottom: 6px;
}
.sec_titlebox dd {
font-size: 1.4rem;
margin-left: 5px;
color: #222;
}

@media all and (max-width : 767px ){
.sec_titlebox dt {
font-size: 3.0rem;
margin-bottom: 8px;
}
.sec_titlebox dd {
font-size: 1.2rem;
margin-left: 3px;
}
}


/*-------------------------------------------------
top_concept
-------------------------------------------------*/

.top_concept .sec_titlebox dt,
.top_concept .sec_titlebox dd {
color: #fff;
}
.top_concept .sec_titlebox dt {
position: relative;
}
.top_concept {
position: relative;
z-index: 5;
min-height: 100svh;
background: transparent;
}
.top_concept_inner {
position: relative;
z-index: 2;
padding: 140px 0;
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.message_box {
width: 50%;
color: #fff;
padding-right: 4%;
opacity: 0;
visibility: hidden;
transform: translateY(70px);
will-change: opacity, transform;
}
.message_ttl {
font-size: var(--fs-30-24);
font-weight: 400;
letter-spacing: 0.4em;
margin-bottom: 30px;
}
.message_txt {
font-size: 1.8rem;
font-weight: 400;
letter-spacing: 0.15em;
line-height: 2.0
}

@media all and (max-width : 1660px ){
.top_concept_inner {
padding: 140px 0 140px 100px;
}
.message_box {
width: 56%;
padding-right: 3%;
}
.message_ttl {
padding-top: 15px;
}
}

@media all and (max-width : 1280px ){
.message_box {
width: 60%;
padding-right: 0;
}
}

@media all and (max-width : 1100px ){
.top_concept_inner {
display: flex;
flex-direction: column;
}
.message_box {
width: 95%;
padding-right: 0;
}
}

@media all and (max-width : 820px ){
.top_concept_inner {
padding: 0px 0 0px 100px;
}
.message_txt {
font-size: 1.7rem;
}
}

@media all and (max-width : 768px ){
.top_concept_inner {
padding: 0px 0 0px 70px;
}
.message_box {
width: 98%;
}
}

@media all and (max-width : 767px ){
.message_ttl {
font-size: 2.0rem;
letter-spacing: 0.25em;
margin-bottom: 20px;
}
.message_txt {
font-size: 1.4rem;
letter-spacing: 0.1em;
line-height: 1.8;
}
.top_concept_inner {
padding: 0 0 0 30px;
}
}


/*-------------------------------------------------
main
-------------------------------------------------*/

.main {
position: relative;
background: #fff;
z-index: 10;
}
.content {
padding: 0;
}
.sec_copy {
font-size: var(--fs-28-22);
font-weight: 500;
letter-spacing: 0.2em;
margin-bottom: 15px;
}
.sec_txt {
font-size: 1.5rem;
letter-spacing: 0.15em;
line-height: 1.8;
margin-bottom: 30px;
}

@media all and (max-width : 820px ){
.sec_txt {
font-size: 1.4rem;
letter-spacing: 0.1em;
}
}

@media all and (max-width : 767px ){
.sec_copy {
font-size: 1.8rem;
letter-spacing: 0.15em;
margin-bottom: 15px;
}
.sec_txt {
font-size: 1.3rem;
margin-bottom: 20px;
}
}


/*-------------------------------------------------
sec_strength
-------------------------------------------------*/

.sec_strength {
padding: 80px 0 100px;
}
.strength_box_wrap {
display: flex;
gap: 30px;
align-items: stretch;
}
.strength_box {
width: calc((100% - 60px) / 3);
display: flex;
flex-direction: column;
}
.strength_img {
margin-bottom: 15px;
}
.strength_img img {
width: 100%;
}
.strength_ttl {
display: flex;
align-items: flex-end;
margin-bottom: 20px;
}
.strength_ttl dt {
font-family: "Outfit", sans-serif;
font-weight: 300;
font-size: 2.6rem;
color: #EB6700;
letter-spacing: 0.03em;
line-height: 1;
margin-right: 10px;
}
.strength_ttl dd {
font-size: 1.3rem;
line-height: 1;
position: relative;
top: -1px;
}
.strength_txt {
font-size: 1.5rem;
margin-bottom: 20px;
flex-grow: 1;
}
.strength_number {
margin-top: auto;
font-family: "Outfit", sans-serif;
font-weight: 100;
font-size: 6.0rem;
color: #EBE5E1;
line-height: 1;
text-align: right;
position: relative;
letter-spacing: 0;
display: flex;
align-items: center;
}
.strength_number::before {
content: "";
height: 1px;
flex-grow: 1;
background-color: #d9d9d9;
margin-right: 1rem;
}

@media all and (max-width : 1100px ){
.strength_ttl dt {
font-size: 2.2rem;
}
.strength_ttl dd {
font-size: 1.2rem;
top: -2px;
}
.strength_number {
font-size: 5.0rem;
}
}

@media all and (max-width : 1024px ){
.sec_strength {
padding: 50px 0 50px;
}
.strength_box_wrap {
gap: 20px;
}
.strength_box {
width: calc((100% - 40px) / 3);
}
}

@media all and (max-width : 950px ){
.strength_ttl dt {
font-size: 2.0rem;
}
.strength_ttl dd {
font-size: 1.0rem;
top: -2px;
letter-spacing: 0.05em;
}
.strength_number {
font-size: 4.0rem;
}
}

@media all and (max-width : 820px ){
.strength_ttl dt {
font-size: 1.8rem;
}
.strength_txt {
font-size: 1.4rem;
margin-bottom: 10px;
}
.strength_number {
font-size: 3.6rem;
}
}

@media all and (max-width : 768px ){
.strength_ttl {
margin-bottom: 10px;
}
.strength_ttl dd {
display: none;
}
}

@media all and (max-width : 767px ){
.sec_strength {
padding: 30px 0 20px;
}
.strength_box_wrap {
display: flex;
flex-direction: column;
gap: 0px;
}
.strength_box {
width: 100%;
margin-bottom: 20px;
}
.strength_ttl {
margin-bottom: 15px;
}
.strength_ttl dt {
font-size: 2.2rem;
}
.strength_ttl dd {
display: block;
font-size: 1.2rem;
letter-spacing: 0.1em;
}
.strength_txt {
font-size: 1.35rem;
letter-spacing: 0.1em;
}
.strength_number {
font-size: 4.0rem;
}
}


/*-------------------------------------------------
sec_service
-------------------------------------------------*/

.sec_service {
margin-bottom: 100px;
}
.intro_imgbox {
position: relative;
width: 100%;
padding-top: 25.52%;
overflow: hidden;
margin-bottom: 40px;
}
.intro_img {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
display: block;
}
.intro_img img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.intro_img::after {
content: "";
display: block;
background: #000;
opacity: .2;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}

@media all and (max-width : 820px ){
.sec_service {
margin-bottom: 60px;
}
.intro_imgbox {
padding-top: 28.52%;
}
.sec_service .generic {
display: none;
}
}

@media all and (max-width : 767px ){
.intro_imgbox {
padding-top: 31.52%;
margin-bottom: 20px;
}
}

/*-------------------------------------------------
service_panel
-------------------------------------------------*/

.service_panel {
position: relative;
display: flex;
justify-content: space-between;
align-items: stretch;
padding-top: 30px;
margin-bottom: 20px;
}


/*-------------------------------------------------
service_visual
-------------------------------------------------*/

.service_visual {
position: relative;
width: 39%;
min-height: 600px;
overflow: hidden;
}
.service_visual_thumb {
position: absolute;
inset: 0;
overflow: hidden;
background: #eee;
}
.service_visual_img {
position: absolute;
inset: 0;
display: block;
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0;
transform: scale(1.015);
transition:
opacity 0.55s ease,
transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
will-change: opacity, transform;
}
.service_visual_img.is-current {
z-index: 2;
opacity: 1;
transform: scale(1);
}
.service_visual_img.is-next {
z-index: 1;
opacity: 0;
transform: scale(1.015);
}

/*-------------------------------------------------
service_visual mask
-------------------------------------------------*/

.service_visual.maskLR .service_visual_thumb {
opacity: 0;
visibility: hidden;
}
.service_visual.maskLR.on .service_visual_thumb {
opacity: 1;
visibility: visible;
transition:
opacity 0s linear 0.55s,
visibility 0s linear 0.55s;
}


/*-------------------------------------------------
service_content
-------------------------------------------------*/

.service_content {
width: 55%;
padding: 15px 8% 25px 0;
}
.service_heading {
margin-bottom: 15px;
}
.service_heading_en {
font-family: "Outfit", sans-serif;
font-size: 1.6rem;
font-weight: 300;
letter-spacing: 0.02em;
color: #EB5505;
margin-bottom: 8px;
}
.service_heading_ja {
font-size: var(--fs-28-22);
font-weight: 500;
letter-spacing: 0.2em;
}

@media all and (max-width : 1440px ){
.service_content {
padding: 15px 5% 25px 0;
}
}

@media all and (max-width : 1024px ){
.service_content {
width: 57%;
padding: 15px 4% 20px 0;
}
}


/*-------------------------------------------------
service_list
-------------------------------------------------*/

.service_item {
border-bottom: 1px solid #d9d9d9;
}
.service_link {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
transition: opacity 0.35s ease;
}
.service_item_body {
position: relative;
flex: 1;
padding: 40px 10px 45px 10px;
transition:
padding-left 0.35s ease,
opacity 0.35s ease;
}
.service_item_body::after {
content: "";
position: absolute;
left: 0;
bottom: -1px;
width: 100%;
height: 1px;
background: #523C3C;
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.35s ease;
}
.service_item_en {
font-family: "Outfit", sans-serif;
font-size: 1.2rem;
font-weight: 400;
line-height: 1;
letter-spacing: 0.05em;
margin-bottom: 12px;
}
.service_item_en span {
display: inline-block;
font-size: 1.2rem;
margin-left: 3px;
}
.service_item_title {
font-size: var(--fs-24-18);
font-weight: 500;
line-height: 1.6;
letter-spacing: 0.1em;
}
.service_more {
position: absolute;
right: 10px;
bottom: 20px;
font-family: "Outfit", sans-serif;
font-size: 1.4rem;
letter-spacing: 0.05em;
padding-right: 30px;
transition:
right 0.35s ease,
padding-right 0.35s ease;
}
.service_more::after {
content: "";
position: absolute;
top: 50%;
right: 4px;
width: 14px;
height: 10px;
background: url("../img/top/btn_arrow.svg") center / contain no-repeat;
transform: translateY(-50%);
}

/* PCでは項目内サムネイルを非表示 */
.service_item_thumb {
display: none;
}


/*-------------------------------------------------
service hover
-------------------------------------------------*/

@media all and (min-width: 768px) and (hover: hover) and (pointer: fine) {
.service_panel.is-hovering .service_link {
opacity: 0.25;
}
.service_panel.is-hovering .service_link.is-active {
opacity: 1;
}
.service_link:hover .service_item_body,
.service_link.is-active .service_item_body {
padding-left: 30px;
}
.service_link:hover .service_item_body::after,
.service_link.is-active .service_item_body::after {
transform: scaleX(1);
}
.service_link:hover .service_more,
.service_link.is-active .service_more {
right: 5px;
padding-right: 35px;
}
}


/*-------------------------------------------------
service SP
-------------------------------------------------*/

@media all and (max-width: 767px) {
.sec_service {
margin-bottom: 40px;
}
.service_panel {
display: flex;
flex-direction: column;
padding: 0 6.6666% 0;
margin-bottom: 30px;
}
.service_visual {
width: 100%;
min-height: 220px;
margin-bottom: 20px;
}
.service_content {
width: 100%;
padding: 0;
}
.service_heading {
margin-bottom: 5px;
}
.service_heading_en {
font-size: 1.2rem;
margin-bottom: 3px;
}
.service_heading_ja {
font-size: 2.0rem;
letter-spacing: 0.15em;
}
.service_link {
display: flex;
align-items: center;
min-height: 150px;
padding: 20px 0;
}
.service_item_body {
padding: 0 15px 0 0;
}
.service_item_body::after {
display: none;
}
.service_item_en {
font-size: 1.1rem;
margin-bottom: 6px;
}
.service_item_en span {
font-size: 1.2rem;
}
.service_item_title {
font-size: 1.5rem;
line-height: 1.6;
letter-spacing: 0.1em;
}
.service_more {
font-size: 1.2rem;
position: relative;
right: auto;
bottom: auto;
display: inline-block;
margin-top: 10px;
padding-right: 28px;
}
.service_item_thumb {
display: block;
flex: 0 0 86px;
width: 86px;
height: 106px;
overflow: hidden;
}
.service_item_thumb img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
}


/*-------------------------------------------------
sec_company
-------------------------------------------------*/

.sec_company {
background: #FEFBF8;
padding: 80px 0 180px;
}

@media all and (max-width : 820px ){
.sec_company {
padding: 50px 0 130px;
}
}

@media all and (max-width : 767px ){
.sec_company {
padding: 30px 0 110px;
}
}

.sec_company .sec_titlebox {
margin-bottom: 20px;
}
.company_box_wrap {
width: 100%;
padding-left: 10%;
display: flex;
justify-content: space-between;
align-items: center;
}
.company_txtbox {
width: 35%;
}
.company_copy {
font-size: var(--fs-24-18);
font-weight: 700;
letter-spacing: 0.3em;
margin-bottom: 70px;
}
.work_list {
padding: 25px 20px 25px 10px;
border-bottom: solid 1px #E5D6CB;
}
.work_list:first-of-type {
border-top: solid 1px #E5D6CB;
}
.work_list a {
display: flex;
justify-content: space-between;
align-items: center;
}
.w_cate_title {
font-size: 2.0rem;
font-weight: 500;
letter-spacing: 0.2em;
position: relative;
transform: translateX(0);
transition:
transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
color 0.35s ease;
will-change: transform;
}

@media all and (max-width : 1366px ){
.company_copy {
margin-bottom: 40px;
}
.w_cate_title {
font-size: 1.8rem;
letter-spacing: 0.1em;
}
.work_list {
padding: 20px 20px 20px 10px;
}
}

@media all and (max-width : 1100px ){
.company_copy {
margin-bottom: 30px;
letter-spacing: 0.15em;
}
.w_cate_title {
font-size: 1.6rem;
}
.work_list {
padding: 15px 10px 15px 10px;
}
}

@media all and (max-width : 767px ){
.company_copy {
font-size: 1.8rem;
padding-left: 5px;
margin-bottom: 25px;
letter-spacing: 0.2em;
}
.w_cate_title {
font-size: 1.5rem;
}
.work_list {
padding: 12px 10px 12px 10px;
}
}

.work_link_btn {
z-index: 3;
display: block;
width: 40px;
height: 40px;
margin-left: 15px;
position: relative;
border-width: 1px;
border-style: solid;
border-color: #E5D6CB;
border-image: initial;
border-radius: 50%;
transition: all 0.5s ease 0s;
}
.work_link_btn::before {
position: absolute;
z-index: 2;
display: block;
content: "";
top: 0px;
left: 15px;
bottom: 0px;
width: 6.5px;
height: 6.5px;
transform: rotate(45deg);
margin: auto;
border-top: 2px solid #C9A991;
border-right: 2px solid #C9A991;
transition: all 0.12s ease-in 0s;
}
.work_list a:hover .work_link_btn {
opacity: 1;
background-image: linear-gradient(90deg, #f38b11, #ea6614);
border: solid 1px #f38b11;
transition: all 0.5s ease 0s;
}
.work_list a:hover .work_link_btn::before {
border-top: 2px solid #fff;
border-right: 2px solid #fff;
}
.work_list a:hover .w_cate_title {
transform: translateX(18px);
}
.company_kv {
width: 59%;
}

@media all and (max-width : 820px ){
.company_box_wrap {
padding-left: 0%;
width: 90%;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.company_txtbox {
width: 100%;
margin-bottom: 30px;
}
.company_kv {
width: 100%;
}
}

@media all and (max-width : 767px ){
.company_txtbox {
margin-bottom: 25px;
}
.work_link_btn {
width: 36px;
height: 36px;
}
.work_link_btn::before {
left: 14px;
width: 5.5px;
height: 5.5px;
}
}


/*-------------------------------------------------
footer
-------------------------------------------------*/

footer {
margin-top: -160px;
}