@charset "UTF-8";

:root {
  --header-color: #096e66ff;
  --link-color: #04524cff;
}

body {
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
  box-sizing: border-box;
  width: 100%;
  padding: 1.2em .6em;
}

@media screen and (min-width:701px) {
  main {
    padding: 1.5em 3em;
  }
}

main>section {
  box-sizing: border-box;
  width: 100%;
}

main>section:not(:first-of-type) {
  margin-top: .4em;
}

@media screen and (min-width:701px) {
  main>section:not(:first-of-type) {
    margin-top: 1.8em;
  }
}

main>section.section-close {
  display: none;
}

main>section>h2 {
  box-sizing: border-box;
  width: 95%;
  max-width: 380px;
  padding: .3em .6em .4em;
  font-size: clamp(14px, 1.45vw, 18px);
  color: var(--header-color);
  text-shadow: 0 1px 1px #d2cfcfff;
  border-left: 12px solid #028e82ff;
  border-bottom: 3px solid #028e82ff;
}

@media screen and (min-width:701px) {
  main>section>h2 {
    width: 50%;
  }
}

main>section>ul {
  box-sizing: border-box;
  width: 100%;
  padding: 1.2em .4em;
  display: flex;
  flex-wrap: wrap;
  gap: 1.1em .8em;
}

@media screen and (min-width:701px) {
  main>section>ul {
    padding: 1.6em 1.2em;
    gap: 1.2em 1.6em;
  }
}

/*
    ===================================
      「都道府県」選択
    ===================================
    */
main>section>ul.pref_list_ul {
  display: none;
}

main>section>ul.pref-show {
  display: flex;
}

/*
    ===================================
      選択欄 共通
    ===================================
    */
main>section>ul>li {
  box-sizing: border-box;
  vertical-align: middle;
}

main>section>ul>li::before {
  content: '▸';
}

main>section>ul>li>a:link,
main>section>ul>li>a:visited {
  color: var(--link-color);
  ;
}

main>section>ul>li>label {
  padding: .2em .45em .3em;
  border-radius: 5px;
}

main>section>ul>li>label>input[type="radio"] {
  display: none;
}

main>section>ul>li>label {
  color: var(--link-color);
  ;
}

main>section>ul>li>label:hover,
main>section>ul>li>a:hover {
  cursor: pointer;
  color: #0062bd;
  text-decoration: underline;
  transition: color 0.3s ease;
}

main>section>ul>li>label:has(input[type="radio"]:checked) {
  background: rgba(16, 153, 144, 0.73);
  color: #fff;
}

/*
    ====================================
        お役立ち情報
    ====================================
    */
div.info-link-box {
  box-sizing: border-box;
  width: 100%;
  margin-top: 2.5em;
  border-top: 1px solid #eee;
}

div.info-link-box>h3 {
  box-sizing: border-box;
  width: 100%;
  padding: .6em;
  text-align: center;
  color: var(--header-color);
  font-size: clamp(16px, 1.45vw, 18px);
}