<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";


/* reset
--------------------------------------------------------------*/
*,*::before,*::after { box-sizing: border-box; }
ul,ol { margin: 0; padding: 0; list-style: none; }
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd { margin: 0; }
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; display: block; }

/* form parts reset */
textarea { font: inherit; appearance: none; }
/*input,button,select { font: inherit; appearance: none; }*/
select { border: none; outline: none; font-weight: inherit; /*background: transparent;*/ }
button,input[type="submit"],input[type="button"] { border-radius: 0; appearance: button; border: none; outline: none; cursor: pointer; }
input[type="submit"]:focus,input[type="button"]:focus { outline-offset: -2px;}
input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration { display: none;}

/* iOS Safari tap reset */
body {-webkit-tap-highlight-color: transparent;}



/* print set
--------------------------------------------------------------*/
@media print{
html { width: 1400px; /*transform: scale(0.8);*/ transform-origin: 50% 0; }
}



/* root set
--------------------------------------------------------------*/

/* color */
:root {
    --cl-base-or: #f18e1d;
    --cl-base-gr: #7d7d7d;
    --cl-wh: #fff;
    --cl-llgr: #f5f5f5;
    --cl-lgr: #eeeeee;
    --cl-gr: #cccccc;
    --cl-bk: #333;
}

/* font-size */
:root {
    --fs-title-lg: 4.2rem; /* .c-secttitle-en .c-pagetitle-en */
    --fs-title-md: 3.5rem; /* .c-secttitle-en._md */
    --fs-title-sm: 2.75rem; /* nouse */
    --fs-title-xs: 1.6rem; /* .c-secttitle-ttl .c-pagetitle-ttl */
    --fs-txt-md: 1.4rem; /* nouse */
    --fs-txt-sm: 1.2rem; /* nouse */
    --fs-txt-xs: 1.0rem; /* .c-pagetitle-ex */
}
@media screen and (min-width: 768px) {
:root {
    --fs-title-lg: 8rem;
    --fs-title-md: 6rem;
    --fs-title-sm: 4rem;
    --fs-title-xs: 2.2rem;
    --fs-txt-md: 1.6rem;
    --fs-txt-sm: 1.4rem;
    --fs-txt-xs: 1.2rem;
    }
}

/* margin */
:root {
    --base-margin: 2.5rem;
    --half-margin: 1.25rem;
}
@media screen and (min-width: 768px) {
:root {
    --base-margin: 6rem;
    --half-margin: 3rem;
    }
}
@media screen and (min-width: 1280px) {
:root {
    --base-margin: 8rem;
    --half-margin: 4rem;
    }
}
@media screen and (min-width: 1600px) {
:root {
    --base-margin: 10rem;
    --half-margin: 5rem;
    }
}



