@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;700&family=Noto+Serif+JP:wght@400;600;700&family=Oswald&family=Questrial&familyEB+Garamond:ital,wght@0,400..800;1,400..800&display=swap");
.mv .note { padding-left: 1rem; }

.note { text-align: left; margin-top: 1rem; }

.midashi .txt-s { font-size: 80%; }
.midashi sup { font-size: 10px; vertical-align: supper; color: #000; }

.maincopy sup { font-size: 10px; vertical-align: supper; color: #000; }

.intro .line-ttl { color: #c38756; }
.intro .line-ttl::before { background-color: #c38756; }
.intro .tate { color: #512a0f; }
.intro .fig { margin: auto; }
.intro .fig.fig1 { max-width: 720px; margin-top: 8rem; }
.intro .fig.fig2 { max-width: 720px; margin-top: 8rem; }
.intro .fig.fig2 .note { text-align: right; }
.intro .note { max-width: 720px; margin: 1rem auto 0; }

.sec-mv { max-width: 1200px; aspect-ratio: 1200/320; margin: auto; padding: 4rem; border-bottom-style: solid; border-bottom-width: 12px; position: relative; }
.sec-mv .mv { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.sec-mv .mv .page-name { position: static; transform: none; }
.sec-mv .mv .midashi { color: #fff; margin-top: 1.6rem; }
.sec-mv .mv .lead { color: #fff; margin-top: 1.6rem; }
.sec-mv .bg-img { width: 100%; height: 100%; position: absolute; left: 0; top: 0; }
.sec-mv .bg-img .img { width: 100%; height: 100%; }
@media screen and (max-width: 1024px) { .sec-mv { aspect-ratio: 1200/360; border-bottom-width: 10px; } }
@media screen and (max-width: 480px) { .sec-mv { aspect-ratio: 400/224; border-bottom-width: 8px; } }

.num-txt { font-family: 'Noto Serif JP', serif; display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-align: center; align-items: center; }
.num-txt * { min-height: 0%; }
.num-txt .num { background-color: #56b4ca; border-radius: 50%; display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 2.5rem; height: 2.5rem; margin-right: .5rem; }
.num-txt .num * { min-height: 0%; }
.num-txt .num .n-txt { display: inline-block; font-size: 1.8rem; line-height: 1; text-align: center; color: #fff; }
.num-txt .num + .txt { display: inline-block; font-size: 2rem; line-height: 1.6; }

#Smart { margin-top: 8rem; }
#Smart .sec-mv { background: url("../img/brand/title_bg_smart.jpg") center bottom/cover no-repeat; border-bottom-color: #56b4ca; }
#Smart .nisum { max-width: 800px; margin: auto; }
#Smart .nisum .img { margin-top: 5rem; }
#Smart .nisum .img + .note { margin-top: 1rem; }
#Smart .nisum .n-title-box { letter-spacing: 0; }
#Smart .nisum .n-title { display: inline-block; position: relative; }
#Smart .nisum .n-title .note { position: absolute; top: 0; right: 0; }
#Smart .b-security { background-color: #EAF6F8; max-width: 1200px; margin: 4rem auto 0; padding: 8rem 0 2rem; }
#Smart .b-security .midashi .txt-s { color: #56b4ca; }
#Smart .b-security .num-txt { margin-top: 5rem; }
#Smart .b-security .li-ttl { background-color: #56b4ca; }
#Smart .b-security .li-ttl img { width: 100%; height: auto; }
#Smart .b-security ul { margin-top: 30px; display: grid; gap: 15px; }
#Smart .b-security ul li .note { margin-top: .5rem; }
#Smart .b-security .bs01 { grid-template-columns: 25% 25% 1fr; }
#Smart .b-security .bs02 { grid-template-columns: 21.5% 25.5% 21.5%; }
#Smart .b-security .img03 .img { margin-top: 1rem; border: solid 3px #000; padding: .5rem; }
#Smart .b-security .img03 .img + .note { margin-top: 1rem; }
@media screen and (max-width: 768px) { #Smart .b-security .bs01 { grid-template-columns: repeat(2, 1fr); }
  #Smart .b-security .bs01 li:last-of-type { grid-column: 1 / 3; }
  #Smart .b-security .bs02 { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
  #Smart .b-security .bs02 * { min-height: 0%; }
  #Smart .b-security .bs02 li { /*&:nth-of-type(1),&:nth-of-type(4){
	width: 43%;
}
&:nth-of-type(2),&:nth-of-type(3){
	width: 51%;
}*/ }
  #Smart .b-security .bs02 li:nth-of-type(1), #Smart .b-security .bs02 li:nth-of-type(3) { width: 43%; }
  #Smart .b-security .bs02 li:nth-of-type(2) { width: 51%; }
  #Smart .b-security .img03 .img { width: 100%; overflow-x: scroll; }
  #Smart .b-security .img03 .img img { height: 250px; width: auto; } }
@media screen and (max-width: 480px) { #Smart .sec-mv { background-image: url("../img/brand/title_bg_smart_sp.jpg"); }
  #Smart .b-security .bs01 li:last-of-type { grid-column: span 2; }
  #Smart .b-security .bs02 { gap: 6px; }
  #Smart .b-security .bs02 li { 				/*&:nth-of-type(1),&:nth-of-type(4){
//					width: auto; width: calc(43% + 9px);
				}
				&:nth-of-type(2),&:nth-of-type(3){
//					width: auto; width: calc(51% + 9px);
				}*/ }
  #Smart .b-security .bs02 li:nth-of-type(1), #Smart .b-security .bs02 li:nth-of-type(3) { width: calc(43% + 9px); }
  #Smart .b-security .bs02 li:nth-of-type(2) { width: calc(51% + 9px); } }

#Resilience { margin-top: 8rem; }
#Resilience .sec-mv { background: url("../img/brand/title_bg_resilience.jpg") center top/cover no-repeat; border-bottom-color: #958664; }
#Resilience .chart-map { margin-top: 8rem; }
#Resilience .chart-map .chart-map-wrap { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; position: relative; }
#Resilience .chart-map .chart-map-wrap * { min-height: 0%; }
#Resilience .chart-map br.pc { display: block !important; }
#Resilience .chart-map .wappen { width: 24%; min-width: 200px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; order: 1; }
#Resilience .chart-map .wappen img { width: 100%; height: auto; }
#Resilience .chart-map .chart-section-box { width: 50%; position: relative; z-index: 1; }
#Resilience .chart-map .chart-section-box .sec-title { display: none; width: 100%; padding: 2%; font-family: 'Noto Serif JP', serif; font-size: 1.75rem; color: #fff; line-height: 1.2; letter-spacing: 1.5em; text-align: center; }
#Resilience .chart-map .chart-section-box .sec-contents { width: 100%; padding: 3.2%; }
#Resilience .chart-map .chart-section-box .sec-block { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
#Resilience .chart-map .chart-section-box .sec-block * { min-height: 0%; }
#Resilience .chart-map .chart-section-box .sec-block + .sec-block { margin-top: 2.4rem; }
#Resilience .chart-map .chart-section-box .sec-block .maincopy { width: 100%; font-family: 'Noto Serif JP', serif; font-size: 2rem; text-align: left; line-height: 1.44; margin-bottom: 1.5rem; order: 1; }
#Resilience .chart-map .chart-section-box .sec-block .text { width: 64.9572649573%; }
#Resilience .chart-map .chart-section-box .sec-block .lead { font-size: 1.4rem; text-align: left; margin-top: 0; }
#Resilience .chart-map .chart-section-box .sec-block .image { width: 31.6239316239%; min-width: 148px; }
#Resilience .chart-map .note.bottom { width: 100%; margin-top: 1.5rem; }
#Resilience .chart-map #Disaster { order: 2; border-right: thin solid #231815; border-bottom: thin solid #231815; }
#Resilience .chart-map #Disaster .sec-title { background-color: #B88F81; }
#Resilience .chart-map #Disaster .maincopy { color: #B88F81; }
#Resilience .chart-map #Disaster .sec1 .text { order: 2; }
#Resilience .chart-map #Disaster .sec1 .image { order: 3; }
#Resilience .chart-map #Disaster .sec2 .text { order: 3; }
#Resilience .chart-map #Disaster .sec2 .image { order: 2; }
#Resilience .chart-map #Disaster .sec2 .lead { padding-right: 25.641025641%; }
#Resilience .chart-map #AfterDisaster { order: 3; border-bottom: thin solid #231815; }
#Resilience .chart-map #AfterDisaster .sec-title { background-color: #CFA810; }
#Resilience .chart-map #AfterDisaster .maincopy { color: #CFA810; }
#Resilience .chart-map #AfterDisaster .sec1 .text { order: 3; width: 39.0243902439%; }
#Resilience .chart-map #AfterDisaster .sec1 .image { order: 2; width: 53.1707317073%; }
#Resilience .chart-map #AfterDisaster .sec2 .text { order: 2; }
#Resilience .chart-map #AfterDisaster .sec2 .image { order: 3; }
#Resilience .chart-map #AfterDisaster .sec2 .lead { padding-left: 32.4786324786%; }
#Resilience .chart-map #Ordinary { order: 5; }
#Resilience .chart-map #Ordinary .sec-title { background-color: #0096A6; }
#Resilience .chart-map #Ordinary .maincopy { color: #0096A6; }
#Resilience .chart-map #Ordinary .sec1 { max-width: 220px; margin: 0 auto; }
#Resilience .chart-map #Ordinary .sec1 .text { order: 3; width: 100%; margin-top: 1rem; }
#Resilience .chart-map #Ordinary .sec1 .image { order: 2; width: 100%; }
#Resilience .chart-map #Ordinary .sec2 .text { order: 3; }
#Resilience .chart-map #Ordinary .sec2 .image { order: 2; }
#Resilience .chart-map #Future { order: 4; border-right: thin solid #231815; }
#Resilience .chart-map #Future .sec-title { background-color: #77A38E; }
#Resilience .chart-map #Future .maincopy { color: #77A38E; }
#Resilience .chart-map #Future .sec1 .text { order: 3; }
#Resilience .chart-map #Future .sec1 .image { order: 2; }
#Resilience .chart-map #Future .sec1 .lead { padding-right: 27.3504273504%; }
#Resilience .chart-map #Future .sec2 .text { order: 2; }
#Resilience .chart-map #Future .sec2 .image { order: 3; }
#Resilience #Infrastructure { padding-top: 10rem; }
#Resilience #Infrastructure .flex-ttl { width: 100%; margin: 0 auto; text-align: center; }
#Resilience #Infrastructure .flex-ttl .txt { display: inline-block; font-size: 1.8rem; line-height: 1.8; padding: 0.5rem 2rem; border: solid 1px #958664; margin: auto; color: #958664; }
#Resilience #Infrastructure .flex { margin-top: 3rem; }
#Resilience #Infrastructure .flex .f-base { width: 100%; max-width: 869px; margin: 0 auto; }
#Resilience #Infrastructure .flex .f-base .no { position: absolute; z-index: 3; width: 4.0276179517%; transition: .3s; cursor: pointer; }
#Resilience #Infrastructure .flex .f-base .no:hover, #Resilience #Infrastructure .flex .f-base .no.show { filter: brightness(120%); }
#Resilience #Infrastructure .flex .f-base .no01 { top: 7.0528967254%; left: 2.2935779817%; }
#Resilience #Infrastructure .flex .f-base .no02 { top: 16.3727959698%; left: 2.2935779817%; }
#Resilience #Infrastructure .flex .f-base .no03 { top: 7.0528967254%; left: 7.2247706422%; }
#Resilience #Infrastructure .flex .f-base .no04 { top: 0%; left: 56.7660550459%; }
#Resilience #Infrastructure .flex .f-base .no05 { top: 25.6926952141%; left: 82.9128440367%; }
#Resilience #Infrastructure .flex .f-base .no06 { top: 16.3727959698%; left: 7.2247706422%; }
#Resilience #Infrastructure .flex .f-base .no07 { top: 90.9319899244%; left: 72.7064220183%; }
#Resilience #Infrastructure .flex .f-base .note { margin-top: 1rem; }
#Resilience #Infrastructure .flex .slider-area { margin: 3rem auto 0 auto; width: 90%; max-width: 900px; overflow: hidden; text-align: center; }
#Resilience #Infrastructure .flex .slider-area img { display: block; width: 90%; height: auto; margin: 0 auto; }
#Resilience #Infrastructure .swiper-slide { padding: 0 5%; }
#Resilience #Infrastructure .swiper-button-prev, #Resilience #Infrastructure .swiper-button-next { height: 64px; width: 39px; }
#Resilience #Infrastructure .swiper-button-prev::after, #Resilience #Infrastructure .swiper-button-next::after { content: ""; background-repeat: no-repeat; background-size: contain; height: 64px; width: 39px; margin: auto; background-size: contain; }
#Resilience #Infrastructure .swiper-button-prev { left: 0; }
#Resilience #Infrastructure .swiper-button-prev::after { background-image: url("../img/brand/prev.png"); }
#Resilience #Infrastructure .swiper-button-next { right: 0; }
#Resilience #Infrastructure .swiper-button-next::after { background-image: url("../img/brand/next.png"); }
#Resilience #Infrastructure .swiper-pagination { position: static; margin-top: 2.4rem; }
#Resilience .setsubi { margin-top: 2rem; padding: 5rem 4rem; background-color: #F3F1EA; }
#Resilience .setsubi .obi { width: 100%; font-family: 'Noto Serif JP', serif; margin-top: 1rem; margin-bottom: 1.6rem; display: block; padding: .5rem 1rem; background: #958664; color: #fff; text-align: center; font-size: 2rem; line-height: 1.4; }
#Resilience .setsubi .s-txt { display: block; width: 100%; font-size: 2rem; line-height: 1.4; text-align: center; font-family: 'Noto Serif JP', serif; }
#Resilience .setsubi .item03 { margin-top: 5rem; }
#Resilience .setsubi .item01 .txt-box, #Resilience .setsubi .item02 .txt-box { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; }
#Resilience .setsubi .item01 .txt-box *, #Resilience .setsubi .item02 .txt-box * { min-height: 0%; }
#Resilience .setsubi .item01 .txt-box { width: 100%; }
#Resilience .setsubi .item01 .img-list { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
#Resilience .setsubi .item01 .img-list * { min-height: 0%; }
#Resilience .setsubi .item01 .img-list .image:nth-of-type(1) { width: calc((262/428)*100%); }
#Resilience .setsubi .item01 .img-list .image:nth-of-type(2) { width: calc((162/428)*100%); }
#Resilience .setsubi .item02 { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
#Resilience .setsubi .item02 * { min-height: 0%; }
#Resilience .setsubi .item02 .img-box { width: 40%; }
#Resilience .setsubi .item02 .txt-box { width: 56%; }
#Resilience .setsubi .item02 .obi .txt-s { display: inline-block; font-size: 70%; }
#Resilience .setsubi .item02 .obi .waku { display: inline-block; border: solid 1px #fff; padding: 2px 5px; }
#Resilience .setsubi .item02 .lead { margin-top: 1rem; text-align: left; }
#Resilience .setsubi .item02 .note { margin-top: 1rem; }
#Resilience .setsubi .item03 .obi { border-radius: 40px; letter-spacing: 1em; }
#Resilience .setsubi .item03 ul { margin-top: 3rem; display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
#Resilience .setsubi .item03 ul li { display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
#Resilience .setsubi .item03 ul li * { min-height: 0%; }
#Resilience .setsubi .item03 ul li .num { background: #958664; display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: center; justify-content: center; -webkit-box-align: center; align-items: center; width: 3rem; height: 3rem; border-radius: 50vh; }
#Resilience .setsubi .item03 ul li .num * { min-height: 0%; }
#Resilience .setsubi .item03 ul li .num .n-txt { display: inline-block; font-size: clamp(12px, 1.2vw, 16px); line-height: 1; text-align: center; color: #fff; font-family: 'Noto Serif JP', serif; }
#Resilience .setsubi .item03 ul li .txt { width: calc(100% - 4rem); font-size: 1.4rem; line-height: 1.6; text-align: left; }
#Resilience .setsubi .item03 ul li .txt .note { margin-top: 1rem; }
@media screen and (max-width: 980px) { #Resilience .chart-map .chart-section-box .sec-block .text { width: 66.6666666667%; }
  #Resilience .chart-map .chart-section-box .sec-block .image { min-width: 112px; }
  #Resilience .chart-map #AfterDisaster .sec2 .lead { padding-left: 32.4786324786%; }
  #Resilience .chart-map #Ordinary .sec1 .maincopy, #Resilience .chart-map #Ordinary .sec1 .lead { padding-left: 29.0598290598%; }
  #Resilience .chart-map #Future .sec1 .maincopy, #Resilience .chart-map #Future .sec1 .lead { padding-right: 25.641025641%; } }
@media screen and (max-width: 768px) { #Resilience .chart-map { margin-top: 0; }
  #Resilience .chart-map br.pc { display: none !important; }
  #Resilience .chart-map .wappen { top: 53%; position: static; transform: none; margin: 2rem auto; max-width: 200px; }
  #Resilience .chart-map .chart-section-box { width: 100%; border: none !important; display: -webkit-box; display: flex; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; -webkit-box-align: stretch; align-items: stretch; }
  #Resilience .chart-map .chart-section-box * { min-height: 0%; }
  #Resilience .chart-map .chart-section-box .sec-title { display: flex; justify-content: space-around; align-items: center; font-size: 2.2rem; }
  #Resilience .chart-map .chart-section-box .sec-contents { width: 100%; padding: 6%; }
  #Resilience .chart-map .chart-section-box .sec-block { display: grid; grid-template-columns: 64% 32%; gap: 0 4%; align-items: flex-start; }
  #Resilience .chart-map .chart-section-box .sec-block + .sec-block { margin-top: 3.2rem; }
  #Resilience .chart-map .chart-section-box .sec-block .text { width: 100% !important; order: 3 !important; }
  #Resilience .chart-map .chart-section-box .sec-block .image { width: 100% !important; order: 2 !important; min-width: auto; grid-row: span 3; }
  #Resilience .chart-map .chart-section-box .sec-block .maincopy { padding-left: 0 !important; padding-right: 0 !important; }
  #Resilience .chart-map .chart-section-box .sec-block .lead { font-size: 1.625rem; padding-left: 0 !important; padding-right: 0 !important; }
  #Resilience .chart-map #Ordinary { order: 4; }
  #Resilience .chart-map #Ordinary .sec1 { width: 100%; max-width: 100%; }
  #Resilience .chart-map #Ordinary .sec1 .text { order: 3; width: 39.0243902439%; }
  #Resilience .chart-map #Ordinary .sec1 .image { order: 2; width: 53.6585365854%; }
  #Resilience .chart-map #Future { order: 5; }
  #Resilience .setsubi .item03 ul { grid-template-columns: repeat(2, 1fr); } }
@media screen and (max-width: 480px) { #Resilience .sec-mv { background-image: url("../img/brand/title_bg_resilience_sp.jpg"); }
  #Resilience #Infrastructure { padding-top: 8rem; }
  #Resilience #Infrastructure .swiper-button-prev, #Resilience #Infrastructure .swiper-button-next { height: 44px; width: 19px; }
  #Resilience #Infrastructure .swiper-button-prev::after, #Resilience #Infrastructure .swiper-button-next::after { height: 44px; width: 19px; }
  #Resilience .setsubi { padding: 2rem 2rem; }
  #Resilience .setsubi .item01 .img-list { width: 100%; margin-top: 2rem; }
  #Resilience .setsubi .item01 .txt-box { width: 100%; -webkit-box-ordinal-group: 0; order: -1; }
  #Resilience .setsubi .item02 .img-box { width: 48%; padding-top: 8px; }
  #Resilience .setsubi .item02 .txt-box { width: 50%; }
  #Resilience .setsubi .item02 .txt-box .lead { margin-top: 0; }
  #Resilience .setsubi .item03 ul { grid-template-columns: repeat(2, 1fr); }
  #Resilience .setsubi .item03 ul li:nth-of-type(3) { grid-column: span 2; } }
