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

@media screen and (max-width: 1800px) {
  .area_1800 {
    width: 100%;
    margin-left: 0px;
  }
}

@media screen and (max-width: 1100px) {
  .break1100:before {
    content: "\A";
    white-space: pre;
  }

  .area_1000 {
    width: 95%;
    margin-right: auto;
    margin-left: auto;
  }

  .news .flex {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .pop_bt_area {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 1000px) {
  .sp_90_a {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .bu_img img {
    width: 350px;
  }

  .white_box_area {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 900px) {
  .visible900 {
    display: block !important;
  }

  .hidden900 {
    display: none !important;
  }

  body {
    min-width: 100%;
  }

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

  .mt50p {
    margin-top: 5%;
  }

  .mt100p {
    margin-top: 10%;
  }

  .mt200p {
    margin-top: 20%;
  }

  .mb50p {
    margin-bottom: 5%;
  }

  .break900:after {
    content: "\A";
    white-space: pre;
  }

  header .flex {
    justify-content: space-between;
  }

  .top_space {
    margin-top: 100px;
  }

  .area_1000 {
    width: 100%;
  }

  .area_900 {
    width: 100%;
  }

  .centerimg {
    margin-left: 0px;
  }

  .fv_txt {
    position: absolute;
    left: 5%;
  }

  .sub_title2 {
    top: 55%;
    left: 5%;
  }

  .news {
    margin-top: 50px;
    margin-bottom: 80px;
  }

  .news .flex {
    width: 100%;
    display: block;
  }

  .news_txt {
    margin-top: 0;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .pop_bt_area {
    width: 80%;
    margin-top: 30px;
  }

  .sp_90 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .border_l {
    border-left: 8px solid #A41E2E;
    left: 5%;
    top: 27%;
  }

  .sub_title {
    left: 8%;
  }

  .view_txt,
  .view_txt2 {
    left: 5%;
  }

  .black_area {
    padding: 50px 0;
  }

  .black_area2 {
    padding: 50px 0;
  }

  .white_area {
    padding: 50px 0;
  }

  .sub_txt2 {
    left: 5%;
  }

  .ac_txt {
    text-align: center;
  }

  .un_title {
    font-size: 9.5vw;
    margin-left: 10px;
  }

  .un_border_l {
    border-left: 8px solid #A41E2E;
    height: 8vw;
  }

  .un_sub_title {
    font-size: 4vw;
  }

  .un_black_area {
    padding: 5% 0;
  }

  .un_hr {
    width: 70%;
    margin-top: 7%;
  }

  .un_txt {
    font-size: 1.8vw;
    width: 90%;
    margin-top: 7%;
  }

  .concept_logo {
    width: 25%;
  }

  .concept_logo img {
    width: 100%;
  }

  .concept_img1 {
    margin-left: auto;
    margin-right: auto;
  }

  .concept_img2 {
    margin-right: auto;
  }

  .txt_area {
    width: 100%;
    max-width: 712px;
    margin-top: -5%;
  }

  .back_smork {
    padding-top: 5%;
    padding-bottom: 5%;
    padding-left: 5%;
    padding-right: 5%;
  }

  .tltw_ks04c {
    margin-top: -5%;
  }

  .un_txt2 {
    font-size: 2vw;
  }

  .un_title2 {
    font-size: 5.5vw;
    margin-left: 10px;
  }

  .un_border_l2 {
    border-left: 8px solid #A41E2E;
    height: 13vw;
  }

  .un_txt3 {
    font-size: 1.8vw;
    width: 90%;
    margin-top: 7%;
  }

  .bu_img {
    width: 150vw;
  }

  .bu_img img {
    width: 100%;
  }

  .un_sub_title2 {
    font-size: 3vw;
  }

  .un_txt4 {
    font-size: 1.8vw;
    width: 95%;
    margin-top: 5%;
  }

  .bu_txt1 {
    font-size: 2.8vw;
  }

  .bu_txt2 {
    font-size: 1.8vw;
  }

  .bu_area>div:nth-of-type(1) {
    width: 25%;
  }

  .bu_area>div:nth-of-type(2) {
    width: 75%;
  }

  .white_box_area {
    width: 100%;
  }

  .white_box p:nth-of-type(2) {
    font-size: 2.9vw;
  }

  .un_border_l3 {
    border-left: 8px solid #A41E2E;
    height: 5.234vw;
  }

  .white_box2 {
    margin-top: 2%;
  }

  .white_box2 .qa {
    font-size: 2.5vw;
  }

  .un_border_l4 {
    border-left: 8px solid #A41E2E;
    height: 4.632vw;
  }

  .un_sub_title3 {
    font-size: 3.5vw;
  }

  .un_hr2 {
    margin-top: 10%;
  }

  .un_txt5 {
    font-size: 2vw;
    margin-top: 2%;
  }

  .f_title {
    width: 45%;
    font-size: 3vw;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  textarea {
    font-size: 2.5vw;
  }

  #under_page3 footer {
    padding: 0 5% 30px 0;
    margin-top: 0;
  }

  .err_msg {
    font-size: 2vw;
  }

  .news_list {
    font-size: 16px;
  }
}

@media screen and (max-width: 800px) {
  .break800:before {
    content: "\A";
    white-space: pre;
  }

  .title,
  .title2 {
    font-size: 7.5vw;
  }

  .sub_title2 {
    top: 55%;
    font-size: 3.8vw;
  }

  .sub_title {
    font-size: 7vw;
  }

  .border_l {
    height: 17vw;
  }

  .view_txt,
  .view_txt2 {
    font-size: 6.4vw;
  }

  .sub_txt,
  .sub_txt2 {
    font-size: 3vw;
  }

  .profile_area {
    margin-top: 15%;
  }

  .news_logo {
    width: 40.9%;
  }

  .sp_logo {
    width: 45%;
  }

  .view_txt:hover::before,
  .view_txt2:hover::before {
    width: 4.9vw;
    bottom: 18%;
    right: -19%;
  }

  .view_txt:hover::after,
  .view_txt2:hover::after {
    width: 33vw;
  }

}

@media screen and (max-width: 700px) {
  .profile_area.flex {
    display: block;
  }

  .profile_area>div {
    width: 100%;
  }

  .profile_area {
    font-size: 3vw;
  }

  .modoru {
    font-size: 16px;
  }

  #under_page3 .flex {
    display: block;
  }

  .f_title {
    width: 100%;
  }

  .field {
    width: 100%;
    margin-top: 2%;
  }

  .err_msg {
    font-size: 2.5vw;
  }

}

@media screen and (max-width: 600px) {
  .news_txt {
    font-size: 18px;
  }

  .view_txt3 {
    font-size: 5.9vw;
  }

  .profile_area {
    font-size: 15px;
  }

  .ac_txt {
    font-size: 15px;
  }

  .view_txt3:hover::before {
    width: 4vw;
    right: -30%;
    bottom: 17%;
  }

  .more li {
    font-size: 30px;
  }

  .pop_bt_txt::after,
  .view_txt::after,
  .view_txt2::after,
  .view_txt3::after,
  .pop_bt_txt::before,
  .view_txt::before,
  .view_txt2::before,
  .view_txt3::before {
    display: none;
  }

  .Text-Span1,
  .Text-Span2,
  .Text-Span3 {
    z-index: 1;
  }

  .Text-Span1:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 0%;
    height: 2px;
    background: #333;
    transition: all 1s;
  }

  .Text-Span2:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 0%;
    height: 2px;
    background: #fff;
    transition: all 1s;
  }

  .Text-Span1.isActive:after {
    width: 110%;
  }

  .Text-Span2.isActive:after {
    width: 120%;
  }

  .Text-Span1::before {
    content: '';
    position: absolute;
    right: -12%;
    bottom: 24%;
    width: 0%;
    height: 2px;
    background: #333;
    transition: all 1s;
    transform: rotate(44deg);
  }

  .Text-Span2::before {
    content: '';
    position: absolute;
    right: -21%;
    bottom: 19%;
    width: 0%;
    height: 2px;
    background: #fff;
    transition: all 1s;
    transform: rotate(44deg);
  }

  .Text-Span1.isActive:before {
    width: 10%;
  }

  .Text-Span2.isActive:before {
    width: 17%;
  }

  .Text-Span3:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 0%;
    height: 2px;
    background: #fff;
    transition: all 1s;
  }

  .Text-Span3.isActive:after {
    width: 120%;
  }

  .Text-Span3::before {
    content: '';
    position: absolute;
    right: -21%;
    bottom: 14%;
    width: 0%;
    height: 2px;
    background: #fff;
    transition: all 1s;
    transform: rotate(44deg);
  }

  .Text-Span3.isActive:before {
    width: 17%;
  }

  .border_l,
  .un_border_l,
  .un_border_l2,
  .un_border_l3,
  .un_border_l4 {
    border-left: 6px solid #A41E2E;
  }

  .f_title {
    font-size: 3.5vw;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  textarea {
    font-size: 3vw;
  }

  .tltw_ks21f {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .err_msg {
    font-size: 3.3vw;
  }

  .news_list {
    display: block;
    font-size: 14px;
  }

  .news_list>div {
    width: 100%;
    padding-bottom: 10%;
  }

  .news_list>div:nth-child(2n) {
    margin-left: 0;
  }
}

@media screen and (max-width: 550px) {
  .un_hr {
    border: 1px solid #A41E2E;
  }

  #under_page1 .un_black_area .flex>div:nth-of-type(1) {
    width: 85%;
  }

  #under_page1 .un_black_area .flex>div:nth-of-type(2) {
    width: 25%;
  }

  #under_page2 .un_black_area .flex>div:nth-of-type(1) {
    width: 90%;
  }

  #under_page2 .un_black_area .flex>div:nth-of-type(2) {
    width: 70%;
  }

}

