@charset "UTF-8";
/*===============================
 
    base
 
================================*/
* {
  box-sizing: border-box; }

body,
html {
  margin: 0;
  padding: 0;
  overflow-x: hidden; }

html {
  font-size: 62.5%;
  overflow-y: scroll; }

body {
  font-size: 1.4rem;
  font-family: "lato", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  -webkit-text-size-adjust: 100%;
  line-height: 2.0;
  color: #fff;
  background: #000;
  position: relative;
  letter-spacing: .2em;
  vertical-align: baseline; }

button,
input,
select,
textarea {
  font-family: "lato", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  letter-spacing: .05em; }

p {
  margin: 0;
  padding: 0; }

a {
  color: #33a5cb; }

img {
  width: 100%;
  height: auto;
  line-height: 0;
  margin: 0;
  padding: 0;
  vertical-align: bottom; }

.sp {
  display: block; }
  @media (min-width: 992px) {
    .sp {
      display: none; } }

.pc {
  display: none; }
  @media (min-width: 992px) {
    .pc {
      display: block; } }

section {
  padding: 50px 0 70px; }
  @media (min-width: 992px) {
    section {
      padding: 90px 0 120px; } }
  section:first-child {
    padding: 40px 0 80px; }
    @media (min-width: 992px) {
      section:first-child {
        padding: 80px 0 150px; } }
  section:last-child {
    padding: 50px 0 100px; }
    @media (min-width: 992px) {
      section:last-child {
        padding: 90px 0 150px; } }

.diagonal-block-r,
.diagonal-block-l {
  padding: 40px 0 70px; }
  @media (min-width: 992px) {
    .diagonal-block-r,
    .diagonal-block-l {
      padding: 100px 0 100px; } }

.diagonal-block-r {
  transform: skew(0deg, -5deg); }
  .diagonal-block-r .inner {
    transform: skew(0deg, 5deg); }

.diagonal-block-l {
  transform: skew(0deg, 5deg); }
  .diagonal-block-l .inner {
    transform: skew(0deg, -5deg); }

.section-m {
  padding: 0px 0 70px; }
  @media (min-width: 992px) {
    .section-m {
      padding: 0 0 100px; } }

.inner {
  margin: 0 15px;
  max-width: 1024px; }
  @media (min-width: 992px) {
    .inner {
      margin: 0 auto; } }

.inner-l {
  margin: 0 25px;
  max-width: 1024px; }
  @media (min-width: 992px) {
    .inner-l {
      margin: 0 auto; } }

.ct-title {
  text-align: center;
  font-size: 1.8rem;
  margin: 0 0 2.0em;
  letter-spacing: .3em; }
  @media (min-width: 992px) {
    .ct-title {
      font-size: 2.2rem; } }
  .ct-title .big {
    font-size: 2.2rem;
    font-weight: bold; }
    @media (min-width: 992px) {
      .ct-title .big {
        font-size: 3.0rem; } }
  .ct-title .dot {
    position: relative; }
    .ct-title .dot:before {
      content: '';
      position: absolute;
      left: 44%;
      top: -0.35em;
      width: 0.2em;
      height: 0.2em;
      background: #fff;
      -webkit-transform: translate(-50%, 0);
      transform: translate(-50%, 0);
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%; }

ul,
ol {
  margin: 0;
  padding: 0; }
  ul li,
  ol li {
    margin: 0;
    padding: 0;
    list-style: none; }

h1,
h2,
h3,
h4 {
  margin: 0;
  padding: 0;
  font-weight: normal; }

/*decoration*/
.fb {
  font-weight: bold; }

.bg01 {
  background: url(../img/bg01.jpeg) repeat;
  background-size: 50px; }

/*decoration END*/
/*===============================
 
    mail form
 
================================*/
#sub-wrap {
  padding: 80px 0; }
  @media (min-width: 992px) {
    #sub-wrap {
      padding: 100px 0; } }

