@charset "UTF-8";
/* media-queries.css */
.smp {
  display: none; }

@media screen and (max-width: 1281px) {
  /* 1280px以下 */
  #top-page .container {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%; }
  #top-page .content .cont01 ul li {
    margin: 0 20px; }
  #top-page .content .cont05 .figure {
    width: 90%; } }
@media screen and (max-width: 1025px) {
  /* 1024px以下 */ }
.ipad {
  /* iPad */ }
  .ipad #top-page .header .catch .apply {
    position: absolute; }
  .ipad .iPad-none {
    display: none; }

@media screen and (max-width: 769px) {
  /* 768px以下 */
  #top-page .header .catch {
    background: no-repeat 80% 50% url("../images/catch01.jpg");
    background-size: cover;
    max-height: none; }
  #top-page .content .cont01 ul li {
    margin: 0 1%;
    width: 31.333%; }
  #top-page .content .cont02 {
    background-image: none;
    padding: 0; }
    #top-page .content .cont02 .container {
      padding: 0; }
    #top-page .content .cont02 .inner {
      display: block;
      overflow: hidden; }
      #top-page .content .cont02 .inner .left, #top-page .content .cont02 .inner .right {
        width: 100%; }
      #top-page .content .cont02 .inner .left {
        background: no-repeat 50% 50% url("../images/cont02-bg.jpg");
        background-size: cover;
        height: 35vh;
        width: 200%;
        margin-bottom: 40px; }
      #top-page .content .cont02 .inner .right {
        padding-left: 5%;
        padding-right: 5%;
        padding-bottom: 40px;
        box-sizing: border-box; }
  #top-page .content .cont04 {
    padding: 40px 0 0;
    background-image: none; }
    #top-page .content .cont04 .container {
      flex-wrap: wrap;
      padding: 0; }
    #top-page .content .cont04 .left, #top-page .content .cont04 .right {
      width: 100%; }
    #top-page .content .cont04 .left {
      order: 2;
      background-color: #a7d9cd;
      padding: 8%; }
    #top-page .content .cont04 .right {
      order: 1;
      padding: 0 8%; }
  #top-page .content .cont05 h2 {
    font-size: 2.25rem; }
  #top-page .content .cont05 .figure {
    width: 100%; }
  #top-page .content .cont07 {
    background-image: none;
    padding: 0; }
    #top-page .content .cont07 .container {
      padding: 0; }
    #top-page .content .cont07 .inner {
      display: block;
      overflow: hidden; }
      #top-page .content .cont07 .inner .left, #top-page .content .cont07 .inner .right {
        width: 100%; }
      #top-page .content .cont07 .inner .left {
        background: no-repeat 50% 40% url("../images/cont07-bg.jpg");
        background-size: cover;
        height: 35vh;
        width: 220%;
        margin-bottom: 40px; }
      #top-page .content .cont07 .inner .right {
        padding-left: 5%;
        padding-right: 5%;
        padding-bottom: 40px;
        box-sizing: border-box; }
  #top-page .content .cont08 ul li {
    margin: 0 10px; }
  #top-page .content .cont08 .sum {
    margin-bottom: 20px; }
  #top-page .content .cont09 .container {
    display: block; }
    #top-page .content .cont09 .container.trial {
      padding: 0; }
      #top-page .content .cont09 .container.trial .left {
        padding: 0; }
    #top-page .content .cont09 .container.campaign {
      padding: 0;
      margin-bottom: 0px; }
      #top-page .content .cont09 .container.campaign .left, #top-page .content .cont09 .container.campaign .right {
        padding-bottom: 5%; }
      #top-page .content .cont09 .container.campaign .left {
        border-bottom: 2px solid #a7d9cd; }
      #top-page .content .cont09 .container.campaign .btn {
        position: relative;
        bottom: auto; }
  #top-page .content .cont09 .left, #top-page .content .cont09 .right, #top-page .content .cont09 .wide {
    box-sizing: border-box;
    padding: 5%;
    width: 100%; }
    #top-page .content .cont09 .left .btn, #top-page .content .cont09 .right .btn, #top-page .content .cont09 .wide .btn {
      display: block;
      margin-top: 40px;
      margin-bottom: 20px; }
      #top-page .content .cont09 .left .btn a, #top-page .content .cont09 .right .btn a, #top-page .content .cont09 .wide .btn a {
        font-size: 1.5em;
        text-align: center;
        padding: 40px 0; }
  #top-page .content .cont09 .wide {
    padding-bottom: 0;
    text-align: left; }
  #top-page .content .cont09 .about {
    padding: 5%; }
    #top-page .content .cont09 .about .desc {
      margin-bottom: 40px;
      text-align: left; }
    #top-page .content .cont09 .about .apply {
      margin-top: 20px; }
      #top-page .content .cont09 .about .apply h3 {
        font-size: 1rem; }
      #top-page .content .cont09 .about .apply .desc {
        font-size: 1em; }
      #top-page .content .cont09 .about .apply .note {
        margin-bottom: 12px; }
      #top-page .content .cont09 .about .apply .btn {
        display: block;
        margin-top: 40px;
        margin-bottom: 20px; }
        #top-page .content .cont09 .about .apply .btn a {
          font-size: 1.5em;
          text-align: center;
          padding: 40px 0; }
  #top-page .content .cont10 ul {
    display: block; }
    #top-page .content .cont10 ul li {
      width: 100%;
      margin: 0 0 16px 0; }
    #top-page .content .cont10 ul.comment li {
      margin-bottom: 16px; }
    #top-page .content .cont10 ul.tv {
      display: flex;
      background: #fff;
      padding: 12px 0; }
      #top-page .content .cont10 ul.tv li {
        margin: 0 12px; }
  #top-page .footer ul {
    margin-bottom: 20px; }

  .tab-none {
    display: none; } }