@media screen and (max-width: 500px) {
  .header_logo img {
    width: 75%;
  }

  .top_space {
    margin-top: 75px;
  }

  .openbtn {
    width: 40px;
    height: 40px;
  }

  .openbtn span:nth-of-type(1) {
    top: 8px;
  }

  .openbtn span:nth-of-type(1),
  .openbtn span:nth-of-type(3) {
    left: 8px;
  }

  .openbtn span:nth-of-type(2) {
    top: 13px;
    left: 6px;
  }

  .openbtn span:nth-of-type(3) {
    top: 32px;
  }

  .openbtn.active {
    top: 18px;
    right: 2.3%;
  }

  .openbtn.active span:nth-of-type(1) {
    top: 13px;
    left: 15px;
  }

  .openbtn.active span:nth-of-type(3) {
    top: 25px;
    left: 15px;
  }

  .title,
  .title2 {
    font-size: 10.5vw;
  }

  .sub_title2 {
    top: 70%;
    font-size: 5vw;
  }

  .news_logo {
    width: 50%;
  }

  .news_txt {
    font-size: 4vw;
  }

  .view_txt2 {
    top: 60%;
  }

  .profile_area {
    font-size: 14px;
  }

  .pop_bt_txt {
    font-size: 4.5vw;
  }

  .sp_logo {
    width: 55%;
  }

  .profile_area {
    font-size: 3.5vw;
  }

  .ac_txt {
    font-size: 14px;
  }

  .view_txt3 {
    font-size: 9vw;
  }

  .pop_bt_txt:hover::before {
    width: 4vw;
    right: -10%;
    bottom: 23%;
  }

  .view_txt3:hover::before {
    width: 6vw;
    bottom: 16%;
  }

  .concept_logo {
    width: 30%;
  }

  .modoru {
    font-size: 14px;
  }

  .hissu {
    font-size: 12px;
  }
}

