@charset "UTF-8";
/*
Theme Name: Plat
Theme URI: https://www.plat-com.jp/
Description: PlatTheme
Version: 6.0
Author: Yucky
*/
*{
margin:0;
padding:0;
outline:0;
vertical-align:baseline;
box-sizing:border-box;
line-height:2;
}

html {
overflow:scroll;
height:100%;
scroll-behavior:smooth;
}
:root {
--white:#fff;
--blue:#2069c9;
--red:#d00;
--pink:#fee;
--yellow:#fc0;
--black:#333;
--gray:#666;
--lightGray:#f0f0f0;
--darkGray:#ccc;
}
body {
max-width:100%;
background: #fff none repeat scroll 0 0;
color:#444;
line-height:1.6;
margin: 0;
padding:0;
position: relative;
font-family:"Arial","メイリオ","ヒラギノ角ゴ Pro","ＭＳ Ｐゴシック","sans-serif";
font: 16px/20px Helvetica,Arial,sans-serif;
font-size:16px;
text-transform: none;
padding-top: 80px;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.loading {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100vw;
height: 100vh;
background:var(--white);
position: fixed;
gap:20px;
}
.loading div {
  width: 100px;
  height: 100px;
  border: 5px solid var(--red);
  border-radius: 50%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loading div::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border: 5px solid var(--blue);
  border-radius: 50%;
  border-top-color: transparent;
  animation: ring 1s linear infinite;
}
.loading p {
font-size:36px;
color:var(--darkGray);
}
@keyframes ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}





article, aside, figure, footer, header, nav, section, img {
display:block;
}
.cls {
clear:both;
}
ul,ol {
margin:0;
padding:0;
list-style-type:none;
}

ul.Dot {
list-style-type:disc;
}


img {
display: block;
vertical-align:bottom;
}

img.aligncenter {
width:100%;
height:auto;
display: flex;
justify-content: center;
object-fit: cover;
}


img.w189 {
max-width:189px;
margin:0 auto;
}
img.w202 {
max-width:202px;
margin:0 auto;
}
img.w216 {
max-width:216px;
margin:0 auto;
}
img.w219 {
max-width:219px;
margin:0 auto;
}
img.w270 {
max-width:270px;
margin:0 auto;
}
img.w300 {
max-width:300px;
margin:0 auto;
}
img.w380 {
max-width:380px;
margin:0 auto;
}
img.w400 {
max-width:400px;
margin:0 auto;
}
img.w480 {
max-width:480px;
margin:0 auto;
}
img.w533 {
max-width:533px;
margin:0 auto;
}
img.w600 {
width:100%;
max-width:600px;
height:auto;
margin:0 auto;
}

img.w630 {
width:100%;
max-width:630px;
margin:0 auto;
}

img.w650 {
width:100%;
max-width:650px;
margin:0 auto;
}
img.w660 {
max-width:660px;
margin:0 auto;
}
img.w666 {
width:100%;
max-width:666px;
margin:0 auto;
}
img.w700 {
width:100%;
max-width:700px;
margin:0 auto;
}
img.w750 {
width:100%;
max-width:750px;
margin:0 auto;
}
img.w800 {
width:100%;
max-width:800px;
margin:0 auto;
}
img.w807 {
width:100%;
max-width:807px;
margin:0 auto;
}

img.w1000 {
width:100%;
max-width:1000px;
margin:0 auto;
}
img.w1024 {
width:100%;
max-width:1024px;
margin:0 auto;
}


img.w1040 {
width:100%;
max-width:1040px;
margin:0 auto;
}



img.w1100 {
width:100%;
max-width:1100px;
margin:0 auto;
}

img.w1110 {
width:100%;
max-width:1110px;
margin:0 auto;
}
img.w1200 {
width:100%;
max-width:1200px;
margin:0 auto;
}


a {
color: var(--blue);
text-decoration: none;
transition : all 0.5s ease 0s;
}
a:hover {
color:var(--red);
}
a:hover img {
	opacity: 0.7;
}
a[href^="tel:"] {
color:var(--black);
}
.fsRed {
color:var(--red);
}

.table dl {
margin:0;
display: grid;
grid-template-columns: 180px 1fr;
border-top: 1px solid var(--darkGray);
border-left: 1px solid var(--darkGray);
border-right: 1px solid var(--darkGray);	
}

.table dt,
.table dd {
display: flex;
align-items: center; 	
margin: 0;
padding: 15px;
border-bottom: 1px solid var(--darkGray);
}

.table dt {
text-align:center;
justify-content: center;
background:var(--lightGray);
}

.table dd {
  margin: 0;
}
.table dd p {
margin: 0;
}

.table dl.w500 {
width:auto;
max-width:500px;
margin:10px;	
}
.table dl.w800 {
width:auto;
max-width:800px;
margin:10px;
}

h2 {
color:var(--blue);
border-bottom:5px solid var(--blue);
padding-left:10px;
font-size:24px;
margin:2em 0 1em;
}

header h2 {
background:var(--white);
background: linear-gradient(180deg,rgba(0, 0, 0, 0) 0%, rgba(244, 244, 244, 1) 50%);
border-top: 3px solid var(--blue); 
border-bottom:1px solid var(--darkGray);
border-left:none;
padding:22px 0 22px 10px;
font-size:22px;
font-weight: normal;
}

header h2 span {
display: block;
width: 100%;
max-width: 1200px;
margin: 0 auto;
}
h3 {
border-bottom:3px solid var(--blue);
margin:20px 0 10px;
padding-left:10px;
font-size:22px;
}


footer h3 {
border-bottom:none;
}



h4 {
font-size:20px;
line-height: 2.4;
margin-bottom: 18px;
color:var(--blue);
border-top:1px solid var(--lightGray);
border-bottom:1px solid var(--lightGray);
}
h4::before {
content: "■";
margin-right:2px;
color:var(--blue);
}

h4.borderBL {
margin-bottom: 18px;
color:var(--blue);
background-color:var(--white);
border-top:1px solid var(--blue);
border-bottom:1px solid var(--blue);
}

h5 {
font-size:18px;
padding:0 1em;
}
h6 {
font-size:18px;
padding:0 1em;
}


#panList ul {
display: flex;
flex-wrap: wrap;
font-size:12px;
margin-bottom: 50px;
}
panList ul li:first-child {
margin-right: 10px;
}

#panList a {
text-decoration: underline;
}
#panList a:hover {
text-decoration: none;
}

