@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

img.hoverlink:hover { opacity:0.7;}

#header .innerBox #site-title img {
    max-height: 73px;
	margin-top: -18px;
}
#headerTop #site-description{ text-align: right; color: #fff;}

#wrap .mb30{ margin-bottom:30px;}
#wrap .mb40{ margin-bottom:40px;}
#wrap .mb50{ margin-bottom:50px;}
#wrap .mb60{ margin-bottom:60px;}
#wrap .mb80{ margin-bottom:80px;}

body { color: #222; font-family: "Noto Sans JP", sans-serif;}
#header{ z-index: 99; background-color: #fff;}
div#footerSection {
    background: url(/wp-content/uploads/2021/08/ft_bg1.jpg) no-repeat #111;
}
#footMenu{
	border-top-color: #002250;
	background-color: rgba(0,0,0,0);;
}
#footer{ background-color: rgba(0,79,184,1);}
#siteBottom{ background-color: rgba(0,79,184,1);}
#gMenu{padding-left: 20px;}
.headMainMenu .menu li > a{
	padding: 8px 12px 8px 12px;
    font-size: 110%;
}

#main #container .content{ width: 730px; padding:0;}
.content .sectionBox{ margin:0;}

.innerBox{ width: 100%;}
.blog .innerBox,
.category .innerBox,
.single .innerBox,
.archive .innerBox{ width: 1200px;}
#main #container .content.wide{ width: 1200px;}
.page-id-7 #main #container .content.wide{ width:100%;}

/*clear*/
.clear{clear:both;}
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}

#header #headerInner{ border-bottom-color: rgba(255, 255, 255, 0);}
#header .innerBox{ width: 1200px;}

#post-25 li.home{ display: none;}
	
/* トップページ */
#header.opacyHeader{
	background-color: #fff;
	opacity: 0.8;
}

#gMenu ul.menu a strong span { color: #00487a;}

.home #main{ padding-top: 0;}
.home .content h2{
	font-size: 230%;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    line-height: 1.5;
	padding-top: 0;
	color: #014bae;
}

.widget_recent_entries{ text-align:center;}
.content .infoList .rssBtn{ display: none;}
.infoCate{ display: none;}
.content .infoList ul li .infoDate:before{ content: " ";}
.content #topInfo, .content #topBlog{
	background-color: #efefef;
	text-align: center;
}
.content .infoList ul li{ text-align: left;}
.content .topcttext{
	width: 1200px;
	text-align: center;
	margin: 0 auto 60px;
	font-size: 170%;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
    letter-spacing: 1px;
    padding: 20px 0 15px 0;
    border-bottom: none;
    color: #333333;
}
#pr3top{ background: url(/w1/wp-content/uploads/2026/09/pr3top_bg.jpg) center bottom no-repeat;}
#pr3top .pr3t{
    width: 1200px;
    margin: 0 auto;
	padding: 60px 30px 30px 40px;
	text-align: left;
}
.home .content .pr3t h3,
.page-id-7 .content .pr3t h3{
	text-align: left;
	font-size: 240%;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 800;
    margin-left: 60px;
	margin-bottom: 5px;
	color: #014bae;
}
.home .content .pr3t p,
.page-id-7 .content .pr3t p{
	text-align: left;
	font-size: 150%;
	margin-left: 60px;
	margin-bottom: 50px;
	font-family: "Noto Sans JP", sans-serif;
}

/*ボタンデザイン*/
.tp_btn1{
	width: 90%;
	margin: 0 auto 30px;
}
.tp_btn1 a{
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 14px 20px;
	margin-left: -5%;
	text-align: center;
	text-decoration: none;
	transition: .3s;
	align-items: center;
	color: #0a479a;
	border: 2px solid #0a479a;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 120%;
	font-weight: 500;
}

.tp_btn1 a::after{
	content: '';
	position: absolute;
	top: 40%;
    right: 3%;
	width: 8px;
	height: 8px;
	border-top: 3px solid #0a479a;
	border-right: 3px solid #0a479a;
	transform: rotate(45deg);
}

.tp_btn1 a:hover{
  color: #fff;
  text-decoration: none;
}

.tp_btn1 a:hover::after {
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.tp_btn1 a::before{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #001635;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.tp_btn1 a:hover::before{
  transform-origin: left top;
  transform: scale(1, 1);
}

.tp_btn2{
	width: 65%;
	margin: 0 auto 50px;
}
.tp_btn2 a{
	position: relative;
	display: inline-block;
	width: 100%;
	padding: 40px 30px;
	margin-left: -5%;
	text-align: center;
	text-decoration: none;
	transition: .3s;
	align-items: center;
	color: #0a479a;
	background-color: #fff;
	border: 2px solid #0a479a;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 170%;
	font-weight: 500;
	z-index: 11;
}
.tp_btn2 a::after{
	content: '';
	position: absolute;
	top: 46%;
    right: 3%;
	width: 8px;
	height: 8px;
	border-top: 3px solid #0a479a;
	border-right: 3px solid #0a479a;
	transform: rotate(45deg);
}
.tp_btn2 a:hover{
  color: #fff;
  text-decoration: none;
}
.tp_btn2 a:hover::after{
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}
.tp_btn2 a::before{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: #001635;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.tp_btn2 a:hover::before{
  transform-origin: left top;
  transform: scale(1, 1);
}
/*ボタンここまで*/


#future{ background: url(/w1/wp-content/uploads/2026/08/future_bg.jpg) center bottom no-repeat;}
#future .tp_inner{
    width: 1200px;
    margin: 0 auto;
	padding: 60px 30px 30px 40px;
}
.home .content #future h2{
	text-align: center;
    font-size: 280%;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    margin-left: 60px;
    margin-bottom: 50px;
	color: #fff;
}
#future p{
	text-align: center;
	font-size: 150%;
	margin: 0 60px 60px 60px;
	font-family: "Noto Sans JP", sans-serif;
	color: #fff;
}
#youtube_area{}
#youtube_area .tp_inner{
    width: 1200px;
    margin: 0 auto;
	padding: 60px 0 30px 0;
}
#youtube_area .youtube_list{
	display: flex;
	flex-wrap:wrap;
	justify-content:space-around;
	align-content: flex-start;
	margin: 0 30px;
	padding: 0;
}
#youtube_area .youtube_list li{ 
	margin: 0 0 20px 0;
	padding: 0;
	list-style: none;
}

.home .content #youtube_area h2{
	text-align: center;
    font-size: 280%;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    margin: 50px 0;
}

.home .content #contactus h2{
	height: 95px;
    padding: 100px 0 0 0;
	margin: 0 auto 40px;
}

.adminEdit{ padding:0;}
#footMenu { display: none;}
#footer .innerBox{ padding-top: 60px;}
#footer dl#footerOutline {
    float: none;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
#footerSiteMap{
    width: 100%;
	float: none;
    padding: 50px 0 40px 0;
    text-align: left;
}
#footerSiteMap ul.menu{ font-size: 150%; padding-left: 50px;}
#footerSiteMap .menu li{ width: 194px; margin-bottom: 20px;}
#footer dl#footerOutline dt img{ max-height: 62px;}

