@charset "UTF-8";
/*引数：初期値はすべて_variables.scssで設定
$pcsize：PCデザイン文字サイズ
$pcspacing：PCデザイン文字間
$spsize：SPデザイン文字サイズ
$spspacing：SPデザイン文字間
$pccontainer：PCデザインコンテンツ幅
$spcontainer：SPデザインコンテンツ幅
*/
/*引数
$property：cssのプロパティ
$pcsize：PCデザインpx
$spsize：SPデザインpx
$pccontainer：PCデザインコンテンツ幅：初期値は_variables.scssで設定
$spcontainer：SPデザインコンテンツ幅：初期値は_variables.scssで設定
*/
/*引数
$vertical：横比率
$horizontal：縦比率
*/
/*引数
$col：PCカラム数
$margin_h：PC横マージンpx
$margin_v：PC縦マージンpx
$spcol：SPカラム数
$spmargin_h：SP横マージンpx
$spmargin_v：SP縦マージンpx
$pccontainer：PCデザインコンテンツ幅：初期値は_variables.scssで設定
$spcontainer：SPデザインコンテンツ幅：初期値は_variables.scssで設定
*/
.p-map__content {
  width: 100%;
  height: 675px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 51px 0 60px;
}
.p-map__googlemap {
  width: calc(100% - 240px);
  height: 100%;
  background: #eee;
}
.p-map__sub {
  width: 240px;
  background: #fff;
  padding: 1em;
}
.p-map__sub > a {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .p-map__sub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 18px;
  }
}
.p-map__place {
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .p-map__filter__wrapper {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.p-map__filter__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
  margin-top: 0px;
  color: #255080;
  padding-left: 24px;
  background-image: url("../img/common/ico_map_filter.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 20px 20px;
}
.p-map__filter__radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.p-map__filter__radio label {
  font-size: 14px;
  font-weight: 700;
  display: block;
  position: relative;
  padding: 8px 15px 8px 40px;
  outline: 1px solid #bcbcbc;
  border-radius: 6px;
  cursor: pointer;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: #4e4e4e;
}
.p-map__filter__radio label:hover {
  background-color: #f8f8f8;
}
.p-map__filter__radio input[type=radio] {
  position: absolute;
  opacity: 0;
}
.p-map__filter__radio input[type=radio] + label::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 2px solid #bcbcbc;
  border-radius: 50%;
  background-color: #fff;
}
.p-map__filter__radio input[type=radio]:checked + label {
  outline: 2px solid #0091c2;
  background-color: #e2f5f7;
  color: #000000;
}
.p-map__filter__radio input[type=radio]:checked + label::before {
  border: 2px solid #0091c2;
}
.p-map__filter__radio input[type=radio]:checked + label::after {
  content: "";
  position: absolute;
  left: 19px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #0091c2;
}
.p-map__pin__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
  margin-top: 18px;
  color: #255080;
  padding-left: 24px;
  background-image: url("../img/common/ico_map_dark.svg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 18px 18px;
}
@media screen and (max-width: 768px) {
  .p-map__pin__title {
    margin-top: 0;
  }
}
.p-map__pin {
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-map__pin li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 8px;
  min-height: 24px;
}
.p-map__pin li::before {
  content: none;
}
.p-map__pin li input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #bcbcbc;
  border-radius: 4px;
  margin-right: 10px;
  cursor: pointer;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  vertical-align: middle;
  margin-top: 0;
  margin-bottom: 0;
}
.p-map__pin li input[type=checkbox]:checked {
  background-color: #0091c2;
  border-color: #0091c2;
}
.p-map__pin li input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 7px;
  height: 11.5px;
  border: solid white;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.p-map__pin li input[type=checkbox]:disabled {
  cursor: default;
  opacity: 0.5;
}
.p-map__pin li input[type=checkbox]:disabled + label {
  cursor: default;
  opacity: 0.5;
}
.p-map__pin li label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  margin: 0;
  line-height: 1;
}
.p-map__pin li span {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  margin-right: 6px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  vertical-align: middle;
  position: relative;
  top: 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.p-map__pin li span.-pin01 {
  background-image: url("../img/common/pin_01_circle.svg");
}
.p-map__pin li span.-pin02 {
  background-image: url("../img/common/pin_02_circle.svg");
}
.p-map__pin li span.-pin03 {
  background-image: url("../img/common/pin_03_circle.svg");
}
.p-map__pin li span.-pin04 {
  background-image: url("../img/common/pin_04_circle.svg");
}
.p-map__pin li span.-pin05 {
  background-image: url("../img/common/pin_05_circle.svg");
}
.p-map__pin li span.-pin06 {
  background-image: url("../img/common/pin_06_circle.svg");
}
.p-map__pin li span.-pin07 {
  background-image: url("../img/common/pin_07_circle.svg");
}
.p-map__pin li span.-pin08 {
  background-image: url("../img/common/pin_08_circle.svg");
}
.p-map__pin li span.-pin09 {
  background-image: url("../img/common/pin_09_circle.svg");
}
.p-map__pin li span.-pin10 {
  background-image: url("../img/common/pin_10_circle.svg");
}
.p-map__pin li span.-pin11 {
  background-image: url("../img/common/pin_11_circle.svg");
}
.p-map__pin__all {
  display: block;
  margin-top: 12px;
  font-size: 14px;
  color: #000;
  text-decoration: none;
  background: #F6F8F8;
  border: 1px solid #BCBCBC;
  border-radius: 5px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .p-map__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (max-width: 768px) {
  .p-map__content {
    margin: 12px 0 30px;
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-map__googlemap {
    width: 100%;
    height: 100vw;
  }
  .p-map__sub {
    width: 100%;
    padding: 1em;
  }
  .p-map__pin {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 8px 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .p-map__pin li {
    margin-bottom: 0;
  }
}
.p-map__about {
  margin-top: 60px;
  padding: 60px 125px;
  background-color: #fff;
  border-radius: 10px;
}
.p-map__about p {
  font-size: 18px;
  line-height: 2;
}
.p-map__about p:last-child {
  margin-bottom: 0;
}
.p-map__about a {
  font-size: 18px;
  color: #003CAF;
  text-decoration: underline;
}
.p-map__about a:hover {
  text-decoration: none;
}
.p-map__about__title {
  font-size: 32px;
  font-weight: 700;
  color: #255080;
  margin: 10px 0 20px;
  text-align: center;
}
.p-map__about__info {
  background: url("../img/map/bg_about.png") no-repeat center center;
  background-size: contain;
  aspect-ratio: 1275/518;
}
.p-map__about__info p {
  font-size: 24px;
  font-weight: 700;
  line-height: 2;
  color: #3681C4;
  text-align: center;
  margin: 0;
  padding-top: 3em;
}
.p-map__about__place {
  margin-top: 32px;
}
.p-map__about__place section {
  background-color: #E2F5F7;
  border-radius: 10px;
  padding: 1.5em;
}
.p-map__about__place section h4 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  padding-left: 45px;
  color: #255080;
  position: relative;
}
.p-map__about__place section h4::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 24px;
  position: absolute;
  left: 0;
  top: 8px;
  background-repeat: no-repeat;
  background-position: top left;
  background-size: contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2234%22%20height%3D%2224%22%20viewBox%3D%220%200%2034%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7%203.50009C7%201.56632%205.43341%200%203.5%200C1.56807%200%200%201.56632%200%203.50009C0%205.43238%201.56807%207%203.5%207C5.43341%207%207%205.43238%207%203.50009Z%22%20fill%3D%22%2314AADE%22%2F%3E%3Cpath%20d%3D%22M30.5%200C28.5681%200%2027%201.56632%2027%203.50009C27%205.43238%2028.5681%207%2030.5%207C32.4334%207%2034%205.43238%2034%203.50009C34%201.56632%2032.4332%200%2030.5%200Z%22%20fill%3D%22%2314AADE%22%2F%3E%3Cpath%20d%3D%22M26.6542%2015.7333C24.4548%2018.6495%2020.8852%2020.4657%2016.9997%2020.4646C13.1209%2020.4658%209.54529%2018.6484%207.34387%2015.7322C6.74607%2014.9414%205.59182%2014.7635%204.76571%2015.3349C3.93811%2015.9076%203.75299%2017.0117%204.34986%2017.8036C7.23269%2021.6229%2011.9074%2024%2016.9997%2024C22.0981%2024%2026.7687%2021.6227%2029.6503%2017.8022C30.2473%2017.0101%2030.0614%2015.9061%2029.2338%2015.3347C28.4062%2014.7633%2027.2512%2014.9412%2026.6542%2015.7333Z%22%20fill%3D%22%2314AADE%22%2F%3E%3C%2Fsvg%3E");
}
.p-map__about__place__example {
  text-indent: -3em;
  margin-left: 3em;
}
.p-map__about__support {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-map__about {
    margin-top: 40px;
    padding: 40px 12px;
  }
  .p-map__about__title {
    font-size: 24px;
    margin: 0 0 19px;
  }
  .p-map__about__info {
    background: url("../img/map/bg_about_sp.png") no-repeat center center;
    background-size: contain;
    aspect-ratio: 489/422;
  }
  .p-map__about__info p {
    font-size: 4.8vw;
    line-height: 1.5;
    padding-top: 1.2em;
  }
  .p-map__about__place {
    margin-top: 50px;
  }
  .p-map__about__place section {
    padding: 1em;
  }
  .p-map__about__place__example {
    text-indent: 0;
    margin-left: 0;
  }
  .p-map__about__support {
    margin-top: 50px;
  }
}