@charset "UTF-8";/* CSS変数の宣言 */
/* テンプレートで対応しきれないスタイルをこちらに記入します。ASのみ書き込み可能 */
/*=================================
共通
=================================*/
.br {
  text-indent: 1em;
}
.br::after{
  content:"\A";
  white-space:pre;
 }

a {
  text-decoration: none;
}

ol, ul {
  margin:0;
  padding:0;
}

/*=================================
スライドとタイトル
=================================*/
#main-title h1 {
/*
  color:#262626;
*/
}
.container.wide100{
  width:100%;
 /* max-width: 1280px;*/
 max-width:100%;
  margin: 0 auto;
}

#search-top-wrap{
  background: var(--backgroundColor);
}

#slide-area {
  text-align: center;
  position: relative;
}

.splide__slide img{
  width:100%;
/*  height:45vh;
  min-height:400px;
  max-height:800px;*/
  height:65vh;
  min-height:500px;
  max-height:900px;
  object-fit: cover;
  padding:0 ;
}

.container#slide-area img.logo {
  position:absolute;
  top:7%;
   left: 50%;
  transform:translateX(-50%);
  /*-webkit-transform: translateY(-50%) translateX(-50%);*/
  margin: auto;
  width:10%;
  max-width:150px;
  min-width:100px;
  object-fit: contain;
  z-index: 100;
 /* background: var(--backgroundColor);*/
}

/* スライド上のタイトル中央表示==変更== */
.container > h2.ttl-center{
  display:block;
  position: absolute;
  /*top: 50%;*/
 /* bottom:20%;
  left: 50%;
  -ms-transform: translate(-50%,-0%);
  -webkit-transform: translate(-50%,-0%);
  transform: translate(-50%,-0%);*/
  top:50%;
left:50%;
transform: translate(-50%, -50%);
  margin:0;
  padding:0;
  background:none;
  z-index: 100;
  width: 100%;
  text-align:center;
  color: #ffffff;
  /*font-size:2.75rem;*/
  font-size:2.5rem;
  line-height:1.5;
/*-moz-text-shadow: -1px 0px 13px rgba(0, 0, 0, 0.8);
-webkit-text-shadow: -1px 0px 13px rgba(0, 0, 0, 0.8);
-ms-text-shadow: -1px 0px 13px rgba(0, 0, 0, 0.8);
text-shadow: 0 0 10px #000,0 0 10px #000,0 0 10px #000,0 0 10px #000,0 0 10px #000,0 0 10px #000,0 0 10px #000,0 0 10px #000;*/
  /*letter-spacing:0.5rem;*/
  text-shadow: none;
  letter-spacing: normal;
 /* font-family: 'Yu Gothic UI',YuGothic,'Yu Gothic','Hannotate SC','Meiryo UI','klee','Segoe UI',sans-serif;*/
}

#jpn {
 -moz-text-shadow: 3px 2px 2px rgba(0, 0, 0, 1);
  -webkit-text-shadow: 3px 2px 2px rgba(0, 0, 0, 1);
  -ms-text-shadow: 3px 2px 2px rgba(0, 0, 0, 1);
  text-shadow: 3px 2px 2px rgba(0, 0, 0, 1);

}

#eng{
  display: inline-block;
  font-family: 'Economica', sans-serif;
  padding:0.5rem 1.75rem;
  width:40%;
  /*font-size: 1.65rem;*/
  font-size:1.1rem;
  letter-spacing:0.4rem;
font-family: 'Arial','Marion','Arial Rounded MT Bold','Ebrima','Modern','Geneva',sans-serif;
background:var(--accentColor);
color:#fff;
text-shadow: none !important;
line-height:2;
border-radius:50px;
}

@media (max-width:768px) {
  #eng{
  width:80%;
  }
}

.slide-title{
  position: absolute;
  right:0;
  bottom:52px;
  /*padding: 1.5rem;*/
  padding:1.5px 2px;
  color: #262626;
  background: rgba(255, 255, 255, 0.8);
  transition: .3s ease;
  /*font-size: 1.0rem;*/
  font-size:.9rem;
}

  .br::before {
    content: "\A";
    white-space: pre;
  }