.headBread {
padding:0 10px;
}
.YouTube video {
display:block;
width:100%;
max-width:560px;
height:315px;
margin:1em auto 2em;
}	
.YouTube iframe  {
display:block;
width:100%;
max-width:560px;
height:auto;
aspect-ratio: 16 / 9;
margin:1em auto 2em;
}	
		

section {
width: 100%;
max-width: 1200px;
margin: 10px auto 36px;
}

section p {
width:auto;
max-width: 1200px;
margin:0 1em 1em;
}
section p.columns {
columns:2 10em;
column-gap:2em;
column-rule:2px dotted var(--darkGray);
}




section ul {
width: auto;
max-width: 1200px;
margin:0 1em 0 3em;
}
section ul.sp0 {
width: auto;
max-width: 1200px;
margin:0;
}
section ul.sp0 li {
margin-bottom:1em;
}
section ul.sp0 li img {
width:100%;
height:auto;
}

section ul.sp0 li h4 {
text-indent:1em;
margin-bottom:5px;
}
section ul.sp0 li p {
margin-bottom:5px;
}
section ul.flexLeft2 {
width: 100%;
max-width: 1200px;
margin:0;
}

section h4.sp0 {
text-indent:1em;
margin-bottom:5px;
}



#sitemapPage ul {
margin:0 1em;
}		
#sitemapPage ul li {
border-bottom:1px solid var(--darkGray);
}		
#sitemapPage ul li p{
margin:0;
}		

#sitemapPage ul li ul li:last-child {
border-bottom:none;
}		

#sitemapPage .lcp_paginator {
width:135px;
margin:50px auto 0;
}

#sitemapPage .lcp_paginator li {
margin:0 0 10px 0;
border:none;
display: none;
}
.lcp_elipsis {
display: none;
}

#sitemapPage .lcp_paginator li:first-child, /* 1ページ目 */
#sitemapPage .lcp_paginator li:last-child,  /* 最後のページ */
#sitemapPage .lcp_paginator li a.current,     /* 現在のページ */
#sitemapPage .lcp_paginator li a.lcp_prevlink,
#sitemapPage .lcp_paginator li a.lcp_nextlink {
display: inline-block;
}


#sitemapPage .lcp_paginator li.lcp_currentpage {
display: inline-block;
padding:5px 10px;
border-radius: 6px;
border:1px solid var(--darkGray);
}
#sitemapPage .lcp_paginator li a {
display:block;
padding:5px 10px;
border-radius: 6px;
border:1px solid var(--darkGray);
}

#sitemapPage .lcp_paginator li a.lcp_prevlink {
display: inline-block;
padding:5px 10px;
border-radius: 6px;
border:1px solid var(--darkGray);
}



#sitemapPage .lcp_paginator li a:hover {
display:block;
background-color:var(--blue);
color:var(--white);
}

.lcp_currentpage {
background-color:var(--blue);
color:var(--white);
}


#NewsList .News ul {
margin:0;	
}
#NewsList .News ul dt {
text-align:right;
}



#NewsList .News ul h3 {
line-height:1.6;
margin:0 0 10px;
}
#NewsList .News ul p a {
color:var(--gray);
}
#NewsList .News ul p a:hover {
color:var(--blue);
}


#NewsList .pagination ul.page-numbers {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin:0;	
}
#NewsList .pagination ul.page-numbers li {
margin:0 10px 0 0;
border:none;
}
#NewsList .pagination ul.page-numbers li:last-child {
margin:0;
}


#NewsList .pagination ul.page-numbers li span.current {
display:block;
padding:5px 10px;
border-radius: 6px;
border:1px solid var(--darkGray);
background-color:var(--blue);
color:var(--white);
}
#NewsList .pagination ul.page-numbers li a {
display:block;
padding:5px 10px;
border-radius: 6px;
border:1px solid var(--darkGray);
}
#NewsList .pagination ul.page-numbers li a:hover {
display:block;
background-color:var(--blue);
color:var(--white);
}







section.content01 ul {
list-style-type:disc;
list-style: disc !important;
margin-left:1em;
padding-left:1.5em;
}
section.content01 dt {
font-weight:700;
}
section.content01 dd p {
margin-left:0;
margin-right:0;
}


section ol {
width: auto;
max-width: 1200px;
margin:0 1em 0 3em;
}

section .ListCenter ol {
width: auto;
list-style-type:none;
}
section .ListCenter ol li {
font-weight:bold;
}
section .ListCenter ol span {
display:block;
font-weight:normal;
}
section ol.listDecimal {
margin:0 1em 0 24px;
}

.about ol {
list-style-type: decimal;
}

ol.listDecimal {
list-style-type: decimal;
}



.about ul {
list-style-type:none;
counter-reset: alpha;
}
.about ul li {
counter-increment: alpha;
}

.about ul li::before {
content: counter(alpha, lower-alpha) ") ";
}

section article ul {
width: auto;
max-width: 1200px;
margin:0 1em 1em 3em;
}
section.News article ul {
width: auto;
max-width: 1200px;
margin:0 1em 1em 1em;
}

section article ul.notDisc {
margin:0 auto 1em;
list-style-type:none;
}

section article ul.notDisc li {
margin:0 auto 1em;
}

section dl {
width: auto;
max-width: 1200px;
margin:0 1em 0 1em;
}
section dl.dtBoldddBottom dt {
font-weight:bold;
}
section dl.dtBoldddBottom dd {
margin-bottom:1em;
}




section .dtDD dl dd {
margin-left:1em;
}
section .dtDD dl dd dl {
margin:0;
}
section .dtDD dl dd dl dt {
margin:0;
}

section .dtDD dl dd ul li {
margin:0;
}










section ul.sp0 dl {
width: auto;
max-width: 1200px;
margin:0;
}
section ul.sp0 dl dd {
margin:0 1em;
}
section ul.sp0 dl dd a {
color:var(--gray);
}
section ul.sp0 dl dd a:hover {
text-decoration:underline;
}

section dl.dtBold dt {
font-weight:600;
}


section dl ul {
margin:0 1em 0 1em;
}
section dl.imgflexLeft {
width: auto;
max-width: 1200px;
margin:0;
}
section dl.imgflexLeft dt img {
width:100%;
height:auto;
}
section dl.imgflexLeft dd ul {
margin:0 1em 0 2em;
}

