@charset "UTF-8";
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='checkbox'],
input[type='radio'] {
  display: none; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

dl, ol, ul {
  margin-bottom: 0px;
  margin-bottom: 0rem; }

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0;
  line-height: 150%;
  font-family: "Jost", "YakuHanJP", "Noto Sans JP", sans-serif;
  font-weight: normal; }

p {
  font-size: 16px;
  line-height: 180%;
  margin-bottom: 0;
  font-family: "Jost", "YakuHanJP", "Noto Sans JP", sans-serif; }
  @media (max-width: 480px) {
    p {
      font-size: 3vw; } }

.fv {
  width: 100%;
  height: 160px;
  background: #a1dde7; }
  .fv .main-visual {
    position: relative; }
    .fv .main-visual h1.h1_ttl {
      text-align: center;
      color: #fff;
      line-height: 160px;
      filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="3" /><feOffset dx="4" dy="4" result="offsetblur" /><feFlood flood-color="rgba(0,0,0,0.3)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
      -webkit-filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .3));
              filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .3)); }
  @media (max-width: 480px) {
    .fv {
      height: 100px; }
      .fv .main-visual h1.h1_ttl {
        line-height: 100px; } }

.plan_wrap .plan {
  background: rgba(161, 221, 231, .3);
  padding: 40px 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 6px;
  width: 80%;
  margin: 0 auto 60px; }
  .plan_wrap .plan p.warning {
    position: relative;
    padding-left: 1em;
    font-size: 14px;
    margin-top: 5px; }
    .plan_wrap .plan p.warning::before {
      content: "※";
      position: absolute;
      left: 0; }
  .plan_wrap .plan p.cp_img {
    margin-top: 20px; }
    .plan_wrap .plan p.cp_img img {
      width: 100%; }
  .plan_wrap .plan dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    background: white;
    padding: 20px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 6px;
    margin: 0 auto 20px; }
    .plan_wrap .plan dl.mb0 {
      margin: 0 auto; }
    .plan_wrap .plan dl dt {
      width: 40%;
      padding: 10px 0px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .plan_wrap .plan dl dt p {
        color: #44bbd0;
        font-size: 21px;
        line-height: 1em; }
    .plan_wrap .plan dl dd {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      width: 60%;
      padding: 0 0px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .plan_wrap .plan dl dd p {
        font-size: 16px;
        line-height: 1.2em; }
        .plan_wrap .plan dl dd p.price {
          font-size: 32px;
          margin-bottom: 5px;
          margin-right: 1em; }
        .plan_wrap .plan dl dd p.warning {
          width: 100%;
          padding-left: 1em;
          font-size: 14px; }
        .plan_wrap .plan dl dd p span {
          padding-left: 1em;
          font-size: 14px;
          display: block;
          position: relative;
          margin-top: 5px; }
          .plan_wrap .plan dl dd p span::before {
            content: "※";
            position: absolute;
            left: 0; }

@media (max-width: 480px) {
  .plan_wrap .plan {
    padding: 4% 4%;
    width: 100%;
    margin: 0 auto 6%; }
    .plan_wrap .plan dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .plan_wrap .plan dl dt {
        width: 100%;
        padding: 2% 0 2%; }
        .plan_wrap .plan dl dt p {
          font-size: 21px;
          line-height: 1em; }
      .plan_wrap .plan dl dd {
        width: 100%;
        padding: 0 0 4% .5em;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; }
        .plan_wrap .plan dl dd p {
          font-size: 16px; }
          .plan_wrap .plan dl dd p.price {
            font-size: 24px;
            line-height: 21px;
            margin-bottom: 5px; }
          .plan_wrap .plan dl dd p.warning {
            padding-left: 1em;
            font-size: 14px; } }