.sub-logo-title {
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: .2em;
  margin: 0 0 2.5em;
  line-height: 2.0; }
  @media (min-width: 992px) {
    .sub-logo-title {
      font-size: 2.4rem;
      margin: 0 0 2.5em; } }
  .sub-logo-title .logo {
    display: block;
    max-width: 260px;
    margin: 0 auto 20px;
    padding: 0 10px 0 0; }
    @media (min-width: 992px) {
      .sub-logo-title .logo {
        max-width: 440px;
        padding: 0 20px 0 0; } }
  .sub-logo-title .deco {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.6; }
    .sub-logo-title .deco:before, .sub-logo-title .deco:after {
      content: "";
      width: 15px;
      border-top: 1px solid #fff;
      opacity: .5; }
    .sub-logo-title .deco:before {
      margin: 0 8px 0 0; }
    .sub-logo-title .deco:after {
      margin: 0 0 0 3px; }

#form-block {
  margin: 0 auto;
  box-sizing: border-box; }
  #form-block table {
    width: 100%;
    margin: 0 0 2.0em;
    padding: 0;
    box-sizing: border-box;
    border-collapse: collapse;
    border-spacing: 0; }
    @media (min-width: 992px) {
      #form-block table {
        margin: 0 auto 4.0em; } }
    #form-block table .at-txt {
      display: block;
      font-size: 1.2rem;
      color: #808080;
      padding: .25em 0 0; }
    @media (min-width: 992px) {
      #form-block table tr {
        border-bottom: 1px solid #AEAEAE;
        margin: 0 0 2.0em;
        padding: 0 0 2.0em;
        display: flex;
        align-items: center; }
        #form-block table tr:last-child {
          border-bottom: 0;
          margin: 0;
          padding: 0; } }
    #form-block table th,
    #form-block table td {
      box-sizing: border-box;
      font-weight: normal;
      text-align: left;
      display: block; }
      @media (min-width: 992px) {
        #form-block table th,
        #form-block table td {
          display: table-cell; } }
    #form-block table th {
      margin: 0 0 .75em;
      padding: 0;
      color: #fff;
      font-size: 1.6rem; }
      @media (min-width: 992px) {
        #form-block table th {
          margin: 0;
          padding: 0 3.0em 0 1.0em;
          font-size: 2.0rem; } }
      @media (min-width: 992px) {
        #form-block table th.border-none-pc {
          border-bottom: none; } }
      #form-block table th .mandatory {
        display: inline-block;
        background: #FF525A;
        color: #fff;
        font-size: 1.2rem;
        letter-spacing: .15em;
        padding: 0 0.5em;
        margin: 0 0 0 1.0em;
        border-radius: 2px; }
      #form-block table th .any {
        display: inline-block;
        background: #666;
        color: #fff;
        font-size: 1.2rem;
        letter-spacing: .15em;
        padding: 0 0.5em;
        margin: 0 0 0 1.0em;
        border-radius: 2px; }
      @media (min-width: 992px) {
        #form-block table th {
          width: 45%;
          overflow: hidden; }
          #form-block table th .mandatory,
          #form-block table th .any {
            float: right;
            font-size: 1.6rem;
            margin: .25em 2.0em 0 0;
            padding: .1em .7em .2em; } }
    #form-block table td {
      margin: 0 0 1.5em;
      padding: 0 0 1.5em;
      border-bottom: 1px solid #AEAEAE; }
      @media (min-width: 992px) {
        #form-block table td {
          margin: 0;
          padding: 0 1.0em 0 0;
          width: 55%;
          border-bottom: none; } }
      #form-block table td.border-none {
        margin: 0;
        padding: 0;
        border-bottom: 0; }
      #form-block table td .ex-txt {
        display: block;
        font-size: 1.2rem;
        padding: 0 0 0 .5em;
        margin: .3em 0 0;
        color: #999;
        letter-spacing: .1em; }
      #form-block table td .input-list {
        margin: 0 -2.0em 0 0; }
        #form-block table td .input-list li {
          display: inline-block;
          margin: 0 1.0em 0 0;
          line-height: 2.6;
          letter-spacing: .05em; }
      #form-block table td .ks-cboxtags li {
        display: inline;
        margin: 0 .5em 0 0;
        letter-spacing: .05em; }
        @media (min-width: 992px) {
          #form-block table td .ks-cboxtags li {
            font-size: 1.6rem; } }
        #form-block table td .ks-cboxtags li label {
          display: inline-block;
          background-color: rgba(255, 255, 255, 0.9);
          border: 2px solid rgba(139, 139, 139, 0.3);
          color: #adadad;
          border-radius: 25px;
          white-space: nowrap;
          -webkit-touch-callout: none;
          -webkit-user-select: none;
          -moz-user-select: none;
          -ms-user-select: none;
          user-select: none;
          -webkit-tap-highlight-color: transparent;
          transition: all .2s;
          padding: .4em 1.0em;
          cursor: pointer;
          text-align: center; }
          #form-block table td .ks-cboxtags li label:before {
            display: inline-block;
            font-style: normal;
            font-variant: normal;
            text-rendering: auto;
            -webkit-font-smoothing: antialiased;
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            font-size: 1.2rem;
            padding: 2px 6px 2px 2px;
            content: "\f067";
            transition: transform .3s ease-in-out; }
        #form-block table td .ks-cboxtags li input[type="radio"]:checked + label::before {
          content: "\f00c";
          transform: rotate(-360deg);
          transition: transform .3s ease-in-out; }
        #form-block table td .ks-cboxtags li input[type="radio"]:checked + label {
          border: 2px solid #1bdbf8;
          background-color: #12bbd4;
          color: #fff;
          transition: all .2s; }
        #form-block table td .ks-cboxtags li input[type="radio"] {
          display: absolute; }
        #form-block table td .ks-cboxtags li input[type="radio"] {
          position: absolute;
          opacity: 0; }
        #form-block table td .ks-cboxtags li input[type="radio"]:focus + label {
          border: 2px solid #e9a1ff; }
      #form-block table td input[type="text"],
      #form-block table td input[type="email"],
      #form-block table td input[type="tel"],
      #form-block table td select {
        width: 100%;
        margin: 0;
        padding: 15px 20px;
        box-sizing: border-box;
        color: #333;
        background: #EFF4F5;
        font-size: 1.6rem;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border-radius: 20px;
        border: 0;
        letter-spacing: .05em;
        font-weight: normal; }
        @media (min-width: 992px) {
          #form-block table td input[type="text"],
          #form-block table td input[type="email"],
          #form-block table td input[type="tel"],
          #form-block table td select {
            letter-spacing: .1em; } }
        #form-block table td input[type="text"].mb10,
        #form-block table td input[type="email"].mb10,
        #form-block table td input[type="tel"].mb10,
        #form-block table td select.mb10 {
          margin: 0 0 0.5em; }
        #form-block table td input[type="text"].short,
        #form-block table td input[type="email"].short,
        #form-block table td input[type="tel"].short,
        #form-block table td select.short {
          width: 25%;
          margin: 0 .5em 0 0;
          max-width: 90px; }
        #form-block table td input[type="text"].middle,
        #form-block table td input[type="email"].middle,
        #form-block table td input[type="tel"].middle,
        #form-block table td select.middle {
          width: 50%;
          margin: 0 0 0 .25em; }
      #form-block table td select {
        padding: 15px 20px; }
        @media (min-width: 992px) {
          #form-block table td select {
            width: 60%; } }
      #form-block table td .option-input01 {
        position: relative;
        top: 4px;
        right: 0;
        bottom: 0;
        left: 0;
        width: 20px;
        height: 20px;
        margin: 0 0.5em 0 0;
        cursor: pointer;
        transition: all 0.15s ease-out 0s;
        color: #fff;
        border: none;
        outline: none;
        background: #d7cbcb;
        -webkit-appearance: none;
        appearance: none; }
        #form-block table td .option-input01:hover {
          background: #d6a9a9;
          cursor: pointer; }
        #form-block table td .option-input01:checked {
          background: #da3c41;
          color: #fff; }
          #form-block table td .option-input01:checked:before {
            color: #fff;
            font-size: 1.4rem;
            line-height: 20px;
            position: absolute;
            display: inline-block;
            width: 20px;
            height: 20px;
            content: '✔';
            text-align: center; }
          #form-block table td .option-input01:checked:after {
            position: relative;
            display: block;
            content: '';
            -webkit-animation: click-wave 0.65s;
            animation: click-wave 0.65s;
            background: #da3c41; }
        #form-block table td .option-input01 .radio {
          border-radius: 50%; }
          #form-block table td .option-input01 .radio:after {
            border-radius: 50%; }
        #form-block table td .option-input01 label {
          line-height: 40px;
          display: block; }
        #form-block table td .option-input01:disabled {
          cursor: not-allowed;
          background: #b8b7b7; }
          #form-block table td .option-input01:disabled:before {
            font-size: 1.4rem;
            line-height: 20px;
            position: absolute;
            display: inline-block;
            width: 20px;
            height: 20px;
            content: '✖︎';
            text-align: center; }