/* base set
--------------------------------------------------------------*/
html { font-size:calc(100vw / 37.5); }
body { min-height: 100vh; text-rendering: optimizeSpeed; line-height: 1.5; -webkit-text-size-adjust:100%; color: var(--cl-bk); font-size:1.4rem;
font-family: "Noto Sans JP", sans-serif; font-weight:400; word-break: break-word; overflow-x: hidden; background-color: #fcfcfc; }
a { color: var(--cl-bk); outline:none; text-decoration:none;  }
a:hover { text-decoration:none; }
a:not([class]) { text-decoration-skip-ink: auto; }
/*
a[target="_blank"]::after { content: ""; height:1em; width: 1em; display: inline-block; margin-left:0.2rem; vertical-align: middle; background:url(/assets/images/common/ico_blank_gr.svg) no-repeat center center / 0.6em; }
a[target="_blank"]:hover::after { background-image:url(/assets/images/common/ico_blank_or.svg); }
*/
@media screen and (min-width: 768px) {
html { font-size:62.5%; }
body { font-size:1.6rem; }
}

@media screen and (min-width: 1024px) {
a { transition:0.5s; }
a::after { transition:0.5s; }
}


/* form set */
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
textarea 	{ padding:1.0rem 1.25rem; color: var(--cl-bk); background-color:var(--cl-wh); border-radius:0.6rem; border:var(--cl-gr) 1px solid; width:100%; }
textarea 	{ min-height:20rem; }
button { cursor: pointer; padding: 0; background: none; color: var(--cl-bk); }
input::placeholder,
textarea::placeholder { color:var(--cl-gr); }
/* radio set*/
label { display: inline-flex; align-items: center; }
label:hover { cursor: pointer; }
label:hover::before { border-color: var(--cl-base-or); }
label::before { content: ""; display: block; margin-right: 0.5em; border: var(--cl-gr) 1px solid; background-color: var(--cl-wh); border-radius: 100%; height: 1.5em; width: 1.5em; transition: 0.5s; }
input[type="radio"] { position: absolute; opacity: 0; }
input[type="radio"]:checked ~ label::before { background-color: var(--cl-base-or); border: var(--cl-or) 1px solid; }
@media screen and (min-width: 768px) {
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
textarea 	{ padding:1.75rem 2rem; }
}




/* utility + component class
--------------------------------------------------------------*/

/* utility */
.u-inner { position:relative; margin:0 auto; padding:0 var(--base-margin); max-width: 1920px; }
.u-only-pc { display:none; }
.u-ff-hind4 { font-family:'Hind Siliguri', sans-serif; font-weight: 400; }
.u-ff-hind7 { font-family:'Hind Siliguri', sans-serif; font-weight: 700; letter-spacing:-0.04em; transform: scaleX(1.1); transform-origin:left; line-height: 1; }
.u-linkBox-wrap { position: relative; }
.u-linkBox-link::before {content:""; position:absolute; top:0; left:0; right:0; bottom:0; }
.u-linktext-link { font-weight: 600; display: inline-flex; align-items: center; }
.u-linktext-link::after { content: ""; display: inline-block; margin-left: 0.5em; width: 1.75em; height: 1.75em; background: url(/assets/images/common/ico_arrow_or.svg) no-repeat center center / contain; transition: 0.5s; }
.u-linktext-link:hover { color: var(--cl-base-or); }
.u-linktext-link:hover::after { transform: translate(0.5em, 0);  }
@media screen and (min-width: 768px) {
.u-only-sp	{ display:none !important; }
.u-only-pc	{ display:inherit; }
}

/* u-linkarrow */
.u-linkarrow { display: grid; grid-template-columns: 1fr 3rem; align-items: center; width: fit-content; padding-right: 1rem; line-height: 1.3; }
.u-linkarrow::after { content: ""; margin-left: 1rem; width: 3rem; height: 3rem; background-color: var(--cl-bk); mask: url(/assets/images/common/ico_arw.svg) no-repeat center center / contain; }
@media screen and (min-width: 768px) {
.u-linkarrow { grid-template-columns: 1fr 4rem; transition: 0.5s; }
.u-linkarrow::after { width: 4rem; height: 4rem; transition: 0.5s; }
.u-linkarrow:hover { color: var(--cl-base-or); }
.u-linkarrow:hover::after { background-color: var(--cl-base-or); }
}



/* c-linkbtn */
.c-linktext { text-decoration: underline; padding: 0 0.25em; }
.c-linkbtn { max-width:34rem; }
.c-linkbtn a,
.c-linkbtn button { display:flex; align-items: center; justify-content: center; width:100%; color:var(--cl-wh); padding:2.5rem 2rem; text-align:center; font-weight: 600; background-color:var(--cl-bk); line-height: 1; }
.c-linkbtn a::after,
.c-linkbtn button::after { content: ""; display: inline-block; margin-left: 0.5em; width: 1.25em; height: 1.25em; background: url(/assets/images/common/ico_arrow_wh.svg) no-repeat center center / contain; }
@media screen and (min-width: 768px) {
.c-linkbtn a,
.c-linkbtn button { transition:0.5s; }
}
@media screen and (min-width: 1024px) {
.c-linkbtn a:hover,
.c-linkbtn button:hover { background-color: var(--cl-base-or); }
.c-linkbtn a:hover::after,
.c-linkbtn button:hover::after { transform: translate(0.5em, 0); }
}


/* c-pagetitle */
.c-pagetitle { padding-bottom: var(--base-margin); border-bottom: var(--cl-bk) 1px solid; margin-right: calc(-1 * var(--base-margin)); }
.c-pagetitle-ttl { font-weight: 600; font-size: var(--fs-title-xs); line-height:1.4; }
.c-pagetitle-en  { margin-top: 1rem; font-size: var(--fs-title-lg); line-height:1; width: calc(100% / 1.1); max-width: calc(96rem / 1.1); }
.c-pagetitle-lead { margin-top: var(--half-margin); max-width: 96rem; margin-right: var(--base-margin); }
.c-pagetitle-ex { margin-top: 1em; max-width: 96rem; margin-right: var(--base-margin); color: var(--cl-base-gr); font-size: var(--fs-txt-xs); }
.c-pagetitle-works { font-weight: 600; margin-right: var(--base-margin); line-height: 1.4; }


/* c-secttitle */
.c-secttitle { margin-right: calc(-1 * var(--base-margin)); }
.c-secttitle-sub { font-weight: 600; font-size: 1.2rem; margin: var(--base-margin) 0 var(--base-margin) -2em; }
.c-secttitle-sub::before { content: "―"; margin-right: 1.0em; }
.c-secttitle-en  { font-size: var(--fs-title-lg); width: calc(100% / 1.1); }
.c-secttitle-en._md  { font-size: var(--fs-title-md); }
.c-secttitle-ttl { font-weight: 600; font-size: var(--fs-title-xs); }
.c-secttitle-lead { margin-top: var(--half-margin); max-width: 96rem; margin-right: var(--base-margin); }
@media screen and (min-width: 768px) {
.c-secttitle-sub { font-size: 1.6rem; }
}




/* c-table */
.c-table { max-width: 96rem; line-height: 1.6; margin-right: calc(-1 * var(--base-margin)); }
.c-table-list { border-top: var(--cl-gr) 1px solid; padding: 1em 0; }
.c-table-list:last-child { border-bottom: var(--cl-gr) 1px solid; }
.c-table-title { }
.c-table-detail { padding: 0.5em var(--base-margin) 0 1em; }
@media screen and (min-width: 768px) {
.c-table-list { padding: 1.7em 0; display: flex; }
.c-table-title { width: 20%; }
.c-table-detail { width: 80%; padding: 0 var(--base-margin) 0 0; }
}
@media screen and (min-width: 1024px) {
.c-table-title { width: 24rem; }
.c-table-detail { width: calc(100% - 24rem); padding: 0; }
}

/* c-list */
.c-list { }
.c-list-item { padding-left: 1em; text-indent: -1em; line-height: 1.6; }
.c-list-item + .list-item { margin-top: 0.5em; }
.c-list-item::before { content: "・";}


/* c-workcard */
.c-workcard { position: relative; line-height: 1; }
.c-workcard-pic { border: var(--cl-llgr) 1px solid; overflow: hidden; }
.c-workcard-pic-img { width: 100%; height: 100%; }
.c-workcard-title { font-size: 1.4rem; line-height: 1.3; font-weight: 600; margin-top: 1rem;  }
.c-workcard-link { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-overflow: ellipsis; overflow: hidden; }
.c-workcard-link::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.c-workcard-tag { display: inline-flex; font-size:1.2rem; color: var(--cl-base-gr); margin-top: 0.5em; }
.c-workcard-tag + .c-workcard-tag::before { content: "/"; margin: 0 0.5em; }

@media screen and (min-width: 768px) {
.c-workcard-title { font-size: 1.6rem; }
.c-workcard-pic-img { transition: 0.75s; }
.c-workcard:hover { opacity: 0.7 !important; }
.c-workcard:hover .c-workcard-pic-img { transform: scale(1.10); }
}
@media screen and (min-width: 1024px) {
}


/* add240311 */
.c-workcard-tag._category { display: inline;}
.c-workcard-tag._category span {}
.c-workcard-tag._category span + span::before { content: ","; margin-inline: 0.5rem;}




/* c-worklist */
.c-worklist { display: grid; gap: 4rem; }
@media screen and (min-width: 768px) {
.c-worklist { gap: 4rem; grid-template-columns: repeat(2, 1fr); }
}
@media screen and (min-width: 1024px) {
.c-worklist { gap: 6rem; grid-template-columns: repeat(3, 1fr); }
}



/* c-workcat */
.c-workcat { padding: var(--base-margin) 0; }
.c-workcat-btn { display: flex; align-items: center; font-weight: 600; gap: 0.5em; }
.c-workcat-btn::after { content: ""; width: 2rem; height: 2rem; display: block; background: url(/assets/images/common/ico_arrow_bk.svg) no-repeat center center / contain; transform: rotate(90deg); transition: 0.5s; }
.c-workcat-btn._open::after { transform: rotate(-90deg); }
.c-workcat-body { display: none; gap: 1rem; transition: 0.5s; border-left: var(--cl-gr) 1px solid; margin-left: 0.5em; padding-left: 1em; }
.c-workcat-list { }
.c-workcat-title { font-size: 1.8rem; margin: 1.5rem 0 0.8rem; }
.c-workcat-detail {}

@media screen and (min-width: 768px) {
.c-workcat { padding: var(--base-margin) 0; }
.c-workcat-btn { display: none; }
.c-workcat-body { display: grid; border: none; margin: 0; padding: 0; }
.c-workcat-list { display: grid; grid-template-columns: 9rem 1fr; }
.c-workcat-title { font-size: 1.4rem; margin: 1.2rem 0 0; }
}



/* c-worktags */
.c-worktags { display: grid; gap: 0.6rem; }
.c-worktags-item { }
.c-worktags-link { display: block; font-size: 1.3rem; font-weight: 600; padding: 0.2em 0.8em; width: fit-content; }
.c-worktags-link._active { color: var(--cl-wh); background-color: var(--cl-bk); }

@media screen and (min-width: 768px) {
.c-worktags { display: flex; flex-wrap: wrap; gap: 1rem; }
.c-worktags-link { font-size: 1.4rem; padding: 0.25em 1em; background-color: var(--cl-lgr); }
.c-worktags-link._active { color: var(--cl-wh); background-color: var(--cl-bk); }
.c-worktags-link:hover { color: var(--cl-bk); background-color: var(--cl-gr); }
}



/* c-news */
.c-news { border-top: var(--cl-lgr) 1px solid; }
.c-news-item { border-bottom: var(--cl-lgr) 1px solid; }
.c-news-link { display: block; padding: 1.5rem 0 2rem; position: relative; }
.c-news-link::before { content: ""; width: 3rem; height: 3rem; position: absolute; right: 0; top: calc(50% - 1.5rem); background: url(/assets/images/common/ico_bigarrow_gr.svg) no-repeat center center / contain; }
.c-news-date { display: inline-flex; font-size: 1.4rem; }
.c-news-category { display: inline-flex; font-size: 1.2rem; line-height: 1; }
.c-news-category::before { content: "/"; margin: 0 0.5em 0 0.75em; }
.c-news-title { font-weight: 600; line-height: 1.4; margin-top: 0.5rem; padding-right: 4rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-overflow: ellipsis; overflow: hidden; }

@media screen and (min-width: 768px) {
.c-news-link { padding: 4rem 4rem 5rem; }
.c-news-link::before { width: 4rem; height: 4rem; right: 4rem; top: calc(50% - 2rem); transition: 0.5s; }
.c-news-link:hover { background-color: var(--cl-lgr); }
.c-news-link:hover::before { right: 2rem; }
.c-news-title { padding-right: 8rem; -webkit-line-clamp: 1; }
}



/* c-pager */
.c-pager { display: flex; align-items: center; gap: 1rem; margin: var(--base-margin) calc(-1 * var(--base-margin)) 0 0; padding-top: var(--base-margin); ; border-top: var(--cl-bk) 1px solid; }
.c-pager-list { display: none; align-items: center; gap: 1rem; }

/* 240309 WP用にクラス指定を変更
.c-pager-item { font-family:'Hind Siliguri', sans-serif; font-weight: 700; line-height: 1; }
.c-pager-item._current { display: grid; place-content: center; width: 4rem; height: 4rem; border-radius: 100%; background-color: var(--cl-bk); color: var(--cl-wh); }
.c-pager-link { display: grid; place-content: center; width: 4rem; height: 4rem; border-radius: 100%; }
.c-pager-link:hover { background-color: var(--cl-lgr); }
.c-pager-link._prev { transform: rotate(180deg); }
*/

.page-numbers { font-family:'Hind Siliguri', sans-serif; font-weight: 700; line-height: 1; }
a.page-numbers { display: grid; place-content: center; width: 4rem; height: 4rem; border-radius: 100%; }
a.page-numbers:hover { background-color: var(--cl-lgr); }
.page-numbers.current { display: grid; place-content: center; width: 4rem; height: 4rem; border-radius: 100%; background-color: var(--cl-bk); color: var(--cl-wh); }
.page-numbers.prev { display: grid; transform: rotate(180deg); }
.page-numbers.next { display: grid; }
.page-pos { font-family:'Hind Siliguri', sans-serif; font-weight: 700; line-height: 1;}

@media screen and (min-width: 768px) {
.c-pager-list { display: flex; gap: 2rem; }
.page-pos { display: none;}

}




/* c-servicecard */
.c-servicecard { position: relative; line-height: 1; overflow: hidden; }
.c-servicecard-pic { border: var(--cl-llgr) 1px solid; overflow: hidden; }
.c-servicecard-pic-img { width: 100%; height: 100%; object-fit: cover; height: calc(100% * 0.6rem); }
.c-servicecard-link {}
.c-servicecard-link::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.c-servicecard-title { font-size: 1.8rem; line-height: 1.3; font-weight: 900; margin-top: 1rem;  }
.c-servicecard-title-sub { font-size: 1.4rem; line-height: 1.3; font-weight: 900; margin-top: 1rem; display: block;  }
.c-servicecard-type { font-size:1.2rem; color: var(--cl-base-gr); margin-top: 0.5rem; line-height: 1.3; }
.c-servicecard-type-item { margin-top: 0.5em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.c-servicecard-type-item::before { content: "ー "; color: var(--cl-gr); }

@media screen and (min-width: 768px) {
.c-servicecard-title { font-size: 3rem; }
.c-servicecard-title-sub { font-size: 1.4rem; }
.c-servicecard-pic-img { transition: 0.75s; }
.c-servicecard:hover { opacity: 0.7 !important; }
.c-servicecard:hover .c-servicecard-pic-img { transform: scale(1.10); }
}
@media screen and (min-width: 1024px) {
}









/* shutter
--------------------------------------------------------------*/
.shutter { position:fixed; top:0; left:0; right:0; bottom:0; background-color:#fcfcfc; z-index:9999; }
.shutter { animation: byeShutter 1.4s forwards; }
.header { animation: loadInHeader 1.4s forwards; }
.main { animation: loadInMain 1.4s forwards; }

@keyframes byeShutter {
0% { opacity: 1;  }
40% { opacity: 1; }
100% { opacity: 0; display: none; z-index: -1; }
}
@keyframes loadInHeader {
0% { opacity: 0; }
30% { transform: translate(0,50px); }
100% { transform:translate(0,0); opacity: 1; }
}
@keyframes loadInMain {
0% { opacity: 0; }
40% { opacity: 0;  transform: translate(0,120px); }
100% { transform:translate(0,0); opacity: 1; }
}


/* iv-animation
--------------------------------------------------------------*/
.footer,
.js-iv-up_fade { opacity:0; transform:translate(0, 20px); transition: 1.3s; }
.footer.is-view,
.js-iv-up_fade.is-view { opacity:1; transform:translate(0, 0); }

.js-iv-fade { opacity:0; transition: 3.0s; }
.js-iv-fade.is-view { opacity:1; }
.js-iv-left_fade { opacity:0; transform:translate(-20px, 0); transition: 1.3s; }
.js-iv-left_fade.is-view { opacity:1; transform:translate(0, 0); }
.js-iv-right_fade { opacity:0; transform:translate(20px, 0); transition: 1.3s; }
.js-iv-right_fade.is-view { opacity:1; transform:translate(0, 0); }





/* header
--------------------------------------------------------------*/
.header { width: 100%; margin-top: 3.5rem; position: relative; z-index: 1; }
.header-logo { display: inline-block; width: 12rem; }
.header-pagenation { display: inline-block; color:#7d7d7d; font-size:1.6rem; position: relative; margin-left: 0.5em; padding-left: 0.5em; }
.header-pagenation::before { content: ""; display: block; width: 1px; height: 1em; border-left: #7d7d7d 1px solid; position: absolute; top: 0; left: 0; transform: rotate(30deg); }

@media screen and (min-width: 768px) {
.header { margin-top: var(--base-margin); }
.header-logo { width: 16rem; transition: 0.5s; }
.header-pagenation { font-size:3.0rem; margin-left: 0.75em; padding-left: 0.75em; transition: 0.5s; }
}
@media screen and (min-width: 1024px) {
.header-logo:hover { opacity: 0.7; }
.header-pagenation:hover { opacity: 0.7; }
}

/* hnav */
.hnav { display: none; }
@media screen and (min-width: 1280px) {
.hnav { display: flex; position: absolute; top: 0; right: calc(var(--base-margin) + 8rem); }
.hnav-item { margin: 0 2rem; }
.hnav-link { font-weight: 500; padding: 2rem 0; display: flex; }
.hnav-link:hover { color: var(--cl-base-or); }
.hnav-item._service .hnav-link::after { content: ""; display: block; width: 2.4rem; height: 2.4rem; background-color: var(--cl-gr); mask: url(/assets/images/common/ico_arrow_dd_gr.svg) no-repeat center center / contain; }
}
@media screen and (min-width: 1600px) {
.hnav-item { margin: 0 3rem; }
}


/* hnavdetail */
.hnavdetail { display: none; }
@media screen and (min-width: 1280px) {

.hnavdetail { position: absolute; top: 6rem; left: 0; background-color: var(--cl-wh); border-radius: 2rem; box-shadow: 0 0.5rem 2.5rem rgba(0,0,0,0.1); padding: var(--base-margin); margin: 0 var(--base-margin); }
.hnavdetail-bnr { display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem; margin-bottom: var(--half-margin); }
.hnavdetail-bnr-link { text-align: center; transition: 0.3s; }
.hnavdetail-bnr-link:hover { color: var(--cl-base-or); }
.hnavdetail-bnr-link-pic { overflow: hidden; }
.hnavdetail-bnr-link-pic img { transition: 0.75s; }
.hnavdetail-bnr-link-pic:hover img { transform: scale(1.10); }
.hnavdetail-bnr-link-title { font-weight: 900; margin-top: 0.5em; }
.hnavdetail-bnr-link-ex { display: block; font-size: 0.8em; font-weight: 500; color: var(--cl-base-gr); }
.hnavdetail-row { display: flex; justify-content: space-between; }
.hnavdetail-dl { margin-top: 1rem; }
.hnavdetail-dt { font-weight: 900; font-size: 1.4rem; }
.hnavdetail-dd { margin-top: 1.5rem; border-left: var(--cl-lgr) 1px solid; padding-left: 1em; }
.hnavdetail-dd-link { display: block; font-weight: 500; padding: 1.25rem 2rem 1.25rem 0rem; }
.hnavdetail-dd-link span { font-size: 1.2rem; }
.hnavdetail-dd-link:hover { color: var(--cl-base-or); }
}

/* JavaScriptで追加するクラス */
.hnavdetail.is-visible { display: block; }
.hnav-item._service.is-active .hnav-link { color: var(--cl-base-or); }
.hnav-item._service.is-active .hnav-link::after { background-color: var(--cl-base-or); }









/* footer
--------------------------------------------------------------*/
.footer { padding: 15rem 0 var(--base-margin); overflow-x: hidden; }
.fcontact { text-align: center; margin: 0 -2.5rem; }
.fcontact-link { display: block; color: #fff; background-color: var(--cl-base-or); padding:4rem 0; }
.fcontact-link::after { content: ""; display: block; width: 2.4em; height: 2.4em; margin: 1em auto 0; background: url(/assets/images/common/ico_arrow_wh.svg) no-repeat center bottom / contain; }
.fcontact-en { display: block; font-size:2.6rem; transform-origin:center; }
.finfo { margin-top: 6rem; }
.finfo-logo { width: 17rem; transition: 0.5s; }
.finfo-logo img:last-child { padding:0.5rem; }
.finfo-company { margin-top:2.5rem; font-weight: 600; }
.finfo-officename { margin-top:1.5rem; font-weight: 600; }
.finfo-address { margin-top:0.5rem; }
.finfo-tel { margin-top:0.5rem; }
.fcopy { margin-top:4.5rem; font-size: 1.2rem; }
.fcopy-link { }
.fcopy-link::before { content: "/ "; margin-left: 0.5rem; }

@media screen and (min-width: 768px) {
.footer { }
.fcontact { margin: 0 -6rem; }
.fcontact-en { font-size:4.4rem; }
.finfo-logo { width: 25rem; }
.finfo-logo img:last-child { padding:1rem; }
.finfo-company { margin-top:4.5rem; }
.fcopy { font-size: 1.4rem; }
}

@media screen and (min-width: 1024px) {
.footer { padding-top:20rem; }
.fcontact { margin:0; }
.fcontact-link { padding:4rem 0; position: relative; transition: 0.5s; border:var(--cl-base-or) solid 6px; }
.fcontact-link:hover { background: #fff; color: var(--cl-base-or); transform: translateY(-1rem); box-shadow:0 10px 20px rgba(0,0,0,0.1); }
.fcontact-link:hover::after { background-image: url(/assets/images/common/ico_arrow_or.svg); }
.finfo { margin-top:14rem; }
.finfo-logo:hover { opacity: 0.7; }
.fcopy-link:hover { opacity: 0.7; }
}





/* main
--------------------------------------------------------------*/
.main { padding-top:7.5rem; line-height: 2; overflow: hidden; }
@media screen and (min-width: 768px) {
.main { padding-top:14rem; }
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1280px) {
.main { padding-top:16rem; }
}





/* gnav
--------------------------------------------------------------*/

/* gbtn */
.gbtn { position: fixed; top: 2rem; right:1rem; z-index:50; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; background-color: var(--cl-base-or); cursor: pointer; width: 6rem; height: 6rem; border-radius: 50%; outline: none; }
.gbtn::before,
.gbtn::after { content: ""; position: absolute; left: 50%; width: 2.8rem; height: 3px; background-color: var(--cl-wh); transform: translateX(-50%); }
.gbtn::before { top:17px; }
.gbtn::after  { bottom:16px; }
.gbtn:hover,
.gbtn:focus { animation: gbtn-hover 0.2s infinite linear; box-shadow:0 0 20px rgba(0,0,0,0.15); }
.gbtn-line { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; padding-top: 3px; width: 2.8rem; height: 3px; background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 71%,rgba(255,255,255,0) 71%,rgba(255,255,255,0) 100%); transition: 0.3s; overflow: hidden; animation: gbtn-line 6s cubic-bezier(1, 0, 0, 1) infinite; transform-origin: 100% 0; }

@media screen and (min-width: 768px) {
.gbtn { top: 6rem; right:4.5rem;}
}
@media screen and (min-width: 1024px) {
.gbtn { top: 6rem; right:6rem;}
}
@media screen and (min-width: 1280px) {
.gbtn { top: 8rem; right:8rem;}
}
@media screen and (min-width: 1600px) {
.gbtn { top: 10rem; right:10rem;}
}

@keyframes gbtn-hover {
   0% { transform: rotate(0deg); }
  25% { transform: rotate(10deg); }
  50% { transform: rotate(0deg); }
  75% { transform: rotate(-10deg); }
}
@keyframes gbtn-line {
   0% { transform: scale(1, 1); }
  70% { transform: scale(1, 1); }
  75% { transform: scale(1.15, 1); }
  95% { transform: scale(0, 1); }
 100% { transform: scale(0, 1); }
}


/* gnav-wrap */
.gnav { position: fixed; top:0; left:0; width:100%; height:100vh; z-index: 100; background-color:rgba(241,141,30,0.98); transition: 0.5s; /*transform: scale(0,0,0);*/ opacity: 0; visibility: hidden; padding:2rem 1rem 0 2rem; }
.gnav-wrap { position: relative; width:100%; height:100%; display: flex; }
.gbtnclose { position:absolute; top: 0; right: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; background-color: #fff; cursor: pointer; width: 6rem; height: 6rem; border-radius: 50%; outline: none; }
.gbtnclose::before,
.gbtnclose::after { content: ""; position: absolute; left: 50%; width: 2.0rem; height: 3px; background-color: var(--cl-base-or); z-index: 1; }
.gbtnclose::before { top:50%; transform:translateX(-50%) rotate(45deg); }
.gbtnclose::after  { top:50%; transform:translateX(-50%) rotate(-45deg); }
.gbtnclose:hover,
.gbtnclose:focus { animation: gbtn-hover 0.2s infinite linear; box-shadow:0 0 20px rgba(0,0,0,0.15); }
.gbtnclose-line { position: absolute; height: 0; overflow: hidden; }
.is-gnav__open .gnav { transition: 0.5s; /*transform: scale(1,1,1);*/ opacity: 1; visibility: visible; }

@media screen and (min-width: 768px) {
.gnav { padding:var(--base-margin); }
}


/* gnav-menu */
.gmenu { width: 100%; margin-top: 4rem; }
.gmenu-list { }
.gmenu-item { }
.gmenu-link { display: block; color: #fff; font-size:3rem; line-height: 8vh; font-weight: 900; }
.ginfo { position: absolute; left: 0; bottom:7rem; font-weight: 500; }
.ginfo-logo { width:14rem; }
.ginfo-logo img:last-child { padding:0.5rem; }
.ginfo-address { margin-top:0.5rem; color:#fff; font-size:1.2rem; }
.ginfo-copy { margin-top:1.5rem; font-size: 1.2rem; color: #fff; }
.ginfo-copy a { color: #fff; }
.ginfo-link { color: #fff; }
.ginfo-link::before { content: "/ "; margin-left: 0.5rem; }

@media screen and (min-width: 768px) {
.gmenu { width:40rem; }
.gmenu-link { font-size:4.2rem; line-height: 10vh; }
.ginfo { bottom:0; left: inherit; right: 0; }
.ginfo-logo { width:32rem; }
.ginfo-logo img:last-child { padding:1rem; }
.ginfo-copy { font-size: 1.4rem; }
}
@media screen and (min-width: 1024px) {
.ginfo-logo:hover { opacity:0.7; transition:0.5s; }
.ginfo-address { margin-top:1rem; font-size:1.3rem; }
.ginfo-link:hover { opacity:0.7; transition:0.5s; }
}
@media screen and (min-width: 1280px) {
.gmenu { width:50rem; }
.gmenu-link { font-size:5.2rem; line-height: 12vh; }
}


/* gmenu animation */
.is-gnav__open .gmenu-item { opacity: 0; animation:gmenu-show 0.75s forwards; }
.is-gnav__open .gmenu-item:nth-child(1) { animation-delay: 0.0s; }
.is-gnav__open .gmenu-item:nth-child(2) { animation-delay: 0.1s; }
.is-gnav__open .gmenu-item:nth-child(3) { animation-delay: 0.2s; }
.is-gnav__open .gmenu-item:nth-child(4) { animation-delay: 0.3s; }
.is-gnav__open .gmenu-item:nth-child(5) { animation-delay: 0.4s; }
.is-gnav__open .gmenu-item:nth-child(6) { animation-delay: 0.5s; }
@keyframes gmenu-show {
   0% { transform: translateX(100%); }
  50% { opacity: 0; }
 100% { transform: translateX(0); opacity: 1; }
}

.is-gnav__open .ginfo { opacity: 0; animation:ginfo-show 0.75s forwards; animation-delay: 0.2s; }
@keyframes ginfo-show {
   0% { transform: translateY(100%); }
  50% { opacity: 0; }
 100% { transform: translateY(0); opacity: 1; }
}

/* gmenu hover */
@media screen and (min-width: 1024px) {
.is-gnav__open .gmenu-item .gmenu-link { opacity: 1; transition: 0.3s; }
.is-gnav__open .gmenu-list:hover .gmenu-link { opacity: 0.4; }
.is-gnav__open .gmenu-item:hover .gmenu-link { opacity: 1; }
.is-gnav__open .gmenu-link::before { content: ""; z-index:-1; display:block; position: absolute; bottom: 0; left: 0; width: 0%; height: 2px; background: #fff; transition: width 0.5s; }
.is-gnav__open .gmenu-item:hover .gmenu-link::before { width:100%; }
}












































/* home
--------------------------------------------------------------*/
.page-home .header-logo-image { width:auto; height:3rem; }






@media screen and (min-width: 768px) {

.page-home .header-logo-image { width:auto; height:4rem; }

}













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

/* service 4 */
.service-wrap      { padding-bottom:5rem;}
.serviceList-wrap  { padding-left: 1.5rem; }
.serviceList       { margin-top:14rem; position: relative; }
.serviceList::before  { content: ""; display: block; width:25rem; height:4px; background-color: #eee; transform: rotate(-65deg) translate(-7rem,-5rem); z-index:-1; }
.serviceList-title-en { position: relative; display: block; font-size:3.0rem; font-family:'Hind Siliguri', sans-serif; letter-spacing:-0.04em; transform: scaleX(1.1); transform-origin: left; line-height:1.2; }
.serviceList-title-en::before { display:block; font-size:5.5rem; color: #eee; position: relative; position: absolute; top: -6rem; left:-3.6rem; font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; }
.serviceList:nth-child(1) .serviceList-title-en::before { content:"01"; }
.serviceList:nth-child(2) .serviceList-title-en::before { content:"02"; }
.serviceList:nth-child(3) .serviceList-title-en::before { content:"03"; }
.serviceList:nth-child(4) .serviceList-title-en::before { content:"04"; }
.serviceList:nth-child(5) .serviceList-title-en::before { content:"05"; }
.serviceList-title { margin-top: 1rem; font-size:1.6rem; position: relative;}
.serviceList-txt   { margin-top:1.5rem; line-height:2; position: relative; }
.serviceList-works  { margin-top:2rem; width:calc(100% + 2.5rem); }

@media screen and (min-width: 768px) {
.serviceList-wrap  { padding-left:0; }
.serviceList-title-en { font-size:4.5rem; }
.serviceList-title-en::before { font-size:5.5rem; top: -6rem; left:-3.6rem; }
.serviceList-works  { margin-top:2rem; width:calc((100vw - 100%) / 2 + 100%); }
}

@media screen and (min-width: 1024px) {
.serviceList       { margin-top:30rem; min-height:57vw; }
.serviceList::before  { width:50rem; transform: rotate(-65deg) translate(-12rem,-15rem); }
.serviceList-title-en { font-size:7rem; line-height: 1; }
.serviceList-title-en::before { font-size:8rem; top: -8rem; left:-5rem; }
.serviceList-title { margin-top:5rem; font-size:2rem; max-width:32rem; }
.serviceList-txt   { margin-top:2.5rem; max-width:32rem; font-size:1.5rem; }
.serviceList-works  { margin:0; width:calc((100vw - 100%) / 2 + 100% - 36rem); position: absolute; top: 20rem; left:36rem;}
}

@media screen and (min-width: 1280px) {
.serviceList       { min-height:47vw; }
.serviceList-works  { }
.serviceList-title-en::before { font-size:10rem; top: -11rem; left:-7rem; }
}
@media screen and (min-width: 1400px) {
.serviceList       { min-height:45vw; }
}
@media screen and (min-width: 1600px) {
.serviceList       { min-height:42vw; }
}


/* whatwecan */
.whatwecan-wrap      {}
.whatwecanList-wrap  {}
.whatwecanList       { border-top:#7d7d7d 2px solid; margin-top:6rem; padding:0 1.5rem; }
.whatwecanList-title { margin-top: 2rem; font-size:2rem; }
.whatwecanList-sub   { color: #7d7d7d; font-size:1.2rem; margin-top: 0.5rem; }
.whatwecanList-txt   { margin-top: 1.5rem; }
.whatwecanList-detail{ margin-top: 1.5rem; background-color: #f5f5f5; padding:1.5rem; font-size:1.2rem; }
@media screen and (min-width: 1024px) {
.whatwecan-wrap      {}
.whatwecanList-wrap  { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top:-5rem; }
.whatwecanList       { width:48%; margin-top:12rem; }
.whatwecanList-txt   { min-height:11rem; }
.whatwecanList-detail{ font-size:1.4rem; padding: 2.5rem; min-height:11.6rem;  }
}






/* works
--------------------------------------------------------------*/

/* worksNav */
.worksNav-wrap { margin: 8rem 0 2rem; }
.worksNav { display: flex; flex-wrap: wrap; }
.worksNav-list { margin:0.5rem 1.5rem 0 0; }
.worksNav-list a { color:#eee; transition: 0.5s; }
.worksNav-list a:hover { color:var(--cl-base-or); }
.worksNav-list a.is-active { color:#444; }
@media screen and (min-width: 768px) {
.worksNav-wrap { margin: 12rem 0 3rem; }
.worksNav-list { margin:0.5rem 2.5rem 0 0; }
}
@media screen and (min-width: 1024px) {
.worksNav-wrap { margin: 15rem 0 5rem; }
.worksNav-list { margin:0.5rem 6rem 0 0; font-size:2rem; }
}


/* works-wrap */
.works-wrap { margin-top:-3rem; }
.works-wrap &gt; * { margin-top: 6rem; }

@media screen and (min-width: 768px) {
.works-wrap { display: flex; flex-wrap: wrap; margin:-5rem -1rem 0; }
.works-wrap &gt; * { width:calc(50% - 2rem); margin:6rem 1rem 0; }
}
@media screen and (min-width: 1024px) {
.works-wrap { display: flex; flex-wrap: wrap; margin:-10rem -1% 0; }
.works-wrap &gt; * { width:calc(33.33% - 2%); margin:10rem 1% 0; transition: 0.5s; }
}




/* lp-base
--------------------------------------------------------------*/

/* 上書き */
.page-lp .main { padding-top: 0; }
.page-lp .main &gt; .u-inner { padding: 0; }



/* column
--------------------------------------------------------------*/

.columncard { position: relative; line-height: 1; }
.columncard-pic { border: var(--cl-llgr) 1px solid; overflow: hidden;  }
.columncard-pic-img { width: 100%; height: 100%; }
.columncard-title { font-size: 1.4rem; line-height: 1.3; font-weight: 600; margin-top: 0.5rem;  }
.columncard-link { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-overflow: ellipsis; overflow: hidden; }
.columncard-link::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.columncard-date { display: inline-flex; font-size: 1.4rem; margin-top: 1rem;  }
.columncard-tag { display: inline-block; font-size:1.3rem; }
.columncard-tag::before { content: "/"; margin: 0 0.5em; }
.columncard-tag span + span::before { content: ","; margin: 0 0.25em; }

@media screen and (min-width: 768px) {
.columncard-title { font-size: 1.6rem;  }
.columncard-pic-img { transition: 0.75s; }
.columncard:hover { opacity: 0.7 !important; }
.columncard:hover .columncard-pic-img { transform: scale(1.10); }
}
</pre></body></html>