@charset "UTF-8";
@media all and (max-width: 1000px) {
.document-pc{
	display:none;
}
.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:15px;
	line-height: 1.75;
}
.common-width{
	max-width:1250px;
	width:90%;
	margin:0 auto;
}
.common-link-arrow{
	font-size:15px;
	font-weight:600;
	color:black;
	padding:0 0 5px 0;
	border-bottom:2px solid black;
	display: inline-flex;
	justify-content: space-between;
	align-items: center;
	gap:10px;
}
.common-link-arrow-img{
	width:15px;
}
.common-link-arrow-img img{
	vertical-align: middle;
}
.common-scroll-link{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	gap:10px;
}
.common-scroll-link-s{
	background-color:#F5F5F5;
	padding:9px 0 9px 9px;
	width:auto;
	display:flex;
	align-items: center;
}
.common-scroll-link-s >p{
	background-color: #282828;
	color:white;
	display:flex;
	align-items: center;
	justify-content: center;
	padding:10px 0;
	width:140px;
	height:calc(100% - 18px);
	font-size:13px;
	letter-spacing: -0.02em;
	line-height: 1.3;
}
.marquee-wrap {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.marquee-track {
  display: inline-flex;
  animation: marquee 20s linear infinite;
}
.marquee-track span {
  font-size: 28px;
  font-weight:300;
  color: #909090;
  letter-spacing: -0.02em;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.common-scroll-link>a{
	color:black;
	font-size:29px;
	white-space: nowrap;
	letter-spacing: -0.02em;
	font-weight: 400;
	display:flex;
	justify-content: space-between;
	gap:15px;
	align-items:end;
}
.common-scroll-link .csl-txt{
	border-bottom:3px solid black;
	padding:0 0 5px 0;
}
.common-scroll-link .csl-img{
	width:40px;
}
.common-scroll-link .csl-img img{
	vertical-align: bottom;
}
.common-layer-padding{
	padding-top:30px;
}
.common-layer-title{
	font-size:23px;
	font-weight:400;
	margin-bottom:30px;
}
.breadcrumbs{
	/* position: absolute;
	left:4%;
	top:100px; */
	color:#A8A8A8;
	letter-spacing: -0.01em;
	font-size:13px;
	padding:100px 4% 0;
}
.breadcrumbs span{
	color:#A8A8A8;
	font-size:13px;
}
/*フロントページはここから*/
.top{
	max-width:1350px;
	width:90%;
	margin:0 auto;
	padding-top:150px;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	gap:20px;
}
.top h1{
	font-size:12vw;
	font-weight:400;
	/* margin-top: -25px; */
	line-height: 1.2;
	white-space: nowrap;
}
.top .top-content{
	width:auto;
	display:flex;
	flex-direction: column;
	/* gap:40px; */
}
.top-p{
	font-size:14px;
	font-weight:500;
	letter-spacing: -0.03em;
	line-height:1.9;
	text-align: justify;
}
.top-link{
	margin-top: 20px;
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap:30px;
}
.project-group{
	max-width:1350px;
	width:90%;
	margin:40px auto 0;
}
.project-group-content{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	grid-column-gap:10px;
    grid-row-gap: 35px;
}
.project-group-thumbnail{
	color:black;
}
.project-group-thumbnail img{
	height:auto;
}
.project-group-thumbnail h3{
	font-size:16px;
	font-weight:400;
	margin-top:10px;
	letter-spacing: -0.02em;
}
.project-group-thumbnail p{
	font-size:12px;
	font-weight:500;
	letter-spacing: -0.02em;
	margin:4px 0 12px;
}
.project-group-thumbnail > div{
	display:flex;
	gap:6px;
}
.project-group-thumbnail > div span{
	font-size:12px;
	font-weight:500;
	letter-spacing: -0.02em;
	background-color: #39FF14;
	padding: 4px 14px;
}
.project-group .common-scroll-link{
	margin-top:20px;
}
.top-company{
	max-width:1350px;
	width:90%;
	margin:70px auto 0;
}
.top-company-content{
	display:flex;
	flex-direction: column;
	gap:15px;
	margin-top:25px;
}
.top-company-content h2{
	font-size:37px;
	font-weight:400;
	letter-spacing: -0.02em;
	line-height: 1.3;
}
.top-company-content>div{
	/* width:480px; */
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	gap:20px;
}
.top-company-content>div p{
	/* margin-top:20px; */
}
.top-company-content>div .common-link-arrow{
	/* position: relative;
	bottom:15px; */
}
.top-topic-group{
	max-width:1350px;
	width:90%;
	margin:50px auto 0;
	padding:18px 0 0 0;
	border-top:1px solid #c8c8c8;
}
.top-topic-group>h2{
	font-size:25px;
	font-weight:400;
	letter-spacing: -0.01em;
}
.topic-group-content{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap:20px;
    grid-row-gap: 25px;
	margin-top:20px;
}
.topic-group-content a img{
	height:auto;
}
.top-topic-group .common-scroll-link{
	margin-top:40px;
}
.topic-group-content-info{
	display:flex;
	flex-direction: column;
	gap:5px;
	margin-top:8px;
}
.topic-group-content-info time{
	font-size:13px;
	letter-spacing: -0.02em;
	color:#A4A4A4;
}
.topic-group-content-info>div{
	display:flex;
	gap:7px;
}
.topic-group-content-info>div span{
	font-size:12px;
	font-weight:500;
	letter-spacing: -0.02em;
	color:#A4A4A4;
	border:1px solid #A4A4A4;
	padding:2px 5px;
}
.topic-group-content a>h3{
	font-size:13px;
	line-height: 1.5;
	font-weight:400;
	letter-spacing: -0.02em;
	color:black;
	margin-top:13px;
}
.top-news{
	max-width:1350px;
	width:90%;
	margin:40px auto 0;
	padding:20px 0;
	background-color: #F5F5F5;
}
.top-news .common-width>h2{
	font-size:25px;
	font-weight:400;
	letter-spacing: -0.01em;
}
.top-news-group{
	display:flex;
	flex-direction: column;
	gap:25px;
	margin-top:25px;
}
.top-news-group a{
	display:flex;
	flex-direction: column;
	gap:5px;
	border-bottom:1px solid #DEDEDE;
	padding:0 0 15px 0;
}
.top-news-group a time{
	color:#94908E;
	font-size:14px;
	width:190px;
}
.top-news-group a p{
	color:#302D2C;
	font-size:14px;
}
.top-news-group-link{
	margin-top:25px;
	text-align: right;
}
/* サービス一覧 */
.service-group-content{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	grid-column-gap: 10px;
    grid-row-gap: 35px;
}
.service-group-thumbnail{
	color:black;
}
.service-group-thumbnail img{
	height:auto;
}
.service-group-thumbnail h3{
	font-size:16px;
	font-weight:400;
	margin-top:10px;
	letter-spacing: -0.02em;
}
.service-group-thumbnail p{
	font-size:12px;
	font-weight:400;
	letter-spacing: -0.02em;
	line-height: 1.8;
	margin:4px 0 12px;
	text-align: justify;
}
/* 会社情報 */
.company-content{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	gap:20px;
}
.company-content-title{
	line-height: 1.2;
	position: relative;
	/* top:-15px; */
	font-weight:400;
}
.company-content-title .sm{
	font-size:36px;
	letter-spacing: -0.02em;
}
.company-content-title .bg{
	font-size:42px;
	letter-spacing: -0.03em;
}
.company-content-txt{
	display:flex;
	flex-direction: column;
	gap:10px;;
}
.company-content p{
	width:auto;
}
.company-copy{
	margin-top:30px;
}
.company-copy-img{
	margin-bottom:29px;
	position: relative;
}
.cr-1{
	position: absolute;
	top:0;
	right:0;
	width:13%;
}
.cr-2{
	position: absolute;
	bottom:0;
	left:0;
	width:28%;
}
.company-copy .common-scroll-link-s > p{
	font-size:13px;
}
.company-copy .common-scroll-link>a{
	font-size:29px;
	white-space: nowrap;
}
.company-copy .marquee-track span{
	font-size:28px;
}
.pf-info{
	margin-top:50px;
	background-color:#282828;
}
.pf-info-content{
	padding:30px;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	gap:30px;
}
.pf-info-img{
	width:auto;
}
.pf-info-txt{
	width:auto;
	display:flex;
	flex-direction: column;
}
.pf-info-txt h3{
	font-size:20px;
	font-weight:500;
	color:white;
	padding:0 0 15px 0;
	border-bottom: 1px solid #545454;
}
.pf-info-txt>p{
	font-size:14px;
	color:white;
	line-height: 1.9;
	text-align: justify;
	margin-top:15px;
}
.pf-info-txt-bottom{
	display:flex;
	flex-direction: column;
	margin-top:30px;
	margin-left:auto;
	gap:15px;
}
.pf-info-txt-bottom-icon{
	display:flex;
	margin-left:auto;
	gap:14px;
}
.pf-info-txt-bottom-icon a{
	width:28px;
}
.pf-info-txt-bottom-icon div{
	width:30px;
}
.pf-info-txt-bottom-name{
	display:flex;
	align-items: end;
	gap:10px;
}
.pf-info-txt-bottom-name p{
	font-size:13px;
	letter-spacing: -0.02em;
	color:white;
}
.pf-info-txt-bottom-name h4{
	font-size:19px;
	font-weight:500;
	letter-spacing: -0.02em;
	color:white;
}
.company-info{
	margin-top:50px;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	gap:10px;
}
.company-info h2{
	font-size:23px;
	font-weight:500;
}
.company-info dl{
	width:auto;
	display:flex;
	flex-direction: column;
	gap:23px;
}
.company-info dl div{
	display:flex;
	flex-direction: column;
	gap:5px;
	border-bottom:1px solid #D5D5D5;
	padding-bottom:10px;
}
.company-info dl dt,dd{
	font-size:15px;
	font-weight:500;
	font-family:'Noto Sans JP', sans-serif;
	margin:0;
}
.company-info dl dt{
	width:auto;
}
.company-info dl dd{
	width:auto;
}
.company-info dl a{
	color:black;
}
.company-info dl iframe{
	width:100%;
	height:200px;
	margin-top:20px;
}
/* 特長 */
.feature-txt{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	gap:20px;
}
.feature-txt h2{
	font-size:42px;
	font-weight:400;
	position: relative;
	line-height: 1.3;
}
.feature-txt>div{
	width:auto;
	display:flex;
	flex-direction: column;
	gap:10px;
}
.feature-top-img{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap:10px;
	margin-top:30px;
}
.feature-concept{
	margin-top:50px;
	background-color: #282828;
	width:100%;
}
.feature-concept-content{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	padding:40px 30px 50px 30px;
	gap:20px;
}
.feature-concept-txt{
	width:auto;
}
.feature-concept-txt h3{
	font-size:23px;
	font-weight:400;
	color:white;
}
.feature-concept-txt p{
	font-size:14px;
	font-weight:500;
	color:white;
	line-height: 2;
	margin-top:20px;
	text-align: justify;
}
.feature-concept-img{
	width:100%;
}
.data-content{
	margin-top:50px;
}
.data-content h2{
	font-size:23px;
	font-weight:400;
}
.data-content-list{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	gap:40px;
	margin-top:20px;
}
.data-detail{
	border-bottom: 1px solid #D5D5D5;
	padding:0 0 20px 0;
}
.data-detail-no{
	font-family: "Roboto", sans-serif;
	font-size:70px;
	line-height: 1;
	position: relative;
}
.data-detail-no .plus{
	position: absolute;
	top:0;
	font-size:50px;
	font-family: "Roboto", sans-serif;
}
.data-detail-no .year{
	position: absolute;
	top:10px;
	font-size:30px;
	font-weight:600;
	margin:0 0 0 10px;
	/* font-family: "Roboto", sans-serif; */
}
.data-detail-no .per{
	position: absolute;
	top:10px;
	font-size:50px;
	font-weight:500;
	margin:0 0 0 5px;
	font-family: "Roboto", sans-serif;
}
.data-detail-no .kerning{
	letter-spacing: -0.08em;
	line-height: 1;
	font-family: "Roboto", sans-serif;
}
.data-detail-title{
	font-size:19px;
	font-weight:500;
	margin:10px 0 10px;
}
.data-detail-read{
	font-size:14px;
	text-align: justify;
	line-height: 1.7;
}
.feature-point{
	margin-top:50px;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	gap:20px;
}
.feature-point-txt{
	width:100%;
}
.feature-point-txt h2{
	font-size:22px;
	font-weight:400;
}
.feature-point-txt>p{
	font-size:14px;
	font-weight:500;
	background-color: #282828;
	color:white;
	text-align: center;
	padding:8px 0;
	margin:25px 0 0 0;
}
.feature-point-txt ul{
	list-style: none;
	padding:0;
	margin:20px 0 0 0;
	display:flex;
	flex-direction: column;
	gap:20px;
}
.feature-point-txt ul li{
	display:flex;
	align-items: center;
	gap:10px;
	border-bottom:1px solid #D5D5D5;
	padding:0 0 14px 0;
	font-size:13px;
	font-weight:500;
	letter-spacing: -0.02em;
}
.feature-point-check{
	width:20px;
	position: relative;
	top:-1px;
}
.feature-point-check img{
	vertical-align: middle;
}
.feature-result{
	margin-top:50px;
}
.feature-result h2{
	font-size:23px;
	font-weight:400;
}
.feature-result-list{
	display:flex;
	flex-direction: column;
	gap:40px;
	margin-top:30px;
}
.feature-result-list>div{
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	padding:0 0 20px 0;
	border-bottom: 1px solid #D5D5D5;
	gap:10px;
}
.feature-result-list>div h3{
	font-size:17px;
	font-weight:400;
	line-height: 1.8;
	width:auto;
	position: relative;
	top:-5px;
}
.feature-result-list>div p{
	font-size:14px;
	font-weight:400;
	line-height:2;
	text-align: justify;
	width:auto;
}
.feature-result-list>div a{
	margin-top:20px;
}
.feature-result .common-scroll-link{
	margin-top:29px;
}
.feature-result.common-scroll-link-s > p{
	font-size:14px;
}
.feature-result .common-scroll-link>a{
	font-size:29px;
	white-space: nowrap;
}
.feature-result .marquee-track span{
	font-size:28px;
}
/* page */
.page-tmp h2{
	font-size: 20px;
    font-weight: 500;
    margin: 30px 0 0 0;
    padding: 0 0 5px 0;
    color: #2c2c2c;
    position: relative;
}
.page-tmp h2::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #ddd;
}
.page-tmp h2::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 6.25rem;
    height: 2px;
    background-color: #0071db;
}
.page-tmp p{
	font-size:15px;
	font-weight:400;
	line-height: 1.9;
	margin:15px 0;
}
.page-tmp ol{
	font-family:'Noto Sans JP', sans-serif;
	font-size:15px;
	line-height: 1.75;
}
/* フォーム系 */
.form-content{
	display:flex;
	justify-content: space-between;
	flex-direction: column;
	gap:30px;
}
.form-txt{
	width:100%;
}
.form-txt p{
	font-size:16px;
	line-height: 1.9;
}
.form-input{
	width:100%;
	background-color:#F5F5F5;
}
/* 404 */
.no-404 p{
	font-size:15px;
	line-height: 1.7;
	margin-bottom:20px;
}
/* フッター */
.fotter-cv{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	gap:6px;
	max-width:1350px;
	width:90%;
	margin:60px auto 0 auto;
}
.home .fotter-cv{
	margin:35px auto 0 auto;
}
.fotter-cv > div{
	background-color: #282828;
	padding:27px 22px;
}
.fotter-cv > div h3{
	color:white;
	font-size:20px;
	font-weight:400;
	letter-spacing: -0.02em;
}
.fotter-cv > div p{
	color:white;
	font-size:13px;
	font-weight:500;
	line-height: 1.8;
	letter-spacing: -0.02em;
	margin:10px 0 15px 0;
}
.fotter-link-arrow{
	font-size:15px;
	font-weight:600;
	color:white;
	padding:0 0 5px 0;
	border-bottom:1px solid white;
	display: inline-flex;
	align-items: center;
	gap:10px;
}
footer{
	max-width:1350px;
	width:90%;
	margin:40px auto 0 auto;
	padding:0 0 10px 0;
}
.f-content{
	display:flex;
	flex-direction: column;
	gap:20px;
}
.f-logo{
	display:flex;
	align-items: center;
	gap:15px;
}
.f-logo a{
	width:115px;
}
.f-logo p{
	font-size:13px;
	font-weight:500;
	letter-spacing: -0.02em;
	margin-top:10px;
}
.f-content address {
  font-style: normal;
  display:flex;
  flex-direction: column;
  gap:5px;
}
.f-content address p{
	font-size:14px;
	font-weight:500;
	color:black;
}
.f-content address p a{
	color:black;
}
.f-content nav ul {
  columns: 2;
  column-gap:0;
  list-style: none;
  padding: 20px 0 0 0;
  margin:0;
  margin-bottom:0;
  border-top: 1px solid #888888;
}
.f-content nav ul li {
  font-size:14px;
  font-weight:500;
  color:black;
  margin-bottom:2px;
}
.f-content nav ul a {
  text-decoration: none;
  color: inherit;
  font-size:14px;
}
small{
	font-size:11px;
	font-weight:500;
	border-top:1px solid #888888;
	padding:14px 0 0 0;
	margin-top:45px;
	display:block;
	font-family: "Roboto", sans-serif;
}
}