/* CSS Document */
.ytbanner {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }
  .ytbanner-block {
    width: 100%;
    padding: 10px;
    box-sizing: border-box; }
    @media screen and (min-width: 768px) {
      .ytbanner-block {
        width: 50%; } }

h3.ttl span.ttl-catch {
  font-size: 150%; }

h3.ttl span.ttl-catch2 {
  font-size: 120%;
  color: #fff;
  background: #1e253f;
  border-radius: 50px;
  padding: 5px 10px; }

.thumb-item.slick-slider {
  display: none; }
  @media screen and (min-width: 768px) {
    .thumb-item.slick-slider {
      display: block; } }

.thumb-item-sp.slick-slider {
  display: block; }
  @media screen and (min-width: 768px) {
    .thumb-item-sp.slick-slider {
      display: none; } }

.thumb-item-sp .slick-dots {
  bottom: -25px; }
  @media screen and (min-width: 768px) {
    .thumb-item-sp .slick-dots {
      display: none; } }
  .thumb-item-sp .slick-dots li {
    width: 20px;
    height: 20px; }

.pc {
  display: none; }
  @media screen and (min-width: 768px) {
    .pc {
      display: block; } }

.sp {
  display: block; }
  @media screen and (min-width: 768px) {
    .sp {
      display: none; } }

@media screen and (max-width: 768px) {
  #header .box {
    height: 20px; } }

@media screen and (max-width: 768px) {
  #header {
    height: 60px;
    padding-top: 5px; } }

@media screen and (max-width: 768px) {
  #index #slider202112 {
    padding: 0;
    background: none; } }

@media screen and (max-width: 500px) {
  .slick-slide {
    padding: 0 !important; } }

@media screen and (max-width: 768px) {
  .youtube_area202112 .in .ttl.mb10 {
    margin-bottom: 10px; } }

.order-title {
  color: #fff !important;
  background: #1e253f !important;
  padding: 5px 15px !important;
  text-align: center !important; }

.order-cta {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding-bottom: 30px; }

.label_navy,
.label_red {
  width: 4.5rem; }

.order-price01 {
  font-size: 24px;
  font-weight: 900;
  background: url("../img/order/order-strikethrough.svg") repeat-x center center;
  letter-spacing: -1px;
  line-height: 1; }

.order-price02 {
  font-size: 32px;
  font-weight: 900;
  color: #e3173e !important;
  letter-spacing: -1px;
  line-height: 1; }

.price_box .tax {
  align-self: flex-end;
  font-feature-settings: "palt"; }

