.mv {
  height: calc(100vh + 100px);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  align-items: center; }
  .mv .catch {
    z-index: 2;
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 100px; }
  .mv .ca_logo {
    margin-right: 460px;
    margin-left: -70px;
    z-index: 2; }
    .mv .ca_logo img {
      width: 140px;
      height: auto; }
  .mv .ca_txt {
    color: white;
    font-size: 3.2rem;
    font-weight: normal;
    letter-spacing: 4px;
    writing-mode: vertical-rl;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(0, 0, 0, 0.7); }
  .mv .slds {
    width: 100%;
    height: 112vh; }
  .mv .sld {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; }
    .mv .sld img {
      width: 100%; }
  .mv .sd1 {
    background: url("../images/top_img1.jpg") bottom center/cover; }
  .mv .sd2 {
    background: url("../images/top_img2.jpg") bottom center/cover; }
  .mv .sd3 {
    background: url("../images/top_img3.jpg") bottom center/cover; }
  .mv .sd4 {
    background: url("../images/top_img4.jpg") bottom right/cover; }

.logo_top {
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.7)) drop-shadow(0 0 10px rgba(0, 0, 0, 0.7)); }

.news {
  position: absolute;
  bottom: 14px;
  width: 100%;
  color: white;
  z-index: 4; }
  .news .news_in {
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    background: red;
    color: white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center; }
  .news .news_ttl {
    padding: 25px 40px;
    box-sizing: border-box;
    font-size: 2rem;
    width: 20%; }
  .news .ticker {
    width: 65%; }
    .news .ticker li {
      color: white;
      padding: 20px 40px;
      box-sizing: border-box;
      display: block;
      height: 80px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      align-items: center; }
    .news .ticker a {
      color: white; }
  .news .ticker_btn {
    width: 15%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    align-items: center; }
    .news .ticker_btn p {
      display: block;
      padding: 0 5px;
      box-sizing: border-box;
      cursor: pointer; }
      .news .ticker_btn p img {
        height: 20px;
        width: auto;
        vertical-align: middle; }
    .news .ticker_btn .tbb {
      padding: 10px;
      display: block;
      cursor: pointer; }
      .news .ticker_btn .tbb img {
        height: 20px;
        width: auto;
        vertical-align: middle; }

.sec1 {
  border-radius: 100px 100px 0 0;
  position: relative;
  top: -100px;
  background: #ffffff;
  padding: 200px 0 0 0;
  z-index: 2; }

.sec2 {
  position: relative;
  top: -100px;
  padding: 120px 0 0 0; }
  .sec2 .logo_sec2 {
    text-align: center; }
    .sec2 .logo_sec2 img {
      width: 110px;
      height: auto; }
  .sec2 .btn_1c {
    margin: 80px auto 0 auto; }

.sec_2_2 {
  margin: 100px 0 120px 0;
  position: relative;
  top: -100px; }
  .sec_2_2 .ab_txb3 {
    text-align: center; }

.sec3 {
  color: white;
  border-top: 8px solid #fbfbe1;
  box-sizing: border-box;
  padding-bottom: 100px; }
  .sec3 .inner {
    position: relative; }
  .sec3 .fox2_r, .sec3 .fox2_l {
    position: absolute;
    top: -78px;
    right: 0;
    width: 60px;
    height: auto; }
  .sec3 .fox2_l {
    right: auto;
    left: 0; }
  .sec3 .titles_vr {
    padding: 120px 0;
    box-sizing: border-box; }
  .sec3 .ld {
    text-align: center; }
    .sec3 .ld .btn_more {
      width: 20px;
      height: auto;
      vertical-align: middle;
      position: relative;
      margin-right: 10px;
      top: -3px; }