#topMainBnr{ top: 0;}
@media screen and (max-width: 1500px) { #topMainBnr{ top: 20px;} }
@media screen and (max-width: 1200px) { #topMainBnr{ top: 40px;} }
@media screen and (max-width: 970px) { #topMainBnr{ top: 80px;} /*#topMainBnr .slideFrame img{display:none;}*/}
@media screen and (max-width: 970px) { #fatalink .tp_inner div{width: 49%;} }

.content h2{
	text-align:center;
	padding: 50px 0 0 0;
	margin: 40px auto 40px;
	border-bottom: none;
}

.content #topInfo h2{
	width: 220px;
	height: 95px;
	background: url(/w1/wp-content/uploads/2026/09/title_news.png) 0 100px no-repeat;
	text-align:center;
	padding: 120px 0 0 0;
	margin: 0 auto 30px;
	border-bottom: none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.content h2:after, .content h1.contentTitle:after, .content h1.entryPostTitle:after, .content .sideWidget h4:after{ border-bottom: none;}

#recent-posts-2.widget_recent_entries{ margin-bottom:80px;}
.home .content #topInfo h2, .content #topBlog h2{ margin-bottom:30px;}
.home .content .infoList ul{
	width: 1200px;
	padding: 0;
	margin: 0 auto;
}
.home .content .infoList ul li{ 
	list-style: none;
	text-align: left;
	padding: 20px 0;
	border-bottom: 1px dotted #ccc;
}
.home .content .infoList ul li a{
	color: #444;
	font-size: 120%;
}
.home .content .infoList ul li a:hover{ color: #004381;}
.home .content .infoList .infoDate{ font-size: 90%; padding: 0 20px;}
.home .content .infoList ul li .infoTxt{ font-size: 105%; padding: 0 20px;}
.moreLink{ 
	width: 75%;
	padding: 30px;
}
.content #topInfo, .content #topBlog{ margin-bottom: 0;}

#about,#contactus{
	background-color: #efefef;
}
#about .tp_inner,
#contactus .tp_inner{ 
	width: 1200px;
	margin: 0 auto;
}
.content #topPr{ margin-bottom: 0;}
#about .tp_inner div,
#contactus .tp_inner div{ text-align:center; margin: 0 auto; padding: 30px 0 60px 0;}
#about .tp_inner p,
#contactus .tp_inner p{
	text-align:center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 170%;
	line-height: 150%;
	letter-spacing: 2px;
	font-weight: 300;
	margin: 0 auto 60px;	
}
#contactus .tp_inner .contact_ok{
	display:block;
	font-size:120%;
	font-weight:600;
	font-family: "Noto Sans JP", sans-serif;
	margin: 20px 0 0 0;
}

.ex_gallery{
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-content: flex-start;
}
.ex_gallery img{ margin-bottom: 15px;}

@media screen and (max-width: 660px) { /* 660pxまでの画面に対応 */
.content .topPr .prImage{ width: 180px;}
.content .topPr .topPrTxtBox{ border-bottom: none;}
.content h2, .content h1.contentTitle, .content h1.entryPostTitle, .content .sideWidget h4{
	position: relative;
	font-size: 150%;
	font-weight: lighter;
	}
h2:before {	top: 40px;}
}

.page-id-7 #header,
.page-id-9 #header,
.page-id-13 #header,
.page-id-23 #header,
.page-id-15 #header,
.page-id-37 #header,
.page-id-39 #header,
.page-id-3 #header,
.page-id-25 #header,
.single-post #header,
.blog #header,
.category #header{ background-color: #fff;}

/* 業務案内 */

#pageTitBnr{ 
	padding: 110px 0 80px;
	position: relative;
    top: 90px;
	background-color: #ccc;
	background-position: center bottom;
	background-size: cover;
}
.page-id-7 #pageTitBnr{ background-image: url(/w1/wp-content/uploads/2026/08/policy_tit1.jpg);}
#panList{ padding: 90px 0 0 0;}

.page .content .entry-content { text-align: center;}
.content .entry-content h2{ font-size:200%;}
.content .entry-content h2:before{ top: 48px;}
.content .entry-content h3{
	font-family: "Noto Sans JP", sans-serif;
	display: inline-block;
	text-align: left;
	letter-spacing: 2px;
	margin: 0 auto 5px;
	border-bottom: none;
	font-size:160%;
}
.content h2.sbtitle2{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 290%;
    font-weight: 800;
    line-height: 1.5;
    padding-top: 0;
    color: #003d8f;
}

.aboutwrap1{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	align-content: flex-start;
	width: 100%;
	margin-bottom: 0;
}
.aboutwrap1 .aboutbox1{
	width: 50%;
	padding-right:1.8%;
	margin-bottom: 30px;
}
.aboutwrap1 .aboutbox2{
	width: 48%;
    margin-bottom: 30px;
    font-size: 110%;
    text-align: left;
}
.aboutwrap2{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	align-content: flex-start;
	width: 1200px;
	margin: 0 auto;
}
.aboutwrap2 .aboutbox1{	width: 50%;}
.aboutwrap2 .aboutbox2{
	width: 48%;
    margin-bottom: 30px;
    font-size: 110%;
    text-align: left;
}

.aboutwp1{ 
	text-align: left;
	background-color: #f6f6f6;
	padding: 30px;
	margin-bottom: 80px;
}
.aboutwp1 p{ font-size: 120%;}

#footer dl#footerOutline dd { font-size: 110%;}


@media screen and (max-width: 970px) { 
	#pageTitBnr{ top: 50px;}
	#panList{ padding: 50px 0 0 0;}
}
#pageTitBnr #pageTitInner h1#pageTit{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 220%;
	line-height: 150%;
	letter-spacing: 2px;
	font-weight: lighter;
	margin: 0;
	color: #fff;
	text-shadow: 0 0 3px #ccc ,
		-1px 1px 3px #ccc ,
		1px -1px 3px #ccc ,
		-1px -1px 3px #ccc;
}

.buswrap2{ width: 100%; position: relative; margin-bottom: 150px;}
.buswrap2 img{ width: 49%; position: absolute; top:0; left: 0; margin:0; z-index: 5;}
.buswrap2 div{
	width: 60%;
	position: relative;
	left: 40%;
	z-index: 1;
	padding: 0;
	text-align: left;
}
.entry-content .buswrap2 h3{ padding: 0 0 0 20%;}
.buswrap2 div p{ 
	width: 74%;
	text-align: left;
	padding: 0 0 0 20%;
}