.mobile #top-page .header .catch .title {
  top: 55%;
  transform: translate(0%, -50%); }
  .mobile #top-page .header .catch .title h1 {
    font-size: 3.2em;
    line-height: 1.3em;
    margin-top: 12px; }
  .mobile #top-page .header .catch .title h2 {
    font-size: 1.6em; }
  .mobile #top-page .header .catch .title .orange {
    padding: 0 8px 2px;
    font-size: 1.2rem; }
.mobile #top-page .header .catch .apply {
  display: none;
  position: relative;
  left: 50%;
  bottom: 4%;
  transform: translate(-50%, 0%);
  width: 100%; }
.mobile #top-page .content .apply {
  display: block;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  text-align: center;
  position: relative;
  z-index: 20; }
  .mobile #top-page .content .apply .tit {
    background: #00a166;
    color: #FFF;
    font-size: 2em;
    padding: 20px; }
  .mobile #top-page .content .apply .txt {
    margin-bottom: 20px; }
    .mobile #top-page .content .apply .txt .btn {
      background-color: #E87024;
      background: linear-gradient(#F78B5C, #F97D38);
      border-left: 1px solid #E87024;
      border-top: 1px solid #E87024;
      border-right: 1px solid #E87024;
      border-bottom: 3px solid #B55C35;
      color: #FFF;
      display: inline-block;
      margin-top: 20px;
      margin-bottom: 16px;
      padding: 12px 48px;
      position: relative; }
      .mobile #top-page .content .apply .txt .btn:after {
        content: "\025b6";
        font-size: 0.7rem;
        margin-left: 0.5em;
        position: absolute; }
      .mobile #top-page .content .apply .txt .btn p {
        display: inline-block;
        font-size: 1.25em; }
    .mobile #top-page .content .apply .txt .red {
      color: #f03848; }
    .mobile #top-page .content .apply .txt .large {
      font-size: 2em; }
    .mobile #top-page .content .apply .txt .desc {
      font-size: 0.9em;
      margin-top: 8px;
      line-height: 1.6em; }
.mobile #contact .header .nav h1 img {
  width: 80%;
  height: auto; }
.mobile #contact .container {
  max-width: 100%; }
.mobile #contact .contactForm {
  margin: 0 auto;
  width: 90%; }
  .mobile #contact .contactForm dl {
    margin-bottom: 48px; }
    .mobile #contact .contactForm dl dd {
      margin-left: 0;
      clear: both; }
  .mobile #contact .contactForm p {
    font-size: 0.875em; }
  .mobile #contact .contactForm .submitBtnContainer {
    width: 100%; }
    .mobile #contact .contactForm .submitBtnContainer input {
      width: 100%; }
    .mobile #contact .contactForm .submitBtnContainer .Submit {
      width: 75%; }

