@charset "UTF-8";
/*
Theme Name: Plat
Theme URI: https://www.plat-com.jp/
Description: PlatTheme
Version: 7.0
Author: Yucky
*/

* {
margin: 0;
padding:0;
box-sizing: border-box;
}

:root {
--lh-base: 1.6;	
--blue:#5fb1d8;
--deepBlue:#21287f;
--yellow:#f00;
--orange:#f90;
--purple:#800080;	
--red:#e5322d;
--pink:#f7a3a3;
--green:#696;
--lightGray:#f8f8f8;
--darkGray:#ccc;
--white:#fff;
--black:#333;
--deepblack:#000;	
--fs-base: 1.6rem;
--fs-h1: clamp(1.8rem, 4vw, 3.6rem);
--fs-h2: clamp(2rem, 3vw, 4rem);
--fs-h3: clamp(1.8rem, 2.8vw, 2.6rem);
--fs-h4: clamp(1.6rem, 2.4vw, 2.2rem);
--fs-h5: clamp(1.4rem, 2vw, 1.8rem);
--fs-h6: clamp(1.3rem, 1.8vw, 1.6rem);
}

html {
overflow:scroll;
height:100%;
scroll-behavior:smooth;
font-size: 62.5%;
}

.clearfix::after {
content: "";
clear: both;
display: table;
}
body {
color:var(--black);
max-width:100%;
-webkit-text-size-adjust: 100%;
position: relative;
font-family: "Arial", "メイリオ", "ヒラギノ角ゴ Pro", "ＭＳ Ｐゴシック", sans-serif;
text-transform: none;
}
.pc-only { display: none; }
.sp-only { display: block; }
.sp-only img {
max-width: 100%;
height: auto;
}

h1 { 
font-size: var(--fs-h1); 
}
h2 { 
font-size: var(--fs-h2); 
margin-bottom:1em;	
}
h3 { 
clear:both;	
font-size: var(--fs-h3); 
text-align:center;
margin-bottom:10px;
letter-spacing:0.2em;
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 900;
font-style: normal;	
}
h4 { 
clear:both;		
font-size: var(--fs-h4); 
}
h5 { 
clear:both;		
font-size: var(--fs-h5);
}
h6 {
clear:both;		
font-size: var(--fs-h6); 
}
.fsRed {
color:var(--red);
}
.cls {
clear:both;
}

p,li,dt,dd {
font-size: var(--fs-base);
line-height: var(--lh-base);
}
p,li {
margin-bottom:1em;
}
ul {
list-style-position:inside;
list-style-type:none;	
}
section ul {
width:95%;
max-width:940px;	
margin:0 auto 1em;
line-height:1.6;
}
ul.ulDot {
list-style-type:disc;
}
ol {
list-style-position:inside;
}
img {
display:block;
}

section p {
width:95%;
max-width:940px;	
margin:0 auto 1em;
line-height:1.6;
}

section p.width390Center {
width:95%;
max-width:390px;	
margin:0 auto 1em;
line-height:1.6;
}




section h4 {
width:95%;
max-width:940px;	
margin:0 auto;
line-height:1.6;
}
section ul.div2 {
width:95%;
max-width:750px;	
margin:0 auto;
line-height:1.6;
list-style-type:none;	
}

section dl {
width:95%;
max-width:940px;	
margin:0 auto;
line-height:1.6;
}
section dl dt {
color:var(--deepBlue);
font-weight:bold;	
}



figcaption,blockquote,table,th,td,span {
font-size: var(--fs-base);
line-height: var(--lh-base);
}

.textLeft {
text-align:left;
}

.textRight {
text-align:right;
padding-right:1em;
}
.textRight768 {
text-align:right;
padding-right:1em;
}
.imgAuto {
width:100%;
max-width:860px;
height:auto;
margin:0 auto;
}

.fsCenter {
text-align:center;
}
.fsRED {
color:var(--red);
}
.aligncenter {
width:auto;
height:auto;
display:block;
margin:0 auto 1em;
text-align:center;
}
a {
text-decoration: none;
transition : all 0.2s ease 0.2s;
}

a:hover {
text-decoration: none;
}
a:hover img {
opacity: 1;
}
img.alignright  {
display:block;
width:100%;
max-width:400px;
height:auto;
margin:0 auto;
}	


#title01,#title02,#title03,#title04,#title05,#title06,#title07,#title08,#title09,#title10,#title11,#title12,#title13,#title14,#title15,#title16,#title17,#title18,#title19,#title20 {
margin-top:-160px;
padding-top:160px;
line-height:1.6;
}

nav {
display:block;
}

.pagination{
	margin:2rem 0;
}

.pagination .nav-links{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:.4rem;
	flex-wrap:wrap;
}

.pagination .page-numbers{
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	border-radius:4px;
	background:var(--white);
	border:1px solid var(--deepBlue);
	color:var(--black);
	font-size:14px;
	font-weight:600;
	text-decoration:none;
	transition:.2s;
}

.pagination a.page-numbers:hover{
	background:var(--blue);
	border-color:var(--blue);
	color:var(--white);
}

.pagination .current{
	background:var(--deepBlue);
	border-color:var(--deepBlue);
	color:var(--white);
}

.pagination .prev,
.pagination .next{
	width:auto;
	min-width:40px;
	padding:0 .8em;
	border-radius:4px;
}

.pagination .dots{
	border:none;
	background:none;
	width:auto;
}

article {
margin:2em auto;
}
.container {
max-width:900px;
margin:0 1em;
}
.lcp_currentpage {
font-weight:normal;
border:1px solid var(--deepBlue);
background-color:var(--deepBlue);
border-radius: 6px;
color:var(--white);
cursor: not-allowed;
margin:0 5px;
padding: 10px 12px;
}


.leftHeader {
margin:10px auto;
position: relative;	
}

.leftHeader img {
display:block;
margin:0 auto;
width:100%;
max-width:240px;
}
.leftHeader h1 {
position: absolute;
font-size:16px;
top: 65px;
left: 0;
width: 100%;
text-align: left;
z-index: 10;
}

.leftHeader h1.gradient a {
color:var(--deepBlue);
text-decoration: none;
color: transparent;
background: linear-gradient(to right, var(--blue) 50%, var(--deepBlue) 50%) 100%;
background-clip: text;
background-size: 200% 100%;
transition: background-position 0.3s;
}

.leftHeader .gradient a:hover {
background-position: 0 100%;
}

.rightHeader {
display:block;
}

.rightHeader ul {
list-style-type:none;
display: flex;
flex-wrap: wrap;
justify-content:space-around;
margin:0 auto 10px;
max-width:400px;	
}
.rightHeader ul li {
width:140px;
text-align:center;


}


.rightHeader ul li img {
width:25px;
height:25px;
margin-right:5px;
}


.rightHeader ul li a {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: center;
line-height:50px;
background: transparent;
position: relative;
z-index: 1;
transition: .3s;
}

.rightHeader ul li a::before {
content: "";
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: -1;
border-radius:5px;
transform-origin: 50% 0%;
transform: scaleY(0);
transition: transform ease .3s;
}


.rightHeader ul li a:hover {
color: var(--deepBlue);
}
.rightHeader ul li a:hover::before {
  transform-origin: 50% 100%;
  transform: scaleY(1);
}
.hamburger {
position: fixed;
top: 20px;
right:10px;
z-index: 100;
width: 48px;
height: 48px;
border: none;
background-color:var(--blue);
cursor: pointer;
border-radius: 6px;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 3px;
  background-color:var(--white);
  transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
  top: 14px;
}
.hamburger__line:nth-of-type(2) {
  top: 23px;
}
.hamburger__line:nth-of-type(3) {
  top: 32px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  background-color:var(--white);
  box-shadow: 2px 0 4px rgba(0,0,0,.1);
  transform: translateX(-100%);
  transition: transform .4s;
  z-index: 90;
}

.nav.active {
  transform: translateX(0);
}

.nav__list {
  margin: 0;
  padding: 30px 0 0;
  list-style: none;
}

.nav__list ul.sub-menu {
border-top:1px solid var(--lightGray);
text-indent:1em;
}
.nav__list li {
border-bottom:1px solid var(--lightGray);
}

.nav__list ul.sub-menu li:last-child {
border-bottom:none;
}


.nav__list a {
display:block;
color:var(--black);
padding-left:1em;
font-weight:bold;
}

.nav__list a:hover {
color:var(--white);
background-color:var(--blue);
text-decoration:none;
}

.nav__list ul.sub-menu a {
font-weight:normal;
}

.nav__link {
  display: block;
  padding: 15px 0;
  color:var(--black);
  text-decoration: none;
  border-bottom: 1px solid var(--lightGray);
}

.headBread {
display:block;
margin:0 10px;
padding:10px;
}
.titleWrap {
text-align:center;
background-color:var(--white);
color:var(--deepBlue);
}

section {
width:100%;
margin-bottom:clamp(50px, 8vw, 150px);
background-color:var(--white);
padding-top:clamp(10px, 2vw, 20px);
padding-bottom:clamp(10px, 2vw, 20px);
}


section.topSlider {
background-color:var(--blue);
}



section.topSlider dl dt {
font-size:var(--fs-h3);
color:var(--white);
text-align:center;	
}
section.topSlider dl dd {
margin-bottom:2em;
}


section.topSlider img {
display: block;
width: min(100%, 600px);
height: auto;
margin-inline: auto;
}

.topSlider video {
width: 100%;
max-width:1200px;
height: auto;
aspect-ratio: 16 / 9;
display: block;
margin: 0 auto;
}

section.News {
background-color:var(--lightGray);	
}
section.News .titleWrap {
background-color:var(--lightGray);
}
section.bgGray {
background-color:var(--lightGray);	
}