/*=================================
contents-menu
=================================*/

#contents-menu ul{
  margin:2rem auto;
  padding:1rem 2rem;
  width:95%;
  max-width:1280px;
  background-color: #ffffff;
  border-radius:50px;
}
#contents-menu ul li{
  width: calc(100% / 4);
}
#contents-menu a {
  font-weight:bold;
  font-size:1.15rem;
  line-height:2;
  padding:1rem 0;
  color:var(--accentColor);
}
#contents-menu ul li:hover::before{
  background: rgba(0,0,0,0);  /* ←ここが「暗さ」(0〜1) */
}

#contents-menu a:hover{
color:#252525;
}

@media (max-width:768px) {
#contents-menu ul{
  padding:1rem 1rem;
}

#contents-menu ul li{
  width:100%;
  margin:0 auto;
  padding:0;
}
#contents-menu a {
  text-align:center;
}

}


/*=================================
スライド
=================================*/
/*====インジケーター====*/

.splide__pagination.splide__pagination--ltr{
  bottom: 0;
  z-index: 2;
}
@media (max-width:768px) {
   .splide__pagination.splide__pagination--ltr{
  right: auto;
  /*bottom: -32px;*/
  bottom: 0px;
 }
 .splide__arrows > button{
    /*bottom: -32px;*/
  bottom: 0px;
 }
}

/*前へ停止次へボタン*/
.splide__arrows > button{
  z-index: 2;
}


/*=================================
section背景/h3装飾
=================================*/

section {
  margin:0 auto;
  position:relative;
}

.bg-white {
  width:100%;
  margin:0;
  padding-top:5rem;
  padding-bottom:7rem;
  background-color: #fff;
  position:relative;
}

.bg-beige {
  width:100%;
  margin:0;
  padding-top:0;
  padding-bottom:10rem;
  position:relative;
}

.bg-green {
  width:100%;
  margin:0;
  padding-top:0rem;
  padding-bottom:7rem;
  background-color: #E9F4E6;
  position:relative;
}

.bg-yellow{
width:100%;
margin:0;
padding:0;
background-color:#F5E66E;
  position:relative;
}

@media (max-width:999px) {
section {
  margin:0 auto;
  position:relative;
}

.bg-white ,.bg-beige ,.bg-green ,.bg-yellow {
  margin:0 auto;
}
}

/* サイト紹介 */

#intro > .intro-container > .font-l{
  font-size: 1.15rem;
  line-height: 2;
  letter-spacing: 0.15rem;
  font-weight:bold;
text-align:center;
margin:0 auto;
}


/* セクション見出し */

[class^="list-design"] h3{
  font-size:2.8em;
/*
   -moz-text-shadow: 3px 2px 2px rgba(255, 255, 255, 1);
  -webkit-text-shadow: 3px 2px 2px rgba(255, 255, 255, 1);
  -ms-text-shadow: 3px 2px 2px rgba(255, 255, 255, 1);
  text-shadow: 3px 2px 2px rgba(255, 255, 255, 1);
*/
 text-shadow: 5px 3px 1px rgba(255, 255, 255, 0.9);

  font-weight:bold;
  padding-top:1.5rem;
  padding-bottom:3rem;
}

@media  (max-width: 767.99px) {
[class^="list-design"] h3{
  font-size:2.25em;
  font-weight:bold;
  padding-top:1.5rem;
  padding-bottom:2rem;
}
}

[class^="list-design"]#cont1 {
  background: left 40% top 4em / contain url(../images/soto/soto6.png) no-repeat transparent;
  background-size: 200px;
  margin:0 auto;
  padding-top:5em;
  margin-bottom:0;
  background-color: #faf7f1;
}

[class^="list-design"]#cont2 {
  z-index:2;
  padding-top:0;
  padding-bottom:1rem;
}
[class^="list-design"]#cont5{
  background: center top / contain url(../images/soto/soto3.png) no-repeat transparent;
  background-size: 150px;
  margin:0 auto;
  padding-top:0;
  z-index:1;
}
[class^="list-design"]#cont3 {
  background: center top / contain url(../images/soto/soto2.png) no-repeat transparent;
  background-size: 150px;
  margin:0 auto;
  padding-top:0;
  z-index:1;
}