.sec3 {
  background: url("../images/s3_pt.png") top center, linear-gradient(to bottom, #c83a03 0%, #c83a03 40%, #e94709 100%); }

.bxw_2c {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 100px auto 0 auto; }

.s2_bx {
  text-align: center;
  max-width: 450px;
  margin: 0 auto;
  padding-bottom: 100px;
  box-sizing: border-box;
  position: relative; }
  .s2_bx .btn_btm {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0; }
  .s2_bx .num {
    font-size: 5rem; }
  .s2_bx .ttl {
    font-size: 2.4rem;
    margin-bottom: 30px; }
  .s2_bx .txt {
    text-align: left;
    padding: 0 20px;
    box-sizing: border-box; }
  .s2_bx .kg {
    display: block; }

.bxw_3c {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1600px;
  margin: 100px auto; }
  .bxw_3c .s2_bx {
    width: 33.3333%; }

.sec4 .s4_tbl {
  display: none; }

.s4_kv {
  padding: 300px 0;
  margin-bottom: 50px;
  box-sizing: border-box; }

.s4_kv {
  background: url("../images/s4_bg.jpg") center center/cover; }

.s4_tbl {
  margin: 0 0 100px 0;
  padding: 40px 0;
  box-sizing: border-box;
  background: url("../images/s4_pt.jpg") top center; }

.s4_tbl {
  background: url("../images/s4_pt.jpg") top center; }

.tlh3 {
  text-align: center;
  font-size: 2.4rem;
  color: #de001f;
  padding: 40px 0;
  letter-spacing: 5px;
  box-sizing: border-box; }

.bx_s5 {
  padding: 60px;
  border: 1px solid #b7b4b7;
  box-sizing: border-box;
  background: white; }

.line_s5 {
  width: 1px;
  height: 45px;
  background: #b7b4b7;
  margin: 0 auto; }

.sec5 .inner {
  max-width: 1600px; }

.sec5 {
  background: url(../images/cl1.png) left -3% bottom no-repeat;
  background-size: 15% auto; }

.sec6_1, .sec6_2, .sec6_3 {
  padding: 100px 0 0 0;
  box-sizing: border-box; }
  .sec6_1 .inner, .sec6_2 .inner, .sec6_3 .inner {
    max-width: 1600px; }
  .sec6_1 .fl, .sec6_2 .fl, .sec6_3 .fl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    align-items: center; }
  .sec6_1 .in1, .sec6_2 .in1, .sec6_3 .in1 {
    min-height: 500px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    align-items: center; }

.sec6_2 .in2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  align-items: center;
  min-height: 500px; }
.sec6_2 .photo_l .img {
  width: 55%;
  position: absolute;
  height: 100%;
  left: 0;
  top: 0; }
  .sec6_2 .photo_l .img:before {
    left: auto;
    right: -25px; }
.sec6_2 .txt {
  margin-top: 40px; }

.sec6_3 .txt {
  margin-top: 40px; }

.sec6_2 {
  background: url(../images/cl2.png) right -3% top 10px no-repeat;
  background-size: 15% auto; }

.sec6_3 {
  padding-bottom: 100px;
  box-sizing: border-box; }

.sec6_3 {
  background: url(../images/cl1.png) left -3% bottom -20px no-repeat;
  background-size: 15% auto; }

.photo_r, .photo_l {
  position: relative; }
  .photo_r .img, .photo_l .img {
    width: 55%;
    position: absolute;
    height: 100%;
    right: 0;
    top: 0; }
    .photo_r .img:before, .photo_l .img:before {
      content: "";
      position: absolute;
      top: -25px;
      left: -25px;
      background: white;
      width: 50px;
      height: 50px;
      transform: rotate(45deg); }
  .photo_r .ct, .photo_l .ct {
    width: 37%; }