section.News article {
margin:0 auto;
}
section.bgAuto600 ul {
width:98%;
max-width:600px;	
margin:0 auto;
list-style: disc;
list-style-position: inside;	
}
section .Table700 h4 {
width:98%;
max-width:860px;	
margin:0 auto;
}
section .Table700 p {
width:98%;
max-width:860px;	
margin:0 auto 4em;
line-height:3;
padding-left:1em;
background:var(--lightGray);
border-top:1px solid var(--darkGray);
border-bottom:1px solid var(--darkGray);	
}
section .Table700 ul {
width:98%;
max-width:860px;	
margin:0 auto 4em;
line-height:2;
list-style:none;
}
section .Table700 ul.bgLightGray {
background:var(--lightGray);
padding-left:1em;
border-top:1px solid var(--darkGray);
border-bottom:1px solid var(--darkGray);
}
section .Table700 ul.bgLightGray li {
line-height:2;	
}


section .Table700 ul li {
margin:0;
}
section .Table700 dl {
width:100%;
max-width:860px;	
margin:0 auto 4em;
display: flex;
flex-wrap: wrap;
justify-content: space-between;	
border-top:1px solid var(--darkGray);	
}
section .Table700 dl dt {
width:29%;
line-height:3;
padding-left:1em;
border-bottom:1px solid var(--darkGray);	
}
section .Table700 dl dd {
width:71%;
line-height:3;
border-left:1px solid var(--darkGray);
border-bottom:1px solid var(--darkGray);
padding:0 1em;
}
section .Table700 dl dd dl {
display: flex;
flex-wrap: wrap;
align-items: center;
margin:0;
padding:0;
border:none;
}
section .Table700 dl dd dl dt {
display: flex;
flex-wrap: wrap;
align-items: center;	
width:40px;
background:var(--white);
border:none;
padding:2.5px 0;	
}
section .Table700 dl dd dl dt img {
width:100%;
height:auto;
}


section .Table700 dl dd dl dd {
width:calc(100% - 45px);
border:none;
padding:0;
}


section .Table700 dt {
background:var(--lightGray);
}
section .Table700  dl dd ul {
list-style:none;
margin:0 auto;	
}
section .Table700  dl dd ol {
list-style:none;
list-style-position: inside;
margin:0 auto;
}
section .Table700  dl dd li {
margin:0;
line-height:2;			
}

section.Center700 h2 {
max-width:960px;
padding-inline:1rem;
margin-inline:auto;
margin-block:0 1em;
margin-bottom:10px;	
color:var(--deepBlue); 
text-align:center;
}

section.Center700 p{
max-width:960px;
padding-inline:1rem;
margin-inline:auto;
margin-block:0 1em;
margin-bottom:10px;	
line-height:1.6;
color:var(--black);
font-size:var(--fs-h4);
box-sizing:border-box;
}


section.Center700 .blocks {
width: 100%;
max-width:750px;
aspect-ratio: 1 / 1;
position: relative;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
margin:0 auto;	
}




section .Table1400 dl {
width:100%;
max-width:1400px;
margin:0 auto 2em;
display: flex;
flex-wrap: wrap;
justify-content: space-between;	
border-top:1px solid var(--darkGray);
text-align:center;
}
section .Table1400 dl dt {
width:15%;
line-height:3;
padding:0;
border-bottom:1px solid var(--darkGray);
background-color:var(--lightGray);
font-weight:normal;
}
section .Table1400 dl dd {
width:85%;
line-height:3;
border-left:1px solid var(--darkGray);
border-bottom:1px solid var(--darkGray);
padding:0;
}
section .Table1400 dl dd ul {
width:100%;
max-width:1400px;	
margin:0;	
line-height:3;
display: flex;
flex-wrap: wrap;
justify-content: space-between;	
}

section .Table1400 dl dd ul li {
width:calc(100% / 6);
line-height:3;
margin:0;	
}

section .Table1400 dl dd ul li:nth-child(2) {
background-color:var(--lightGray);
color:var(--black);	
}
section .Table1400 dl dd ul li:nth-child(4) {
background-color:var(--lightGray);
color:var(--black);	
}
section .Table1400 dl dd ul li:nth-child(6) {
background-color:var(--lightGray);
color:var(--black);	
}
.colorGreen {
color:var(--green);
font-weight:bold;	
}
.colorOrange {
color:var(--orange);
font-weight:bold;
}
.colorRed {
color:var(--red);
font-weight:bold;	
}




/* 四隅の4マス */
section.Center700 .block {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 20px;
color:var(--white);	
}
section.Center700 .block p {
text-align: left;
font-weight:bold;
color:var(--white);
font-size:var(--fs-base);	
}
section.Center700 .block--tl { 
background:var(--deepBlue); 
}
section.Center700 .block--tr { 
background:var(--pink);
color:var(--black);		
}
section.Center700 .block--tr p { 
background:var(--pink);
color:var(--black);		
}
section.Center700 .block--bl { 
background:var(--blue);
color:var(--black);	
}
section.Center700 .block--bl p { 
color:var(--black);
}
section.Center700 .block--bl h3 { 
background:var(--blue);
letter-spacing: 0em;
}

section.Center700 .block--br { 
background:var(--green);
}

section.Center700 .block--center {
position: absolute;
border-radius: 50%;	
border:5px solid var(--white);	
width: 25%;
height: 25%;
background:var(--red); 
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
justify-content: center;
align-items: center;
text-align: center;	
}

section.partnerArea00 .Table700 dt {
background:none;
}

.postThumbnail{
	margin:0 auto 1.5em;
}

.postThumbnail img{
	display:block;
	width:95%;
	height:auto;
	margin:auto;
	border-radius:10px;
}

/* ------------------------------
   LTEルーター メリット・デメリット
------------------------------ */

.CenterUL02{
max-width:1600px;
margin:0 auto 5rem;
padding:0 1rem;
}

.CenterUL02 h3{
font-size:var(--fs-h3);
text-align:center;
margin:0 0 3rem;
position:relative;
color:var(--deepBlue);
}


.CenterUL02 ul{
list-style:none;
margin:0 auto;
padding:0;
display:grid;
justify-content:center;	
gap:2rem;
}

.CenterUL02 li{
background:var(--white);
border-radius:20px;
padding:1rem;
box-shadow:0 10px 30px rgba(0,0,0,.08);
border-top:6px solid var(--blue);	
}

.CenterUL02 li h4{
margin:0 0 1.5rem;
font-size:var(--fs-h4);
display:flex;
align-items:center;
gap:.75rem;
color:var(--blue);	
}

/* メリット */

.CenterUL02 li:first-child{
border-top:6px solid var(--deepBlue);
}

.CenterUL02 li:first-child h4{
color:var(--deepBlue);
}

/* デメリット */

.CenterUL02 li:last-child{
border-top:6px solid var(--red);
}

.CenterUL02 li:last-child h4{
color:var(--red);
}

.CenterUL02 p{
font-size:var(--fs-base);
line-height:var(--lh-base);
color:var(--black);
margin:0 0 1.5rem;
}

.CenterUL02 p:last-child{
margin-bottom:0;
}
.divCenter200{
	width: min(100% - 2rem);
	margin-inline: auto;
	text-align: center;
}
.divCenter200 ul{
	width: min(100% - 2rem,160px);
	margin-inline: auto;
	text-align: left;
	list-style-position: outside;
}

.divCenter200 li{
	font-size: var(--fs-h4);
	margin: 0;
	line-height: 2;
}
.divCenter200 img{
	display: block;
	width: clamp(50px, 8vw, 60px);
	height: auto;
	margin: 0 auto 1.25rem;
}
.divCenter200 h4 {
color: var(--red);
}


.divCenter480{
width: min(100% - 1rem,580px);
margin-inline: auto;
text-align: center;
}



.divCenter480 ul{
margin: 0 auto 2rem;
padding: 0;
text-align: left;
list-style-position: outside;
}

.divCenter480 li{
font-size: var(--fs-h3);
margin: 0;
line-height: 2;
font-weight:700;
}


.divCenter480 dl {
	margin: 0 auto 2rem;
	padding: 0;
	text-align: left;
	list-style-position: outside;
}

.divCenter480 dt {
	font-size: var(--fs-h4);
	margin: 0;
	line-height: 1.6;
}
.divCenter480 dd {
	font-size: var(--fs-h4);
	margin: 0 0 1em 1.5em;
	line-height: 1.6;
}



.divCenter480 img{
	display: block;
	width: clamp(50px, 8vw, 60px);
	height: auto;
	margin: 0 auto 1.25rem;
}

.divCenter480 h4{
	margin: 0;
	color: var(--deepBlue);
	font-size: var(--fs-h4);
	line-height: 1.4;
}

.divCenter480 h5{
	margin: .5rem 0 0;
	color: var(--red);
	font-size: var(--fs-h3);
	line-height: 1.3;
}

section .table1x4  dl {
width:95%;
max-width:95%;	
margin:0 auto;
line-height:1.6;	
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-right:1px solid var(--darkGray);
}

section .table1x4  dt {
width:19%;
font-weight:normal;
display: flex;
flex-wrap: wrap;
justify-content:center;
align-items: center;
margin:0;
padding:10px 0;
border-top:1px solid var(--darkGray);
border-left:1px solid var(--darkGray);
}
section .table1x4  dd {
width:81%;
margin:0;
padding:0;
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: space-between;
}


section .table1x4 ul {
width:100%;
max-width:100%;
margin:0;
padding:0;
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: space-between;
list-style-type:none;
}
section .table1x4 ul li {
display: flex;
flex-wrap: wrap;
justify-content:center;
align-items: stretch;
width:25%;
text-align:center;
margin:0;
padding:10px 0;
list-style-type:none;
border-top:1px solid var(--darkGray);
border-left:1px solid var(--darkGray);
}
section .table1x4 ul li.BlTLTop {
border-top:1px solid var(--blue);
border-left:1px solid var(--blue);
}
section .table1x4 ul li.BlTLRTop {
border-top:1px solid var(--blue);
border-right:1px solid var(--blue);
}



section .table1x4 ul li.BlTL {
border-left:1px solid var(--blue);
}
section .table1x4 ul li.BlTLR {
border-right:none;
border-right:1px solid var(--blue);
}
section .table1x4 ul li.BlTLRBottom {
border-bottom:none;
border-left:1px solid var(--blue);
border-bottom:1px solid var(--blue);
}
section .table1x4 ul li.BlTRBottom {
border-bottom:none;	
border-right:1px solid var(--blue);
border-bottom:1px solid var(--blue);
}