/* 地図埋め込み */

.top-map iframe{
width:100%;
height:80vh;
max-height:1000px;
margin:1rem 0;
display:block;
}

.map-window-button {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #ffffff;
  font-size: 18px;
  border-radius: 50px;
  width: 45%;
  min-width:250px;
  height: 6rem;
  font-weight: bold;
  border: 4px solid #ffffff;
  transition: 0.3s;
  background-color: #00693E;
  padding:0.5rem 0.75rem;
}

.map-window-button p{
  border: 2px dashed #ffffff;
  width:100%;
  height:100%;
  border-radius: 50px;
  display:flex;
  justify-content:center;
  align-items:center;
}

.map-window-button p::before{
  content: "";
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 43px;
  height: 43px;
  margin-right:0.75rem;
  vertical-align: middle;
}
.map-window-button p.map-window-button-1::before{
  background-image: url("../images/icon/icon_earth.png");/*人形アイコン*/
}
.map-window-button p.map-window-button-2::before{
  background-image: url("../images/icon/icon_tree.png");/*人形アイコン*/
}

.map-window-button:hover {
  opacity: 0.7;
  color: #ffffff;
}

@media  (max-width: 767.99px) {
.map-window-button {
  display: block;
  width: 95%;
}
}

/*=================================
list-design
=================================*/
[class^="list-design"]{
margin:0 auto;
padding-top:0;
}

[class^="list-design"] .item {
    -moz-box-shadow: 0 2px 3px 0px rgba(0, 0, 0, 0.16);
-webkit-box-shadow: 0 2px 3px 0px rgba(0, 0, 0, 0.16);
box-shadow: 0 2px 3px 0px rgba(0, 0, 0, 0.16);
}


@media (max-width: 999px) {
[class^="list-design"]{
margin:0 auto;
padding-top:0;
}
  .list-design5#cont5 ul {
    width:95%;
    margin:0 auto;
  }
}

.list-design6#cont2 .item {
  display: flex;
  flex-wrap:wrap;
  justify-content: flex-start;
  align-items: center;
  box-shadow: none;
}

.list-design6#cont2 .item > div {
  width:45%;
  display: block;
  padding:0;
}

.list-design6#cont2 .item > div a img {
  width:100%;
  object-fit: contain;
}
.list-design6#cont2 .item h4 {
  font-size:1.8em;
  font-weight:bold;
  margin:0em auto 1em auto;
}

.list-design6#cont2 .item h4 a{
color:#00693E;
text-decoration:none;
}
.list-design6#cont2 .item h4:hover a{
  color:var(--accentColor);
}
.list-design6#cont2 .item p{
  padding:0 2rem 3rem;
  min-height:150px;
  text-align:left;
  font-size:1.15rem;
  line-height:1.5;
}

@media  (max-width: 767.99px) {
  .list-design6#cont2 .item > div {
  width:100%;
  display: block;
  margin-bottom:2em;
}
}

/*
.list-design6#cont2 .item#cont2-1 p {
  background: left 85% top 0 / contain url(../images/soto/soto2.png) no-repeat transparent;
  background-size: 120px;
}
.list-design6#cont2 .item#cont2-2 p {
  background: left 15% top 0 / contain url(../images/soto/soto8.png) no-repeat transparent;
  background-size: 120px;
}
*/

/* もっと調べよう */
.list-design5#cont5 ul {
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width:100%;
  max-width:1000px;
  margin:0 auto;
  margin-bottom:5rem;
}

.list-design5#cont5 ul li {
  margin:1em auto;
  list-style-type: none;
  width:45%;
  height:5.5rem;
}

.list-design5#cont5 ul li a {
  display:flex;
  align-item:center;
  justify-content:center;
   width:100%;
   height:auto;
  font-size:1.2em;
  color:var(--accentColor);
  text-decoration: none;
  text-align:center;
  vertical-align:middle;
  padding:2.25% 0.75rem 2% 0.25rem;
  line-height:1.5;
  border:solid 1px #00693E;
  background: #fff;
  border-radius: 6px;
}