@media screen and (max-width: 767px) {
  .label_navy,
  .label_red {
    height: 20px; }

  .label_red:after {
    right: -20px;
    border: 10px solid transparent;
    border-left: 10px solid #e3173e; }

  .label_navy:after {
    right: -20px;
    border: 10px solid transparent;
    border-left: 10px solid #1e253f; } }
.yt, .ytnpad {
  position: relative;
  display: block; }

.yt::after, .ytnpad::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 100px;
  transform: translate(-50%, -50%);
  background: url("../img/order/yticon.svg") no-repeat center center;
  background-size: contain;
  z-index: 2; }

@media screen and (min-width: 768px) {
  .order-cta img {
    max-width: 400px; }

  .yt::after {
    left: calc((100% - 30px) / 2); }

  .price_box .tax {
    align-self: flex-end;
    font-feature-settings: "palt"; }

  .order-price01 {
    font-size: 26px; }

  .order-price02 {
    font-size: 40px; }

  .label_navy,
  .label_red {
    width: 6rem; } }
.order-flex2 {
  gap: 20px;
  display: flex;
  flex-direction: column; }
  @media screen and (min-width: 768px) {
    .order-flex2 {
      flex-direction: row;
      flex-wrap: wrap; } }
  .order-flex2 .gray-pad {
    padding: 20px;
    width: 100%;
    background: #dadddf;
    box-sizing: border-box; }
    @media screen and (min-width: 768px) {
      .order-flex2 .gray-pad {
        width: calc((100% - 20px) / 2); } }
  .order-flex2 .no-pad {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .order-flex2 .no-pad {
        width: calc((100% - 20px) / 2); } }
    .order-flex2 .no-pad .bluebg {
      color: #fff;
      background: #1E253F;
      padding: 3px 10px; }
    .order-flex2 .no-pad .shoes-flex {
      padding: 10px;
      display: flex;
      flex-direction: column;
      background: #dadddf;
      gap: 10px; }
      .order-flex2 .no-pad .shoes-flex-inner {
        display: flex;
        flex-direction: column;
        gap: 10px; }
        @media screen and (min-width: 768px) {
          .order-flex2 .no-pad .shoes-flex-inner {
            flex-direction: row; } }
        .order-flex2 .no-pad .shoes-flex-inner .col {
          width: 100%; }
          @media screen and (min-width: 768px) {
            .order-flex2 .no-pad .shoes-flex-inner .col {
              width: calc((100% - 10px) / 2); } }
.order-flex3 {
  gap: 20px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap; }
  .order-flex3.fwrap {
    flex-direction: row;
    flex-wrap: wrap; }
  @media screen and (min-width: 768px) {
    .order-flex3 {
      flex-direction: row; } }
  .order-flex3 p {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .order-flex3 p {
        width: calc((100% - 40px) / 3); } }
  .order-flex3 .shoes-line {
    border: 1px solid #222;
    width: calc((100% - 20px) / 2);
    box-sizing: border-box; }
    @media screen and (min-width: 768px) {
      .order-flex3 .shoes-line {
        width: calc((100% - 40px) / 3); } }

.gray-pad {
  padding: 20px;
  width: 100%;
  background: #dadddf;
  box-sizing: border-box; }

.modal-window {
  display: flex;
  flex-direction: column;
  padding: 20px;
  border: 1px solid #222;
  box-sizing: border-box;
  background: #fff;
  gap: 20px; }
  @media screen and (min-width: 768px) {
    .modal-window {
      flex-direction: row; } }
  .modal-window img {
    object-fit: contain; }
.modal-image {
  max-width: 350px; }
.modal-text {
  width: 100%; }
  @media screen and (min-width: 768px) {
    .modal-text {
      width: 50%; } }
.modal-title {
  display: block;
  margin: 0;
  text-align: left;
  letter-spacing: 0; }
.modal-price {
  display: block;
  padding: 5px 0; }
.modal-detail {
  border-top: 1px solid #000;
  padding: 10px 0; }

.shirt-block {
  padding-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .shirt-block {
      padding-bottom: 50px; } }
  .shirt-block .btn {
    padding: 5px 10px;
    color: #fff;
    background: #1e253f;
    text-align: center;
    font-size: 16px;
    border-radius: 10px; }
.shirt-ng-flex {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 15px; }
  @media screen and (min-width: 768px) {
    .shirt-ng-flex {
      flex-direction: row; } }
  .shirt-ng-flex-link {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .shirt-ng-flex-link {
        width: calc((100% - 30px) / 3); } }
  .shirt-ng-flex-col {
    display: flex;
    flex-direction: column;
    gap: 10px; }
    .shirt-ng-flex-col .img {
      max-width: 100%; }
    .shirt-ng-flex-col .text {
      font-size: 14px;
      line-height: 1.5; }

.original-flex {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 15px; }
  @media screen and (min-width: 768px) {
    .original-flex {
      flex-direction: row; } }
  .original-flex-img {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .original-flex-img {
        width: 30%; } }
  .original-flex-text {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .original-flex-text {
        width: calc(60% - 15px); } }
    .original-flex-text .btn {
      margin-top: 15px;
      display: inline-block;
      padding: 5px 50px;
      color: #fff;
      background: #1e253f;
      text-align: center;
      font-size: 16px;
      border-radius: 10px; }

.difference-flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  align-items: center;
  padding-bottom: 15px; }
  .difference-flex-col {
    width: calc((100% - 15px) / 2); }
    @media screen and (min-width: 768px) {
      .difference-flex-col {
        width: calc((100% - 30px) / 3); } }
    .difference-flex-col .img {
      padding-bottom: 10px; }

.recommend-flex {
  display: flex;
  flex-direction: row;
  gap: 15px; }
  .recommend-flex-col {
    width: calc((100% - 15px) / 2); }
    .recommend-flex-col .img {
      padding-bottom: 10px; }

#order-shirt #area .box02 {
  gap: 15px;
  flex-direction: column; }
  @media screen and (min-width: 768px) {
    #order-shirt #area .box02 {
      flex-direction: row; } }
  #order-shirt #area .box02 li {
    display: flex;
    flex-direction: column;
    gap: 10px; }
  #order-shirt #area .box02 .btitle {
    width: 100%;
    text-align: center;
    color: #fff;
    background: #1e253f;
    padding: 5px;
    box-sizing: border-box; }

.ytbtn {
  margin-top: 15px;
  display: inline-block;
  padding: 5px 5px;
  color: #fff;
  background: #1e253f;
  text-align: center;
  font-size: 16px;
  border-radius: 10px;
  width: 100%;
  box-sizing: border-box; }

.flow-belt .bluetitle {
  color: #fff;
  color: #fff;
  background: #1E253F;
  padding: 10px 10px;
  margin: 0; }