section .table1x4 ul li.RedTLRTop {
border-top:1px solid var(--red);
border-left:1px solid var(--red);
border-right:1px solid var(--red);	
}

section .table1x4 ul li.RedTLR {
border-left:1px solid var(--red);
border-right:1px solid var(--red);	
}
section .table1x4 ul li.RedTLRBottom {
border-left:1px solid var(--red);
border-right:1px solid var(--red);
border-bottom:1px solid var(--red);
}




section .table1x4 ul li.BorderLNone {
border-left:none;
}

section .table1x4 .GrBottom {
border-bottom:1px solid var(--darkGray);
}



section .table1x4 ul li i {
display: flex;
flex-wrap: wrap;
justify-content:center;
align-items: center;
}

section .table1x4b dl {
width:95%;
max-width:95%;	
margin:0 auto;
line-height:1.6;	
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
section .table1x4b dl dt {
width:19%;
}
section .table1x4b dl dd {
width:81%;
}

section .table1x4b dl dd ul {
list-style-type:none;
display: flex;
flex-wrap: wrap;	
}

section .table1x4b dl dd li:first-child {
width:50%;
padding:10px 20px;
color:var(--blue);
}
section .table1x4b dl dd li:nth-child(2) {
width:25%;
padding:10px 20px;
color:var(--red);
}
section .table1x4b dl dd li:nth-child(3) {
width:25%;
}

section .table1x4b dl dd ul li dl {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width:100%;
max-width:100%;
margin:0;	
}
section .table1x4b dl dd ul li dl dt {
width:46%;
}
section .table1x4b dl dd ul li dl dd {
width:54%;
}
.imgLeft dd {
background-color:var(--lightGray);
padding:10px;
border-radius: 6px;	
}	
.imgLeft dd ul {
list-style-position:inside;
}	

.heightAuto dd {
background-color:var(--lightGray);
padding:10px;
border-radius: 6px;	
}	
.heightAuto dd ul {
list-style-position:inside;
}	

.spec-table {
  display: grid;
  /* 4列の幅を設定（dtが1.2、ddが残り3つの等分） */
  grid-template-columns: 1.2fr 1fr 1fr 1fr; 
  width: 100%;
  max-width: 940px; 
  margin: 0 auto 10px;
  padding: 0;
  border:1px solid var(--darkGray);
}

/* 項目（dt）とデータ（dd）の共通スタイル */
.spec-table dt,
.spec-table dd {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 5px;
  margin: 0;
  text-align: center;
  /* 内側の区切り線も var(--darkGray) に */
  border-bottom: 1px solid var(--darkGray); 
  border-right: 1px solid var(--darkGray);  
}

/* 最後の列は右のボーダーを消す（外枠の太線と被るため） */
.spec-table dd:nth-of-type(3n) {
  border-right: none;
}

/* 最後の行は下のボーダーを消す（外枠の太線と被るため） */
.spec-table dt:last-of-type,
.spec-table dt:last-of-type ~ dd {
  border-bottom: none;
}

/* 最上部（ヘッダー行）の文字を強調 */
.spec-table dt:first-child,
.spec-table dt:first-child ~ dd {
  font-size: var(--fs-base);
}

/* 各行の中で「2つ目のdd（EX1200Lの列）」だけを背景色 var(--blue) に */
.spec-table dd:nth-of-type(3n - 1) {
  background-color: var(--blue);
}



.ULcenter .ulDot {
list-style:none;
padding:0;
width: auto;
max-width:940px;
margin:0 10px;		
}

.ULcenter .ulDot li {
margin:0 0 20px;
padding:15px;
border:1px solid var(--darkGray);
border-radius:5px;	
background-color:var(--lightGray);
box-shadow: 6px 6px 12px rgba(0,0,0,0.2);	
line-height:1.6;
}


section.pdfDownLoad {
width:95%;
max-width:600px;
margin:40px auto;
}

section.pdfDownLoad ul {
margin:20px 0 0;
padding:0;
list-style:none;
}

section.pdfDownLoad ul li {
position:relative;
margin:0 0 15px;
padding:18px 60px 18px 55px;
background:var(--white);
border-radius:12px;
border:1px solid var(--lightGray);
box-shadow:0 4px 12px rgba(0,0,0,0.06);
font-size:16px;
font-weight:600;
transition:all .3s ease;
cursor:pointer;
}
section.pdfDownLoad li a {
display:block;
color:var(--black);
text-decoration:none;
}
section.pdfDownLoad ul li:hover {
box-shadow:0 10px 25px rgba(0,0,0,0.12);
border-color:var(--deepBlue);
}

section.pdfDownLoad ul li::before {
content:"📄";
position:absolute;
left:18px;
top:50%;
transform:translateY(-50%);
font-size:24px;
}

section.pdfDownLoad ul li::after {
content:"›";
position:absolute;
right:20px;
top:50%;
transform:translateY(-50%);
font-size:var(--fs-h5);
font-weight:bold;
color:var(--deepBlue);
transition:right .3s ease;
}

section.pdfDownLoad ul li:hover::after {
right:15px;
}











section.firmwareDownLoad {
width:95%;
max-width:600px;
margin:40px auto;
}

section.firmwareDownLoad ul {
margin:20px 0 0;
padding:0;
list-style:none;
}

section.firmwareDownLoad ul li {
position:relative;
margin:0 0 15px;
padding:18px 60px 18px 55px;
background:var(--white);
border-radius:12px;
border:1px solid var(--lightGray);
box-shadow:0 4px 12px rgba(0,0,0,0.06);
font-size:16px;
font-weight:600;
transition:all .3s ease;
cursor:pointer;
}
section.firmwareDownLoad li a {
display:block;
color:var(--black);
text-decoration:none;
}
section.firmwareDownLoad ul li:hover {
box-shadow:0 10px 25px rgba(0,0,0,0.12);
border-color:var(--deepBlue);
}

section.firmwareDownLoad ul li::before {
content:"💾";
position:absolute;
left:18px;
top:50%;
transform:translateY(-50%);
font-size:24px;
}

section.firmwareDownLoad ul li::after {
content:"›";
position:absolute;
right:20px;
top:50%;
transform:translateY(-50%);
font-size:var(--fs-h5);
font-weight:bold;
color:var(--deepBlue);
transition:right .3s ease;
}

section.firmwareDownLoad ul li:hover::after {
right:15px;
}



/* FAQ */
.accordion{
width:100%;
margin:30px auto;
}

/* 各項目 */
.accordion details{
margin:0 0 12px;
background:var(--white);
border:1px solid var(--darkGray);
border-radius:12px;
overflow:hidden;
transition:.3s;
}



/* 質問 */
.accordion summary{
position:relative;
display:block;
padding:16px 50px 16px 16px;
cursor:pointer;
list-style:none;
font-size:var(--fs-base);
font-weight:bold;
line-height:var(--lh-base);
color:var(--black);
}

.accordion summary::-webkit-details-marker{
display:none;
}

/* Qラベル */
.accordion summary span{
display:inline-block;
padding:3px 10px;
margin:0 8px 6px 0;
border-radius:20px;
background:var(--deepBlue);
color:var(--white);
font-size:1.2rem;
font-weight:bold;
}

/* ＋マーク */
.accordion summary::before,
.accordion summary::after{
content:"";
position:absolute;
right:16px;
top:50%;
width:16px;
height:2px;
background:var(--deepBlue);
transition:.3s;
}

.accordion summary::before{
transform:translateY(-50%);
}

.accordion summary::after{
transform:translateY(-50%) rotate(90deg);
}

.accordion details[open] summary::after{
opacity:0;
}



/* 回答 */
.accordion details p{
margin:0;
padding:18px;
background:var(--white);
font-size:var(--fs-base);
line-height:1.8;
color:var(--black);
}

/* Aラベル */
.accordion details p span{
display:inline-block;
padding:3px 10px;
margin:0 8px 6px 0;
border-radius:20px;
background:var(--blue);
color:var(--white);
font-size:1.2rem;
font-weight:bold;
}






section.tableContents {
width:95%;
max-width:340px;
margin:40px auto;
padding:0;
}

section.tableContents ul {
display:flex;
flex-wrap:wrap;
gap:12px;
margin:20px auto 0;
padding:0;
list-style:none;
}

section.tableContents ul li {
width:100%;
margin:0;
padding:0;
}

section.tableContents ul li a {
display:flex;
align-items:center;
justify-content:space-between;
padding:16px 20px;
background:var(--deepBlue);
border:1px solid var(--deepBlue);
border-radius:12px;
color:var(--white);
font-size:var(--fs-base);
font-weight:700;
text-decoration:none;
box-shadow:0 4px 12px rgba(0,0,0,.06);
transition:.3s;
}

section.tableContents ul li a::after {
content:"▶";
font-size:18px;
transition:.3s;
}

section.tableContents ul li a:hover {
background:var(--blue);
color:var(--deepBlue);
box-shadow:0 10px 25px rgba(33,40,127,.25);
}

section.tableContents ul li a:hover::after {
transform:translateX(5px);
}


section.LEDlamp {
width: auto;
max-width:940px;
margin:0 10px;	
}
section.LEDlamp h4 {
width:100%;
}
section.LEDlamp img {
width:100%;
max-width:400px;
margin:0 auto;
}

section.LEDlamp dl dd p.circleRed {
display: inline-block;
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--red);
color:var(--white);
text-align:center;
line-height: 60px;
margin:0 auto;
padding:0;
}
section.LEDlamp  dl dd p.circleBlue {
display: inline-block;
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--blue);
color:var(--white);
text-align:center;
line-height:60px;
margin:0 auto;
padding:0;
}
section.LEDlamp  dl dd p.circleYellow {
display: inline-block;
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--yellow);
color:var(--black);
text-align:center;
line-height: 60px;
margin:0 auto;
padding:0;
border:1px solid var(--darkGray);
}
section.LEDlamp  dl dd p.circlePurple {
display: inline-block;
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--purple);
color:var(--white);
text-align:center;
line-height: 60px;
margin:0 auto;
padding:0;
}
section.LEDlamp  dl dd p.circleGreen {
display: inline-block;
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--green);
color:var(--white);
text-align:center;
line-height:60px;
margin:0 auto;
padding:0;
}

