@charset "UTF-8";
@media all and (max-width: 1000px) {
.wp-block-embed iframe{
	width:100%;
}
p.wp-embed-heading{
	font-size:20px;
}
.wp-embed-featured-image.square{
	float:none !important;
	margin:0 0 0 0;
	width:100%;
}
/*headerはここから*/
.pc{
	display:none;
}
.sp{
	display:block;
}
.cs-p{
	font-size:20px;
}
textarea{
    -webkit-appearance: none;
}
header{
	width: 100%;
	height: 5rem;
	transition: .3s;
	overflow: visible;
	position:relative;
	position: fixed;
	z-index:100;
}
.is-animation{
	width: 100%;
	height: 5rem;
	transition: .3s;
}
.logo{
	overflow: hidden;
	width:75px;
	display: inline-block;
	float:left;
	transition: .3s;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	left:5%;
}
.logo img{
	width:100%;
}
header ul{
	list-style: none;
	padding-inline-start:0px;
	padding:150px 0 0 0;
	display: block;
	width:70%;
	text-align:left;
}
.menu li {
	 text-transform: uppercase;
	 transition: .3s;
	 margin: 15px 0;
	 padding:0 0 0 40px;
}
li a{
	 color:white;
	 font-size:16px;
	 font-weight: 600;
}
.menu li a span:nth-child(2){
	display:none;
}
.ham {
	position: relative;
/*クリックできる範囲*/
	width: 1.5rem;
	height:1rem;
	cursor: pointer;
	z-index: 9999;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	right:5%;
	margin:0;
}
.ham_line {
	position: absolute;
	left: 0;
/*	線の長さと太さ*/
	width: 100%;
	height: 2px;
	background-color: black;
	transition: all 0.3s;
}
/*線と線の間*/
.ham_line1 {
	top: 0;
}
.ham_line2 {
	top:0.5rem;
}
.ham_line3 {
	top: 1rem;
}
/*クリック後の動作*/
.clicked .ham_line1 {
	transform: rotate(45deg);
	top: 0.5rem;
	background-color: white;
}
.clicked .ham_line2 {
	width: 0px;
}
.clicked .ham_line3 {
	transform: rotate(-45deg);
	top: 0.5rem;
	background-color: white;
}

.menu {
	position: fixed;
	width: 60%;
	height: 100%;
	right: -100%;
	background-color:#292929;
	transition: all 0.4s;
	z-index: 100;
	/* filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.6)); */
	margin:0 0 0 0;
	display: block;
}
.clicked .menu {
	right:0;
	z-index: 100;
}
.main-2{
	 width:100%;
	 height: 100vh;
	 background-color: black;
	 opacity: 0;
	 z-index: 0;
	 position: absolute;
	 top:0;
	 left:0;
	 transition: all 0.4s;
}
.clicked .main-2{
	 opacity: .6;
	}
	.blackback{
		background-color: black;
		opacity: .3;
		height:100vh;
		width:100%;
		transition:.3s;
		display:none;
	}
	.clicked .blackback{
		/* background-color: black; */
		/* opacity: 1; */
		height:100vh;
		width:100%;
		display:block;
		z-index: 10;
	}
/*共通はここから*/
.main-txt{
	font-size:13px;
	line-height: 1.75;
}
.common-width{
	max-width:1250px;
	width:90%;
	margin:0 auto;
}
.common-kaso-first{
	padding-top:40px;
}
.common-kaso-title{
	font-family: "Roboto", sans-serif;
	font-size:14px;
	letter-spacing: -0.01em;
	margin-bottom:30px;
	text-transform: uppercase;
}
.common-kaso-top{
	padding-top:105px;
	padding-left:5%;
	width:90%;
	line-height: 1.2;
}
.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:150px;
}
.top-title{
	display:flex;
	justify-content: space-between;
	padding:0 5%;
}
.top-title-main h1{
	font-size:17px;
	font-weight:500;
}
.address{
	font-size:12px;
	font-family: "Roboto", sans-serif;
	letter-spacing: 0.01em;
	font-weight:500;
	margin:9px 0 12px 0;
}
.code{
	font-size:20px;
	font-family: "Roboto", sans-serif;
	font-weight:500;
}
.top-title-img{
	width:70px;
}
.top-en-title{
	margin-top:30px;
}
.top h2{
	font-size:26vw;
	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:96%;
}
.top-img img{
	height:280px;
	object-fit: cover;
	border-radius: 5px;
}
.concept{
	margin-top:40px;
	margin-bottom:60px;
}
.concept-content{
	
}
.concept h2{
	font-size:35px;
	letter-spacing: -0.03em;
	line-height: 1.2;
}
.concept h2 span{
	font-size:40px;
}
.concept p{
	font-size:14px;
	font-weight:400;
	letter-spacing: -0.03em;
	margin:25px 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{
	margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
	margin-top:50px;
}
.concept-img video{
	height:100%;
	width:100%;
	object-fit: cover;
}
.concept-img img{
	height:100%;
	width:100%;
	object-fit: cover;
}
.work-list{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
    grid-column-gap:25px;
	grid-row-gap: 40px;
}
.work-list-detail{
	display:block;
}
.work-th-img img{
	height:180px;
	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.5;
	color:#9C9C9C;
}
.all-work-btn{
	display:block;
	font-family: "Roboto", sans-serif;
	font-size:25px;
	font-weight:600;
	letter-spacing: -0.02em;
	text-align: center;
	color: black;
	margin:60px 0 70px 0;
	position: relative;
}
.all-work-btn::after {
	position: absolute;
	top: 50%;
  	transform: translateY(-50%);
	content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
	background-image: url(image/arrow-right.png);
    background-size: contain;
    vertical-align: middle;
    margin: 0 0 0 20px;
}
.top-list-btn{
	margin-bottom:100px;
}
.top-list-btn-content{
	position: relative;
}
.top-list-btn-content-img{
	width:270px;
	position: absolute;
	top:-10px;
	left:-100px;
	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{
	display:flex;
	flex-direction: column;
	text-align: right;
}
.top-list-btn-content-sub 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;
}
/* プロジェクト一覧 */
.work-g{
	margin-bottom:160px;
}
/* コンセプトページ */
.concept-title{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	gap:20px;
}
.ct-1{
	font-size:9vw;
	letter-spacing: -0.03em;
	line-height: 1;
}
.ct-2{
	font-size:10.3vw;
	font-weight:700;
	letter-spacing: -0.03em;
}
.concept-title p{
	font-size:14px;
	font-weight:400;
	line-height: 1.9;
	text-align: justify;
}
.concept-clip{
	margin-top:60px;
	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{
	margin:80px auto 0 auto;
	position: relative;
}
.concept-read-img{
	width:;
	margin-bottom:60px;
}
.concept-read-img img{
	border-radius: 5px;
}
.concept-read h3{
	font-size:8vw;
	font-weight:800;
	line-height: 1.2;
	width:90%;
	margin:0 auto 0 auto;
}
.concept-read-txt{
	width:90%;
	margin:30px auto 0 auto;
}
.concept-read-txt p{
	font-size:14px;
	line-height:1.9;
	text-align: justify;
}
.concept-read-txt p:nth-child(1){
	margin-bottom:40px;
}
.concept-copy{
	background-image: url("image/ryushi.jpg");
	width:96%;
	background-size: cover;
	background-position: center;
	margin:60px auto 0 auto;
	padding:40px 0;
	border-radius: 7px;
}
.concept-copy .common-width{
	width:80%;
}
.concept-copy h3{
	font-size:20px;
	color:white;
	line-height: 1.3;
}
.concept-copy .concept-copy-txt{
	display:flex;
	flex-direction: column;
	gap:45px;
	margin-top:40px;
}
.concept-copy .concept-copy-txt p{
	font-weight:400;
	font-size:14px;
	color:white;
	line-height: 1.9;
	letter-spacing: 0.02em;
	text-align: justify;
}
.concept-bottom{
	margin:50px 0 50px 0;
	text-align: center;
}
.concept-bottom-link{
	padding:30px 0 50px 0;
	display:block;
}
.concept-bottom-link  h4{
	font-size:20px;
	font-weight:600;
	letter-spacing: -0.02em;
	color:black;
}
.concept-bottom-link  p{
	font-size:12px;
	font-weight:600;
	letter-spacing: -0.02em;
	margin:10px 0 15px 0;
	color:black;
}
.concept-bottom-link img{
	width:42px;
}
/* サービスページ */
.service-top{
	display:flex;
	flex-direction: column;
}
.service-top-img{
	width:100%;
}
.service-top-txt{
}
.service-top-txt h2{
	font-size:29px;
	letter-spacing: -0.02em;
	margin-top:30px;
	line-height: 1.3;
}
.service-top-txt p{
	font-size:14px;
	text-align: justify;
	line-height: 1.9;
	letter-spacing:0.02em;
	margin-top:20px;
}
.service-list{
	margin-top:70px;
	margin-bottom:70px;
	display:grid;
	grid-template-columns: repeat(1, 1fr);
    gap:50px;
}
.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:96%;
	background-size: cover;
	background-position: center;
	margin:70px auto 0 auto;
	padding:70px 0;
	border-radius: 5px;
	display:block;
	text-align: center;
}
.sc-title{
	display:block;
	color:white;
	font-family: "Roboto", sans-serif;
	font-size:30px;
	font-weight:700;
	position: relative;
}
.sc-title::after {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    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:60px;
	margin-bottom:100px;
}
.faq-list{
	display:flex;
	flex-direction: column;
	gap:30px;
}
.faq-list-detail{
	padding:0 0 20px 0;
	border-bottom: #D8D8D8 solid 1px;
}
.faq-list-detail div{
	display:flex;
}
.faq-list-detail div span:nth-child(1){
	font-family: "Roboto", sans-serif;
    font-size: 23px;
    font-weight: 600;
}
.faq-list-detail div span:nth-child(2){
    font-size: 17px;
    font-weight: 500;
	margin:0 0 0 15px;
	font-family:'Noto Sans JP', sans-serif;
}
.faq-list-detail p{
	font-size:13px;
	letter-spacing: -0.02em;
	margin-top:10px;
	padding:0 0 0 38px;
}
/* 会社概要ページ */
.company-info-list{
	margin-bottom:100px;
}
.company-info-list-detail{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	gap:25px;
}
.company-info-list-detail h2{
	font-size:25px;
	letter-spacing: -0.02em;
}
.company-info-list-content-list{
	display:flex;
	flex-direction: column;
	gap:20px;
}
.company-info-list-content{
	display:flex;
	flex-direction: column;
	gap:3px;
	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){
}
/* プロジェクト詳細ページ */
.project-single{
	margin-bottom:100px;
}
.s-c-content{
	display:flex;
	flex-direction: column;
	gap:30px;
}
.s-c-content h1{
	font-size:19px;
	font-weight:400;
}
.over-view{
	display:flex;
	flex-direction: column;
	gap:11px;
}
.o-content{
	display:flex;
	flex-direction: column;
	gap:5px;
}
.o-content .title{
	font-size:12px;
	color:#969696 !important;
	width:165px;
	font-weight:400;
	line-height: 1.65;
}
.o-content .txt{
	font-size:13px;
	font-weight:400;
	line-height: 1.65;
}
.p-main-content{
	margin-top:45px;
}
.back-btn{
	margin-top:50px;
}
.back-btn a{
    color: #2E2E2E;
    font-size: 14px;
    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:100px;
}
.news-content{
	display:flex;
	flex-direction: column;
	gap:5px;
	padding:0 0 15px 0;
	border-bottom: #D5D5D5 1px solid;
}
.news-content .date{
	font-size:12px;
	color:#969696;
}
.news-content .title{
	font-size:13px;
	color:black;
}
/* お知らせ詳細 */
.news-c-kaso{
	margin-bottom:100px;
	padding-top:80px;
}
.single-title{
	font-size:18px;
	font-weight:500;
}
.topic-time{
	color:#969696;
	font-size:13px;
	margin:10px 0 0 0;
}
.topic-txt{
	margin-top:30px;
}
.topic-txt p{
	font-size:15px;
	line-height: 1.8;
}
.topic-txt a{
	color:#0071db;
	font-weight:500;
	display:block;
	line-break:anywhere;
}


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










/* フッター */
footer{
	background-color:#1B1B1B;
	padding:12px 0 15px 0;
	margin:0 auto 6px;
	width:96%;
	border-radius: 10px;
	display: block;
}
.f-content{
	padding:0 25px;
	/* display:flex; */
	justify-content: space-between;
	align-items:flex-start;
	flex-direction: row-reverse;
}
.f-content-left{
	display:flex;
	flex-direction: column;
	gap:28px;
	margin-top:30px;
}
.f-content-left-img{
	width:130px;
}
.f-content-left-link{
	display:flex;
	flex-wrap: wrap;
	gap:9px;
}
.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;
	justify-content: center;
	gap:30px;
	font-family: "Roboto Condensed", sans-serif;
	background-color: #292929;
	color: white;
	border-radius: 7px;
	font-size:30px;
	font-weight:800;
	padding:19px 25px;
	margin-top:30px;
}
.f-contact img{
	width:27px;
	vertical-align: middle;
	position: relative;
	top:-2px;
}
small{
	font-size:12px;
	letter-spacing: -0.02em;
	color:white;
	padding:0 25px;
	margin:40px 0 0 0;
	font-family: "Roboto", sans-serif;
	display:block;
}
}