@charset "UTF-8";
html, body {
  margin: 0;
  padding: 0;
  border: 0;
  font-family: 'Noto Serif JP', serif;
  font-size: 24px;
  line-height: 1.8;
  background-color: #f9f9f9;
  color: #333; }

.container {
  width: 100%;
  max-width: 1080px;
  padding: 0 16px;
  margin: 0 auto; }

.osp {
  font-family: fairwater-deco-serif, sans-serif;
  font-weight: 400;
  font-style: normal; }

.osp {
  font-size: 1.2em;
  color: #ee9b00; }

h1 {
  margin: 80px 0 40px;
  font-size: 40px;
  text-align: center; }
  @media screen and (max-width: 799px) {
    h1 {
      margin: 60px 0 30px;
      font-size: 32px; } }
  h1 span.osp {
    display: block;
    font-size: 48px; }
    @media screen and (max-width: 799px) {
      h1 span.osp {
        font-size: 36px; } }
.main-image {
  text-align: center;
  margin-bottom: 40px; }
  .main-image img {
    max-width: 60%;
    height: auto;
    border-radius: 8px;
    -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); }
    @media screen and (max-width: 799px) {
      .main-image img {
        max-width: 90%; } }
p {
  margin-bottom: 40px;
  font-size: 20px;
  line-height: 1.8;
  text-align: justify; }

h2 {
  margin: 60px 0 20px;
  font-size: 30px;
  text-align: center;
  color: #333; }
  @media screen and (max-width: 799px) {
    h2 {
      font-size: 26px; } }
ul {
  padding: 0;
  list-style: none; }

.features, .requirements {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  /*li::before {
    content: '✔';
    margin-right: 0.5em;
    color: #48b948;
    font-size: 1.5em;
    vertical-align: middle;
  }*/ }
  .features li, .requirements li {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 16px;
    -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    -webkit-transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
    transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
    transition: transform 0.2s, box-shadow 0.2s;
    transition: transform 0.2s, box-shadow 0.2s, -webkit-transform 0.2s, -webkit-box-shadow 0.2s; }
    .features li:hover, .requirements li:hover {
      -webkit-transform: translateY(-4px);
              transform: translateY(-4px);
      -webkit-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
              box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); }
    .features li header, .requirements li header {
      font-weight: bold;
      font-size: 20px;
      margin-bottom: 8px;
      display: block;
      color: #ee9b00; }
    .features li p, .requirements li p {
      font-size: 16px;
      line-height: 1.6;
      color: #555; }

.tools {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 40px; }

.tools li {
  flex: 1 1 250px;
  text-align: center; }

.tools li a {
  display: block;
  border-radius: 8px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  -webkit-transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s;
  transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s;
  transition: transform 0.3s, box-shadow 0.3s;
  transition: transform 0.3s, box-shadow 0.3s, -webkit-transform 0.3s, -webkit-box-shadow 0.3s; }

.tools li a:hover {
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
  -webkit-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
          box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); }

.tools li img {
  width: 100%;
  height: auto;
  border-radius: 8px; }

.apply-form-link {
  display: block;
  text-align: center;
  margin: 40px auto 80px;
  width: 240px;
  height: 60px;
  background-color: #48b948;
  border-radius: 30px;
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-decoration: none; }
  .apply-form-link button {
    width: 100%;
    height: 100%;
    background-color: transparent;
    border: none;
    color: white;
    font-size: 18px;
    font-weight: bold;
    border-radius: 30px;
    cursor: pointer;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s; }
    .apply-form-link button:hover {
      background-color: #3a933a; }

.explanation {
  margin: 16px auto;
  text-align: center;
  display: block; }

.explanation .text {
  text-align: left;
  display: inline-block; }
