@charset "UTF-8";
/*--------------------------------------------------------
定数
--------------------------------------------------------*/

@media screen and (max-width: 1200px) {
  .menu_area div a {
    font-size: 1vw;
  }

  .menu_area div span {
    font-size: 1.35vw;
  }

  .orfe_logo img {
    width: 15vw;
  }

  .menu_area {
    width: 47%;
  }

  .about {
    margin-top: 13.4%;
    font-size: 100px;
  }

  .about_sub {
    font-size: 25px;
    margin-top: -3.4%;
  }

  .about_txt_area {
    margin-top: 6.7%;
  }

  .about_txt1 {
    font-size: 33px;
  }

  .about_txt2 {
    margin-top: 3.4%;
  }

  .orfe_01 img {
    width: 90%;
    margin-left: auto;
  }

  .red_area .back_red,
  .red_area2 .back_red {
    padding-top: 10%;
    padding-bottom: 10%;
  }

  .red_area {
    margin-top: -12.2%;
  }

  .project {
    font-size: 100px;
  }

  .project_sub {
    font-size: 25px;
    margin-top: -3.4%;
  }

  .project_area {
    margin-top: 7%;
  }

  .project_area:nth-last-of-type(1) {
    margin-top: 2.5%;
  }

  .project_area img {
    width: 46.75vw;
  }

  .project_txt {
    font-size: 1.7vw;
  }

  .company {
    font-size: 100px;
  }

  .company_sub {
    font-size: 25px;
    margin-top: -5.3%;
  }

  .white_area {
    margin-top: 16.9%;
  }

  .orfe_logo2 {
    margin-top: 8.7%;
  }

  .company_txt1,
  .company_txt2 {
    margin-top: 2.2%;
  }

  .map {
    margin-top: 8.5%;
  }

  .red_area2 {
    margin-top: 16.9%;
  }

  .recruit {
    font-size: 100px;
  }

  .recruit_sub {
    font-size: 25px;
    margin-top: -4.4%;
  }

  .contact {
    font-size: 100px;
  }

  .contact_sub {
    font-size: 25px;
    margin-top: -4.4%;
  }

  .contact_txt {
    margin-top: 8.7%;
  }

  .h-btn.slide {
    font-size: 2.1vw;
    width: 36.9%;
  }

  .h-btn2.slide {
    font-size: 2.9vw;
    margin-top: 4.4%;
    width: 36.9%;
    padding: 2.7% 11% 2.5%;
  }

  .pink_area {
    margin-top: 17.3%;
  }
}