section dl.flexLeft {
width: auto;
max-width: 1200px;
margin:0;
}
section dl.flexLeft dt {
max-width: 590px;
margin:0 auto;
}
section dl.flexLeft dt img {
width: 100%;
height:auto;
}
section article dl.flexLeft dd ul.Dot {
margin:0 1em 0 2em;
}

section ul.flexLeft2 dl {
margin:0;
}		
section .flexLeft2 li dl dd dl dt {
float:none;
margin:10px 0 0 1em;
}
	
section .flexLeft2 li dl dd dl ul {
list-style-type:disc;
list-style: disc !important;
margin-left:1em;
padding-left:1.5em;
}
	
section .flexLeft2 li dl dd ul li {
margin-bottom: 0;
list-style-type:disc;
display: list-item !important;
}


section article dl dt p {
margin:0;
text-align:right;
padding-right:1em;
}
section article dl {
width: auto;
max-width: 1200px;
margin:0;
}
section article dl img {
width:100%;
height:auto;
margin:0;
}
section article dl.flexImgLeft dd p {
margin:0 0 1em;
}
section.News article li {
width:100%;
max-width:600px;
margin:0 auto;
}

section.News article dl dd img {
width:100%;
height:auto;
margin:0 auto;
aspect-ratio: 1 / 1;
object-fit: cover;
}
section.News article dl dd p {
margin:0 1em 1em;
}

section article dl h3 {
margin:0 0 5px;
padding:0 1em;
border-bottom:none;
line-height:1;
}


section article dl h3 a {
position: relative;
text-decoration: none;
color: var(--black);
}

section article dl h3 a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 2px;
  background-color: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

section article dl h3 a:hover {
color: var(--blue);
}
section article dl h3 a:hover::after {
transform: scaleX(1);
background-color: var(--blue);
}


section article dl dd p a {
color: var(--blue);
}

section article dl dd p a:hover {
color: var(--red);
}



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





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

.paragraphRight dl dt h3 {
margin-bottom: 10px;
}
.paragraphRight dl dt img {
width:100%;
max-width:600px;
height:auto;
margin:0 auto;
}
.paragraphRight dl dd p {
max-width:600px;
margin:0 auto;
}

.textRight {
text-align:right;
}
.textLeft {
display:inline-block;
text-align:left;
}
.textCenter {
text-align:center;
}


header {
position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999; /* 最前面に */
  background: #fff; /* 背景色を必ず指定 */
}

header img {
margin:10px auto;
}

.topHead {
width:100%;
margin:0;
padding:0;
}		
.leftHeader {
width:100%;
margin:0;
padding:0;
}


.leftHeader dl {
width:100%;
display: flex;
flex-wrap: wrap;
align-items: center;
margin:0;
padding:0;
}

.leftHeader dl dt {
width:60px;
}
.leftHeader dl dt img {
width:100%;
height:auto;
}


.leftHeader dl dd {
width:calc(100% - 60px);
}

.leftHeader dl dd p {
font-size:1rem;
font-weight:700;
text-align:left;
margin:0;
}
.leftHeader dl dd h1 {
font-size:1rem;
font-weight:700;
text-align:left;
margin:0;
}

.leftHeader dl dd a {
text-decoration:none;
color:var(--black);
}




.rightHeader {
display:none;
}


.hamburger {
  position: fixed;
  top: 20px;
  right:24px;
  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: #fff;
  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: #fff;
  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: #333;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}


main {
width: 100%;
}
.topImages {
background-color:#000016; 
}
.topImages video {
width: 100%;
max-width:1200px;
height: auto;
aspect-ratio: 16 / 9;
display: block;
margin: 0 auto;
}


nav.tableContents {
position:relative;
max-width:400px;
margin:0 auto;
border-radius: 6px;
z-index:100;
}
nav.tableContents p {
border-top-left-radius: 6px;
border-top-right-radius: 6px;
margin:0;
padding:0;
text-align:center;
background-color:var(--lightGray);
border-left:1px solid var(--darkGray);
border-right:1px solid var(--darkGray);
border-top:1px solid var(--darkGray);
}
nav.tableContents ul {
margin:0;
padding:0;
}
nav.tableContents li {
border-left:1px solid var(--darkGray);
border-right:1px solid var(--darkGray);
border-bottom:1px solid var(--darkGray);
}
nav.tableContents li:last-child {
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
}

nav.tableContents a {
display:block;
color:var(--gray);
margin:0;
padding:0 0 0 1em;
line-height:3;
}
nav.tableContents a:hover {
color:var(--white);	
background-color:var(--blue);
}




#TEL {
padding: 10px;
border-top: 1px solid  var(--lightGray);
border-bottom: 1px solid  var(--lightGray);
}

#TEL dl {
  width:310px;
  margin: 0 auto;
}
#TEL dl dt {
font-size: 14px;
line-height: 1.2;
}
#TEL dl dd {
font-size: 20px;
font-weight: 600;
}

#TEL p {
  width:310px;
  background-color:var(--blue);
  margin: 0 auto;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
#TEL p:hover {
text-decoration: none;
background-color: color-mix(in srgb, var(--blue) 75%, transparent);
}

#TEL p a {
display: block;
color:var(--white);
}
#TEL p a:hover {
text-decoration: none;
}
section .table001 dl {
margin:0;
display: grid;
  width: 100%;
  min-width: 360px; /* 5列の最低幅 */
  grid-template-columns: minmax(0, 1fr) repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--darkGray);
}

.table001 dt,
.table001 dd {
  padding: 0;
  border-bottom: 1px solid var(--darkGray);
}


/* dt は1列目に固定 */
.table001 dt {
  grid-column: 1 / 2;
  background: #f7f7f7;
  font-weight: bold;
  display: flex;
  align-items: center;
justify-content: center;
text-align:center;
}

section .table001 p {
  margin:0;
  padding:0;
}

.table001 dd {
  grid-column: 2 / 6;
  padding: 0;
}
.table001 dl.ddTab0 dt {
font-weight:normal;
}

.table001 dl.ddTab0 dd {
  padding-left:10px;
}

.table001 dd ul {
min-height: 97px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 16px;
}

.table001 dd li {
padding: 0 4px;
text-align: center;	
border-left: 1px solid var(--darkGray);
}
.table001 dd li .cell {
padding: 8px 0;
}


.table001 dd ul li:nth-child(4) {
  background:var(--pink);
}
	
.table001 dd li p {
  text-align: left;
}

.table002 dt {
text-align:center;
background-color:var(--lightGray);
}
.table002 dd {
padding:0 10px;
}