section.LEDlamp  dl dd p.circleWhite {
display: inline-block;
width: 60px;
height: 60px;
border-radius: 50%;
background: var(--white);
color:var(--black);
text-align:center;
line-height:60px;
margin:0 auto;
padding:0;
border:1px solid var(--darkGray);
}

section.LEDlamp .table001 dl {
width:100%;
max-width:400px;
margin:1em 0;
padding:0;
display: flex;
flex-wrap: wrap;	
border:1px solid var(--darkGray);
border-bottom:none;
}

section.LEDlamp .table001 dl dt {
width:33%;
height:80px;
padding:0;
font-weight:normal;
text-align:center;
background-color:var(--lightGray);
line-height:80px;
border-bottom:1px solid var(--darkGray);
}
section.LEDlamp .table001 dl dd {
width:67%;
height:80px;	
padding:0;
margin:0;
border-bottom:1px solid var(--darkGray);
display:flex;
align-items:center;	
}

section.LEDlamp .table001 dl dd ul {
width:100%;	
margin:0;
padding:0;
list-style-type:none;
display: flex;
flex-wrap: wrap;
}


section.LEDlamp .table001 dl dd li {
list-style-type:none;
width:calc(100% / 3);
height:80px;
display: flex;
align-items: center;
margin:0;
padding:0 auto;
text-align:center;
border-right:1px solid var(--darkGray);
}
section.LEDlamp .table001 dl dd li:last-child {
border-right:none;
}
section.LEDlamp .table001 dl dd p {
margin:0 auto;
text-align:center;	
}
section.LEDlamp .table001 dl dd p span {
display:block;
}
.blinking01 {
    animation: blink 0.7s ease-in-out infinite alternate;
}

.blinking01 {
    animation: blink 0.7s ease-in-out infinite alternate;
    animation-delay: 0s;
}

.blinking02 {
    animation: blink 0.7s ease-in-out infinite alternate;
    animation-delay: 0.2s;
}

.blinking03 {
    animation: blink 0.7s ease-in-out infinite alternate;
    animation-delay: 0.4s;
}

@keyframes blink {
    0%   { opacity: 1; }
    100% { opacity: 0; }
}

.arrowBox {
width:100%;	
max-width:390px;
}

.arrowBox img.wp-image-215 {
display:block;	
width:75px;
height:auto;
margin:0 auto;
}


.LEDlamp720 .width600 p {
width:100%;
max-width:600px;
margin:0 auto;
}
.LEDlamp720 .width600 img {
width:100%;
max-width:600px;
height:auto;
margin:0 auto;
}

section.LEDlamp720 ol {
width:95%;
max-width:940px;	
margin:0 auto 1em;
line-height:1.6;
}

.table00720J {
width:100%;
max-width:940px;
margin:1em auto;
padding:0;
}
.table00720J ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width:400px;
margin:1em 0;
padding:0;
}
.table00720J ul li {
width:calc(100% / 3.4);
}

.table00720J ul li dt {
text-align:center;
}
.table00720J ul li dt span {
display:block;
}

section.LEDlamp720 .table00720J dl {
width:100%;
max-width:400px;
margin:0;
padding:0;
border:1px solid var(--darkGray);
}

section.LEDlamp720 dl {
width:100%;
max-width:940px;	
margin:0 auto;
line-height:1.6;
}
section.LEDlamp720 dl dt h4 {
width:100%;
max-width:940px;	
margin:0 auto;
line-height:1.6;
}
section.LEDlamp720 dl dd {
text-align:center;
line-height: 60px;
margin:0 auto;
}
section.LEDlamp720 dl dd p.rectangleBlue {
display: inline-block;
width: 40px;
height: 60px;
background: var(--blue);
color:var(--white);
text-align:center;
line-height: 60px;
margin:10px auto;
padding:0;
}
section.LEDlamp720 dl dd p.rectangleOff {
display: inline-block;
width: 40px;
height: 60px;
background: var(--white);
color:var(--black);
text-align:center;
line-height:60px;
margin:10px auto;
padding:0;
border:1px solid var(--darkGray);
}
section.LEDlamp720 dl dd p.rectangleRed {
display: inline-block;
width: 40px;
height: 60px;
background: var(--red);
color:var(--white);
text-align:center;
line-height: 60px;
margin:10px auto;
padding:0;
}
section.LEDlamp720 dl dd p.rectanglePurple {
display: inline-block;
width: 40px;
height: 60px;
background: var(--purple);
color:var(--white);
text-align:center;
line-height: 60px;
margin:10px auto;
padding:0;
}

section.ledStatus img {
width:100%;
max-width:600px;
height:auto;	
margin:0 auto;
}

section.ledStatus dl.head dt,
section.ledStatus dl.head dd {
background:var(--lightGray);
text-align:center;	
}
section.ledStatus dl {
width:100%;
max-width:940px;
margin:0;
display:flex;
border-bottom:1px solid var(--darkGray);
}
section.ledStatus dt{
font-weight:bold;
}

section.ledStatus dt{
	width:20%;
}
section.ledStatus h4 {
font-weight:normal;
}

section.ledStatus dd:nth-of-type(1){
	width:45%;
}

section.ledStatus dd:nth-of-type(2){
	width:35%;
}
section.ledStatus dl{
display:flex;
border-top:1px solid var(--darkGray);
border-bottom:none;
width:100%;
max-width:860px;	
margin:0 auto;	
}

section.ledStatus dl:last-child{
	border-bottom:1px solid var(--darkGray);
}

section.ledStatus dt,
section.ledStatus dd{
	margin:0;
	padding:10px;
	box-sizing:border-box;
	line-height:1.6;
}

section.ledStatus dt{
	width:22%;
	text-align:center;
	border-right:1px solid var(--darkGray);
	display:flex;
	align-items:center;
	justify-content:center;
}

section.ledStatus dd:nth-of-type(1){
	width:44%;
	border-right:1px solid var(--darkGray);
}

section.ledStatus dd:nth-of-type(2){
	width:34%;
	background:var(--white);
}









.table002 {
  display: flex;
  flex-direction: column; /* 縦並び */
  align-items: center;    /* 中央揃え */
  list-style: none;
  padding: 0;
  margin: 0 auto;
  gap: 20px;
}

/* 3つの主要な li（左ブロック、矢印、右ブロック） */
.table002 > li {
  width: 100%;
  max-width: 600px;       /* 全体の最大幅を600pxに統一 */
  text-align: center;
  box-sizing: border-box;
}

/* 1枚目の画像（左ブロックの画像） */
.table002 > li > img {
  width: 100%;
  height: auto;
  display: block;
}

/* 3つ目のブロック内にある2枚並びの ul */
.table002 > li > ul {
  display: flex;
  justify-content: space-between; /* 両端に綺麗に分ける */
  gap: 10px;                     /* 画像と画像の間のすき間 */
  list-style: none;
  padding: 0;
  margin: 0 auto;
}

/* 2枚並びのそれぞれの li */
.table002 > li > ul > li {
  /* 隙間（gap: 10px）の分を引いて、2枚がぴったり同じ幅になるよう計算 */
  width: calc(50% - 5px); 
  list-style: none;
}

.table002 > li > ul > li > img {
  width: 100%;
  height: auto;
  display: block;
}

/* 説明テキストのスタイル */
.table002 p {
  margin:0 10px;
  text-align: left; /* テキストは左寄りに（お好みで center にしてください） */
}

/* 矢印エリア */
.table002 .arrowBox {	
max-width:100%;
display: flex;
justify-content: center;
align-items: center;
padding: 10px 0;
}

.table002 .arrowBox img {
  width: 40px;            /* 矢印のサイズ */
  height: auto;
}



section ul.table03 dl {
width:100%;
max-width:860px;	
margin:0 auto 1em;
display: flex;
flex-wrap: wrap;
justify-content: space-between;	
border-top:1px solid var(--darkGray);	
}

section ul.table03 dl dt {
width:29%;
height:auto;
padding:0;
font-weight:normal;
display:flex;
flex-direction: column ;	
justify-content:center;	
align-items:center;		
text-align:center;
background-color:var(--lightGray);
line-height:80px;
border-bottom:1px solid var(--darkGray);
}
section ul.table03 dl dt p {
margin:0;
padding:0;
text-align:center;
}
section ul.table03 dl dd {
width:71%;
line-height:3;
border-left:1px solid var(--darkGray);
border-bottom:1px solid var(--darkGray);
padding:0 1em;
}

.table004 {
  display: flex;
  flex-direction: column; /* 縦並び */
  align-items: center;    /* 中央揃え */
  list-style: none;
  padding: 0;
  margin: 0 auto;
  gap: 20px;
}

/* 3つの主要な li（左ブロック、矢印、右ブロック） */
.table004 > li {
  width: 100%;
  max-width: 600px;       /* 全体の最大幅を600pxに統一 */
  text-align: center;
  box-sizing: border-box;
}

.table004 img {
border-radius: 6px;	
border:1px solid var(--darkGray);
}

.table004 .arrowBox img {
border-radius: 0;	
border:none;
}



.table004 .arrowBox {
width:100%;	
max-width:100%;
}
.table004 li span {
display:block;	
text-align:left;
margin:0;
}
.table004 li p {
display:block;	
text-align:left;
margin:0;
}

.table005 {
display: flex;
flex-direction: column; /* 縦並び */
align-items: center;    /* 中央揃え */
list-style: none;
padding: 0;
margin: 0 auto;
gap: 20px;
}	
.table005 li {
width: 100%;
max-width: 600px;       /* 全体の最大幅を600pxに統一 */
text-align: center;
box-sizing: border-box;
margin-bottom:0;	
}	
.table005 li img {
width: 100%;
height: auto;
display: block;
}		
.table005 li p {
margin-bottom:0;
text-align:left;
}		
.table005 li ul li{
margin-bottom:1em;	
}	

