@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

img {
  vertical-align: bottom; }

*, *:before, *:after {
  /* width は border と padding　を加算して算出  */
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  overflow: auto;
  height: 100%; }

body.modal-open {
  overflow: hidden;
  height: 100%; }

iframe {
  height: 80%; }

body {
  background-color: #f8f8f8;
  font-family: 'Meiryo',"ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Osaka", sans-serif; }

p {
  line-height: 1.5; }

.bold {
  font-weight: bold; }

img {
  width: 100%; }

img.w50 {
  width: 50%; }

@media screen and (min-width: 414px) {
  header, main, footer {
    max-width: 414px;
    margin: 0 auto;
    border-left: solid 1px #d8d8d8;
    border-right: solid 1px #d8d8d8; } }

header {
  background-color: #005c06; }
  header p {
    padding: 6px 10px;
    color: #fff;
    font-size: 75%; }

article {
  width: 100%; }
  article img {
    width: 100%; }

section#apology {
  background-color: #fff;
  padding: 20px; }
  section#apology > h2 {
    font-size: 125%;
    color: #c50000;
    text-align: center;
    margin-bottom: 20px; }
  section#apology > p {
    font-size: 75%;
    line-height: 1.5; }

section#about {
  background-color: #81b845;
  padding-top: 20px;
  padding-bottom: 20px; }
  section#about h2 {
    background-color: #1b5303;
    text-align: center;
    padding: 15px 0; }
  section#about > p {
    padding: 10px 20px;
    color: #fff; }
  section#about > div {
    margin: 0 20px 10px 20px; }
  section#about > p:last-child {
    font-size: 88%;
    padding: 15px;
    margin: 0 20px 10px 20px;
    border: solid 4px #72a739;
    background-color: #fff;
    color: #333;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px; }
    section#about > p:last-child span {
      color: #cc0000; }
  section#about table {
    width: 100%;
    border-collapse: collapse;
    border-left: 2px solid #2d5404;
    border-top: 2px solid #2d5404; }
    section#about table th {
      padding: 6px;
      background-color: #2d5404;
      color: #fff;
      border-right: 2px solid #2d5404;
      border-bottom: 2px solid #2d5404; }
    section#about table td {
      padding: 6px;
      font-size: 88%;
      line-height: 1.5;
      background-color: #fff;
      border-right: 2px solid #2d5404;
      border-bottom: 2px solid #2d5404;
      text-align: center; }
      section#about table td > p {
        font-size: 57%;
        line-height: 1.1; }
    section#about table tr td:nth-child(4) {
      color: #851414;
      font-weight: bold;
      background-color: #fef0f0; }
    section#about table tr:nth-child(2) td:nth-child(4) {
      color: #851414;
      font-weight: bold;
      background-color: #f6cdcd; }
    section#about table tr:nth-child(n+3) td:nth-child(n+2) {
      font-size: 113%; }
  section#about svg {
    display: block;
    margin: 0 auto; }

section#merit {
  background-color: #dcffcf;
  padding-bottom: 20px; }
  section#merit h2 {
    text-align: center;
    padding: 20px 0; }
  section#merit > div {
    display: flex;
    flex-wrap: wrap;
    margin: 0 20px;
    text-align: center; }
    section#merit > div p {
      width: 48%;
      padding: 12px;
      border-radius: 10px;
      background-color: #fff;
      border: solid 2px #8ecc6d;
      margin-bottom: 10px;
      font-size: 88%;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center; }
      section#merit > div p:nth-child(odd) {
        margin-right: 4%; }

section#plan {
  background-color: #dcffcf;
  padding-top: 20px;
  padding-bottom: 20px; }
  section#plan > p {
    text-align: center;
    color: #1d6e04;
    font-size: 144%;
    margin-top: 20px; }
  section#plan > img {
    display: block;
    margin-top: 15px; }

footer {
  background: #393939;
  /* Old browsers */
  background: -moz-linear-gradient(top, #393939 0%, #454545 27%, #454545 28%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #393939 0%, #454545 27%, #454545 28%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #393939 0%, #454545 27%, #454545 28%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#393939', endColorstr='#454545',GradientType=0 );
  /* IE6-9 */ }
  footer > div:first-child {
    padding: 20px; }
    footer > div:first-child p {
      color: #fff;
      font-size: 69%;
      line-height: 1.5;
      padding-bottom: 10px;
      border-bottom: solid 1px #555; }
  footer > div:nth-child(2) {
    text-align: center; }
    footer > div:nth-child(2) > p {
      font-size: 75%;
      padding-bottom: 10px;
      color: #fff; }
  footer > p {
    text-align: center;
    font-size: 57%;
    color: #fff;
    padding: 15px 0; }
