@charset "UTF-8";
/* ------------------------------------------- */
/*	カスタムscss
/* ------------------------------------------- */
@media screen and (max-width: 750px) {
  body {
    padding-top: 66px; }

  br.pc {
    display: none; }

  br.sp {
    display: block; }

  /*パンくず*/
  .breadcrumb {
    display: flex;
    flex-wrap: wrap; }
    .breadcrumb li a {
      font-size: 13px; }

  header .header-inner {
    display: none; }
  header .res-header-inner {
    height: 65px;
    display: flex;
    justify-content: space-between;
    margin: 0 25px;
    align-items: center; }
    header .res-header-inner .res-hamburger {
      position: relative;
      width: 32px;
      height: 32px;
      cursor: pointer;
      border: solid 1px #EDEDED;
      border-radius: 30px;
      z-index: 1002; }
      header .res-header-inner .res-hamburger::before {
        content: '';
        position: absolute;
        top: 40%;
        left: 7px;
        width: 60%;
        height: 1px;
        background-color: #333333;
        transition: transform 0.3s ease;
        z-index: 1002; }
      header .res-header-inner .res-hamburger::after {
        content: '';
        position: absolute;
        bottom: 40%;
        left: 7px;
        width: 60%;
        height: 1px;
        background-color: #333333;
        transition: transform 0.3s ease;
        z-index: 1002; }
    header .res-header-inner .active::before {
      transform: rotate(45deg);
      top: 50%;
      left: 25%;
      width: 50%;
      background-color: #ffffff; }
    header .res-header-inner .active::after {
      transform: rotate(-45deg);
      top: 50%;
      left: 25%;
      width: 50%;
      background-color: #ffffff; }
    header .res-header-inner .res-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.9);
      z-index: 50;
      display: none; }
    header .res-header-inner .res-header-list {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      width: 100%;
      color: #fff;
      z-index: 100;
      text-align: center; }
      header .res-header-inner .res-header-list ul {
        list-style: none;
        padding: 0;
        margin: 0; }
        header .res-header-inner .res-header-list ul .res-header-item {
          display: flex;
          border-bottom: 1px solid #2E2F30;
          padding: 20px; }
          header .res-header-inner .res-header-list ul .res-header-item a {
            font-size: 15px;
            text-align: left;
            color: #fff;
            width: 100%;
            position: relative; }
            header .res-header-inner .res-header-list ul .res-header-item a::before {
              content: '';
              position: absolute;
              width: 16px;
              height: 16px;
              top: 5px;
              right: 0;
              background: url("../images/upper-arrow-rainbow.svg") no-repeat; }
        header .res-header-inner .res-header-list ul .res-header-support {
          border-bottom: 1px solid #2E2F30;
          padding: 20px; }
          header .res-header-inner .res-header-list ul .res-header-support a {
            text-align: left;
            color: #fff;
            width: 100%;
            position: relative; }
          header .res-header-inner .res-header-list ul .res-header-support p {
            text-align: left;
            color: #fff;
            width: 100%;
            position: relative;
            cursor: pointer; }
            header .res-header-inner .res-header-list ul .res-header-support p::before {
              content: '';
              position: absolute;
              width: 15px;
              height: 15px;
              top: 5px;
              right: 0;
              background: url("../images/res-footer-toggle-w.svg") no-repeat; }
          header .res-header-inner .res-header-list ul .res-header-support .res-support-item {
            display: none;
            text-align: left; }
            header .res-header-inner .res-header-list ul .res-header-support .res-support-item li {
              margin: 20px 0; }
              header .res-header-inner .res-header-list ul .res-header-support .res-support-item li a {
                font-size: 16px;
                white-space: nowrap; }
      header .res-header-inner .res-header-list .res-header-language {
        padding-top: 60px; }
        header .res-header-inner .res-header-list .res-header-language a {
          color: #ffffff;
          font-size: 12px; }
  header .res-header-logo {
    z-index: 1000; }

  .search-section .search-container {
    max-width: 100%; }
    .search-section .search-container p {
      font-size: 24px; }
    .search-section .search-container .search-form label {
      width: 100%; }
      .search-section .search-container .search-form label .search-field {
        width: 350px;
        padding: 10px 10px 10px 40px; }
      .search-section .search-container .search-form label::before {
        left: 13%;
        transform: translate(-30%, -50%); }

  main {
    display: block; }
    main .main-section {
      padding-top: 35px; }
      main .main-section .inner {
        width: 80%;
        text-align: center; }
        main .main-section .inner .main-bg {
          display: none; }
        main .main-section .inner .main-top {
          margin-top: 0;
          margin-bottom: 25px; }
          main .main-section .inner .main-top h1 {
            font-size: 15px; }
            main .main-section .inner .main-top h1 a {
              display: none; }
            main .main-section .inner .main-top h1 span {
              display: inline; }
        main .main-section .inner .main-headline {
          margin-bottom: 20px; }
          main .main-section .inner .main-headline h2 {
            font-size: 33px; }
            main .main-section .inner .main-headline h2 span {
              font-size: 30px; }
        main .main-section .inner .main-login {
          position: relative;
          margin-bottom: 0; }
          main .main-section .inner .main-login .login-icon-left {
            display: none; }
          main .main-section .inner .main-login .login-icon-right {
            display: none; }
          main .main-section .inner .main-login .sp-login-icon {
            display: block;
            margin: 50px auto 15px auto; }
          main .main-section .inner .main-login div.google-login-margin {
            width: 295px;
            height: 54px; }
            main .main-section .inner .main-login div.google-login-margin a.google-login-button {
              width: 295px;
              height: 54px;
              line-height: 54px;
              top: 10px;
              font-size: 20px;
              font-weight: 700; }
              main .main-section .inner .main-login div.google-login-margin a.google-login-button::before {
                top: 3px;
                left: 3px;
                width: 289px;
                height: 48px; }
              main .main-section .inner .main-login div.google-login-margin a.google-login-button span.google-login-button-txt {
                width: 295px;
                height: 54px; }
        main .main-section .inner .plugin-download {
          display: block;
          margin-bottom: 10px; }
        main .main-section .inner p {
          margin-top: 40px;
          color: #333333;
          font-size: 11px; }
        main .main-section .inner .contactform7-official {
          font-size: 11px;
          color: #3E0EFE;
          text-decoration-line: underline;
          display: inline-block;
          margin-bottom: 20px;
          transition: all 0.3s ease; }
        main .main-section .inner .main-img-box .main-img {
          display: none; }
        main .main-section .inner .main-img-box .scroll-container {
          width: 100%;
          display: block; }
          main .main-section .inner .main-img-box .scroll-container .scroll-content img {
            width: 233px;
            height: auto; }
          main .main-section .inner .main-img-box .scroll-container .slick-prev {
            background-color: #fff;
            border-radius: 50%;
            padding: 10px;
            z-index: 1; }
          main .main-section .inner .main-img-box .scroll-container .slick-next {
            background-color: #fff;
            border-radius: 50%;
            padding: 10px;
            z-index: 1; }
          main .main-section .inner .main-img-box .scroll-container .slick-dots {
            bottom: -30px; }
    main .features {
      padding-top: 240px; }
      main .features .inner {
        width: 90%; }
        main .features .inner h2 .section-label {
          font-size: 18px; }
        main .features .inner h2 .section-head {
          font-size: 24px;
          width: 94%;
          margin: 20px auto 40px; }
        main .features .inner .card-top {
          flex-direction: column;
          padding: 0;
          width: 100%;
          margin: 20px auto; }
          main .features .inner .card-top .card-top-head {
            font-size: 20px;
            text-align: center;
            margin: 0; }
            main .features .inner .card-top .card-top-head h3 {
              font-size: 21px;
              margin: 0;
              padding: 32px 20px 0 20px; }
            main .features .inner .card-top .card-top-head p {
              padding: 20px; }
        main .features .inner .card-list .card-item {
          width: 100%; }
          main .features .inner .card-list .card-item .card-head {
            padding: 0;
            width: 100%; }
            main .features .inner .card-list .card-item .card-head h3 {
              font-size: 23px;
              padding: 32px 20px 0 20px;
              margin: 0; }
            main .features .inner .card-list .card-item .card-head p {
              padding: 20px; }
          main .features .inner .card-list .card-item .card-image img {
            height: auto;
            width: 100%; }
    main .easysteps {
      padding-top: 120px; }
      main .easysteps .inner {
        width: 100%; }
        main .easysteps .inner h2 .section-label {
          font-size: 18px; }
        main .easysteps .inner h2 .section-head {
          font-size: 24px;
          width: 94%;
          margin: 20px auto 40px; }
        main .easysteps .inner .easysteps-content .easysteps-left {
          width: 100%; }
          main .easysteps .inner .easysteps-content .easysteps-left ul .js-easysteps {
            display: flex;
            margin-bottom: 0;
            cursor: pointer;
            gap: 5px; }
            main .easysteps .inner .easysteps-content .easysteps-left ul .js-easysteps .step {
              width: 50px;
              height: auto; }
            main .easysteps .inner .easysteps-content .easysteps-left ul .js-easysteps p {
              font-size: 15px;
              margin: 0 10px;
              flex: 1; }
            main .easysteps .inner .easysteps-content .easysteps-left ul .js-easysteps .arrow {
              width: 20px;
              height: auto; }
          main .easysteps .inner .easysteps-content .easysteps-left ul #mobile-image {
            width: 100%; }
          main .easysteps .inner .easysteps-content .easysteps-left .easysteps-plugin-confirm {
            margin: 0 20px; }
            main .easysteps .inner .easysteps-content .easysteps-left .easysteps-plugin-confirm p {
              font-size: 12px; }
            main .easysteps .inner .easysteps-content .easysteps-left .easysteps-plugin-confirm a {
              font-size: 10px; }
        main .easysteps .inner .easysteps-content .easysteps-right {
          display: none; }
    main .start-formtoss {
      padding-top: 200px; }
      main .start-formtoss .inner {
        width: 90%; }
        main .start-formtoss .inner p {
          font-size: 27px;
          margin-bottom: 40px; }
        main .start-formtoss .inner .login-button a.google-login-button {
          width: 295px;
          height: 54px;
          line-height: 54px;
          margin-top: 0;
          top: 0;
          font-size: 20px;
          font-weight: 700; }
          main .start-formtoss .inner .login-button a.google-login-button::before {
            content: '';
            position: absolute;
            top: 3px;
            left: 3px;
            width: 289px;
            height: 48px; }
          main .start-formtoss .inner .login-button a.google-login-button span.google-login-button-txt {
            color: #fff;
            width: 295px;
            height: 54px; }
    main .priceplan {
      padding: 200px 0 40px; }
      main .priceplan .inner {
        width: 90%; }
        main .priceplan .inner h2 .section-label {
          font-size: 18px; }
        main .priceplan .inner h2 .section-head {
          font-size: 24px;
          width: 94%;
          margin: 20px auto 40px; }
        main .priceplan .inner .plan-list {
          flex-direction: column;
          align-items: center; }
          main .priceplan .inner .plan-list .plan-item {
            width: 100%;
            max-width: 600px;
            margin-bottom: 80px; }
            main .priceplan .inner .plan-list .plan-item h3 .plan-title {
              font-size: 40px;
              margin-bottom: 5px; }
            main .priceplan .inner .plan-list .plan-item h3 .plan-name {
              font-size: 20px; }
            main .priceplan .inner .plan-list .plan-item .plan-fee {
              font-size: 18px; }
              main .priceplan .inner .plan-list .plan-item .plan-fee .price-box {
                width: 245px;
                margin: 8px auto 0 auto; }
                main .priceplan .inner .plan-list .plan-item .plan-fee .price-box p {
                  font-weight: bold;
                  font-family: "Roboto"; }
                  main .priceplan .inner .plan-list .plan-item .plan-fee .price-box p span.jp-en {
                    font-size: 24px; }
                  main .priceplan .inner .plan-list .plan-item .plan-fee .price-box p span.jp-price {
                    font-size: 48px;
                    margin: 0 7px; }
                  main .priceplan .inner .plan-list .plan-item .plan-fee .price-box p span.unit {
                    font-size: 24px; }
                  main .priceplan .inner .plan-list .plan-item .plan-fee .price-box p span.tax {
                    font-weight: 400;
                    font-size: 12px;
                    position: relative;
                    top: -55px;
                    right: -88px; }
            main .priceplan .inner .plan-list .plan-item .plan-box .plan-function {
              font-size: 20px; }
            main .priceplan .inner .plan-list .plan-item .plan-box ul {
              margin-bottom: 40px; }
              main .priceplan .inner .plan-list .plan-item .plan-box ul li {
                margin: 15px 0; }
            main .priceplan .inner .plan-list .plan-item .plan-start-button {
              margin-bottom: 20px; }
            main .priceplan .inner .plan-list .plan-item .free {
              margin-bottom: 25px; }
          main .priceplan .inner .plan-list .recommend {
            margin-bottom: 10px; }
    main .docs .inner {
      width: 90%; }
      main .docs .inner h1 {
        font-size: 24px;
        margin-bottom: 40px; }
      main .docs .inner .cards-wrapper {
        grid-template-columns: 1fr;
        padding: 0;
        margin-bottom: 100px; }
        main .docs .inner .cards-wrapper .card {
          height: auto; }
          main .docs .inner .cards-wrapper .card h3 {
            font-size: 20px; }
          main .docs .inner .cards-wrapper .card p {
            font-size: 16px; }
    main .archive .inner {
      width: 90%; }
      main .archive .inner h1 {
        font-size: 24px;
        margin-bottom: 40px; }
      main .archive .inner .custom-list {
        padding: 30px 15px;
        margin-bottom: 100px; }
        main .archive .inner .custom-list li::after {
          top: 4px;
          right: 6px; }
    main .faqs .inner {
      width: 90%; }
      main .faqs .inner h1 {
        font-size: 24px;
        margin-bottom: 40px; }
    main .company .inner {
      width: 80%;
      padding-top: 10px; }
      main .company .inner h1 .section-head {
        font-size: 27px; }
      main .company .inner .company-table {
        width: 100%; }
        main .company .inner .company-table th, main .company .inner .company-table td {
          display: block;
          width: 100%;
          text-align: left;
          box-sizing: border-box;
          border-left: 1px solid #EDEDED;
          border-right: 1px solid #EDEDED;
          border-top: none;
          border-bottom: none; }
        main .company .inner .company-table td:last-child {
          border-bottom: 1px solid #EDEDED; }
    main .terms .inner {
      width: 90%;
      padding-top: 10px; }
      main .terms .inner h1 .section-label {
        font-size: 18px; }
      main .terms .inner h1 .section-head {
        font-size: 27px;
        margin: 20px auto; }
      main .terms .inner .main-text {
        width: 100%; }
        main .terms .inner .main-text p {
          font-size: 16px;
          margin-bottom: 25px;
          line-height: 1.6; }
        main .terms .inner .main-text p.small {
          font-size: 14px;
          margin: 50px 0; }
        main .terms .inner .main-text div.contact-address {
          margin: 15px 15px; }
          main .terms .inner .main-text div.contact-address p {
            margin-bottom: 0; }
        main .terms .inner .main-text dl {
          margin-bottom: 30px; }
          main .terms .inner .main-text dl dt {
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 6px; }
          main .terms .inner .main-text dl dd {
            margin-bottom: 15px;
            margin-left: 0; }
            main .terms .inner .main-text dl dd ol {
              box-sizing: border-box; }
              main .terms .inner .main-text dl dd ol p {
                margin-bottom: 0px; }
            main .terms .inner .main-text dl dd ul {
              box-sizing: border-box; }
            main .terms .inner .main-text dl dd ol.num-list01 {
              counter-reset: list-counter;
              list-style: none; }
              main .terms .inner .main-text dl dd ol.num-list01 li {
                counter-increment: list-counter;
                position: relative;
                padding-left: 2em; }
              main .terms .inner .main-text dl dd ol.num-list01 li::before {
                content: counter(list-counter) ". ";
                position: absolute;
                left: 0em; }
            main .terms .inner .main-text dl dd ol.num-list02 {
              counter-reset: list-counter;
              list-style: none;
              padding-left: 0; }
              main .terms .inner .main-text dl dd ol.num-list02 li {
                counter-increment: list-counter;
                position: relative;
                padding-left: 2em; }
              main .terms .inner .main-text dl dd ol.num-list02 li::before {
                content: "(" counter(list-counter) "). ";
                position: absolute;
                left: 0; }
            main .terms .inner .main-text dl dd ol.dotted-list {
              margin-top: 15px; }
              main .terms .inner .main-text dl dd ol.dotted-list li {
                position: relative;
                padding-left: 1em;
                margin-bottom: 12px; }
              main .terms .inner .main-text dl dd ol.dotted-list li::before {
                content: "・";
                position: absolute;
                left: 0; }
            main .terms .inner .main-text dl dd div.dotted-list {
              margin-top: 5px;
              margin-bottom: 22px;
              margin-left: -2em; }
              main .terms .inner .main-text dl dd div.dotted-list p {
                position: relative;
                padding-left: 1em;
                margin-bottom: 12px;
                line-height: 1.5; }
              main .terms .inner .main-text dl dd div.dotted-list p::before {
                content: "・";
                position: absolute;
                left: 0; }
              main .terms .inner .main-text dl dd div.dotted-list a {
                margin: 0 2px;
                white-space: normal;
                word-wrap: break-word;
                display: inline-block;
                max-width: 300px; }
            main .terms .inner .main-text dl dd a {
              color: #0b5cc9;
              text-decoration: underline;
              margin: 0 2px; }
            main .terms .inner .main-text dl dd a:hover {
              opacity: 0.7; }
      main .terms .inner .permissions-page {
        /* 必要な権限ページ単独の設定 */ }
        main .terms .inner .permissions-page .access-img {
          width: 100%;
          margin-bottom: 25px; }
          main .terms .inner .permissions-page .access-img img {
            width: 320px;
            display: block;
            margin: 0 auto 35px;
            background-color: #ddd; }
        main .terms .inner .permissions-page table {
          margin-bottom: 45px; }
          main .terms .inner .permissions-page table tr th {
            padding: 15px; }
          main .terms .inner .permissions-page table tr td {
            padding: 15px; }
            main .terms .inner .permissions-page table tr td:nth-child(1) {
              width: 50%; }
    main .search-results .inner {
      width: 90%; }
      main .search-results .inner .search-results-none {
        margin: 50px 0 80px; }
      main .search-results .inner h1 {
        font-size: 24px;
        margin-bottom: 40px; }
      main .search-results .inner .search-results-list {
        margin-bottom: 50px; }
        main .search-results .inner .search-results-list .search-result-item {
          padding: 15px;
          border-radius: 8px; }
          main .search-results .inner .search-results-list .search-result-item h3 {
            font-size: 18px; }
          main .search-results .inner .search-results-list .search-result-item p {
            font-size: 14px;
            margin-top: 8px; }

  footer .footer-inner {
    display: none; }
  footer .res-footer-inner {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    display: block; }
    footer .res-footer-inner .res-footer-box .res-footer-item {
      border-bottom: 2px solid #EDEDED;
      padding: 20px 30px;
      margin: 0 auto; }
      footer .res-footer-inner .res-footer-box .res-footer-item .res-footer-flex {
        display: flex;
        justify-content: space-between; }
        footer .res-footer-inner .res-footer-box .res-footer-item .res-footer-flex p {
          font-size: 15px;
          font-weight: bold; }
        footer .res-footer-inner .res-footer-box .res-footer-item .res-footer-flex .js-footer-button {
          width: 15px;
          height: 15px;
          position: relative;
          cursor: pointer; }
          footer .res-footer-inner .res-footer-box .res-footer-item .res-footer-flex .js-footer-button::before {
            content: '';
            position: absolute;
            width: 12px;
            height: 12px;
            top: 5px;
            background: url("../images/res-footer-toggle.svg") no-repeat; }
      footer .res-footer-inner .res-footer-box .res-footer-item ul {
        display: none;
        padding-top: 20px; }
        footer .res-footer-inner .res-footer-box .res-footer-item ul li {
          margin: 12px 0 12px; }
          footer .res-footer-inner .res-footer-box .res-footer-item ul li a {
            font-size: 14px;
            padding: 8px; }
    footer .res-footer-inner .res-footer-end {
      text-align: center; }
      footer .res-footer-inner .res-footer-end .res-footer-language {
        margin-top: 30px; }
        footer .res-footer-inner .res-footer-end .res-footer-language p {
          font-size: 10px; }
      footer .res-footer-inner .res-footer-end .res-footer-copyright {
        margin-top: 10px;
        margin-bottom: 50px; }
        footer .res-footer-inner .res-footer-end .res-footer-copyright p {
          font-size: 10px; }

  /******************************/
  /*	料金ページ pricing
  /******************************/
  #pricing section.pricing {
    padding: 50px 0 40px; }
    #pricing section.pricing .inner {
      width: 90%; }
      #pricing section.pricing .inner h1 .section-label {
        font-size: 18px; }
      #pricing section.pricing .inner h1 .section-head {
        font-size: 27px;
        width: 90%;
        margin: 20px auto 40px; }
      #pricing section.pricing .inner .plan-list {
        flex-direction: column;
        align-items: center; }
        #pricing section.pricing .inner .plan-list .plan-item {
          width: 100%;
          max-width: 600px;
          margin-bottom: 80px; }
          #pricing section.pricing .inner .plan-list .plan-item h2 .plan-title {
            font-size: 40px;
            margin-bottom: 5px; }
          #pricing section.pricing .inner .plan-list .plan-item h2 .plan-name {
            font-size: 20px; }
          #pricing section.pricing .inner .plan-list .plan-item .plan-fee {
            font-size: 18px; }
            #pricing section.pricing .inner .plan-list .plan-item .plan-fee .price-box {
              width: 245px;
              margin: 8px auto 0 auto; }
              #pricing section.pricing .inner .plan-list .plan-item .plan-fee .price-box p {
                font-weight: bold;
                font-family: "Roboto"; }
                #pricing section.pricing .inner .plan-list .plan-item .plan-fee .price-box p span.jp-en {
                  font-size: 24px; }
                #pricing section.pricing .inner .plan-list .plan-item .plan-fee .price-box p span.jp-price {
                  font-size: 48px;
                  margin: 0 7px; }
                #pricing section.pricing .inner .plan-list .plan-item .plan-fee .price-box p span.unit {
                  font-size: 24px; }
                #pricing section.pricing .inner .plan-list .plan-item .plan-fee .price-box p span.tax {
                  font-weight: 400;
                  font-size: 12px;
                  position: relative;
                  top: -55px;
                  right: -88px; }
          #pricing section.pricing .inner .plan-list .plan-item .plan-box .plan-function {
            font-size: 20px; }
          #pricing section.pricing .inner .plan-list .plan-item .plan-box ul li {
            margin: 15px 0; }
          #pricing section.pricing .inner .plan-list .plan-item .plan-start-button {
            margin-bottom: 20px; }
          #pricing section.pricing .inner .plan-list .plan-item .free {
            margin-bottom: 25px; }
        #pricing section.pricing .inner .plan-list .recommend {
          margin-bottom: 10px; }
      #pricing section.pricing .inner .plan-comparison-button {
        display: none; }
  #pricing section.feature-comparison {
    padding-bottom: 80px; }
    #pricing section.feature-comparison .inner {
      width: 100%; }
      #pricing section.feature-comparison .inner h2 .section-head {
        font-size: 27px;
        width: 90%;
        margin: 0 auto 50px; }
      #pricing section.feature-comparison .inner .pricing-table-wrapper {
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        display: block; }
        #pricing section.feature-comparison .inner .pricing-table-wrapper .pricing-table {
          width: 550px;
          table-layout: auto;
          margin-bottom: 0; }
          #pricing section.feature-comparison .inner .pricing-table-wrapper .pricing-table tbody tr th, #pricing section.feature-comparison .inner .pricing-table-wrapper .pricing-table tbody tr td {
            white-space: nowrap; }
          #pricing section.feature-comparison .inner .pricing-table-wrapper .pricing-table tbody tr th {
            padding-left: 10px; }
          #pricing section.feature-comparison .inner .pricing-table-wrapper .pricing-table tbody tr .monthly {
            position: relative; }
            #pricing section.feature-comparison .inner .pricing-table-wrapper .pricing-table tbody tr .monthly::after {
              content: '月あたり332円';
              position: absolute;
              top: 108px;
              right: 32px;
              font-size: 15px;
              font-weight: lighter; }
          #pricing section.feature-comparison .inner .pricing-table-wrapper .pricing-table tbody tr .padding-bottom {
            padding-bottom: 30px; }
  #pricing section.plan-question {
    padding-bottom: 100px; }
    #pricing section.plan-question .inner {
      width: 90%; }
      #pricing section.plan-question .inner h2 .section-head {
        font-size: 27px;
        width: 90%;
        margin: 0 auto 50px; }
      #pricing section.plan-question .inner .accordion-container {
        margin-bottom: 0; }

  /******************************/
  /*	記事詳細ページ
  /******************************/
  #singular .singular .inner {
    width: 90%; }
    #singular .singular .inner .breadcrumb {
      margin: 30px 0 35px 0; }
    #singular .singular .inner .content-blk main {
      width: 100%;
      background-color: #ffffff;
      display: block; }
      #singular .singular .inner .content-blk main .main-content {
        display: block; }
        #singular .singular .inner .content-blk main .main-content h1 {
          font-size: 24px;
          margin-bottom: 40px; }
        #singular .singular .inner .content-blk main .main-content .post-content {
          width: 100%;
          border-bottom: 1px solid #E5E5E5;
          padding-bottom: 30px;
          margin-bottom: 40px; }
          #singular .singular .inner .content-blk main .main-content .post-content h2 {
            font-size: 20px; }
          #singular .singular .inner .content-blk main .main-content .post-content p {
            font-size: 16px; }
          #singular .singular .inner .content-blk main .main-content .post-content img {
            max-width: 100%;
            height: auto;
            display: block;
            margin: 0 auto 60px; }
    #singular .singular .inner .content-blk aside.sidebar {
      width: 100%;
      margin-top: 0;
      margin-bottom: 40px;
      padding-bottom: 80px;
      display: block; }
      #singular .singular .inner .content-blk aside.sidebar ul li {
        margin-bottom: 0; }
        #singular .singular .inner .content-blk aside.sidebar ul li a {
          font-size: 16px; }
          #singular .singular .inner .content-blk aside.sidebar ul li a .post-name {
            font-size: 13px; }
        #singular .singular .inner .content-blk aside.sidebar ul li .category-name {
          margin: 16px 0 16px; }

  /******************************/
  /*	問合せページ　.contact
  /******************************/
  #contact section.contact {
    padding-top: 30px; }
    #contact section.contact .inner {
      width: 90%; }
      #contact section.contact .inner h1 .section-label {
        font-size: 18px; }
      #contact section.contact .inner h1 .section-head {
        font-size: 27px;
        width: 90%;
        margin: 20px auto; }
      #contact section.contact .inner .contact-explain {
        font-size: 16px;
        width: 90%;
        margin: 0 auto 20px; }
      #contact section.contact .inner .cards-wrapper {
        grid-template-columns: 1fr;
        padding: 0; }
        #contact section.contact .inner .cards-wrapper .card {
          height: auto; }
          #contact section.contact .inner .cards-wrapper .card h2 {
            font-size: 20px; }
          #contact section.contact .inner .cards-wrapper .card p {
            font-size: 16px; }
  #contact section.contact-form .inner {
    width: 100%; }
    #contact section.contact-form .inner h2 .section-head {
      font-size: 27px;
      width: 90%;
      padding-top: 70px;
      margin: 0 auto 40px; }
    #contact section.contact-form .inner p.form-contact-explain {
      font-size: 16px;
      width: 82%;
      margin: 0 auto 30px; }
    #contact section.contact-form .inner fieldset {
      padding: 30px; }

  /******************************/
  /*	ダウンロードページ downroads
  /******************************/
  #downroads section {
    padding: 50px 0 40px; }
    #downroads section div.inner {
      width: 90%; }
      #downroads section div.inner h1 .section-head {
        font-size: 27px;
        width: 90%;
        margin: 20px auto 40px; }
      #downroads section div.inner p.guidance {
        font-size: 14px; }
      #downroads section div.inner div.downroads-container {
        width: 100%;
        margin: 55px auto; }
        #downroads section div.inner div.downroads-container div.downroads-item {
          padding: 30px 6px 60px; }
          #downroads section div.inner div.downroads-container div.downroads-item span.date {
            font-size: 14px;
            color: #8E8E8E; }
          #downroads section div.inner div.downroads-container div.downroads-item h2 {
            font-size: 20px;
            margin: 16px 0 8px; }
          #downroads section div.inner div.downroads-container div.downroads-item ul {
            margin: 8px 0; }
            #downroads section div.inner div.downroads-container div.downroads-item ul li {
              margin-bottom: 8px; }
          #downroads section div.inner div.downroads-container div.downroads-item div.remarks-box {
            font-size: 14px;
            margin-top: 16px; }
          #downroads section div.inner div.downroads-container div.downroads-item div.download-button-box {
            margin: 40px 0 0; }
            #downroads section div.inner div.downroads-container div.downroads-item div.download-button-box a.download-button {
              position: relative;
              display: inline-block;
              width: 120px;
              height: 50px;
              line-height: 46px; }
              #downroads section div.inner div.downroads-container div.downroads-item div.download-button-box a.download-button span.txt-downroad {
                font-size: 14px; }
      #downroads section div.inner div.pagination {
        width: 100%;
        margin: 0 auto 60px; }

  /******************************/
  /*	サンクスページ
  /******************************/
  #thanks .thanks {
    padding: 50px 0 40px; }
    #thanks .thanks .inner {
      width: 90%;
      margin: 0 auto; }
      #thanks .thanks .inner h2 {
        margin-top: 0;
        padding-top: 0;
        background: linear-gradient(to right, #3E0EFE 0%, #17AC88 50%, #46FA42 100%);
        -webkit-text-fill-color: transparent;
        background-clip: text;
        font-size: 50px;
        font-weight: 900;
        letter-spacing: -1px;
        position: relative; }
      #thanks .thanks .inner h2::after {
        content: "";
        position: absolute;
        bottom: -30px;
        left: 40%;
        width: 83px;
        height: 27px;
        background-image: url("../images/Union.webp");
        background-position: center; }
      #thanks .thanks .inner .main-text {
        width: 96%;
        margin: 60px auto 0 auto;
        padding-bottom: 120px;
        text-align: center; }
        #thanks .thanks .inner .main-text p {
          font-size: 18px;
          line-height: 1.53;
          margin-bottom: 24px; }
        #thanks .thanks .inner .main-text .attention_blk {
          width: 94%;
          margin: 60px auto 0 auto;
          border: 1px solid #CBCBCB;
          border-radius: 20px;
          padding: 25px;
          background-color: #F5F5F5;
          box-sizing: border-box; }
          #thanks .thanks .inner .main-text .attention_blk p {
            font-size: 16px; }

  /******************************/
  /*	cookie確認のモーダル
  /******************************/
  .cookie-modal .cookie-modal-content .cookie-consent_blk {
    flex-direction: column;
    justify-content: center;
    margin-top: 10px; }
    .cookie-modal .cookie-modal-content .cookie-consent_blk .left-blk {
      width: 100%;
      text-align: center; }
      .cookie-modal .cookie-modal-content .cookie-consent_blk .left-blk p {
        text-align: center;
        font-size: 14px; }
    .cookie-modal .cookie-modal-content .cookie-consent_blk .right-blk {
      margin: 25px auto 0; }

  /******************************/
  /*	404ページ
  /******************************/
  #not-found .inner {
    width: 80%;
    padding-top: 50px; }
    #not-found .inner h1 {
      font-size: 27px; }
    #not-found .inner .main-text {
      width: 100%;
      margin: 0 auto;
      padding-bottom: 200px;
      text-align: center; }
      #not-found .inner .main-text p {
        font-size: 16px;
        margin-bottom: 25px;
        line-height: 1.6; } }
@media screen and (max-width: 380px) {
  main .search-section .search-container .search-form label .search-field {
    width: 300px; }
  main .search-section .search-container .search-form label::before {
    left: 15%;
    transform: translate(-30%, -50%); } }