.buswrap3{ width: 100%; position: relative; margin-bottom: 190px;}
.buswrap3 img{ width: 49%; position: absolute; top:0; right: 0; margin:0; z-index: 5;}
.buswrap3 div{
	width: 60%;
	position: relative;
	z-index: 1;
	padding: 0;
	text-align: left;
}
.buswrap3 div p{ 
	width: 74%;
	text-align: left;
	padding: 0;
}
.buswrap4{ width: 100%; position: relative; margin-bottom: 210px;}
.buswrap4 img{ width: 49%; position: absolute; top:0; left: 0; margin:0; z-index: 5;}
.buswrap4 div{
	width: 60%;
	position: relative;
	left: 40%;
	z-index: 1;
	padding: 0;
	text-align: left;
}
.entry-content .buswrap4 h3{ padding: 0 0 0 20%;}
.buswrap4 div p{ 
	width: 74%;
	text-align: left;
	padding: 0 0 0 20%;
}
.buswrap5{ width: 100%; position: relative; margin-bottom: 70px;}
.buswrap5 img{ width: 49%; position: absolute; top:0; left: 0; margin:0; z-index: 5;}
.buswrap5 div{
	width: 60%;
	position: relative;
	left: 40%;
	z-index: 1;
	padding: 0;
	text-align: left;
}
.entry-content .buswrap5 h3{ padding: 0 0 0 20%;}
.buswrap5 div p{ 
	width: 74%;
	text-align: left;
	padding: 0 0 0 20%;
}


/* 施工の流れ */
.page-id-9 #pageTitBnr{ background-image: url(/w1/wp-content/uploads/2026/08/profile_tit1.jpg);}
#post-9 p.mb40{ font-size:120%;}
.flow_wrap01{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	align-content: flex-start;
	width: 100%;
	margin: 0 auto 60px;
	}
.flow_wrap01 h4{
	font-size: 160%;
    font-weight: bold;
	font-family: 'Noto Sans JP', sans-serif;
	}
.flow_wrap01 h4 span{
	display: inline-block;
    width: 130px;
    height: 46px;
    background-color: #0a7abb;
    color: #fff;
    font-size: 130%;
    font-weight: 500;
    line-height: 1.3;
	text-align: center;
}
.flow_num1,.flow_num2,.flow_num3,.flow_num4,
.flow_num5,.flow_num6,.flow_num7,.flow_num8{
	width: 54%;
    text-align: left;
    margin: 0 0 10px 20px;
	}
.flow_num1 p,.flow_num2 p,.flow_num3 p,.flow_num4 p,
.flow_num5 p,.flow_num6 p,.flow_num7 p,.flow_num8 p{ font-size: 120%;}


/* 会社案内 */
.page-id-13 #pageTitBnr{ background-image: url(/w1/wp-content/uploads/2026/08/office_tit1.jpg);}
.company_img{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	align-content: flex-start;
	margin-bottom:60px;
}
.comwrap1{ 
	text-align: left;
	background-color: #f6f6f6;
	padding: 30px 30px 90px 30px;
	margin-bottom: 80px;
}
.comwrap1 img{ float: right; margin:0 0 10px 20px; }
.comwrap1 p{}