.flow-belt .graybg {
  padding: 15px;
  width: 100%;
  background: #dadddf;
  box-sizing: border-box;
  margin-bottom: 15px; }
  .flow-belt .graybg-flex {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    gap: 20px; }
    @media screen and (min-width: 768px) {
      .flow-belt .graybg-flex {
        /*flex-direction:row;*/ } }
    .flow-belt .graybg-flex .col {
      background: #fff;
      padding: 15px;
      box-sizing: border-box;
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 10px;
      align-items: center;
      justify-content: center;
      width: 100%;
      /*@media screen and (min-width:768px){
          width:calc((100% - 40px) / 3);
      }*/ }
      .flow-belt .graybg-flex .col h3 {
        margin: 0; }
      .flow-belt .graybg-flex .col.next:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 17.3px 10px 0 10px;
        border-color: #000000 transparent transparent transparent;
        position: absolute;
        bottom: -18px;
        left: 50%;
        transform: translate(-50%, 0) scale(0.8);
        /*@media screen and (min-width:768px){
                                 border-style:solid;
        border-width: 10px 0 10px 17.3px;
        border-color: transparent transparent transparent #000000;
            bottom:auto;
            left:auto;
            right:-18px;
            top:50%;
            transform:translate(0,-50%)scale(0.8);
        }*/ }

.topstylist {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 15px; }
  .topstylist-flex {
    display: flex;
    flex-direction: column;
    gap: 15px; }
    @media screen and (min-width: 768px) {
      .topstylist-flex {
        flex-direction: row;
        align-items: space-between; } }
    .topstylist-flex .img {
      width: 100%; }
      @media screen and (min-width: 768px) {
        .topstylist-flex .img {
          width: 300px;
          min-width: 300px; } }

.bluebtn {
  padding: 5px 10px;
  color: #fff;
  background: #1e253f;
  text-align: center;
  font-size: 16px;
  border-radius: 10px; }

.mt30 {
  margin-top: 30px; }

.necktie-flex {
  display: flex;
  flex-direction: row;
  gap: 0;
  flex-wrap: wrap; }
  .necktie-flex-col {
    width: 50%; }

#order-necktie #visual .in {
  background: url(../../../../_photos/7cdcc379cf9b41e6.jpg#8736ff09) no-repeat center center/cover; }

#order-belt #visual .in {
  background: url(../../../../_photos/f384ca519f5c5ad0.jpg#b0c7c31b) no-repeat center center/cover; }

.prof-text {
  width: 100%; }
  @media screen and (min-width: 768px) {
    .prof-text {
      width: calc(72% - 15px); } }

.prof-mov {
  width: 100%; }
  @media screen and (min-width: 768px) {
    .prof-mov {
      width: 28%;
      align-self: flex-start; } }

.top-event {
  padding: 20px 15px;
  background: #f2f2f2 url("../img/common/bg01.jpg"); }
  .top-event .wrap {
    max-width: 1000px;
    margin: 15px auto; }
  .top-event-title {
    font-size: 125%;
    font-weight: bold;
    text-align: center;
    color: #1e253f;
    padding-bottom: 10px; }
  .top-event .btnarea {
    max-width: 400px;
    background: #1e253f;
    width: 100%;
    margin: 0 auto;
    font-weight: bold;
    font-size: 90%;
    text-align: center;
    padding: 5px 15px;
    border-radius: 30px;
    box-sizing: border-box; }
    .top-event .btnarea a {
      color: #fff;
      width: 100%;
      transition: all 0.4s; }
      .top-event .btnarea a:hover {
        opacity: 0.5; }
    .top-event .btnarea.line {
      background: #06c755; }
  .top-event .limited-flex-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
    background: #fff; }
    .top-event .limited-flex-col .img {
      position: relative; }
      .top-event .limited-flex-col .img .date {
        position: absolute;
        font-size: 80%;
        font-weight: bolder;
        text-align: center;
        bottom: 0;
        width: 100%;
        color: #fff;
        text-shadow: 0px 0px 10px rgba(20, 20, 20, 0.8), 0px 0px 15px rgba(20, 20, 20, 0.9); }
    .top-event .limited-flex-col .title {
      font-size: 90%;
      font-weight: bold;
      margin: 0;
      letter-spacing: 0.05em; }
    .top-event .limited-flex-col .text {
      font-size: 80%; }
  .top-event .permanent {
    margin-top: 30px; }
    .top-event .permanent-flex {
      display: flex;
      flex-direction: column;
      gap: 20px; }
      @media screen and (min-width: 768px) {
        .top-event .permanent-flex {
          flex-direction: row; } }
      .top-event .permanent-flex-col {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 10px;
        background: #fff; }
        @media screen and (min-width: 768px) {
          .top-event .permanent-flex-col {
            width: calc((100% - 20px) / 2); } }
        .top-event .permanent-flex-col .title {
          font-size: 90%;
          font-weight: bold;
          margin: 0;
          letter-spacing: 0.05em; }
        .top-event .permanent-flex-col .text {
          font-size: 80%; }