.list-design5#cont5 ul li a:hover {
  background: #00693E;
  color:#fff;
  transition: 0.5s;
}
.list-design5#cont5 ul li a.guide::before{
  background-image: url("../images/icon/icon_guide.png");/*人形アイコン*/
}
.list-design5#cont5 ul li a.sheet::before{
  background-image: url("../images/icon/icon_sheet.png");/*人形アイコン*/
}
.list-design5#cont5 ul li a::before{
  content: "";
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 43px;
  height: 43px;
  margin-right:0.75rem;
  vertical-align: middle;
}

@media  (max-width: 767.99px) {
.list-design5#cont5 ul {
  display:block;
}
.list-design5#cont5 ul li {
  width:95%;
  margin:0.5em auto;
}

}

/* カテゴリー別検索 */
.list-design1-circle#cont3 .item{
  /*overflow: hidden;
  border-radius: 50%;*/
  border:none;
}

.list-design1-circle#cont3 .item p{/* 円形 */
  position: absolute;
  top:50%;
  bottom: 50%;
  left: 50%;
  width: calc(100% - 2rem);
  border-radius: 12px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  justify-content: center;
  text-align: center;
  min-height: 6rem;
  padding:1rem 1rem;
  font-size: 1.45rem;
  letter-spacing:2.0pt;
}

.list-design1-circle#cont3 .item:nth-child(even) p{
  background-color: rgba(var(--accentColorRGB), 0.9);
}

.list-design1-circle#cont3 .item:nth-child(odd) p{
  background-color: rgba(217, 62, 20 , 0.9);
}

.list-design1.angle-circle .item p{/* 角丸：あり */
  border-radius:0 0 12px 12px;
}

@media  (max-width: 767.99px) {
  .list-design1-circle#cont3 .item{
  border:none;
  width:80%;
  margin:1.5rem;
}
}

#news h3{
font-size:1.25rem;
font-weight:bold;
color:#00693E;
margin:0;
line-height:1.5;
background-color:#E9F4E6;
}

ul.newslist{
margin:0 auto;
}

#external-link.container{
margin-top:0;
margin-bottom:0;
padding:0;
/*
width:100%;
max-width:1920px;
*/
}

#external-link ul{
margin:0;
padding:0;
justify-content:start;
}

#external-link ul li{
font-weight:bold;
}

/*=================================
footer
=================================*/
footer {
  position:relative;
  background: #F5E66E; /* #F5E66E */
/*  color:#fff;*/
  margin:0;
}


/*=================================
境界線波線
=================================*/


/*グローバルメニュー部分*/
.custom-shape-divider-bottom-slide {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

.custom-shape-divider-bottom-slide svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 118px;
}

/* 八王子の郷土資料をみるの上 */
.custom-shape-divider-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
    margin:0;
}

.custom-shape-divider-top svg {
    position: relative;
    display: block;
    width: calc(126% + 1.3px);
    height: 157px;
}

.custom-shape-divider-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    z-index:0;
}

.custom-shape-divider-bottom svg {
    position: relative;
    display: block;
    width: calc(126% + 1.3px);
    height: 157px;
}

.custom-shape-divider-middle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

.custom-shape-divider-middle svg {
    position: relative;
    display: block;
    width: calc(205% + 1.3px);
    height: 329px;
}


.shape-fill-white {
    fill: #ffffff; 
}

.shape-fill-beige {
    fill: #faf7f1; 
}

.shape-fill-yellow{
  fill: #F5E66E;
}
.shape-fill-green{
  fill: #E9F4E6;
}

@media (max-width:999px) {
.custom-shape-divider-middle {
  display:none;
}
}

@media (max-width:575px){
.custom-shape-divider-bottom-slide,
.custom-shape-divider-top {
  display:none;
}

.custom-shape-divider-bottom{
}
.custom-shape-divider-bottom svg {
    position: relative;
    display: block;
    width: calc(126% + 0.3px);
    height: 57px;
}
}