.table003 li {
  margin-bottom: 1em;
}
.table003 dl{
  display: grid;
  grid-template-columns: 8em 1fr; /* 左幅固定＋右可変 */
  gap: 6px 12px; /* 行間・列間 */
  margin: 0;
}

.table003 dt{
background-color:var(--lightGray);
text-align:center;
}

.table003 dd{
  margin: 0; /* ブラウザのデフォルト余白を消す */
}






section .table004 dl {
margin:0;
display: grid;
  width: 100%;
  grid-template-columns:120px 1fr;
  border-top: 1px solid var(--darkGray);
  border-left: 1px solid var(--darkGray);
  border-right: 1px solid var(--darkGray);
}


.table004 dd li {
padding: 0 4px;
border-left: 1px solid var(--darkGray);
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.table004 dt,
.table004 dd {
  padding: 0;
  border-bottom: 1px solid var(--darkGray);
}


/* dt は1列目に固定 */
.table004 dt {
  grid-column: 1 / 2;
  background: #f7f7f7;
  font-weight: bold;
  display: flex;
  align-items: center;
justify-content: center;
text-align:center;
}

.table004 dd ul {
min-height: 97px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns:1fr 1fr;
  gap: 0 16px;
  text-align:center;
}

.table004 dd ul.textLeft {
text-align:left;
}
.table004 dd ul.textLeft li {
text-align:left;
justify-content: flex-start;
align-items: stretch;
}


section .imgFlex2 ul {
width: auto;
max-width: 1200px;
margin:0;
}
section .imgFlex2 img {
width:100%;
height:auto;
}
section .imgFlex2 ul li {
width: 100%;
height:auto;
margin-bottom:1em;
}

section .imgFlex2 ul li figure {
  width: 100%;
  margin: 0;
}

section .imgFlex2 ul li iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
section .imgFlex2 ul li figure {
  width: 100%;
  margin: 0;
}

section .imgFlex2 ul li figure figcaption {
text-align:center;
}


section .imgFlex2 ul li figure figcaption p.height76 {
height:76px;
text-align:left;
line-height:1.6;
}
section .imgFlex2 ul li figure figcaption p.height96 {
height:96px;
text-align:left;
line-height:1.6;
}	
	


section .imgFlex2 ul li p.fsCenter a {
display:block;
text-align:center;
color:var(--gray);
}

section .imgFlex2a ul {
width: auto;
max-width: 1200px;
margin:0;
}
section .imgFlex2a img {
width:100%;
height:auto;
}
section .imgFlex2a ul li {
  width: 100%;
margin-bottom:1em;
}

section .imgFlex2a ul li figure {
  width: 100%;
  margin: 0;
}

section .imgFlex2a ul li iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}


section .imgFlex2b ul {
width: auto;
max-width: 1200px;
margin:0;
}
section .imgFlex2b img {
width:100%;
height:auto;
}
section .imgFlex2b ul li {
  width: 100%;
margin-bottom:1em;
}
.imgFlex2b ul li.plus {
  display: flex;
  justify-content: center;
  align-items: center;
}
.imgFlex2b ul li.plus i.pcOnly {
display:none;
}

section .imgFlex2c ul {
width: auto;
max-width: 1200px;
margin:0;
}
section .imgFlex2c img {
width:100%;
height:auto;
}
section .imgFlex2c ul li {
  width: 100%;
margin-bottom:1em;
}

section .imgFlex3 ul {
margin:0;
}
section .imgFlex3 ul li {
margin-bottom:1em;
}
section .imgFlex3 ul li dl {
margin:0;
}

section .imgFlex3 ul li dl dt p.textCenter {
line-height:1.2;
}
section .imgFlex3 h4 {
text-align:center;
}
section .imgFlex3 h5 {
text-align:center;
}
section .imgFlex3 dd ul {
display:block;
}
section .imgFlex3 li.bgcream {
background-color:#fdfdbe;
margin-bottom:0;
padding-top:1em;
}
section .imgFlex3 li.bgcream ul li {
background-color:#fdfdbe;
margin-bottom:0;
list-style-type:disc;
margin-left:2em;
}
section .imgFlex3 ul li span.fsSmallUp {
display:inline-block;
vertical-align: super;
font-size:10px;
}




section .imgFlex3a ul {
margin:0;
}
section .imgFlex3a h4 {
text-align:center;
}

section .imgFlex3a dl {
width: 100%;
max-width: 600px;
margin:0 auto;
}
section .imgFlex3a ul li dd h5 {
text-align:center;
font-size:1.2em;
color:var(--red);
margin-bottom:10px;
}
section .imgFlex3a ul li dd p {
text-align:center;
margin:0 0 1em;
}

section .imgFlex3a ul li p.fsRound {
width:60%;
font-size:1em;
font-weight:bold;
background-color:var(--blue);
color:var(--white);
padding:10px;
margin:0 auto;
border-radius: 50%;
min-height:60px;
display: flex;
justify-content: center;
align-items: center;
text-align: center;        
}



section .imgFlex3a ul li dt i {
display:block;
font-size:3em;
color:var(--red);
margin:0 auto 10px;
text-align:center;
}
section .imgFlex3a ul li.plus {
font-size:3em;
margin-bottom:10px;
margin:0 auto 10px;
text-align:center;
color:var(--gray);
}
section .imgFlex3a ul .fa-stack {
width:100%;
height:auto;
min-height:150px;
display:block;
}
section .imgFlex3a ul .fa-stack-2x {
font-size: 8em;
color:#eee;
}
section .imgFlex3a ul .fa-stack-1x {
color:#666;
font-size: 1.5em;
margin-top: 80px;
}


section .imgFlex3b ul {
width: auto;
max-width: 1200px;
margin:0;
}
section .imgFlex3b img {
width:100%;
height:auto;
}
section .imgFlex3b ul li {
  width: 100%;
margin-bottom:1em;
}
section .imgFlex3c ul {
width: auto;
max-width: 1200px;
margin:0;
}
section .imgFlex3c img {
width:100%;
height:auto;
}
section .imgFlex3c ul li {
  width: 100%;
margin-bottom:1em;
}
.imgFlex3c ul li.plus {
  display: flex;
  justify-content: center;
  align-items: center;
}
.imgFlex3c ul li.plus i.pcOnly {
display:none;
}