@media screen and (max-width: 450px) {
  .break450:before {
    content: "\A";
    white-space: pre;
  }

  .hidden450 {
    display: none;
  }

  .un_border_l {
    height: 10vw;
  }

  .un_title {
    font-size: 11.5vw;
  }

  .un_txt {
    font-size: 2.5vw;
  }

  .un_txt2 {
    font-size: 3.5vw;
  }

  .un_fv_txt2 {
    top: 25%;
  }

  .un_border_l2 {
    height: 15.5vw;
  }

  .un_title2 {
    font-size: 6.5vw;
  }

  .un_txt3 {
    font-size: 2.8vw;
  }

  .un_txt4 {
    font-size: 2.5vw;
  }

  .bu_txt1 {
    font-size: 3.5vw;
  }

  .bu_txt2 {
    font-size: 2.5vw;
  }

  .un_sub_title3 {
    font-size: 5vw;
  }

  .un_txt5 {
    font-size: 3vw;
  }

  .f_title {
    font-size: 4.5vw;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  textarea {
    font-size: 4vw;
  }

  .un_border_l3 {
    height: 6.899vw;
  }

  .white_box p:nth-of-type(2) {
    font-size: 4vw;
  }

  .white_box2 .qa {
    font-size: 3.2vw;
  }
}

@media screen and (max-width: 400px) {
  .header_logo img {
    width: 240px;
  }

  .profile_area {
    font-size: 13px;
  }

  .ac_txt {
    font-size: 13px;
  }

  .border_l,
  .un_border_l,
  .un_border_l2,
  .un_border_l3,
  .un_border_l4 {
    border-left: 5px solid #A41E2E;
  }

}