@media screen and (max-width: 481px) {
  /* 480px以下 */
  #top-page .header .nav h1 {
    width: 80%;
    margin: 0 auto; }
    #top-page .header .nav h1 img {
      width: 100%;
      height: auto; }
  #top-page .header .nav ul {
    display: none; }
  #top-page .header .catch {
    max-height: 75vh; }
    #top-page .header .catch .title {
      top: 55%;
      transform: translate(0%, -50%); }
      #top-page .header .catch .title h1 {
        font-size: 3.2em;
        line-height: 1.3em;
        margin-top: 12px; }
      #top-page .header .catch .title h2 {
        font-size: 1.6em; }
      #top-page .header .catch .title .orange {
        padding: 0 8px 2px;
        font-size: 1.2rem; }
  #top-page .content h2 {
    font-size: 1.875rem;
    line-height: 1.4em; }
  #top-page .content h3 {
    font-size: 1.5rem;
    line-height: 1.4em; }
  #top-page .content .cont01 {
    padding: 40px 0; }
    #top-page .content .cont01 h2 {
      text-align: left; }
    #top-page .content .cont01 ul {
      display: block; }
      #top-page .content .cont01 ul li {
        width: 100%;
        margin: 0 0 40px 0; }
        #top-page .content .cont01 ul li:last-child {
          margin-bottom: 0; }
        #top-page .content .cont01 ul li .image {
          display: block;
          width: 50%;
          margin: 0 auto; }
  #top-page .content .cont02 p {
    font-size: 1.25em; }
  #top-page .content .cont04 .right {
    padding-bottom: 40px; }
    #top-page .content .cont04 .right .product {
      display: none; }
  #top-page .content .cont05 {
    padding: 40px 0; }
    #top-page .content .cont05 h2 {
      font-size: 1.6em; }
    #top-page .content .cont05 .figure {
      display: block;
      flex-wrap: wrap;
      margin: 40px auto 0;
      width: 100%; }
      #top-page .content .cont05 .figure .left, #top-page .content .cont05 .figure .right {
        box-sizing: border-box;
        padding: 20px 20px;
        width: 100%; }
        #top-page .content .cont05 .figure .left .image, #top-page .content .cont05 .figure .right .image {
          display: block;
          margin-bottom: 12px; }
        #top-page .content .cont05 .figure .left p, #top-page .content .cont05 .figure .right p {
          text-align: left; }
      #top-page .content .cont05 .figure .left {
        background-color: #a7d9cd;
        border-radius: 10px 10px 0px 0px;
        padding-bottom: 0; }
      #top-page .content .cont05 .figure .right {
        background: no-repeat 0% 0% url("../images/cont05-bg2.png");
        background-size: contain;
        background-color: #dfe9e6;
        border-radius: 0px 0px 0px 0px;
        padding-top: 40px; }
      #top-page .content .cont05 .figure .title {
        box-sizing: border-box;
        border-radius: 0px 0px 10px 10px;
        padding: 20px 12px;
        text-align: left; }
        #top-page .content .cont05 .figure .title h3 {
          font-size: 1.25em; }
    #top-page .content .cont05 ul.step {
      display: block; }
      #top-page .content .cont05 ul.step li {
        width: 100%;
        margin: 0 0 40px 0; }
        #top-page .content .cont05 ul.step li:after {
          background: none;
          display: none; }
        #top-page .content .cont05 ul.step li:last-child {
          margin-bottom: 0; }
        #top-page .content .cont05 ul.step li .image {
          display: block;
          width: 50%;
          margin: 0 auto; }
  #top-page .content .cont06 {
    padding: 40px 0; }
    #top-page .content .cont06 h2 {
      text-align: left; }
    #top-page .content .cont06 ul {
      display: block; }
      #top-page .content .cont06 ul li {
        width: 100%;
        margin: 0 0 40px; }
        #top-page .content .cont06 ul li:last-child {
          margin-bottom: 0; }
        #top-page .content .cont06 ul li .image {
          display: block;
          width: 50%;
          margin: 0 auto; }
  #top-page .content .cont08 {
    padding: 40px 0; }
    #top-page .content .cont08 ul {
      display: block; }
      #top-page .content .cont08 ul li {
        width: 100%;
        margin: 0 0 40px; }
        #top-page .content .cont08 ul li .image {
          display: block;
          width: 50%;
          margin: 0 auto; }
    #top-page .content .cont08 .sum {
      padding: 20px 0px; }
  #top-page .content .cont09 .left .btn a, #top-page .content .cont09 .right .btn a, #top-page .content .cont09 .wide .btn a {
    font-size: 1em;
    text-align: center;
    padding: 28px 0; }
    #top-page .content .cont09 .left .btn a:after, #top-page .content .cont09 .right .btn a:after, #top-page .content .cont09 .wide .btn a:after {
      content: "\025b6";
      background: none;
      font-size: 1rem;
      margin-left: 0.5em;
      position: absolute;
      right: auto;
      top: auto;
      width: auto;
      height: auto; }
    #top-page .content .cont09 .left .btn a:hover, #top-page .content .cont09 .right .btn a:hover, #top-page .content .cont09 .wide .btn a:hover {
      background: none;
      color: #FFF; }
      #top-page .content .cont09 .left .btn a:hover:after, #top-page .content .cont09 .right .btn a:hover:after, #top-page .content .cont09 .wide .btn a:hover:after {
        content: "\025b6";
        background: none;
        font-size: 1rem;
        margin-left: 0.5em;
        position: absolute;
        right: auto;
        top: auto;
        width: auto;
        height: auto; }
  #top-page .content .cont09 .about .apply h3 {
    margin-bottom: 28px; }
  #top-page .content .cont09 .about .apply .btn a {
    font-size: 1em;
    text-align: center;
    padding: 28px 0; }
    #top-page .content .cont09 .about .apply .btn a:after {
      content: "\025b6";
      background: none;
      font-size: 1rem;
      margin-left: 0.5em;
      position: absolute;
      right: auto;
      top: auto;
      width: auto;
      height: auto; }
    #top-page .content .cont09 .about .apply .btn a:hover {
      background: none;
      color: #FFF; }
      #top-page .content .cont09 .about .apply .btn a:hover:after {
        content: "\025b6";
        background: none;
        font-size: 1rem;
        margin-left: 0.5em;
        position: absolute;
        right: auto;
        top: auto;
        width: auto;
        height: auto; }
  #top-page .content .cont10 {
    padding: 40px 0; }
    #top-page .content .cont10 .inner {
      margin-bottom: 80px; }
    #top-page .content .cont10 ul {
      margin-top: 40px; }
      #top-page .content .cont10 ul.tv {
        display: block;
        padding: 0; }
        #top-page .content .cont10 ul.tv li {
          margin: 0; }
          #top-page .content .cont10 ul.tv li:last-child {
            padding: 20px; }
    #top-page .content .cont10 .other {
      text-align: center;
      font-size: 0.8rem; }
  #top-page .footer .contact {
    width: 100%; }
  #top-page .footer ul {
    border-bottom: 1px solid #FFF;
    margin-bottom: 40px; }
    #top-page .footer ul li {
      border-top: 1px solid #FFF;
      display: block;
      font-size: 0.9em;
      text-align: center;
      width: 100%; }
      #top-page .footer ul li a {
        padding: 20px 0; }
        #top-page .footer ul li a:hover {
          text-decoration: none; }

  .pc {
    display: none; }

  .smp {
    display: block; }

  .remodal {
    padding: 5%; }
    .remodal .privacy .title {
      font-size: 1.5rem; }
    .remodal .privacy p {
      font-size: 1em;
      text-align: left; }
      .remodal .privacy p.kiyaku {
        max-height: 50vh;
        overflow-y: scroll; }
    .remodal .privacy .btn ul {
      flex-direction: row-reverse;
      flex-wrap: wrap-reverse; }
      .remodal .privacy .btn ul li {
        width: 100%;
        margin-right: 0; }
    .remodal .privacy .btn a {
      display: block; }
    .remodal .privacy .btn button {
      background: none;
      border: none;
      color: #2A282A;
      font-size: 0.9em;
      padding: 15px 0 10px; }
      .remodal .privacy .btn button:hover {
        border-bottom: none;
        color: #2A282A;
        margin-top: 0; } }
@media screen and (max-width: 321px) {
  /* 320px以下 */ }
@media screen and (max-height: 421px) {
  /* 高さ420px以下 */ }