@keyframes click-wave {
  0% {
    position: relative;
    width: 20px;
    height: 20px;
    opacity: 0.35; }
  100% {
    width: 200px;
    height: 200px;
    margin-top: -80px;
    margin-left: -80px;
    opacity: 0; } }
      #form-block table td textarea {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border-radius: 20px;
        padding: 1.5em;
        width: 100%;
        box-sizing: border-box;
        resize: vertical;
        border: 0;
        background: #EFF4F5;
        font-size: 1.6rem;
        line-height: 2.0;
        letter-spacing: .1em;
        font-weight: normal; }
        @media (min-width: 992px) {
          #form-block table td textarea {
            padding: 2.0em; } }

#form_submit {
  text-align: center;
  margin: 0; }
  #form_submit input[type="submit"] {
    padding: 1.5em 0;
    width: 100%;
    max-width: 400px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #fff;
    background: none;
    outline: none;
    color: #fff;
    font-size: 1.8rem;
    border-radius: 50px;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: .2em;
    font-weight: bold;
    transition: .2s;
    cursor: pointer; }
    @media (min-width: 992px) {
      #form_submit input[type="submit"] {
        font-size: 2.2rem; } }
    #form_submit input[type="submit"]:hover {
      background: #fff;
      color: #000; }

/*===============================
 
    footer
 
================================*/
footer .copyright {
  padding: .5em 0;
  text-align: center; }
  @media (min-width: 992px) {
    footer .copyright {
      padding: .75em 0; } }
  footer .copyright a {
    color: #fff;
    font-size: 1.2rem;
    display: inline-block;
    text-decoration: none; }

