body {
  background: #FFFFFF;
  color: #000;
  font-family: "Noto Sans TC", sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: 400;
  font-style: normal;
  position: relative; }

header {
  background-image: url("../img/banner.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 51.48vw; }

section.main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  section.main .main-link {
    background-color: #ED6900;
    width: 50vw;
    height: 141px;
    text-align: center;
    text-decoration: none;
    color: white;
    font-size: 40px;
    line-height: 141px;
    letter-spacing: 0.2em;
    transition: font-size .5s; }
    section.main .main-link:hover {
      font-size: 50px; }
  section.main article {
    min-width: 944px;
    width: 73.75vw; }
    @media all and (max-width: 768px) {
      section.main article {
        width: 90.6vw;
        min-width: 340px; } }
    section.main article h1 {
      width: 65.15vw;
      margin: 89px auto 78px auto;
      font-size: 40px;
      letter-spacing: 0.2em;
      font-weight: 700;
      color: #ED6900;
      text-align: center;
      position: relative; }
      @media all and (max-width: 768px) {
        section.main article h1 {
          width: 78vw;
          margin: 12px auto 14px auto;
          font-size: 14px; } }
      section.main article h1:before, section.main article h1:after {
        content: '';
        position: absolute;
        top: 60%;
        border-top: 1px solid #ED6900;
        width: 40%;
        max-width: 285px; }
        @media all and (max-width: 768px) {
          section.main article h1:before, section.main article h1:after {
            width: 35%; } }
      section.main article h1:before {
        left: 0px; }
      section.main article h1:after {
        right: 0px; }
    section.main article p {
      width: 65.15vw;
      margin: 78px auto 155px auto;
      font-size: 20px;
      letter-spacing: 0.02em;
      line-height: 40px; }
      @media all and (max-width: 768px) {
        section.main article p {
          width: 78vw;
          margin: 14px auto 19px auto;
          font-size: 8px;
          line-height: 15px; } }
    section.main article .area-links {
      display: flex;
      justify-content: space-between;
      margin-top: 93px;
      margin-bottom: 305px; }
      @media all and (max-width: 768px) {
        section.main article .area-links {
          flex-wrap: wrap;
          justify-content: center;
          margin-top: 24px;
          margin-bottom: 28px; } }
    section.main article a.area-link {
      width: 158px;
      height: 255px;
      border: 1px solid #ED6900;
      text-align: center;
      text-decoration: none;
      color: #000; }
      @media all and (max-width: 768px) {
        section.main article a.area-link:first-child, section.main article a.area-link:nth-child(3) {
          margin-right: 20px;
          margin-bottom: 20px; } }
      @media all and (min-width: 1024px) {
        section.main article a.area-link:hover {
          background-color: #F5E6D8; }
          section.main article a.area-link:hover h2 {
            border: none;
            transform: scale(1.3); }
          section.main article a.area-link:hover h3 {
            transform: translateY(100%); }
          section.main article a.area-link:hover h5 {
            opacity: 0; } }
      section.main article a.area-link h2 {
        transition: transform .5s;
        border-radius: 50%;
        border: 1px solid #ED6900;
        font-size: 70px;
        font-weight: 600;
        color: #ED6900;
        width: 104px;
        height: 104px;
        line-height: 100px;
        text-align: center;
        margin: 24px auto 37px auto; }
        @media all and (max-width: 768px) {
          section.main article a.area-link h2 {
            font-size: 65px; } }
      section.main article a.area-link h3 {
        transition: transform .5s;
        font-size: 15px;
        color: #ED6900;
        letter-spacing: 0.2em;
        line-height: 23px; }
        @media all and (max-width: 768px) {
          section.main article a.area-link h3 {
            font-size: 12px; } }
      section.main article a.area-link h5 {
        transition: opacity .5s;
        margin-top: 19px;
        font-size: 15px;
        letter-spacing: 0.2em;
        line-height: 24px; }
        @media all and (max-width: 768px) {
          section.main article a.area-link h5 {
            font-size: 12px; } }

section.map {
  height: 62.5vw;
  background-color: #E8DABD; }
  section.map .pictures {
    display: flex; }
    section.map .pictures img {
      width: 33.33vw;
      height: 20.1vw; }
  section.map .map-and-info {
    display: flex;
    margin-top: 153px;
    justify-content: center; }
    @media all and (max-width: 768px) {
      section.map .map-and-info {
        margin-top: 8vw;
        min-width: 375px;
        width: 70vw;
        margin-left: auto;
        margin-right: auto; } }
    section.map .map-and-info img {
      width: 487px;
      height: 319px; }
      @media all and (max-width: 768px) {
        section.map .map-and-info img {
          width: 34.5vw;
          height: 24vw;
          align-self: center; } }
    section.map .map-and-info .info {
      color: white;
      margin-left: 130px; }
      @media all and (max-width: 768px) {
        section.map .map-and-info .info {
          margin-left: 10px; } }
      section.map .map-and-info .info h5 {
        font-size: 33px;
        line-height: 46px;
        letter-spacing: 0.1em;
        position: relative;
        margin-top: 26px;
        margin-bottom: 99px; }
        @media all and (max-width: 768px) {
          section.map .map-and-info .info h5 {
            margin-top: 10px;
            font-size: 14px;
            line-height: 12px;
            margin-bottom: 27px; } }
      section.map .map-and-info .info h5:after {
        position: absolute;
        bottom: -34px;
        left: 0px;
        content: '';
        color: white;
        border-top: 1px solid white;
        width: 133px; }
        @media all and (max-width: 768px) {
          section.map .map-and-info .info h5:after {
            bottom: -10px;
            width: 45px; } }
      section.map .map-and-info .info p {
        font-size: 20px;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 47px;
        margin: 0px;
        position: relative;
        padding-left: 31px; }
        @media all and (max-width: 768px) {
          section.map .map-and-info .info p {
            font-size: 12px;
            line-height: 24px;
            padding-left: 16px; } }
        section.map .map-and-info .info p svg {
          position: absolute;
          left: 0px;
          top: 15px; }
          @media all and (max-width: 768px) {
            section.map .map-and-info .info p svg {
              top: 2px;
              width: 12px; } }
