@charset "utf-8";
/* ===========================================================
 *
 * 石綿調査 スタイルシート
 * Last UpDate : 2026/6/29 *
=========================================================== */

/* 編集画面で カスタム HTML ブロックの存在がわかるように */
.wp-block-html {
    position: relative;
    border: 1px dotted #ccc;
}
.wp-block-html::before {
    content: 'カスタム HTML';
    position: absolute;
    padding: 1px 5px;
    top: 0;
    right: 0;
    font-size: 9px;
    text-align: left;
    color: #333;
    background-color: #e5e5e5;
    z-index: 10000;
}

/* ----------------------------------------------------------
	style.css
---------------------------------------------------------- */

/* ----------------------------------------------------------
 common
---------------------------------------------------------- */
html {
  font-feature-settings: "palt";
  font-size: 62.5%; /* 1rem = 10px */
}

body {
color: #222;
background-color: #fff;
font-family: "Noto Sans JP","source-han-sans-japanese","Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", serif;
font-weight: 400;
font-style: normal;
letter-spacing: 1px;
}


.noto-sans-jp-uniquifier{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}


.roboto-uniquifier {
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.google-sans-flex{
  font-family: "Google Sans Flex", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings:
    "slnt" 0,
    "wdth" 100,
    "GRAD" 0,
    "ROND" 0;
}

a{transition: .5s;}
a:hover{transition: .5s;}

img{max-width: 100%; height: auto;}

:root{
}

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */

/* =========================== ヘッダー上段 =========================== */
.header {position: fixed; z-index: 100; width: 100%; height: 140px; background-color: #fff;}
.header-inner { display: flex; align-items: center; max-width: 1920px; margin: 0 auto; padding: 10px 20px; gap: 20px; }
.header-logo { flex-shrink: 0; }
.header-logo img { display: block; width: 207px; height: auto; }
.header-catch { flex: 1; min-width: 0; }
.header-catch-main { font-size: 1.2rem; font-weight: bold; color: #333; white-space: nowrap; }
.header-catch-sub { font-size: 1.1rem; color: #666; margin-top: 4px; white-space: nowrap; }
.header-tel { flex-shrink: 0; text-align: center; border-right: 1px solid #222; padding-right: 20px;}
.header-tel-number { display: flex; align-items: center; gap: 6px; }
.header-tel-number i{font-size: 3.4rem;}
.header-tel-number img{width: 45px; height: auto;}

.header-tel-num { font-size: 3rem; font-weight: bold; color: #333; letter-spacing: 0.02em; line-height: 1; font-family: "Roboto", serif; color: #3273dd;}
.header-tel-time { font-size: 1.1rem; color: #666; text-align: right; font-weight: 700;}
.header-cta { display: flex; gap: 4px; flex-shrink: 0; }
.header-cta-btn{width: 240px; text-align: center;}
.header-cta-btn a{color: #fff; display: block; padding: 10px; border-radius: 5px; font-weight: 700; font-size: 1.5rem;}
.header-cta-btn:hover { opacity: 0.85; }
.header-cta-btn i{font-size: 2rem; margin-right: 10px;}
.header-cta-btn-green { background-color: #4caf50; border: 1px solid #4caf50;}
.header-cta-btn-olive { background-color: #8b9d2e; border: 1px solid #8b9d2e}
.header-cta-btn-red { background-color: #d94f2e; border: 1px solid #d94f2e;}

/* =========================== グローバルナビゲーション =========================== */
.gnav { background-color: #0E81C3; padding: 10px 0;}
.gnav-list { display: flex; align-items: center; justify-content: center; gap: 15px; margin: 0 auto; padding: 0 20px; }
.gnav-link { display: block; padding: 11px 4px; color: #fff; font-size: 1.7rem; font-weight: 700; text-align: center; white-space: nowrap; transition: background-color 0.2s; }
.gnav-link:hover { background-color: rgba(255, 255, 255, 0.15); }




/*ACCORDION toggle*/
 
	.accordion_logo{width: 80%; margin: 0 auto 30px; text-align: center;}
.toggle p{
    position: absolute;
    color: #2B4F91;
    left: 50%;
    bottom: 27px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    transform: translate(-50%, 0);}

    .toggle{
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    margin: 0;
    padding: 0;
    width: 60px;
    height: 60px;
    border: none;
    transition: background-color 0.2s ease;
    cursor: pointer;
    background-color: #3273DD;}
	
	.toggle::before, .toggle::after {
    content: "";
    background-color: #000;
    transition: background-color 0.3s ease;
}
	
	.toggle > span, .toggle:before, .toggle:after{
	  display: block;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 48%;
    width: 35px;
    height: 2px;
    margin: -2px 0 0 -15px;}
	.toggle:before{transform: translateY(-9px); background-color: #fff}
	.toggle:after{transform: translateY(9px); background-color: #fff;}


.toggle {
  position: fixed;

}



.accordion_menu_list {
 	display: none; 
	position: fixed;
	width: 100%;
	height: 100vh;
	margin: 0;
	list-style: none;
	top: 0;
	left: 0;
	padding: 60px 25px;
  	background-color: #fff;
  
    }
.toggle[aria-expanded=true] > span {
  opacity: 0;
}
.toggle[aria-expanded=true]::before, .toggle[aria-expanded=true]::after {

}
.toggle[aria-expanded=true]::before {
  animation: 0.3s ease closeBar1 forwards;
}
.toggle[aria-expanded=true]::after {
  animation: 0.3s ease closeBar2 forwards;
}
.toggle.-close::before {
  animation: 0.3s ease closeBar1Rev forwards;
}
.toggle.-close::after {
  animation: 0.3s ease closeBar2Rev forwards;
}

@keyframes closeBar1 {
  0% {
    transform: translateY(-10px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(45deg);
  }
}
	
@keyframes closeBar2 {
  0% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(-45deg);
  }
}
@keyframes closeBar1Rev {
  0% {
    transform: translateY(0) rotate(45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(-10px);
  }
}
@keyframes closeBar2Rev {
  0% {
    transform: translateY(0) rotate(-45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(10px);
  }
}
.nav {
	position: fixed;
	top: 0;
    right: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	padding: 60px;
    border: 1px solid #f5f5f5;
	justify-content: center;
	align-items: center;
	overflow: scroll;
	background: rgba(255, 255, 255, 0.9);
	color: #333;
	transition: opacity 0.3s ease, visibility 0.3s ease;
    /* スクロールバー非表示 */
    /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
}

.recruit_accordion .nav{width: 50%;}

 /*Google Chrome、Safariへの対応*/
.nav::-webkit-scrollbar{
  display: none;

}

.nav[aria-hidden=true] {
  	visibility: hidden;
  	opacity: 0;
 	pointer-events: none;
    
}
.nav[aria-hidden=false] {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
    overflow: scroll;
}

.accordion_menu li {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.5;
}
.accordion_menu li a {
	color: #333;
	transition: .5s;
	border-bottom: 1px solid #c6c6c6;
	display: block;
	padding: 12px 0;
  font-weight: 700;
}

.accordion_menu i{margin-left: 10px;}
.accordion_menu li a:hover{ transition: .5s; background-color: #F1F1F1}
.accordion_menu_sub li{line-height: 2rem;}
.accordion_menu_sub li a{font-size: 1.5rem; padding: 8px 20px; border-bottom: none; position: relative;}
.accordion_menu_sub li a:after{content: ""; padding: 1.5px; position: absolute; top: 17px; left: 12px; background-color: #333; border-radius: 100%;}

.accordion_menu i{margin-left: 10px;}
.accordion_menu li a:hover{ transition: .5s; opacity: 0.7;}
.accordion_menu_sub li{line-height: 2rem;}
.accordion_menu_sub li a{font-size: 1.5rem; padding: 8px 20px; border-bottom: none; position: relative;}
.accordion_menu_sub li a:after{content: ""; padding: 1.5px; position: absolute; top: 17px; left: 12px; background-color: #333; border-radius: 100%;}


/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */

/* =========================== フッター お問合わせ =========================== */
.footer-contact { background-color: #f4f7fb; padding: 5rem 0; }
.footer-contact-inner { }
.footer-contact-title { font-size: clamp(3.5rem, 5vw, 4.5rem); font-weight: 700;  color: #222; text-align: center; margin-bottom: 1.2rem; }
.footer-contact-lead { font-size: 2rem; text-align: center; margin-bottom: 3rem; }
.footer-contact-body { display: flex; align-items: center; justify-content: center; gap: 30px;}
.footer-contact-tel { display: flex; flex-direction: column; align-items: end; flex-shrink: 0; padding-right: 20px; border-right: 1px solid #333;}
.footer-contact-tel-number { display: flex; align-items: center; gap: 1rem; }
.footer-contact-tel-number i{font-size: 3.8rem;}
.footer-contact-tel-num { font-size: 4rem; font-weight: 700; font-family: "Roboto", serif; color: #3273dd; letter-spacing: 0.05em; }
.footer-contact-tel img{width: 58px; height: auto;}
.footer-contact-tel-time { font-size: 1.3rem; color: #666; }
.footer-contact-btns { display: flex; gap: 20px;}
.footer-contact-btn {width: 340px;text-align: center;}
.footer-contact-btn a{display: block; padding: 15px; border-radius: 10px; color: #fff; font-weight: 700;}
.footer-contact-btn:hover { opacity: 0.85; }
.footer-contact-btn-green { background-color: #128D50; border: 1px solid #128D50;}
.footer-contact-btn-olive { background-color: #B19C2A; border: 1px solid #B19C2A;}
.footer-contact-btn-red { background-color: #F44141; border: 1px solid #F44141;}

/* =========================== フッター サイトマップ =========================== */
.footer-sitemap { background-color: #fff; padding: 6rem 0; border-top: 1px solid #e5e5e5; }
.footer-sitemap-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; align-items: flex-start; gap: 40px; }
.footer-sitemap-col { flex: 1; }

/* =========================== フッター =========================== */
.footer { background-color: #fff; padding: 4rem 0 3rem; }
.footer-inner { max-width: 800px; margin: 0 auto; padding: 0 20px; text-align: center; }
.footer-logo { margin-bottom: 2rem; }
.footer-logo a { display: inline-block; }
.footer-address { font-style: normal; font-size: 1.5rem; line-height: 2; margin-bottom: 2rem; }
.footer-nav { margin-bottom: 2rem; }
.footer-nav-list { list-style: none; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; font-weight: 700;}
.footer-nav-item { font-size: 1.8rem; }
.footer-nav-link { color: #3273DD; text-decoration: none; padding: 0 1rem; }
.footer-nav-link:hover { text-decoration: underline; }
.footer-nav-sep { color: #999; }
.footer-copy { font-size: 1.2rem; color: #888; }


/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */


/* =========================== トップページ 共通 =========================== */
.top-wrapper{padding-top: 140px;}
.top-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.top-section-title { font-size: 2.4rem; font-weight: bold; text-align: center; color: #333; line-height: 1.6; margin-bottom: 1.5rem; }
.top-section-title-white { color: #fff; }
.top-section-lead { font-size: 1.4rem; text-align: center; color: #555; line-height: 1.8; margin-bottom: 4rem; }

/* =========================== MV =========================== */
.top-mv { position: relative; overflow: hidden; background-color: #D2E8EB; }
.top-mv::before { content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: 62%; background: linear-gradient(135deg, #c5e3f4 0%, #d9eef9 40%, #ecf6fc 75%); clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%); z-index: 0; }
.top-mv-inner { position: relative; z-index: 1; max-width: 1900px; width: 100%; margin: 0 auto; display: flex; align-items: center; background: url(/info/wp-content/uploads/top-main02.jpg); background-size: cover; background-position-x: right;}
.top-mv-content { flex: 1; min-width: 0; padding: 40px;}
.top-mv-count { display: flex; align-items: baseline; gap: 0.8rem; font-size: 1.6rem; color: #333; margin-bottom: 2rem; font-size: 3rem; font-weight: 700;}
.top-mv-count-label {align-self: center; margin-right: 10px; font-size: 2rem; font-weight: bold; color: #222; background-color: #fff; padding: 0.2rem 0.8rem; border-radius: 2px; line-height: 1.6; }
.top-mv-count-num { font-size: clamp(4.5rem, 5vw, 6rem); color: #092469; font-weight: bold; font-family: "Roboto", serif; line-height: 1; }
.top-mv-title { font-size: clamp(3rem, 4vw, 4rem); font-weight: bold; color: #0f6698; line-height: 1.5; margin-bottom: 1.5rem; }
.top-mv-title .navy{color: #092469;}
.top-mv-title .yellow-marker{background: linear-gradient(transparent 58%, rgba(255, 214, 90, 0.55) 58%);}
.top-mv-lead { font-size: 2rem; color: #222; font-weight: 700; line-height: 1.8; margin-bottom: 3rem; }
.top-mv-btns { display: flex; align-items: center; gap: 1.2rem; }
.top-mv-btn{width: 260px; text-align: center;}
.top-mv-btn a{ display: block; padding: 15px; font-size: 1.8rem; font-weight: bold; border-radius: 5px; }
.top-mv-btn-red { background-color: #d94f2e; color: #fff; border: 1px solid #d94f2e;}
.top-mv-btn-red:hover{color: #d94f2e; background-color: #fff;}
.top-mv-btn-border{ background-color: #fff; color: #0e81c3; border: 1px solid #0e81c3; }
.top-mv-btn-border:hover{color: #fff; background-color: #0e81c3;}
.top-mv-img { flex-shrink: 0; width: 100vw;  align-self: stretch; margin: 0 auto; margin-left: calc(50% - 50vw); max-width: 1920px; display: none;}
.top-mv-img img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* =========================== バー =========================== */
.top-bar { background-color: #0F6698; }
.top-bar-inner {background-color: #092469; padding: 30px 0;  max-width: 1200px; margin: 0 auto; display: flex; justify-content: center; align-items: center; gap: 7rem; clip-path: polygon(4% 0, 100% 0, 96% 100%, 0 100%);}
.top-bar-item { display: flex; align-items: center; gap: 1.5rem; }
.top-bar-item i[class^="icon-"] { font-size: 7rem; color: #fff; }
.top-bar-text{font-size: 4rem; line-height: 1.2;}
.top-bar-num { font-size: 6rem; font-weight: bold; color: #fff; line-height: 1; }
.top-bar-text-main { display: block; font-size: 4rem; font-weight: 700; color: #f5c518; line-height: 1.3; }
.top-bar-text-sub { display: block; font-size: 4rem; color: #fff; font-weight: 700;}

/* =========================== インフォメーション =========================== */
.top-info { background-color: #0E81C3; padding: 4rem 0; }
.top-info-inner { max-width: 1720px; width: 90%; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; gap: 40px; }
.top-info-content { flex-shrink: 0; color: #fff; }
.top-info-title { font-size: clamp(3.5rem, 5vw, 4.5rem); font-weight: bold; line-height: 1.6; margin-bottom: 1.5rem; }
.top-info-link { font-size: 2rem; color: #fff; text-decoration: underline; }
.top-info-link:hover { opacity: 0.75; }
.top-info-cards { flex: 1; display: flex; gap: 20px;}
.top-info-card { display: block;overflow: hidden; transition: opacity 0.2s; }
.top-info-card:hover { opacity: 0.85; }
.top-info-card-img img { display: block; width: 100%; height: 140px; object-fit: cover; border-top-left-radius: 20px; border-top-right-radius: 20px;}
.top-info-card-name { padding: 15px; font-size: 2rem; font-weight: 700; color: #092469; text-align: center; background-color: #fff; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}

/* =========================== お悩みリスト =========================== */
.top-concern { background-color: #fff; padding: 5rem 0 3rem; }
.top-concern-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.top-concern-list { display: flex; flex-wrap: wrap; gap: 20px; margin: 0 auto; }
.top-concern-item { display: flex; align-items: center; width: calc((100% - 20px)/2); gap: 10px; background-color: #31A15F; color: #fff; font-size: 3rem; font-weight: bold; padding: 15px 30px; border-radius: 50px; }
.top-concern-item i[class^="icon-"] {font-size: 2rem; flex-shrink: 0; color: #fff; }

/* =========================== サービス紹介（イントロ） =========================== */
.top-intro { background-color: #fff; padding: 3rem 0 6rem; }
.top-intro-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.top-intro-title { font-size: 4rem; font-weight: 700; color: #222; line-height: 1.6; margin-bottom: 3rem; }
.top-intro-title-em { font-style: normal; background-color: #f5e034; padding: 0 0.2em; }
.top-intro-cards { display: flex;  gap: 2rem; margin-bottom: 3rem; }
.top-intro-card { display: block; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.1); transition: opacity 0.2s; }

.top-intro-card-img img { display: block; width: 100%; height: 200px; object-fit: cover; }
.top-intro-card-name { display: flex; align-items: center; gap: 0.8rem; padding: 10px; font-size: 2.3rem; font-weight: bold; color: #092469; background-color: #eee; justify-content: center;}
.top-intro-card-name i[class^="icon-"] { width: 20px; height: 20px; color: #0E81C3; flex-shrink: 0; }
.top-intro-text { font-size: 2rem; color: #222; line-height: 1.9; margin-bottom: 3.5rem; }
.top-intro-btn-wrap { text-align: center; width: 500px; max-width: 100%; margin: 0 auto;}
.top-intro-btn { display: block; background-color: #0F6698; color: #fff; font-size: 2rem; font-weight: bold; padding: 20px; border-radius: 4px; transition: opacity 0.2s; }
.top-intro-btn:hover { opacity: 0.85; }

/* =========================== なぜ私たちは =========================== */
.top-why { background-color: #f5f5f5; padding: 6rem 0; }
.top-why-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.top-why-title { font-size: 4.5rem; font-weight: 700; text-align: center; color: #222; margin-bottom: 2.5rem; }
.top-why-lead { font-size: 2rem; line-height: 1.8; margin-bottom: 2.5rem; }
.top-why-list { display: flex; gap: 30px; width: 90%; max-width: 1800px; margin: 0 auto 30px;}
.top-why-item { width: calc((100% - 60px)/3); display: flex; align-items: center; gap: 1rem; background-color: #31A15F; color: #fff; font-size: clamp(2rem, 2vw, 3rem); font-weight: bold; padding: 15px 30px; border-radius: 50px; }
.top-why-item i[class^="icon-"] { font-size: 3rem; margin-right: 10px; flex-shrink: 0; color: #fff; }
.top-why-sub { font-size: 2rem; margin-bottom: 2.5rem; }
.top-why-subtitle { font-size: 4rem; font-weight: 700; color: #0E81C3; margin-bottom: 1.5rem; }
.top-why-text { font-size: 2rem; line-height: 1.8; }
.top-why-text-em { font-style: normal; background-color: #f5e034; padding: 0 0.2em; }

/* =========================== 当社が選ばれる理由 =========================== */
.top-selected { background-color: #fff; padding: 60px 0}
.top-selected-inner { max-width: 1500px; margin: 0 auto; padding: 0 20px; }
.top-selected-title { font-size: clamp(3.5rem, 5vw, 4.5rem); font-weight: 700; text-align: center; color: #222; margin-bottom: 2.5rem; }
.top-selected-lead {max-width: 1160px; margin: 0 auto; font-size: 2rem; line-height: 1.8; margin-bottom: 4rem; }
.top-selected-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px; row-gap: 40px; margin-bottom: 5rem; }
.top-selected-card {position: relative; border: 2px solid #4caf50; border-radius: 8px; padding: 50px 30px; }
.top-selected-label {position: absolute; top: -20px; display: inline-block; background-color: #179A48; color: #fff; font-size: 2.2rem; font-weight: 700; padding: 5px 15px; border-radius: 50px; margin-bottom: 1.2rem; }
.top-selected-card-title { font-size: 4rem; font-weight: bold; color: #222; line-height: 1.4; margin-bottom: 1.5rem; }
.top-selected-card-mark {background-color: #E7DD43;}
.top-selected-card-list { list-style: none; display: flex; flex-direction: column; gap: 0.8rem; }
.top-selected-card-list li { font-size: 2rem; padding-left: 1.6rem; position: relative; line-height: 1.6; }
.top-selected-card-list li::before { content: ''; position: absolute; left: 0; top: 12px; padding: 4px;  background-color: #4caf50; border-radius: 100%;}
.top-selected-banner {position: relative; background-color: #0E81C3; padding: 30px 0; width: 1000px; max-width: 90%; margin: 0 auto; border-radius: 10px;}
.top-selected-banner-inner { display: flex; align-items: center; justify-content: center; gap: 3rem; }
.top-selected-banner-text { font-size: 3rem; font-weight: bold; color: #fff; line-height: 1.7; }
.top-selected-banner-em { font-style: normal; color: #f5c518; }
.top-selected-banner-img { position: absolute; right: -40px; top: 50%; transform: translateY(-50%); flex-shrink: 0; width: 135px; height: auto;}
.top-selected-banner-img img{width: 100%;}

/* =========================== プラン紹介 =========================== */
.top-plan-intro { background-color: #eee; padding: 60px 0; }
.top-plan-intro-inner {width: 90%; max-width: 1650px; margin: 0 auto; padding: 0 20px; }
.top-plan-intro-title { font-size: clamp(3.5rem, 5vw, 4.5rem); font-weight: 700; text-align: center; color: #222; margin-bottom: 3.5rem; }
.top-plan-intro-grid { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center;}
.top-plan-intro-card {width: calc((100% - 40px)/3); display: block; border: 1px solid #ddd; border-radius: 8px; overflow: hidden; background-color: #fff; transition: opacity 0.2s; }
.top-plan-intro-card:hover { opacity: 0.85; }
.top-plan-intro-card-img img { display: block; width: 100%; height: 160px; object-fit: cover; }
.top-plan-intro-card-name { padding: 15px; font-size: 2rem; font-weight: 700; color: #092469; text-align: center; line-height: 1.5; }

/* =========================== 料金例 =========================== */
.top-price { background-color: #f5f5f5; padding: 6rem 0; }
.top-price-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.top-price-title { font-size: clamp(3.5rem, 5vw, 4.5rem); font-weight: 700; text-align: center; color: #222; margin-bottom: 1rem; }
.top-price-lead { font-size: 1.5rem; text-align: center; margin-bottom: 3rem; }
.top-price-table { display: flex; background-color: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.08); margin-bottom: 2rem; }
.top-price-label { background-color: #1a3a5c; color: #fff; padding: 2.5rem 2rem; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; flex-shrink: 0; }
.top-price-label-name { font-size: 2rem; font-weight: bold; margin-bottom: 0.8rem; }
.top-price-label-sub { font-size: 1.1rem; line-height: 1.6; opacity: 0.85; }
.top-price-col { flex: 1; padding: 2rem 1rem; display: flex; flex-direction: column; align-items: center; gap: 1.2rem; border-left: 1px solid #e0e0e0; }
.top-price-day { display: inline-block; color: #fff; font-size: 2rem; font-weight: 700; padding: 5px 15px; border-radius: 50px; }
.top-price-day-red { background-color: #E12E2E; }
.top-price-day-blue { background-color: #4471CB; }
.top-price-day-teal { background-color: #0F9ED5; }
.top-price-day-green { background-color: #2FAD5D; }
.top-price-day-mint { background-color: #4ACEAD; }
.top-price-num { font-size: 2.8rem; font-weight: bold; color: #222; line-height: 1; }
.top-price-num span { font-size: 1.6rem; }
.top-price-btn{width: 185px; max-width: 100%; text-align: center;}
.top-price-btn a{display: block; color: #0f6698; background-color: #fff; border: 1px solid #0f6698; border-radius: 5px; font-size: 1.8rem; padding: 10px 0; font-weight: 700;}
.top-price-btn a:hover{color: #fff; background-color: #0F6698;}
/*
.top-price-btn-red { background-color: #e53935; color: #fff; }
.top-price-btn-blue { border: 2px solid #1e88e5; color: #1e88e5; }
.top-price-btn-teal { border: 2px solid #00acc1; color: #00acc1; }
.top-price-btn-green { border: 2px solid #43a047; color: #43a047; }
.top-price-btn-mint { border: 2px solid #26a69a; color: #26a69a; }
*/
.top-price-note { font-size: 2rem; font-weight: 700; }

/* =========================== サービス紹介 =========================== */
.top-service { padding: 7rem 0; background-color: #fff; }
.top-service .top-section-title { margin-bottom: 1rem; }
.top-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; margin-top: 4rem; }
.top-service-card { display: block; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); transition: transform 0.2s, box-shadow 0.2s; }
.top-service-card:hover { transform: translateY(-4px); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15); }
.top-service-card-img img { display: block; width: 100%; height: 180px; object-fit: cover; }
.top-service-card-name { padding: 1.2rem 1.5rem; font-size: 1.5rem; font-weight: bold; color: #333; text-align: center; background-color: #fff; }

/* =========================== 調査・分析の流れ =========================== */
.top-flow-intro { background-color: #fff; padding: 6rem 0; }
.top-flow-intro-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.top-flow-intro-title { font-size: clamp(3.5rem, 5vw, 4.5rem); font-weight: 700;; font-weight: bold; text-align: center; color: #222; margin-bottom: 3rem; }
.top-flow-tabs { display: flex; justify-content: center; gap: 0; margin-bottom: 4rem; }
.top-flow-tab { padding: 1rem 4rem; font-size: 1.5rem; font-weight: bold; border: 2px solid #0E81C3; background-color: #fff; color: #0E81C3; cursor: pointer; transition: background-color 0.2s, color 0.2s; }
.top-flow-tab:first-child { border-radius: 4px 0 0 4px; }
.top-flow-tab:last-child { border-radius: 0 4px 4px 0; border-left: none; }
.top-flow-tab.is-active { background-color: #0E81C3; color: #fff; }
.top-flow-content { display: none; }
.top-flow-content.is-active { display: block; }
.top-flow-steps { list-style: none; display: flex; align-items: flex-start; justify-content: center; gap: 2rem; }
.top-flow-step-item { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; width: 160px; position: relative; }
.top-flow-step-item:not(:last-child)::after { content: ''; position: absolute; top: 55px; left: calc(100% + 0.5rem); width: 1rem; height: 2px; background-color: #0E81C3; }
.top-flow-step-circle { position: relative; width: 120px; height: 120px; border-radius: 50%; background: linear-gradient(135deg, #2d7bc0 0%, #1a3a5c 100%); box-shadow: 0 0 0 6px rgba(14, 129, 195, 0.15); display: flex; align-items: center; justify-content: center; }
.top-flow-step-circle i[class^="icon-"] { font-size: 6rem;  color: #fff; }
.top-flow-step-circle::before{content: ""; width: 80%; height: 80%; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); border: 1px solid #fff; border-radius: 100%; opacity: 0.8;}
.top-flow-step-name { font-size: 2.2rem; font-weight: 700; color: #222; text-align: center; line-height: 1.6; }
.top-flow-step-name span { font-size: 1.8rem; font-weight: normal;}

/* =========================== 調査実績 =========================== */
.top-achievement { background-color: #eeeeee; padding: 6rem 0; }
.top-achievement-inner { max-width: 1350px; margin: 0 auto; padding: 0 20px; }
.top-achievement-title { font-size: clamp(3.5rem, 5vw, 4.5rem); font-weight: 700; text-align: center; color: #222; margin-bottom: 1.5rem; }
.top-achievement-count { display: flex; align-items: baseline; justify-content: center; gap: 1rem; margin-bottom: 4rem;}
.top-achievement-count-label { font-size: 3.8rem; font-weight: 700;}
.top-achievement-count-num { font-size: clamp(6rem, 6vw, 8rem); font-weight: 700; color: #092469; line-height: 1;  font-family: "Roboto", serif;}
.top-achievement-count-after { font-size: 3.8rem; font-weight: 700;}
.top-achievement-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.top-achievement-col-title { background-color: #0E81C3; color: #fff; font-size: 2rem; font-weight: bold; padding: 5px 15px; border-radius: 4px; margin-bottom: 1.5rem; }
.top-achievement-list { list-style: none; display: flex; flex-direction: column; gap: 0.7rem; }
.top-achievement-list li { font-size: 1.6rem; color: #222; padding-left: 1.4rem; position: relative; line-height: 1.5; }
.top-achievement-list li::before { content: ''; position: absolute; left: 0; top: 9px; padding: 4px;  background-color: #4caf50; border-radius: 100%;}

/* =========================== よくある質問 =========================== */
.top-faq { background-color: #fff; padding: 6rem 0; }
.top-faq-inner { max-width: 900px; margin: 0 auto; padding: 0 20px; }
.top-faq-title { font-size: 2.8rem; font-weight: bold; text-align: center; color: #222; margin-bottom: 4rem; }
.top-faq-list { display: flex; flex-direction: column; gap: 1.2rem; margin-bottom: 4rem; }
.top-faq-item { border-radius: 6px; overflow: hidden; }
.top-faq-q { display: flex; align-items: center; gap: 1.2rem; padding: 1.8rem 2rem; background-color: #f0f0f0; font-size: 1.5rem; color: #222; cursor: pointer; user-select: none; }
.top-faq-q-label { font-size: 3rem; font-weight: bold; color: #222; flex-shrink: 0; }
.top-faq-q-text { flex: 1; line-height: 1.6; font-size: 2rem; font-weight: 700;}
.top-faq-toggle { width: 32px; height: 32px; border-radius: 50%; background-color: #0E81C3; flex-shrink: 0; margin-left: auto; position: relative; }
.top-faq-toggle::before, .top-faq-toggle::after { content: ''; position: absolute; background-color: #fff; border-radius: 1px; transition: transform 0.3s; }
.top-faq-toggle::before { width: 14px; height: 2px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.top-faq-toggle::after { width: 2px; height: 14px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.top-faq-item.is-open .top-faq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.top-faq-a { display: none; padding: 2rem; font-size: 1.4rem; color: #444; line-height: 1.9; background-color: #f8f8f8; }
.top-faq-item.is-open .top-faq-a { display: block; }
.top-faq-btn-wrap { text-align: center; width: 500px; max-width: 100%; margin: 0 auto;}
.top-faq-btn { display: inline-block; background-color: #0F6698; color: #fff; font-size: 1.6rem; font-weight: bold; padding: 1.4rem 5rem; border-radius: 4px; transition: opacity 0.2s; }
.top-faq-btn:hover { opacity: 0.85; }


/* =========================== バナーリンク =========================== */
.top-banner-links { display: flex; }
.top-banner-link { flex: 1; position: relative; overflow: hidden; display: block; }
.top-banner-link img { display: block; width: 100%; height: 400px; object-fit: cover; transition: transform 0.4s; opacity: 0.7;}
.top-banner-link:hover img { transform: scale(1.05); }
.top-bnner-link-img::after { content: ''; position: absolute; width: 100%; height: 100%; top: 0; left: 0; background-color: #666; z-index: -1;}
.top-banner-link-body { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; color: #fff; text-align: center; white-space: nowrap;}
.top-banner-link-en { font-size: 1.5rem; font-style: italic; color: rgba(255,255,255,0.85); margin-bottom: 0.6rem; }
.top-banner-link-title { font-size: 4.5rem; font-weight: 700; margin-bottom: 1.5rem; line-height: 1.3; }
.top-banner-link-btn {width: 260px; text-align: center; display: inline-block; color: #15BB67; font-size: 2rem; font-weight: 700; padding: 10px; border-radius: 5px; background-color: #fff;}


/* =========================== お知らせ・アスベストコラム =========================== */
.top-posts { background-color: #fff; padding: 6rem 0; }
.top-posts-inner { max-width: 1100px; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; margin: 0 auto 30px;}
.top-posts-title { font-size: 2.2rem; font-weight: bold; color: #222; border-bottom: 2px solid #0E81C3; padding-bottom: 1rem; margin-bottom: 2rem; }
.top-posts-list { list-style: none; display: flex; flex-direction: column; gap: 0; margin-bottom: 1.5rem; }
.top-posts-item { padding: 1.4rem 0 1.4rem 1.8rem; border-bottom: 1px solid #e5e5e5; position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.6rem; }
.top-posts-item::before { content: ''; position: absolute; left: 0; top: 1.9rem; width: 8px; height: 8px; border-radius: 50%; background-color: #0E81C3; }
.top-posts-date { font-size: 1.3rem; color: #888; flex-shrink: 0; }
.top-posts-cats { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.top-posts-cat { font-size: 1.1rem; font-weight: bold; background-color: #3273DD; color: #fff; padding: 0.2rem 0.8rem; border-radius: 2px; white-space: nowrap; }
.top-posts-cat-information { background-color: #0E81C3; }
.top-posts-cat-important { background-color: #D94F2E; }
.top-posts-cat-law { background-color: #4CAF50; }
.top-posts-link { display: block; width: 100%; font-size: 1.4rem; color: #222; line-height: 1.6; margin-top: 0.4rem; }
.top-posts-link:hover { color: #0E81C3; text-decoration: underline; }
.top-posts-more { text-align: right; font-size: 1.3rem; }
.top-posts-more a { color: #0E81C3; text-decoration: none; }
.top-posts-more a:hover { text-decoration: underline; }

.top-posts-empty{font-size: 1.4rem; line-height: 1.6;}


/* セカンドページ共通 */
/* =========================== H1エリア =========================== */
.h1-wrapper { position: relative; background-color: #d6eaf6; background-image: url(/info/wp-content/uploads/h1-bg01.jpg); background-size: cover; background-position: center right; padding: 50px 0 70px; }
.breadcrumbs_wrapper { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.breadcrumbs { font-size: 1.2rem; color: #222; font-weight: 500; margin-bottom: 1.2rem; display: flex; flex-wrap: wrap; gap: 5px;}

.breadcrumbs a:hover { text-decoration: underline; }
.h1-tit-item { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.h1-tit-inner h1 { font-size: clamp(3.8rem, 5vw, 5rem); font-weight: bold; color: #0F6698; line-height: 1.4; }
.page-tit01 { display: block; }

/* =========================== コンテンツエリア =========================== */
.wrapper{padding-top: 140px;}
.anchor{display: block; position: absolute; margin-top: -140px; padding-top: 140px;}
/* =========================== ローカルナビ =========================== */
.lnavi { background-color: transparent; border: none; padding: 0; max-width: 1080px; margin: 40px auto; width: 94%;}
.lnavi nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 20px; }
.lnavi nav ul li{width: calc((100% - 40px)/3);}
.lnavi nav ul li a.anker { display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1.5rem; font-weight: 700; color: #0E45C3; text-decoration: none; padding: 16px 12px; border: 1px solid #0E45C3; border-radius: 6px; position: static; transition: background-color 0.2s, color 0.2s; }
.lnavi nav ul li a.anker::before { display: none; }
.lnavi nav ul li a.anker:hover { background-color: #0E45C3; color: #fff; text-decoration: none; }
.lnavi nav ul li.current-menu-item a.anker { background-color: #0E45C3; color: #fff; }

/* =========================== ページコンテンツ =========================== */
.page-wrapper {width: 100%; padding: 50px 0;}
.page-sec {width: 90%; max-width: 1200px; margin: 0 auto;}
.page-sec h2{ font-size: 4rem; font-weight: 700; color: #0e81c3; margin-bottom: 30px; padding-bottom: 15px; }
.page-sec h3{ font-size: 3rem; font-weight: 700; color: #222; margin-top: 40px; margin-bottom: 15px; padding-bottom: 5px; }
.page-sec p{font-size: 1.7rem; line-height: 1.9; color: #333; font-weight: 500;}

.company-table{max-width: 1080px; margin: 0 auto 50px;}
.company-table th,
.company-table td{border: none!important; padding: 15px!important; border-bottom: 1px solid #ccc!important; font-size: 1.8rem; font-weight: 400;}

.company-table a{text-decoration: underline; color: #0E81C3;}


/* =========================== プライバシーポリシー =========================== */
.policy-sec h2 { font-size: 4rem; font-weight: 700; color: #0e81c3; margin-bottom: 3rem; padding-bottom: 1.5rem; }
.policy-sec h3 { font-size: 3rem; font-weight: 700; color: #222; margin-top: 4rem; margin-bottom: 1.5rem; padding-bottom: 0.5rem; }
.policy-sec h4 { font-size: 1.7rem; font-weight: 700; color: #222; margin-top: 1.5rem; margin-bottom: 0.5rem; }
.policy-sec p { font-size: 1.7rem; line-height: 1.9; color: #333; margin-bottom: 1.5rem; font-weight: 500;}
.policy-sec ul { list-style: none; margin-bottom: 1.5rem; display: flex; flex-direction: column; gap: 0.8rem; }
.policy-sec ul > li { font-size: 1.7rem; line-height: 1.8; color: #333; padding-left: 1.5rem; position: relative; }
.policy-sec ul > li::before { content: ''; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; border-radius: 50%; background-color: #333; }
.policy-sec ol { list-style: decimal; padding-left: 2.5rem; display: flex; flex-direction: column; gap: 0.8rem; margin-bottom: 1.5rem; }
.policy-sec ol > li { font-size: 1.7rem; line-height: 1.8; color: #333; padding-left: 0.5rem; }
.policy-sec ol > li > p { margin-bottom: 0.8rem; }
.policy-sec ol > li > ul { margin-top: 0.5rem; margin-bottom: 0; }

/* 特定商取引法に基づく表記 */
.law-sec p strong{font-weight: 700;}


/* 会社案内 */
.company-office{display: flex; flex-wrap: wrap; gap: 30px; max-width: 1080px; margin: 0 auto;}
.company-office-item{width: calc((100% - 60px)/3);}
.company-office-item h4{font-size: 2.5rem; font-weight: 700; margin-bottom: 5px;}
.company-office-item p{font-size: 1.6rem;}
.president-name {text-align: center; font-weight: 700; font-size: 1.8rem;}
.greeting-txt p{line-height: 2;}

.comapny-philosophy p{font-size: 2rem;}
.comapny-philosophy-topic{margin-bottom: 30px;}
.comapny-philosophy-topic p strong{font-size: 3.5rem; font-weight: 900;}
.comapny-philosophy-item{margin-bottom: 30px;}
.comapny-philosophy-item p strong{font-size: 3rem; font-weight: 700; margin-bottom: 20px;}

/* 品質管理方針 */
.quality-term{margin-bottom: 50px;}
.quality-term p{width: 90%; margin: 0 auto; max-width: 1080px;}
.quality-flex{display: flex; gap: 25px; max-width: 1080px; margin: 0 auto;}
.quality-flex-item{width: calc((100% - 50px)/3); border-radius: 3px; box-shadow: 1px 0px 10px 2px rgba(14, 129, 195, 0.24); padding: 50px 30px 30px;}
.quality-flex-item p strong{font-size: 3.2rem; font-weight: 700; margin-bottom: 10px;}

/*  メディア掲載  */
.media-tabs { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 40px; gap: 20px;}
.media-tab { width: calc((100% - 80px)/5); padding: 15px; font-size: 1.5rem; font-weight: 700; border: 1px solid #0E45C3; background-color: #fff; color: #0E45C3; cursor: pointer; transition: background-color 0.2s, color 0.2s; border-radius: 5px;}
.media-tab.is-active { background-color: #0E45C3; color: #fff; }
.media-tab:hover:not(.is-active) { background-color: #e8f4fc; }
.media-year-title { font-size: 3rem; font-weight: 700; color: #0E81C3; margin-bottom: 30px; padding-bottom: 10px;}
.media-article { display: flex; gap: 40px; padding: 35px 0; border-bottom: 1px solid #ddd; align-items: flex-start; }
.media-article:last-child { border-bottom: none; }
.media-article-imgs { flex-shrink: 0; width: 40%; display: flex; flex-direction: column; gap: 8px; }
.media-article-imgs--multi { width: 320px; flex-direction: row; flex-wrap: wrap; }
.media-article-imgs img { display: block; width: 100%; height: auto; border: 1px solid #eee; }
.media-article-imgs--multi img { width: calc(50% - 4px); }
.media-article-body { flex: 1; }
.media-article-title { font-size: 2rem; font-weight: 700; color: #222; margin-bottom: 15px; line-height: 1.6; padding-left: 0; border: none; margin-top: 0; }
.media-article-date { font-size: 1.6rem; font-weight: 400; color: #555; }
.media-article-detail { font-size: 1.7rem; line-height: 1.9; color: #333; margin-bottom: 20px; }
.media-article-link a { display: inline-block; background-color: #0E81C3; color: #fff; font-size: 1.7rem; font-weight: 700; padding: 12px 30px; border-radius: 4px; transition: opacity 0.2s; }
.media-article-link a:hover { opacity: 0.8; }
.media-lightbox { display: none; position: fixed; inset: 0; background-color: rgba(0,0,0,0.85); z-index: 9999; align-items: center; justify-content: center; }
.media-lightbox.is-open { display: flex; }
.media-lightbox-img { max-width: 90vw; max-height: 90vh; object-fit: contain; box-shadow: 0 4px 30px rgba(0,0,0,0.5); }
.media-lightbox-close { position: absolute; top: 20px; right: 24px; background: none; border: none; color: #fff; font-size: 4rem; line-height: 1; cursor: pointer; padding: 0; transition: opacity 0.2s; }
.media-lightbox-close:hover { opacity: 0.7; }

/* 法令通達 */
.decree-sec{max-width: 1300px;}
.decree-topic{max-width: 1000px; margin: 0 auto 50px;}
.decree-topic p{font-size: 2rem; margin-bottom: 20px;}
.decree-btn{width: 440px; max-width: 100%; }
.decree-btn a{display: block; color: #fff; background-color: #092469; font-size: 2rem; font-weight: 700; border: 1px solid #092469; border-radius: 5px; padding: 10px; text-align: center;}
.decree-btn a:hover{color: #092469; background-color: #fff;}

.decree-term{margin-bottom: 60px;}
.decree-table{width: 100%; border-collapse: collapse; table-layout: fixed;}
.decree-table thead th{padding: 15px; border-bottom: 2px solid #092469; color: #092469; font-size: 2rem; font-weight: 700; text-align: left;}
.decree-th-day{width: 13%;}
.decree-th-name{width: 28%;}
.decree-th-about{width: 38%;}
.decree-th-dl{width: 21%;}
.decree-table tbody tr{border-bottom: 1px solid #ddd;}
.decree-table tbody tr:last-child{border-bottom: none;}
.decree-table td{padding: 20px 15px; font-size: 1.6rem; vertical-align: middle; line-height: 1.7;}
.decree-table-day{color: #555;}
.decree-table-name{font-weight: 700; color: #222;}
.decree-table-about{color: #555;}
.decree-table-dl{text-align: center;}
.decree-item-dl{display: inline-block; background-color: #4caf50; color: #fff; font-size: 1.5rem; font-weight: 700; padding: 10px 20px; border-radius: 4px; border: 1px solid #4caf50; white-space: nowrap; border-radius: 40px;}
.decree-item-dl:hover{background-color: #fff; color: #4caf50;}



/* サイトマップ */
.sitemap-list { list-style: none; display: flex; flex-direction: column; gap: 30px; }
.sitemap-list > li { font-size: 1.9rem; font-weight: bold; color: #333; padding-left: 2rem; position: relative; }
.sitemap-list > li::before { content: ''; position: absolute; padding: 6px; top: 9px; left: 0; background-color: #0E81C3; border-radius: 100%;}
.sitemap-list > li > a { text-decoration: none; }
.sitemap-list > li > a:hover { text-decoration: underline; }
.sitemap-sub-list { list-style: none; display: flex; flex-direction: column; gap: 0.7rem; margin-top: 10px; }
.sitemap-sub-list > li { font-size: 1.6rem; font-weight: normal; color: #333; padding-left: 1.8rem; position: relative; }
.sitemap-sub-list > li::before { content: ''; position: absolute; padding: 5px; top: 8px; left: 0; background-color: #179A48; border-radius: 100%;}
.sitemap-sub-list > li > a { text-decoration: none; }
.sitemap-sub-list > li > a:hover { text-decoration: underline; }
.sitemap-sub-sub-list { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.5rem; padding-left: 1.8rem; }
.sitemap-sub-sub-list > li { font-size: 1.6rem; font-weight: 700; color: #333; padding-left: 1.8rem; position: relative; }
.sitemap-sub-sub-list > li::before { content: '';  position: absolute; left: 0; top: 10px; background-color: #179A48; line-height: 1.8; padding: 3px; border-radius: 100%;}
.sitemap-sub-sub-list > li > a { text-decoration: none; }
.sitemap-sub-sub-list > li > a:hover { text-decoration: underline; }


/* よくある質問ページ */
.faq-sec-block { margin-bottom: 6rem; }
.faq-anchor { display: block; visibility: hidden; position: relative; top: -170px; }
.faq-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 3rem; }
.faq-item { border-radius: 6px; overflow: hidden; }
.faq-q { display: flex; align-items: center; gap: 16px; padding: 20px 24px; background-color: #ebf4fc; cursor: pointer; user-select: none; transition: background-color 0.2s; }
.faq-q:hover { background-color: #d6e9f8; }
.faq-q-label { font-size: 2.2rem; font-weight: 700; color: #0E81C3; flex-shrink: 0; line-height: 1; }
.faq-q-text { flex: 1; font-size: 1.8rem; font-weight: 700; color: #222; line-height: 1.6; }
.faq-toggle { width: 32px; height: 32px; border-radius: 50%; border: 2px solid #0E81C3; flex-shrink: 0; position: relative; background-color: #fff;}
.faq-toggle::after { content: ''; position: absolute; left: 50%; top: 40%; transform: translate(-50%, -50%) rotate(45deg); width: 8px; height: 8px; border-right: 2px solid #0E81C3; border-bottom: 2px solid #0E81C3; transition: transform 0.3s; }
.faq-item.is-open .faq-toggle::after { transform: translate(-50%, -20%) rotate(-135deg); }
.faq-a { display: none; align-items: flex-start; gap: 16px; padding: 24px; background-color: #fff; border: 1px solid #ebf4fc; border-top: none; }
.faq-item.is-open .faq-a { display: flex; }
.faq-a-label { font-size: 2.2rem; font-weight: 700; color: #4caf50; flex-shrink: 0; line-height: 1; margin-top: 2px; }
.faq-a-text { font-size: 1.7rem; line-height: 1.9; color: #333; }

.faq-a-text a{text-decoration: underline; color: #5A8DEE}

/* お問合せフォーム */
.page-sec .contact_item{display: flex; width: 100%; max-width: 1000px; margin: 0 auto; padding: 20px 20px; border-bottom: 1px solid #ccc;}
.page-sec .contact_tit{width: 35%;  font-weight: 700; position: relative; margin-left: 80px; }
.page-sec .contact_tit p{font-size: 18px; line-height: initial;}
.page-sec .contact_tit span{position: absolute;  background-color: #E02E30; color: #fff; margin-right: 15px; border: 1px solid #E02E30; padding: 4px 8px; left: -80px; top: -5px; font-size: 18px;}
.contact_txt,
.contact_adress,
.contact_txtarea{width: 65%;}
.contact_txt input{font-size: 20px; background: #f7f7f7; padding: 8px; border: 1px solid #ccc;  width: 80%;}
.contact_txtarea textarea{font-size: 20px; padding: 8px; background: #f7f7f7; border: 1px solid #ccc;  width: 80%;}
.contact_adress_sub p{padding-bottom: 15px;}
.contact_adress_sub span{display: block;}
.contact_adress input{background: #f7f7f7; border: 1px solid #ccc; height: 35px;  font-size: 20px; }
.contact_submit{border-bottom: none;}
.contact_submit_btn{text-align: center;}
.contact_submit_btn p{text-align: center;}


input[type="checkbox"]{float: left;}
.contact_check{}
.contact_submit .contact_tit{width: 30%;}
.wpcf7-spinner{display: block;}

.form_sec{max-width: 1000px; margin: 0 auto; padding-bottom: 80px;}
.form_tit{position: relative; max-width: 1000px; margin: 0 auto 100px;}
.form_tit01{ position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  width: 140px;
  padding: 4px 0;
  border-radius: 18px;
  background-color: #5083CF;}

.form_tit02{font-size: 4rem;
  font-weight: 500;
  display: block;
  text-align: center;
  padding: 30px 0;
  border-bottom: 2px solid #333;
  border-top: 2px solid #5083CF;}

.main .nf-form-content .list-select-wrap .nf-field-element>div, .main .nf-form-content input:not([type=button]), .main .nf-form-content textarea{color: #333;}
.main .nf-form-content .list-select-wrap .nf-field-element>div:focus, .main .nf-form-content input:not([type=button]):focus, .main .nf-form-content textarea:focus{color: #333;}

.wpcf7-turnstile{text-align: center; margin: 20px 0;}


/* テキスト・メール・電話番号・住所など */
.contact_txt input[type="text"],
.contact_txt input[type="email"],
.contact_txt input[type="tel"],
.contact_txt input[type="url"],
.contact_txt input[type="number"],
.contact_txt textarea{
  width:100%;
  max-width:600px;
  height:48px;
  padding:0 15px;
  border:1px solid #ccc;
  border-radius:4px;
  font-size: 1.6rem;
  line-height:1.5;
  color:#333;
  box-sizing:border-box;
}

/* textareaだけ高さを変更 */
.contact_txt textarea{
  height:160px;
  padding:12px 15px;
}

/* SELECT共通 */
.contact_txt .wpcf7-form-control-wrap:has(select){
  position:relative;
  display:inline-block;
  width:100%;
  max-width:240px;
}

.contact_txt select{
  width:100%;
  height:48px;
  padding:0 40px 0 15px;
  border:1px solid #ccc;
  border-radius:4px;
  background:#fff;
  font-size:16px;
  line-height:1.5;
  color:#333;
  box-sizing:border-box;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}

/* SELECTの矢印 */
.contact_txt .wpcf7-form-control-wrap:has(select)::after{
  content:"";
  position:absolute;
  right:15px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid #333;
  border-bottom:2px solid #333;
  transform:translateY(-65%) rotate(45deg);
  pointer-events:none;
}

/* ラジオボタン・チェックボックス共通 */
.contact_check .wpcf7-list-item{
  display:inline-block;
  margin:0 10px 10px 0;
}

.contact_check .wpcf7-list-item label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #ddd;
  border-radius:4px;
  padding:8px 12px;
  background:#fff;
  cursor:pointer;
  box-sizing:border-box;
}

.contact_check input[type="radio"],
.contact_check input[type="checkbox"]{
  width:16px;
  height:16px;
  margin:0;
}

/* 選択済みの見た目 */
.contact_check .wpcf7-list-item label:has(input[type="radio"]:checked),
.contact_check .wpcf7-list-item label:has(input[type="checkbox"]:checked){
  border-color:#333;
  background:#f5f5f5;
}

/* エラー時 */
.contact_txt .wpcf7-not-valid{
  border-color:#c00 !important;
}

/* エラーメッセージ */
.contact_txt .wpcf7-not-valid-tip{
  margin-top:6px;
  font-size:14px;
  color:#c00;
}
.contact-submit-area{
  display:flex;
  justify-content:center;
  gap:20px;
  margin-top: 30px;
}

.contact_submit_btn,
.contact_reset_btn{
  display:inline-block;
  width: 120px;
}
.contact_submit_btn input,
.contact_reset_btn input{
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  border: none;
  letter-spacing: 1px;
  cursor: pointer;
  font-size: 1.8rem;
}
.contact_reset_btn input{color: #fff; background-color: #14B595;}

.contact_submit_btn input{background-color: #0E81C3; color: #fff; border: none; }


.contact_check .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.contact_check .wpcf7-list-item {
  display: block;
  margin: 0;
}

.contact_check .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.contact_check input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin: 0;
  flex-shrink: 0;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #cfcfcf;
  background: #f2f2f2;
  border-radius: 0;
  position: relative;
}

.contact_check input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 12px;
  border: solid #555;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.wpcf7-spinner{display: none;}

.contact_check .request_block{padding:20px 0;border-bottom:1px solid #ccc;}
.contact_check .request_block:first-child{padding-top:0;}
.contact_check .request_block:last-child{border-bottom:none;padding-bottom:0;}
.contact_check .request_head{font-weight:bold;font-size:18px;line-height:1.6;margin-bottom:12px;}
.contact_check .request_note{margin:0 0 12px;line-height:1.6;}
.contact_check .wpcf7-list-item{display:inline-block;margin:0 10px 10px 0;}
.contact_check .wpcf7-list-item label{display:inline-flex;align-items:center;gap:8px;border:1px solid #ddd;border-radius:4px;padding:8px 12px;background:#fff;cursor:pointer;}
.contact_check input[type="checkbox"]{width:16px;height:16px;}




/* サンクスページ */
.recruit_thanks{font-size: 1.6rem; line-height: 3rem;}

/* ----------------------------------------------------------
 初めての方へ
---------------------------------------------------------- */

/* MV */
.first-mv { background: #fff; overflow: hidden; position: relative; padding: 60px 0;}
.first-mv-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; min-height: 460px; }
.first-mv-content { flex: 1;  position: relative; z-index: 1;}
.first-mv-title { font-size: 3.6rem; font-weight: 700; color: #0E81C3; line-height: 1.6; margin-bottom: 40px; }
.first-mv-txt{font-size: 2rem; margin-bottom: 20px;}
.first-mv-btns { display: flex; gap: 20px; }
.first-mv-btn { width: 270px; text-align: center; }
.first-mv-btn a { display: block; padding: 15px; font-size: 1.8rem; font-weight: 700; border-radius: 5px; color: #092469; background-color: #fff; border: 1px solid #092469;}
.first-mv-btn a:hover{color: #fff; background-color: #092469;}
.first-mv-img { flex-shrink: 0; width: 55%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); max-width: 700px;}
.first-mv-img img { display: block; width: 100%; height: auto; }

/* MVバー */
.first-mv-bar { background-color: #092469; position: relative; width: 70%; max-width: 1200px;}
.first-mv-bar-inner { max-width: 1000px; margin: 0 auto; padding: 28px 20px; display: flex; justify-content: right; align-items: center; gap: 60px; }
.first-mv-bar-item { display: flex; flex-direction: row; align-items: center; gap: 15px; }
.first-mv-bar-item i { font-size: 5rem; color: #fff; flex-shrink: 0; }
.first-mv-bar-item-text { display: flex; flex-direction: column; }
.first-mv-bar-label { font-size: 2.2rem; font-weight: 700; color: #f5c518; line-height: 1.3; }
.first-mv-bar-sub { font-size: 2.2rem; font-weight: 700; color: #fff; line-height: 1.3; }
.first-mv-bar-num { font-size: 6rem; font-weight: 700; color: #fff; font-family: "Roboto", serif; line-height: 1; }

/* 共通タイトル */
.first-sec-title { font-size: 4rem; font-weight: 900; color: #222; text-align: center; margin-bottom: 50px; }

/* お困りごと */
.first-concern { background-color: #e8eef7; padding: 70px 0; }
.first-concern-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.first-concern-grid { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 40px; }
.first-concern-card { width: calc((100% - 40px) / 3); background-color: #fff; border-radius: 8px; padding: 25px 20px; display: flex; align-items: center; gap: 20px; box-shadow: 0 2px 6px rgba(0,0,0,0.06); }
.first-concern-card-icon { flex-shrink: 0; width: 60px; height: 60px; }
.first-concern-card-icon img { width: 100%; height: 100%; object-fit: contain; }
.first-concern-card-text { font-size: 1.8rem; font-weight: 700; color: #092469; line-height: 1.6; }
.first-concern-lead { font-size: 2.8rem; font-weight: 700; color: #092469; text-align: center; }

/* 調査が必要なケース */
.first-case { background-color: #fff; padding: 70px 0; }
.first-case-inner { max-width: 1200px; margin: 0 auto; max-width: 94%;}
.first-case-grid { display: flex; gap: 20px; flex-wrap: wrap;}
.first-case-card { flex: 1; border: 1px solid #dce8f0; border-radius: 8px; padding: 30px 20px; }
.first-case-card-icon { text-align: center; margin-bottom: 20px;  display: flex; align-items: center; justify-content: center; }
.first-case-card-icon img { max-width: 150px; object-fit: contain; }
.first-case-card-title { font-size: 2.2rem; font-weight: 700; color: #092469; margin-bottom: 15px; line-height: 1.5; text-align: center;}
.first-case-card-text { font-size: 1.5rem;  line-height: 1.8; }

/* 調査の基本 */
.first-basic { background-color: #e8eef7; padding: 70px 0; }
.first-basic-inner { max-width: 1200px; margin: 0 auto; width: 90%;}
.first-basic-grid { display: flex; gap: 30px; margin-bottom: 40px; }
.first-basic-card { flex: 1; }
.first-basic-card-img img { display: block; width: 100%; object-fit: cover; border-radius: 20px 20px 0 0; }
.first-basic-card-label { font-size: 2rem; font-weight: 700; color: #092469; text-align: center; padding: 15px; background-color: #fff; border-radius: 0 0 6px 6px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.first-basic-card-label i { font-size: 2.2rem; color: #092469; }
.first-basic-text { font-size: 1.7rem; color: #333; line-height: 2; }



/*  選ばれる理由 */
.reason-tit { display: flex; align-items: center; gap: 15px; margin-bottom: 40px; }
.reason-tit01 { display: inline-block; background-color: #179A48; color: #fff; font-size: 2.2rem; font-weight: 700; padding: 6px 22px; border-radius: 50px; flex-shrink: 0; }
.reason-tit02 { font-size: clamp(3.5rem, 4vw, 5rem); font-weight: 900; color: #222; line-height: 1.3; }
.yellow { background: linear-gradient(transparent 55%, #f5e034 55%); }
.reason-summary-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.reason-summary-grid { display: flex; gap: 20px; margin-bottom: 80px;}
.reason-summary-card { flex: 1; background-color: #fff; border: 1px solid #d6e8f5; border-radius: 10px; padding: 25px 20px 0; display: flex; flex-direction: column; align-items: center; box-shadow: 0 2px 12px rgba(14, 129, 195, 0.10); }
.reason-summary-label { display: inline-block; background-color: #179A48; color: #fff; font-size: 2.2rem; font-weight: 700; padding: 6px 22px; border-radius: 50px; margin-bottom: 20px; }
.reason-summary-icon { width: 100%; display: flex; align-items: center; justify-content: center; min-height: 150px; margin-bottom: 15px; overflow: hidden; border-radius: 6px; }
.reason-summary-icon img {}
.reason-sec .reason-summary-title { font-size: 2.2rem; font-weight: 700; color: #092469; text-align: center; line-height: 1.5; margin-bottom: 15px; }
.reason-sec .reason-summary-text { font-size: 1.5rem; color: #555; line-height: 1.9; margin-bottom: 20px; flex: 1; width: 100%; }
.reason-summary-btn { width: 80%; text-align: center; margin: 0 auto;}
.reason-summary-btn a { display: flex; justify-content: center; align-items: center; background-color: #0E81C3; padding: 15px; border-radius: 4px; transition: opacity 0.2s; }
.reason-summary-btn a:hover { opacity: 0.8; }
.reason-summary-btn-arrow { display: block; width: 10px; height: 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); margin-top: -5px; }
.reason-flex h3{margin-top: 0;}

.item-none{display: none;}

/* 料金・プラン */
.price-sec{width: 100%; max-width: initial;}
.price-topic{width: 90%; max-width: 1280px; margin: 0 auto 60px;}
.price-topic-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; background-color: #e8f2fb; padding: 25px 40px; border-radius: 8px; margin-top: 30px; }
.price-bottom-head { font-size: 2.8rem; font-weight: 700; color: #0e81c3; white-space: nowrap; flex-shrink: 0; }
.price-topic-btns { display: flex; gap: 12px; flex-shrink: 0; }
.price-topic-btn { min-width: 220px; text-align: center; }
.price-topic-btn a { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 16px 20px; border-radius: 6px; font-size: 1.8rem; font-weight: 700; color: #fff; }
.price-topic-btn a:hover { opacity: 0.85; }
.price-topic-btn-violet { background-color: #092469; }
.price-topic-btn-olive { background-color: #8b9d2e; }
.price-topic-btn-red { background-color: #d94f2e; }
.price-topic-btn i { font-size: 2rem; }

.price-menu{background-color: #ECF0FA;}
.price-menu .top-plan-intro-card-name{font-size: 2rem; color: #092469; font-weight: 700;}

.price-guide {width: 90%; max-width: 1280px; margin: 0 auto 60px; padding: 50px 0 0;}
.price-guide-table { width: 100%; border-collapse: collapse; }
.price-guide-table thead th { padding: 15px 20px; border-bottom: 2px solid #0e81c3; color: #092469; font-size: 2.2rem; font-weight: 700; text-align: left; }
.price-guide-th-worry { width: 58%; }
.price-guide-th-recommend { width: 42%; }
.price-guide-table tbody tr { border-bottom: 1px solid #ddd; }
.price-guide-table tbody td { padding: 20px; font-size: 1.9rem; font-weight: 700; line-height: 1.7; vertical-align: middle; }
.price-guide-em { background-color: #f5e034; font-style: normal; }
.price-guide-service-name { font-weight: 700; margin-right: 10px; }
.price-guide-btn { display: inline-block; border: 1px solid #179a48; color: #179a48; font-size: 1.4rem; font-weight: 700; padding: 4px 20px; border-radius: 30px; white-space: nowrap; }
.price-guide-btn:hover { background-color: #179a48; color: #fff; }

.price-list { width: 90%; max-width: 1280px; margin: 0 auto 60px;}
.price-list-table { width: 100%; border-collapse: collapse; }
.price-list-table thead th { padding: 15px 20px; border-bottom: 2px solid #0e81c3; color: #0e81c3; font-size: 2.2rem; font-weight: 700; text-align: left; }
.price-list-th-service { width: 20%; }
.price-list-th-price { width: 27%; }
.price-list-th-delivery { width: 19%; }
.price-list-th-for { width: 34%; }
.price-list-table tbody tr { border-bottom: 1px solid #ddd; }
.price-list-table tbody td { padding: 20px; font-size: 1.7rem; line-height: 1.7; vertical-align: middle; }
.price-list-service-name { font-weight: 700; display: block; margin-bottom: 8px; }

.price-faq { width: 90%; max-width: 1280px; margin: 0 auto 60px;}

/*  調査・分析の流れ */
.flow-step { max-width: 1200px; margin: 0 auto;display: flex; flex-direction: column; gap: 80px;}
.flow-step-item { margin-bottom: 10px; background-color: #ECF0FA; padding: 70px 50px 30px; position: relative;}
.flow-step-item-number { display: inline-block; background-color: #0E81C3; color: #fff; font-size: 1.5rem; font-weight: 400; padding: 4px 16px; border-radius: 4px; position: absolute; left: 0; top: 30px; width: 120px; text-align: center;}
.flow-step-item h3 { font-size: 3rem; font-weight: 700; margin-top: 0; color: #0E45C3; margin-bottom: 20px; line-height: 1.5; }
.flow-step-item h3 span { font-size: 2rem; font-weight: 700; }
.flow-step-item > p { font-size: 1.8rem; line-height: 1.9; color: #333; margin-bottom: 20px; }
.flow-step-contact { background-color: #fff; border-radius: 6px; padding: 30px 40px; display: flex; align-items: center; gap: 40px; }
.flow-step-contact-tel { display: flex; flex-direction: column; border-right: 1px solid #ccc; padding-right: 40px; flex-shrink: 0; }
.flow-step-contact-tel-number { display: flex; align-items: center; gap: 10px; }
.flow-step-contact-tel-number i { font-size: 4rem; color: #333; }
.flow-step-contact-tel-number img{width: 80px; height: auto;}
.flow-step-contact-tel-num { font-size: 4rem; font-weight: 700; font-family: "Roboto", serif; color: #3273dd; letter-spacing: 0.05em; }
.flow-step-contact-tel-time { font-size: 1.3rem; color: #666; margin-top: 5px; text-align: right; }
.flow-step-contact-btns { display: flex; gap: 15px; }
.flow-step-contact-btn a { display: flex; align-items: center; padding: 20px 25px; border-radius: 6px; color: #fff; font-weight: 700; font-size: 1.8rem; text-align: center; justify-content: center;}
.flow-step-contact-btn i { font-size: 2.2rem; margin-right: 8px; }
.flow-step-contact-btn-olive a { background-color: #8b9d2e; }
.flow-step-contact-btn-olive a:hover { opacity: 0.85; }
.flow-step-contact-btn-red a { background-color: #d94f2e; }
.flow-step-contact-btn-red a:hover { opacity: 0.85; }
.flow-step-contact-btn-green a { background-color: #4caf50; }
.flow-step-contact-btn-green a:hover { opacity: 0.85; }
.flow-step-contact-btn-teal a { background-color: #0F6698; }
.flow-step-contact-btn-teal a:hover { opacity: 0.85; }
.flow-step-contact-btn-navy a { background-color: #092469; }
.flow-step-contact-btn-navy a:hover { opacity: 0.85; }
.flow-step-address { background-color: #fff; border: 1px solid #ddd; border-radius: 6px; padding: 25px 30px; max-width: 610px;}
.flow-step-address p { font-size: 1.7rem; color: #333; margin-bottom: 0; }
.flow-step-item:not(:last-child)::after { content: ''; display: block; margin: 20px auto 0; width: 0; height: 0; border-left: 60px solid transparent; border-right: 60px solid transparent; border-top: 18px solid #A1C9E4; position: absolute; left: 50%; bottom: -50px; transform: translateX(-50%);}


/* お客様の声 */
.voice-archive-contents { padding: 50px 0 80px; }
.voice-archive-inner { max-width: 1200px; margin: 0 auto;}
.voice-archive-grid { display: flex; flex-wrap: wrap; gap: 30px; margin-bottom: 50px; }
.voice-archive-card { width: calc((100% - 60px) / 3); }
.voice-archive-card-link { display: block; text-decoration: none; color: inherit; transition: opacity 0.2s; }
.voice-archive-card-link:hover { opacity: 0.8; }
.voice-archive-card-img { overflow: hidden; }
.voice-archive-card-img img { display: block; width: 100%; object-fit: cover; }
.voice-archive-card-body { padding: 12px 0 0; }
.voice-archive-topic { font-size: 2rem; font-weight: 700; color: #0e81c3; line-height: 1.6; margin-bottom: 8px; }
.voice-archive-name { font-size: 1.6rem;  padding-left: 16px; position: relative; line-height: 1.6; font-weight: 700;}
.voice-archive-name::before { content: ''; position: absolute; left: 0; top: 8px; padding: 5px; border-radius: 50%; background-color: #23D28E; }
.voice-archive-none { font-size: 1.6rem; }


.prevnext { display: flex; justify-content: space-between; align-items: center; margin-top: 40px; }
.prevnext p { font-size: 1.4rem; }
.prevnext a { color: #0E81C3; font-weight: 700; }
.prevnext a:hover { text-decoration: underline; }
.wp-pagenavi { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 50px; flex-wrap: wrap; }
.wp-pagenavi a, .wp-pagenavi span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 8px; font-size: 1.4rem; border: 1px solid #ddd; border-radius: 4px; color: #333; }
.wp-pagenavi a { color: #0E81C3; text-decoration: none; transition: background-color 0.2s, color 0.2s; }
.wp-pagenavi a:hover { background-color: #0E81C3; color: #fff; border-color: #0E81C3; }
.wp-pagenavi span.current { background-color: #0E81C3; color: #fff; border-color: #0E81C3; font-weight: 700; }
.wp-pagenavi span.pages { border: none; color: #888; font-size: 1.3rem; }
.wp-pagenavi span.extend { border: none; color: #888; }

.voice-sidebar {max-width: 500px; margin: 0 auto;}
.voice-detail-inner .voice-sidebar-widget { padding: 0; }
.voice-detail-inner .voice-sidebar-title { font-size: 2rem; font-weight: 700; color: #fff; background-color: #0E81C3; padding: 10px 15px; margin-bottom: 20px; border-radius: 5px;}
.voice-detail-inner .voice-sidebar-list { list-style: none; display: flex; flex-direction: column; gap: 0; }
.voice-detail-inner .voice-sidebar-item { border-bottom: 1px solid #dde8f2; }
.voice-detail-inner .voice-sidebar-item:last-child { border-bottom: none; }
.voice-detail-inner .voice-sidebar-item-link { display: block; text-decoration: none; color: inherit; transition: opacity 0.2s; }
.voice-detail-inner .voice-sidebar-item-link:hover { opacity: 0.8; }
.voice-detail-inner .voice-sidebar-item-img { overflow: hidden; }
.voice-detail-inner .voice-sidebar-item-img img { display: block; width: 100%; height: auto; object-fit: cover; }
.voice-detail-inner .voice-sidebar-item-body { padding: 12px 15px; }
.voice-detail-inner .voice-sidebar-item-topic { font-size: 1.7rem; font-weight: 700; color: #0e81c3; line-height: 1.6; margin-bottom: 6px; font-weight: 700;}
.voice-detail-inner .voice-sidebar-item-name { font-size: 1.4rem; color: #555; padding-left: 14px; position: relative; line-height: 1.6; font-weight: 700;}
.voice-detail-inner .voice-sidebar-item-name::before { content: ''; position: absolute; left: 0; top: 7px; padding: 4px; border-radius: 50%; background-color: #23D28E; }



/* お客様の声 詳細 */
.voice-detail-inner { display: flex; gap: 80px; }
.voice-detail-left { width: 70%; }
.voice-detail-right { width: 30%; }
.voice-detail-left h2 { font-size: clamp(2.8rem, 5vw, 4rem); }
.voice-detail-left p { font-size: 1.8rem; margin-bottom: 20px; }
.voice-detail-inner .voice-detail-balloon{font-size: 2rem; font-weight: 700; padding: 10px ;}

/* 調査実績 */
.achievements-term{margin-bottom: 50px;}
.achievements-sec .achievements-number-grid { display: flex; gap: 25px; }
.achievements-sec .achievements-number-card { width: calc((100% - 75px)/4); background-color: #EAEDF6; border-radius: 6px; padding: 40px 20px 35px; text-align: center; }
.achievements-sec .achievements-number-card i[class^="icon-"] { font-size: 7rem; color: #0E45C3; display: block; margin-bottom: 35px; }
.achievements-sec .achievements-number-label { font-size: 2.8rem; font-weight: 700; color: #092469; margin-bottom: 10px; }
.achievements-sec .achievements-number-value { font-size: clamp(5rem, 4vw, 8rem); font-weight: 700; color: #0E45C3; line-height: 1.2; font-family: "Roboto", serif; margin-bottom: 10px; }
.achievements-sec .achievements-number-value span { font-size: 2rem; font-family: sans-serif; margin-left: 5px; }
.achievements-sec .achievements-number-note { font-size: 1.4rem; color: #333; }

.achievements-sec .achievements-facility-grid { display: flex; flex-wrap: wrap; gap: 50px 40px; }
.achievements-sec .achievements-facility-block { width: calc((100% - 40px)/2); }
.achievements-sec .achievements-facility-title { background-color: #0E45C3; color: #fff; font-size: 1.8rem; font-weight: 700; padding: 8px 20px; border-radius: 4px; margin-bottom: 20px; }
.achievements-sec .achievements-facility-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.achievements-sec .achievements-facility-list li { font-size: 1.5rem; font-weight: 500; color: #222; line-height: 1.6; padding-left: 20px; position: relative; }
.achievements-sec .achievements-facility-list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 9px; height: 9px; border-radius: 50%; background-color: #2FAD5D; }

.achievements-sec .achievements-case-grid { display: flex; gap: 25px; }
.achievements-sec .achievements-case-card { width: calc((100% - 75px)/4); background-color: #EAEDF6; border-radius: 6px; padding: 30px 25px; }
.achievements-sec .achievements-case-item { margin-bottom: 25px; }
.achievements-sec .achievements-case-item:last-child { margin-bottom: 0; }
.achievements-sec .achievements-case-label { width: fit-content; margin: 0 auto 12px; background-color: #128D50; color: #fff; font-size: 1.4rem; font-weight: 700; padding: 4px 25px; border-radius: 30px; }
.achievements-sec .achievements-case-type { font-size: 2rem; font-weight: 700; color: #092469; text-align: center; }
.achievements-sec .achievements-case-text { font-size: 1.7rem; line-height: 1.9; color: #222; }

/* ダウンロード */
.download-btns{display: flex; gap: 45px; }
.download-btn{width: calc((100% - 45px)/2); max-width: 540px; text-align: center;}
.download-btn a{display: block; color: #fff; background-color: #128D50; border: 1px solid #128D50; padding: 10px; border-radius: 5px; font-size: 2.2rem; font-weight: 700;}
.download-btn a:hover{color: #128D50; background-color: #fff;}
.download-btn a i{margin-right: 5px;}

.download-btn-pdf a{background-color: #E12D22; border: 1px solid #E12D22;}
.download-btn-pdf a:hover{color: #E12D22; background-color: #fff; }

.download-sample-movie {
  max-width: 720px;
  margin: 0 auto 20px;
  aspect-ratio: 16 / 9;
}

.download-sample-movie iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
.download-sample-btn{width: 100%; max-width: 720px; margin: 0 auto; text-align: center;}
.download-sample-btn a{display: block; color: #fff; background-color: #0F6698; padding: 10px; border: 1px solid #0F6698; border-radius: 5px; font-size: 2.2rem; font-weight: 700;}
.download-sample-btn a:hover{color: #0f6698; background-color: #fff;}

.download-btn-form{margin: 0;}
.download-btn-form a{background-color: #B19C2A;}
.download-btn-form a:hover{color: #B19C2A; background-color: #fff;}

/* 管理実績 */
.management-inner{width: 90%; max-width: 1080px; margin: 0 auto;}

/* 検査項目・料金 */
.inspection-sec{max-width: 1000px;}
.inspection-sec p a,
.inspection-sec li a
{color: #0E81C3; text-decoration: underline;}
.inspection-sec strong{font-weight: 700;}
.inspection-sec ol li{list-style: decimal; font-size: 1.7rem; line-height: 1.9; font-weight: 500;}
.inspection-sec ul li{list-style: decimal; font-size: 1.7rem; line-height: 1.9; font-weight: 500;}
.inspection-sec ol,
.inspection-sec ul{padding-left: 30px;}
.inspection-sec table th,
.inspection-sec table td{font-size: 1.5rem; line-height: 1.8; border: 1px solid #ccc!important;}

.inspection-flow-item{margin-bottom: 80px; position: relative;}
.inspection-flow-item img{width: 100%;}
.inspection-flow-item:after{
content: "";
position: absolute;
left: 50%;
bottom: -40px;
transform: translateX(-50%);
width:0;
height:0;
border-style:solid;
border-width: 20px 75px 0 75px;
border-color: #0E81C3 transparent transparent transparent;}
.inspection-flow-item:last-child::after{display: none;}
.inspection-flow-item h3{margin: 0 0 15px;}
.inspection-btn{width: 100%; text-align: center;}
.inspection-btn a{display: block; color: #E12D22; background-color: #fff; border: 1px solid #E12D22; border-radius: 5px; padding: 10px; font-size: 1.8rem; font-weight: 700;}
.inspection-btn a:hover{color: #fff; background-color: #E12D22;}

.inspection-btn-excel a{color: #128D50; background-color: #fff;}
.inspection-btn-excel a:hover{color: #fff; background-color: #128D50;}

/* 検査依頼フォーム */
.form_wrapper{padding: 60px 0;}
.inspection-form-sec{width: 90%; max-width: 1000px; margin: 0 auto;}
.inspection-form .form_tit{font-size: 2rem; margin-bottom: 20px;}
.inspection-form h3{font-size: 2.2rem; margin-bottom: 10px; padding-top: 5px;}
.inspection-form fieldset legend{font-size: 2.2rem; font-weight: 700; margin-bottom: 10px;}
.inspection-form .nf-add-fieldset{padding: 10px;}
.inspection-form input[type=submit]{padding: 10px 20px;}

.nf-repeater-fieldsets fieldset{padding: 20px; border: 1px solid #333;}

.form_xls_btn{width: 400px; text-align: center; max-width: 90%; margin: 0 auto 30px;}
.form_xls_btn a{display: block; color: #fff; background-color: #128D50; border: 1px solid #128D50; border-radius: 10px; padding: 10px; font-size: 20px; transition: .5s;}
.form_xls_btn a:hover{color: #128D50; background-color: #fff; transition: .5s;}


/* ----------------------------------------------------------
 contact（お見積り・お問合せ一覧）
---------------------------------------------------------- */
.contact-list { width: 100%; padding: 60px 0; }
.contact-list-inner { width: 90%; max-width: 1200px; margin: 0 auto; }
.contact-list-grid { display: flex; flex-wrap: wrap; gap: 30px; list-style: none; margin: 0 0 50px; padding: 0; }
.contact-list-grid:last-child { margin-bottom: 0; }
.contact-card{ width: calc((100% - 30px)/2); align-items: center; min-height: 80px;  }
.contact-card a{display: block; padding: 20px 50px 20px 25px; position: relative; background-color: #fff; border: 2px solid #0e81c3; border-radius: 8px; color: #0e81c3; font-size: 1.8rem; font-weight: 700; line-height: 1.5; transition: 0.3s; }
.contact-card-btn::after { content: ""; position: absolute; top: 50%; right: 22px; width: 10px; height: 10px; border-top: 2px solid #0e81c3; border-right: 2px solid #0e81c3; transform: translateY(-50%) rotate(45deg); transition: 0.3s; }
.contact-card-btn:hover { background-color: #0e81c3; color: #fff; }
.contact-card-btn:hover::after { border-color: #fff; }


/* アスベスト検査会社の選び方 */
.choose-sec .inspection-btn{max-width: 500px;}
.choose-sec ol li{list-style: decimal; font-size: 1.7rem; line-height: 1.9; font-weight: 500;}
.choose-sec ul li{list-style: decimal; font-size: 1.7rem; line-height: 1.9; font-weight: 500;}


/* ----------------------------------------------------------
 SP CSS
---------------------------------------------------------- */
@media screen and (max-width:680px){

/* 非表示用 */
.noneSP	{ display: none !important; }

/* header */
.header{height: 60px;}
.header-logo img{width: 160px;}


/* footer */
.footer-sitemap{padding: 4rem 0;}
.footer-sitemap-inner{flex-direction: column; gap: 30px;}
.footer-contact-title{font-size: clamp(2.5rem, 4vw, 3.5rem);}
.footer-contact-lead{font-size: 1.6rem;}
.footer-contact-tel{padding: 0; border: none;}
.footer-contact-tel-num{font-size: 3.5rem;}
.footer-contact-body{flex-direction: column;}
.footer-contact-btns{flex-direction: column;}
.footer-address{font-size: 1.4rem;}

.footer-nav-item{font-size: 1.5rem;}

/* トップページ */
.top-wrapper{padding-top: 60px;}
.top-mv-inner{max-height: 600px;}
.top-mv-content{padding: 30px 5%; width: 100%; background-color: rgba(255, 255, 255, 0.2); text-shadow: 2px 3px 3px rgba(99, 86, 86, 0.4);}
.top-mv-count{display: block; font-size: 2rem;}
.top-mv-count-label{font-size: 2rem; margin-right: 0;}

.top-mv-title{font-size: clamp(2rem, 4vw, 4rem);}
.top-mv-lead{font-size: 1.6rem;}
.top-mv-btns{flex-direction: column; gap: 20px;}
.top-mv-btn a{font-size: 1.8rem; padding: 12px; text-shadow: none;}


.top-bar-inner{flex-direction: column; gap: 20px; padding: 20px 0; clip-path: none;}
.top-bar-item i[class^="icon-"]{font-size: 4rem; }
.top-bar-text-main{font-size: 2rem;}
.top-bar-text-sub{font-size: 2rem;}
.top-bar-num{font-size: 4rem;}
.top-info-inner{flex-direction: column; padding: 0;}


.top-info-title{font-size: clamp(2.5rem, 5vw, 4.5rem);}
.top-info-link{font-size: 1.6rem;}
.top-info-cards{flex-direction: column;}
.top-info-card-name{font-size: 1.8rem; padding: 12px;}
.top-concern-list{flex-direction: column;}
.top-concern-item{width: 100%; font-size: 1.8rem;}

.top-intro-title{font-size: 2.5rem;}
.top-intro-cards{flex-direction: column; }
.top-intro-card-name{font-size: 2rem;}
.top-intro-text{font-size: 1.6rem; line-height: 1.8;}
.top-intro-btn{font-size: 1.8rem; padding: 15px;}

.top-why-title{font-size: 2.8rem;}
.top-why-lead{font-size: 1.6rem; line-height: 1.8;}
.top-why-list{flex-direction: column;}
.top-why-item{width: 100%; font-size: 2rem;}
.top-why-subtitle{font-size: 2.5rem;}
.top-why-sub,
.top-why-text{font-size: 1.6rem; line-height: 1.8;}

.top-selected-title{font-size: 2.5rem; }
.top-selected-lead{font-size: 1.6rem; line-height: 1.8;}
.top-selected-grid{display: flex; flex-direction: column;}
.top-selected-card{width: 100%; padding: 50px 15px;}
.top-selected-card-title{font-size: 2.5rem;}
.top-selected-card-list li{font-size: 1.6rem;}

.top-selected-banner{padding: 30px;}
.top-selected-banner-text{font-size: 2rem;}
.top-selected-banner-img{top: initial; bottom: 0; transform: none; width: 85px;}

.top-plan-intro-grid{display: flex; flex-direction: column;}
.top-plan-intro-card{width: 100%;}
.top-plan-intro-card-name{font-size: 1.8rem;}

.top-price-note{font-size: 1.6rem;}
.top-price-table{flex-direction: column;}
.top-price-label{width: 100%; padding: 15px;}
.top-price-day{font-size: 1.8rem;}
.top-price-btn a{font-size: 1.6rem; padding: 12px 0;}

.top-flow-steps{flex-direction: column; gap: 40px; align-items: center;}
.top-flow-step-item:not(:last-child)::after{top: initial; bottom: -18px; left: 50%; transform: translateX(-50%); width: 1px; height: 10px;}
.top-flow-step-circle{width: 80px; height: 80px;}
.top-flow-step-circle i[class^="icon-"]{font-size: 4rem;}
.top-flow-step-name{font-size: 1.7rem;}

.top-achievement-count{display: block;}
.top-achievement-count-label{font-size: 3rem;}
.top-achievement-count-num{font-size: clamp(5rem, 5vw, 6vw);}
.top-achievement-grid{display: flex; flex-direction: column;}
.top-achievement-list li {font-size: 1.4rem;}
.top-achievement-list li::before{top: 6px;}

.top-faq-q-text{font-size: 1.6rem;}

.top-banner-links{flex-direction: column;}
.top-banner-link-btn{font-size: 1.8rem;}
.top-posts-inner{display: flex; flex-direction: column; gap: 30px;}

.top-banner-link-title{font-size: 3.5rem;}
.top-banner-link img{height: 300px;}

.top-price-col{padding: 20px 0 10px;}

/* セカンドページ共通 */
.wrapper{padding-top: 60px;}
.h1-wrapper{padding: 30px 0;}
.h1-tit-inner h1{font-size: clamp(3rem, 4vw, 4rem);}
.page-sec h2{font-size: 3rem; padding-bottom: 0; margin-bottom: 20px;}
.page-sec h3{font-size: 2.5rem;}
.page-sec p{font-size: 1.5rem;}

.inspection-sec ol li,
.inspection-sec ul li{font-size: 1.5rem;}

/* ローカルナビ SP */
.lnavi{ max-width: 90%; margin: 30px auto 0;}
.lnavi nav ul { flex-direction: column; gap: 8px; }
.lnavi nav ul li a.anker { font-size: 1.4rem; padding: 12px 8px; }
.lnavi nav ul li{width: 100%;}



/* 初めての方へ SP */
.first-mv{padding: 30px 0;}
.first-mv-inner { flex-direction: column; min-height: initial; }
.first-mv-content {padding: 0 20px;}
.first-mv-title { font-size: 2.6rem; margin-bottom: 25px; }
.first-mv-txt{font-size: 1.6rem;}
.first-mv-btns { flex-direction: column; gap: 15px; }
.first-mv-btn { width: 100%; }
.first-mv-btn a{padding: 10px; font-size: 1.6rem;}
.first-mv-img { width: 100%; position: initial; transform: none;}
.first-mv-bar{width: 100%;}
.first-mv-bar-inner { flex-direction: column; gap: 25px; padding: 30px 20px; }
.first-mv-bar-label,
.first-mv-bar-sub{font-size: 2rem;}
.first-mv-bar-item i{font-size: 4rem;}
.first-mv-bar-num{font-size: 4rem;}

.first-sec-title { font-size: 2.2rem; margin-bottom: 30px; }
.first-concern-grid { grid-template-columns: 1fr; }
.first-case-grid {padding: 20px 15px; flex-direction: column;}
.first-case-card{width: 100%; max-width: 400px; margin: 0 auto;}
.first-basic-inner{width: 90%; margin: 0 auto;}
.first-basic-grid { flex-direction: column; }
.first-basic-card{width: 100%;}

.first-concern-inner{padding: 0 4%;}
.first-concern-grid{gap: 15px; }
.first-concern-card{width: calc((100% - 15px)/2); display: block; padding: 20px 10px;}
.first-concern-card-icon{margin: 0 auto 10px;}
.first-concern-card-text{font-size: clamp(1.4rem, 3vw, 2.5rem); text-align: center;}
.first-concern-lead{font-size: 2.4rem;}

/* 選ばれる理由 SP */
.reason-summary-inner{padding: 0;}
.reason-summary-grid { flex-direction: column; }
.reason-summary-label{font-size: 1.8rem;}
.reason-summary-icon{max-width: 200px;}
.reason-summary-title { font-size: 2rem; }
.reason-summary-btn a{padding: 12px;}

.reason-sec .reason-tit{flex-direction: column;}
.reason-tit01{font-size: 1.8rem;}
.reason-tit02{font-size: clamp(2.8rem, 4vw, 4rem);}

/* 料金・プラン紹介 */
.price-guide-table thead{display: none;}
.price-guide-table th,
.price-guide-table td{display: block; width: 100%;}

.inspection-btn a{font-size: 1.6rem;}

/* 会社案内 */
.company-table th,
.company-table td{display: block; width: 100%!important; font-size: 1.5rem;}
.company-table th{font-weight: 700;}


/* メディア掲載 */
.media-tab { padding: 8px 12px; font-size: 1.4rem; }
.media-article { flex-direction: column; gap: 20px; padding: 25px 0; }
.media-article-imgs { width: 100%; }
.media-article-imgs--multi { width: 100%; }
.media-year-title { font-size: 2.2rem; }
.media-article-title { font-size: 1.7rem; }
.media-article-detail { font-size: 1.5rem; }

/* フォーム */
.contact_sec{width: 90%; margin: 0 auto;}
.page-sec .contact_item{display: block; padding: 20px 0;}
.page-sec .contact_tit{margin: 0 0 20px 0; width: initial;}
.page-sec .contact_tit p{font-size: 18px;}
.page-sec .contact_essential .contact_tit{margin-left: 60px; width: initial;}
.page-sec .contact_tit span{left: -60px; font-size: 16px;}

.contact_txt, .contact_adress, .contact_txtarea{width: 100%;}
.contact_txt input{width: calc(100% - 16px); margin: 0 auto; font-size: 16px;}
.contact_adress input{width: 100%; margin-left: 0; font-size: 16px;}
input[type="checkbox"]{padding: 8px;}
.form-width{max-width: 100%;}
.page-sec .wpcf7-spinner{display: block;}
.contact_txtarea textarea{width: calc(100% - 16px); font-size: 16px;}
.contact_select select{width: 100%; padding: 8px;}

  .contact_txt input[type="text"],
  .contact_txt input[type="email"],
  .contact_txt input[type="tel"],
  .contact_txt input[type="url"],
  .contact_txt input[type="number"],
  .contact_txt textarea,
  .contact_txt select{
    max-width:100%;
    font-size:16px;
  }

  .contact_txt .wpcf7-form-control-wrap:has(select){
    max-width:100%;
  }

  .contact_check .wpcf7-list-item{
    display:block;
    margin:0 0 8px;
  }

  .contact_check .wpcf7-list-item label{
    display:flex;
    width:100%;
  }

/* 料金・プラン SP */
.price-topic-bottom { flex-direction: column; align-items: flex-start; padding: 20px; gap: 20px; }
.price-bottom-head { font-size: 2rem; white-space: normal; }
.price-topic-btns { flex-direction: column; width: 100%; gap: 10px; }
.price-topic-btn { min-width: 0; width: 100%; }
.price-topic-btn a { font-size: 1.6rem; padding: 14px 16px; }
.price-guide-table,
.price-list-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.price-guide-table thead th,
.price-guide-table tbody td,
.price-list-table thead th,
.price-list-table tbody td { padding: 12px; font-size: 1.5rem; }
.price-guide-btn { font-size: 1.3rem; padding: 3px 10px; }

/* 料金一覧テーブル SP：カード型に縦積み（見出しラベル自動付与） */
.price-list-table { display: block; overflow: visible; }
.price-list-table thead { display: none; }
.price-list-table tbody, .price-list-table tr, .price-list-table td { display: block; width: 100%; }
.price-list-table tbody tr { border: 1px solid #ddd; border-radius: 6px; padding: 16px; margin-bottom: 16px; }
.price-list-table tbody tr:last-child { margin-bottom: 0; }
.price-list-table tbody td { padding: 6px 0; font-size: 1.5rem; border: none; }
.price-list-table tbody td:first-child { padding-top: 0; margin-bottom: 6px; }
.price-list-service-name { font-size: 1.7rem; }
.price-list-table tbody td:not(:first-child)::before { font-weight: 700; color: #0e81c3; margin-right: 6px; }
.price-list-table tbody td:nth-of-type(2)::before { content: "料金目安："; }
.price-list-table tbody td:nth-of-type(3)::before { content: "納期目安："; }
.price-list-table tbody td:nth-of-type(4)::before { content: "こんな方におすすめ："; }

/* 検査・分析テーブル SP：カード型に縦積み（見出しラベル自動付与） */
.inspection-sec table { display: block; }
.inspection-sec table thead { display: none; }
.inspection-sec table tbody, .inspection-sec table tr, .inspection-sec table td { display: block; width: 100%; }
.inspection-sec table tbody tr { margin-bottom: 16px; }
.inspection-sec table tbody tr:last-child { margin-bottom: 0; }
.inspection-sec table td { font-size: 1.5rem; padding: 12px 14px!important; border: 1px solid #ccc!important; }
.inspection-sec table td:not(:first-child) { border-top: none!important; }
.inspection-sec table td:first-child { font-weight: 700; background-color: #f5f5f5; }
.inspection-sec table td:not(:first-child)::before { display: block; font-weight: 700; color: #0e81c3; margin-bottom: 4px; }
.inspection-sec table tr:not(:has(td:nth-of-type(4))) td:nth-of-type(2)::before { content: "分析手法"; }
.inspection-sec table tr:not(:has(td:nth-of-type(4))) td:nth-of-type(3)::before { content: "規格No"; }
.inspection-sec table tr:has(td:nth-of-type(4)) td:nth-of-type(2)::before { content: "検査料金"; }
.inspection-sec table tr:has(td:nth-of-type(4)) td:nth-of-type(3)::before { content: "基準値"; }
.inspection-sec table tr:has(td:nth-of-type(4)) td:nth-of-type(4)::before { content: "基準を超過した場合"; }
.inspection-sec table td:empty { display: none; }

/* 調査・分析の流れ SP */
.flow-step-item{padding: 70px 30px 30px;}
.flow-step-contact { flex-direction: column; padding: 20px; gap: 20px; }
.flow-step-contact-tel { border-right: none; border-bottom: 1px solid #ccc; padding-right: 0; padding-bottom: 20px; width: 100%; align-items: center;}
.flow-step-contact-tel-num { font-size: 2.5rem; }
.flow-step-contact-tel-number i{font-size: 3rem;}
.flow-step-contact-btns { flex-direction: column; width: 100%; }
.flow-step-contact-btn{max-width: 100%;}
.flow-step-contact-btn a { font-size: 1.6rem; padding: 15px 20px; }

.page-sec .top-flow-step-name{font-size: 1.6rem;}



/* よくある質問 SP */
.faq-anchor { top: -80px; }
.faq-q { padding: 15px 16px; gap: 10px; }
.faq-q-label { font-size: 1.8rem; }
.faq-q-text { font-size: 1.5rem; }
.faq-a { padding: 16px; gap: 10px; }
.faq-a-label { font-size: 1.8rem; }
.faq-a-text { font-size: 1.5rem; }

/* voice アーカイブ SP */
.voice-archive-grid { gap: 40px; }
.voice-archive-card { width: 100%; }

/* お客様の声 詳細 SP */
.voice-detail-inner { flex-direction: column; gap: 40px; }
.voice-detail-left, .voice-detail-right { width: 100%; }
.voice-detail-left h2 { font-size: 2.4rem; }
.voice-detail-left p { font-size: 1.6rem; }
.voice-detail-inner .voice-detail-balloon { font-size: 1.7rem; }

/* 調査実績 SP */
.achievements-sec .achievements-number-grid { flex-wrap: wrap; gap: 15px; }
.achievements-sec .achievements-number-card { width: calc((100% - 15px)/2); padding: 25px 15px; }
.achievements-sec .achievements-number-card i[class^="icon-"] { font-size: 5rem; margin-bottom: 20px; }
.achievements-sec .achievements-number-label { font-size: 1.7rem; }
.achievements-sec .achievements-number-value { font-size: 3.8rem; }
.achievements-sec .achievements-number-value span { font-size: 1.6rem; }
.achievements-sec .achievements-facility-grid { gap: 40px; }
.achievements-sec .achievements-facility-block { width: 100%; }
.achievements-sec .achievements-case-grid { flex-wrap: wrap; gap: 20px; }
.achievements-sec .achievements-case-card { width: 100%; }

/* ダウンロード */
.download-btns{flex-direction: column;}
.download-btn{width: 100%;}
.download-btn a{font-size: 1.8rem;}
.download-sample-btn a{font-size: 1.8rem;}


 /* contact（お見積り・お問合せ一覧） */
.contact-list-grid{flex-direction: column;}
.contact-card{width: 100%;}
.contact-card a{font-size: 1.8rem;}

/* お知らせ SP */
.page-sec .news-layout { display: block; }
.page-sec .news-main { width: 100%; }
.page-sec .news-sidebar { width: 100%; min-width: 0; margin-top: 50px; }
.page-sec .news-item-inner { flex-wrap: wrap; gap: 10px 15px; padding: 18px 5px 18px 20px; }
.page-sec .news-date { font-size: 1.4rem; }
.page-sec .news-cat { width: auto; min-width: 110px; font-size: 1.2rem; padding: 4px 10px; }
.page-sec .news-title { width: 100%; font-size: 1.5rem; }
.page-sec .news-single-body { font-size: 1.5rem; }
.page-sec .news-single-body h2 { font-size: 2.2rem; }
.page-sec .news-single-body h3 { font-size: 1.9rem; }
.page-sec .news-single-body li { font-size: 1.5rem; }
.page-sec .news-single-nav { flex-wrap: wrap; }
.page-sec .news-single-nav-prev, .page-sec .news-single-nav-back, .page-sec .news-single-nav-next { width: 100%; text-align: center; }

/* 会社案内 SP */
.company-table th, .company-table td{ padding: 12px 0!important; font-size: 1.5rem; }
.company-office{ flex-direction: column; gap: 25px; }
.company-office-item{ width: 100%; }
.company-office-item h4{ font-size: 2.1rem; }
.president-name{ font-size: 1.6rem; }
.comapny-philosophy p{ font-size: 1.6rem; }
.comapny-philosophy-topic p strong{ font-size: 2.6rem; }
.comapny-philosophy-item p strong{ font-size: 2.2rem; }

/* 品質管理方針 SP */
.quality-flex{ flex-direction: column; gap: 20px; }
.quality-flex-item{ width: 100%; padding: 30px 20px; }
.quality-flex-item p strong{ font-size: 2.6rem; }

/* 法令通達 SP */
.decree-sec{ max-width: 100%; }
.decree-topic p{ font-size: 1.6rem; }
.decree-btn{ width: 100%; }
.decree-btn a{ font-size: 1.7rem; }
.decree-table thead{ display: none; }
.decree-table, .decree-table tbody, .decree-table tr, .decree-table td{ display: block; width: 100%; }
.decree-table tbody tr{ padding: 18px 0; }
.decree-table td{ padding: 3px 0; font-size: 1.5rem; }
.decree-table-name{ font-size: 1.7rem; margin-bottom: 4px; }
.decree-table-dl{ text-align: left; margin-top: 10px; }

/* プライバシーポリシー・特定商取引法 SP */
.policy-sec h2{ font-size: 2.8rem; }
.policy-sec h3{ font-size: 2.2rem; }
.policy-sec p, .policy-sec ul > li, .policy-sec ol > li{ font-size: 1.5rem; }

/* サイトマップ SP */
.sitemap-list > li{ font-size: 1.7rem; }
.sitemap-sub-list > li, .sitemap-sub-sub-list > li{ font-size: 1.5rem; }

}

/* ----------------------------------------------------------
 SP CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
 TAB CSS
---------------------------------------------------------- */
@media screen and (min-width:681px) and (max-width:1200px){

  /* 非表示用 */
.noneTAB		{ display: none !important; }

/* header */
.header{height: 60px;}
.header-logo img{width: 160px;}


/* footer */
.footer-sitemap-inner{gap: 25px;}
.footer-contact-title{font-size: clamp(2.5rem, 4vw, 3.5rem);}
.footer-contact-lead{font-size: 1.6rem;}
.footer-contact-tel{padding: 0; border: none;}
.footer-contact-tel-num{font-size: 3.5rem;}
.footer-contact-body{flex-direction: column;}
.footer-contact-btns{flex-direction: column;}
.footer-address{font-size: 1.4rem;}

.footer-nav-item{font-size: 1.5rem;}

/* トップページ */
.top-wrapper{padding-top: 60px;}
.top-mv-content{padding: 30px 5%; text-shadow: 2px 3px 3px rgba(99, 86, 86, 0.4);}
.top-mv-count{display: block; font-size: 2rem;}
.top-mv-count-label{font-size: 2rem; margin-right: 0;}

.top-mv-title{font-size: clamp(2rem, 4vw, 4rem);}
.top-mv-lead{font-size: 1.6rem;}
.top-mv-btns{gap: 20px;}
.top-mv-btn a{font-size: 1.8rem; padding: 12px; text-shadow: none;}

.top-bar-inner{ gap: 20px; padding: 20px 0; clip-path: none;}
.top-bar-item i[class^="icon-"]{font-size: 4rem; }
.top-bar-text-main{font-size: 2rem;}
.top-bar-text-sub{font-size: 2rem;}
.top-bar-num{font-size: 4rem;}
.top-info-inner{flex-direction: column; padding: 0;}


.top-info-title{font-size: clamp(2.5rem, 5vw, 4.5rem);}
.top-info-link{font-size: 1.6rem;}
.top-info-cards{flex-direction: column;}
.top-concern-list{flex-direction: column;}
.top-concern-item{width: 100%; font-size: 2rem;}
.top-info-card-name{font-size: 1.8rem;}

.top-intro-title{font-size: 2.5rem;}
.top-intro-cards{flex-direction: column; max-width: 600px; margin: 0 auto 30px;}
.top-intro-card-name{font-size: 2rem;}
.top-intro-text{font-size: 1.6rem; line-height: 1.8;}
.top-intro-btn{font-size: 1.8rem; padding: 15px;}

.top-why-title{font-size: 2.8rem;}
.top-why-lead{font-size: 1.6rem; line-height: 1.8;}
.top-why-list{flex-direction: column;}
.top-why-item{width: 100%; font-size: 2rem;}
.top-why-subtitle{font-size: 2.5rem;}
.top-why-sub,
.top-why-text{font-size: 1.6rem; line-height: 1.8;}

.top-selected-title{font-size: 2.5rem; }
.top-selected-lead{font-size: 1.6rem; line-height: 1.8;}
.top-selected-grid{display: flex; flex-wrap: wrap; gap: 20px;}
.top-selected-card{width: calc((100% - 20px)/2); padding: 50px 15px;}
.top-selected-card-title{font-size: 2.5rem;}
.top-selected-card-list li{font-size: 1.5rem;}

.top-selected-banner{padding: 30px;}
.top-selected-banner-text{font-size: 2rem;}
.top-selected-banner-img{top: initial; bottom: 0; right: -15px; transform: none; width: 85px;}

.top-plan-intro-grid{display: flex; gap: 20px; flex-wrap: wrap;}
.top-plan-intro-card{width: calc((100% - 20px)/2);}
.top-plan-intro-card-name{font-size: 1.8rem;}

.top-price-note{font-size: 1.6rem;}
.top-price-table{flex-wrap: wrap; flex: initial;}
.top-price-col{width: 50%; flex: initial;}
.top-price-label{width: 50%; padding: 15px;}
.top-price-day{font-size: 1.8rem;}
.top-price-btn a{font-size: 1.6rem; padding: 12px 0;}

.top-flow-steps{gap: 20px;}
.top-flow-step-item{width: 100px;}
.top-flow-step-item:not(:last-child)::after{left: calc(100% + 2px); top: 40px;}
.top-flow-step-circle{width: 80px; height: 80px;}
.top-flow-step-circle i[class^="icon-"]{font-size: 4rem;}
.page-sec .top-flow-step-name{font-size: 1.6rem;}

.top-achievement-count{display: block; text-align: center;}
.top-achievement-count-label{font-size: 3rem;}
.top-achievement-count-num{font-size: clamp(5rem, 5vw, 6vw);}
.top-achievement-grid{display: flex; flex-wrap: wrap;}
.top-achievement-col{width: calc((100% - 20px)/2);}
.top-achievement-list li {font-size: 1.4rem;}
.top-achievement-list li::before{top: 6px;}

.top-faq-q-text{font-size: 1.6rem;}

.top-banner-links{flex-direction: column;}
.top-banner-link-btn{font-size: 1.8rem;}
.top-posts-inner{display: flex; flex-direction: column; gap: 30px;}

.top-banner-link-title{font-size: 3.5rem;}
.top-banner-link img{height: 300px;}

/* セカンドページ共通 */
.wrapper{padding-top: 60px;}
.h1-wrapper{padding: 50px 0;}
.h1-tit-inner h1{font-size: clamp(3rem, 4vw, 4rem);}
.page-sec h2{font-size: 3rem;}
.page-sec h3{font-size: 2.6rem;}

/* 初めての方へ TAB */
.first-mv{padding: 30px 0;}
.first-mv-inner { flex-direction: column; min-height: initial; }
.first-mv-content {padding: 0 20px;}
.first-mv-title { font-size: 3rem; }
.first-mv-txt{font-size: 1.6rem;}
.first-mv-img { width: 100%; max-width: 500px;}
.first-mv-bar-inner { gap: 20px; flex-direction: row; justify-content: center;}
.first-sec-title { font-size: 2.6rem; }
.first-mv-btns { flex-direction: column; gap: 15px; }
.first-mv-btn { width: 100%; }
.first-mv-btn a{padding: 10px; font-size: 1.6rem;}
.first-mv-img { width: 100%; position: initial; transform: none;}
.first-mv-bar{width: 100%;}
.first-mv-bar-label,
.first-mv-bar-sub{font-size: 2rem;}
.first-mv-bar-item i{font-size: 4rem;}
.first-mv-bar-num{font-size: 4rem;}

.first-concern-inner{padding: 0 4%;}
.first-concern-grid{gap: 15px; }
.first-concern-card{width: calc((100% - 15px)/2); display: block; padding: 20px 10px;}
.first-concern-card-icon{margin: 0 auto 10px;}
.first-concern-card-text{font-size: clamp(1.4rem, 3vw, 2.5rem); text-align: center;}
.first-concern-lead{font-size: 2.4rem;}

.first-case-grid{width: 90%; margin: 0 auto;}
.first-case-card{width: calc((100% - 20px)/2); flex: initial;}

.first-basic-inner{width: 90%; margin: 0 auto;}
.first-basic-grid { gap: 20px;}
.first-basic-card{width: calc((100% - 40px)/3);}
.first-basic-card-label{font-size: 1.7rem;}
.first-basic-card-label i{font-size: 1.7rem;}

/* 選ばれる理由 TAB */
.reason-summary-icon{max-width: 200px;}

/* 会社案内 */
.comapny-philosophy p{font-size: 1.6rem;}
.company-table th, .company-table td{font-size: 1.6rem;}

/* フォーム */
.contact_sec{width: 90%; margin: 0 auto;}
.page-sec .contact_item{display: block; padding: 20px 0;}
.page-sec .contact_tit{margin: 0 0 20px 0; width: initial;}
.contact_essential .contact_tit{margin-left: 80px; width: initial;}
.form_tit01{display: none;}
.form_tit02{padding: 20px 0; font-size: 3rem;}
.form_sec{width: 90%;}
.policy_sec .page-sec{padding: 0;}

.list-checkbox-wrap .nf-field-element li label{text-align: left;}
.wpcf7-form-control-wrap{}
.contact_txt, .contact_adress, .contact_txtarea{width: 100%;}
.contact_txt input{width:  calc(100% - 16px); margin: 0 auto; font-size: 16px;}
.contact_txtarea textarea{width:  calc(100% - 16px); font-size: 16px;}
.contact_adress input{width: 100%; margin-left: 0; font-size: 16px;}
input[type="checkbox"]{padding: 8px;}
.form-width{max-width: 100%;}
.page-sec .wpcf7-spinner{display: block;}

.contact_check .request_head{font-size:16px;}
.contact_check .wpcf7-list-item{display:block;margin:0 0 8px;}
.contact_check .wpcf7-list-item label{display:flex;width:100%;box-sizing:border-box;}

/* 料金・プラン TAB */
.price-topic-bottom { padding: 20px 20px; gap: 20px; flex-direction: column;}
.price-bottom-head { font-size: 2.2rem; }
.price-topic-btns{flex-wrap: wrap;}
.price-topic-btn { min-width: 180px; }
.price-topic-btn a { font-size: 1.6rem; padding: 14px 16px; }
.price-guide-table thead th,
.price-guide-table tbody td,
.price-list-table thead th,
.price-list-table tbody td { padding: 14px 16px; font-size: 1.6rem; }

/* 料金一覧テーブル TAB：カード型に縦積み（見出しラベル自動付与） */
.price-list-table { display: block; overflow: visible; }
.price-list-table thead { display: none; }
.price-list-table tbody, .price-list-table tr, .price-list-table td { display: block; width: 100%; }
.price-list-table tbody tr { border: 1px solid #ddd; border-radius: 6px; padding: 20px 24px; margin-bottom: 18px; }
.price-list-table tbody tr:last-child { margin-bottom: 0; }
.price-list-table tbody td { padding: 7px 0; font-size: 1.6rem; border: none; }
.price-list-table tbody td:first-child { padding-top: 0; margin-bottom: 6px; }
.price-list-service-name { font-size: 1.8rem; }
.price-list-table tbody td:not(:first-child)::before { font-weight: 700; color: #0e81c3; margin-right: 6px; }
.price-list-table tbody td:nth-of-type(2)::before { content: "料金目安："; }
.price-list-table tbody td:nth-of-type(3)::before { content: "納期目安："; }
.price-list-table tbody td:nth-of-type(4)::before { content: "こんな方におすすめ："; }

/* 検査・分析テーブル TAB：カード型に縦積み（見出しラベル自動付与） */
.inspection-sec table { display: block; }
.inspection-sec table thead { display: none; }
.inspection-sec table tbody, .inspection-sec table tr, .inspection-sec table td { display: block; width: 100%; }
.inspection-sec table tbody tr { margin-bottom: 18px; }
.inspection-sec table tbody tr:last-child { margin-bottom: 0; }
.inspection-sec table td { font-size: 1.6rem; padding: 14px 18px!important; border: 1px solid #ccc!important; }
.inspection-sec table td:not(:first-child) { border-top: none!important; }
.inspection-sec table td:first-child { font-weight: 700; background-color: #f5f5f5; }
.inspection-sec table td:not(:first-child)::before { display: block; font-weight: 700; color: #0e81c3; margin-bottom: 4px; }
.inspection-sec table tr:not(:has(td:nth-of-type(4))) td:nth-of-type(2)::before { content: "分析手法"; }
.inspection-sec table tr:not(:has(td:nth-of-type(4))) td:nth-of-type(3)::before { content: "規格No"; }
.inspection-sec table tr:has(td:nth-of-type(4)) td:nth-of-type(2)::before { content: "検査料金"; }
.inspection-sec table tr:has(td:nth-of-type(4)) td:nth-of-type(3)::before { content: "基準値"; }
.inspection-sec table tr:has(td:nth-of-type(4)) td:nth-of-type(4)::before { content: "基準を超過した場合"; }
.inspection-sec table td:empty { display: none; }

/* 調査・分析の流れ TAB */
.flow-step-contact { padding: 25px 30px; gap: 25px; flex-direction: column; align-items: center;}
.flow-step-contact-tel{border: none; padding-right: 0;}
.flow-step-contact-tel-num { font-size: 3.2rem; }
.flow-step-contact-btns{flex-direction: column; width: 100%;}
.flow-step-contact-btn{width: 100%; max-width: 500px; margin: 0 auto;}
.flow-step-contact-btn a { font-size: 1.6rem; padding: 16px 18px; }



/* よくある質問 TAB */
.faq-q { padding: 18px 20px; }
.faq-q-text { font-size: 1.6rem; }

/* 選ばれる理由 TAB */
.reason-summary-grid { flex-wrap: wrap; }
.reason-summary-card { width: calc((100% - 20px) / 2); flex: none; }
.reason-summary-title { font-size: 2rem; }

/* voice アーカイブ TAB */
.voice-archive-card { width: calc((100% - 30px) / 2); max-width: 500px;}

/* お客様の声 詳細 TAB */
.voice-detail-inner { flex-direction: column; gap: 50px; }
.voice-detail-left, .voice-detail-right { width: 100%; }

/* 調査実績 TAB */
.achievements-sec .achievements-number-grid { flex-wrap: wrap; }
.achievements-sec .achievements-number-card { width: calc((100% - 25px)/2); }
.achievements-sec .achievements-case-grid { flex-wrap: wrap; }
.achievements-sec .achievements-case-card { width: calc((100% - 25px)/2); }

/* お知らせ TAB */
.page-sec .news-layout { display: block; }
.page-sec .news-main { width: 100%; }
.page-sec .news-sidebar { width: 100%; min-width: 0; margin-top: 50px; }

/* 会社案内 TAB */
.company-office-item{ width: calc((100% - 30px)/2); }
.comapny-philosophy-topic p strong{ font-size: 3rem; }
.comapny-philosophy-item p strong{ font-size: 2.6rem; }

/* 品質管理方針 TAB */
.quality-flex{ flex-wrap: wrap; }
.quality-flex-item{ width: calc((100% - 25px)/2); }

/* 法令通達 TAB */
.decree-topic p{ font-size: 1.8rem; }

.decree-table thead{ display: none; }
.decree-table, .decree-table tbody, .decree-table tr, .decree-table td{ display: block; width: 100%; }
.decree-table tbody tr{ padding: 18px 0; }
.decree-table td{ padding: 3px 0; font-size: 1.5rem; }
.decree-table-name{ font-size: 1.7rem; margin-bottom: 4px; }
.decree-table-dl{ text-align: left; margin-top: 10px; }

/* プライバシーポリシー TAB */
.policy-sec h2{ font-size: 3.2rem; }
.policy-sec h3{ font-size: 2.5rem; }


}

/* ----------------------------------------------------------
 TAB CSS END
---------------------------------------------------------- */


/* ----------------------------------------------------------
 PC CSS
---------------------------------------------------------- */
@media print, screen and (min-width:1201px) and (max-width:1500px){

/* 非表示用 */
.nonePC		{ display: none !important; }


/* header */
.header{height: initial;}
.header-inner{flex-wrap: wrap;}
.header-catch-main{font-size: 1.1rem;}
.header-tel{border: none; padding: 0;}
.header-tel-number i{font-size: 3rem;}
.header-tel-num{font-size: 2.5rem;}
.header-cta{justify-content: center;}
.header-cta-btn{width: 160px;}
.gnav-list{flex-wrap: wrap;}
.gnav-item { width: calc((100% - 80px) / 5);}
.gnav-link{font-size: 1.6rem; padding: 8px 4px;}



/* footer */
.footer-contact-body{flex-direction: column;}

/* contents */
.top-wrapper{padding-top: 190px;}
.top-banner-link-title{font-size: 4rem;}

.wrapper{padding-top: 190px;}
.anchor{display: block; position: absolute; margin-top: -190px; padding-top: 190px;}

/* 初めての方へ */
.first-mv-content{width: 92%; margin: 0 auto; flex: initial;}


}
/* ----------------------------------------------------------
 PC CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
 PC WIDE CSS
---------------------------------------------------------- */
@media screen and (min-width:1501px){

/* 非表示用 */
.nonePCWIDE		{ display: none !important; }



}

/* ----------------------------------------------------------
 PC WIDE CSS END
---------------------------------------------------------- */


/* ==========================================================
 お知らせ（news）一覧
========================================================== */
.news-layout { display: flex; gap: 60px; align-items: flex-start; }
.news-main { width: 70%; flex: 1; min-width: 0; }
.news-sidebar { width: 30%; min-width: 300px; flex-shrink: 0; background-color: #F5F5F5; padding: 30px;}
.news-sidebar .news-sidebar-title{padding-bottom: 0; margin-bottom: 20px; font-size: 2rem;}

/* 一覧 */
.news-list { list-style: none; margin: 0; padding: 0; }
.news-item { border-bottom: 1px solid #d8d8d8; }
.news-item-inner { display: flex; align-items: center; gap: 20px; padding: 15px; position: relative; }
.news-date { flex-shrink: 0; font-size: 1.6rem; font-weight: 700; color: #333; letter-spacing: 1px; font-family: "Roboto", sans-serif; }
.news-title { font-size: 1.6rem; font-weight: 500; color: #333; line-height: 1.6; text-decoration: none; transition: opacity 0.2s; }
.news-title:hover { opacity: 0.7; }
.news-none { font-size: 1.6rem; }

/* カテゴリーラベル（slugを動的にクラス反映） */
.news-cat { flex-shrink: 0; display: inline-block; width: 130px; text-align: center; padding: 6px 8px; font-size: 1.3rem; font-weight: 700; color: #fff; background-color: #0e81c3; border-radius: 3px; text-decoration: none; transition: opacity 0.2s; }
.news-cat:hover { opacity: 0.85; }
.news-cat--important { background-color: #e8744e; }
.news-cat--law { background-color: #3c9d5e; }
.news-cat--information { background-color: #2e5c9c; }

/* ページャー（wp-pagenavi 不使用時の prev/next フォールバック） */
.news-main .prevnext { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 50px; }
.news-main .prevnext p { font-size: 1.5rem; margin: 0; }
.news-main .prevnext a { display: inline-block; padding: 12px 24px; color: #0e81c3; font-weight: 700; border: 1px solid #0e81c3; border-radius: 30px; text-decoration: none; transition: background-color 0.2s, color 0.2s; }
.news-main .prevnext a:hover { background-color: #0e81c3; color: #fff; }

/* サイドバー */
.news-sidebar-widget { margin-bottom: 40px; }
.news-sidebar-widget:last-child { margin-bottom: 0; }
.news-sidebar-title { font-size: 2.2rem; font-weight: 700; color: #0e81c3; margin-bottom: 20px; }

/* サイドバー：最新の記事 */
.news-sidebar-recent { list-style: none; margin: 0; padding: 0; }
.news-sidebar-recent-item { border-bottom: 1px solid #e2e2e2; }
.news-sidebar-recent-item:last-child { border-bottom: none; }
.news-sidebar-recent-link { display: block; padding: 15px 0; text-decoration: none; color: inherit; transition: opacity 0.2s; }
.news-sidebar-recent-link:hover { opacity: 0.7; }
.news-sidebar-recent-date { display: block; font-size: 1.4rem; font-weight: 700; color: #333; letter-spacing: 1px; font-family: "Roboto", sans-serif; margin-bottom: 6px; }
.news-sidebar-recent-text { font-size: 1.5rem; line-height: 1.6; color: #333; font-weight: 500; }

/* サイドバー：カテゴリ */
.news-sidebar-cat { list-style: none; margin: 0; padding: 0; }
.news-sidebar-cat-item { position: relative; padding: 8px 0 8px 16px; border-bottom: 1px solid #e2e2e2; }
.news-sidebar-cat-item a { font-size: 1.5rem; color: #333; text-decoration: none; transition: opacity 0.2s; }
.news-sidebar-cat-item a:hover { opacity: 0.7; }

/* サイドバー：月別一覧 */
.news-sidebar-archive { list-style: none; margin: 0; padding: 0; }
.news-sidebar-archive li { padding: 8px 0; border-bottom: 1px solid #e2e2e2; }
.news-sidebar-archive li a { font-size: 1.5rem; color: #333; text-decoration: none; transition: opacity 0.2s; }
.news-sidebar-archive li a:hover { opacity: 0.7; }

/* サイドバー：検索 */
.news-search-form { position: relative; }
.news-search-input { width: 100%; padding: 12px 18px; font-size: 1.5rem; color: #333; border: 1px solid #ccc; border-radius: 30px; box-sizing: border-box; }
.news-search-input::placeholder { color: #999; }

/* 詳細 */
.news-single-meta { display: flex; align-items: center; gap: 15px; margin-bottom: 30px; padding-bottom: 25px; border-bottom: 2px solid #0e81c3; }
.news-single-body { font-size: 1.7rem; line-height: 1.9; color: #333; font-weight: 500; }
.news-single-body h2 { font-size: 2.8rem; font-weight: 700; color: #0e81c3; margin: 40px 0 20px; padding-bottom: 12px; border-bottom: 1px solid #d8d8d8; }
.news-single-body h3 { font-size: 2.2rem; font-weight: 700; color: #222; margin: 35px 0 15px; }
.news-single-body p { margin-bottom: 25px; }
.news-single-body a { color: #0e81c3; text-decoration: underline; }
.news-single-body img { max-width: 100%; height: auto; }
.news-single-body ul, .news-single-body ol { margin: 0 0 25px; padding-left: 25px; }
.news-single-body li { font-size: 1.7rem; line-height: 1.9; margin-bottom: 8px; }

/* 詳細：ナビゲーション */
.news-single-nav { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 50px; padding-top: 30px; border-top: 1px solid #d8d8d8; }
.news-single-nav-prev { width: 30%; }
.news-single-nav-back { width: 40%; text-align: center; }
.news-single-nav-next { width: 30%; text-align: right; }
.news-single-nav-prev a, .news-single-nav-next a { display: inline-block; padding: 12px 20px; font-size: 1.5rem; color: #0e81c3; font-weight: 700; border: 1px solid #ddd; border-radius: 30px; text-decoration: none; transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
.news-single-nav-prev a:hover, .news-single-nav-next a:hover { background-color: #0e81c3; color: #fff; border-color: #0e81c3; }
.news-single-nav-back a { display: inline-block; padding: 12px 30px; font-size: 1.5rem; color: #fff; font-weight: 700; background-color: #0e81c3; border-radius: 30px; text-decoration: none; transition: opacity 0.2s; }
.news-single-nav-back a:hover { opacity: 0.85; }