@media (max-width: 768px) {
  body {
    min-width: unset;
    width: 100%;
  }
  .mobile-br {
    display: block;
  }
  .pc__br {
    display: inline;
  }
  .quickmenu {
    display: none;
  }
  section .title h3 {
    font-size: 16px;
    margin-top: 60px;
  }
  section .title h3 span {
    font-size: 32px;
  }
  section .title h3::before {
    width: 66px;
    height: 66px;
    top: -33px
  }
  section .title p {
    font-size: 16px;
    line-height: 24px;
  }
  /* ################### cont01 ################### */
  section.cont01 {
    min-width: unset;
    width: 100%;
    overflow-y: hidden;
  }
  .cont01 .bg_color {
    height: 100%;
    min-height: 90vh;
  }
  .cont01 .wrap {
    width: 100%;
    padding: 45px 40px 56px;
    margin: unset;
    box-sizing: border-box;
  }
  .cont01 .wrap__inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .cont01 .wrap__inner > img {
    display: none;
  }
  .cont01 .wrap h1 {
    width: 100%;
  }
  .cont01 .wrap h3 {
    width: 100%;
    height: auto;
    font-size: 18px;
    margin-top: 40px;
  }
  .cont01 .wrap h3 span {
    font-size: 40px;
    display: block;
  }
  .cont01 .wrap dl dt {
    width: 100%;
    font-size: 16px;
    word-break: keep-all;
    line-height: 24px;
  }
  .cont01 .wrap dl dd {
    width: 100%;
    word-break: keep-all;
    line-height: 24px;
  }
  .cont01 .wrap button {
    width: 100%;
    margin-top: 28px;
  }
  .cont01 .wrap button {
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .cont01 .wrap dl dd:first-of-type {
    margin-top: 32px;
    margin-bottom: 12px;
  }
  /* ################### cont02 ################### */
  .cont02 {
    min-height: 100vh;
    height: 100%;
    min-width: unset;
    overflow-y: hidden;
  }
  .cont02 .wrap {
    width: 100%;
    padding: 60px 40px;
    margin: 0;
    box-sizing: border-box;
  }
  .cont02 .wrap__inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
  }
  .cont02 .wrap .left {
    float: unset;
    box-sizing: border-box;
  }
  .cont02 h3 {
    /* font-size: 48px */
    font-size: 32px;
  }
  .cont02 h3::before {
    width: 66px;
    height: 66px;
    top: -12px;
  }
  .leftbox_num {
    width: 100%;
    /* padding: 35px 0; */
    padding: 20px 0;
    height: 98px;
  }
  .leftbox_num p {
    /* font-size: 20px */
    font-size: 16px;
  }
  .leftbox_num .count {
    left: 55%;
    top: 42px;
  }
  .leftbox_num ul {
    /* font-size: 39px; */
    font-size: 30px ;
  }
  .leftbox_num ul li {
    font-size: 30px;
  }
  .cont02 .wrap .right {
    display: none;
  }
  .cont02 .mobile-right {
    display: flex;
    flex-direction: column;
  }
  .mobile-right__item {
    display: flex;
  }
  .mobile-right__item:nth-of-type(2) {
    margin-top: -20px;
  }
  .mobile-right__item:nth-of-type(3) {
    margin-top: -20px;
  }
  .mobile-right__time-cell {
    width: 50%;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
  }
  .mobile-right__time-cell::after {
    content: '';
    display: block;
    padding-top: 100%;
  }
  .mobile-right__time-cell__inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    color: #fff;
  }
  .mobile-right__time-content {
    width: 100%;
    height: 100%;
    background: rgba(255, 108, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .mobile-right__time {
    font-size: 24px;
  }
  .mobile-right__object {
    font-size: 22px;
  }
  .mobile-right__content-cell {
    display: flex;
    align-items: center;
    padding-left: 12px;
  }
  .mobile-right__content-cell p {
    word-break: keep-all;
    font-size: 14px;
    line-height: 20px;
  }
  /* ################### cont03 ################### */
  .cont03 {
    width: 100%;
    min-width: unset;
    padding: 60px 40px 60px;
    overflow-y: hidden;
  }
  .cont03 .wrap {
    width: 100%;
  }
  .cont03 .title h3 {
    margin-top: 0;
  }
  .content_wrap {
    width: 100%;
    min-width: unset;
    flex-direction: column;
  }
  .content_wrap .left {
    box-sizing: border-box;
    width: 100%;
  }
  .cont03 article p {
    width: 100%;
    height: auto;
  }
  .cont03 article p img {
    width: 100%;
  }
  .cont03 article dl {
    margin-top: 20px;
    margin-bottom: 40px;
    padding-right: 20px;
    word-break: keep-all;
  }
  .cont03 .right {
    margin-top: 40px;
  }
  .cont03 article dl dt {
    font-size: 22px;
  }
  .cont03 article dl dd {
    font-size: 16px;
    line-height: 24px;
    margin-top: 12px;
  }
  /* ################### cont04 ################### */
  .cont04 {
    width: 100%;
    min-width: unset;
    padding: 0;
    box-sizing: border-box;
  }
  .cont04 .title {
    width: 100%;
    padding: 0 20px;
  }
  .portfolio-slider__inner {
    width: 100%;
  }
  .portfolio-slide__content {
    width: 100%;
    height: 360px;
    min-height: 360px;
  }
  .portfolio-slide__content img {
    object-fit: cover;
    object-position: -30px center;
  }
  .portfolio-slide.swiper-slide.swiper-slide-active .portfolio-slide__content {
    border: none;
    border-radius: unset;
  }
  .portfolio-slide__content img {
    border-radius: unset;
  }
  .portfolio-slider .swiper-button-prev {
    width: 40px;
    height: 40px;
    left: -5px;
  }
  .portfolio-slider .swiper-button-next {
    width: 40px;
    height: 40px;
    right: -5px;
  }
  /* ################### cont05 ################### */ 
  .cont05 {
    min-width: unset;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    height: auto;
    margin-top: 0;
  }
  .cont05 .wrap {
    display: flex;
    flex-direction: column;
    padding: 0;
    min-width: unset;
  }
  .cont05 .right {
    margin-top: 40px;
  }
  .cont05 .right .bg_path_arrow {
    display: none;
  }
  .cont05 .right .column {
    width: 100%;
    justify-content: unset;
  }
  .first_column {
    align-items: center;
  }
  .first_column .box {
    width: 28%;
    flex-shrink: 0;
  }
  .next_arrow {
    width: 8%;
    flex-shrink: 0;
    text-align: center;
  }
  .cont05 .right li .box li:nth-child(2) {
    width: 100%;
    height: auto;
    min-height: 80px;
    min-width: 80px;
    position: relative;
  }
  .cont05 .right li .box li:nth-child(2)::after {
    content: '';
    display: block;
    padding-top: 100%;
  }
  .cont05 .right li .box li:nth-child(2) img {
    width: 60%;
  }
  .cont05 .column .next_arrow {
    margin-top: unset;
  }
  .cont05 .right li .box li:nth-child(3) {
    min-height: 100px;
  }
  
  .second_column {
    align-items: center;
  }
  .second_column .box {
    width: 28%;
    flex-shrink: 0;
  }
  .last_column {
    align-items: center;
  }
  .last_column .box {
    width: 28%;
    flex-shrink: 0;
  }
  .cont05 .right li .box li:last-child {
    word-break: keep-all;
    font-size: 16px;
  }
  .cont05 .right li .box li:first-child {
    font-size: 36px;
  }
  /* ################### cont06 ################### */
  .cont06 {
    min-width: unset;
    overflow-y: hidden;
  }
  .cont06 div p {
    font-size: 24px;
    line-height: 40px;
    padding: 0 20px;
  }
  .cont06 button {
    width: 156px;
    height: 42px;
    margin-top: 20px;
  }

  .portfolio-slider.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction  {
    font-size: 14px;
    bottom: 10px;
    width: 60px;
    height: 22px;
  }
}