section .imgFlex3d ul {
width: auto;
max-width: 1200px;
margin:0;
}
section .imgFlex3d img {
width:100%;
height:auto;
}
section .imgFlex3d ul li {
  width: 100%;
margin-bottom:1em;
}
.imgFlex3d ul li.plus {
  display: flex;
  justify-content: center;
  align-items: center;
}
.imgFlex3d ul li.plus i.pcOnly {
display:none;
}

section .imgFlex4 ul {
width: auto;
max-width: 1200px;
margin:0;
}
section .imgFlex4 img {
width:100%;
height:auto;
}
section .imgFlex4 ul li {
  width: 100%;
margin-bottom:1em;
}

section .imgFlex4a ul {
width: auto;
max-width: 1200px;
margin:0;
}
section .imgFlex4a img {
width:100%;
height:auto;
}
section .imgFlex4a ul li {
  width: 100%;
margin-bottom:1em;
}
.imgFlex4a ul li.plus {
  display: flex;
  justify-content: center;
  align-items: center;
}
.imgFlex4a ul li.plus i.pcOnly {
display:none;
}
section .flexLeft dd p {
margin-left: 1em;
margin-right: 1em;
}
section article .flexLeft dd p {
margin-left: 10px;
margin-right: 10px;
}
section article dl {
margin-left: 1em;
margin-right: 10px;
}

/* 全体 */
.accordion details {
  border-bottom: 1px solid var(--darkGray);
}



/* summary */
.accordion summary {
  cursor: pointer;
  padding: 18px;
  list-style: none;
  position: relative;
}
.accordion details summary span {
display:inline-block;
margin-right:10px;
background-color:var(--red);
color:var(--white);	
padding:3px 6px;
border-radius: 6px;
}

/* デフォルト三角を消す */
.accordion summary::-webkit-details-marker {
  display: none;
}

.accordion p {
  padding: 0 18px 18px;
  margin: 0;
}

.accordion p span {
display:inline-block;
margin-right:10px;
background-color:var(--blue);
color:var(--white);
padding:3px 6px;
border-radius: 6px;
}














footer p.pageTop {
position: relative;
padding: 0;
width: 100%;
max-width: 1200px;
margin: 10px auto 0;
}


footer p.pageTop a {
background-color:var(--lightGray);
color: var(--black);
font-size: 14px;
color: var(--black);
font-weight: bold;
padding-left: 1em;
display:block;
}


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




/* ▼ 中央に三角形を置く */
footer p.pageTop::after {
  content: "";
  position: absolute;
  bottom:0;
  left: 50%; /* 中央 */
  transform: translate(-50%, -50%);

  /* 三角形（上向き） */
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid var(--black);
}


section .imgTitle {
  position: relative;
}

section .imgTitle p {
position: absolute;
text-align:center;
font-size:4vw;
font-weight:bold;
color: #333;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit-transform: translateY(-50%) translateX(-50%);
margin: auto;
-webkit-text-stroke: 1px #FFF;
text-stroke: 1px #FFF;
text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,-1px 1px 0 #FFF, 1px -1px 0 #FFF,0px 1px 0 #FFF,  0-1px 0 #FFF,-1px 0 0 #FFF, 1px 0 0 #FFF;
line-height:1.5;
width:100%;
padding:0;
margin:0 auto;
}



.imgColor-grid {
display: grid;
grid-template-columns:58% 35px 1fr;
gap: 10px;
max-width: 900px;
margin: 0 auto 1em;
background-color:var(--white);
}

.cell {
border-radius: 6px;
padding:10px;
text-align: center;
font-weight: bold;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}

.cell span {
  font-size: 0.9rem;
  font-weight: normal;
  margin-top: 5px;
}

/* 左列 */
.blue {
  background:var(--blue);
  color: #fff;
}

/* 中央列 */
.yellow {
background:var(--white);
color:var(--yellow);
}

/* 右列 */
.red {
  background:var(--red);
  color: #fff;
}
.fsYellow {
display:inline-block;
border-radius: 6px;
background:var(--yellow);
color:var(--black);
margin-bottom:2em;
}
.fsBlack h5 {
display:inline-block;
border-radius: 6px;
background:var(--gray);
color:var(--white);
}
.fsBlack h5 span{
background:var(--gray);
color:var(--red);
}
section .textLeft dl {
width:90%;
margin:0 auto 2em;
padding:10px;
border-radius: 6px;
border:1px solid var(--darkGray);	
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content:space-between;
}
section .textLeft dl.adobe dt {
width:112px;
margin:0 10px 0 0;
}

section .textLeft dl.adobe dd {
width:calc(100% - 122px);
margin:0;
line-height:1;
}

.specGrid {
display: grid;
grid-template-columns:1fr 1fr 1fr 3fr;
gap: 1px;
background: var(--darkGray);
border: 1px solid var(--darkGray);
text-align:center;
}
.specGrid > div {
background:var(--white);
padding: 10px;
}
.specGrid > div.th {
background:var(--lightGray);
font-weight: bold;
}
.rowSpan {
grid-row: span 2;
}
.textLeft {
text-align: left;
}

.tableForMail dl {
margin:1em 0 2em;
border-right:1px solid var(--darkGray);
border-bottom:1px solid var(--darkGray);
border-left:1px solid var(--darkGray);
}
.tableForMail dt {
text-align:center;
background-color:var(--lightGray);
border-top:1px solid var(--darkGray);
padding:10px;
}
.tableForMail dd {
line-height:1.2;
border-top:1px solid var(--darkGray);
padding:20px;
}

.tableForMail dd span span.wpcf7-list-item {
display:block;
width:100%;
margin-bottom:10px;
}

.tableForMail dd span span.last {
margin-bottom:0;
}
.tableForMail dt span {
font-size:12px;
background-color:var(--red);
color:var(--white);
display:inline-block;
padding:0 10px;
border-radius: 6px;
margin-left:1em;
}	
select.wpcf7-select {
min-width: 230px;
height: 40px;
padding:10px;
border: 1px solid var(--darkGray);
border-radius: 6px;
background-color: var(--white);
color: var(--black);
font-size: 1em;
}


input[type="email"],input[type="tel"],input[type="text"] {
display:block;
margin:0;
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 rgb(40,100,196,1);
border-color: rgb(40,100,196,0.5);
}

.wpcf7-checkbox input[type="checkbox"] {
width:16px;
height:16px;
-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;
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 rgb(17,87,64,1);
border-color: rgb(17,87,64,1);
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
}
section .wpcf7 dd textarea:focus-visible {
outline:none;
}

section input[type="file"] {
margin-top:5px;
}

