@charset "UTF-8";
/*
Theme Name:CPI
Author:CPI
Description:CPIテーマ
Version:1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/license/gpl-2.0.html
*/
/* wrodpressメニュー */
#wpadminbar{
	display:none;
}

hr{
	margin:0;
}
html{
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
body{
	margin:0;
	padding:0;
	font-feature-settings: "palt" 1, "trad" 1;
	-webkit-font-smoothing: antialiased;
	background-color: #F9F8F5;
}
a{
	 text-decoration: none;
	 font-family:'Noto Sans JP', sans-serif;
}
h1,h2,h3,h4,h5,h6,p,span{
	font-family:'Noto Sans JP', sans-serif;
	margin:0;
}
img{
	vertical-align: top;
	width:100%;
}
.grecaptcha-badge{
	display:none !important;
}
:root {
  --main-orange: #EE6511;
  --main-gray: #464646;
}
@media all and (min-width: 1000px) {
.sp{
	display:none;
}
.sp{
	display:block;
}
.cs-p{
	font-size:20px;
}
textarea{
    -webkit-appearance: none;
}
header{
	width: 100%;
	height:115px;
	transition: .3s;
	overflow: visible;
	position:relative;
	position: fixed;
	z-index:100;
}
.is-animation{
	width: 100%;
	height:115px;
	transition: .3s;
}
.logo{
	overflow: hidden;
	width:110px;
	display: inline-block;
	float:left;
	transition: .3s;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	left:40px;
}
.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: 35px;
	height:35px;
	cursor: pointer;
	z-index: 9999;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	right:40px;
	margin:0;
	background-color: rgba(255, 255, 255, 0.2);
	border-radius: 3px;
}
.sub-header .ham{
	background-color: #EE6511;
}
.ham_line {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
/*	線の長さと太さ*/
	width: 18px;
	height: 2px;
	background-color:white;
	transition: all 0.3s;
}
/*線と線の間*/
.ham_line1 {
	top: 10px;
}
.ham_line2 {
	top:17px;
}
.ham_line3 {
	top:24px;
}
/*クリック後の動作*/
.sub-header .clicked{
	background-color: rgba(255, 255, 255, 0.2);
}
.clicked .ham_line{
	left:26%;
}
.clicked .ham_line1 {
	transform: rotate(45deg);
	top:17px;
	background-color: white;
}
.clicked .ham_line2 {
	width: 0px;
}
.clicked .ham_line3 {
	transform: rotate(-45deg);
	top: 17px;
	background-color: white;
}
.menu {
	position: fixed;
	width: 300px;
	height: 100%;
	right: -100%;
	background-color:#EE6511;
	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{
	height:100vh;
	width:100%;
	display:block;
	z-index: 10;
}
/* 共通 */
.common-width{
	max-width:1200px;
	width:90%;
	margin:0 auto;
}
.common-layer-padding{
	padding-top:60px;
}
.main-txt{
	font-size:17px;
	font-weight:500;
	letter-spacing: -0.02em;
	line-height: 1.95;
	color:var(--main-gray);
}
.main-btn{
	gap:;
	background-color:var(--main-orange);
	display:inline-flex;
	align-items: center;
	gap:35px;
	padding:7px 16px;
	border-radius:5px;
}
.csl-txt{
	color:white;
	font-size:16px;
	font-weight:500;
}
.csl-img{
	width:13px;
	border-left:2px white solid;
	padding:0 0 0 13px;
}
.csl-img img{
	vertical-align: middle;
	position: relative;
	top:-2px;
}
.common-sub-title{
	font-size:45px;
	color:var(--main-orange);
	letter-spacing: -0.02em;
}
.common-sub-title-p{
	font-size:14px;
	margin-top:15px;
}
.breadcrumbs{
	padding:130px 3% 0 40px;
	color:#A8A8A8;
	letter-spacing: -0.01em;
	font-size:13px;
}
.breadcrumbs .home{
	background-image: none;
}
.breadcrumbs span{
	color:#A8A8A8;
	font-size:13px;
}
/* トップ */
.home{
	height:100vh;
	background-image:url('/wp-content/uploads/2026/04/home-back-scaled.webp');
	background-size: cover;
}
.top{
	display:flex;
	flex-direction: column;
	justify-content: center;
	max-width:1350px;
	width:90%;
	margin:0 auto;
	height:100vh;
}
.top-content{
	display:flex;
	justify-content: space-between;
	gap:70px;
}
.top-left{
	max-width:530px;
	display:flex;
	flex-direction: column;
}
.top-left-news{
	margin-top:50px;
}
.top-left-news h2{
	font-size:15px;
	font-weight:600;
	color:white;
}
.top-left-news a{
	background-color: rgba(255, 255, 255, 0.2);
	color:white;
	display:block;
	padding:12px 16px;
	border-radius: 5px;
	margin-top:6px;
	margin-bottom:25px;
	font-size:17px;
	font-weight:600;
}
.top-left-news a time{
	margin-right:15px;
}
.top-left-news p{
	font-size:15px;
	font-weight:500;
	color:white;
	line-height: 1.8;
	text-align: justify;
}
.top-right{
	max-width:400px;
	width:400px;
	padding-right:80px;
	display:flex;
	flex-direction: column;
}
.top-right p{
	font-size:40px;
	font-weight:700;
	color:white;
	letter-spacing: -0.04em;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.top-right ul{
	padding:0;
	display:flex;
	flex-direction: column;
	gap:17px;
	margin-top:auto;
	margin-bottom:0;
}
.top-right ul>li{
	list-style: none;
	border-bottom:1px solid white;
	padding-bottom:5px;
}
.top-right ul>li>a{
	display:flex;
	justify-content: space-between;
	align-items: center;
}
.top-link-txt{
	font-size:23px;
	font-weight:500;
}
.top-link-btn{
	width:25px;
}


/* アバウト */
.about-top-title{
	position: relative;
}
.about-top-title h2{
	font-family: "Roboto", sans-serif;
	font-size:85px;
	line-height: 0.9;
	color:var(--main-gray);
	white-space: nowrap;
}
.about-top-title h2 span{
	margin:0 0 0 160px;
}
.about-top-title h1{
	position: absolute;
	top:0;
	left:500px;
	color:var(--main-orange);
	font-size:28px;
	letter-spacing: -0.02em;
}
.about-top-content{
	display:flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: end;
	gap:10%;
	margin-top:-35px;
}
.about-top-content-txt{
	width:50%;
	max-width:440px;
}
.about-top-content-txt p{
	margin-bottom:25px;
}
.about-top-img{
	width:50%;
	max-width:520px;
}
.about-top-img img{
	border-radius: 5px;
}
.concrete-method{
	background-color: white;
	border-radius:5px;
	margin-top:100px;
}
.concrete-method-content{
	display:flex;
	justify-content: space-between;
	gap:30px;
	max-width:990px;
	width:90%;
	margin:0 auto;
	padding:55px 0;
}
.concrete-method-content-title{
	display:inline-flex;
	flex-direction: column;
}
.mct-txt h3{
	font-size:13px;
	letter-spacing:0.04em;
	color:var(--main-orange);
}
.mct-txt h2{
	font-size:38px;
	letter-spacing: -0.02em;
	color:var(--main-orange);
}
.mct-btn{
	margin-top:auto;
}
.concrete-method-content-txt{
	width:70%;
	max-width:570px;
}
.concrete-method-content-txt p{
	text-align: justify;
}
.two-point{
	margin-top:100px;
}
.two-point-top-img{
	display:flex;
	gap:5px;
}
.two-point-top-img img{
	border-radius: 5px;
}
.two-point-content{
	margin-top:40px;
	display:flex;
	justify-content: space-between;
	gap:70px;
}
.two-point-content-title{
	max-width:480px;
	display:flex;
	flex-direction: column;
	gap:20px;
}
.two-point-content-title h2{
	color:var(--main-gray);
	font-size:40px;
	line-height: 1.2;
}
.two-point-content-title ol{
	margin-top:auto;
	margin-bottom:0;
	padding:0;
	display:flex;
	flex-direction: column;
	gap:10px;
	list-style-position: inside;
}
.two-point-content-title ol li{
	font-size:23px;
	font-weight:600;
	color:var(--main-gray);
	border-bottom:1px solid #DCDCDC;
	padding-bottom:5px;
}
.two-point-content-txt{
	max-width:700px;
	width:60%;
	display:flex;
	flex-direction: column;
	gap:15px;
}
.two-point-content-txt p{
	text-align: justify;
}
.vision{
	margin-top:140px;
}
.vision-title{
	display:flex;
	justify-content: space-between;
	gap:20px;
}
.vision-title-txt{
	position: relative;
}
.vision-title-txt h3{
	position: absolute;
	top:0;
	left:390px;
	font-family: "Roboto", sans-serif;
	font-size:40px;
	border-bottom:3px solid var(--main-gray);
	padding:0 0 0 0;
	color:var(--main-gray);
}
.vision-title-txt h2{
	display:flex;
	align-items: end;
	gap:20px;
}
.vision-title-txt h2 div{
	max-width:360px;
	width:100%;
}
.vision-title-txt h2 span{
	font-size:66px;
	color:var(--main-gray);
	position: relative;
	bottom:-8px;
}
.vision-title-img{
	max-width:300px;
	width:100%;
}
.vision-title-img img{
	border-radius: 5px;
}
.vision-read{
	display:flex;
	align-items: end;
	gap:40px;
	margin-top:30px;
}
.vision-read div{
	max-width:340px;
	width:50%;
	position: relative;
	bottom:9px;
}
.vision-read div img{
	border-radius: 5px;
}
.vision-read p{
	color:var(--main-gray);
	font-size:23px;
	font-weight:600;
	letter-spacing: -0.02em;
	line-height: 1.9;
	text-align: justify;
	width:100%;
	max-width:700px;
}
.organization{
	margin-top:150px;
	margin-bottom:150px;
	background-color: white;
	border-radius: 5px;
}
.organization-content{
	max-width:1000px;
	width:90%;
	margin:0 auto;
	padding:70px 0;
}
.organization-content-title{
	display:flex;
	justify-content: space-between;
	align-items: center;
}
.organization-content h2{
	color:var(--main-orange);
	font-size:50px;
	letter-spacing: -0.02em;
}
.organization-content .organization-content-txt{
	margin-top:28px;
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap:45px;
}
.organization-content .organization-content-txt p{
	text-align: justify;
}
.structure{
	display:flex;
	flex-direction: column;
	gap:75px;
}
.structure-content{
	display:flex;
	justify-content: space-between;
	gap:130px;
}
.structure-content dl{
	display:flex;
	flex-direction: column;
	gap:17px;
	width:70%;
}
.structure-content dl>div{
	display:flex;
	padding:0 0 8px 0;
	border-bottom:1px solid #DCDCDC;
}
.structure-content dl dt{
	width:140px;
	font-size:17px;
	font-weight:500;
	color:var(--main-gray);
	font-family:'Noto Sans JP', sans-serif;
}
.structure-content dl>div dd{
	margin:0;
	display:flex;
	gap:30px;
	font-size:17px;
	font-weight:500;
	color:var(--main-gray);
	font-family:'Noto Sans JP', sans-serif;
}
.structure-content dl>div .st-name{
	width:100px;
	display:block;
}
.structure-content dl>div .st-company{
	width:250px;
	display:block;
}
.structure-content dl>div .st-post{
	width:150px;
	display:block;
}
.structure-content-tab a{
	color:var(--main-gray);
	display:flex;
	align-items: center;
	gap:20px;
}
.structure-content-tab-icon{
	display:block;
	width:20px;
}
.structure-content-tab-icon img{
	vertical-align: middle;
	position: relative;
	top:-2px;
}
/* 工場一覧 */
.factory-list{
	margin-top:20px;
	display:flex;
	flex-direction: column;
	gap:30px;
}
.factory-area h3::before {
    content: "・";
    font-size: 40px;
    color:var(--main-orange);
    line-height: 0.4;
}
.factory-area h3{
	color:var(--main-gray);
	font-size:27px;
	font-weight:700;
	display: flex;
    align-items: center;
    gap: 10px;
}
.factory-prefectures-list{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: 30px;
    grid-row-gap: 10px;
	margin-top:15px;
}
.factory-prefectures-list summary {
    background-color:var(--main-gray);
    color: white;
    padding: 10px 16px;
	font-size:16px;
	font-weight:500;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
	border-radius: 5px;
	font-family:'Noto Sans JP', sans-serif;
}
.factory-prefectures-list summary::after {
    content: "－";
	font-family:'Noto Sans JP', sans-serif;
	font-weight:700;
}

.factory-prefectures-list details:not([open]) summary::after {
    content: "＋";
	font-family:'Noto Sans JP', sans-serif;
	font-weight:700;
}
.answerInner{
	padding-top:20px;
	display:flex;
	flex-direction: column;
	gap:20px;
}
.answerInner-detail{
	padding:0 15px 15px;
	border-bottom:1px solid #D2D2D2;
}
.answerInner-detail h4{
	font-size:17px;
	color:var(--main-gray);
}
.answerInner-detail p{
	font-size:15px;
	font-weight:600;
	letter-spacing: -0.02em;
	color:var(--main-gray);
	margin-top:5px;
}
.factory-map{
	display:flex;
	align-items: center;
	gap:10px;
}
.map-name{
	font-size:15px;
	font-weight:600;
	letter-spacing: -0.02em;
	color:var(--main-gray);
}
.orange-arrow{
	width:10px;
}
.orange-arrow img{
	vertical-align: middle;
}
.factory-tel{
	font-family: "Roboto", sans-serif;
	color:var(--main-gray);
	font-size:25px;
	font-weight:800;
	letter-spacing: -0.02em;
	margin-top:8px;
	display:block;
}
/* 会員一覧 */
.member-list{
	margin-top:120px;
}
.member-list-title{
	display:flex;
	align-items: center;
	gap:30px;
}
.member-list-title p{
	margin-top:5px;
}
.member-list-content{
	display:grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 25px;
    grid-row-gap: 50px;
	margin-top:38px;
}
.member-list-content a{
	display:block;
}
.member-list-content a img{
	border-radius: 5px;
}
.member-list-content a h3{
	font-size:16px;
	font-weight:500;
	color:var(--main-gray);
	margin-top:15px;
}
/* コンセプト */
.concept-top-flex{
	display:flex;
	justify-content: space-between;
}
.concept-title{
	font-size:80px;
	font-weight:700;
	color:var(--main-orange);;
	letter-spacing: -0.01em;
	line-height: 1.2;
	position: relative;
	top:-20px;
}
.concept-top-flex>div{
	width:30%;
	display:flex;
	flex-direction: column;
}
.concetp-top-subtitle{
	font-family: "Roboto", sans-serif;
	color:var(--main-gray);
	font-size:32px;
	font-weight:600;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}
.concetp-top-txt{
	color:var(--main-gray);
	font-size:17px;
	font-weight:500;
	margin-top:auto;
	position: relative;
	top:-30px;
	line-height: 1.7;
}
.concept-top-img{
	display:grid;
	grid-template-columns: repeat(4, 1fr);
	gap:30px;
	margin-top:30px;
}
.concept-top-img>div>img{
	border-radius: 5px;
}
.concept-model{
	margin-top:80px;
}
.concept-model h1{
	display:flex;
	align-items: center;
}
.concept-model-img{
	width:300px;
}
.concept-model-title{
	color:var(--main-gray);
	font-size:70px;
	font-weight:700;
	letter-spacing: -0.02em;
	margin-left:10px;
}
.concept-model .model-txt{
	margin-top: 45px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
}
.concept-model .model-txt p{
	text-align: justify;
}
.concept-model .model-img{
	margin-top:60px;
}
.concept-activity{
	margin-top:90px;
}
.activity-txt{
	margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
}
.concept-activity-list{
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 50px;
	margin-top:60px;
}
.concept-activity-list h3{
	font-size: 25px;
    font-weight: 600;
    margin: 40px 0 20px;
    padding: 5px 10px 5px 20px;
    color: #2c2c2c;
    background-color:white;
    border-left: 10px solid var(--main-orange);
}
.concept-activity-list h4::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #ddd;
}
.concept-activity-list h4 {
    font-size: 20px;
    font-weight: 600;
    margin: 20px 0;
    padding: 0 0 5px 0;
    color: #2c2c2c;
    position: relative;
}
.concept-activity-list h4::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 6.25rem;
    height: 2px;
    background-color: var(--main-orange);
}
.concept-activity-list p{
	font-size:17px;
	font-weight:500;
	letter-spacing: -0.02em;
	line-height: 1.95;
	color:var(--main-gray);
}
/* トピック一覧 */
.topic-padding{
	padding-top:60px;
}
.topic-group-content{
	display:flex;
	flex-direction: column;
	gap:20px;
	margin-top:50px;
}
.topic-group-content a{
	display:flex;
	align-items: center;
	gap:20px;
}
.topic-group-content-info{
	display:flex;
	align-items: center;
	gap:20px;
}
.topic-group-content a{
	padding-bottom:13px;
	border-bottom:1px solid #DEDEDE;
}
.topic-group-content a time{
	font-size:17px;
	color:#94908E;
	font-weight:500;
	width:100px;
}
.topic-group-content a>div>div{
	font-size:14px;
	color:var(--main-gray);
	font-weight:600;
	width:120px;
	color:var(--main-orange);
	padding:5px 4px;
	background-color:white;
	text-align: center;
	border-radius: 5px;
}
.topic-group-content a h2{
	font-size:17px;
	color:var(--main-gray);
	font-weight:500;
}
.topic-category-list{
	padding:0;
	margin-top:20px;
	list-style: none;
	display:flex;
	flex-wrap: wrap;
	gap:10px;
}
.topic-category-list a{
	display:inline-block;
	background-color:var(--main-orange);
	color:white;
	padding:5px 10px;
	border-radius: 5px;
	font-size:14px;
	font-weight:500;
}
.a-title{
	font-size:17px;
	margin:10px 0 0 0;
}
.cpi-term-btn{
	background-color: white;
	margin-top:55px;
	padding:40px 60px;
}
.cpi-term-btn-content{
	display:flex;
	justify-content: space-between;
}
.cpi-term-btn-img{
	width:380px;
}
.cpi-term-btn-content .main-btn{
	padding: 7px 30px;
}
.cpi-term-btn-content a .csl-txt{
	font-size:27px;
}
.cpi-term-btn-content a .csl-img{
	width:20px;
}
/* お問い合わせ */
.contact-content p{
	margin: 10px 0 20px 0;
}
.contact-content-top p a{
	color:#0071db;
	text-decoration: underline;
}
.contact-info h2 {
    font-size: 25px;
    font-weight: 600;
    margin: 40px 0 20px;
    padding: 5px 10px 5px 20px;
    color: #2c2c2c;
    background-color: white;
    border-left: 10px solid var(--main-orange);
}
.contact-info li{
	list-style: none;
}
.contact-info ul{
	padding:0;
	display:flex;
	flex-wrap: wrap;
	gap:20px;
}
.contact-info a {
    color: #2E2E2E;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.02em;
    transition: .5s;
    display: flex;
    align-items: center;
}
.contact-info a::before {
    content: '';
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: var(--main-orange);
    background-size: contain;
    vertical-align: middle;
    margin: 0 12px 0 0;
    transition: .5s;
}
/* 404 */
.no-404 p{
	font-size:17px;
	line-height: 1.8;
	margin-bottom:30px;
	margin-top:20px;
}
.no-404 a{
	color:#0071db;
	text-decoration: underline;
	font-size:17px;
	font-weight:500;
}
/* フッター */
.top-fotter{
	position: absolute;
	bottom:7px;
	left: 50%;
  	transform: translateX(-50%);
	max-width:1350px;
	width:90%;
	text-align: right;
}
.top-fotter small{
	font-size:11px;
	font-weight:600;
	color:white;
}
/* 共通page */
.common-page h1{
	font-size: 45px;
    color: var(--main-orange);
    letter-spacing: -0.02em;
}
.common-page .page-tmp{
	margin-top:30px;
}
.common-page h3{
	font-size: 25px;
    font-weight: 600;
    margin: 40px 0 20px;
    padding: 12px 16px;
    color: #2c2c2c;
    background-color: white;
    border-left: 9px solid var(--main-orange);
    position: relative;
}
.common-page h4{
	font-size: 20px;
    font-weight: 600;
    margin: 40px 0 10px;
    padding: 0 0 10px 0;
    color: #2c2c2c;
    position: relative;
}
.common-page h4::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: #ddd;
}
.common-page h4::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 6.25rem;
    height: 2px;
    background-color:var(--main-orange);
}
.common-page .wp-block-paragraph{
	font-size: 17px;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.95;
    color: var(--main-gray);
}
.common-page .wp-block-list{
	display:flex;
	flex-direction: column;
	gap:7px;
}
.common-page .wp-block-list li{
	font-family:'Noto Sans JP', sans-serif;
	font-size:16px;
}
/* フッターサブ */
.sub-footer{
	position: relative;
	margin-top:115px;
	padding-top:40px;
	padding-bottom:20px;
	border-top:1px solid #DCDCDC;
}
.sub-footer-content-logo{
	width:600px;
}
.sub-footer-content ul{
    columns: 3;
    column-gap: 40px;
    list-style: none;
    padding: 0;
    margin-top: 25px;
    margin-bottom: 0;
	width:380px;
}
.sub-footer-content ul li a{
	color:var(--main-gray);
	font-size:14px;
}
.sub-footer-content small{
	font-size: 11px;
    font-weight: 600;
	color:var(--main-gray);
	margin-top:30px;
	display:block;
}
.f-img{
	position: absolute;
	right:0;
	bottom:20px;
	width:680px;
}
}