.sp,
.sp-show,
.sp-320 {
  display: none;
}

@media screen and (max-width: 640px) {
  #wrapper {
    min-width: 100%;
  }
  .container {
    width: 100%;
    padding: 0 3%;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .sp-flex {
    display: flex;
  }
  /*header*/
  #header h1 {
    float: left;
    width: 180px;
    margin: 15px 0;
  }
  #header {
    position: fixed;
    z-index: 9999;
    width: 100%;
    border-bottom: 1px solid #eeeeee;
    background: #ffffff;
  }
  .h-right {
    float: none;
    overflow: hidden;/*-webkit-transition: height 0.1s linear;
	-moz-transition: height 0.1s linear;
	transition: height 0.1s linear;*/
    width: 100%;
    height: 100%;
  }
  /*#header.fixed .h-right {
	height: 0;
}*/
  .h-link,
  .h-contact {
    display: none;
  }
  #header .search {
    width: 100%;
    margin-bottom: 10px;
  }
  #header .search dt {
    font-size: 12px;
  }
  /*Gnavi*/
  #index #gnavi ul.menu {
	  border-bottom: 1px solid #bababa;
      display: none;
  }
  #index #gnavi ul.menu a span {
	  display: none;
}
  #index #gnavi ul.menu a {
    line-height: 1.3;
    font-size: 7px;
    padding: 5px 2px;
  }
  #gnavi ul.menu {
    display: flex;
    width: 100%;
    justify-content: space-around;
  }
    #gnavi ul.menu.sp_none{
        display: none;
    }
  #gnavi ul.menu + .menu{
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
  }
  #gnavi ul.menu li {
    width:33%;
    height: 50px;
    border-right: 1px solid #eeeeee;
  }
  #gnavi ul.menu li:last-child {
    border-right: none;
  }
  .under #gnavi ul.menu a {
    line-height: 1.3;
    font-size: 7px;
    padding: 5px 2px;
  }
  .under #gnavi ul.menu a span {
    display: none;
  }
    #gnavi.POST-PRODUCTION{
        margin-top: 113px !important;
    }

  /*Mega Menu*/
  .mega-menu-wrapper {
    width: 100%;
  }
  .mega-menu {
    width: 100%;
    flex-flow: wrap;
    margin: 0 auto;
  }
  .mega-menu li {
    font-size: 11px;
    display: flex;
    box-sizing: border-box;
    width: 33.3333333%;
    padding: 5px 0;

    align-items: center;
    justify-content: center;
  }
  .mega-menu li:hover {
    background: #6b6b6b;
  }
  .mega-menu li.active {
    background: #232323;
  }
  .mega-m-sub {
    left: 0;
    width: 100%;
  }
  .mega-m-sub.big-tab04 {
    padding: 15px 3%;
  }
  .sub-tab li {
    font-size: 10px;
    line-height: 1.4em;
    box-sizing: border-box;;
    width: 25%;
    padding: 5px;
    text-align: center;
    letter-spacing: 0;
  }
  .big-tab01 .sub-tab:first-of-type li {
    text-align: left;
    width: 100%;
  }
  .big-tab04 .sub-tab li {
    font-size: 10px;
    padding: 5px;
  }
  .sub-tab-ctn {
    padding: 20px 3% 0;
  }
  .sub-tab-ctn02 {
    flex-direction: column;
    padding: 20px 3%;
  }
  .sub-tab-ctn02 > li {
    width: 100%;
    margin-bottom: 10px;
    margin-left: 0;
  }
  .sub-tab-ctn > li {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 20px;
  }
  .sub-tab-ctn > li:nth-child(2n) {
    margin-right: 0;
  }
  .sub-tab-ctn li dt {
    font-size: 13px;
  }
  .sub-tab-link li a {
    font-size: 12px;
    word-wrap: break-word;
  }
  /* MENU-ICON */
  .menu-icon {
    float: right;;
    box-sizing: border-box;
    height: 42px;
    margin: 15px 0 0 0;
    padding: 19px 7px 0;
    text-align: center;
    border-radius: 3px;
  }
  .menu-icon span {
    display: block;
    width: 32px;
    height: 3px;
    margin: 0;
    -webkit-transition-delay: 0.2s;
       -moz-transition-delay: 0.2s;
        -ms-transition-delay: 0.2s;
         -o-transition-delay: 0.2s;
            transition-delay: 0.2s;
    -webkit-transition-duration: 0;
       -moz-transition-duration: 0;
        -ms-transition-duration: 0;
         -o-transition-duration: 0;
            transition-duration: 0;
    border-radius: 3px;
    background-color: #2c2c2c;
  }
  .menu-icon span::after,
  .menu-icon span::before {
    position: absolute;
    display: block;
    width: 32px;
    height: 3px;
    content: '';
    -webkit-transition-delay: 0.2s, 0;
       -moz-transition-delay: 0.2s, 0;
        -ms-transition-delay: 0.2s, 0;
         -o-transition-delay: 0.2s, 0;
            transition-delay: 0.2s, 0;
    -webkit-transition-duration: 0.2s;
       -moz-transition-duration: 0.2s;
        -ms-transition-duration: 0.2s;
         -o-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-property: margin, -webkit-transform;
    border-radius: 3px;
    background-color: #2c2c2c;
  }
  .menu-icon span::before {
    margin-top: -10px;
  }
  .menu-icon span::after {
    margin-top: 10px;
  }
  .menu-icon.active span {
    background-color: transparent;
  }
  .menu-icon.active span::before,
  .menu-icon.active span::after {
    margin-top: 0px;
    -webkit-transition-delay: 0, 0.2s;
       -moz-transition-delay: 0, 0.2s;
        -ms-transition-delay: 0, 0.2s;
         -o-transition-delay: 0, 0.2s;
            transition-delay: 0, 0.2s;
  }
  .menu-icon.active span::before {
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .menu-icon.active span::after {
    -webkit-transform: rotate(-45deg);
       -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
         -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #anchor_menu {
    margin: 0 20px 30px 20px;
    text-align: left;
  }
  /*Mainvisual*/
  #index #mainvisual {
    height: 240px;
    margin-bottom: 40px;
  }
  #index #mainvisual h2 {
    width: 90%;
  }
  #index #mainvisual .idx-slider {
    width: 100%;
  }
  #index #mainvisual .idx-slider li.slider {
    height: 240px;
  }
  #index #mainvisual .idx-slider li.slider04 .slider04_tit {
    width: 60%;
  }
  #index #mainvisual .idx-slider li.slider04 .slider04_comp {
    width: 50%;
  }
  #index .slick-dots {
    margin-top: 10px;
  }
  /*box01*/
  .box01-ctn {
    margin-bottom: 10%;

    flex-wrap: wrap;
  }
  .box01-ctn li {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 20px;
  }
  .box01-ctn li:nth-child(2n) {
    margin-right: 0;
  }
  .box01-ctn h3 {
    font-size: 14px;
    letter-spacing: 0;
  }
  .box01-txt {
    font-size: 12px;
    padding: 0 3%;
  }
  .box01-txt br {
    display: none;
  }
  /*box02*/
  .box02 {
    margin-bottom: 15%;
  }
  .box02 h3 {
    font-size: 16px;
    margin-bottom: 6%;
    ;
  }
  .box02 h4 {
    font-size: 14px;
    margin-bottom: 4%;
  }
  .box02 h4 br {
    display: none;
  }
  .box02 .box02-txt {
    font-size: 12px;
    margin-bottom: 3%;
  }
  .box02 .container .txt{
    text-align: left;
  }
  .idx-btn a {
    font-size: 12px;
    width: 200px;
  }
  /*box03*/
  .box03 {
    margin-bottom: 20%;
  }
  .box03-ctn {
    max-height: 220px;
    margin-bottom: 15%;
  }
  .box03-ctn li dl {
    flex-wrap: wrap;
  }
  .box03-ctn li dl dt {
    font-size: 12px;
    width: 50%;
    max-width: 180px;
    margin-bottom: 10px;
  }
  .box03-ctn li dl dd.idx-date {
    width: 50%;
    max-width: 100px;
  }
  .box03-ctn li dl dd {
    width: 100%;
  }
  /*footer*/
  .footer01 {
    padding: 30px 0;
  }
  .footer01 .container {
    flex-wrap: wrap;
  }
  .f01-l {
    width: 100%;
    border-right: none;
  }
  .f01-r {
    width: 100%;
    padding: 10px 0 0;
  }
  .f-logo {
    width: 200px;
    margin: 0 auto 5%;
  }
  .f-address {
    font-size: 12px;
    margin-bottom: 3%;
    text-align: center;
  }
  .f-contact {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .f-contact dt {
    display: flex;
    align-items: center;
	width: 110px;
  }
  .ft_tel_pc {
    display: none;
  }
  .ft_tel_sp {
    display: flex;
  }
  .menu-sp {
    position: fixed;
    z-index: 9999;
    top: 110px;
    left: 0;
    display: none;
    overflow: auto;
    width: 100%;
    background: rgba(255,255,255,0.95);
  }
  .menu-sp li.sp {
    display: block;
  }
  .f-link {
    margin-bottom: 0;
  }
  .f-link li {
    display: block;
    margin-right: 0;
    padding-right: 0;
    border-right: none;
      margin-bottom: 0;
  }
  .f-link li a {
    font-size: 13px;
    display: block;
    padding: 20px 0;
    text-align: center;
    text-decoration: none;
    border-bottom: 1px solid rgba(0,0,0,0.2);
  }
    .f-link li.sns{
        display: none;
    }
.f-link.sns{
    display: block;
    display: flex;
    justify-content: space-around;
  }
    .f-link.sns li{
        box-sizing: border-box;
        width: 50%;
        text-align: center;
    }
    .f-link.sns li:first-child{
        border-right: 1px solid rgba(0,0,0,0.2);
    }
    .f-link.sns li .fab{
        font-size: 20px;
    }
  .f-bnr01 {
    margin-top: 3%;
  }
  .f-bnr01 li {
    width: 32%;
    text-align: center;
  }
  .f-copy {
    font-size: 10px;
    padding: 10px 0;
  }
  #totop {
    right: 3%;
    bottom: 30px;
    width: 50px;
  }
  #totop:hover {
    opacity: 1;
  }
  .image-l {
    float: none;
    margin: 0 0 10px;
    text-align: center;
  }
  .image-r {
    float: none;
    margin: 0 0 10px;
    text-align: center;
  }
  /*Under*/
  .under #main,
  .under02 #main {
    box-sizing: border-box;
    width: 100%;
    margin: 20px auto;
    padding: 0 3%;
  }
  .under #content,
  .under02 #content {
    float: none;
    box-sizing: border-box;
    width: 100%;
  }
  .under #content.col-1,
  .under02 #content.col-1 {
    float: none;
    box-sizing: border-box;
    width: 100%;
  }
  #navi {
    display: none;
  }
	/*プロビデオサービスページ#navi*/
	.media #navi{
		display: block;
		float: none;
		width: 100%;
	}
  .under #mainvisual h2,
  .under02 #mainvisual h2 {
    height: 150px;
    padding: 0 20px;
  }
  .under #mainvisual,
  .under02 #mainvisual {
    margin: 0 0 20px;
  }
  .under-bnr-sml li {
    width: calc(25% - 8px);
    margin: 0 10px 0 0;
  }
  .under-bnr-sml {
    margin: 0 0 10px;
  }
  .under-cate {
    width: calc(50% - 10px);
  }
  .under-cate:nth-child(3n) {
    margin-right: 20px;
  }
  .under-cate:nth-child(2n) {
    margin-right: 0;
  }
  .under #mainvisual.planning h2,
  .under02 #mainvisual.planning h2 {
    height: 150px;
  }
  .under #mainvisual.pv h2,
  .under02 #mainvisual.pv h2 {
    height: 150px;
    padding: 0 20px;
  }
  .planning-item {
    width: calc(50% - 10px);
    margin: 0 20px 15px 0;
  }
  .cra-item {
    width: calc(100%/3 - 20px);
    height: auto;
    margin: 0 30px 20px 0;
  }
  .cra-item:nth-child(4n) {
    margin-right: 30px;
  }
  .cra-item:nth-child(3n) {
    margin-right: 0;
  }
  .cra-img:before {
    display: none;
  }
  .cra-img {
    border-radius: 50%;
  }
  .crative #main {
    margin: 155px auto 20px;
  }
  .crative .logo {
    float: none;
    margin: 0 0 20px;
    text-align: center;
  }
  .pv-bnr {
    float: none;
    width: 100%;
    text-align: center;
  }
  .pv-b02-right {
    float: none;
    width: 100%;
  }
  #contact dt,
  #contact dd {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 10px;
  }
  #contact dd textarea {
    box-sizing: border-box;
    width: 100%;
  }
  /**table scroll***/
  .tbl-scroll {
    overflow: scroll;
    padding-bottom: 10px;
  }
  .sp-show {
    font-size: 12px!important;
    display: block;
    color: #ce1189;
  }
  .tbl-scroll table {
    min-width: 630px;
  }
  .creative-staff dt,
  .creative-staff dd {
    width: 100%;
  }
  .creative-staff dt {
    margin-bottom: 20px;
    text-align: center;
  }
  .youtube iframe {
    width: 100%;
  }
  .making-cnt {
    width: 100%;
  }
  .crative #header {
    margin: 0;
    padding: 5px 0;
    text-align: center;
  }
  .eq-cate-left {
    float: none;
    width: 100%;
  }
  .eq-cate-right {
    font-size: 10px;
    float: none;
    width: 100%;
    text-align: center;
    color: #0c090a;
    border-radius: 3px;
    background: #939598;
  }
  .eq-detail-left {
    float: none;
    width: 100%;
    margin: 0 auto 20px;
  }
  .eq-detail-right {
    float: none;
    width: 100%;
  }
  .eq-detail-ttl {
    width: 100%;
  }
  .eq-detail-main {
    max-width: 355px;
    margin: 0 auto 15px;
  }
  .eq-detail-thumb {
    max-width: 355px;
    margin: 0 auto;
  }
  .eq-detail-tab li {
    font-size: 11px;
    padding: 5px;
  }
  .plan-mapping01,
  .plan-mapping02 {
    font-size: 15px;
    padding: 0 5% 20px;
    text-align: center;
    background: #ffffff;
  }
  .media-img span {
    font-size: 10px;
    bottom: -5px;
    padding: 5px 10px;
  }
  .pricepic-ttl {
    font-size: 22px;
  }
  .pricepic-ttl span {
    font-size: 12px;
  }
  .aboutleft {
    float: none;
    width: 100%;
    margin-bottom: 30px;
    text-align: center;
  }
  .aboutleft iframe {
    width: 100%;
  }
  .aboutright {
    float: none;
    width: 100%;
    text-align: center;
  }
  .aboutright iframe {
    width: 100%;
  }
  .staff_section {
    float: initial;
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .under .media-list01 li {
    width: 48%;
    margin-bottom: 10px;
  }
  .under .media-list02 {
    flex-wrap: wrap;
  }
  .under .media-list02 li {
    width: 32%;
  }
  .disk-print-column {
    flex-direction: column;
  }
  .disk-print-l {
    width: 100%;
    margin-bottom: 10px;
  }
  .disk-print-r {
    width: 100%;
  }
  .disk-print-r li {
    text-align: center;
  }
  .disk-print-column02 {
    flex-direction: column;
  }
  .disk-print-column02 li {
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
  }
  .disk-print-column02 li:nth-child(3) {
    margin-left: 0;
  }
  .disk-print-column02 li:nth-child(2n) {
    padding-top: 0;
  }
  .eq-two-side {
    flex-direction: column;
  }
  .eq-side-column {
    width: 100%;
    margin-bottom: 20px;
  }
  .haft-side {
    width: 100%;
  }
  .jacket-layout {
    flex-direction: column;

    justify-content: center;
  }
  .jacket_sample {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .jacket_desc {
    width: 100%;
  }
  .inline-area {
    overflow-y: scroll;
    width: 92%;
    height: 140px;
    margin: 0 auto;
    padding: 10px;
    border: 1px solid #cccccc;
  }
  .case_tbl_left {
    float: none;
    width: 100%;
  }
  .case_tbl_right {
    float: none;
    width: 100%;
  }
  #header .search dd input[type=search],
  #header .search dd .input-search {
    width: 180px;
  }
  .ppolicy_img {
    display: block;
    text-align: center;

    justify-content: initial;
  }
  .ppolicy_img li {
    margin-bottom: 20px;
  }
  .under-anclink02 li {
    display: flex;
    width: 100%;
  }
  .under-anclink03 li {
    display: flex;
    width: 100%;
  }
  .video-link iframe {
    pointer-events: auto;
  }
  .video_prpt_op iframe {
    width: 100%;
    height: 300px;
  }
  .access {
    display: block;

    justify-content: initial;
  }
  .access .tbl-scroll {
    width: 100%;
  }

  #gnavi .menu .company-icon-sp {
    background: none;
  }

  .navi-addcart {
    position: fixed;
    z-index: 999;
    top: 70px;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    border-width: 0 0 1px 0 !important;
    background: #ffffff;
  }
  .addcart-head {
    margin: 0;
    padding: 15px;
    text-align: center;
    background: #dddddd;
  }
  .addcart-list {
    display: none;
    overflow-y: auto;
    max-height: 70vh;
    padding: 15px;
  }
  .addcart-list li a {
    align-items: center;
  }
  .addcart-list figure {
    width: 30%;
  }
  .addcart-list dl {
    width: 65%;
  }

  .addcart-list .addcart-btn {
    display: block;
  }
  .addcart-list .addcart-btn a {
    display: block;
    padding: 15px;
    text-align: center;
    color: #ffffff !important;
    background: #345394;
  }
  .addcart-list .addcart-btn a:hover {
    text-decoration: none;
    opacity: 0.8;
  }

  /*------------ 2022.10.19 .box-bnr ------------*/

  .box-bnr{
    padding-top:10px;
  }

  .box-bnr .list-bnr .bnr + .bnr{
    margin-top:2%;
  }

  .box-bnr .list-bnr .bnr-concept .bnr-concept_tit,
  .box-bnr .list-bnr .bnr-concept .bnr-concept_comp {
    width: 40%;
  }

  /*------------ 2022.10.20 .randd ------------*/
  .randd_section + .randd_section{
    margin-top:40px;
  }
  .randd_section .section_header{
    display:block;
    text-align:right;
  }
  .randd_section .section_title{
    margin-bottom:.6em;
    text-align:left;
  }
  .randd_section .section_body{
    display:block;
    margin-top:24px;
  }
  .randd_section .section_block-left,
  .randd_section .section_block-right{
    width:100%;
  }
  .randd_section .section_block-right{
    margin-top:3%;
  }
  .randd_section .section_pic + .section_caption{
    margin-top:1.6em;
  }
  .randd_section .section_pic .section_text{
    margin-bottom:0;
    line-height:2;
  }
}