section 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(--LightBlack);
text-align:center;
background-image: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#aaa));
background-image: -webkit-linear-gradient(top, #ddd, #aaa);
background-image: -moz-linear-gradient(top, #ddd, #aaa);
background-image: -ms-linear-gradient(top, #ddd, #aaa);
background-image: -o-linear-gradient(top, #ddd, #aaa);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ddd', endColorstr='#aaa',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-inline: auto;
padding:0;
position: relative;
font-size:16px;
outline-offset:0;
height:42px;
line-height:42px;
border:1px solid var(--LightBlack);
text-align:center;	
-webkit-appearance: none;
border-radius: 0;
background-image: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#aaa));
background-image: -webkit-linear-gradient(top, #ddd, #aaa);
background-image: -moz-linear-gradient(top, #ddd, #aaa);
background-image: -ms-linear-gradient(top, #ddd, #aaa);
background-image: -o-linear-gradient(top, #ddd, #aaa);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ddd', endColorstr='#aaa',GradientType=0 ); /* IE6-9 */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;	
}
.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;
}



footer nav.footerNav li {
border-bottom:1px solid var(--lightGray);
}
footer nav.footerNav li:last-child {
border-bottom:none;
}

footer nav.footerNav a {
display:block;
color:var(--black);
padding-left:1em;
}

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



footer section.borderBottomLine {
color:var(--white);
background-color:var(--gray);
text-decoration:none;
width: 100%;
max-width: 100%;
margin:0 auto;
border-bottom:1px solid var(--black);
}




footer section.borderBottomLine dl {
padding:10px;
width: 100%;
max-width: 1200px;
margin: 0 auto 10px;
}

footer section.borderBottomLine dl dt {
display: flex;
flex-wrap: wrap;
align-items: center;
margin-bottom: 1em;
}
footer section.borderBottomLine dl dt h3 {
margin: 0 5px 0 10px;
}
footer section.borderBottomLine dl dt span {
font-weight: 600;
}
footer section.borderBottomLine dl p {
text-align:left;
border-top:none;
}
footer section.borderBottomLine dl dd p {
font-size: 12px;
color:var(--lightGray);
}



footer p.borderBottomLine {
color:var(--white);
background-color:var(--gray);
text-align:center;
border-top:1px solid #999;
}

footer p.borderBottomLine a {
color:var(--white);
background-color:var(--gray);
}

footer p.borderBottomLine a:hover {
color:var(--blue);
background-color:var(--gray);
text-decoration: none;
}









/* Tablet
---------------------------------------------------- */

@media screen and (min-width: 640px) {
a[href^="tel:"] {
pointer-events: none;
color:#000;
}
header {
width: 100%;
border-top: 3px solid var(--blue); 
}
header .headerText {
background-color:var(--lightGray);
}


header .headerImg {
width:88%;
max-width:1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}


header p {
display:block;
}

header p {
max-width: 1200px;
margin: 0 auto;
font-size: clamp(10px, 1.4vw, 16px);
}
section .imgTitle p {
font-size:4vw;
}
.fsBlack {
display: flex;
flex-wrap: wrap;
justify-content:center;
align-items:flex-end;
}	
.fsBlack dt {
width:60%;
}	
.fsBlack dd {
width:39%;
max-width:200px;
margin:-150px 0 0;
}		

footer section dl {
margin: 0 auto;
}

footer p.pageTop {
display: flex;
justify-content: flex-end;
}
footer p.pageTop a {
width:140px;
padding:3px 0 8px 0;
text-align:center;
}

footer p.pageTop::after {
bottom:0;
left:calc(100% - 70px);
}



footer .footerNav {
width:100%;
margin: 0;
border-top: 1px solid var(--darkGray);
}



footer .footerNav ul {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
}


footer .footerNav ul li {
width:auto;
border-bottom:none;
padding:10px 0;
text-align:center;
}

footer nav.footerNav li a {
display:block;
color:var(--black);
padding:0 20px;
border-left: 1px solid var(--darkGray);
}

footer nav.footerNav li:last-child a {
border-right: 1px solid var(--darkGray);
}


}

/* Tablet
---------------------------------------------------- */

@media screen and (min-width: 768px) {
body {
padding-top: 143px;
}
section {
background-color:var(--white);
}
header nav {
width:100%;
margin: 0;
}
header {
width: 100%;
}
.topHead {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}		
.leftHeader dl {
width:400px;
justify-content: flex-start;
}	
.leftHeader dl dd h1 {
text-align:left;
}
.leftHeader dl dd p {
text-align:left;
}	



	
section.News article li {
width:100%;
max-width:100%;
margin:0 0 2em;
}	


section.News article dl dt {
display: flex;
gap: 20px;
justify-content: space-between;
}
section.News article dl dd  {
display: flex;
gap: 20px;
align-items: flex-start;
padding:0 1em;
}	
section.News article dl dd img {
width: 150px;
height: auto;
margin:0;
}
section.News article dl dd p {
margin:0;
}
	
section ul.sp0 {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}	
section ul.sp0 li {
width:49%;
}	
	
	
section .ListCenter ol {
max-width: 740px;
margin:0 auto 1em;
}
	
section .ListCenter ol span {
display:inline-block;
margin-left:1em;
}
	
	
	
	
	
.table002 {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom:1em;
border-bottom: 1px solid var(--darkGray);
}
.table002 dt {
width:30%;
border-top:1px solid var(--white);
padding:5px 0;
}
.table002 dt:first-of-type {
  border-top: 1px solid var(--darkGray);
}
	
.table002 dd {
width:70%;
border-top:1px solid var(--darkGray);
padding:5px 0 5px 1em;
}
	
section .imgFlex2 ul {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(10px, 3vw, 60px);
padding: 0;
margin: 0 0 1em;
list-style: none;
align-items: stretch;
}
section .imgFlex2 li {
  display: flex;
}

section .imgFlex2 figure {
  display: flex;
  flex-direction: column;
  flex: 1;
}
section .imgFlex2 figcaption {
  margin-top: auto;
}
section .imgFlex2 ul li figure figcaption p.height76 {
margin:0;
}
section .imgFlex2 ul li figure figcaption p.height96 {
margin:0;
}	
	

	
section .imgFlex2 img {
width: 100%;
object-fit: cover;
flex-shrink: 0;
}

	
	
	
	
section .imgFlex2 ul.justifyCenter {
width:900px;
margin:0 auto;
}	
	
	
	
	
section .imgFlex2c ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 0;
margin: 0 0 1em;
align-items: stretch;
}	
section .imgFlex2c ul li{
width:49%;
}	
section .imgFlex2c ul li ul {
display: block;
}		
	
section .imgFlex2c ul li ul li {
width:100%;
}		
	
	
	
	
	
	
	
	
section .heightAuto ul {
width:100%;
display:flex;
flex-wrap: nowrap;
justify-content:center;
align-items: stretch;
}	
section .heightAuto ul li {
width:auto;
margin:0 10px 10px;
}

section .heightAuto ul li img {
width:auto;
height:400px;
margin:0;
}
	
	
section .imgFlex2a ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
section .imgFlex2a ul.justifyCenter {
margin:0 auto;
}		
section .imgFlex2a ul.justifyCenter li:first-child {
margin:0 10px;
width:560px;
}

section .imgFlex2a ul.justifyCenter li:last-child {
margin:0 10px;
width:189px;
}
section .imgFlex2a ul.justifyCenter {
justify-content: center;
}		
	

section .imgFlex2 figure a {
margin: 0;
height: 100%;
display: flex;
flex-direction: column;
}	
.imgFlex2 iframe,
.imgFlex2 img {
  width: 100%;
  height: auto;
  display: block;
flex-grow: 1;
}
	
	
	
section .imgFlex2b ul {
display: grid;
grid-template-columns: 1fr 80px 1fr;
gap: 10px;
}	
section .imgFlex2b  ul li dt i {
font-size:3em;
color:var(--red);
margin-bottom:10px;
}
.imgFlex2b ul li.plus {
  display: flex;
  justify-content: center; /* 横方向の中央 */
  align-items: center;     /* 縦方向の中央 */
}
.imgFlex2b ul li.plus i.mobileOnly {
display:none;
}
.imgFlex2b ul li.plus i.pcOnly {
display:block;
}	

section .imgFlex2b ul li:nth-child(2) i {
font-size:3em;
margin-bottom:0;
}	
		
	
	
section .imgFlex3 ul {
width:100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.imgFlex3 li {
  background: #fff;
  padding: 10px 0;
}

.imgFlex3 figure {
  margin: 0 0 10px;
}
.imgFlex3 figure figcaption p {
margin: 0;
line-height:1.6;
}
.imgFlex3 img {
  width: 100%;
  height: auto;
  display: block;
}	
	

section .imgFlex3a ul {
display: grid;
grid-template-columns: 1fr 80px 1fr 80px 1fr;
gap: 10px;
}	
section .imgFlex3a  ul li dt i {
font-size:3em;
color:var(--red);
margin-bottom:10px;
}
.imgFlex3a ul li.plus {
  display: flex;
  justify-content: center; /* 横方向の中央 */
  align-items: center;     /* 縦方向の中央 */
}


section .imgFlex3a ul li:nth-child(2) i,
section .imgFlex3a ul li:nth-child(4) i {
font-size:1em;
margin-bottom:0;
}	
	
	
section .imgFlex3b ul {
display: grid;
  grid-template-columns: repeat(3, 1fr); /* 2列で横並び */
  gap: 20px; /* 余白（お好みで） */
  padding: 0;
  margin: 0 0 1em;
  list-style: none;
align-items: stretch;
}	
	
	
	
section .imgFlex3c ul {
display: grid;
grid-template-columns: 1fr 80px 1fr 1fr;
gap: 10px;
}	
section .imgFlex3c  ul li i {
font-size:3em;
margin-bottom:0;
}
.imgFlex3c ul li.plus {
  display: flex;
  justify-content: center;
  align-items: center;
}
.imgFlex3c ul li.plus i.mobileOnly {
display:none;
}
.imgFlex3c ul li.plus i.pcOnly {
display:block;
}	

section .imgFlex3a ul li:nth-child(2) i {
font-size:3em;
margin-bottom:0;
}		
	
	
	
	
section .imgFlex3d ul {
display: grid;
grid-template-columns:1fr 80px 1fr 80px 1fr;
gap: 20px;
padding: 0;
margin: 0 0 1em;
list-style: none;
align-items: stretch;
}		
.imgFlex3d ul li.plus i.mobileOnly {
display:none;
}
.imgFlex3d ul li.plus i.pcOnly {
display:block;
}	
	
	
	
	
	
	
	
section .imgFlex4 ul {
display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 0;
  margin: 0 0 1em;
  list-style: none;
align-items: stretch;
}		
	
	
	
section .imgFlex4a ul {
display: grid;
grid-template-columns: 1fr 80px 1fr 80px 1fr 80px 1fr;
gap: 10px;
}	
section .imgFlex4a  ul li dt i {
font-size:3em;
color:var(--red);
margin-bottom:10px;
}
.imgFlex4a ul li.plus {
  display: flex;
  justify-content: center; /* 横方向の中央 */
  align-items: center;     /* 縦方向の中央 */
}


section .imgFlex4a ul li:nth-child(2) i,
section .imgFlex4a ul li:nth-child(4) i,
section .imgFlex4a ul li:nth-child(6) i{
font-size:3em;
margin-bottom:0;
}		
	
.imgFlex4a ul li.plus i.mobileOnly {
display:none;
}
.imgFlex4a ul li.plus i.pcOnly {
display:block;
}	
		
	
	
	
	
	
	
	

section .div50Percent dt {
  float: none;
  margin:0 auto;
}
section .div50Percent dt img {
text-align:center;
  margin:0 auto;
}
.tableForMail dl {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border:none;
}
.tableForMail dt {
width:30%;
background-color:var(--white);
border:none;
display: flex;
flex-wrap: wrap;
align-items: center;
}
.tableForMail dd {
width:70%;
border:none;
}
	
.tableForMail dl dt:nth-of-type(odd),
.tableForMail dl dd:nth-of-type(odd) {
background-color:var(--lightGray);
}	
#sitemapPage ul.lcp_catlist li {
display: flex;
flex-wrap: wrap;
}					
#sitemapPage ul.lcp_catlist p.lcp_date {
width:150px;
}					
#sitemapPage ul.lcp_catlist p.lcp_title {
width:calc(100% - 150px);
}					


}
/* min-PC
---------------------------------------------------- */

@media screen and (min-width: 1200px) {
button {
display:none;
}
	
.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fadein.is-visible {
  opacity: 1;
  transform: translateY(0);
}	
.fadein-left {
  opacity: 0;
  transform: translateX(-100px);
transition: opacity 0.4s cubic-bezier(0.1, 0.9, 0.2, 1),transform 0.4s cubic-bezier(0.1, 0.9, 0.2, 1);
}

.fadein-left.is-visible {
opacity: 1;
transform: translateX(0);
transition: opacity 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), 
transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);	
}	
	
.titleWrap h2 {
border-bottom:none;
font-size:32px;
margin:2em 0 10px;
}
	
section article p {
width:auto;
max-width: 1200px;
margin:0 1em 1em 0;
}	
.leftHeader {
width:400px;
margin:0;
padding:0;
}

	
	
	
.rightHeader {
display:block;
width:270px;
margin:10px 0 0;
}	
.rightHeader ul {
margin:0;
display: flex;
flex-wrap: wrap;
justify-content:space-around;
}	
	
.rightHeader ul li {
width:210px;
text-align:center;
line-height:50px;
font-weight:700;
color:var(--blue);
display: flex;
flex-wrap: wrap;
align-items: center;
}
.rightHeader ul li p {
margin:0;
}	
	
	
	
.rightHeader ul li:last-child {
display:block;
width:35px;
border:none;
}	


ul.nav__list {
width:100%;
height:57px;
max-width:1980px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
padding:0;
}
.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%;
}


.nav__item {
 padding: 0;
}

.sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  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;
}