@media screen and (max-width: 800px) {
  body {
    min-width: 100%;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .img_center {
    margin-left: 0px;
  }

  .break_800:before {
    content: "\A";
    white-space: pre;
  }

  .visible800 {
    display: block !important;
  }

  .hidden800 {
    display: none !important;
  }

  .area1200 {
    width: 93%;
  }

  .orfe_logo img {
    width: 30.5vw;
  }

  .fv_txt2 {
    font-size: 15.3vw;
    bottom: -2.9%;
  }

  .fv_txt1 .bg-wrap .inn,
  .fv_txt1_sp .bg-wrap .inn {
    font-size: 11.9vw;
  }

  .fv_txt1.is-animated .bg-wrap::before {
    height: 71%;
    margin-top: 5%;
  }

  .fv_txt1_sp.is-animated .bg-wrap::before {
    height: 70%;
    margin-top: 3.5%;
  }

  .about {
    margin-top: 17.8%;
    font-size: 13vw;
  }

  .about_sub {
    font-size: 20px;
    margin-top: -4.5%;
  }

  .about_txt_area {
    display: block;
    margin-top: 9%;
  }

  .about_txt1 {
    font-size: 32px;
  }

  .about_txt2 {
    margin-top: 4.5%;
  }

  .orfe_01 {
    margin-top: 9%;
  }

  .orfe_01 img {
    width: 60%;
  }

  .red_area .back_red {
    padding-top: 20%;
    padding-bottom: 16.5%;
  }

  .project {
    font-size: 13vw;
  }

  .project_sub {
    font-size: 20px;
    margin-top: -4.5%;
  }

  .project_area {
    display: block;
    margin-top: 9%;
  }

  .project_area img {
    width: 100%;
  }

  .project_txt {
    font-size: 2.55vw;
  }

  .orfe_03,
  .orfe_05 {
    margin-top: 9%;
  }

  .project_area:nth-last-of-type(1) {
    margin-top: 9%;
  }

  .white_area {
    margin-top: 10.4%;
  }

  .company {
    font-size: 13vw;
  }

  .company_sub {
    font-size: 20px;
    margin-top: -4.5%;
  }

  .company_txt1,
  .company_txt2 {
    margin-top: 4.5%;
  }

  .map {
    margin-top: 8.3%;
  }

  .red_area2 {
    margin-top: 16.5%;
  }

  .red_area2 .back_red {
    padding-top: 16.5%;
    padding-bottom: 16.5%;
  }

  .recruit {
    font-size: 13vw;
  }

  .recruit_sub {
    font-size: 20px;
    margin-top: -4.5%;
  }

  .orfe_06 {
    margin-top: 8.3%;
  }

  .h-btn.slide {
    font-size: 4.8vw;
    width: 62%;
    padding: 5% 11% 4%
  }

  .contact {
    font-size: 13vw;
  }

  .contact_sub {
    font-size: 20px;
    margin-top: -4.5%;
  }

  .orfe_logo2 img {
    width: 33.5%;
  }

  .contact_txt {
    margin-top: 9%;
  }

  .h-btn2.slide {
    font-size: 6.4vw;
    margin-top: 4.5%;
    width: 100%;
    padding: 4.5% 11% 2.5%;
  }

  .pink_area {
    margin-top: 16.7%;
  }

  #page_top {
    width: 70px;
  }

  .absolute_button {
    position: fixed !important;
    top: auto !important;
    bottom: 40px !important;
  }

  .footer_txt {
    font-size: 10px;
    margin-top: 15px;
    text-align: left;
  }

  .orfe_logo3 {
    display: block;
  }

  .orfe_logo3 img {
    width: 33.4%;
  }

  .menu_area3 {
    display: flex;
    align-items: end;
    margin-top: 1.5%;
    width: 160px;
    justify-content: space-between;
  }

  .menu_area3 p {
    font-size: 14px;
    color: #fff;
    margin-top: 15px;
  }

  .menu_area3 .current .home a::after,
  .menu_area3 div .home a:hover::after {
    transform: scale(0.75, 1);
  }

  /*//////////// secondary ////////////*/
  #keyvisual.secondary {
    height: 400px;
  }

  /*--------- project ---------*/
  #project {
    margin-bottom: 80px;
  }

  #project .read {
    margin: 40px 0;
  }

  #project .project_contents .cont {
    display: block;
    position: relative;
    margin: 40px 0;
  }

  #project .project_contents .cont:after {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    background: #F99D9D;
    position: absolute;
    top: 10px;
    left: -10px;
    z-index: 0;
  }

  #project .project_contents #pj_design .cont:after,
  #project .project_contents #pj_market .cont:after {
    left: auto;
    right: -10px;
  }

  #project .project_contents .cont .photo {
    width: 100%;
    padding: 0 !important;
  }

  #project .project_contents .cont .imgs {
    aspect-ratio: unset;
  }

  #project .project_contents .cont .text {
    width: 100%;
    background: white;
    border: 1px solid #F99D9D;
    position: relative;
    z-index: 3;
    padding: 40px 20px !important;
  }

  #project .project_contents .cont .imgs:after {
    display: none;
  }

  /*------------- company -------------*/

  #company .company_contents {
    margin: 40px auto;
  }

  #company .company_contents table {
    width: min(100%, 800px);
    margin: auto;
  }

  #company .company_contents table tr {
    display: block;
  }

  #company .company_contents table tr th {
    display: block;
    border-bottom: 0;
    width: 100%;
    padding: 20px 20px 0 20px;
  }

  #company .company_contents table tr td {
    display: block;
  }

  /*------------- contact -------------*/

  #contact .contact_contents {
    margin: 40px auto;
  }

  #contact .formarea {
    margin: 40px auto;
  }

  #contact .formarea dl {
    margin-bottom: 20px;
  }

  #contact .formarea.confirm dl {
    margin-bottom: 40px;
  }

  #contact .formarea.confirm dl dt {
    margin-bottom: 20px;
  }

  #contact .formarea.confirm .submit_area {
    margin-top: 40px;
  }


  /*-------------------------------------*/
}

@media screen and (max-width: 500px) {
  #page_top {
    width: 13%;
  }

  .map iframe {
    height: 300px;
  }

  .orfe_logo img,
  .orfe_logo3 img {
    width: 150px;
  }

  .openbtn1 {
    width: 80px;
  }

  .openbtn1 span:nth-of-type(2) {
    top: 25px;
  }

  .openbtn1 span:nth-of-type(3) {
    top: 35px;
  }

  .fv_txt2 {
    font-size: 15vw;
  }

  .about_txt1 {
    font-size: 6.4vw;
  }

  .project_txt {
    font-size: 3.1vw;
  }

}


@media screen and (max-width: 400px) {
  .red_box {
    font-size: 13px;
  }

  .media_area img {
    width: 100px;
  }
}

@media screen and (max-width: 350px) {
  .about_txt2 {
    font-size: 4.4vw;
  }

  .company_txt1 {
    font-size: 5.2vw;
  }

  .company_txt2 {
    font-size: 4.4vw;
  }

  .contact_txt {
    font-size: 4.4vw;
  }
}