.footer-nav {
  background: #333;
  padding: 1.25em 2.0em; }
  @media (min-width: 992px) {
    .footer-nav {
      display: flex;
      justify-content: center;
      gap: 0 2.5em;
      padding: .5em 0; } }
  .footer-nav li {
    margin: 0 0 .25em; }
    @media (min-width: 992px) {
      .footer-nav li {
        margin: 0; } }
    .footer-nav li:last-child {
      margin: 0; }
    .footer-nav li a {
      font-size: 1.2rem;
      color: #fff;
      text-decoration: none;
      position: relative;
      padding: 0 0 0 .8em; }
      .footer-nav li a:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.6em;
        transform: translateY(-50%);
        width: 0px;
        height: 0px;
        border: 0.3em solid transparent;
        border-left: 0.4em solid #fff; }

#footer-btn {
  display: none;
  position: fixed;
  text-align: center;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0 .5em .5em;
  z-index: 100; }
  @media (min-width: 992px) {
    #footer-btn {
      left: auto;
      right: 1%;
      bottom: 3%;
      width: 500px;
      padding: 0; } }
  #footer-btn ul {
    display: flex;
    justify-content: center;
    gap: 0 5px;
    max-width: 360px;
    margin: 0 auto; }
    @media (min-width: 992px) {
      #footer-btn ul {
        max-width: 100%;
        margin: 0;
        gap: 0 10px; } }
    #footer-btn ul li {
      width: 50%; }
  #footer-btn.is-hidden {
    visibility: hidden;
    opacity: 0; }
  #footer-btn.active {
    display: block; }

