@charset "UTF-8";
/* ==================================================
	sp
================================================== */
@media screen and (max-width: 599px) {
  #single {
    width: 100%;
    margin: 0;
  }
  .single_wrapper {
    width: 100%;
    margin: 0 0 5vw;
  }
  .main_img {
    width: 100%;
    margin: 0;
  }
  .main_img img {
    width: 100%;
    height: auto;
    margin: 0 !important;
  }
  .single_heading_wrapper {
    width: 100%;
    margin: 5vw auto 0;
    display: inline-block;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: end;
  }
  .wp-block-group__inner-container {
    display: contents;
  }
  .case_number_wrapper {
    background: url(../images/works/bg_single_works.png);
    background-size: contain;
    width: 25%;
    height: 10vw;
    vertical-align: bottom;
    background-repeat: no-repeat;
    position: relative;
  }
  .case_number_txt {
    font-size: 3.0vw;
    letter-spacing: 0.1em;
    line-height: 1.0em;
    position: absolute;
    top: 6.5vw;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .owner_wrapper {
    width: 50%;
  }
  .owner_txt {
    font-size: 3.0vw;
    letter-spacing: 0.1em;
    line-height: 1.0em;
    color: #fff;
    background: #194660;
    padding: 3vw 5%;
  }
  .works_heading {
    font-size: 3.5vw;
    letter-spacing: 0.1em;
    line-height: 1.0em;
    font-weight: 600;
    background: #F4F1EF;
    padding: 5vw 0;
  }
  .single_inner {
    width: 90%;
    margin: 0 auto;
    display: inline-block;
  }
  .single_inner h3 {
    font-size: 3.5vw;
    letter-spacing: 0.1em;
    line-height: 1.8em;
    font-weight: 600;
    text-align: left;
    margin-top: 5vw;
  }
  .single_inner p {
    font-size: 3.0vw;
    letter-spacing: 0.1em;
    line-height: 1.8em;
    text-align: left;
    margin-top: 5vw;
  }
  .wp-block-image img {
    width: 100%;
    height: auto;
    margin-top: 5vw;
  }
  .is-layout-flex {
    flex-wrap: wrap !important;
    flex-direction: column !important;
  }
  .is-layout-flex figure {}
  .left_img_flex figure {}
  .right_img_flex figure {}
}
/* ==================================================
	tb
================================================== */
@media screen and (min-width: 600px) and (max-width: 1024px) {
  #single {
    width: 100%;
    margin: 0;
  }
  .single_wrapper {
    width: 100%;
    margin: 0 0 5vw;
  }
  .main_img {
    width: 100%;
    margin: 0;
  }
  .main_img img {
    width: 100%;
    height: auto;
    margin: 0 !important;
  }
  .single_heading_wrapper {
    width: 100%;
    margin: 5vw auto 0;
    display: inline-block;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: end;
  }
  .wp-block-group__inner-container {
    display: contents;
  }
  .case_number_wrapper {
    background: url(../images/works/bg_single_works.png);
    background-size: contain;
    width: 25%;
    height: 10vw;
    vertical-align: bottom;
    background-repeat: no-repeat;
    position: relative;
  }
  .case_number_txt {
    font-size: 2.0vw;
    letter-spacing: 0.1em;
    line-height: 1.0em;
    position: absolute;
    top: 6.5vw;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .owner_wrapper {
    width: 50%;
  }
  .owner_txt {
    font-size: 2.0vw;
    letter-spacing: 0.1em;
    line-height: 1.0em;
    color: #fff;
    background: #194660;
    padding: 3vw 5%;
  }
  .works_heading {
    font-size: 2.5vw;
    letter-spacing: 0.1em;
    line-height: 1.0em;
    font-weight: 600;
    background: #F4F1EF;
    padding: 5vw 0;
  }
  .single_inner {
    width: 90%;
    margin: 0 auto;
    display: inline-block;
  }
  .single_inner h3 {
    font-size: 2.5vw;
    letter-spacing: 0.1em;
    line-height: 1.8em;
    font-weight: 600;
    text-align: left;
    margin-top: 5vw;
  }
  .single_inner p {
    font-size: 2.0vw;
    letter-spacing: 0.1em;
    line-height: 1.8em;
    text-align: left;
    margin-top: 5vw;
  }
  .wp-block-image img {
    width: 100%;
    height: auto;
    margin-top: 5vw;
  }
  .is-layout-flex {
    flex-wrap: wrap !important;
    flex-direction: column !important;
  }
  .is-layout-flex figure {}
  .left_img_flex figure {}
  .right_img_flex figure {}
}
/* ==================================================
	pc
================================================== */
@media screen and (min-width: 1025px) {
  #single {
    width: 100%;
    margin: 0;
  }
  .single_wrapper {
    width: 100%;
    margin: 0 0 4vw;
  }
  .main_img {
    width: 100%;
    margin: 0;
  }
  .main_img img {
    width: 100%;
    height: auto;
    margin: 0 !important;
  }
  .single_heading_wrapper {
    width: 100%;
    margin: 5vw auto 0;
    display: inline-block;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-around;
    align-items: end;
  }
  .wp-block-group__inner-container {
    display: contents;
  }
  .case_number_wrapper {
    background: url(../images/works/bg_single_works.png);
    background-size: contain;
    width: 20%;
    height: 8vw;
    vertical-align: bottom;
    background-repeat: no-repeat;
    position: relative;
    margin-right: 11%;
  }
  .case_number_txt {
    font-size: 1.4vw;
    letter-spacing: 0.1em;
    line-height: 1.0em;
    position: absolute;
    top: 5.5vw;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  .owner_wrapper {
    width: 30%;
  }
  .owner_txt {
    font-size: 1.4vw;
    letter-spacing: 0.1em;
    line-height: 1.0em;
    color: #fff;
    background: #194660;
    padding: 1.5vw 5%;
  }
  .works_heading {
    font-size: 1.4vw;
    letter-spacing: 0.1em;
    line-height: 1.0em;
    font-weight: 400;
    background: #F4F1EF;
    padding: 3vw 0;
  }
  .single_inner {
    width: 80%;
    margin: 0 auto;
    display: inline-block;
  }
  .single_inner h3 {
    font-size: 1.3vw;
    letter-spacing: 0.1em;
    line-height: 1.8em;
    font-weight: 400;
    text-align: left;
    margin-top: 4vw;
  }
  .single_inner p {
    font-size: 1.2vw;
    letter-spacing: 0.1em;
    line-height: 1.8em;
    text-align: left;
    margin-top: 3vw;
  }
  .wp-block-image img {
    width: 100%;
    height: auto;
    margin-top: 3vw;
  }
  .is-layout-flex {
    flex: 1;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    align-items: flex-start !important;
  }
  .is-layout-flex figure {
    flex: 1;
  }
  .left_img_flex figure {
    margin-right: 2%;
  }
  .right_img_flex figure {
    margin-left: 2%;
  }
}