.nav {
width:100%;
height:60px;
margin: 0;
position: relative;
background:var(--white);
box-shadow:none;
transform: translateX(0);
transition: transform .4s;
z-index: 90;
}
	
.imgflexLeft {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}	
.imgflexLeft dt {
width:39%;
}		
.imgflexLeft dd {
width:60%;
margin-bottom:2em;
}		

header .headerImg ul {
width:auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

.aboutParagraph {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.aboutParagraph h3 {
margin:0;
line-height:2;
}	
section ul.sp0 li {
width:24%;
}			
section ul.sp0 dl dd {
margin:0;
}	
section ul.sp0 li h4.fsSmall {
font-size:18px;
line-height:48px;
letter-spacing: -0.09em;
}
section ul.sp0 li h4.fsSmall2 {
font-size:18px;
line-height:48px;
}
section dl.flexLeft dt {
float: left;
margin-right: 20px;
margin-bottom:1em;
}
section dl.flexImgLeft {
display:flex;
gap:2em;
margin-bottom:1em;
}

.paragraphLeft {
margin-top:1em;
padding: 0;
border-radius: 6px;
border:1px solid var(--blue);
}

.paragraphRight {
margin-top:1em;
padding: 0;
border-radius: 6px;
border:1px solid var(--blue);
}

.paragraphRight dl {
margin:0;
padding:0;
}	
.paragraphRight dl dd p {
margin:0 1em 1em;
}	
section.News article ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
	
section.News article dl {
margin-left: 0;
margin-right: 0;
}	
	
	
	
section.News article li {
margin:10px 0 0;
}	
section.News article dl {
border:1px solid var(--blue);
border-radius: 6px;
padding:0;
}			
section.News article dl dd img {
border-bottom-left-radius: 6px;
}	
section.News article dl dt h3 {
margin:0;
padding:0 0 0 10px;
}
section.News article dl dd  {
padding:0;
align-items: flex-end;
}		
	
	
	
section.News article dl dd p {
margin:0 10px 0 0;
}	
section .table001 dl {
grid-template-columns: 20% repeat(4, 20%);
border-left: 1px solid var(--darkGray);
border-right: 1px solid var(--darkGray);
}	
.table001 dd ul {
min-height: 55px;
}
	
section dl.flexLeft {
width:75%;
margin:0 auto;
}	
section dl.flexLeft dt {
max-width: 400px;
}	
section article dl.flexLeft {
width:100%;
margin:0 auto;
}	
section article dl.flexLeft dt {
max-width: 400px;
}		
	
section .imgFlex2b {
width:75%;
margin:0 auto;
}		
section .imgFlex2 ul {
width:75%;
margin: 0 auto 1em;
}
	
section .imgFlex2c ul.w75p {
justify-content:space-around;
width:100%;
margin: 0 auto 1em;
}		
section .imgFlex2c ul.w75p li {
width:35%;
}		
section .imgFlex2c ul.w75p li figcaption p{
margin:0;
}				
	
	
section .flexLeft2 li {
  margin-bottom: 40px;
  overflow: hidden;
}
section .flexLeft2 li:first-child {
min-height:430px;
}
section .flexLeft2 h3 {
  margin-bottom: 10px;
  clear: both;
}

section .flexLeft2 li dl {
  margin: 0;
  display: block;
}
section .flexLeft2 li dl dt {
  width: 40%;
}

section .flexLeft2 li dl dt img {
  max-width: 100%;
  height: auto;
}
section .flexLeft2 li dl dd {
  margin: 0;
  padding: 0;
  display: block;
}
section .flexLeft2 li:nth-child(odd) dl dt {
  float: left;
  margin-right: 20px;
  margin-bottom: 10px;
}

section .flexLeft2 li:nth-child(even) dl dt {
  float: right;
  margin-left: 20px;
  margin-bottom: 10px;
}
section .flexLeft2 li dl dd dl {
  margin-top: 15px;
  padding: 15px;
  overflow: hidden;
}

section .flexLeft2 li dl dd dl dt {
  float: none;
  width: 100%;
  font-weight: bold;
  margin: 0 0 5px 0;
}

section .flexLeft2 li dl dd dl dd {
  width: 100%;
}

section .flexLeft2 li dl dd dl ul {
  margin: 0 0 0 1.5em;
  padding: 0;
  list-style: disc;
}

section .flexLeft2 li dl dd ul li {
  margin-bottom: 5px;
  list-style-type: disc;
  display: list-item !important;
  overflow: visible;
}	
section .flexLeft2 li dl dd ul li:first-child {
  min-height:32px;
}	
	
.imgFlex3e ul {
width:100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(4, 1fr);
  gap: 10px;
  list-style: disc;
  padding: 0;
  margin: 0 0 0 1em;
}

.imgFlex3e li {
background: #fff;
padding:0;
}
	
section .div50Percent dt {
float: left;
margin-right: 20px;
margin-bottom:2em;
width:50%;
}	
section .div50Percent dd {
margin-bottom:2em;
}	
	
section .imgTitle p {
font-size:36px;
	
}
.fsBlack h5 {
font-size:24px;
}	
	
section .table004 dl {
grid-template-columns:200px 1fr;
}
	
	
	
footer {
margin-top:100px;
}




}