/* 活用事例 */
ul.flex2x3{
display:flex;
flex-wrap:wrap;
gap:20px;
margin:20px auto;
padding:0;
list-style:none;
}

/* カード */
ul.flex2x3 li{
width:100%;
overflow:hidden;
background:var(--white);
border:1px solid var(--darkGray);
border-radius:16px;
box-shadow:0 4px 20px rgba(0,0,0,.05);
transition:.3s;
}

/* 画像 */
ul.flex2x3 li .imgWrap{
overflow:hidden;
aspect-ratio:3 / 2;
}

ul.flex2x3 li .imgWrap img{
display:block;
width:100%;
height:100%;
object-fit:cover;
transition:.5s;
}


/* タイトル */
ul.flex2x3 li h4{
width:100%;
margin:0;
padding:10px;
font-size:var(--fs-h4);
line-height:1.4;
color:var(--deepBlue);
text-align:center;
display: flex;
justify-content: center;
align-items: center;	
}

/* CASEラベル */
ul.flex2x3 li h4 span{
display:inline-block;
margin:0 8px 0 0;
padding:4px 10px;
border-radius:20px;
background:var(--deepBlue);
color:var(--white);
font-size:1.1rem;
font-weight:bold;
line-height:1;	
}

/* 本文 */
section ul.flex2x3 li p{
width:100%;
padding:10px;
margin:0;
font-size:var(--fs-base);
line-height:var(--lh-base);
}
section ul.flex2x3 li h5 {
color:var(--red);	
font-size:var(--fs-h5);
text-align:center;
margin-bottom:1em;
}


.News dt {
display: flex;
flex-wrap: wrap;
justify-content:space-between;
align-items: center;
margin-bottom:3px;
}
.News dd h3 {
line-height:1.2;
padding-left:0;
background-image:none;
border-bottom:none;
}
.News dd h3 a {
text-decoration:none;
}
.News dd h3 a:hover {
text-decoration:none;
}



.News ul {
width:100%;
margin:3em 0 0;
list-style-type:none;
}

.News ul li {
margin-bottom:1em;
padding:clamp(10px, 2vw, 20px);
background-color:var(--white);
border:1px solid var(--deepBlue);	
border-radius: 6px;	
}

.News ul.post-categories {
width:100px;
margin:0;
text-align:right;
}
.News ul.post-categories li {
border-bottom:none;
margin-bottom:0;
text-align:center;
}


.News ul li span a {
padding:5px 10px;
}

.News ul li span.new-label {
display: none;
font-weight: bold;
}
.News ul li:first-child .new-label {
display: inline-block;
color:var(--red);
animation: blink 1s infinite;
}
@keyframes blink {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0; }
}



.News ul li dd p a {
text-decoration:none;
color:var(--black);
}
.News ul li dd p a:hover {
text-decoration:none;
color:var(--blue);
}

input[type="email"],input[type="tel"],input[type="text"] {
display:block;
margin:0 auto;
position: relative;
font-size:16px;
width:90%;
height:40px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
border:solid 1px var(--darkGray);
-webkit-appearance: none;
outline: none;
padding:10px;
}

input:focus[type="email"],input:focus[type="tel"],input:focus[type="text"] {
outline: none;
box-shadow: 0 0 10px var(--blue);
border-color:var(--blue);
}

input[name="your-age"],input[name="postal-code"] {
width:33%;
}
.wpcf7-checkbox input[type="checkbox"] {
width:16px;
height:16px;
margin-right:10px;	
-moz-transform:scale(1.4);
-webkit-transform:scale(1.4);
transform:scale(1.4);
border:1px solid var(--red);
}



.wpcf7-radio input[type="radio"] {
width:16px;
height:16px;
-moz-transform:scale(1.4);
-webkit-transform:scale(1.4);
transform:scale(1.4);
border:1px solid var(--red);
}


section .wpcf7 dd textarea {
display:block;
width:90%;
margin:0 auto;
padding:10px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
border:solid 1px var(--darkGray);
-webkit-appearance: none;
}
section .wpcf7 dd textarea:focus {
box-shadow: 0 0 10px var(--blue);
border-color: var(--blue);
border-radius: 6px;
}
section .wpcf7 dd textarea:focus-visible {
outline:none;
}

section .forMail input[type="file"] {
margin-top:5px;
}
section .forMail dt {
color:var(--deepBlue);
font-weight:600;
}
section .forMail dt span {
color:var(--white);
background-color:var(--red);
font-size:12px;
margin-bottom:2px;
margin-left:10px;	
padding	:2px 4px;
border-radius: 4px;
}


section .forMail dd {
margin-bottom:1em;
}
section .forMail dd span.wpcf7-list-item-label {
display:inline-block;
line-height:2;	
}
section .forMail input[type="submit"] {
display:block;
-webkit-appearance: none;
border-radius: 0;
width:120px;
margin:30px auto 0;
padding:0;
position: relative;
font-size:16px;
outline-offset:0;
height:42px;
line-height:42px;
border:1px solid var(--darkGray);
text-align:center;
background-image: -webkit-gradient(linear, left top, left bottom, from(var(--blue)), to(var(--deepBlue)));
background-image: -webkit-linear-gradient(top, var(--blue), var(--deepBlue));
background-image: -moz-linear-gradient(top, var(--blue), var(--deepBlue));
background-image: -ms-linear-gradient(top, var(--blue), var(--deepBlue));
background-image: -o-linear-gradient(top, var(--blue), var(--deepBlue));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='var(--blue)', endColorstr='var(--deepBlue)',GradientType=0 ); /* IE6-9 */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}


section .textCenter input[type="submit"] {
display:block;
width:60px;
margin:0 auto;
padding:0;
position: relative;
font-size:16px;
outline-offset:0;
height:42px;
line-height:42px;
border:1px solid var(--darkGray);
text-align:center;	
-webkit-appearance: none;
border-radius: 0;
background-image: -webkit-gradient(linear, left top, left bottom, from(var(--blue)), to(var(--deepBlue)));
background-image: -webkit-linear-gradient(top, var(--blue), var(--deepBlue));
background-image: -moz-linear-gradient(top, var(--blue), var(--deepBlue));
background-image: -ms-linear-gradient(top, var(--blue), var(--deepBlue));
background-image: -o-linear-gradient(top, var(--blue), var(--deepBlue));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='var(--blue)', endColorstr='var(--deepBlue)',GradientType=0 ); /* IE6-9 */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;	
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
border-color: var(--red);
width:50%;
font-size:var(--fs-h4);
margin:0 auto;
text-align:center;
}



.focus-only:focus {
  outline: 2px solid black;
}

.focus-visible-only:focus-visible {
  outline: 4px dashed darkorange;
}

}
fieldset {
display: flex;
flex-wrap: wrap;
justify-content:center;
border:none;
}

p.blockShadow {
width:92%;
max-width:940px;
height:auto;
margin:0 auto 2em;	
padding:20px;	
border:1px solid var(--darkGray);
border-radius:5px;	
background-color:var(--white);
box-shadow: 6px 6px 12px rgba(0,0,0,0.2);	
}
section.privacyPolicy dt {
color:var(--deepBlue);
font-weight:600;	
}
section.privacyPolicy dd {
margin-bottom:1em;
}

section.privacyPolicy dd p {
width:95%%;
max-width:940px;	
margin:0 0 1em;
line-height:1.6;
}

section.privacyPolicy dd li {
margin-bottom:10px;
}


.wpSearchCount {
margin-bottom:3em;
}

.wpSearchCount ul {
list-style: inside;
}
#wpSearchCenter {
margin:50px auto;
max-width:600px;
}

#wpSearchCenter fieldset {
border:none;
display: flex;
flex-wrap: wrap;
justify-content:center;
}



#wpSearchCenter #s {
width:60%;
margin:10px 10px 10px 0;
}
#wpSearchCenter #submit_button {
width:70px;
height:40px;
margin:10px 0;
}
#wpSearchCenter input {
padding:0;
text-align:center;
}



.CenterUL h2 {
text-align:center;
}
.CenterUL ul {
list-style-type:none;
margin-top:50px;	
}	

.CenterUL span {
display:inline-block;
text-align:center;
width:98%;
max-width:700px;
margin:0 auto 1em;
font-size:var(--fs-h4);
}


.CenterUL p {
width:95%;
max-width:700px;
margin:0 auto 2em;	
}
.CenterUL p a {
text-decoration:none;
}
.CenterUL dd p {
width:100%;
max-width:100%;
margin:1em auto;	
}
.CenterUL03 {
max-width:1200px;
margin:0 auto;
padding:3rem 1rem;
}

.CenterUL03 h3 {
text-align:center;
font-size:var(--fs-h3);
color:var(--deepBlue);
margin-bottom:1rem;
}



.CenterUL03 > p {
text-align:center;
max-width:800px;
margin:0 auto 3rem;
line-height:1.8;
color:var(--black);
}