table.company_table{ margin-bottom: 80px;}
table.company_table th{
	width: 20%;
	font-weight: bold;
	font-size: 150%;
	background-color: #edffff;
	padding: 25px 30px;
	line-height:1.6;
}
table.company_table td{
	font-size: 150%;
	padding: 25px 30px;
	line-height:1.6;
}
.accessmap{ background-color: #e8e8e8; padding: 60px; margin-bottom: 60px;}
.accessmap iframe{ width:100%; height: 500px;}

/* FAQ */
.faq_wrap1 dl{
	padding-bottom:10px;
	margin-bottom:20px;
	text-align:left;
	}
.faq_wrap1 dt{
	padding-left:28px;
	margin: 20px 0 20px 0;
	}
.faq_wrap1 dt a{text-decoration:underline; cursor:pointer; color: #004381;}
.faq_wrap1 dd{
	padding-left:28px;
	margin-bottom: 20px;
	}

.taxwrap1{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	align-content: flex-start;
	width: 100%;
	margin-bottom: 60px;
}
.taxbox1{ flex: 0 0 32%; padding-right:1.8%; margin-bottom: 30px;}
.taxbox1:nth-child(3), .taxbox1:nth-child(6),
.taxbox1:nth-child(9), .taxbox1:nth-child(12){ padding-right:0;}
.content .taxbox1 img{ margin-bottom: 5px;}
.content .taxbox1 p.fbox_p1{
	min-height: 54px;
	padding: 3px 10px 10px 10px;
	margin-bottom:2px;
}
.fbtnbox1{
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	align-content: flex-start;
	width: 100%;
}
.fbtn1, .fbtn2{	flex: 0 0 48%;}
.fbtn1{ margin-right:3.8%;}
.fbtn1 a{
	display: block;
	font-size:78%;
	font-weight: bold;
	padding: 10px 5px;
	background-color: #00847a;
	color: #fff;
	text-decoration: none;
}
.fbtn2 a{
	display: block;
	font-size:78%;
	font-weight: bold;
	padding: 10px 5px;
	background-color: #9b0400;
	color: #fff;
	text-decoration: none;
}
.fbtn1 a:hover{
	background-color: #49b4ac;
	color: #eee;
}
.fbtn2 a:hover{
	background-color: #c73b37;
	color: #eee;
}

.accessmap{ background-color: #e8e8e8; padding: 60px;}
.accessmap iframe{ width:100%; height: 500px;}

/* お問い合わせ */
.page-id-15 #pageTitBnr,
.page-id-37 #pageTitBnr,
.page-id-39 #pageTitBnr{ background-image: url(/w1/wp-content/uploads/2026/08/contact_tit1.jpg);}
.contwrap1{
	padding: 30px 20px 20px;
	background-color: #f6f6f6;
	margin-bottom: 80px;
}
p.cotel, p.cofax{
	font-family: 'Noto Sans JP', sans-serif;
	font-size:220%;
	font-weight: 900;
	line-height: 1;
	color: #000033;
	margin-bottom: 10px;
}
.contwrap1 p{ margin-bottom: 10px;}
.mw_wp_form{ text-align: left;}
.chissu{ color: #ff0000;}
.content form table.table_contact{
	margin-top: 5px;
	border: solid 1px #e9e9e9;
}
.content form table.table_contact th{ font-weight:bold; font-size: 120%;}
.content form table.table_contact th{ font-size: 120%;}

form input[type=text], form input[type=email], form input[type=password], form input[type=date], form select, form textarea{ font-size: 120%;}

/*その他*/
.page-id-3 #pageTitBnr, .page-id-25 #pageTitBnr{ background-image: url(/w1/wp-content/uploads/2026/08/office_tit1.jpg);}
.single-info #pageTitBnr,
.archive #pageTitBnr{ background-image: url(/w1/wp-content/uploads/2026/08/office_tit1.jpg);}
#pageTitBnr #pageTitInner #pageTit {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 220%;
    line-height: 150%;
    letter-spacing: 2px;
    font-weight: lighter;
    margin: 0;
    color: #fff;
	text-shadow: 0 0 3px #ccc , -1px 1px 3px #ccc , 1px -1px 3px #ccc , -1px -1px 3px #ccc;
}
.pripol{ text-align: left;}
.content h1.entryPostTitle, .content h1.contentTitle{ text-align: left; color: #001d5f; font-family: 'Noto Sans JP', sans-serif;}

.blog #pageTitBnr,
.single-post #pageTitBnr,
.category #pageTitBnr{ background-image: url(/w1/wp-content/uploads/2026/08/activity_tit1.jpg);}

/*施工実績*/
.blog .content .infoList .infoListBox,
.category .content .infoList .infoListBox{ 
	position: static;
	width: 50%;
	overflow: visible;
}
.blog .content .infoList .infoListBox div.thumbImage,
.category .content .infoList .infoListBox div.thumbImage{	float: none; text-align: center;}
.blog .content .infoList .infoListBox div.thumbImage div.thumbImageInner img,
.category .content .infoList .infoListBox div.thumbImage div.thumbImageInner img{ width: 92%; margin-bottom: 5px;}
.blog .content .infoList .infoListBox div.entryTxtBox,
.category .content .infoList .infoListBox div.entryTxtBox{ 
	width: 100%;
	overflow: visible;
}
.blog .content .infoList .infoListBox div.entryTxtBox.haveThumbnail,
.category .content .infoList .infoListBox div.entryTxtBox.haveThumbnail{
	float: none;
	width: 100%;
	text-align: center;
}
.blog .content .infoList,
.category .content .infoList{
	display: flex;
	flex-wrap:wrap;
    justify-content: space-between;
}
.single-post .content p{ font-size: 120%; color: #555;}
.single-info .content p{ font-size: 120%; color: #555;}
.content .infoList .infoListBox div.entryTxtBox h4.entryTitle{ font-size: 124%; font-family: 'Noto Sans JP', sans-serif;}

.sideTower .localHead, .sideTower h3.localHead{ font-size: 130%; font-family: 'Noto Sans JP', sans-serif !important;}
.sideTower .sideWidget li{ font-size: 130%;}
.sideTower .sideWidget li > a:hover, .sideTower .sideWidget li.current_page_item > a, .sideTower .sideWidget li.current-cat > a{ background-color: #e4f4ff;}
.sideTower .sideWidget li ul li{ font-size: 94%;}

.archive .bloglist_comm{display: none;}
.bloglist_comm{ text-align: center;}

#container .paging{
    display: block;
    text-align: center;
	margin: 0 auto;
}

/**** モバイル用設定 ****/
.pc_img{ display: block;}
.mobi_img{ display: none;}

.mbbr{ display: none;}
.pcbr{ display: block;}
@media screen and (max-width: 1199px) { /* 1199pxまでの画面に対応 */
#header .innerBox{ width:100%;}
#main #container .content{ width:100%;}
.blog .innerBox,
.category .innerBox,
.single .innerBox,
.archive .innerBox{ width: 100%;}
#main #container .content.wide{ width: 100%;}
#main #container .content.wide{ width: 96%; margin: 0 auto;}
.content .topcttext{ width: 92%;}
#pr3top .pr3t{ width:100%;}
#future{ background-size: cover;}
#future .tp_inner{ width:100%; padding: 60px 20px 30px 20px;}
#future p{ font-size: 130%; margin: 0 20px 30px 20px;}
#youtube_area{ width:100%;}
#youtube_area .tp_inner{ width:100%; padding: 0;}
#contactus .tp_inner{ width: 98%;}
.aboutwrap2{ width: 98%;}
	
}
@media screen and (max-width: 1199px) { /* 1199pxまでの画面に対応 */
.headMainMenu .menu li > a {
    padding: 8px 8px 8px 8px;
    font-size: 100%;
}
}
@media screen and (max-width: 969px) { /* 969pxまでの画面に対応 */

#gMenu{padding-left: 0;}
#gMenu .headMainMenu .menu li > a{ padding: 18px 10px 14px;}
#gMenu .headMainMenu ul li a:after{ margin-top: -18px;}
#header.itemOpen{ background-color: #ffffff;}

#pageTitBnr #pageTitInner h1#pageTit{ font-size: 180%;}
.content .entry-content h2{ font-size: 220%;}
.content .entry-content h2:before{ top: 43px;}
.content .entry-content h3{ font-size: 150%;}

#header #headerInner{ padding: 8px 0;}

.flexslider .slides{ margin-bottom: 30px;}
.content .topcttext { font-size: 160%; padding: 40px 0 15px 0;}
	

.tp_btn1 { width: 80%;}
#about .tp_inner{ width: 98%;}
#fatalink .tp_inner{ width: 96%;}
#fatalink2 .tp_inner{ width: 98%;}
.content #fatalink span { width: 89.7%;}
.home .content #topInfo h2, .content #topBlog h2{
	width: 30%;
	background-size: contain;
	}
.content h2, .content h1.contentTitle, .content h1.entryPostTitle{ width: 95%;}
.content #about h2{ width: 78%;}
.content #contactus h2{ width: 78%;}

.content .post { width: 96%; margin: 0 auto;}
.flow_wrap01 div{ width:48%;}
.company_img div{ width: 48%;}

#pr3top .pr3t{ padding: 60px 30px 20px 0;}
.home .content .pr3t h3,
.page-id-7 .content .pr3t h3{ margin-left:30px;}
.home .content .pr3t p,
.page-id-7 .content .pr3t p{ margin-left:30px;}
#future p { width: 90%;}
.home .content #future h2{ font-size: 240%; margin-left: 0;}
	
	}
@media screen and (max-width: 769px) { /* 769pxまでの画面に対応 */
.home .content h2{ font-size: 200%;}
.tp_exp { display: block;}
.tp_exp_innner{ width: 100%; text-align: center;}
.content .tp_exp_innner img{ margin:0 auto 15px; text-align: center;}
.tp_exp_innner p{
	width: 96%;
	text-align: center;
	margin: 0 auto 20px;
	line-height: 1.5;
}
.home .content h3{ text-align: center;}
.content #fatalink span { width: 88.3%;}
	
.aboutwrap1 { display: block;}
.aboutwrap1 .aboutbox1 { width: 100%; padding:0;}
.content .aboutwrap1 img{ width: 100%; text-align: center;}
.aboutwrap1 .aboutbox2{ width: 100%; font-size: 130%;}

#pr3top{ background: url(/w1/wp-content/uploads/2026/09/pr3top_bg.jpg) -700px bottom no-repeat;}
	
}
@media screen and (max-width: 660px) { /* 660pxまでの画面に対応 */

.pc_img{ display: none;}
.mobi_img{ display: block;}
	
.mbbr{ display: block;}
.pcbr{ display: none;}
	
.home #main #container .content{ width:100%;}
.home .content h2 { font-size: 200%; line-height: 1.5;}
	
#main #container .content{ width: 96%; margin: 0 auto;}
#main #container #sideTower{ width: 96%; margin: 0 auto;}
#fatalink .tp_inner { display: block;}
#fatalink .tp_inner div,
#fatalink2 .tp_inner div{
	width: 90%;
	display: block;
	margin: 0 auto;
    text-align: center;
	}
.home .content .infoList ul{ width:90%;}
.content #fatalink span {
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	}
.content #fatalink a {
    display: block;
	width: 100%;
}
.content #fatalink .tp_inner a img{ width:100%;}
.content #fatalink p.fatalink_txt{ text-align:center;}
	
/*トップ*/
#header .innerBox #site-title img{ max-height: 56px; margin-top: 0px;}
.topcttext{ font-size: 160%; line-height:1.4;}
.content img{ margin: 0 auto;}
.home #main{ padding-top: 50px;}
#fatalink div,#fatalink2 div{ display: block; width: 90%; margin: 0 auto 30px;}
#recent-posts-2 ul{ padding: 20px;}
#recent-posts-2.widget_recent_entries{ padding-top: 50px;}
#recruit{ margin-bottom: 50px;}
#contactus{ margin-bottom: 0;}
#contactus .tp_inner div img{ width:80%;}
.tp_btn1 a{ width:90%;}

#pr3top{ 
	width: 100%;
	background: url(/w1/wp-content/uploads/2026/08/pr3top_bg_sp.jpg) center bottom no-repeat;
	background-size: cover;
	}
#pr3top .pr3t{ width: 100%; padding: 40px 30px 360px 0;}
.home .content .pr3t h3,
.page-id-7 .content .pr3t h3{ width: 94%; font-size: 200%;}
.home .content .pr3t p,
.page-id-7 .content .pr3t p{ width: 94%; font-size: 150%; margin-bottom: 30px;}
	
/*事業案内*/
.buswrap1{ margin-bottom: 50px;}
.buswrap1 img{ width:90%; margin: 0 auto; position: static;}
.content .buswrap1 img.alignleft{ float: none; margin: 0 auto;}
.buswrap1 div{ position: static; width: 90%; margin: 0 auto; min-height: 240px;}
.buswrap1 div p{ width: 90%; padding: 15px;}

.entry-content .buswrap2 h3{ padding: 0 0 0 0; text-align: center;}
.buswrap2{ margin-bottom: 50px;}
.buswrap2 img{ width:90%; margin: 0 auto; position: static;}
.content .buswrap2 img.alignleft{ float: none; margin: 0 auto;}
.buswrap2 div{ position: static; width: 90%; margin: 0 auto; min-height: 240px; text-align: center;}
.buswrap2 div p{ width: 90%; padding: 15px;}
	
.buswrap3{ margin-bottom: 50px;}
.buswrap3 img{ width:90%; margin: 0 auto; position: static;}
.content .buswrap3 img.alignleft{ float: none; margin: 0 auto;}
.buswrap3 div{ position: static; width: 90%; margin: 0 auto; min-height: 240px; text-align: center;}
.buswrap3 div p{ width: 90%; padding: 15px;}

.entry-content .buswrap4 h3{ padding: 0 0 0 0; text-align: center;}
.buswrap4{ margin-bottom: 50px;}
.buswrap4 img{ width:90%; margin: 0 auto; position: static;}
.content .buswrap4 img.alignleft{ float: none; margin: 0 auto;}
.buswrap4 div{ position: static; width: 90%; margin: 0 auto; min-height: 240px; text-align: center;}
.buswrap4 div p{ width: 90%; padding: 15px;}

.entry-content .buswrap5 h3{ padding: 0 0 0 0; text-align: center;}
.buswrap5{ margin-bottom: 50px;}
.buswrap5 img{ width:90%; margin: 0 auto; position: static;}
.content .buswrap5 img.alignleft{ float: none; margin: 0 auto;}
.buswrap5 div{ position: static; width: 90%; margin: 0 auto; min-height: 240px; text-align: center;}
.buswrap5 div p{ width: 90%; padding: 15px;}

/*施工の流れ*/
.flow_wrap01 { display: block;}
.flow_wrap01 div { width: 100%; margin: 0;}
.content .flow_wrap01 div img { width: 100%; margin-bottom: 20px;}
.flow_wrap01 h4{ font-size: 180%;}
.flow_wrap01 h4 span { height: 52px;}
	
.content #post-9 p{ text-align: left;}
.content .flow_num5 h4{ font-size:168%;}

	
/*工場案内*/
.factbox1{ flex: 0 0 48%; margin-bottom: 30px;}
.factbox2{ flex: 0 0 48%; margin-bottom: 30px;}

/*製品案内*/
.prodbox1{ flex: 0 0 48%; padding-right: 3%;}
.prodbox1:nth-child(3){ padding-right: 3%;}
.prodbox1:nth-child(even){ padding-right: 0;}
.content .prodbox1 p.fbox_p1{ font-size: 84%;}
.prodbox2{ flex: 0 0 48%; padding-right: 3%;}
.prodbox2:nth-child(3){ padding-right: 3%;}
.prodbox2:nth-child(even){ padding-right: 0;}
.content .prodbox2 p.fbox_p1{ font-size: 84%;}
	
/*会社案内*/
.comwrap1{ text-align: center; padding: 15px;}
.comwrap1 img{ float: none; margin:0 auto 15px; }
.comwrap1 p{ text-align: left;}
table.company_table th{ padding: 10px 10px;}
table.company_table td{ padding: 10px 10px;}
.accessmap{ padding: 20px;}

/*ふるさと納税*/
.taxbox1{ flex: 0 0 48%; padding-right: 3%;}
.taxbox1:nth-child(3), .taxbox1:nth-child(6), .taxbox1:nth-child(9), .taxbox1:nth-child(12){ padding-right: 3%;}
.taxbox1:nth-child(even){ padding-right: 0;}
.fbtn1 a, .fbtn2 a{ font-size:68%; line-height: 1.2;}

/*採用情報*/
table.recruit_table th{ padding: 10px;}
table.recruit_table td{ padding: 10px;}
	
/*お問い合わせ*/
.contwrap1 p{ font-size: 88%;}
p.cotel, p.cofax{ font-size: 140%;}
.content form table.table_contact th, .content form table.table_contact td{ font-size: 100%; padding:5px;}
form input[type=text], form input[type=email], form input[type=password], form input[type=date], form select, form textarea{ font-size: 96%; width:88%;}
	
/*ページタイトル*/
.page-id-7 #pageTitBnr{ background-position: -440px 0;}
.page-id-17 #pageTitBnr, .page-id-15 #pageTitBnr, .page-id-23 #pageTitBnr{ background-position: -480px 0;}
.page-id-21 #pageTitBnr{ background-position: -840px 0;}
.page-id-9 #pageTitBnr, .page-id-11 #pageTitBnr, .page-id-13 #pageTitBnr,
.page-id-37 #pageTitBnr, .page-id-39 #pageTitBnr{ background-position: -460px 0;}
.blog #pageTitBnr, .single #pageTitBnr, .category #pageTitBnr,
.page-id-3 #pageTitBnr, .page-id-25 #pageTitBnr{ background-position: -770px 0;}
	
#footMenu .innerBox{ background-color: rgba(0,0,0,0);}
#footerSiteMap ul.menu {
    font-size: 124%;
    padding-left: 0;
}
#footerSiteMap .menu li { width: 100%; margin-bottom: 0;}
#footerSiteMap .menu li a{ padding: 15px 10px;}
	#siteBottom{border-top: 0;}
.mobiclr{ display: none;}

.content #topPr .topPrOuter{ border-bottom: none;}
.tp_btn2{ width: 74%;}
.tp_btn2 a{ margin-left: -11%;}
	
.content .post-content div{ clear: both;}
.content .post-content div.imggly{ width:100%;}
.content .post-content div.imggly img{ width:48%; margin-right:1.8%;}
	
	}

