@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=family=Noto+Sans+JP:wght@100..900&display=swap');
/*
Theme Name: FOURSYARD
Theme URI: https://foursyard.xsrv.jp/
Description: FOURSYARD公式サイトオリジナルテーマ
Version: 2.7
*/
/* 
Start 2025.07.03 --- Updated 2026.01.30
-------------------------------------------------------
based on PC size
------------------------------------------------------- */
/*
@font-face {
	font-family: 'LINE Seed JP'; 
	src: url('/fonts/EOT/LINESeedJP_TTF_Rg.eot'), url('/fonts/WOFF2/LINESeedJP_OTF_Rg.woff2') format('woff2'), url('/fonts/WOFF/LINESeedJP_OTF_Rg.woff') format('woff'); 
	font-weight: normal; 
	font-style: normal;
}
@font-face {
	font-family: 'LINE Seed JP Bold'; 
	src: url('/fonts/EOT/LINESeedJP_TTF_Bd.eot'), url('/fonts/WOFF2/LINESeedJP_OTF_Bd.woff2') format('woff2'), url('/fonts/WOFF/LINESeedJP_OTF_Bd.woff') format('woff'); 
	font-weight: bold; 
	font-style: normal;
}
*/
/* BASE 'LINE Seed JP', */
html, body {width: 100%; height: 100%; padding: 0; margin: 0; font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'YuGothic', 'Yu Gothic', '游ゴシック', '游ゴシック体', Meiryo, 'メイリオ', sans-serif; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; font-weight: 200;}
body {position: relative; font-size: 100%; line-height: 1; color: #000; background-color: #fff;}
* {box-sizing: border-box; overflow-wrap: break-word;}
a {color: #000; text-decoration: none; transition: all 0.3s;}
img {border: none; vertical-align: top; width: 100%; height: auto;}
h1, h2, h3, h4, h5, h6, div, p, span, ul, ol, dl, li, dt, dd, form, table, tr, th, td, section, form, input, pre {margin: 0; padding: 0; font-weight: normal; list-style-type: none;}

/* COMMON */
#page_wrap {position: relative;}
#page_main {padding: 138px min(8.68vw,150px) 0; max-width: calc(1600px + min(8.68vw,150px)); margin: 0 auto; background-color: rgb(183 166 144 / 0.7);}
.page_contens {}
#page_title {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(60px,9.75vw,117px); margin: min(1.66vw,20px) 0 min(3.75vw,45px) -3px;}
#page_title img {height: min(10.83vw,130px); width: auto;}

/* nav_list共通 */
nav .nav_list li {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(8px,1vw,12px); letter-spacing: 1px;}
nav .nav_list li a {display: inline-block; padding: 4px;}
nav .nav_list li.on a {background-color: #BBFF00;}

/* Header */
header {position: fixed; top:0; left: 0; width: 100%; z-index: 2;}
header .hdr_main {padding: 0 min(8.68vw,150px); max-width: calc(1600px + min(8.68vw,150px)); margin: 0 auto; background-color: #ccc1b1; height: 78px; display: -webkit-box; display: flex; flex-wrap: nowrap; -webkit-box-align: center; align-items: center; -webkit-box-pack: justify; justify-content: space-between; margin: 0 auto;  border-bottom: 1px solid #000;}
header .hdr_main .hdr_logo img {width: min(14.66vw,176px);}
header .hdr_main nav .nav_list {display: -webkit-box; display: flex; flex-wrap: nowrap; -webkit-box-align: center; align-items: center;}
header .hdr_main nav .nav_list li {padding: 0 8px;}
header .hdr_main nav .nav_list li:nth-last-of-type(1) {padding-right: 0;} 

/* Footer */
footer {padding-bottom: min(12.5vw,150px);}
footer#top_ftr {margin-top: clamp(-100px,-16vh,-160px);} /* Top Page Only */
footer .ftr_mark {text-align: right; padding: mkin(2.5vw,30px) min(4vw,48px) 0 0;}
footer .ftr_mark img {width: min(20vw,242px); opacity: 1;}
footer nav .nav_list li {margin-bottom: min(1vw,12px); font-size: 10px;}
footer .ftr_main {margin: min(-1.5vw,-18px) 0 0;}
footer .ftr_main .ftr_logo {text-align: right;}
footer .ftr_main .ftr_logo img {width: min(33.8vw,406px);}
footer .ftr_main .ftr_link {padding: min(2.5vw,30px) 0 0; display: -webkit-box; display: flex; flex-wrap: nowrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: center; align-items: center; width: 100%; /*font-family: 'LINE Seed JP Bold';*/ font-weight: 500; font-size: clamp(8px,1vw,12px); letter-spacing: 1px;}
footer .ftr_main .ftr_link .link_pp {-webkit-box-flex: 8; flex-grow: 8;}
footer .ftr_main .ftr_link .link_pp li a {display: inline-block; padding: 4px;}
footer .ftr_main .ftr_link .link_pp li.on a {background-color: #BBFF00;}
footer .ftr_main .ftr_link .link_sns {-webkit-box-flex: 1.5; flex-grow: 1.5;}
footer .ftr_main .ftr_link .link_sns ul {display: -webkit-box; display: flex; flex-wrap: nowrap; -webkit-box-pack: end; justify-content: flex-end;}
footer .ftr_main .ftr_link .link_sns ul li {padding: 0 0 0 min(1.5vw,18px);}
footer .ftr_main .ftr_link .copyright {-webkit-box-flex: 0.5; flex-grow: 0.5; text-align: right; font-size: 10px;}

/* Top Copy */
#top_copy {padding: min(2.16vw,26px) 0 0;}
#top_copy .glitch_txt {margin: 0 min(0.625vw,-10px);}
#top_copy .mark {text-align: right; padding: min(6.25vw,75px) 5px min(5.8vw,70px) 0; width: min(82vw,1500px); margin: 0 auto;}
#top_copy .mark img {width: min(20vw,242px);}

/* Top Project List and Project List */
.top_project_list .list_nav {display: -webkit-box; display: flex; flex-wrap: nowrap; -webkit-box-align: center; align-items: center; -webkit-box-pack: justify; justify-content: space-between; width: 100%; height: min(5.8vw,70px); border-top: 1px solid #000; border-bottom: 1px solid #000; /*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(10px,1.166vw,14px); letter-spacing: 1px;}
.top_project_list .list_nav .nav_pic {width: 50%;}
.top_project_list .list_nav .nav_data {width: 36%;}
.top_project_list .list_nav .nav_data .nav_data_inr {padding: 0 0 0 min(2.3vw,28px);}
.top_project_list .list_nav .nav_area {width: 14%;}

.top_project_list .list_contents {margin: 0 0 min(4vw,48px);}
.top_project_list .project_box {display: -webkit-box; display: flex; flex-wrap: nowrap; -webkit-box-pack: justify; justify-content: space-between; padding: min(4vw,48px) 0; border-bottom: 1px solid #000; opacity: 0; transform: translateY(40px); transition: 1s ease-out;}
.top_project_list .project_box.fadeIn {animation-name: fadeIn; animation-duration: 1s; animation-fill-mode: forwards;}
@keyframes fadeIn {
	0% {opacity: 0;}
	100% {opacity: 1; transform: translateY(0);}
}
.top_project_list .project_box:nth-of-type(1) {animation-name: fadeIn; animation-duration: 1s; animation-fill-mode: forwards;}

.top_project_list .project_box .p_pic {position: relative; width: 50%;}
.top_project_list .project_box .p_pic img,
.project_list .list_contents .project_box .p_pic img {position: relative; aspect-ratio: 1.6 / 1; contain: paint; object-fit: cover;}
.top_project_list .project_box .p_pic::after {position: absolute; top: 0; left: 0; width: 100%; aspect-ratio: 1.6 / 1; content: " "; background: url(/img/img_dot.svg) right top repeat; background-size: 6px; transition: all 0.5s cubic-bezier(0.65, 0, 0.35, 1) 0.05s}
.top_project_list .project_box .p_pic:hover::after,
.top_project_list .project_box.hover .p_pic::after {opacity: 0;}
.top_project_list .project_box .p_pic .p_pic_ttl,
.project_list .list_contents .project_box .p_pic .p_pic_ttl {position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;}
.top_project_list .project_box .p_pic .p_pic_ttl .p_pic_ttl_txt,
.project_list .list_contents .project_box .p_pic .p_pic_ttl .p_pic_ttl_txt {height: 100%; display: -webkit-box; display: flex; flex-wrap: nowrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; color: #fff; line-height: 1.3; letter-spacing: 0.5px; text-align: center;}
.top_project_list .project_box .p_pic .p_pic_ttl .p_pic_ttl_txt {font-size: clamp(12px,1.4vw,22px);}
.project_list .list_contents .project_box .p_pic .p_pic_ttl .p_pic_ttl_txt {font-size: clamp(12px,1.33vw,16px);}

.top_project_list .project_box .p_data {position: relative; width: 36%;}
.top_project_list .project_box .p_data .p_data_inr {padding: 0 4em 0 min(2.3vw,28px);}
.top_project_list .project_box .p_data .p_name {font-size: clamp(12px,1.33vw,16px); line-height: 1.3; letter-spacing: 1px; margin: 0 0 0.5em;}
.top_project_list .project_box .p_data .p_client {font-size: clamp(8px,1.166vw,14px); margin: 0 1em min(3.3vw,40px) 0;}
.top_project_list .project_box .p_data .p_txt {font-size: clamp(8px,1.166vw,14px); letter-spacing: 0.5px; line-height: 1.3;}
.top_project_list .project_box .p_data .p_txt ul li {margin: 0 0 min(1.166vw,14px);}

.top_project_list .project_box .p_data .p_btn {position: absolute; bottom: 0; display: inline-block;}
.top_project_list .project_box .p_data .p_btn a {position: relative; display: block; background-color: #BBFF00;}

.top_project_list .project_box .p_data .p_btn a .btn_txt,
.project_list .list_contents .project_box .p_data .p_btn a .btn_txt {display: -webkit-box; display: flex; flex-wrap: nowrap; inset: 0; font-size: clamp(8px,1vw,12px); letter-spacing: 1px; z-index: 2; padding: 4px; /*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500;}

.top_project_list .project_box .p_area {width: 14%;}
.top_project_list .project_box .p_area .p_area_txt {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(12px,1.33vw,16px); letter-spacing: 1px;}

/* Top Message */
.top_message {padding: min(6.6vw,80px) 0;}
.top_message .msg_ttl {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(56px,5.08vw,61px); line-height: 1.4; margin: 0 0 min(4vw,48px);}
.top_message .msg_txt_ja {font-size: clamp(14px,1.5vw,18px); letter-spacing: 1px; line-height: 2.4; margin: 0 0 min(1.5vw,18px);}
.top_message .msg_txt_en {font-size: clamp(14px,1.5vw,18px); letter-spacing: 0.5px; line-height: 2;}

/* PROJECT index */
.page_sort {margin: 0 0 min(9.16vw,110px);}
.page_sort ul li {display: block; /*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(8px,1vw,12px); letter-spacing: 1px; line-height: 1em; margin: 0 0 min(0.6vw,8px);}
.page_sort ul li a {display: inline-block; padding: 0 min(0.33vw,4px) 0 0;}
.page_sort ul li a::before {display: inline-block; content: '#'; background-color: #BBFF00; padding: min(0.33vw,4px); margin-right: min(0.33vw,4px);}
.page_sort ul li.on a {background-color: #BBFF00;}

.project_list .list_contents {display: -webkit-box; display: flex; flex-wrap: wrap; align-content: stretch; -webkit-box-align: stretch; align-items: stretch; margin: 0 min(-1.83vw,-22px);}
.project_list .list_contents .project_box {width: 33.33%;}
.project_list .list_contents .project_box .box_inr {padding: 0 min(2.33vw,28px);}
.project_list .list_contents .project_box .p_pic {position: relative; contain: paint;}
.project_list .list_contents .project_box .p_pic img {aspect-ratio: 1.6 / 1;}
.project_list .list_contents .project_box .p_data {padding: min(1.66vw,20px) 0 min(7.5vw,90px);}
.project_list .list_contents .project_box .p_name {font-size: clamp(11px,1.25vw,15px); line-height: 1.3; letter-spacing: 1px; margin: 0 0 min(1.16vw,14px);}

.project_list .list_contents .project_box .p_data .p_btn a  {position: relative; display: inline-block; background-color: #BBFF00;}

.project_list .list_pagenation {text-align: center;}
.project_list .list_pagenation ul {display: -webkit-box; display: flex; flex-wrap: nowrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center;}
.project_list .list_pagenation ul li {padding: 0 min(0.25vw,3px);}
.project_list .list_pagenation ul li a,
.project_list .list_pagenation ul li span {display: -webkit-box; display: flex; flex-wrap: nowrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; background-color: #fff; width: min(3.33vw,40px); aspect-ratio: 1 / 1; /*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: 10px; line-height: 1;}
.project_list .list_pagenation ul li a:hover,
.project_list .list_pagenation ul li .current {background-color: #BBFF00;}

/* PROJECT detail */
#dtl_cat {margin: 0 0 min(2.16vw,26px);}
#dtl_cat ul {display: -webkit-box; display: flex;}
#dtl_cat ul li {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(8px,1vw,12px); letter-spacing: 1px; line-height: 1em; margin: 0 min(0.83vw,10px) 0 0; padding: min(0.33vw,4px); background-color: #BBFF00;}
#dtl_cat ul li .ico {padding: 0 min(0.33vw,4px) 0 0;}

#dtl_title {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: min(3.41vw,41px); line-height: 1.3; margin: 0 0 min(1.66vw,20px);}
#dtl_area {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(8px,1vw,12px); margin: 0 0 min(8.3vw,100px);}
#dtl_area .ttl {color: #ababab;}

#dtl_head {display: -webkit-box; display: flex; flex-wrap: nowrap; margin: 0 0 min(7.9vw,95px);}
#dtl_head .list {width: 52.6%;}
#dtl_head .list ul li {font-size: clamp(10px,1.166vw,14px); line-height: 1.4; letter-spacing: 0.5px; margin-bottom: min(1vw,12px); background: url(/img/ico_list_dot.svg) left 0 top 0.4em no-repeat; background-size: min(0.35vw,6px) auto; padding-left: 0.8em;}
#dtl_head .dscp {width: 47.4%;}
#dtl_head .dscp h2 {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(14px,1.5vw,18px); line-height: 1.4; letter-spacing: 1px; margin-bottom: min(2.16vw,26px);}
#dtl_head .dscp p {font-size: clamp(10px,1.166vw,14px); line-height: 2.1; letter-spacing: 0.5px;}

#dtl_pic .picLine {display: -webkit-box; display: flex; flex-wrap: nowrap; margin-bottom: min(2.9vw,35px);}
#dtl_pic .picLine.mov video {width: 100%; height: auto; display: block;}
#dtl_pic .picLine.pic1 .pic {width: 100%;}
#dtl_pic .picLine.pic1 .pic img {aspect-ratio: 1.6 / 1;}
#dtl_pic .picLine.pic2 .pic:nth-of-type(1) {margin-right: min(2.9vw,35px);}
#dtl_pic .picLine.ratio7030 .pic:nth-of-type(1) {width: 70%;}
#dtl_pic .picLine.ratio7030 .pic:nth-of-type(1) img {aspect-ratio: 1.47 / 1;}
#dtl_pic .picLine.ratio7030 .pic:nth-of-type(2) {width: 30%;}
#dtl_pic .picLine.ratio7030 .pic:nth-of-type(2) img {aspect-ratio: 0.74 / 1;}
#dtl_pic .picLine.ratio3070 .pic:nth-of-type(1) {width: 30%;}
#dtl_pic .picLine.ratio3070 .pic:nth-of-type(1) img {aspect-ratio: 0.74 / 1;}
#dtl_pic .picLine.ratio3070 .pic:nth-of-type(2) {width: 70%;}
#dtl_pic .picLine.ratio3070 .pic:nth-of-type(2) img {aspect-ratio: 1.47 / 1;}
#dtl_pic .picLine.ratio5050 .pic {width: 50%;}
#dtl_pic .picLine.ratio5050 .pic img {aspect-ratio: 695 / 475;}
#dtl_pic .picLine .pic img {object-fit: cover; width: 100%; height: 100%;}
#dtl_pic .picLine .pic.position_left img {object-position: left;}
#dtl_pic .picLine .pic.position_right img {object-position: right;}

.dtl_nav {margin: min(3.18vw,55px) 0 0; display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; -webkit-box-pack: end; justify-content: flex-end;}
.dtl_nav .btn_link {display: -webkit-box; display: flex;}
.dtl_nav .btn_link .link_prev {margin-left: min(0.83vw,10px);}
.dtl_nav .btn_link a {display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center;  -webkit-box-pack: center; justify-content: center; width: min(3.33vw,40px); aspect-ratio: 1 / 1; background-color: #fff;}
.dtl_nav .btn_link a img {width: auto; height: min(0.5vw,6px);}
.dtl_nav .btn_link a:hover {background-color: #BBFF00;}

.dtl_nav_back {margin: 2em 0 min(5.78vw,100px);}
.dtl_nav_back .btn_back a {display: inline-block; /*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: 10px; background-color: #fff; padding: 4px; letter-spacing: 1px;}
.dtl_nav_back .btn_back a:hover {background-color: #BBFF00;}

/* COMPANY */
#msg {padding: min(16.66vw,200px) 0 min(10.83vw,130px);}
#msg .content_title,
#ovv .content_title {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(32px,5vw,60px); margin: 0 0 min(6.66vw,80px);}
#msg .content_lead {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(14px,1.5vw,18px); margin: 0 0 min(3.16vw,38px); letter-spacing: 1px; line-height: 1.9;}
#msg .content_main {margin: 0 0 min(7.5vw,90px);}
#msg .content_main p {font-size: clamp(11px,1.25vw,15px); letter-spacing: 0.5px; line-height: 2.3;}
#ovv {padding: 0 0 min(5vw,60px);}
#ovv table {position: relative; width: 100%; border-collapse: collapse; margin: 0 0 min(3.33vw,40px);}
#ovv table th,
#ovv table td {position: relative; font-size: clamp(11px,1.25vw,15px); letter-spacing: 0.5px; text-align: left; border-bottom: 1px solid #000; padding: min(3.33vw,40px) 0; line-height: 1.5;}
#ovv table th {width: 20%;}
#ovv table th::after {position: absolute; bottom: -1px; left: 0; display: block; content:" "; background: url(/img/ico_line_pc.svg) left bottom no-repeat; background-size: auto 2px; width: 100%; height: 2px;}
#ovv table td {width: 80%;}
#ovv table td ul li {list-style-type: disc; margin: 0 0 min(1.5vw,18px) 1.3em;}
#ovv table td ul li::marker {color: #000;}
#ovv table td ul li:nth-last-of-type(1) {margin-bottom: 0;}
#ovv .txt {font-size: clamp(11px,1.25vw,15px); line-height: 1.4; letter-spacing: 0.5px; margin: 0 0 min(1.5vw,18px);}
#ovv sub {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(10px,1vw,12px); color: #9b9b9b; vertical-align: baseline;}
#ovv .ant {font-size: clamp(10px,1vw,12px); line-height: 1.4; letter-spacing: 0.5px;}
#ovv .ant .num {color: #000;}
#ovv .line_only {height: 1px; font-size: 0; line-height: 0; padding: 0;}

/* Provacy Policy */
#pp {padding: min(16.66vw,200px) 0 min(10.83vw,130px);}
#pp .content_lead {/*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: clamp(14px,1.5vw,18px); margin: 0 0 min(3.16vw,38px); letter-spacing: 1px; line-height: 1.9;}
#pp .content_main {margin: 0 0 min(7.5vw,90px);}
#pp .content_main p {font-size: clamp(11px,1.25vw,15px); letter-spacing: 0.5px; line-height: 2.3;}
#pp .content_main li {list-style-type: disc; font-size: clamp(11px,1.25vw,15px); letter-spacing: 0.5px; line-height: 2.3; margin-left: 1.3em;}
#pp .content_main li::marker {color: #d9d9d9;}

/* Media Query
================================ for PC */
		@media print, screen and (min-width: 641px) {
.pc_none {display: none;}
		}

/* Media Query
================================ for SP */
		@media print, screen and (max-width: 640px) {
.sp_none {display: none;}
/* COMMON */
#page_main {padding: 54px 0 0;}
.page_contens {padding: 0 15px;}
#page_title {font-size: 42.6px; margin: 30px 0 80px;}
#page_title img {height: min(11.79vw,46px);}

/* nav_list共通 */
nav .nav_list li {font-size: 32px;}
nav .nav_list li.on a {background-color: transparent;}

/* Header */
header {padding: 0 15px; background-color: #ccc1b1;}
header .hdr_main {position: relative; height: 54px; padding: 0;}
header .hdr_main .hdr_logo img {width: 120px;}
header .hdr_main nav {height: 100%;}
header .hdr_main nav .nav_btn {position: absolute; right: min(-3.84vw,-15px); display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center;  -webkit-box-pack: center; justify-content: center; height: 100%;}
header .hdr_main nav .nav_btn .nav_close,
header .hdr_main nav .nav_btn.is-open .nav_open {display: none;}
header .hdr_main nav .nav_btn .nav_open,
header .hdr_main nav .nav_btn.is-open .nav_close {display: -webkit-box; display: flex; -webkit-box-align: center; align-items: center; height: 100%; padding: 0 15px;}
header .hdr_main nav .nav_btn .nav_open img {width: auto; height: 3px;}
header .hdr_main nav .nav_btn .nav_close img {width: auto; height: 25px;}
header .hdr_main nav .nav_list {display: none; position: absolute; left: 0; top: 52px; width: 100%; background-color: #e2dbd2; padding: 10px 0 0;}
header .hdr_main nav .nav_list li {padding: 20px;}
header .hdr_main nav .nav_list li:nth-last-of-type(1) {padding-bottom: 48px;}

/* Footer */
footer {position: relative; padding: 40px 0 140px;}
footer#top_ftr {margin: 0;} /* Top Page Only */
footer .ftr_mark {position: absolute; right: 12px; top: 0; padding:0;}
footer .ftr_mark img {width: min(49.48vw,193px);}
footer nav {padding: min(17.94vw,70px) 0 0;}
footer nav .nav_list li {margin-bottom: 12px;}
footer .ftr_main {position: relative; margin: 0; }
footer .ftr_main .ftr_logo {position: absolute; right: 0;}
footer .ftr_main .ftr_logo img {width: min(49.48vw,193px);}
footer .ftr_main .ftr_link {position: absolute; top: min(-15.38vw,-60px); left: 0; padding: 0; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; -webkit-box-pack: start; justify-content: flex-start; -webkit-box-align: start; align-items: flex-start; width: 100%; font-size: min(2.56vw,10px);}
footer .ftr_main .ftr_link a {padding: 0 0 0 4px;}
footer .ftr_main .ftr_link .link_pp {order: 1; padding: 0; -webkit-box-flex: 1; flex-grow: 1; margin-bottom: min(10.2vw,40px);}
footer .ftr_main .ftr_link .link_sns {order: 2; -webkit-box-flex: 1; flex-grow: 1;}
footer .ftr_main .ftr_link .link_sns ul {-webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column;}
footer .ftr_main .ftr_link .link_sns ul li {padding: 0; margin-bottom: 12px;}
footer .ftr_main .ftr_link .link_sns ul li:nth-of-type(1) {order: 3;}
footer .ftr_main .ftr_link .link_sns ul li:nth-of-type(2) {order: 2;}
footer .ftr_main .ftr_link .link_sns ul li:nth-of-type(3) {order: 1;}
footer .ftr_main .ftr_link .copyright {order: 3; width: 100%; font-size: min(2.05vw,8px); margin: -10px 0 0;}

/* Top Copy */
#top_copy {padding: 30px 0 0;}
#top_copy .glitch_txt {margin: 0;}
#top_copy .mark {padding: 50px 28px 30px 0;}
#top_copy .mark img {width: min(23.84vw,93px);}

/* Top Project List and Project List */
.top_project_list .list_nav {height: 48px; /*font-family: 'LINE Seed JP Bold';*/ font-family: 'Noto Sans JP'; font-weight: 500; font-size: min(2.56vw,10px);}
.top_project_list .list_nav .nav_pic {width: 100%;}
.top_project_list .list_nav .nav_data,
.top_project_list .list_nav .nav_area {display: none;}

.top_project_list .list_contents {margin: 0;}
.top_project_list .project_box {display: block; padding: min(10.25vw,40px) 0;}

.top_project_list .project_box .p_pic {width: 100%;}

.top_project_list .project_box .p_pic .p_pic_ttl .p_pic_ttl_txt,
.project_list .list_contents .project_box .p_pic .p_pic_ttl .p_pic_ttl_txt {font-size: min(3.84vw,15px); letter-spacing: 1px;}

.top_project_list .project_box .p_data {width: 100%;}
.top_project_list .project_box .p_data .p_data_inr {padding: min(5.12vw,20px) 0 0;}
.top_project_list .project_box .p_data .p_name {font-size: min(3.58vw,14px); margin: 0 0 0.5em;}
.top_project_list .project_box .p_data .p_client {font-size: min(3.07vw,12px); margin: 0 0 min(3.84vw,15px);}
.top_project_list .project_box .p_area {width: 100%; margin: 0 0 min(10.25vw,40px);}
.top_project_list .project_box .p_area .p_area_txt {font-size: min(2.56vw,10px);}
.top_project_list .project_box .p_data .p_txt {font-size: min(3.07vw,12px); margin: 0 0 min(10.25vw,40px);}
.top_project_list .project_box .p_data .p_txt ul li {margin: 0 0 min(3.07vw,12px);}

.top_project_list .project_box .p_data .p_btn {position: static; display: inline-block;}
.top_project_list .project_box .p_data .p_btn a .btn_txt,
.project_list .list_contents .project_box .p_data .p_btn a .btn_txt {font-size: min(2.56vw,10px);}

/* Top Message */
.top_message {padding: min(12.8vw,50px) min(3.84vw,15px); margin: min(10.25vw,40px) 0 min(17.94vw,70px);}
.top_message .msg_ttl {font-size: min(6.15vw,24px); margin: 0 0 min(7.69vw,30px);}
.top_message .msg_txt_ja {font-size: min(3.07vw,12px); line-height: 2.2; margin: 0 0 min(7.69vw,30px);}
.top_message .msg_txt_en {font-size: min(3.07vw,12px);}

/* PROJECT index */
.page_sort {margin: 0 0 min(3.84vw,15px);}
.page_sort ul li {font-size: min(3.07vw,12px); margin: 0 0 min(2.56vw,10px); }

.project_list .list_contents {display: block; margin: 0;}
.project_list .list_contents .project_box {width: 100%;}
.project_list .list_contents .project_box .box_inr {padding: 0;}
.project_list .list_contents .project_box .p_data {padding: min(5.12vw,20px) 0 min(15.38vw,60px);}
.project_list .list_contents .project_box .p_name {font-size: min(3.58vw,14px); margin: 0 0 min(3.58vw,14px);}

.project_list .list_pagenation {margin: 0 0 min(25.6vw,100px);}
.project_list .list_pagenation ul li {padding: 0 min(1.28vw,5px);}
.project_list .list_pagenation ul li a,
.project_list .list_pagenation ul li span {width: min(10.25vw,40px); font-size: min(2.56vw,10px);}

/* PROJECT detail */
#dtl_cat {margin: min(6.41vw,25px) 0;}
#dtl_cat ul li {font-size: min(2.05vw,8px); margin: 0 4px 0 0;}

#dtl_title {font-size: min(5.12vw,20px); margin: 0 0 min(5.12vw,20px);}
#dtl_area {font-size: min(2.56vw,10px); margin: 0 0 min(10.25vw,40px);}

#dtl_head {display: block; margin: 0 0 min(5.46vw,95px);}
#dtl_head .list {width: 100%; margin: 0 0 min(10.25vw,40px);}
#dtl_head .list ul li {font-size: min(3.07vw,12px); margin-bottom: min(3.84vw,15px); background: url(/img/ico_list_dot.svg) left 0 top 0.4em no-repeat; background-size: min(1.538vw,6px) auto; padding-left: 1em;}
#dtl_head .dscp {width: 100%;}
#dtl_head .dscp h2 {font-size: min(3.58vw,14px); line-height: 1.6; margin-bottom: min(4.615vw,18px);}
#dtl_head .dscp p {font-size: min(3.58vw,14px); line-height: 1.9;}

#dtl_pic .picLine {display: -webkit-box; display: flex; flex-wrap: nowrap; margin-bottom: min(2.02vw,35px);}
#dtl_pic .picLine.pic2 .pic:nth-of-type(1) {margin-right: min(2.56vw,10px);}

.dtl_nav {margin: min(12.8vw,50px) 0 min(21.79vw,85px);}
.dtl_nav .btn_back a {font-size: min(2.56vw,10px);}
.dtl_nav .btn_link .link_prev {margin-left: min(2.56vw,10px);}
.dtl_nav .btn_link a {width: min(10.25vw,40px);}
.dtl_nav .btn_link a img {width: auto; height: min(1.538vw,6px);}

/* COMPANY */
#msg {padding: 0 0 min(20.5vw,80px);}
#msg .content_title,
#ovv .content_title {font-size: min(7.69vw,30px); margin: 0 0 min(10.25vw,40px);}
#msg .content_lead {font-size: min(4.1vw,16px); margin: 0 0 min(7.17vw,28px); letter-spacing: 1px; line-height: 1.8;}
#msg .content_lead:nth-of-type(3) {padding-top: min(10.25vw,40px);}
#msg .content_main {margin: 0 0 min(10.25vw,40px);}
#msg .content_main p {font-size: min(3.58vw,14px); line-height: 2.1;}
#ovv {padding: 0 0 min(7.69vw,30px);}
#ovv table {margin: 0 0 min(7.17vw,28px);}
#ovv table th,
#ovv table td {display: block; font-size: min(3.58vw,14px); padding: 0; line-height: 1.8;}
#ovv table th {width: 100%; padding: min(7.17vw,28px) 0 min(1.28vw,5px); border: none;}
#ovv table th::after {display: none;}
#ovv table tr:nth-of-type(1)::after {top: -2px; background: url(/img/ico_line_sp.svg) left bottom no-repeat;}
#ovv table td {width: 100%; padding: 0 0 min(7.17vw,28px);}
#ovv table td::after {position: absolute; bottom: -1px; left: 0; display: block; content:" "; background: url(/img/ico_line_sp.svg) left bottom no-repeat; background-size: auto 2px; width: 100%; height: 2px;}
#ovv .txt {font-size: min(3.58vw,14px); line-height: 1.6; margin: 0 0 min(5.12vw,20px);}
#ovv sub {font-size: min(2.56vw,10px);}
#ovv .ant {font-size: min(3.07vw,12px);}

/* Provacy Policy */
#pp {padding: 0 0 min(20.5vw,80px);}
#pp .content_lead {font-size: min(4.1vw,16px); margin: 0 0 min(7.17vw,28px); letter-spacing: 1px; line-height: 1.8;}
#pp .content_main {margin: 0 0 min(10.25vw,40px);}
#pp .content_main p,
#pp .content_main li {font-size: min(3.58vw,14px); line-height: 2.1;}
		}
