/* CSS Document */
/* main register
------------------------------------------------------------*/
main.register #register .item-box {
  background: #FFF;
  width: 800px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  padding: 80px 120px; }

main.register #register .item-bottom {
  text-align: center;
  margin-top: 40px; }
  main.register #register .item-bottom p {
    color: #666666;
    display: -moz-inline-box;
    display: inline-block;
    margin-bottom: 16px; }

main.register #register .item-list:not(:last-child) {
  margin-bottom: 24px; }

main.register #register .item-list dt {
  color: #AAAAAA;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: bold;
  margin-bottom: 10px; }

main.register #register .item-list dd:not(:last-child) {
  margin-bottom: 24px; }

main.register #register .item-recaptcha {
  text-align: center;
  margin-bottom: 24px; }

main.register #register .item-sns {
  padding-left: 24px;
  padding-right: 24px; }
  main.register #register .item-sns:not(:first-child) {
    margin-top: 40px; }
  main.register #register .item-sns h3 {
    text-align: center;
    color: #666666;
    font-size: 16px;
    font-size: 1rem;
    font-weight: normal;
    margin-bottom: 16px; }
  main.register #register .item-sns .btn:not(:last-child) {
    margin-bottom: 12px; }
  main.register #register .item-sns .btn span {
    width: 170px;
    text-align: left; }

main.register #register .item-text {
  text-align: center; }
  main.register #register .item-text:not(:last-child) {
    margin-bottom: 40px; }
  main.register #register .item-text h1 {
    display: -moz-inline-box;
    display: inline-block;
    border-bottom: 1px solid #E7BE00;
    font-size: 16px;
    font-size: 1rem;
    font-weight: normal;
    color: #4E3931;
    margin-bottom: 40px; }
  main.register #register .item-text h2 {
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500;
    color: #4E3931;
    margin-bottom: 10px; }
  main.register #register .item-text p {
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #666666; }
    main.register #register .item-text p:not(:last-child) {
      margin-bottom: 20px; }
  main.register #register .item-text .btn-block:not(:last-child) {
    margin-bottom: 0; }

main.register #register .item-message:not(:last-child) {
  margin-bottom: 40px; }

main.register #register .item-input:not(:last-child), main.register #register .item-confirm:not(:last-child) {
  margin-bottom: 40px; }

main.register #register .item-input.hidden, main.register #register .hidden.item-confirm {
  display: none; }

main.register #register .item-input > .hidden, main.register #register .item-confirm > .hidden {
  display: none; }

main.register #register .item-input section, main.register #register .item-confirm section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-bottom: -24px; }
  main.register #register .item-input section:not(:last-child), main.register #register .item-confirm section:not(:last-child) {
    margin-bottom: 40px; }
  main.register #register .item-input section h2, main.register #register .item-confirm section h2 {
    width: 100%;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    border-bottom: 1px solid #E7BE00;
    margin-bottom: 40px; }
    main.register #register .item-input section h2 + p, main.register #register .item-confirm section h2 + p {
      margin-top: -32px; }
    main.register #register .item-input section h2.minus, main.register #register .item-confirm section h2.minus {
      cursor: pointer;
      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; }
      main.register #register .item-input section h2.minus:after, main.register #register .item-confirm section h2.minus:after {
        content: "";
        width: 10px;
        height: 2px;
        background: #897D79;
        margin-left: auto; }
  main.register #register .item-input section > p, main.register #register .item-confirm section > p {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
    color: #AAAAAA; }
    main.register #register .item-input section > p:not(:last-child), main.register #register .item-confirm section > p:not(:last-child) {
      margin-bottom: 40px; }

