/*==========================
	overwrite
============================*/

.bread {
  display: none;
}



figure img {
  width: 100%;
}


@media screen and (min-width: 1000px) {
  .bread {
    width: auto !important;
    max-width: 100%;
    margin: auto auto 0;
    display: block;
    background: #f3ede6;
  }


  /* .bread {
    width: 90%;
    margin: auto auto 30px;
    padding: 10px 0;
    display: block;
    background-color: #fff;
    border-radius: 50rem;
  } */

  .bread__inner.inner {
    max-width: 95%;
  }

}

/*==========================
	add module
============================*/

.w-98per {
  width: 98%;
}

.w-95per {
  width: 95%;
}

.ms-minus-5 {
  margin-left: -5px;
}


.ms-minus-10 {
  margin-left: -10px;
}




/*==========================
	arrow triangle
============================*/

.triangle {
  background: #eea20d;
  height: calc(tan(60deg) * 60px / 2);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  display: inline-block;
  width: 8px;
  height: 10px;
}

/* 上向き ▲ */
.up {
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

/* 右向き ▶︎ */
.right {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* 下向き ▼ */
.down {
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/* 左向き ◀︎ */
.left {
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}


/*==========================
	color
============================*/

.gray-666 {
  color: #666;
}

.gray-999 {
  color: #999;
}

.red {
  color: #e60011;
}


.pink-1 {
  color: #e9455a;
}

.pink-2 {
  color: #eb6da5;
}

.brown {
  color: #694e2d;
}

.orange {
  color: #f08200;
}

.blue {
  color: #1eb9ee;
}


/* bg */

.bg-red {
  background-color: #e60011;
}

/* border */

.border-orange {
  border: #eea20d thin solid;
}




/*==========================
	font
============================*/

.m-plus-rounded-1c-thin {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.m-plus-rounded-1c-light {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.m-plus-rounded-1c-regular {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.m-plus-rounded-1c-medium {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.m-plus-rounded-1c-bold {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.m-plus-rounded-1c-extrabold {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.m-plus-rounded-1c-black {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 900;
  font-style: normal;
}


/*==========================
	all-bg
============================*/

.dots {
  background-color: #ede3d6;
  background-image:
    radial-gradient(circle, #d8c9bf 2px, transparent 2px),
    radial-gradient(circle, #d8c9bf 2px, transparent 2px);
  background-size: 30px 30px;
  /* ← 間隔を広げる */
  background-position: 0 0, 15px 15px;
  /* ← 斜めのずらし量は background-size の半分 */
  background-repeat: repeat;
}

.lv-02 {
  width: 95%;
  max-width: 1536px;
  margin-left: auto;
  margin-right: auto;
}

.paper {
  background-color: #fff;
  position: relative;
  box-shadow: 0 3px 0 0 #dbcdbd;
}

.paper.title::before {
  content: "";
  position: absolute;
  top: -3px;
  /* 位置は自由に調整 */
  left: -3px;
  width: 50px;
  /* 画像の表示サイズ */
  height: 50px;
  background-image: url("../img/corner_red_1.png");
  /* ← 画像パス */
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  /* ← 装飾なのでクリックを邪魔しない */
}


.paper.title::after {
  content: "";
  position: absolute;
  bottom: -3px;
  /* 位置は自由に調整 */
  right: -3px;
  width: 50px;
  /* 画像の表示サイズ */
  height: 50px;
  background-image: url("../img/corner_red_2.png");
  /* ← 画像パス */
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
  /* ← 装飾なのでクリックを邪魔しない */
}



.paper.line-naname::before {
  content: "";
  width: 50px;
  height: 50px;
  background: linear-gradient(-45deg, transparent 49%, #e60011 49%, #e60011 51%, transparent 51%, transparent);
  position: absolute;
  top: -5px;
  left: -5px;
  z-index: 5;
}

.paper.line-naname::after {
  content: "";
  width: 50px;
  height: 50px;
  background: linear-gradient(45deg, transparent, transparent 49%, #e60011 49%, #e60011 51%, transparent 51%, transparent);
  position: absolute;
  top: -5px;
  right: -5px;
  z-index: 5;
}


@media screen and (min-width: 900px) {


  .paper.title::before {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    width: 100px;
    /* 画像の表示サイズ */
    height: 100px;
    background-image: url("../img/corner_red_1.png");
    /* ← 画像パス */
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    /* ← 装飾なのでクリックを邪魔しない */
  }


  .paper.title::after {
    content: "";
    position: absolute;
    bottom: -5px;
    /* 位置は自由に調整 */
    right: -5px;
    width: 100px;
    /* 画像の表示サイズ */
    height: 100px;
    background-image: url("../img/corner_red_2.png");
    /* ← 画像パス */
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    /* ← 装飾なのでクリックを邪魔しない */
  }






  .paper.line-naname::before {
    content: "";
    width: 100px;
    height: 100px;
    background: linear-gradient(-45deg, transparent 49%, #e60011 49%, #e60011 51%, transparent 51%, transparent);
    position: absolute;
    top: -10px;
    left: -10px;
    z-index: 5;
  }

  .paper.line-naname::after {
    content: "";
    width: 100px;
    height: 100px;
    background: linear-gradient(45deg, transparent, transparent 49%, #e60011 49%, #e60011 51%, transparent 51%, transparent);
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 5;
  }





}

@media screen and (min-width: 1000px) {

  .lv-02 {
    width: 90%;
  }




}

/*==========================
	 title
============================*/


/* #title {
  padding: 0 10px 30px;
} */

/* 
#title {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
} */



#title .txtbox {
  /* border: #f00 thin solid; */
}

#mv {
  /* width: 70%; */
  margin-top: -10px;
  /* はみ出し量 */
  transform: translateY(-10px);
  /* border: #f00 thin solid; */
}

#title h1 {
  /* border: #f00 thin solid; */
}





/*==========================
	 outline
============================*/

/* .lv-03 {
  width: 95%;
} */


#outline h3 {
  padding-bottom: 30px;
  color: #fff;
  letter-spacing: 0.1em;
  margin-left: auto;
  color: #e60011;
  text-align: center;
  border-bottom: #e60011 thin solid;
}

#outline dt span {
  padding: 2px 15px;
  color: #fff;
  background-color: #e60011;
  /**/
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}












/*==========================================
	// id #access
============================================*/


.mapbox iframe {
  aspect-ratio: 3 / 4;
  display: block;
  height: auto;
  width: 100%;
}


@media screen and (min-width: 1000px) {

  .mapbox iframe {
    aspect-ratio: 16 / 9;
    display: block;
    height: auto;
    width: 100%;
  }


}