.main-visual-sewing {
  background: url("../images/sewing/img_school_top.jpg") 50% 0 no-repeat;
  height: 800px;
  overflow: hidden; }

.sewing01 {
  padding: 80px 0 120px; }
  .sewing01 .intro h2 {
    font-size: 1.75rem;
    font-weight: normal;
    text-align: center;
    padding-bottom: 50px; }
  .sewing01 .intro p {
    text-align: center; }

.sewing02 {
  margin-top: -130px;
  padding-top: 130px;
  padding-bottom: 150px; }
  .sewing02 h2 {
    padding-bottom: 120px; }
  .sewing02 .feature-wrapper {
    position: relative; }
    .sewing02 .feature-wrapper .features {
      width: 1120px;
      margin: 0 auto 30px;
      display: flex;
      align-items: center;
      justify-content: space-between; }
      .sewing02 .feature-wrapper .features .feature-img-wrapper {
        width: 500px;
        height: auto;
        padding: 20px;
        background-color: #fff;
        border-radius: 20px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.18);
        transform: rotate(2deg); }
        .sewing02 .feature-wrapper .features .feature-img-wrapper .img-fluid {
          width: 100%;
          height: auto;
          border-radius: 12px; }
      .sewing02 .feature-wrapper .features .feature-txt-wrapper h3 {
        font-size: 1.75rem;
        color: #fff;
        line-height: 1.5em;
        padding-bottom: 2rem; }
      .sewing02 .feature-wrapper .features .feature-txt-wrapper p {
        font-size: 1.25rem;
        color: #fff;
        padding: 0;
        margin: 0; }
    .sewing02 .feature-wrapper::after {
      content: "";
      display: block;
      background-color: #f86d94;
      width: calc( 100% - 60px );
      height: 360px;
      border-radius: 0 30px 30px 0;
      position: absolute;
      bottom: 100px;
      left: 0;
      right: auto;
      z-index: -1; }
  .sewing02 .feature-wrapper:nth-child(even) .features {
    flex-direction: row-reverse; }
    .sewing02 .feature-wrapper:nth-child(even) .features .feature-img-wrapper {
      transform: rotate(-2deg); }
  .sewing02 .feature-wrapper:nth-child(even)::after {
    border-radius: 30px 0 0 30px;
    right: 0;
    left: auto; }
  .sewing02 .feature-wrapper.feature02::after {
    background-color: #00a5d9; }
  .sewing02 .feature-wrapper.feature03::after {
    background-color: #fb7c53; }
  .sewing02 .feature-wrapper.feature04::after {
    background-color: #4fdb1b; }
  .sewing02 .feature-wrapper.feature05::after {
    background-color: #6e3da8; }
  .sewing02 .feature-wrapper.feature06::after {
    background-color: #f9f335; }
  .sewing02 .feature-wrapper.feature06 .feature-txt-wrapper h3 {
    color: #040000; }
  .sewing02 .feature-wrapper.feature06 .feature-txt-wrapper p {
    color: #040000;
    padding-bottom: 2rem; }

.sewing03 {
  background-color: #fffefa;
  padding: 120px 0; }
  .sewing03 h2 {
    padding-bottom: 80px; }
  .sewing03 .curriculum {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 0 auto; }
    .sewing03 .curriculum .contents-wrapper {
      width: calc( 25% + 20px);
      margin-left: -20px;
      margin-bottom: 70px;
      background-color: #fff;
      border-radius: 20px 0 0 20px;
      overflow: hidden;
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
      .sewing03 .curriculum .contents-wrapper .img-fluid {
        width: calc( 100% - 40px);
        margin-left: 0; }
      .sewing03 .curriculum .contents-wrapper h3 {
        font-size: 1.375rem;
        font-weight: bold;
        color: #FA6110;
        line-height: 2.125rem;
        padding: 24px 20px; }
      .sewing03 .curriculum .contents-wrapper p {
        padding: 0 40px 20px 20px; }
    .sewing03 .curriculum .contents-wrapper:nth-child(even) {
      background-color: #FFFCE5; }
    .sewing03 .curriculum .contents-wrapper:nth-child(4),
    .sewing03 .curriculum .contents-wrapper:last-child {
      width: 25%; }
      .sewing03 .curriculum .contents-wrapper:nth-child(4) .img-fluid,
      .sewing03 .curriculum .contents-wrapper:last-child .img-fluid {
        width: calc( 100% - 20px ); }
    .sewing03 .curriculum .contents-wrapper:first-child,
    .sewing03 .curriculum .contents-wrapper:nth-child(5) {
      margin-left: 0; }

.sewing04 .lesson-wrapper {
  display: flex;
  align-items: flex-end; }
  .sewing04 .lesson-wrapper .lesson {
    width: 50%; }
  .sewing04 .lesson-wrapper .lesson-fee {
    width: 50%;
    background-color: #EAFAFF;
    padding: 70px;
    text-align: center; }
    .sewing04 .lesson-wrapper .lesson-fee h3 {
      font-weight: bold;
      padding-bottom: 30px;
      text-align: left; }
    .sewing04 .lesson-wrapper .lesson-fee table {
      width: 100%;
      background-color: #fff;
      margin-bottom: 30px;
      border-radius: 12px;
      text-align: left; }
      .sewing04 .lesson-wrapper .lesson-fee table tr th {
        font-size: 1.25rem;
        font-weight: normal;
        color: #040000;
        padding: 12px 20px;
        width: 25%; }
      .sewing04 .lesson-wrapper .lesson-fee table tr td {
        font-size: 1rem;
        color: #040000;
        padding: 12px 20px; }
        .sewing04 .lesson-wrapper .lesson-fee table tr td span {
          font-size: 2rem; }
      .sewing04 .lesson-wrapper .lesson-fee table tr td.td-01 {
        padding: 12px 20px 0; }
      .sewing04 .lesson-wrapper .lesson-fee table tr td.td-02 {
        padding: 0 20px 20px; }
    .sewing04 .lesson-wrapper .lesson-fee p {
      font-size: 1.25rem;
      color: #040000;
      margin: 0; }
    .sewing04 .lesson-wrapper .lesson-fee .btn-blue {
      background-color: #00a5d9; }
      .sewing04 .lesson-wrapper .lesson-fee .btn-blue a {
        color: #fff;
        font-size: 1.25rem; }

.sewing05 {
  overflow: hidden; }
  .sewing05 .competition-header {
    background-color: #f86d94;
    height: 300px;
    margin-top: 600px;
    position: relative; }
    .sewing05 .competition-header h2 {
      padding: 50px 0 0; }
    .sewing05 .competition-header .deco-images .img-fluid {
      transform: translate(-50%, 0);
      position: absolute; }
    .sewing05 .competition-header .deco-images .img-fluid:first-child {
      width: 520px;
      height: auto;
      left: 50%;
      top: -460px;
      transition: .5s all; }
      .sewing05 .competition-header .deco-images .img-fluid:first-child:hover {
        transform: translate(-50%, -5px); }
    .sewing05 .competition-header .deco-images .img-fluid:nth-child(2) {
      top: -380px;
      left: 90%;
      transition: .5s all; }
      .sewing05 .competition-header .deco-images .img-fluid:nth-child(2):hover {
        transform: translate(-50%, 5px); }
    .sewing05 .competition-header .deco-images .img-fluid:nth-child(3) {
      top: -340px;
      left: 10%;
      transition: .5s all; }
      .sewing05 .competition-header .deco-images .img-fluid:nth-child(3):hover {
        transform: translate(-50%, -5px); }
    .sewing05 .competition-header .deco-images .img-fluid:nth-child(4) {
      width: 270px;
      height: auto;
      transform: rotate(-12deg);
      top: -260px;
      left: 65%;
      transition: .5s all; }
      .sewing05 .competition-header .deco-images .img-fluid:nth-child(4):hover {
        transform: translate(-50%, 0);
        transform: rotate(0); }
    .sewing05 .competition-header .deco-images .img-fluid:last-child {
      width: 260px;
      height: auto;
      transform: rotate(16deg);
      top: -360px;
      left: 20%;
      transition: .5s all; }
      .sewing05 .competition-header .deco-images .img-fluid:last-child:hover {
        transform: translate(-50%, 0);
        transform: rotate(0); }

.sewing06 {
  background-color: #FFF8FB;
  padding: 120px 0;
  text-align: center; }
  .sewing06 h2 {
    padding-bottom: 60px; }
  .sewing06 .competition-wrapper {
    background-color: #fff;
    padding: 15px;
    margin-bottom: 30px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }
    .sewing06 .competition-wrapper .competition-img {
      width: 100%;
      margin-bottom: 15px; }
    .sewing06 .competition-wrapper .competition-title {
      text-align: left;
      font-size: 1.25rem;
      padding: 10px 0 10px 10px; }
  .sewing06 p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 3rem; }
  .sewing06 .btn-pink {
    background-color: #f86d94; }
    .sewing06 .btn-pink a {
      color: #fff; }

.sewing07 {
  padding-top: 120px; }
  .sewing07 h2 {
    padding-bottom: 60px; }
  .sewing07 .voices-wrapper .voice-wrapper {
    display: flex;
    align-items: stretch;
    justify-content: center;
    margin-bottom: 50px; }
    .sewing07 .voices-wrapper .voice-wrapper .voice-image {
      width: 400px;
      height: 400px; }
      .sewing07 .voices-wrapper .voice-wrapper .voice-image .img-fluid {
        width: 100%;
        border-radius: 50%; }
    .sewing07 .voices-wrapper .voice-wrapper .voice-content {
      width: calc(100% - 400px );
      position: relative;
      display: inline-block;
      margin: 20px 0 20px 50px;
      border-left: 1px solid #040000; }
      .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box {
        width: 100%;
        height: 100%;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
        padding-left: 50px;
        position: relative; }
        .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box::after, .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box::before {
          content: "";
          display: block;
          line-height: 0;
          overflow: hidden;
          position: absolute;
          left: 0;
          width: 50px; }
        .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box::after {
          bottom: -1px;
          border-bottom: 1px solid #040000; }
        .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box::before {
          top: -1px;
          border-top: 1px solid #040000; }
      .sewing07 .voices-wrapper .voice-wrapper .voice-content h3 {
        font-size: 1.375rem;
        padding: 50px 0; }
      .sewing07 .voices-wrapper .voice-wrapper .voice-content::before, .sewing07 .voices-wrapper .voice-wrapper .voice-content::after {
        border: solid transparent;
        content: '';
        height: 0;
        width: 0;
        pointer-events: none;
        position: absolute;
        right: 100%;
        top: 50%; }
      .sewing07 .voices-wrapper .voice-wrapper .voice-content::before {
        border-color: rgba(20, 20, 20, 0);
        border-top-width: 12px;
        border-bottom-width: 12px;
        border-left-width: 24px;
        border-right-width: 24px;
        margin-top: -12px;
        margin-right: 1px;
        border-right-color: #040000; }
      .sewing07 .voices-wrapper .voice-wrapper .voice-content::after {
        border-color: rgba(0, 153, 255, 0);
        border-top-width: 11px;
        border-bottom-width: 11px;
        border-left-width: 23px;
        border-right-width: 23px;
        margin-top: -11px;
        border-right-color: #fff; }
  .sewing07 .voices {
    padding: 80px 0 30px; }
  .sewing07 .voices:nth-child(odd) {
    background-color: #fffefa; }
    .sewing07 .voices:nth-child(odd) .voices-wrapper .voice-wrapper .voice-content::after {
      border-right-color: #fffefa; }

.sewing08 {
  padding-top: 120px;
  text-align: center; }
  .sewing08 h2 {
    font-size: 1.75rem;
    padding-bottom: 50px; }
  .sewing08 .btn-green {
    background-color: #4fdb1b; }
    .sewing08 .btn-green a {
      color: #fff; }

.accordion-header {
  padding-bottom: 0; }

#accordionExample {
  margin-bottom: 50px; }

.accordion-button {
  color: #040000;
  font-size: 1.25rem;
  padding: 1.25rem 1.5rem; }

.accordion-button:not(.collapsed) {
  background-color: #fff;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); }

.accordion-body {
  font-size: 1.125rem;
  text-align: left;
  background-color: #fbfbfb; }

@media (min-width: 1600px) and (max-width: 1920px) {
  .sewing02 .feature-wrapper::after {
    width: calc( 100% - 140px ); }

  .sewing04 .lesson-wrapper .lesson-fee {
    padding: 120px 70px; } }
@media (max-width: 1180px) {
  .main-visual-sewing {
    background-size: cover;
    height: 400px; }

  .sewing01 {
    padding: 80px 0; }

  .sewing02 {
    margin-top: -84px;
    padding-top: 84px;
    padding-bottom: 0; }
    .sewing02 h2 {
      padding-bottom: 30px; }
    .sewing02 .feature-wrapper .features {
      width: 100%;
      display: block;
      margin-bottom: 100px; }
      .sewing02 .feature-wrapper .features .feature-img-wrapper {
        width: 50vw;
        height: auto;
        transform: rotate(0);
        margin: 0 auto 30px; }
      .sewing02 .feature-wrapper .features .feature-txt-wrapper {
        text-align: center; }
    .sewing02 .feature-wrapper::after {
      width: 100%;
      border-radius: 0;
      bottom: -50px; }
    .sewing02 .feature-wrapper:nth-child(even) .features .feature-img-wrapper {
      transform: rotate(0); }
    .sewing02 .feature-wrapper:nth-child(even)::after {
      border-radius: 0; }
    .sewing02 .feature-wrapper:last-child .features {
      margin-bottom: 0; }
      .sewing02 .feature-wrapper:last-child .features .feature-txt-wrapper {
        padding-bottom: 50px; }
    .sewing02 .feature-wrapper:last-child::after {
      bottom: 0; }

  .sewing03 {
    padding: 120px 0 10px; }
    .sewing03 h2 {
      padding-bottom: 30px; }
    .sewing03 .curriculum {
      justify-content: space-between; }
      .sewing03 .curriculum .contents-wrapper {
        width: calc(50% - 10px);
        margin-left: 0;
        border-radius: 20px; }
        .sewing03 .curriculum .contents-wrapper .img-fluid {
          width: 100%; }
        .sewing03 .curriculum .contents-wrapper p {
          padding: 0 20px 20px 20px; }
      .sewing03 .curriculum .contents-wrapper:nth-child(4),
      .sewing03 .curriculum .contents-wrapper:last-child {
        width: calc(50% - 10px); }
        .sewing03 .curriculum .contents-wrapper:nth-child(4) .img-fluid,
        .sewing03 .curriculum .contents-wrapper:last-child .img-fluid {
          width: 100%; }
      .sewing03 .curriculum .contents-wrapper:nth-child(even) {
        background-color: #FFF; }

  .sewing04 .lesson-wrapper {
    display: block; }
    .sewing04 .lesson-wrapper .lesson {
      width: 100%; }
    .sewing04 .lesson-wrapper .lesson-fee {
      width: 100%; }

  .sewing05 .competition-header {
    margin-top: 400px; }
    .sewing05 .competition-header h2 {
      padding: 30px 0 0; }
    .sewing05 .competition-header .deco-images .img-fluid:first-child {
      width: 360px;
      top: -330px; }
    .sewing05 .competition-header .deco-images .img-fluid:nth-child(2) {
      width: 150px;
      height: auto;
      top: -190px; }
    .sewing05 .competition-header .deco-images .img-fluid:nth-child(3) {
      width: 150px;
      height: auto;
      top: -160px; }
    .sewing05 .competition-header .deco-images .img-fluid:nth-child(4) {
      width: 150px;
      height: auto;
      top: -380px;
      left: 74%; }
    .sewing05 .competition-header .deco-images .img-fluid:last-child {
      width: 150px;
      height: auto;
      top: -360px;
      left: 14%; }

  .sewing06 {
    padding: 80px 0; }

  .sewing07 {
    padding-top: 80px; }
    .sewing07 h2 {
      padding-bottom: 30px; }
    .sewing07 .voices-wrapper .voice-wrapper {
      display: block; }
      .sewing07 .voices-wrapper .voice-wrapper .voice-image {
        width: 50vw;
        height: 50vw;
        margin: 0 auto; }
      .sewing07 .voices-wrapper .voice-wrapper .voice-content {
        width: calc(100% - 40px);
        margin: 50px 20px 0 20px;
        border-left: none;
        border-top: 1px solid #040000; }
        .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box {
          border-top: none;
          border-bottom: none;
          border-left: 1px solid #fff;
          border-right: 1px solid #fff;
          padding-left: 0;
          padding-top: 50px;
          position: relative; }
          .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box::after, .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box::before {
            content: "";
            display: block;
            line-height: 0;
            overflow: hidden;
            position: absolute;
            left: 0;
            width: 100%;
            height: 50px; }
          .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box::after {
            bottom: auto;
            top: 0;
            border-bottom: none;
            right: -1px;
            border-right: 1px solid #040000; }
          .sewing07 .voices-wrapper .voice-wrapper .voice-content .voice-box::before {
            top: 0;
            border-top: none;
            left: -1px;
            border-left: 1px solid #040000; }
        .sewing07 .voices-wrapper .voice-wrapper .voice-content h3 {
          margin-top: -20px;
          padding: 0 20px 30px; }
        .sewing07 .voices-wrapper .voice-wrapper .voice-content p {
          padding: 0 20px; }
        .sewing07 .voices-wrapper .voice-wrapper .voice-content::before, .sewing07 .voices-wrapper .voice-wrapper .voice-content::after {
          border: solid transparent;
          content: '';
          height: 0;
          width: 0;
          pointer-events: none;
          position: absolute;
          right: auto;
          top: auto;
          bottom: 100%;
          left: 50%; }
        .sewing07 .voices-wrapper .voice-wrapper .voice-content::before {
          border-color: rgba(0, 0, 0, 0);
          border-top-width: 24px;
          border-bottom-width: 24px;
          border-left-width: 12px;
          border-right-width: 12px;
          margin-top: 0;
          margin-right: 0;
          margin-left: -11px;
          margin-bottom: 1px;
          border-right-color: rgba(0, 0, 0, 0);
          border-bottom-color: #040000; }
        .sewing07 .voices-wrapper .voice-wrapper .voice-content::after {
          border-color: rgba(0, 153, 255, 0);
          border-top-width: 23px;
          border-bottom-width: 23px;
          border-left-width: 11px;
          border-right-width: 11px;
          margin-top: 0;
          margin-left: -10px;
          border-right-color: rgba(0, 0, 0, 0);
          border-bottom-color: #fff; }
    .sewing07 .voices:nth-child(odd) .voices-wrapper .voice-wrapper .voice-content::after {
      border-right-color: rgba(0, 0, 0, 0);
      border-bottom-color: #fffefa; } }
@media (max-width: 767px) {
  .main-visual-sewing {
    height: 200px; }

  .sewing01 {
    padding: 50px 0; }
    .sewing01 .intro h2 {
      font-size: 1.25rem;
      padding-bottom: 30px; }

  .sewing02 {
    margin-top: -56px;
    padding-top: 56px; }
    .sewing02 h2 .img-fluid {
      width: 80%;
      height: auto; }
    .sewing02 .feature-wrapper .features .feature-img-wrapper {
      width: 70vw;
      padding: 10px;
      border-radius: 10px; }
      .sewing02 .feature-wrapper .features .feature-img-wrapper .img-fluid {
        border-radius: 6px; }
    .sewing02 .feature-wrapper .features .feature-txt-wrapper h3 {
      font-size: 1.25rem; }
    .sewing02 .feature-wrapper .features .feature-txt-wrapper p {
      font-size: 0.9375rem;
      padding: 0 10px 10px; }

  .sewing03 .curriculum {
    display: block; }
    .sewing03 .curriculum .contents-wrapper {
      width: 100%;
      margin-bottom: 30px; }
    .sewing03 .curriculum .contents-wrapper:nth-child(4),
    .sewing03 .curriculum .contents-wrapper:last-child {
      width: 100%; }

  .sewing04 .lesson-wrapper .lesson-fee {
    padding: 30px 20px; }
    .sewing04 .lesson-wrapper .lesson-fee h3 {
      font-size: 1.25rem;
      padding-bottom: 20px; }
    .sewing04 .lesson-wrapper .lesson-fee table tr th {
      display: block;
      width: 100%;
      padding: 12px 20px 0; }
    .sewing04 .lesson-wrapper .lesson-fee table tr td {
      display: block; }
      .sewing04 .lesson-wrapper .lesson-fee table tr td span {
        font-size: 1.5rem; }
    .sewing04 .lesson-wrapper .lesson-fee table tr td.td-01, .sewing04 .lesson-wrapper .lesson-fee table tr td.td-02 {
      display: inline-block; }

  .sewing05 .competition-header {
    height: 200px; }
    .sewing05 .competition-header h2 {
      padding: 10px 12px; }
    .sewing05 .competition-header .deco-images .img-fluid:nth-child(n+2) {
      display: none; }

  .sewing06 {
    padding: 50px 0; }
    .sewing06 h2 {
      padding: 30px 20px; }
    .sewing06 p {
      font-size: 1rem;
      line-height: 2rem; }

  .sewing07 {
    padding-top: 50px; }
    .sewing07 h2 {
      padding-bottom: 30px; }
    .sewing07 .voices {
      padding: 50px 0 30px; }

  .sewing08 {
    padding-top: 50px; }
    .sewing08 h2 {
      font-size: 1.5rem;
      padding-bottom: 30px; } }
@media (max-width: 320px) {
  .sewing01 .intro p {
    font-size: 0.875rem; }

  .sewing02 .feature-wrapper.feature04 .features .feature-txt-wrapper h3 {
    font-size: 1.125rem; }

  .sewing05 .conpetition-header .deco-images .img-fluid:first-child {
    top: -290px; }

  .sewing04 .lesson-wrapper .lesson-fee table tr td span {
    font-size: 1.25rem; }

  .sewing04 .lesson-wrapper .lesson-fee table tr td.td-01,
  .sewing04 .lesson-wrapper .lesson-fee table tr td.td-02 {
    padding: 10px; }

  .sewing04 .lesson-wrapper .lesson-fee .btn-blue a {
    font-size: 1rem; }

  .sewing04 .lesson-wrapper .lesson-fee .btn-basic.btn-blue {
    padding: 4px 30px; }

  .sewing05 .conpetition-header {
    margin-top: 350px; } }