main.register #register .item-input dl, main.register #register .item-confirm dl {
  width: 100%;
  margin-bottom: 24px; }
  main.register #register .item-input dl.half, main.register #register .item-confirm dl.half {
    width: calc(50% - 8px); }
  main.register #register .item-input dl dt, main.register #register .item-confirm dl dt {
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: bold;
    color: #AAAAAA;
    margin-bottom: 10px; }
    main.register #register .item-input dl dt.required:before, main.register #register .item-confirm dl dt.required:before {
      content: "*";
      color: #ED4F44;
      margin-right: 5px; }
  main.register #register .item-input dl dd input[type="text"], main.register #register .item-confirm dl dd input[type="text"], main.register #register .item-input dl dd input[type="email"], main.register #register .item-confirm dl dd input[type="email"], main.register #register .item-input dl dd input[type="tel"], main.register #register .item-confirm dl dd input[type="tel"], main.register #register .item-input dl dd input[type="password"], main.register #register .item-confirm dl dd input[type="password"], main.register #register .item-input dl dd input[type="number"], main.register #register .item-confirm dl dd input[type="number"], main.register #register .item-input dl dd input[type="search"], main.register #register .item-confirm dl dd input[type="search"] {
    border-color: #D3BFA6;
    height: 46px;
    line-height: 46px; }
    main.register #register .item-input dl dd input[type="text"].error, main.register #register .item-confirm dl dd input[type="text"].error, main.register #register .item-input dl dd input[type="email"].error, main.register #register .item-confirm dl dd input[type="email"].error, main.register #register .item-input dl dd input[type="tel"].error, main.register #register .item-confirm dl dd input[type="tel"].error, main.register #register .item-input dl dd input[type="password"].error, main.register #register .item-confirm dl dd input[type="password"].error, main.register #register .item-input dl dd input[type="number"].error, main.register #register .item-confirm dl dd input[type="number"].error, main.register #register .item-input dl dd input[type="search"].error, main.register #register .item-confirm dl dd input[type="search"].error {
      border-color: #ED4F44; }
  main.register #register .item-input dl dd.flex, main.register #register .item-confirm dl dd.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin-right: -16px; }
    main.register #register .item-input dl dd.flex > *, main.register #register .item-confirm dl dd.flex > * {
      margin-right: 16px; }
      main.register #register .item-input dl dd.flex > *.grow, main.register #register .item-confirm dl dd.flex > *.grow {
        width: 10px;
        -ms-flex: 1 0 auto;
        -webkit-flex-grow: 1;
        flex-grow: 1; }
  main.register #register .item-input dl dd .text-error:not(:first-child), main.register #register .item-confirm dl dd .text-error:not(:first-child) {
    margin-top: 6px; }
  main.register #register .item-input dl:has(.error) dt, main.register #register .item-confirm dl:has(.error) dt {
    color: #666666; }

main.register #register .item-submit:not(:last-child) {
  margin-bottom: 8px; }

main.register #register .item-confirm dd {
  font-size: 18px;
  font-size: 1.125rem; }

main.register #register .item-recommend {
  width: 1032px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  main.register #register .item-recommend:not(:first-child) {
    margin-top: 120px; }
  main.register #register .item-recommend ul.slides {
    display: none; }
  main.register #register .item-recommend ul:not(.slides) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -24px;
    margin-bottom: -24px; }
    main.register #register .item-recommend ul:not(.slides) li {
      margin-right: 24px;
      margin-bottom: 24px;
      width: calc(25% - 24px);
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex; }
      main.register #register .item-recommend ul:not(.slides) li > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
        background: #FFF;
        color: #666666; }
        main.register #register .item-recommend ul:not(.slides) li > a:hover {
          text-decoration: none; }
        main.register #register .item-recommend ul:not(.slides) li > a > * {
          width: 100%;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          -ms-box-sizing: border-box;
          -o-box-sizing: border-box;
          box-sizing: border-box; }
  main.register #register .item-recommend ul .img {
    position: relative;
    text-align: center;
    margin-bottom: 22px; }
    main.register #register .item-recommend ul .img:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      border: 10px solid #FFF;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
      -o-box-sizing: border-box;
      box-sizing: border-box; }
  main.register #register .item-recommend ul .text {
    -ms-flex: 1 0 auto;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    padding-bottom: 30px;
    text-align: center;
    padding-left: 16px;
    padding-right: 16px;
    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;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500; }
    main.register #register .item-recommend ul .text p {
      position: relative;
      padding-top: 16px; }
      main.register #register .item-recommend ul .text p:after {
        content: "";
        display: block;
        position: absolute;
        left: 50%;
        top: 0;
        width: 30px;
        height: 1px;
        background: #D6D1D0;
        margin-left: -15px; }