@media screen and (max-width: 550px) { /* 550pxまでの画面に対応 */
#topMainBnr{ padding: 0 0 0 0;}
	
.company_img div{ width: 100%; margin-bottom:10px;}

#pr3top .pr3t { padding: 40px 0 200px 0;}
.home .content .pr3t h3,
.page-id-7 .content .pr3t h3{font-size: 180%;}
.home .content .pr3t p,
.page-id-7 .content .pr3t p{font-size: 120%; line-height:1.2; margin-left:15px;}
#future .tp_inner { padding: 60px 0 30px 0; line-height:1.4;}
.home .content #youtube_area h2{ font-size: 220%;}
	
}
@media screen and (max-width: 500px) { 
	
#topMainBnr{ padding: 0 0 0 0;}
.flexslider .slides img {
        max-width: none;
    }
/*#topMainBnr .flexslider .slides img{
        width: 220%;
        margin-left: calc(50% - 220% / 2);
	}*/
.content .entry-content h2 { font-size: 188%;}
.topcttext{ font-size: 144%;}
.aboutwrap1 .aboutbox2{ font-size: 124%; line-height:1.4;}
.tp_exp_innner p{ text-align: left;}

#facebook_area .fb-page,
#facebook_area .fb-page > span,
#facebook_area .fb-page iframe{
    width: 100% !important;
    max-width: 100% !important;
}
	
}
@media screen and (max-width: 470px) { /*#topMainBnr{ padding: 8% 0 0 0;}*/ #topMainBnr{ padding: 0 0 0 0;}  }
@media screen and (max-width: 440px) { /*#topMainBnr{ padding: 4% 0 0 0;}*/ #topMainBnr{ padding: 0 0 0 0;}  }
@media screen and (max-width: 400px) { /* 400pxまでの画面に対応 */
#topMainBnr{ padding: 0;}
.home #main{ padding-top: 30px;}
#pr3top{ background-position: -60px bottom;
	}

}

#topMainBnr #topMainBnrFrame .mainVisualPicture {
	display: block;
	width: 100%;
}