.sq_h2 {
  font-size: 2.4rem;
  color: #de001f;
  letter-spacing: 5px;
  box-sizing: border-box;
  position: relative;
  padding-left: 35px;
  margin-bottom: 40px;
  font-weight: normal; }
  .sq_h2 .kg {
    display: block; }
  .sq_h2:before {
    content: "";
    position: absolute;
    height: 10px;
    width: 10px;
    top: 8px;
    left: 0;
    background: #e74203; }
  .sq_h2:after {
    content: "";
    position: absolute;
    height: 10px;
    width: 10px;
    top: 18px;
    left: 10px;
    background: #fbfbe1; }

.red_line_sq {
  padding: 20px 40px;
  box-sizing: border-box;
  border: 1px solid #e7e7e6;
  position: relative;
  background: white;
  margin-top: 40px; }
  .red_line_sq:before {
    content: "";
    position: absolute;
    width: 4px;
    height: 100%;
    background: #e74203;
    left: 5px;
    top: 0; }
  .red_line_sq ul {
    margin-left: 20px; }
  .red_line_sq li {
    padding-left: 15px;
    position: relative; }
    .red_line_sq li:before {
      content: "";
      width: 3px;
      height: 3px;
      position: absolute;
      top: 12px;
      left: 0;
      background: #e74203; }
  .red_line_sq .num {
    margin-right: 20px; }
    .red_line_sq .num span {
      color: #e94708;
      font-size: 2rem;
      margin-right: 10px;
      font-weight: bold; }

.s61img {
  background-image: url("../images/s61.jpg");
  background-position: center center; }

.s62img {
  background-image: url("../images/s62.jpg");
  background-position: center center; }

.s63img {
  background-image: url("../images/s63.jpg");
  background-position: center center; }

.kv_s7, .kv_s9 {
  padding: 250px 0;
  margin-bottom: 80px;
  box-sizing: border-box;
  position: relative; }
  .kv_s7:before, .kv_s9:before {
    content: "";
    position: absolute;
    bottom: -25px;
    right: -25px;
    background: white;
    width: 50px;
    height: 50px;
    transform: rotate(45deg); }

.kv_s7, .kv_s9 {
  background: url(../images/s7_bg.jpg) center center/cover; }

.sec7 .btn_btm {
  margin: 50px 0; }

.sec8 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  margin: 80px 0;
  padding: 100px 0;
  color: white;
  box-sizing: border-box; }
  .sec8 .fox_s8 {
    text-align: center;
    position: absolute;
    width: 100%;
    bottom: -40px; }
    .sec8 .fox_s8 img {
      width: 80px;
      height: auto; }
  .sec8 .bx {
    width: 50%;
    position: relative; }
    .sec8 .bx:nth-of-type(1) {
      border-right: 1px solid #b03101;
      box-sizing: border-box; }
  .sec8 .txt_bx {
    max-width: 550px;
    margin: 0 auto;
    padding: 0 30px 80px 30px;
    box-sizing: border-box; }
  .sec8 .ttl {
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 40px;
    color: white; }
    .sec8 .ttl .kg {
      display: block; }
  .sec8 .btn_btm {
    width: 100%;
    position: absolute;
    bottom: 0;
    text-align: center; }

.sec8 {
  background: url("../images/s8_pt.png") top center, linear-gradient(to bottom, #c83a03 0%, #e94709 100%); }

.kv_s9:before {
  content: "";
  position: absolute;
  right: auto;
  left: -25px; }

.kv_s9 {
  background: url(../images/s9_bg.jpg) center center/cover; }

.area6 {
  margin: 80px auto 60px auto;
  width: 95%;
  max-width: 1600px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative; }
  .area6:before {
    content: "";
    width: 90%;
    height: 1px;
    background: #e74f15;
    top: 50%;
    left: 5%;
    position: absolute; }
  .area6 .left, .area6 .right {
    width: 47%;
    background: #e74f15;
    color: white;
    padding: 50px 60px;
    box-sizing: border-box;
    position: relative; }
  .area6 .ttl {
    color: #e74f15;
    text-align: center;
    position: absolute;
    width: 100%;
    top: -54px;
    left: 0;
    font-size: 20px;
    font-weight: bold; }
    .area6 .ttl .numl {
      font-size: 4rem;
      margin-right: 5px; }
  .area6 .left ul {
    margin-left: 20px; }
  .area6 .left li {
    list-style-type: disc; }
  .area6 .right .red_bg {
    width: 100%;
    text-align: center; }
    .area6 .right .red_bg ul {
      display: inline-block;
      text-align: left; }

.bg_glay {
  background: #f5f8f8;
  display: inline-block;
  font-size: 1.4rem;
  padding: 5px 14px;
  box-sizing: border-box; }

.sec10 {
  margin: 80px 0 160px 0px; }
  .sec10 .photo_l2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative; }
    .sec10 .photo_l2 .img {
      position: relative;
      width: 50%; }
      .sec10 .photo_l2 .img:before {
        content: "";
        position: absolute;
        top: -25px;
        right: -25px;
        width: 50px;
        height: 50px;
        transform: rotate(45deg);
        background: white; }
    .sec10 .photo_l2 .ct {
      width: 50%;
      padding: 50px 70px;
      box-sizing: border-box; }
  .sec10 .txt {
    margin-top: 40px; }
  .sec10 .ttls {
    font-size: 2.4rem;
    color: #de001f;
    text-align: center;
    margin: 80px 0 40px 0;
    letter-spacing: 5px;
    box-sizing: border-box; }
  .sec10 .btn_btm {
    margin-top: 50px; }

.s101img {
  background-image: url("../images/s101.jpg");
  background-position: center center; }

.sec11 .ttl_cir {
  width: 360px;
  height: 360px;
  margin: 0 auto;
  border-radius: 100%;
  background: #e74f15;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  align-items: center; }
  .sec11 .ttl_cir:before {
    content: "";
    position: absolute;
    background: #e74f15;
    width: 3000px;
    height: 1px;
    top: 50%;
    left: -1500px; }
  .sec11 .ttl_cir .titles {
    text-align: left;
    writing-mode: vertical-rl;
    margin: 0 auto;
    color: white; }
    .sec11 .ttl_cir .titles .fs {
      font-size: 1.4rem;
      letter-spacing: 3px;
      margin-left: 20px; }

.left_1k {
  max-width: 900px;
  margin: 80px auto 60px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  align-items: center; }
  .left_1k .font_1c {
    width: 25%;
    border-right: 1px solid #cfcdcf;
    box-sizing: border-box; }
    .left_1k .font_1c .jp {
      font-size: 5rem; }
  .left_1k .ttls {
    font-size: 2.4rem;
    color: #e74f15;
    font-weight: normal; }
  .left_1k .ct {
    width: 75%;
    padding-left: 60px;
    box-sizing: border-box; }

.s4_tbl {
  background: url("../images/s4_pt.jpg") top center; }

.fox_11 {
  position: absolute;
  top: -70px;
  left: 0; }
  .fox_11 img {
    width: 60px;
    height: auto; }

.tb_sec11 {
  display: none;
  background: #e94708;
  color: white;
  width: 95%;
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
  padding: 50px 0;
  box-sizing: border-box; }
  .tb_sec11:before {
    content: "";
    position: absolute;
    bottom: -25px;
    right: -25px;
    background: white;
    width: 50px;
    height: 50px;
    transform: rotate(45deg); }
  .tb_sec11:after {
    content: "";
    position: absolute;
    bottom: -25px;
    left: -25px;
    background: white;
    width: 50px;
    height: 50px;
    transform: rotate(45deg); }

.sec12 {
  color: white;
  box-sizing: border-box;
  padding: 100px 0 30px 0; }
  .sec12 .inner {
    position: relative; }
  .sec12 .titles_vr {
    padding: 120px 0;
    box-sizing: border-box; }
  .sec12 .titles {
    text-orientation: upright;
    color: white;
    writing-mode: vertical-rl;
    margin: 0 auto 60px auto; }
  .sec12 .lead {
    text-align: center;
    margin-bottom: 30px; }

.sec12 {
  background: url("../images/s3_pt.png") top center, linear-gradient(to bottom, #c83a03 0%, #c83a03 20%, #e94709 100%); }

.s13_tl {
  text-align: center;
  position: relative; }
  .s13_tl .lef {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -20px; }
    .s13_tl .lef img {
      height: 60px;
      width: auto; }
  .s13_tl .rig {
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -20px; }
    .s13_tl .rig img {
      height: 60px;
      width: auto; }
  .s13_tl:before {
    content: "";
    height: 1px;
    width: 100%;
    top: calc(50% + 10px);
    left: 0;
    background: #e94709;
    position: absolute; }
  .s13_tl .logo_mini {
    width: 40px;
    height: auto; }
  .s13_tl .titles {
    background: white;
    display: inline-block;
    writing-mode: vertical-rl;
    border-right: 1px solid #e94709;
    border-left: 1px solid #e94709;
    padding: 30px 40px;
    box-sizing: border-box;
    text-align: left;
    z-index: 2;
    position: relative; }
    .s13_tl .titles .fs {
      font-size: 1.4rem;
      letter-spacing: 3px;
      margin-left: 15px; }

.sec13 {
  padding: 200px 0 100px 0;
  box-sizing: border-box; }
  .sec13 .lead {
    margin: 80px 0; }

.point4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .point4 .bx {
    width: 25%;
    color: white;
    background: url("../images/s13_bg.jpg") center center;
    position: relative;
    padding: 120px 50px 150px 50px;
    margin-right: 1px;
    box-sizing: border-box; }
    .point4 .bx .num {
      font-size: 4rem;
      text-align: center;
      color: #e94709;
      position: absolute;
      top: -53px;
      left: 0;
      width: 100%;
      font-weight: bold; }
    .point4 .bx .img {
      text-align: center; }
      .point4 .bx .img img {
        height: 40px; }
    .point4 .bx .tls {
      text-align: center;
      color: white;
      font-size: 2rem;
      margin: 60px 0 20px 0; }
    .point4 .bx .btn_btm {
      position: absolute;
      bottom: 80px;
      left: 0;
      width: 100%; }

.sec14 .inner {
  max-width: 1600px; }
.sec14 h3.tls {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  color: #e94709;
  margin-top: 80px; }
  .sec14 h3.tls .kg {
    display: block; }

.s14_kv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-items: center;
  position: relative;
  min-height: 600px;
  margin-bottom: 60px; }
  .s14_kv .img {
    width: 55%;
    position: absolute;
    height: 100%;
    right: 0;
    top: 0; }
    .s14_kv .img:before {
      content: "";
      position: absolute;
      top: -25px;
      left: -25px;
      background: white;
      width: 50px;
      height: 50px;
      transform: rotate(45deg); }
  .s14_kv .ume {
    width: 40px;
    height: auto;
    position: absolute;
    left: 29%;
    top: 158px; }
  .s14_kv .ct {
    margin: 0 auto;
    width: 95%;
    max-width: 1600px;
    display: block; }
    .s14_kv .ct:before {
      content: "";
      position: absolute;
      top: 180px;
      left: 0;
      height: 1px;
      width: 1000px;
      background: #e94709; }
  .s14_kv .tls {
    font-weight: normal;
    color: #e94709;
    background: white;
    position: relative;
    writing-mode: vertical-rl;
    padding: 30px;
    text-orientation: upright;
    box-sizing: border-box;
    border-right: 1px solid #e94709;
    border-left: 1px solid #e94709;
    margin-bottom: 100px; }
    .s14_kv .tls .fs, .s14_kv .tls .fm {
      display: block; }
      .s14_kv .tls .fs .kg, .s14_kv .tls .fm .kg {
        display: block; }
    .s14_kv .tls .fs {
      font-size: 1.4rem;
      margin-left: 10px; }
    .s14_kv .tls .fm {
      font-size: 2.4rem; }
  .s14_kv .lead {
    font-size: 2rem;
    font-weight: bold;
    color: #e94709; }

.kv14 {
  background-image: url("../images/kv_14.jpg");
  background-position: center center; }

.companys {
  padding: 60px 0;
  box-sizing: border-box; }
  .companys .titles {
    margin: 0 auto;
    writing-mode: vertical-rl;
    color: white;
    text-align: left; }
    .companys .titles .fs {
      font-size: 1.4rem;
      letter-spacing: 2px;
      margin-left: 20px; }
    .companys .titles .fm {
      font-size: 2.4rem; }

.companys {
  background-image: url("../images/top_cm.jpg");
  background-position: center center; }

.sec15 .infos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 30px 0; }
  .sec15 .infos dl {
    width: 32%;
    margin-bottom: 20px; }
  .sec15 .infos dd {
    font-size: 1.4rem;
    color: #333; }

/*------------------------------------------------------------
media
------------------------------------------------------------*/
@media screen and (max-width: 1240px) {
  .sec1 {
    border-radius: 100px 100px 0 0;
    padding: 150px 0 0 0; }

  .mv .ca_txt {
    font-size: 2.4rem; }
  .mv .ca_logo {
    margin-right: 280px; }

  .news {
    bottom: 20px; }
    .news .ticker_btn {
      width: 15%; }
      .news .ticker_btn .tbb img {
        height: 15px; }
    .news .ticker li {
      padding: 0px 30px; }
    .news .news_ttl {
      padding: 15px 30px;
      font-size: 1.6rem; }

  .point4 {
    flex-wrap: wrap; }
    .point4 .bx {
      width: 50%;
      background: url(../images/s13_bg.jpg) center center;
      padding: 120px 50px 150px 50px;
      margin-right: 0; }
    .point4 .bx:nth-of-type(3) .num, .point4 .bx:nth-of-type(4) .num {
      color: white;
      top: -10px; } }
@media screen and (max-width: 1024px) {
  .news .news_in {
    width: 85%; }

  .sec1 {
    border-radius: 60px 60px 0 0;
    padding: 150px 0 0 0; }

  .sec3 .fox2_r, .sec3 .fox2_l {
    top: -38px;
    width: 30px; }

  .bxw_2c {
    display: block;
    margin: 50px auto 0 auto; }

  .s2_bx {
    max-width: 700px;
    margin: 0 auto 50px auto;
    padding-bottom: 70px; }
    .s2_bx .ttl {
      font-size: 2rem;
      margin-bottom: 20px; }
    .s2_bx .txt {
      padding: 0; }
    .s2_bx .num {
      font-size: 4rem; }
    .s2_bx .kg {
      display: inline; }

  .bxw_3c {
    display: block;
    margin: 0 auto 50px auto; }
    .bxw_3c .s2_bx {
      width: 100%; }

  .s4_kv {
    padding: 200px 0;
    margin-bottom: 20px; }

  .bx_s5 {
    padding: 30px 40px; }

  .photo_r .img, .photo_l .img {
    width: 100%;
    position: relative;
    height: 400px; }
  .photo_r .ct, .photo_l .ct {
    width: 100%; }

  .sec6_1, .sec6_2, .sec6_3 {
    padding: 50px 0 0 0; }
    .sec6_1 .in1, .sec6_2 .in1, .sec6_3 .in1 {
      min-height: 0;
      display: block; }
    .sec6_1 .fl, .sec6_2 .fl, .sec6_3 .fl {
      display: block; }

  .sec6_3 {
    margin-bottom: 50px; }

  .sq_h2 {
    font-size: 2rem;
    padding-left: 35px;
    margin-top: 30px;
    margin-bottom: 25px; }
    .sq_h2 .kg {
      display: inline; }

  .red_line_sq {
    margin-bottom: 20px; }

  .btn_1c {
    margin: 50px auto; }

  .sec6_2 .photo_l .img {
    width: 100%;
    position: relative;
    height: 400px; }
  .sec6_2 .in2 {
    display: block;
    min-height: 0; }

  .sec8 {
    display: block;
    margin: 80px 0;
    padding: 60px 0; }
    .sec8 .bx {
      width: 100%; }
    .sec8 .left {
      margin-bottom: 50px; }
    .sec8 .ttl {
      font-size: 2rem;
      margin-bottom: 30px; }
      .sec8 .ttl .kg {
        display: inline; }
    .sec8 .txt_bx {
      max-width: 100%;
      padding: 0 6.25% 60px 6.35%; }

  .kv_s7, .kv_s9 {
    padding: 200px 0; }

  .area6 {
    margin: 50px auto 40px auto;
    display: block;
    width: 87.5%; }
    .area6 .left, .area6 .right {
      width: 100%;
      padding: 30px; }
    .area6 .right {
      margin-top: 60px; }
    .area6 .ttl {
      top: -39px;
      font-size: 1.6rem; }
      .area6 .ttl .numl {
        font-size: 3rem; }

  .area6:before {
    width: 1px;
    height: 150px;
    top: 40%;
    left: 50%; }

  .sec10 .photo_l2 {
    display: block; }
  .sec10 .photo_l2 .img {
    width: 100%;
    height: 400px; }
  .sec10 .photo_l2 .ct {
    width: 100%;
    padding: 40px 6.25%; }
  .sec10 .ttls {
    font-size: 2rem;
    margin: 20px 0 20px 0; }

  .sec11 .ttl_cir .titles .fs {
    font-size: 1.2rem;
    margin-left: 10px; }

  .sec11 .ttl_cir {
    width: 270px;
    height: 270px; }

  .left_1k {
    margin: 60px 6.25% 40px 6.25%; }
    .left_1k .ttls {
      font-size: 2rem; }

  .point4 .bx {
    width: 50%;
    padding: 100px 25px 140px 25px; }

  .s14_kv {
    display: block;
    min-height: 0;
    margin-bottom: 40px; }
    .s14_kv .img {
      width: 100%;
      position: relative;
      height: 300px; }
    .s14_kv .ume {
      left: 64%;
      top: 91px; }
    .s14_kv .ct {
      width: 87.5%; }
      .s14_kv .ct:before {
        top: 110px; }
    .s14_kv .tls {
      margin-bottom: 40px; }
    .s14_kv .lead {
      font-size: 1.8rem;
      text-align: center;
      margin-bottom: 50px; }

  .companys {
    padding: 20px 0; }

  .sec15 .infos dl {
    width: 48%; } }
@media screen and (max-width: 768px) {
  .mv .ca_logo {
    margin-right: 130px; }
  .mv .sd1 {
    background: url("../images/top_img1.jpg") bottom right/cover; }
  .mv .sd2 {
    background: url("../images/top_img2.jpg") bottom right/cover; }
  .mv .sd3 {
    background: url("../images/top_img3.jpg") bottom right -60px/cover; }
  .mv .sd4 {
    background: url("../images/top_img4.jpg") bottom left/cover; }

  .news {
    bottom: 41px; }
    .news .ticker li {
      height: 40px; } }
@media screen and (max-width: 695px) {
  .mv {
    height: calc(100vh - 50px); }
    .mv .catch {
      padding-right: 0;
      padding-left: 0;
      position: relative;
      top: 0px;
      margin-bottom: 50px; }
    .mv .slds {
      height: 100vh; }
    .mv .ca_txt {
      font-size: 1.8rem; }
    .mv .ca_logo {
      margin-right: 100px;
      margin-left: -35px; }
      .mv .ca_logo img {
        min-width: 70px;
        width: 70px; }
    .mv .sd1 {
      background: url("../images/top_img1_sp.jpg") bottom center/cover; }
    .mv .sd2 {
      background: url("../images/top_img2.jpg") bottom center/cover; }
    .mv .sd3 {
      background: url("../images/top_img3_sp.jpg") bottom center/cover; }
    .mv .sd4 {
      background: url("../images/top_img4_sp.jpg") bottom center/cover; }

  .sec1 {
    padding: 130px 0 0 0;
    top: 0; }

  .sec2 {
    top: 20px;
    padding: 60px 0 0 0; }

  .sec2.fades2.is-active {
    margin-bottom: 0; }

  .fades2.is-active {
    top: 0; }

  .sec2 .logo_sec2 img {
    width: 80px; }

  .sec3 {
    margin-top: 100px;
    padding-bottom: 40px; }
    .sec3 .titles_vr {
      padding: 80px 0; }

  .s2_bx .ttl {
    font-size: 1.8rem; }

  .bxw_3c {
    margin: 0 6.25% 50px 6.25%; }

  .s4_kv {
    padding: 120px 0 100px 0;
    margin-bottom: 20px; }

  .tlh3 {
    font-size: 2rem;
    letter-spacing: 2px;
    padding: 20px 0; }

  .bx_s5 {
    padding: 20px; }

  .photo_r .img, .photo_l .img {
    height: 200px; }

  .sq_h2 {
    font-size: 1.7rem;
    letter-spacing: 3px;
    padding-left: 21px; }

  .sq_h2:before {
    height: 6px;
    width: 6px;
    top: 6px; }

  .sq_h2:after {
    height: 6px;
    width: 6px;
    top: 12px;
    left: 6px; }

  .sec6_2 .photo_l .img {
    height: 200px; }

  .kv_s7, .kv_s9 {
    padding: 120px 0 100px; }

  .sec8 .ttl {
    font-size: 1.8rem;
    margin-bottom: 20px; }

  .bg_glay {
    font-size: 1.2rem; }

  .sec10 {
    margin: 80px 0 80px 0; }
    .sec10 .photo_l2 .img {
      height: 200px; }
    .sec10 .btn_btm {
      margin-top: 20px; }
    .sec10 .ttls {
      font-size: 1.8rem;
      margin: 20px 0 20px 0; }

  .sec11 .ttl_cir {
    width: 200px;
    height: 200px; }

  .left_1k {
    display: block; }
    .left_1k .font_1c {
      display: block;
      width: 100%;
      border-right: none; }
      .left_1k .font_1c .jp {
        font-size: 3.5rem; }
    .left_1k .ttls {
      font-size: 1.8rem; }
    .left_1k .ct {
      width: 100%;
      padding-left: 0;
      margin-top: 20px; }
      .left_1k .ct .ttls {
        text-align: center;
        margin-bottom: 10px; }

  .sec12 {
    padding: 60px 0 30px 0; }
    .sec12 h2.titles {
      font-size: 2rem; }

  .s13_tl .lef, .s13_tl .rig {
    display: none; }
  .s13_tl .titles {
    padding: 30px 30px; }

  .sec13 .lead {
    margin: 40px 6.25% 80px 6.25%;
    text-align: left !important; }

  .point4 .bx .img img {
    height: 25px; }

  .point4 .bx {
    width: 100%;
    padding: 65px 25px 130px 25px;
    border-top: 1px solid white; }
    .point4 .bx .num {
      font-size: 3rem;
      top: -36px; }
    .point4 .bx .tls {
      margin: 30px 0 20px 0; }
    .point4 .bx .btn_btm {
      bottom: 45px; }
  .point4 .bx:nth-of-type(2) .num, .point4 .bx:nth-of-type(3) .num, .point4 .bx:nth-of-type(4) .num {
    color: white;
    position: relative;
    top: -30px; }

  .s14_kv .ume {
    left: 77%;
    top: 97px;
    width: 25px; }
  .s14_kv .tls .fm {
    font-size: 2rem; }
  .s14_kv .img {
    height: 200px; }

  .sec14 h3.tls {
    font-size: 1.8rem;
    margin-top: 50px; }

  .sec15 .infos dl {
    width: 100%; }

  .sec1 {
    border-radius: 0; }

  .news {
    bottom: -79px; }
    .news .news_in {
      width: 100%;
      display: block;
      padding: 15px 15px 5px 15px;
      position: relative; }
    .news .news_ttl {
      text-align: left;
      width: 100%;
      padding: 0;
      font-size: 1.3rem; }
    .news .ticker {
      width: 100%; }
      .news .ticker a {
        padding: 10px 0;
        display: block; }
    .news .ticker_btn {
      width: auto;
      position: absolute;
      right: 40px;
      top: 5px;
      left: auto; }
      .news .ticker_btn .tbb {
        display: block; }
        .news .ticker_btn .tbb img {
          height: 10px; }

  .s61img {
    background-image: url(../images/s61.jpg);
    background-position: center center;
    background-size: cover; }

  .s62img {
    background-size: cover; }

  .s63img {
    background-size: cover; }

  .s2_bx .num {
    font-size: 3rem;
    margin-bottom: 10px; }

  .s2_bx .ttl {
    font-size: 1.7rem; }

  .photo_r .img:before, .photo_l .img:before {
    content: "";
    position: absolute;
    top: -12.5px;
    left: -12.5px;
    background: white;
    width: 25px;
    height: 25px;
    transform: rotate(45deg); }

  .sec6_3 .txt {
    margin-top: 10px; }

  .kv_s7, .kv_s9 {
    margin-bottom: 50px; }

  .sec8 .ttl {
    padding: 0 6.25%;
    box-sizing: border-box;
    font-size: 1.7rem; }

  .sec8 .fox_s8 {
    bottom: -26px; }

  .sec8 .fox_s8 img {
    width: 50px; }

  .area6 {
    margin: 60px auto 40px auto; }
    .area6 .ttl {
      top: -36px; }

  .area6 .left, .area6 .right {
    padding: 20px; }

  .s101img, .kv14 {
    background-size: cover; }

  .sec13 {
    padding: 130px 0 100px 0; }

  .sec15 .infos dd {
    font-size: 1.2rem; }

  .sec6_2 .photo_l .img:before {
    right: -12.5px; }

  .sec10 .photo_l2 .img:before {
    top: -12.5px;
    right: -12.5px;
    width: 25px;
    height: 25px; }

  .s14_kv .img:before {
    top: -12.5px;
    left: -12.5px;
    width: 25px;
    height: 25px; }

  .s4_tbl {
    margin: 0 0 40px 0;
    padding: 20px 0; }

  .kv_s7:before, .kv_s9:before {
    bottom: -12.5px;
    right: -12.5px;
    width: 25px;
    height: 25px; }

  .red_line_sq {
    padding: 20px 30px;
    margin-top: 20px; }
    .red_line_sq .num {
      margin-right: 15px; }
      .red_line_sq .num span {
        font-size: 1.6rem;
        margin-right: 5px; }

  .sec6_2 .txt {
    margin-top: 20px; }

  .companys .titles .fm {
    font-size: 2rem; }

  .companys .titles .fs {
    font-size: 1.2rem; }

  .sec15 .infos dl {
    margin-bottom: 10px; }

  .tb_sec11:after {
    bottom: -12.5px;
    left: -12.5px;
    width: 25px;
    height: 25px; }

  .tb_sec11:before {
    bottom: -12.5px;
    right: -12.5px;
    width: 25px;
    height: 25px; }

  .red_line_sq li {
    padding-left: 10px; }
  .red_line_sq li:before {
    top: 9px; }

  .news .ticker li {
    padding: 10px 0;
    height: 40px; }

  .sec2 .btn_1c {
    margin: 30px auto 0 auto; }

  .sec_2_2 {
    margin: 30px 0 80px 0;
    top: 0; }

  .s4_kv {
    background: url("../images/s4_bg_sp.jpg") center center/cover; }

  .s61img {
    background: url("../images/s61_sp.jpg") center center/cover; }

  .s62img {
    background: url("../images/s62_sp.jpg") center center/cover; }

  .s63img {
    background: url("../images/s63_sp.jpg") center center/cover; }

  .kv_s7 {
    background: url("../images/s7_bg_sp.jpg") center center/cover; }

  .kv_s9 {
    background: url("../images/s9_bg_sp.jpg") center center/cover; }

  .s101img {
    background: url("../images/s101_sp.jpg") center center/cover; } }
/*--media_end--*/

/*# sourceMappingURL=top.css.map */