.routerCard {
list-style:none;
margin:0 0 4rem;
padding:0;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.routerCard li {
background:var(--white);
padding:2rem;
border-radius:18px;
box-shadow:0 5px 20px rgba(0,0,0,.3);
border:1px solid var(--darkGray);
transition:all .35s ease;
}


.routerCard h4 {
margin:0 0 1rem;
color:var(--deepBlue);
font-size:var(--fs-h4);
}

.routerCard p {
margin:0;
line-height:1.9;
}

.routerSelect {
max-width:750px;
margin:0 auto;
background:var(--lightGray);
padding:2.5rem;
border-radius:20px;
border:1px solid var(--darkGray);
}

.routerSelect h4 {
color:var(--deepBlue);
font-size:1.4rem;
margin:0 0 1.5rem;
text-align:center;
}

.routerSelect ol {
list-style:none;
padding:0;
margin:0;
counter-reset:step;
}

.routerSelect ol li {
counter-increment:step;
position:relative;
padding:1rem 1rem 1rem 70px;
margin-bottom:15px;
background:var(--white);
border-radius:12px;
box-shadow:0 3px 10px rgba(0,0,0,.05);
transition:.3s;
}

.routerSelect ol li::before {
content:counter(step);
position:absolute;
left:18px;
top:50%;
transform:translateY(-50%);
width:36px;
height:36px;
line-height:36px;
text-align:center;
border-radius:50%;
background:var(--deepBlue);
color:var(--white);
font-weight:bold;
}

.wifiSpec{
margin:0 auto;
font-size:var(--fs-base);
line-height:var(--lh-base);
}

.wifiSpec h2{
font-size:var(--fs-h2);
margin:0 0 1em;
}

.wifiSpec dl{
width:100%;
margin:0;
}

.wifiSpec dt{
margin-top:1em;
padding:.8em 1em;
background:var(--lightGray);
color:var(--black);
font-size:var(--fs-h4);
}

.wifiSpec dd{
margin:0;
padding:1em;
background:var(--white);
}

.wifiSpec ul{
margin:0;
padding:0;
list-style:none;
}

.wifiSpec li{
padding:.5em 0;
border-bottom:1px dashed var(--darkGray);
margin-bottom:0;	
}

.wifiSpec li:last-child{
border-bottom:none;
}

.wifiSpec strong{
color:var(--black);
}
.wifiSpec dd,
.wifiSpec li{
overflow-wrap: break-word;
word-wrap: break-word;
word-break: break-word;
}

p.w390Center {
width:100%;	
max-width:390px;
margin:0;	
text-align:center;
}
section.UL3 dl {
width:100%;
max-width:100%;	
margin:0;
}
section.UL3 dl dd {
margin:0 10px;
}




footer {
background-color:var(--blue);	
color:var(--black);
}

footer a {
color:var(--deepBlue);
}

.footerMenu ul {
list-style-type:none;
margin:30px auto;
border-top:1px solid var(--darkGray);
}
.footerMenu li {
display: flex;
justify-content: space-between;
align-items: center;
height: 66px;
padding: 0 30px;
border-bottom:1px solid var(--darkGray);
}
.footerMenu li a {
display: flex;
justify-content: space-between;
align-items: center;
width:100%;
height: 66px;
padding: 0;
font-size: 20px;
}

.footerMenu li a:hover {
opacity:0.5;
}
.footerMenu li a::after {
width: 1em;
height: 1em;
font-size: 10px;
border-top-style: solid;
border-left-style: solid;
border-width: 1px;
border-color: var(--black);
transform: rotate(135deg);
content: "";
}
.footerMenu .sub-menu {
display: none;
margin: 0;
border-top: none;
}

.footerMenu .sub-menu li {
padding-left: 50px;
background: var(--lightGray);
}



.footerBlock {
padding:10px;
max-width:898px;
margin:0 auto;	
}

.footerBlock dl {
display: flex;
flex-wrap: wrap;
justify-content:center;	
align-items: center;	
}


.footerBlock dt {
margin:0;
width:15%;
max-width:40px;	
}
.footerBlock dt img {
display:block;
width:95%;
height:auto;
}
.footerBlock dd a {
text-decoration:none;
}
.footerBlock h4 {
text-align:center;
font-size:21px;
margin-bottom:0;
}


.leftFooter p {
color:var(--black);
line-height:1.4;
margin-top:1em;
}


.leftFooter p a {
color:var(--deepBlue);
text-decoration: none;
color: transparent;
background: linear-gradient(to right, var(--blue) 50%, var(--deepBlue) 50%) 100%;
background-clip: text;
background-size: 200% 100%;
transition: background-position 0.3s;
}

.leftFooter p a:hover {
background-position: 0 100%;
opacity:1;
}





.rightFooter {
display:block;
}

.rightFooter ul {
list-style-type:none;
display: flex;
flex-wrap: wrap;
justify-content:space-around;
margin:0 0 1em;
}
.rightFooter ul li {
width:140px;
text-align:center;
border:1px solid var(--blue);
border-radius:5px;

}

.rightFooter ul li img {
width:25px;
height:25px;
margin-right:5px;
}



.rightFooter ul li a {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height:50px;
}
.rightFooter p {
line-height:1.2;
padding:0 30px;
color:var(--deepblack);
margin-bottom:10px;
}
.rightFooter p span {
display:block;
}
.rightFooter p a {
color:var(--deepblack);
}
#menu-footermenu {
margin:30px auto;
border-top:1px solid var(--blue);
}
#menu-footermenu li {
display: flex;
justify-content: space-between;
align-items: center;
height: 66px;
padding: 0 30px;
border-bottom:1px solid var(--darkGray);
}


#menu-footermenu li a {
display: flex;
justify-content: space-between;
align-items: center;
width:100%;
height: 66px;
padding: 0;
font-size: 20px;
}

#menu-footermenu li a:hover {
opacity:0.5;
}
#menu-footermenu li a::after {
width: 1em;
height: 1em;
font-size: 10px;
border-top-style: solid;
border-left-style: solid;
border-width: 1px;
border-color: var(--black);
transform: rotate(135deg);
content: "";
}


footer small {
display:block;
text-align:center;
margin:2em auto 54px;
padding:2em 0 54px;
color:var(--white);
font-size:14px;
background-color:var(--deepBlue);
height:160px;	
}

footer small a{
display:block;
color:var(--white);
}
footer small a:hover {
color:var(--blue);
}

.footerBlock {
background-color:var(--white);
}	
.post-password-form {
width:95%;
max-width:940px;
margin:0 auto 20rem;
}

.Gmap {
position:relative;
width:100%;
padding-bottom:calc((450 / 600) * 100%);
filter:grayscale(60%);
}

.Gmap iframe {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
#wp_manual img {
width:940px;
margin:0 auto;
}

#wp_manual .Instruction dd {
margin:0 0 1em;
}
#wp_manual .Instruction dd a {
text-decoration:underline;
}

