@charset "UTF-8";
/*
Theme Name:NEW_PF
Author: NEW_PF
Description: portfolioサイトのためのテーマ
Version:1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/license/gpl-2.0.html
*/
hr{
	margin:0;
}
body{
	margin:0;
	padding:0;
	font-feature-settings: "palt" 1, "trad" 1;
	background-color: #F7F7F7;
}
a{
	 text-decoration: none;
	 font-family:'Noto Sans JP', sans-serif;
}
h1,h2,h3,h4,h5,h6,p{
	font-family:'Noto Sans JP', sans-serif;
	margin:0;
}
img{
	vertical-align: top;
	width:100%;
}
.grecaptcha-badge{
	display:none !important;
}
@media all and (min-width: 1000px) {
html{
	/* scroll-behavior: smooth; */
	scroll-padding-top: 150px;
}
.sp{
	display:none;
}	
/*headerはここから*/
header{
	width:100%;
	height: 75px;
	transition: .3s;
	position:relative;
	position: absolute;;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	/* overflow: hidden; */
	z-index: 9999;
}
.is-animation {
   position:fixed;
   transition: .5s;
   z-index: 9999;
}
.logo{
  	overflow: hidden;
 	width:79px;
  	display: inline-block;
	float:left;
	transition: .3s;
  	position:absolute;
	top: 50%;
	left:3%;
	transform: translateY(-50%);
}
.menu{
	list-style: none;
	padding-inline-start:0px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	position:absolute;
	top: 50%;
    right: 3%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	margin:0;
}
ul{
	list-style: none;
	padding-inline-start:0px;
	display: flex;
	gap:20px;
	/* width:100%; */
}
.menu li {
	 font-size:14px;
	 font-weight: 600;
	 transition: .5s;
}
li a{
	 color:black;
	 font-family: "Roboto", sans-serif;
	 display:block;
}
/*共通はここから*/
.main-txt{
	font-size:15px;
	line-height: 1.75;
}
.common-width{
	max-width:1250px;
	width:90%;
	margin:0 auto;
}
.common-kaso-first{
	padding-top:80px;
}
.common-kaso-title{
	font-family: "Roboto", sans-serif;
	font-size:25px;
	letter-spacing: -0.01em;
	margin-bottom:70px;
	text-transform: uppercase;
}
.common-kaso-top{
	padding-top:130px;
	padding-left:3%;
}
.breadcrumbs{
	color:rgb(169, 169, 169);
}
.breadcrumbs span{
	font-size:12px;
	color:rgb(169, 169, 169);
	font-family:'Noto Sans JP', sans-serif;
}
/*フロントページはここから*/
.top{
	position: relative;
	padding-top:220px;
}
.top-title{
	position: absolute;
	top:220px;
	right:2%;
	text-align: right;
}
.top-title-main h1{
	font-size:18px;
	font-weight:500;
}
.address{
	font-size:12px;
	font-family: "Roboto", sans-serif;
	letter-spacing: 0.01em;
	font-weight:500;
	margin:8px 0 12px 0;
}
.code{
	font-size:20px;
	font-family: "Roboto", sans-serif;
	font-weight:500;
}
.top-title-img{
	width:25%;
	margin-left:auto;
	margin-top:48px;
}
.top h2{
	font-size:19vw;
	font-family: "Roboto Condensed", sans-serif;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 0.8;
	padding:0 0 0 2%;
}
.top-copy-span{
	margin:0 0 0 23%;
}
.top-img{
	margin:-9.4% auto 0;
	position: relative;
	z-index: -1;
	width:98%;
}
.top-img img{
	height:585px;
	object-fit: cover;
	border-radius: 5px;
}
.concept{
	display:flex;
	justify-content: space-between;
	margin-top:-220px;
	margin-bottom:195px;
}
.concept-content{
	width:480px;
}
.concept h2{
	font-size:48px;
	letter-spacing: -0.03em;
	line-height: 1.2;
}
.concept h2 span{
	font-size:55px;
}
.concept p{
	font-size:14px;
	font-weight:400;
	letter-spacing: -0.03em;
	margin:30px 0 30px 0;
	line-height: 1.9;
	text-align: justify;
}
.concept a{
	color:#2E2E2E;
	font-family: "Roboto", sans-serif;
	font-size:13px;
	font-weight:500;
	letter-spacing: -0.02em;
	transition: .5s;
	display:flex;
	align-items: center;
}
.concept a:hover{
	opacity: .6;
}
.concept a::before {
	content: '';
	display: inline-block;
	width:9px;
	height:9px;
	border-radius: 50%;
	background-color:#2E2E2E;
	background-size: contain;
	vertical-align: middle;
	margin: 0 12px 0 0;
	transition: .5s;
}
.concept-img{
	width:45%;
}
.concept-img video{
	height:100%;
	width:100%;
	object-fit: cover;
	border-radius: 5px;
}
.concept-img img{
	height:100%;
	width:100%;
	object-fit: cover;
	border-radius: 5px;
}
.work-list{
	display:grid;
	grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 11%;
	grid-row-gap: 85px;
}
.work-list-detail{
	display:block;
}
.work-th-img img{
	height:280px;
	object-fit: cover;
	border-radius: 5px;
}
.work-info{
	margin-top:15px;
}
.work-info .cl{
	font-size:11px;
	color:#9C9C9C;
}
.work-info h3{
	font-size:14px;
	font-weight:400;
	margin:5px 0 0 0;
	min-height: 47px;
	color:black;
}
.work-info-sub p{
	font-size:11px;
	line-height: 1.7;
	color:#9C9C9C;
}
.all-work-btn{
	display:block;
	font-family: "Roboto", sans-serif;
	font-size:67px;
	font-weight:600;
	letter-spacing: -0.02em;
	text-align: center;
	color: black;
	margin:140px 0 170px 0;
	position: relative;
}
.all-work-btn::after {
	position: absolute;
	top: 50%;
  	transform: translateY(-50%);
	content: '';
    display: inline-block;
    width: 59px;
    height: 59px;
	background-image: url(image/arrow-right.png);
    background-size: contain;
    vertical-align: middle;
    margin: 0 0 0 30px;
}
.top-list-btn{
	margin-bottom:200px;
}
.top-list-btn-content{
	position: relative;
}
.top-list-btn-content-img{
	width:364px;
	position: absolute;
	top:0;
	left:0;
	z-index: -1;
	animation:18s linear infinite rotation1;
}
@keyframes rotation1{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}
.top-list-btn-content-main{
	display:flex;
	flex-direction: column;
	text-align:right;
}
.top-list-btn-content-main a{
	font-size:14.5vw;
	font-weight:700;
	letter-spacing: -0.03em;
	font-family: "Roboto", sans-serif;
	color:black;
	text-transform: uppercase;
	margin:0;
	line-height: 0.85;
}
.top-list-btn-content-sub{
	position: absolute;
	bottom:0;
	left:0;
	display:flex;
	gap:27px;
}
.top-list-btn-content-sub a{
	font-size:7.5vw;
	font-weight:700;
	letter-spacing: -0.03em;
	font-family: "Roboto", sans-serif;
	color:black;
	text-transform: uppercase;
	margin:0;
	line-height: 0.85;
}
/* プロジェクト一覧 */
.work-g{
	margin-bottom:160px;
}
/* コンセプトページ */
.concept-title{
	display:flex;
	justify-content: space-between;
	gap:100px;
}
.ct-1{
	font-size:5.1vw;
	letter-spacing: -0.03em;
	line-height: 1;
}
.ct-2{
	font-size:6vw;
	font-weight:700;
	letter-spacing: -0.03em;
}
.concept-title p{
	width:390px;
	font-size:16px;
	font-weight:500;
	line-height: 2;
	text-align: justify;
}
.concept-clip{
	margin-top:120px;
	position: relative;
}
.concept-clip-sub-1{
	position: absolute;
	top:0;
	right:0;
	width:13.6%;
}
.concept-clip-sub-1 img{
	border-radius: 5px;
}
.concept-clip-sub-2{
	position: absolute;
	bottom:1%;
	left:0;
	width:26.6%;
}
.concept-clip-sub-1 img{
	border-radius: 5px;
}
.concept-read{
	width:870px;
	margin:105px auto 0 auto;
	position: relative;
}
.concept-read-img{
	width:410px;
	position: absolute;
	bottom:7px;
	right:0;
}
.concept-read-img img{
	border-radius: 5px;
}
.concept-read h3{
	font-size:79px;
	font-weight:800;
	line-height: 1.2;
	text-align:right;
}
.concept-read-txt{
	width:395px;
	margin-top:-55px;
}
.concept-read-txt p{
	font-size:16px;
	line-height:2;
	text-align: justify;
}
.concept-read-txt p:nth-child(1){
	margin-bottom:40px;
}
.concept-copy{
	background-image: url("image/ryushi.jpg");
	width:98%;
	background-size: cover;
	background-position: center;
	margin:190px auto 0 auto;
	padding:140px 0;
	border-radius: 5px;
}
.concept-copy h3{
	font-size:42px;
	color:white;
	line-height: 1.3;
}
.concept-copy .concept-copy-txt{
	display:flex;
	gap:45px;
	margin-top:40px;
}
.concept-copy .concept-copy-txt p{
	font-weight:400;
	font-size:16px;
	color:white;
	width:395px;
	line-height: 1.9;
	letter-spacing: 0.02em;
	text-align: justify;
}
.concept-bottom{
	margin:120px 0 80px 0;
	text-align: center;
}
.concept-bottom-link{
	padding:160px 0 120px 0;
	display:block;
}
.concept-bottom-link  h4{
	font-size:24px;
	font-weight:600;
	letter-spacing: -0.02em;
	color:black;
}
.concept-bottom-link  p{
	font-size:14px;
	font-weight:600;
	letter-spacing: -0.02em;
	margin:10px 0 15px 0;
	color:black;
}
.concept-bottom-link img{
	width:52px;
}
/* サービスページ */
.service-top{
	display:flex;
	justify-content: space-between;
}
.service-top-img{
	width:57%;
}
.service-top-txt{
	width:390px;
}
.service-top-txt h2{
	font-size:40px;
	letter-spacing: -0.02em;
	margin-top:-15px;
	line-height: 1.3;
}
.service-top-txt p{
	font-size:16px;
	text-align: justify;
	line-height: 1.8;
	letter-spacing:0.02em;
	margin-top:30px;
}
.service-list{
	margin-top:150px;
	margin-bottom:150px;
	display:grid;
	grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 70px;
}
.service-list-detail-img img{
	border-radius: 5px;
}
.service-list-detail h3{
	font-size:17px;
	font-weight:400;
	margin:20px 0 8px 0;
	color:black;
}
.service-list-detail p{
	font-size:13px;
	font-weight:400;
	color:#969696;
	margin-bottom:12px;
}
.service-list-detail span{
	color: #2E2E2E;
    font-family: "Roboto", sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.02em;
    transition: .5s;
    display: flex;
    align-items: center;
}
.service-list-detail span::before {
    content: '';
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #2E2E2E;
    background-size: contain;
    vertical-align: middle;
    margin: 0 12px 0 0;
    transition: .5s;
}
.service-contact{
	background-image: url("image/ryushi.jpg");
	width:98%;
	background-size: cover;
	background-position: center;
	margin:150px auto 0 auto;
	padding:140px 0;
	border-radius: 5px;
	display:block;
	text-align: center;
}
.sc-title{
	display:block;
	color:white;
	font-family: "Roboto", sans-serif;
	font-size:70px;
	font-weight:700;
	position: relative;
}
.sc-title::after {
    content: '';
    display: inline-block;
    width: 49px;
    height: 49px;
    background-image: url("image/arrow-white.png");
    background-size: contain;
    vertical-align: middle;
    margin: 0 0 0 18px;
    position:absolute;
    top: 50%;
  	transform: translateY(-50%);
	margin-left:30px;
}
.sc-txt{
	display:block;
	font-size:17px;
	font-weight:600;
	color:white;
	margin-top:10px;
}
.faq{
	margin-top:150px;
	margin-bottom:180px;
}
.faq-list{
	display:flex;
	flex-direction: column;
	gap:50px;
}
.faq-list-detail{
	padding:0 0 35px 0;
	border-bottom: #D8D8D8 solid 1px;
}
.faq-list-detail div span:nth-child(1){
	font-family: "Roboto", sans-serif;
    font-size: 46px;
    font-weight: 600;
}
.faq-list-detail div span:nth-child(2){
    font-size: 25px;
    font-weight: 500;
	margin:0 0 0 15px;
	font-family:'Noto Sans JP', sans-serif;
}
.faq-list-detail p{
	font-size:16px;
	letter-spacing: -0.02em;
	margin-top:10px;
	padding:0 0 0 60px;
}
/* 会社概要ページ */
.company-info-list{
	margin-bottom:180px;
}
.company-info-list-detail{
	display:flex;
	justify-content: space-between;
	gap:120px;
}
.company-info-list-detail h2{
	font-size:45px;
	letter-spacing: -0.02em;
}
.company-info-list-content-list{
	width:750px;
	display:flex;
	flex-direction: column;
	gap:27px;
}
.company-info-list-content{
	display:flex;
	justify-content: space-between;
	gap:20px;
	padding:0 0 13px 0;
	border-bottom: #D5D5D5 1px solid;
}
.company-info-list-content p{
	font-size:14px;
	line-height: 1.6;
}
.company-info-list-content p:nth-child(2){
	width:540px;
}
/* プロジェクト詳細ページ */
.project-single{
	margin-bottom:180px;
}
.s-c-content{
	display:flex;
	justify-content: space-between;
	gap:100px;
}
.s-c-content h1{
	width:440px;
	font-size:25px;
	font-weight:400;
}
.over-view{
	width:680px;
	display:flex;
	flex-direction: column;
	gap:11px;
}
.o-content{
	display:flex;
}
.o-content .title{
	font-size:14px;
	color:#969696 !important;
	width:165px;
	font-weight:400;
	line-height: 1.65;
}
.o-content .txt{
	font-size:14px;
	width:395px;
	font-weight:400;
	line-height: 1.65;
}
.p-main-content{
	margin-top:75px;
}
.back-btn{
	margin-top:50px;
}
.back-btn a{
    color: #2E2E2E;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.02em;
    transition: .5s;
    display: flex;
    align-items: center;
}
.back-btn a::before {
    content: '';
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #2E2E2E;
    background-size: contain;
    vertical-align: middle;
    margin: 0 12px 0 0;
    transition: .5s;
}
/* お知らせ一覧ページ */
.news-list{
	display:flex;
	flex-direction: column;
	gap:30px;
	margin-bottom:180px;
}
.news-content{
	display:flex;
	padding:0 0 15px 0;
	border-bottom: #D5D5D5 1px solid;
}
.news-content .date{
	font-size:15px;
	color:#969696;
	width:150px;
}
.news-content .title{
	font-size:15px;
	color:black;
}
/* お知らせ詳細 */
.news-c-kaso{
	margin-bottom:180px;
	padding-top:80px;
}
.single-title{
	font-size:23px;
	font-weight:500;
}
.topic-time{
	color:#969696;
	font-size:14px;
	margin:10px 0 0 0;
}
.topic-txt{
	margin-top:50px;
}
.topic-txt p{
	font-size:15px;
	line-height: 1.8;
}
.topic-txt a{
	color:#0071db;
	font-weight:500;
}


/* 固定ページ共通 */
.page-common{
	padding-top:80px;
	margin-bottom:180px;
}
.page-common-min{
	max-width:950px;
	width:90%;
	margin:0 auto;
}
.page-common .wp-block-heading{
	font-size:23px;
	font-weight:500;
}
.page-common p{
	font-size:15px;
	line-height: 1.8;
	font-weight:400;
	margin:20px 0;
}
.page-common .wp-block-list li{
	font-size:15px;
	line-height: 1.8;
	font-weight:400;
	font-family:'Noto Sans JP', sans-serif;
}
/* お問い合わせページ */
.contact-page h1{
	font-size:25px;
	font-weight:500;
	margin:0 0 15px 0;
}
.contact-content{
	background-color: white;
	margin:30px 0 180px 0;
	border-radius: 7px;
	padding:20px 30px;
}
/* トピック一覧ページ */
.zyunbi{
	padding:200px 0 250px 0;
	text-align: center;
}
.zyunbi p{
	font-size:20px;
}










/* フッター */
footer{
	background-color:#1B1B1B;
	padding:50px 0 15px 0;
	margin:0 auto 10px;
	width:98%;
	border-radius: 10px;
	display: block;
}
.f-content{
	padding:0 50px;
	display:flex;
	justify-content: space-between;
	align-items:flex-start;
	flex-direction: row-reverse;
}
.f-content-left{
	display:flex;
	gap:53px;
}
.f-content-left-img{
	width:300px;
}
.f-content-left-link{
	display:flex;
	flex-direction: column;
	gap:6px;
	margin:27px 0 0 0;
	padding:0 0 0 42px;
	border-left:1px solid #525252;
}
.f-content-left-link a{
	display:block;
	color:white;
	font-family: "Roboto", sans-serif;
	font-size:14px;
	letter-spacing: -0.02em;
	transition: .5s;
}
.f-content-left-link a:hover{
	opacity: .5;
}
.f-contact{
	display:flex;
	align-items: center;
	gap:30px;
	font-family: "Roboto Condensed", sans-serif;
	background-color: #292929;
	color: white;
	border-radius: 7px;
	font-size:80px;
	font-weight:800;
	padding:27px 34px;
	margin-top:30px;
}
.f-contact img{
	width:69px;
	vertical-align: middle;
	position: relative;
	top:-10px;
}
small{
	font-size:12px;
	letter-spacing: -0.02em;
	color:white;
	padding:0 50px;
	margin:90px 0 0 0;
	font-family: "Roboto", sans-serif;
	display:block;
}

}