/*tablet*/
@media screen and (min-width: 701px) and (max-width: 1400px) {
  /* main register
------------------------------------------------------------*/
  main.register #register .item-recommend ul:not(.slides) {
    margin-right: -20px;
    margin-bottom: -20px; }
    main.register #register .item-recommend ul:not(.slides) li {
      margin-right: 20px;
      margin-bottom: 20px;
      width: calc(25% - 20px); } }
    @media screen and (min-width: 701px) and (max-width: 1400px) and (max-width: 1000px) {
      main.register #register .item-recommend ul:not(.slides) li {
        width: calc(33.3333333333% - 20px); } }
/*sp*/
@media screen and (max-width: 700px) {
  /* main register
------------------------------------------------------------*/
  main.register #register .item-box {
    margin-left: -24px;
    margin-right: -24px;
    max-width: calc(100% + 24px * 2);
    padding: 56px 24px; }
  main.register #register .item-sns .btn span {
    width: 160px; }
  main.register #register .item-text h2 {
    font-size: 16px;
    font-size: 1rem; }
  main.register #register .item-submit .cancel {
    -webkit-box-original-group: 3;
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
    height: 48px; }
  main.register #register .item-input:not(:last-child), main.register #register .item-confirm:not(:last-child) {
    margin-bottom: 40px; }
  main.register #register .item-input section:not(:last-child), main.register #register .item-confirm section:not(:last-child) {
    margin-bottom: 16px; }
  main.register #register .item-input section > p, main.register #register .item-confirm section > p {
    font-size: 13px;
    font-size: 0.8125rem; }
  main.register #register .item-input dl, main.register #register .item-confirm dl {
    width: 100%;
    margin-bottom: 24px; }
    main.register #register .item-input dl.half, main.register #register .item-confirm dl.half {
      width: 100%; }
  main.register #register .item-recommend {
    width: 1032px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
    main.register #register .item-recommend:not(:first-child) {
      margin-top: 120px; }
    main.register #register .item-recommend ul.slides {
      display: block;
      margin-left: -24px;
      margin-right: -24px;
      padding-bottom: 72px; }
      main.register #register .item-recommend ul.slides .slick-track {
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex; }
      main.register #register .item-recommend ul.slides .slick-slide {
        margin-left: 4px;
        margin-right: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        height: auto;
        width: 240px; }
        main.register #register .item-recommend ul.slides .slick-slide a {
          background: #FFF;
          color: #666666;
          position: relative;
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column; }
          main.register #register .item-recommend ul.slides .slick-slide a:hover {
            text-decoration: none; }
      main.register #register .item-recommend ul.slides .slick-prev, main.register #register .item-recommend ul.slides .slick-next {
        width: 47px;
        height: 48px;
        top: initial;
        bottom: 0;
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        -ms-transform: translateY(0);
        -o-transform: translateY(0);
        transform: translateY(0); }
        main.register #register .item-recommend ul.slides .slick-prev:before, main.register #register .item-recommend ul.slides .slick-next:before {
          display: block;
          width: 100%;
          height: 100%;
          background: url(../img/common/arrow-slide.svg) no-repeat center; }
      main.register #register .item-recommend ul.slides .slick-prev {
        left: 50%;
        margin-left: -57px; }
        main.register #register .item-recommend ul.slides .slick-prev:before {
          -webkit-transform: rotate(180deg);
          -moz-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
          -o-transform: rotate(180deg);
          transform: rotate(180deg);
          -webkit-transform-origin: center center;
          -moz-transform-origin: center center;
          -ms-transform-origin: center center;
          -o-transform-origin: center center;
          transform-origin: center center; }
      main.register #register .item-recommend ul.slides .slick-next {
        right: 50%;
        margin-right: -57px; }
    main.register #register .item-recommend ul:not(.slides) {
      display: none; } }