@media screen and (max-width: 425px) {
  .under-bnr-sml li {
    width: calc(50% - 8px);
    margin-bottom: 10px;
  }
  .under-bnr-sml li:nth-child(2n) {
    margin-right: 0;
  }
  .planning-item {
    width: 100%;
    margin: 0 0 15px;
  }
  .cra-item {
    width: calc(50% - 15px);
    margin: 0 30px 20px 0;
  }
  .cra-item:nth-child(3n) {
    margin-right: 30px;
  }
  .cra-item:nth-child(2n) {
    margin-right: 0;
  }
  .pv-item {
    width: 100%;
    margin: 0 0 20px;
    padding: 0;
    border-right: none;
  }
  .pv-list {
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .pv-img {
    text-align: center;
  }
  .pv-box03 p {
    width: calc(100%/3 - 10px);
    margin: 0 10px 10px 0;
  }
  .pv-box03 p:nth-child(3n) {
    margin-right: 0;
  }
  .pv-box03 {
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .under-anclink {
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .under-anclink li {
    width: 100%;
    margin: 0 0 10px;
  }
  .making-col2 li img {
    height: auto;
  }
  .under .media-list01,
  .under .media-list02 {
    justify-content: center;
  }
  .under .media-list01 li {
    width: 100%;
    text-align: center;
  }
  .under .media-list02 li {
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
  }
  .video_prpt_op iframe {
    width: 100%;
    height: 200px;
  }
}

@media screen and (max-width: 375px) {
  .under-cate {
    width: 100%;
    margin: 0 0 10px;
  }
  .under-cate:nth-child(3n) {
    margin-right: 0;
  }
  .cra-gnavi li {
    margin: 0 0 0 20px;
  }
  .cra-ttl span {
    font-size: 12px;
  }
}

@media screen and (max-width: 320px) {
  .making-cnt dt:after {
    width: 250px;
  }
  .making-cnt dt:before {
    transform: translate(117px, -21px);
  }
  .making-cnt dt.active:before {
    transform: translate(114px, -6px);
  }
  .sp-320 {
    display: block;
  }
  .plan-3d-pdf a {
    padding: 7px 6px;
  }
  .cra-ttl span {
    font-size: 10px;
  }
  .making-cnt dt span {
    width: 250px;
  }
  .gnavi-cart a,
  .gnavi-tel a {
    margin-top: 5px;
    padding: 5px;
  }
}

/*------*/
@media screen and (min-width: 641px){
.oneline{
  width: 1080px;
  margin: 0 auto;
  font-size: 16px;
  padding-bottom: 10px;
}
}
@media screen and (max-width: 640px){
  .oneline{
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  padding: 0px 2% 5px;
  }
}