@charset "UTF-8";
/*-------------------------------------------------

SAMPLE　

-------------------------------------------------*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
/* Variables
-------------------------------------------- */
/*-------------------------------------------------
移植
-------------------------------------------------*/
section {
  text-align: left; }
  section img.line {
    display: block; }

.contents {
  max-width: 1040px;
  padding: 0 20px;
  margin: 0 auto;
  overflow: hidden;
  /* ボタン */ }
  .contents .sttl {
    padding: 150px 0 0;
    margin-bottom: 30px;
    text-align: center;
    background: url(../../moominwr/sample/img/icon.png) center top no-repeat;
    background-size: 50px auto;
    color: #5FB8E0;
    font-size: 3rem; }
    @media (max-width: 460px) {
      .contents .sttl {
        padding-top: 100px;
        font-size: 6vw; } }
  .contents .lead {
    margin-bottom: 50px; }
  .contents ul.flow {
    display: flex;
    flex-flow: wrap;
    flex-direction: column;
    margin: 50px 0 50px 150px; }
    .contents ul.flow li {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -ms-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 15px 0; }
      .contents ul.flow li img {
        width: 140px;
        height: 140px; }
        @media (max-width: 414px) {
          .contents ul.flow li img {
            display: block;
            margin: 0 auto; } }
      .contents ul.flow li span {
        padding: 35px 0 0 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-flex-direction: column;
        /* Safari */
        flex-direction: column;
        -webkit-align-items: flex-start;
        /* Safari */
        align-items: flex-start; }
        @media (max-width: 414px) {
          .contents ul.flow li span {
            width: 100%;
            padding: 35px 0 0;
            margin: 0 auto;
            text-align: center;
            display: block; } }
        .contents ul.flow li span h2 {
          padding: 0;
          color: #26B7BC;
          font-weight: bold;
          font-size: 1.4rem;
          font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, Helvetica, Arial, sans-serif; }
    @media (max-width: 640px) {
      .contents ul.flow {
        margin: 50px 0; } }
  .contents dl.cont {
    margin-bottom: 80px; }
    .contents dl.cont dt {
      color: #26B7BC;
      text-align: center;
      font-size: 3rem;
      line-height: 1.6;
      margin-bottom: 20px; }
      @media (max-width: 480px) {
        .contents dl.cont dt {
          font-size: 5.5vw; } }
      .contents dl.cont dt p.num {
        display: table;
        position: relative;
        color: #fff;
        width: 60px;
        line-height: 60px;
        margin: 0 auto 20px;
        font-size: 2.7rem; }
        .contents dl.cont dt p.num::before {
          content: "";
          display: block;
          position: absolute;
          top: auto;
          top: 0;
          left: 0;
          width: 60px;
          height: 60px;
          border-radius: 30px;
          background-color: #26B7BC;
          z-index: -1; }
    .contents dl.cont dd ul li {
      margin-bottom: 10px;
      position: relative;
      padding-left: 1.8em;
      text-align: left; }
      .contents dl.cont dd ul li::before {
        font-family: FontAwesome;
        content: "\f111";
        position: absolute;
        font-size: 1.2em;
        left: 0;
        top: -0.2em;
        color: #BCE2E8; }
    .contents dl.cont dd .line {
      width: 100%;
      max-width: none;
      text-align: center;
      margin-bottom: 30px; }
      .contents dl.cont dd .line a {
        display: block;
        width: 100px;
        margin: 10px auto 0; }
        @media (max-width: 480px) {
          .contents dl.cont dd .line a {
            margin: 15px auto 0 0; } }
        .contents dl.cont dd .line a img {
          margin: 0; }
      @media (max-width: 480px) {
        .contents dl.cont dd .line {
          text-align: left; } }
    .contents dl.cont dd .forform {
      text-align: center;
      font-size: 2rem;
      margin: 50px 0; }
    .contents dl.cont dd .forform__inner {
      margin: 0 auto;
      display: table;
      padding: 10px 20px;
      background: #26B7BC;
      color: #FFF; }
    .contents dl.cont.btns {
      margin: 0 auto 15px; }
    .contents dl.cont img {
      max-width: 400px;
      display: block;
      margin: 50px auto 0; }
    .contents dl.cont .btnArea {
      margin-top: 50px; }
      .contents dl.cont .btnArea .btns {
        margin: 0 auto 15px; }
    .contents dl.cont.last {
      margin-bottom: 0; }
  .contents .btns {
    margin: 0 auto 80px;
    padding: 0;
    width: 290px;
    height: 130px;
    background: #CEA9C9;
    border-radius: 10px;
    display: flex;
    position: relative; }
    @media (max-width: 480px) {
      .contents .btns {
        margin: 0 0 80px 30px;
        width: 80%;
        height: 130px; } }
    @media (max-width: 414px) {
      .contents .btns {
        margin: 0 0 80px 15px;
        width: 80%;
        height: 130px; } }
    .contents .btns::after {
      content: "";
      position: absolute;
      width: 0;
      height: 0;
      top: 0;
      right: -91px;
      border: 65px solid transparent;
      border-left: 30px solid #CEA9C9; }
    .contents .btns p {
      width: 100%;
      position: relative;
      z-index: 1;
      padding: 30px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
      font-size: 2.3rem;
      letter-spacing: 0.3rem;
      color: #FFF; }
      @media (max-width: 414px) {
        .contents .btns p {
          font-size: 5vw;
          text-align: center; } }
      .contents .btns p.arrow::after {
        position: absolute;
        margin: auto;
        content: "";
        vertical-align: middle;
        top: 50%;
        right: 0;
        width: 20px;
        height: 20px;
        border-top: 2px solid #FFF;
        border-right: 2px solid #FFF;
        -webkit-transform: rotate(45deg) translate(-50%, 0);
        -moz-transform: rotate(45deg) translate(-50%, 0);
        -ms-transform: rotate(45deg) translate(-50%, 0);
        -o-transform: rotate(45deg) translate(-50%, 0);
        transform: rotate(45deg) translate(-50%, 0); }
      .contents .btns p.arrow::before {
        position: absolute;
        margin: auto;
        content: "";
        vertical-align: middle;
        top: 50%;
        right: 10px;
        width: 20px;
        height: 20px;
        border-top: 2px solid #FFF;
        border-right: 2px solid #FFF;
        -webkit-transform: rotate(45deg) translate(-50%, 0);
        -moz-transform: rotate(45deg) translate(-50%, 0);
        -ms-transform: rotate(45deg) translate(-50%, 0);
        -o-transform: rotate(45deg) translate(-50%, 0);
        transform: rotate(45deg) translate(-50%, 0); }
    .contents .btns.co1 {
      background: #BA79B1; }
      .contents .btns.co1::after {
        border-left: 30px solid #BA79B1; }
    .contents .btns.co2 {
      background: #E6DEC3; }
      .contents .btns.co2::after {
        border-left: 30px solid #E6DEC3; }
      .contents .btns.co2 p {
        color: #A28C74; }
    .contents .btns.co3 {
      background: #7CCAD3; }
      .contents .btns.co3::after {
        border-left: 30px solid #7CCAD3; }
  .contents ul.option li {
    padding: 30px 0 30px 30px;
    width: 100%; }
    @media (max-width: 414px) {
      .contents ul.option li {
        padding: 30px 0; } }
    .contents ul.option li span {
      color: #7094C0;
      display: block; }
    .contents ul.option li.blue {
      background: url(../../moominwr/sample/img/design_line01.png) left top no-repeat; }
    .contents ul.option li.red {
      background: url(../../moominwr/sample/img/design_line02.png) left top no-repeat; }
    .contents ul.option li.green {
      background: url(../../moominwr/sample/img/design_line03.png) left top no-repeat; }
      .contents ul.option li.green ul.otherList li {
        padding: 0 0 0 1.6em;
        position: relative; }
        .contents ul.option li.green ul.otherList li::before {
          font-family: FontAwesome;
          content: "\f111";
          position: absolute;
          font-size: 1.2em;
          left: 0;
          top: -0.2em;
          color: #DAE11B; }
  .contents h2.ttl {
    background: url(../../moominwr/sample/img/h2_img.png) no-repeat;
    background-size: contain;
    padding: 50px 0 0 0;
    margin-bottom: 70px;
    text-align: center;
    background-position: 40% center; }
    @media (max-width: 414px) {
      .contents h2.ttl {
        background-position: 25% center; } }
    .contents h2.ttl span {
      display: inline-block;
      padding: 0 0 0 100px;
      color: #26B7BC;
      font-size: 2.5rem; }
      @media (max-width: 414px) {
        .contents h2.ttl span {
          padding-left: 90px; } }

@media (max-width: 480px) {
  .thanks #top {
    padding-top: 100px; } }

/*-------------------------------------------------

ここまで

-------------------------------------------------*/
br.sp {
  display: none; }
  @media (max-width: 414px) {
    br.sp {
      display: block; } }

br.pc {
  display: block; }
  @media (max-width: 414px) {
    br.pc {
      display: none; } }

.thanks .ttls {
  text-align: center; }

section#top .txt {
  max-width: 920px;
  margin: 2em auto 0;
  text-align: left; }
section.line {
  display: table;
  margin: 70px auto 0;
  padding: 0 0 20px; }
  section.line p {
    margin: 0 auto 20px;
    padding: 10px 20px;
    text-align: center;
    background: #6e9bc5;
    color: #FFF;
    font-weight: bold; }
  section.line .line-it-button {
    margin: 0 auto; }
  section.line img {
    width: auto !important;
    height: 48px !important; }

.ttl {
  text-align: center;
  margin: 0 0 30px;
  font-size: 1.8rem; }
  @media (max-width: 414px) {
    .ttl {
      text-align: left;
      font-size: 4vw; } }

#ttl {
  text-align: center; }
  #ttl br {
    display: none; }
    @media (max-width: 414px) {
      #ttl br {
        display: block; } }

.att {
  margin-bottom: 20px; }

form {
  width: 100%;
  max-width: 920px;
  padding: 0 20px;
  margin: 80px auto 0;
  font-size: 1.6rem; }
  form dl.select {
    max-width: 330px;
    margin: 0 auto 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center; }
    @media (max-width: 414px) {
      form dl.select {
        width: 100;
        max-width: none;
        display: block; } }
    form dl.select dt {
      width: 105px;
      margin-bottom: 10px; }
      @media (max-width: 414px) {
        form dl.select dt {
          width: 100%; } }
    form dl.select dd {
      width: calc(100% - 105px);
      margin-bottom: 10px; }
      form dl.select dd select {
        display: inline-block;
        border: #DDD solid 1px;
        border-radius: 5px;
        padding: 0 5px; }
      @media (max-width: 414px) {
        form dl.select dd {
          width: 100%; } }
  form textarea {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    border: #DDD solid 1px;
    border-radius: 5px;
    padding: 5px;
    display: block;
    resize: vertical; }
    @media (max-width: 414px) {
      form textarea {
        margin: 30px auto; } }
  form .txt {
    margin-bottom: 40px; }
    form .txt span {
      display: block;
      text-align: center;
      font-size: 2.2rem;
      margin-bottom: 30px;
      background: #6e9bc5;
      color: #FFF;
      padding: 10px 0; }
      @media (max-width: 414px) {
        form .txt span {
          font-size: 5vw; } }
  form dl.input {
    display: flex;
    flex-wrap: wrap;
    border-top: #DDD solid 1px;
    margin: 0 0 50px; }
    @media (max-width: 414px) {
      form dl.input {
        display: block; } }
    form dl.input dt {
      width: 250px;
      padding: 10px;
      border-bottom: #DDD solid 1px;
      display: flex;
      align-items: center; }
      form dl.input dt br {
        display: block; }
        @media (max-width: 414px) {
          form dl.input dt br {
            display: none; } }
      @media (max-width: 414px) {
        form dl.input dt {
          width: 100%;
          padding: 5px;
          background: #6e9bc5;
          color: #FFF; } }
      form dl.input dt.error_dt {
        width: 100%;
        border: none;
        padding: 40px 0; }
        @media (max-width: 414px) {
          form dl.input dt.error_dt {
            width: 100%;
            padding: 30px 0;
            background: none;
            color: #6e9bc5; } }
        form dl.input dt.error_dt h3 {
          width: 100%;
          text-align: center; }
    form dl.input dd {
      width: calc(100% - 250px);
      padding: 10px;
      border-bottom: #DDD solid 1px; }
      form dl.input dd.error_dd {
        width: 100%;
        padding-bottom: 40px;
        text-align: center; }
        form dl.input dd.error_dd input[type=button] {
          display: block;
          width: 150px;
          margin: 0 auto;
          padding: 10px 20px;
          border-radius: 5px;
          cursor: pointer;
          background: #DDD;
          color: #000; }
        @media (max-width: 414px) {
          form dl.input dd.error_dd {
            width: 100%;
            border-bottom: #DDD solid 1px; } }
      form dl.input dd span {
        display: block;
        margin-top: 5px;
        font-size: 1rem; }
      form dl.input dd input {
        border: #DDD solid 1px;
        border-radius: 5px;
        padding: 5px;
        font-size: 1.4rem; }
        form dl.input dd input.address, form dl.input dd input.mail {
          width: 100%;
          max-width: 400px; }
        @media (max-width: 414px) {
          form dl.input dd input {
            width: 100%; } }
      @media (max-width: 414px) {
        form dl.input dd {
          width: 100%;
          padding: 10px 0;
          border-bottom: none; } }
    @media (max-width: 414px) {
      form dl.input {
        margin: 0 0 20px; } }
  form .confim {
    text-align: center;
    margin: 0 0 50px; }
    @media (max-width: 414px) {
      form .confim {
        margin: 0 0 30px; } }
    form .confim br {
      display: none; }
      @media (max-width: 414px) {
        form .confim br {
          display: block; } }
  form ul.button {
    text-align: center;
    display: flex;
    justify-content: center; }
    form ul.button li {
      width: 150px;
      display: inline-block;
      margin: 0 10px; }
      form ul.button li input[type=submit].btn,
      form ul.button li input[type=button].btn {
        display: block;
        width: 100%;
        margin: 0 auto;
        padding: 10px 20px;
        border-radius: 5px;
        cursor: pointer;
        background: #DDD;
        color: #000; }
      @media (max-width: 414px) {
        form ul.button li {
          width: 40%; } }
  @media (max-width: 414px) {
    form {
      margin: 30px auto 0; } }