dl.wp_manual {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
dl.wp_manual dt {
width:50%;
margin-bottom:1em;
}
dl.wp_manual dd {
width:50%;
margin-bottom:1em;	
}

dl.wp_manual dd ol {
width:95%;
max-width:940px;	
margin:0 auto 1em;
line-height:1.6;
}





/* tablet
---------------------------------------------------- */
@media screen and (min-width: 500px) {

.CenterUL ul {
width:80%;	
margin:0 auto;	
}	
.CenterUL ul li {
width:100%;	
height:auto;
margin:0 0 2em;	
padding:20px;	
border:1px solid var(--darkGray);
border-radius:5px;	
background-color:var(--lightGray);
box-shadow: 6px 6px 12px rgba(0,0,0,0.2);	
}	
	
.CenterUL ul li dl dt {
border-radius:5px;
overflow: hidden;
border:1px solid var(--darkGray);	
}		
.CenterUL ul li dl dt img {
width:100%;	
border-radius:5px;
display: block;
transition: transform 0.4s ease;
margin:0;	
}		
.CenterUL li:hover img {
transform: scale(1.05);
}	
	
	
	
.rightFooter p span {
display:inline-block;
padding-left:1em;
}
	
}

/* tablet
---------------------------------------------------- */
@media screen and (min-width: 768px) {
a[href^="tel:"] {
pointer-events: none;
text-decoration:none;
color:var(--black);
}	
.pc-only { display: block; }
.sp-only { display: none; }
video {
max-width: 100%;
height: auto;
}
section.topSlider {
background-color:var(--deepblack);
}	
	
img.alignright  {
display:block;
width:100%;
max-width:400px;
height:auto;
margin-left: auto;
margin-right: 0;  
}	

	
	
section ul.div2 {
width:100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}	
section ul.div2 li {
width:49%;
}		
section.LEDlamp {
width: 100%;
margin:0 auto;	
}	
section.LEDlamp h4 {
width:100%;
max-width:100%;
}
	
section.LEDlamp ul.table001	{
display: flex;
flex-wrap: wrap;
justify-content:space-between;	
align-items: center;
}
section.LEDlamp ul.table001	li {
width:42%;
}	

section.LEDlamp ul.table001 li.widthNarrow {
width:16%;
}	
.arrowBox {
width:50%;
margin:0 auto;	
}
.arrowBox img.wp-image-215 {
width:50%;
}
	
.arrowBox img.wp-image-215 {
transform: rotate(-90deg);
}
/* ==========================================
   スマートフォン用（デフォルト：縦並び・下向き）
   ========================================== */
.table002 {
   flex-direction: row;        /* 全体を横並びに */
    justify-content: space-between; /* 940pxの中で両端いっぱいに広げる */
    align-items: flex-start;    /* 上揃え */
    max-width: 940px;           /* 全体の最大幅を940pxに制限 */
    width: 100%;
    margin: 0 auto;
    gap: 0;
  }

  /* ── 1. 左の画像ブロック（画像1枚） ── */
  .table002 > li:first-child {
width: 31.05%;               
    flex: 0 0 31.05%;
  }
.table002 p {
  margin:0 0 0 10px;
  text-align: left;
}
  /* ── 2. 中央の矢印ブロック ── */
  .table002 > li.widthNarrow {
    width: 4%;                  /* 矢印の幅を4%に指定 */
    flex: 0 0 4%;
align-self: flex-start;     /* ★上揃えに変更 */
margin-top:170px;
}
.table002 .arrowBox {
    padding: 0;                 /* 内側の余白を完全リセット */
    width: 100%;
  }
  /* 矢印を右に向ける */
  .table002 .arrowBox img {
    width: 100%;                /* 4%の枠いっぱいに矢印を表示 */
    max-width: 25px;            /* 矢印が大きくなりすぎないようにストッパー */
    height: auto;
    transform: rotate(-90deg);  
    display: block;
    margin: 0 auto;
  }

  /* ── 3. 右の画像ブロック（画像2枚＋テキスト） ── */
  .table002 > li:last-child {
/* 画像2枚分（31.5% × 2）＋画像間のわずかなすき間（1.5%）＝ 合計64.5% */
    width: 64.5%;               
    flex: 0 0 64.5%;
  }

  /* 右のブロック内の ul（画像2枚） */
  .table002 > li > ul {
width:100%;
max-width:100%;		  
    display: flex;
    flex-direction: row;        
    justify-content: space-between;
  }

  /* 右の画像それぞれの親 li */
  .table002 > li > ul > li {
/* 右側64.5%の枠内で、左の画像（31.5%）と完全に同じ大きさになる比率 */
    width: 48.83%;                 
    flex: 0 0 48.83%;
	  margin-bottom:0;
  }

  /* 3枚すべての画像が%幅に合わせて綺麗に伸縮します */
  .table002 img {
    width: 100% !important;
    height: auto;
  }
.table004 li ul.table004a {
display: flex;	
flex-direction: row;
align-items: center;	
justify-content:space-between;
margin: 0;
gap: 0;
}
.table004 li ul.table004a li {
width:45%;
}
.table004 li ul.table004a li.widthNarrow {
width:6%;
}	
	
	
.table005 {
flex-direction: row;        /* 全体を横並びに */
justify-content: space-between; /* 940pxの中で両端いっぱいに広げる */
align-items: flex-start;    /* 上揃え */
max-width: 940px;           /* 全体の最大幅を940pxに制限 */
width: 100%;
margin: 0 auto;
gap: 0;
}

.table005 li {
width: 31%;
flex: 0 0 31%;
}
.table005 p {
margin:0 0 0 10px;
text-align: left;
}	
ul.flex2x3{
gap:24px;
margin:30px auto;
}

ul.flex2x3 li{
width:calc((100% - 48px) / 3);
display:flex;
flex-direction:column;
overflow:hidden;	
}

ul.flex2x3 li:hover{
box-shadow:0 12px 30px rgba(0,0,0,.12);
}
	
ul.flex2x3 li img{
display:block;
width:100%;
aspect-ratio:3 / 2;
object-fit:cover;
transition:.5s;
margin:0;	
}
ul.flex2x3 li:hover .imgWrap img{
transform:scale(1.05);
}

ul.flex2x3 li p{
flex-grow:1;
}


ul.flex2x2 li{
width:calc((100% - 48px) / 2);
display:flex;
flex-direction:column;
overflow:hidden;	
}

ul.flex2x2 li:hover{
box-shadow:0 12px 30px rgba(0,0,0,.12);
}
	
ul.flex2x2 li img{
display:block;
width:100%;
aspect-ratio:3 / 2;
object-fit:cover;
transition:.5s;
margin:0;	
}
ul.flex2x2 li:hover .imgWrap img{
transform:scale(1.05);
}

ul.flex2x2 li p{
flex-grow:1;
}	
.postThumbnail{
float:left;
width:250px;
margin:0 2em 1em 0;
}
.postThumbnail img{
width:100%;
}	
	
.ULcenter .ulDot {
display:flex;
flex-wrap:wrap;
gap:15px;
margin:0 auto;	
}

.ULcenter .ulDot li {
width:calc(100% / 3 - 10px);
margin:0;
display:flex;
align-items:center;
justify-content:center;
}	
section.UL3 ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
max-width:940px;
margin:0 auto;
}
section.UL3 li {
width:calc(100% / 3.3);
margin:0 0 20px;
padding:15px;
border:1px solid var(--darkGray);
border-radius:5px;	
background-color:var(--lightGray);
box-shadow: 6px 6px 12px rgba(0,0,0,0.2);	
line-height:1.6;	
}

section.UL3 li ul li {
width:100%;
margin:0;
padding:0;
border:none;
border-radius:0;
box-shadow:none;
line-height:2.2;
}	
section.UL3 dl dt {
border-radius: 6px;

}		
section.UL3 dl dt img {
border-radius: 6px;
border:1px solid var(--darkGray);
}		
section.UL3 dl dd {
margin:0;
}		
	
	
.accordion{
max-width:1000px;
}

.accordion details{
margin-bottom:15px;
box-shadow:0 3px 12px rgba(0,0,0,.05);
}

.accordion details:hover{
box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.accordion summary{
padding:22px 70px 22px 24px;
font-size:var(--fs-h5);
}

.accordion details p{
padding:24px;
}

.accordion summary::before,
.accordion summary::after{
right:24px;
width:18px;
}
	
.News article {
margin-top:2em;
}		

.footerBlock {
display: flex;
flex-wrap: wrap;
justify-content:space-between;	
align-items: stretch;
background-color:var(--white);
margin:2em auto 3em;
padding:2em;	
}	
	
.footerBlock dl {
width:230px;
}		
.footerBlock p {
width:calc(100% - 240px);
margin:0;
}		
	
	
	
.FooterLR {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-end;	
width:96%;
max-width:1200px;	
margin:0 auto;
}

	
.footerMenu {
max-width:60%;
margin:0;
}	

.footerMenu ul {
margin:20px auto 0;
border-top:none;
}
.footerMenu li {
height:1.6em;
padding: 0;
border-bottom:none;
}
.footerMenu li a {
font-size: var(--fs-h4);
}	
.footerMenu li a::after {
  content: none !important;
}

	
	
.rightFooter {
max-width:40%;
margin:0;
}	
	
.headBread {
margin:0 0 0 5px;
}
	

	
	
	
.News ul {
width:100%;
max-width:750px;
margin:0 auto 1em;
}	
		
article p.textRight768 {
width:80%;
max-width:900px;
margin:0 auto 1em;	
}	
			
	

	
dl.imgLeft {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}	
	

.imgLeft dt {
width:35%;
}	
.imgLeft dd {
width:64%;
display: flex;
flex-wrap: wrap;
align-items: center;
padding:10px 20px;
}	
.imgLeft dd ul {
list-style-position:inside;
}	
	
	
	
	
	
.imgLeft img {
width:100%;
height:auto;
}	
		
.imgRight img {
float:right;
margin-left:1em;
}	
	
.imgRight dl {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}		
	
.imgRight dt {
width:72%;
}		
.imgRight dd {
width:25%;
}		
.imgRight dd img {
width:100%;
height:auto;
}			

	
	
	
	
dl.heightAuto{
	display:flex;
	align-items:center;
}

dl.heightAuto dt{
	flex:0 0 320px;
	width:auto;
	height:300px;
}

dl.heightAuto dt img{
	width:100%;
	height:300px;
	object-fit:contain;
	display:block;
}

dl.heightAuto dd{
	flex:1;
	width:auto;
}
	
	
	
	
	
	
	
	
.wifiSpec dl{
width:100%;
max-width:860px;	
margin:0 auto;	
display:grid;
grid-template-columns:249.4px 1fr;
gap:1px;
background:var(--darkGray);
border-radius:8px;
overflow:hidden;
}

.wifiSpec dt{
margin:0;
padding:1em;
background:var(--lightGray);
color:var(--black);
border-radius:0;
font-size:var(--fs-h5);
display:flex;
align-items:center;
}

.wifiSpec dd{
padding:1em;
border:none;
border-radius:0;
background:var(--white);
}


.wifiSpec dt:last-of-type,
.wifiSpec dt:last-of-type + dd{
border-bottom:none;
}	

	
	
	
	
section .divCenter200{
width: min(100% - 1rem,980px);
display:flex;
align-items:center; /* 縦中央揃え */
justify-content:center;
gap:30px; /* 要素間の余白 */
}	
	
	
	
section .divCenter200 ul{
width:200px;
list-style-position: outside;
margin:0;	
}

section .divCenter200 li{
font-size: var(--fs-h4);
margin: 0;
line-height: 2;
}
section .divCenter200 img{
transform:rotate(-90deg);
margin:0;	
}
section .divCenter200 h4,section .divCenter200 p {
width:100%;
margin:0;	
}	
	
	
	
	
	
	
	
footer small a{
display:inline-block;
}
.rightFooter p span {
display:inline-block;
}
#menu-footermenu {
border-top:none;
}
#menu-footermenu {
width:100%;
display: flex;
flex-wrap: wrap;
justify-content:space-between;	
align-content: flex-start;
margin:0 auto 2em;
padding: 0;
}

#menu-footermenu li {
display: inline-block;
text-align:center;
width:calc(100% / 3.2);	
padding: 0;
border-bottom:none;
white-space: nowrap;
height: 34px;	
}

#menu-footermenu li a {
	position: relative;
	display: block;
	height: 100%;
	font-size:var(--fs-base);
	line-height: 32px;
	background: var(--deepBlue);
	color: var(--white);
	border: 1px solid var(--white);
	border-radius: 6px;
	text-decoration: none;
	overflow: hidden;
	z-index: 1;
}

#menu-footermenu li a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	color: var(--deepBlue);
	background: var(--blue);
		height: 100%;
	transition: width 0.4s ease;
	z-index: -1;
}

#menu-footermenu li a:hover {
opacity:1;