/*===============================
 
    会社概要 / 特定商取引法
 
================================*/
.sub-page-table {
  margin: 0 auto;
  padding: 0;
  font-size: 1.2rem; }
  @media (min-width: 992px) {
    .sub-page-table {
      display: flex;
      flex-flow: row wrap;
      font-size: 1.4rem;
      width: 800px; } }
  .sub-page-table dt,
  .sub-page-table dd {
    margin: 0;
    padding: .5em 1.0em; }
    @media (min-width: 992px) {
      .sub-page-table dt,
      .sub-page-table dd {
        margin: 0 0 6px; } }
  .sub-page-table dt {
    background: #333; }
    @media (min-width: 992px) {
      .sub-page-table dt {
        flex-basis: 35%;
        padding: 2.0em; } }
  .sub-page-table dd {
    padding: 1.0em 1.0em 2.0em; }
    @media (min-width: 992px) {
      .sub-page-table dd {
        flex-basis: 65%;
        padding: 2.0em;
        border: 1px solid #333; } }

/*===============================
 
    利用規約
 
================================*/
.sub-page-explanation {
  margin: 0 0 6.0em;
  font-size: 1.2rem; }
  @media (min-width: 992px) {
    .sub-page-explanation {
      text-align: center;
      margin: 0 0 10.0em; } }
  .sub-page-explanation p {
    margin: 0 0 1.5em; }
    .sub-page-explanation p:last-child {
      margin: 0; }

.sub-page-content {
  font-size: 1.2rem;
  margin: 0 0 70px;
  counter-reset: number 0; }
  @media (min-width: 992px) {
    .sub-page-content {
      margin: 0 0 100px; } }
  .sub-page-content:last-child {
    margin: 0; }
  .sub-page-content h2 {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 0 .5em; }
  .sub-page-content p {
    margin: 0 0 1.0em; }
    .sub-page-content p:last-child {
      margin: 0; }
    .sub-page-content p.mt-txt {
      margin: 2.0em 0 0; }
  .sub-page-content ul li {
    margin: 0 0 1.0em;
    padding: 0 0 0 1.3em;
    text-indent: -1.3em; }
    .sub-page-content ul li:last-child {
      margin: 0; }
  .sub-page-content ul.sup-list {
    margin: 2.0em 0 0; }
    .sub-page-content ul.sup-list li {
      padding: 0 0 0 2.55em;
      text-indent: -2.55rem; }
  .sub-page-content ol {
    counter-reset: item; }
    .sub-page-content ol li {
      margin: 0 0 2.0em;
      padding: 0 0 0 1.3em;
      text-indent: -1.3em; }
      .sub-page-content ol li:last-child {
        margin: 0; }
      .sub-page-content ol li.two-count {
        padding: 0 0 0 2.0em;
        text-indent: -2.0em; }
      .sub-page-content ol li:before {
        counter-increment: item;
        content: counter(item) "."; }
  .sub-page-content .indent {
    display: block;
    padding: 0 0 0 1.3em;
    text-indent: -1.3em; }
  .sub-page-content .mt-list {
    margin: 2.0em 0 0; }
  .sub-page-content a {
    color: #fff;
    text-decoration: underline; }

.sub-page-end-txt {
  text-align: right;
  font-size: 1.2rem;
  margin: 4.0em 0 0; }

/*# sourceMappingURL=base.css.map */