#topMainBnr #topMainBnrFrame .mainVisualPicture img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
}
@media screen and (max-width: 660px) {
	#topMainBnr,
	#topMainBnrFrame {
		height: auto !important;
	}

	#topMainBnr #topMainBnrFrame .mainVisualPicture,
	#topMainBnr #topMainBnrFrame .mainVisualPicture img {
		display: block;
		width: 100%;
		height: auto !important;
		margin: 0;
	}
}

/* サイトマップページ専用デザイン */
.page-id-25 #post-25 > .sbtitle2 {
  margin: 0 0 24px;
  padding: 0 0 14px;
  border: 0;
  border-bottom: 2px solid #d9e4f0;
  color: #083f78;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: .06em;
}

.page-id-25 #post-25 > .sbtitle2::after {
  content: "";
  display: block;
  width: 52px;
  height: 3px;
  margin-top: 12px;
  border-radius: 999px;
  background: #e54842;
}

.page-id-25 .sitemap-card-panel {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  overflow: hidden;
  box-sizing: border-box;
  padding: 36px;
  border: 1px solid #dce6f1;
  border-radius: 18px;
  background: linear-gradient(145deg, #f8fbff 0%, #eef4fa 100%);
  box-shadow: 0 16px 40px rgba(7, 48, 88, .08);
}

.page-id-25 .sitemap-card-panel::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 5px;
  background: linear-gradient(90deg, #084f94 0%, #0c67ae 65%, #e54842 100%);
}

.page-id-25 .sitemap-card-panel > .wsp-pages-list,
.page-id-25 .sitemap-card-panel > .wsp-container,
.page-id-25 .sitemap-card-panel > .wsp-container > .wsp-pages-list {
  display: contents !important;
}

.page-id-25 .wsp-pages-title {
  display: none;
}

.page-id-25 .sitemap-card-panel .wsp-pages-list,
.page-id-25 .sitemap-card-panel .wsp-pages-list > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.page-id-25 .sitemap-card-panel .wsp-pages-list > li > a {
  display: flex !important;
  align-items: center;
  box-sizing: border-box;
  min-height: 68px;
  padding: 16px 20px;
  border: 1px solid #dfe7f0;
  border-radius: 11px;
  background: #fff;
  color: #123f6d !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(15, 55, 92, .05);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease;
}

.page-id-25 .sitemap-card-panel .wsp-pages-list > li > a::after {
  content: "›";
  margin-left: auto;
  padding-left: 14px;
  color: #e54842;
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
  transition: transform .2s ease;
}

.page-id-25 .sitemap-card-panel .wsp-pages-list > li > a:hover,
.page-id-25 .sitemap-card-panel .wsp-pages-list > li > a:focus {
  border-color: #7da4cc;
  color: #07549a !important;
  box-shadow: 0 10px 24px rgba(8, 63, 120, .13);
  transform: translateY(-2px);
}

.page-id-25 .sitemap-card-panel .wsp-pages-list > li > a:hover::after,
.page-id-25 .sitemap-card-panel .wsp-pages-list > li > a:focus::after {
  transform: translateX(4px);
}

.page-id-25 .sitemap-card-panel .wsp-pages-list > .current_page_item > a {
  border-color: #c9d9e9;
  background: #edf4fb;
}

.page-id-25 .sitemap-card-panel .sitemap-home-list > li > a {
  border-color: #b8cee3;
  background: linear-gradient(135deg, #ffffff 0%, #f2f7fc 100%);
}

.page-id-25 .sitemap-card-panel .sitemap-home-list > li > a::before {
  content: "⌂";
  margin-right: 10px;
  color: #0b5c9f;
  font-size: 20px;
  line-height: 1;
}

@media (max-width: 700px) {
  .page-id-25 #post-25 > .sbtitle2 {
    margin-bottom: 18px;
    font-size: 24px;
  }

  .page-id-25 .sitemap-card-panel {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 24px 18px;
    border-radius: 14px;
  }

  .page-id-25 .sitemap-card-panel .wsp-pages-list > li > a {
    min-height: 60px;
    padding: 14px 16px;
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-id-25 .sitemap-card-panel .wsp-pages-list > li > a,
  .page-id-25 .sitemap-card-panel .wsp-pages-list > li > a::after {
    transition: none;
  }
}

/* ==================================================
   政策・ビジョンページ「将来へのビジョンと未来への挑戦」
   8項目カードデザイン 追記ここから
   ================================================== */
.page-id-7 .policy-vision {
  --policy-blue: #0757a0;
  --policy-navy: #08365f;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: 76px 24px 84px;
  background: linear-gradient(180deg, #f4f8fc 0%, #fff 45%, #f6f9fc 100%);
  font-family: "Noto Sans JP", sans-serif;
}
.page-id-7 .policy-vision::before {
  content: "";
  position: absolute;
  top: -210px;
  right: -150px;
  width: 520px;
  height: 520px;
  border: 82px solid rgba(7, 87, 160, .035);
  border-radius: 50%;
}
.page-id-7 .policy-vision__inner {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  margin: 0 auto;
}
.page-id-7 .policy-vision__head {
  max-width: 760px;
  margin: 0 auto 44px;
  text-align: center;
}
.page-id-7 .policy-vision__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 15px;
  color: var(--policy-blue);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .16em;
}
.page-id-7 .policy-vision__eyebrow::before,
.page-id-7 .policy-vision__eyebrow::after {
  content: "";
  width: 28px;
  height: 2px;
  background: #e34a43;
}
.page-id-7 .policy-vision__title {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--policy-navy);
  background: none;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 2.9rem !important;
  font-weight: 800;
  line-height: 1.5 !important;
  letter-spacing: normal;
}
.page-id-7 .policy-vision__title::after { display: none; }
.page-id-7 .policy-vision__title span {
  display: block;
  color: var(--policy-blue);
}
.page-id-7 .policy-vision__lead {
  margin: 18px 0 0;
  color: #5d7185;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  line-height: 1.9;
}
.page-id-7 .policy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.page-id-7 .policy-card {
  --card-accent: #0b6ab7;
  position: relative;
  overflow: hidden;
  min-width: 0;
  box-sizing: border-box;
  padding: 30px 31px 31px;
  border: 1px solid #dce7f1;
  border-top: 4px solid var(--card-accent);
  border-radius: 18px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 12px 34px rgba(13, 61, 103, .075);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.page-id-7 .policy-card:hover {
  border-color: #cbdbe8;
  border-top-color: var(--card-accent);
  box-shadow: 0 18px 44px rgba(13, 61, 103, .13);
  transform: translateY(-4px);
}
.page-id-7 #content .policy-card,
.page-id-7 #content .policy-card__meta,
.page-id-7 #content .policy-card h3,
.page-id-7 #content .policy-card__intro,
.page-id-7 #content .policy-card ul,
.page-id-7 #content .policy-card li {
  text-align: left;
}
.page-id-7 .policy-card::after {
  content: attr(data-number);
  position: absolute;
  right: -3px;
  bottom: -29px;
  color: rgba(7, 70, 127, .045);
  font-size: 126px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.08em;
  pointer-events: none;
}
.page-id-7 .policy-card:nth-child(2),
.page-id-7 .policy-card:nth-child(6) { --card-accent: #16947f; }
.page-id-7 .policy-card:nth-child(3),
.page-id-7 .policy-card:nth-child(7) { --card-accent: #d88518; }
.page-id-7 .policy-card:nth-child(4),
.page-id-7 .policy-card:nth-child(8) { --card-accent: #4058aa; }
.page-id-7 .policy-card__meta {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 17px;
}
.page-id-7 .policy-card__number {
  display: grid;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: var(--card-accent);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .05em;
}
.page-id-7 .policy-card__tag {
  color: var(--card-accent);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .1em;
}
.page-id-7 .policy-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 15px;
  padding: 0;
  border: 0;
  color: #113b60;
  background: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .02em;
}
.page-id-7 .policy-card h3::before,
.page-id-7 .policy-card h3::after { display: none; }
.page-id-7 .policy-card__intro {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  margin: 0 0 16px;
  padding: 13px 15px;
  background: #f5f8fb;
  color: #3e566d;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.8;
}
.page-id-7 .policy-card ul {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.page-id-7 .policy-card li {
  position: relative;
  margin: 0;
  padding: 0 0 0 19px;
  border: 0;
  color: #324b62;
  background: none;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  line-height: 1.78;
  list-style: none;
}
.page-id-7 .policy-card li::before {
  content: "";
  position: absolute;
  top: .75em;
  left: 2px;
  width: 7px;
  height: 7px;
  box-sizing: border-box;
  border: 2px solid var(--card-accent);
  border-radius: 50%;
}
@media (max-width: 820px) {
  .page-id-7 .policy-vision { padding: 58px 18px 64px; }
  .page-id-7 .policy-grid { grid-template-columns: 1fr; gap: 16px; }
  .page-id-7 .policy-card { padding: 25px 23px 27px; border-radius: 15px; }
  .page-id-7 .policy-card h3 { font-size: 22px; }
}
@media (max-width: 480px) {
  .page-id-7 .policy-vision { padding: 48px 14px 54px; }
  .page-id-7 .policy-vision__head { margin-bottom: 31px; }
  .page-id-7 .policy-vision__title { font-size: 1.88rem !important; }
  .page-id-7 .policy-vision__lead { text-align: left; }
  .page-id-7 .policy-card { padding: 22px 18px 24px; }
  .page-id-7 .policy-card__number { flex-basis: 40px; width: 40px; height: 40px; border-radius: 11px; }
  .page-id-7 .policy-card h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-id-7 .policy-card { transition: none; }
}

/* ==================================================
   プロフィールページ 本文デザイン 追記ここから
   ※ h2タイトルにはスタイルを追加しない
   ================================================== */
.page-id-9 .profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  overflow: hidden;
  width: min(1040px, 100%);
  box-sizing: border-box;
  margin: 0 auto 78px;
  border: 1px solid #dbe6f0;
  border-top: 5px solid #0757a0;
  border-radius: 20px;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
.page-id-9 .profile-hero__text {
  position: relative;
  padding: 42px 46px;
  background: linear-gradient(145deg, #fff 0%, #f5f9fd 100%);
  text-align: left;
}
.page-id-9 #content .profile-hero__text,
.page-id-9 #content .profile-hero__text > div,
.page-id-9 #content .profile-hero__text ul,
.page-id-9 #content .profile-hero__text li {
  text-align: left;
}
.page-id-9 #content .profile-hero__text ul {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.page-id-9 #content .profile-hero__text li {
  position: relative;
  margin: 0;
  padding: 11px 0 11px 25px;
  border-bottom: 1px solid #dce6ef;
  color: #263f56;
  background: none;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.8;
  list-style: none;
}
.page-id-9 #content .profile-hero__text li:last-child { border-bottom: 0; }
.page-id-9 .profile-facts {
  margin: 0;
}
.page-id-9 .profile-facts__row {
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr);
  gap: 20px;
  padding: 17px 0;
  border-bottom: 1px solid #dce6ef;
}
.page-id-9 .profile-facts__row:first-child { padding-top: 0; }
.page-id-9 .profile-facts__row:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.page-id-9 .profile-facts dt,
.page-id-9 .profile-facts dd {
  margin: 0;
  padding: 0;
  text-align: left;
}
.page-id-9 .profile-facts dt {
  color: #0757a0;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.8;
}
.page-id-9 .profile-facts dd {
  color: #263f56;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
}
.page-id-9 .profile-hero__photo {
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: center;
  min-width: 0;
  margin: 0;
  background: #eaf2f8;
}

.page-id-9 .profile-hero__photo img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center top;
}
.page-id-9 .profile-panel {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  margin: 0 0 72px;
  padding: 34px 38px 38px;
  border: 1px solid #dce6ef;
  border-radius: 18px;
  background: linear-gradient(145deg, #f8fbfe 0%, #f2f7fb 100%);
  font-family: "Noto Sans JP", sans-serif;
}
.page-id-9 .profile-panel::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, #0757a0 0%, #0c72bc 72%, #e34a43 100%);
}
.page-id-9 .profile-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.page-id-9 .profile-list li {
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 16px 18px 16px 45px;
  border: 1px solid #e0e8f0;
  border-radius: 11px;
  color: #29445d;
  background: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.75;
  text-align: left;
  list-style: none;
}
.page-id-9 .profile-list li::before {
  content: "";
  position: absolute;
  top: 1.35em;
  left: 20px;
  width: 9px;
  height: 9px;
  box-sizing: border-box;
  border: 2px solid #0870bc;
  border-radius: 50%;
}
.page-id-9 .profile-hobbies {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.page-id-9 .profile-hobbies li {
  position: relative;
  min-width: 180px;
  box-sizing: border-box;
  margin: 0;
  padding: 15px 23px 15px 48px;
  border: 1px solid #cbdcea;
  border-radius: 999px;
  color: #164b78;
  background: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
  list-style: none;
}
.page-id-9 .profile-hobbies li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 22px;
  width: 9px;
  height: 9px;
  box-sizing: border-box;
  border: 2px solid #0870bc;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  transform: translateY(-50%);
}
@media (max-width: 820px) {
  .page-id-9 .profile-hero { grid-template-columns: minmax(0, 1fr) 300px; }
  .page-id-9 .profile-hero__text { padding: 34px 30px; }
  .page-id-9 .profile-facts__row { grid-template-columns: 105px minmax(0, 1fr); gap: 15px; }
  .page-id-9 .profile-list { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .page-id-9 .profile-hero {
    grid-template-columns: 1fr;
    margin-bottom: 56px;
    border-radius: 15px;
  }
  .page-id-9 .profile-hero__text { padding: 30px 22px 32px; }
  .page-id-9 .profile-hero__text::before { margin-bottom: 18px; }
  .page-id-9 #content .profile-hero__text li {
    padding: 9px 0 9px 23px;
    font-size: 18px;
  }
  .page-id-9 .profile-facts__row {
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 14px 0;
  }
  .page-id-9 .profile-facts dt,
  .page-id-9 .profile-facts dd { font-size: 18px; }
  .page-id-9 .profile-hero__photo img {
    width: min(100%, 360px);
    height: auto;
  }
  .page-id-9 .profile-panel {
    margin-bottom: 54px;
    padding: 27px 17px 19px;
    border-radius: 14px;
  }
  .page-id-9 .profile-list { gap: 9px; }
  .page-id-9 .profile-list li { padding: 14px 14px 14px 40px; }
  .page-id-9 .profile-list li::before { left: 17px; }
  .page-id-9 .profile-hobbies { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .page-id-9 .profile-hobbies li { width: 100%; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .page-id-9 .profile-hero,
  .page-id-9 .profile-panel { scroll-behavior: auto; }
}

/* ==================================================
   プロフィールページ 本文デザイン 追記ここまで
   ================================================== */

/* ==================================================
   プロフィールページ リスト表示・青丸統一 追記ここから
   テーマ側のリスト指定より優先させる調整
   ================================================== */
.page-id-9 #content .profile-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.page-id-9 #content .profile-list li {
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 16px 18px 16px 45px;
  border: 1px solid #e0e8f0;
  border-radius: 11px;
  color: #29445d;
  background: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.75;
  text-align: left;
  list-style: none;
}
.page-id-9 #content .profile-list li::before,
.page-id-9 #content .profile-hobbies li::before {
  content: "";
  position: absolute;
  top: 1.35em;
  left: 20px;
  display: block;
  width: 9px;
  height: 9px;
  box-sizing: border-box;
  border: 2px solid #0870bc;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
.page-id-9 #content .profile-hobbies {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.page-id-9 #content .profile-hobbies li {
  position: relative;
  min-width: 180px;
  box-sizing: border-box;
  margin: 0;
  padding: 15px 23px 15px 48px;
  border: 1px solid #cbdcea;
  border-radius: 999px;
  color: #164b78;
  background: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
  list-style: none;
}
.page-id-9 #content .profile-hobbies li::before {
  top: 50%;
  left: 22px;
  transform: translateY(-50%);
}
@media (max-width: 820px) {
  .page-id-9 #content .profile-list { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .page-id-9 #content .profile-list { gap: 9px; }
  .page-id-9 #content .profile-list li { padding: 14px 14px 14px 40px; }
  .page-id-9 #content .profile-list li::before { left: 17px; }
  .page-id-9 #content .profile-hobbies { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .page-id-9 #content .profile-hobbies li { width: 100%; min-width: 0; }
}
/* ==================================================
   プロフィールページ リスト表示・青丸統一 追記ここまで
   ================================================== */