color: var(--deepBlue);	
border-radius: 6px;
border:1px solid var(--deepBlue);

}
#menu-footermenu li a:hover::before {
	width: 100%;
}
footer small {
height:50px;	
}	
.Gmap {
padding-bottom:calc((450 / 1200) * 100%);
margin-bottom:2em;
}
	
}
/* wideMenu
---------------------------------------------------- */
@media screen and (min-width: 900px) {
.container {
max-width:900px;
margin:0 auto;
}
.footerBlock {
border-bottom-right-radius: 20px;
border-bottom-left-radius: 20px;
}		
	
	
	
	
	
}
/* wideMenu
---------------------------------------------------- */
@media screen and (min-width: 1201px) {
button.hamburger {
display:none;
}
	
button.open-btn {
display: inline-flex;
align-items: center;
gap: .5em;
background: transparent;
border: none;
padding: 0;
margin: 0;
font: inherit;
color:inherit;
cursor: pointer;
appearance: none;
-webkit-appearance: none;
}
button.close-btn {
background: transparent;
color:var(--white);	
border: none;
padding: 0;
margin: 0;
cursor: pointer;
appearance: none;
-webkit-appearance: none;
}		
button.search-submit {
display: inline-flex;
align-items: center;
gap: .5em;
background: transparent;
border: none;
padding: 0;
margin: 0;
font: inherit;
color:var(--white);
cursor: pointer;
appearance: none;
-webkit-appearance: none;
}			
	
	
	
.nav {
width:100%;
height:60px;
margin: 0;
position: relative;
background:var(--white);
box-shadow:none;
transform: translateX(0);
transition: transform .4s;
z-index: 90;
}	
	
header {
position: fixed;
z-index: 1000;
top: 0;
left: 0;
width: 100%;
background-color: var(--white);
}	
main {
scroll-margin-top:150px;
margin-top:150px;	
}	
	
.topHead {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}	
	
.leftHeader {
max-width:365px;
justify-content:flex-start;
margin:10px 0 0;
}

.rightHeader {
width:calc(100% - 385px);
max-width:360px;
margin:10px 0 0;
}	
	
nav {
display:block;
}	



ul.nav__list {
width:100%;
height:57px;
max-width:1980px;
margin:0 auto;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
padding:0 10px 0 0;
position: relative;
top: -50px;	
}
.nav__list li {
position: relative;
width:auto;
height:100%;
margin:0;
padding:0 10px;	
text-align:center;
border-bottom:none;
}


.nav__list a {
display:block;
padding-left:0;
line-height:57px;
position: relative;
}
.nav__list a:hover {
color:var(--black);
background-color:var(--white);
text-decoration:none;
}

	
.nav__list li a::after {
content: '';
position: absolute;
bottom:10px;
left: 0;
width:100%;
height: 3px;
background:var(--blue);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.3s;
}
.nav__list li li a::after {
background:none;
}

.nav__list li.current-menu-item > a::after,
.nav__list li > a:hover::after {
  transform: scaleX(1);
}
.nav__list a.is-current::after {
  transform: scaleX(1);
}
	
.nav__list ul.sub-menu {
display:none;
}
.nav__list ul.sub-menu li {
width:100%;
}

.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--white);
  padding: 10px 0;
  margin: 0;
  list-style: none;
  display: none;
  min-width: 180px;
  box-shadow: 0 2px 4px rgba(0,0,0,.15);
  z-index: 999;
}

.nav__item:hover > .sub-menu {
  display: block;
  padding: 0;

}
.nav__item::after {
  bottom: 3px; /* ← ここを調整するだけ */
}


.sub-menu li {
  position: relative;
  border-bottom: 1px solid var(--darkGray);
}



.sub-menu li a {
  display: block;
  padding:0;
  white-space: nowrap;
  text-indent: 0;
}

.nav__list .sub-menu a:hover {
color:var(--white);
background-color:var(--blue);
text-decoration:none;
}


/* ▼ hover 時：黒に変化 */
.sub-menu li:hover {
background-color:var(--blue)
}

/* ▼ current（第二階層にも対応したい場合） */
.sub-menu li.current::after,
.sub-menu li.current:hover::after {
  border-top-color: black;
}


	

header .container {
width:98%;
max-width:98%;
margin:0 auto;
}
	
	
.CenterUL ul {
margin-top:30px;	
width:90%;
max-width:1600px;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
gap:30px;
padding:0;
}	
.CenterUL ul li {
width:calc(100% / 3.6);
}	

main section {
display: block !important;
margin-bottom: 100px !important;
padding-bottom: 20px !important;
}

	
	
section.width1050 {
width:1050px;
margin:0 auto;	
}	
section.width1050 p {
width:100%;
max-width:100%;
}		
	
	
.CenterUL02{
padding:0;
}
	
	
	
.CenterUL02 ul{
grid-template-columns:repeat(auto-fit, minmax(280px, 500px));
gap:1rem;
row-gap: 160px !important;	
max-width:1600px;
margin-inline:auto;
}
.CenterUL02 li h4{
font-size:var(--fs-h4);
gap:.50rem;
}	
section.CenterUL02 ul dl {
width:100%;
margin:0;
}
	
.CenterUL02 ul dd {
margin:0 0 1em;
}
section ul.flex2x3{
width:100%;
max-width:1050px;
}
		
article {
margin:160px auto 6em;
}	
.table004 {
width:100%;
max-width:1200px;
}	
.table004 > li:first-child {
width: 100%;
max-width:780px;
}
.table004 > li:last-child {
width: 100%;
max-width:1100px;
}
	
	
	
.table004 li ul.table004a {
width: 100%;
max-width: 940px;
margin: 0 auto;
}	
	
.table004 li ul.table004b {
width:100%;
max-width:100%;	
display: flex;	
flex-direction: row;
align-items: flex-start;	
justify-content:space-between;
margin: 0 auto;
gap: 0;
}
.table004 li ul.table004b li {
width:32%;
}	
section.partnerArea00 .Table700 dl {
background: rgba(255,255,255,.15);
    backdrop-filter: blur(4px);
    padding: .8em 1.5em;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,.3);
}	
	
	
section.partnerArea00 .Table700 dl dd {
border-left:none;	
}	
section.partnerArea00 .Table700 dt:nth-of-type(odd),
section.partnerArea00 .Table700 dt:nth-of-type(odd) + dd {
background:none;
border-left:none;	
}	
	
.partnerArea00 dt  {
color:var(--white);
text-decoration:none;	
}	
.partnerArea00 dl a  {
color:var(--white);
}		
.partnerArea00 dl dt a:hover  {
color:var(--blue);
text-decoration:none;
}		
		
	
	
.partnerArea00 {
    position: relative;
	overflow:hidden;
    background-image: url("https://bestec-j.jp/wp/wp-content/uploads/2026/06/img-TakaraTown.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding:clamp(80px,10vw,160px) 5%;
	text-align:left;
color:var(--white);
}
.partnerArea00::before{
    content:"";
    position:absolute;
    transform:scale(1.15);
    inset:0;
    background:
    linear-gradient(
        rgba(0,0,0,.65),
        rgba(0,0,0,.35)
    );
    z-index:1;
}
.partnerArea00 > *{
    position:relative;
    z-index:2;
}		
.partnerArea01 {
    position: relative;
	overflow:hidden;
    background-image: url("https://bestec-j.jp/wp/wp-content/uploads/2026/06/img-building.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding:clamp(80px,10vw,160px) 5%;
	text-align:left;
color:var(--white);
}
.partnerArea01::before{
    content:"";
    position:absolute;
    transform:scale(1.15);
    inset:0;
    background:
    linear-gradient(
        rgba(0,0,0,.65),
        rgba(0,0,0,.35)
    );
    z-index:1;
}
.partnerArea01 > *{
    position:relative;
    z-index:2;
}	
.partnerArea01 ul.div2{
	display:flex;
	justify-content:center;
	gap:2rem;
	flex-wrap:wrap;
	list-style:none;
	padding:0;
}

.partnerArea01 ul.div2 li{
	width:48%;
	background:rgba(255,255,255,.15);
	backdrop-filter:blur(4px);
	padding:.8em 1.5em;
	border-radius:6px;
	border:1px solid rgba(255,255,255,.3);
}	
	
	
	
.partnerArea02 {
    position: relative;
	overflow:hidden;
    background-image: url("https://bestec-j.jp/wp/wp-content/uploads/2026/06/img-hands.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding:clamp(80px,10vw,160px) 5%;
	text-align:left;
color:var(--white);
}
.partnerArea02::before{
    content:"";
    position:absolute;
    transform:scale(1.15);
    inset:0;
    background:
    linear-gradient(
        rgba(0,0,0,.65),
        rgba(0,0,0,.35)
    );
    z-index:1;
}
.partnerArea02 > *{
    position:relative;
    z-index:2;
}	
.partnerArea02 ul.div2{
	display:flex;
	justify-content:center;
	gap:2rem;
	flex-wrap:wrap;
	list-style:none;
	padding:0;
}

.partnerArea02 ul.div2 li{
	width:48%;
	background:rgba(255,255,255,.15);
	backdrop-filter:blur(4px);
	padding:.8em 1.5em;
	border-radius:6px;
	border:1px solid rgba(255,255,255,.3);
}		
	
	

	
	
	
section.tableContents {
width:100%;
max-width:100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background-color:var(--lightGray);
}
#title00 {
width:100%;
}	
section.tableContents h3 {
text-align:center;
padding:40px 0 20px;	
}
section.tableContents ul {
margin:20px auto 60px;
}
	
section.tableContents ul li {
width:32%;
}
	
	
section ul.table03 {
width:100%;
max-width:1000px;	
margin:0 auto 1em;
display: flex;
flex-wrap: wrap;
justify-content: space-between;	
}
	
section ul.table03 li {
width:50%;
max-width:50%;	
margin:0 0 1em;
display: flex;
flex-wrap: wrap;
justify-content: space-between;	
}
	
section ul.table03 li ul{
display: block;
}
	
section ul.table03 li ul li {
width:100%;
max-width:100%;	
display:block;
}
		
	
	
	
	
	
	
	
	
section .forMail dl::after {
    content: "";
    display: block;
    clear: both;
}	
	
section .forMail dl {
width:95%;
max-width:940px;	
height:auto;	
margin:0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: stretch;	
}	
section .forMail dt {
display: flex;
flex-wrap: wrap;
justify-content: center;	
align-items: center;
width:180px;
height:50px;	
margin-bottom:1em;	
text-align:center;
}	
section .forMail dd {
display: flex;
flex-wrap: wrap;
align-items: center;	
width:calc(100% - 180px);
margin-bottom:1em;
height:50px;	
}	
section .forMail dd:last-of-type {
height:280px;	
}		
	
	
input[type="email"],input[type="tel"],input[type="text"] {
padding:0 10px;
margin-left:30px;
}

	



.forMail dl dt,
.forMail dl dd {
box-sizing:border-box;
}	
	
	
	
.footerMenu {
width:800px;
}		
.rightFooter ul {
display: block;
margin:0;
}
.rightFooter ul li {
width:140px;
text-align:center;
border:1px solid var(--black);
border-radius:5px;
margin-bottom:10px;
}
.rightFooter p {
padding:0;
margin-bottom:0;
line-height:1.6;	
}
section.topSlider img {
width: min(100%, 1600px);
max-width: none;
}	
	
}