/* Footer social icons */
#footerInner {
  position: relative;
  padding-top: 108px !important;
}

#menu-footernavi > li.footer-social {
  position: absolute !important;
  top: 30px;
  left: 50%;
  z-index: 2;
  float: none !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}

#menu-footernavi > li.footer-social--facebook {
  margin-left: -86px !important;
}

#menu-footernavi > li.footer-social--instagram {
  margin-left: -24px !important;
}

#menu-footernavi > li.footer-social--youtube {
  margin-left: 38px !important;
}

#menu-footernavi > li.footer-social > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid #fff !important;
  border-radius: 50%;
  background: transparent !important;
  color: #fff !important;
  font-size: 0;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}

#menu-footernavi > li.footer-social > a::before {
  position: static;
  float: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  font-family: FontAwesome;
  font-size: 24px;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

#menu-footernavi > li.footer-social--facebook > a::before {
  content: "\f09a";
}

#menu-footernavi > li.footer-social--instagram > a::before {
  content: "\f16d";
}

#menu-footernavi > li.footer-social--youtube > a::before {
  content: "\f16a";
}

#menu-footernavi > li.footer-social > a:hover,
#menu-footernavi > li.footer-social > a:focus {
  background: #fff !important;
  color: #004fb8 !important;
}

#menu-footernavi > li.footer-social > a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

#menu-footernavi > li.footer-social--youtube > a[href="#"] {
  pointer-events: none;
  cursor: default;
  opacity: .55;
}

#misawa-recaptcha-widget{
	margin: 0 auto;
	text-align: center;
}
