@charset "UTF-8";
.key {
  position: relative;
  height: 670px;
  background: url(../images/index/key_image.jpg) top 70% center/cover no-repeat;
}

.key .key_text {
  position: absolute;
  left: 50%;
  bottom: 50px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (max-width: 2500px) {
  .key {
    background: url(../images/index/key_image.jpg) top 50% center/cover no-repeat;
  }
}

@media screen and (max-width: 2250px) {
  .key {
    background: url(../images/index/key_image.jpg) top 75% center/cover no-repeat;
  }
}

@media screen and (max-width: 2000px) {
  .key {
    background: url(../images/index/key_image.jpg) top 90% center/cover no-repeat;
  }
  .key .key_text {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: -130px;
    -webkit-transform: none;
            transform: none;
    width: 512px;
    height: 375px;
    margin: auto;
  }
}

@media screen and (max-width: 1200px) {
  .key {
    background: url(../images/index/key_image.jpg) top center/cover no-repeat;
  }
}

@media screen and (max-width: 768px) {
  .key {
    position: relative;
    height: 500px;
    background: url(../images/index/key_image.jpg) top center/cover no-repeat;
  }
  .key .key_text {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: -80px;
    -webkit-transform: none;
            transform: none;
    width: 300px;
    height: 220px;
    margin: auto;
  }
}

@media screen and (max-width: 767px) {
  .key {
    background: url(../images/index/sp_key_image.jpg) center/cover no-repeat;
  }
}

.sec01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 100px 0;
}

.sec01 .sec_left {
  width: 380px;
  margin: 0 70px 0 0;
}

.sec01 .sec_left .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
}

.sec01 .sec_left .image {
  margin: 0 15px 0 0;
}

.sec01 .sec_left .name {
  margin: 0 0 20px;
}

.sec01 .sec_left .address {
  font-size: 14px;
  letter-spacing: .1em;
}

.sec01 .sec_left .phone_box {
  padding: 5px 0;
  background: rgba(254, 227, 62, 0.48);
  text-align: center;
}

.sec01 .sec_left .phone_text {
  font-size: 12px;
}

.sec01 .sec_left .phone_num {
  font-size: 30px;
  letter-spacing: .02em;
}

.sec01 .sec_left .phone_num img {
  padding: 0 0 5px;
  vertical-align: middle;
}

.sec01 .sec_right {
  width: 401px;
}

.sec01 .sec_right .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 20px;
}

.sec01 .sec_right .item {
  padding: 5px 8px;
  color: #fff;
  font-weight: 500;
  letter-spacing: .1em;
  text-align: center;
  background: #e76200;
}

@media screen and (max-width: 768px) {
  .sec01 {
    display: block;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 80px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .sec01 .sec_left {
    width: 380px;
    max-width: 100%;
    margin: 0 auto 30px;
  }
  .sec01 .sec_left .flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 20px;
  }
  .sec01 .sec_left .image {
    width: 60px;
    margin: 0 15px 0 0;
  }
  .sec01 .sec_left .name {
    width: 200px;
    margin: 0 0 10px;
  }
  .sec01 .sec_left .address {
    font-size: 14px;
    letter-spacing: .1em;
  }
  .sec01 .sec_left .phone_box {
    padding: 5px 0;
    background: rgba(254, 227, 62, 0.48);
    text-align: center;
  }
  .sec01 .sec_left .phone_text {
    font-size: 12px;
  }
  .sec01 .sec_left .phone_num {
    font-size: 30px;
    letter-spacing: .02em;
  }
  .sec01 .sec_left .phone_num img {
    padding: 0 0 5px;
    vertical-align: middle;
  }
  .sec01 .sec_right {
    width: 380px;
    max-width: 100%;
    margin: 0 auto;
  }
  .sec01 .sec_right .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 10px;
  }
  .sec01 .sec_right .item {
    padding: 5px 8px;
    color: #fff;
    font-weight: 500;
    letter-spacing: .1em;
    text-align: center;
    background: #e76200;
    font-size: 12px;
  }
}

.corona_sec {
  padding: 0 0 100px;
}

.corona_sec .box {
  width: 960px;
  margin: 0 auto;
  padding: 30px 60px;
  border: 2px dashed rgba(42, 106, 175, 0.22);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: rgba(99, 196, 222, 0.22);
}

.corona_sec .sec_title {
  padding: 0 0 10px;
  border-bottom: 1px solid #2a6aaf;
  margin: 0 0 30px;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: .1em;
  text-align: center;
  color: #2a6aaf;
}

.corona_sec .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.corona_sec .item {
  text-align: center;
}

.corona_sec .item:not(:last-of-type) {
  margin: 0 80px 0 0;
}

.corona_sec .item_image {
  margin: 0 0 20px;
}

.corona_sec .item_name {
  font-size: 20px;
  color: #2a6aaf;
}

@media screen and (max-width: 768px) {
  .corona_sec {
    padding: 0 20px 80px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .corona_sec .box {
    width: 100%;
    margin: 0 auto;
    padding: 30px 20px;
    border: 2px dashed rgba(42, 106, 175, 0.22);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: rgba(99, 196, 222, 0.22);
  }
  .corona_sec .sec_title {
    padding: 0 0 10px;
    border-bottom: 1px solid #2a6aaf;
    margin: 0 0 30px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .1em;
    text-align: center;
    color: #2a6aaf;
  }
  .corona_sec .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .corona_sec .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    width: 44%;
  }
  .corona_sec .item:not(:last-of-type) {
    margin: 0;
  }
  .corona_sec .item:nth-child(-n + 2) {
    margin: 0 0 30px;
  }
  .corona_sec .item_image {
    margin: 0 0 10px;
  }
  .corona_sec .item_name {
    font-size: 18px;
    color: #2a6aaf;
  }
}

.sec02 {
  position: relative;
  padding: 400px 0 80px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, transparent), to(#f2efdf));
  background: linear-gradient(to bottom, transparent 0, #f2efdf 100%);
}

.sec02:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 690px;
  background: url(../images/index/family_bg.jpg) center top/cover no-repeat;
}

.sec02 .box {
  position: relative;
  width: 830px;
  padding: 100px 80px 50px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: rgba(255, 255, 255, 0.91);
}

.sec02 .box:before {
  content: "";
  position: absolute;
  top: -45px;
  left: 0;
  right: 0;
  width: 300px;
  height: 90px;
  margin: 0 auto;
  background: url(../images/index/exterior.png) center/contain no-repeat;
}

.sec02 .sec_title {
  position: relative;
  margin: 0 0 30px;
  font-size: 34px;
  letter-spacing: .02em;
  text-align: center;
}

.sec02 .sec_title:before {
  content: "KATABIRA BONESETTER’s POLICY";
  position: absolute;
  top: -50px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 400px;
  font-size: 22px;
  color: #e76200;
}

@media screen and (max-width: 768px) {
  .sec02 {
    position: relative;
    padding: 250px 20px 80px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, transparent), to(#f2efdf));
    background: linear-gradient(to bottom, transparent 0, #f2efdf 100%);
  }
  .sec02:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 690px;
    background: url(../images/index/family_bg.jpg) center top/contain no-repeat;
  }
  .sec02 .box {
    position: relative;
    width: 100%;
    padding: 100px 20px 50px;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: rgba(255, 255, 255, 0.91);
  }
  .sec02 .box:before {
    content: "";
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
    width: 224px;
    height: 67px;
    margin: 0 auto;
    background: url(../images/index/exterior.png) center/contain no-repeat;
  }
  .sec02 .sec_title {
    position: relative;
    margin: 0 0 30px;
    font-size: 22px;
    letter-spacing: .02em;
    text-align: center;
  }
  .sec02 .sec_title:before {
    content: "KATABIRA BONESETTER’s POLICY";
    position: absolute;
    top: -50px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    font-size: 18px;
    color: #e76200;
  }
}

.sec03 {
  padding: 80px 0;
  background: rgba(254, 227, 62, 0.48);
}

.sec03 .inner {
  width: 930px;
  margin: 0 auto;
}

.sec03 .sec_title {
  margin: 0 0 40px;
  font-size: 30px;
  font-weight: 500;
}

.sec03 .sec_title .color {
  font-weight: 500;
  color: #e76200;
}

.sec03 .list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 30px;
}

.sec03 .list:before {
  content: "";
  position: absolute;
  top: -230px;
  right: -30px;
  width: 238px;
  height: 202px;
  background: url(../images/index/lion_voice.png) center/contain no-repeat;
}

.sec03 .item {
  width: 220px;
  border-radius: 12px;
  background: #fff;
}

.sec03 .item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  padding: 20px 10px;
  border-radius: 12px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.sec03 .item:nth-child(-n + 4) {
  margin: 0 0 20px;
}

.sec03 .item_name {
  margin: 0 0 20px;
  font-size: 23px;
  font-weight: 500;
  color: #e76200;
  text-align: center;
}

.sec03 .item_image {
  margin: 0 0 20px;
  text-align: center;
}

.sec03 .item_text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.sec03 .sec_text {
  width: 860px;
  margin: 0 auto 50px;
}

.sec03 .link_banner {
  width: 710px;
  margin: 0 auto;
  background: #fff;
}

.sec03 .link_banner a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 50px;
  background: url(../images/index/btn_bg.jpg) center/cover no-repeat;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.sec03 .link_banner a:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 98%;
  height: 90%;
  border: 1px solid #00578b;
  margin: auto;
}

.sec03 .link_banner a:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  border-right: 10px solid #00578b;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #00578b;
  border-top: 10px solid transparent;
}

.sec03 .link_banner .textbox {
  position: relative;
  width: 340px;
}

.sec03 .link_banner .textbox:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 0;
  width: 68px;
  height: 56px;
  background: url(../images/index/lion_face.png) center/contain no-repeat;
}

.sec03 .link_banner .textbox:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 0;
  width: 32px;
  height: 45px;
  background: url(../images/index/beginner.png) center/contain no-repeat;
}

.sec03 .link_banner .text01 {
  font-size: 15px;
  text-align: center;
}

.sec03 .link_banner .text02 {
  margin: 0 0 10px;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: .2em;
  color: #00578b;
  text-align: center;
}

.sec03 .link_banner .text03 {
  position: relative;
  width: 160px;
  margin: 0 auto;
  font-size: 15px;
  letter-spacing: .2em;
}

.sec03 .link_banner .text03:before {
  content: ">>";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .sec03 {
    padding: 80px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: rgba(254, 227, 62, 0.48);
  }
  .sec03 .inner {
    width: 100%;
    margin: 0 auto;
  }
  .sec03 .sec_title {
    margin: 0 0 40px;
    font-size: 22px;
    font-weight: 500;
    text-align: center;
  }
  .sec03 .sec_title .color {
    font-weight: 500;
    color: #e76200;
  }
  .sec03 .list {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 30px;
  }
  .sec03 .list:before {
    content: "";
    position: absolute;
    top: -235px;
    right: -20px;
    width: 150px;
    height: 127px;
    background: url(../images/index/lion_voice.png) center/contain no-repeat;
  }
  .sec03 .item {
    width: 46%;
    border-radius: 12px;
    background: #fff;
  }
  .sec03 .item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 10px;
    border-radius: 12px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .sec03 .item:nth-child(-n + 6) {
    margin-bottom: 20px;
  }
  .sec03 .item:nth-child(2n-1) {
    margin-right: 20px;
  }
  .sec03 .item_name {
    margin: 0 0 20px;
    font-size: 18px;
    font-weight: 500;
    color: #e76200;
    text-align: center;
  }
  .sec03 .item:nth-of-type(7) .item_name {
    line-height: 3;
  }
  .sec03 .item_image {
    height: 70px;
    margin: 0 0 10px;
    text-align: center;
  }
  .sec03 .item_image img {
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .sec03 .item_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: justify;
    font-size: 15px;
  }
  .sec03 .sec_text {
    width: 100%;
    margin: 0 auto 50px;
  }
  .sec03 .link_banner {
    width: 100%;
    margin: 0 auto;
    background: #fff;
  }
  .sec03 .link_banner a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 30px 20px 200px;
    background: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .sec03 .link_banner a:before {
    content: "";
    position: absolute;
    z-index: 3;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 1px solid #00578b;
    margin: auto;
  }
  .sec03 .link_banner a:after {
    content: "";
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 0;
    border-right: 10px solid #00578b;
    border-left: 10px solid transparent;
    border-bottom: 10px solid #00578b;
    border-top: 10px solid transparent;
  }
  .sec03 .link_banner a .bg {
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 200px;
    background: url(../images/index/sp_btn_bg.jpg) top right/cover no-repeat;
  }
  .sec03 .link_banner a .bg02 {
    content: "";
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, white), color-stop(48%, rgba(255, 255, 255, 0.5)), to(rgba(136, 200, 255, 0.5)));
    background: linear-gradient(to bottom, white 0, rgba(255, 255, 255, 0.5) 48%, rgba(136, 200, 255, 0.5) 100%);
  }
  .sec03 .link_banner .textbox {
    position: relative;
    width: 220px;
    margin: 0 auto;
  }
  .sec03 .link_banner .textbox:before {
    content: "";
    position: absolute;
    left: -35px;
    top: 0;
    bottom: 0;
    width: 40px;
    height: 33px;
    margin: auto 0;
    background: url(../images/index/lion_face.png) center/contain no-repeat;
  }
  .sec03 .link_banner .textbox:after {
    content: "";
    position: absolute;
    right: -25px;
    top: 0;
    bottom: 0;
    width: 25px;
    height: 35px;
    margin: auto 0;
    background: url(../images/index/beginner.png) center/contain no-repeat;
  }
  .sec03 .link_banner .text01 {
    font-size: 15px;
    text-align: center;
  }
  .sec03 .link_banner .text02 {
    margin: 0 0 10px;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: .2em;
    color: #00578b;
    text-align: center;
  }
  .sec03 .link_banner .text03 {
    position: relative;
    width: 160px;
    margin: 0 auto;
    font-size: 15px;
    letter-spacing: .2em;
  }
  .sec03 .link_banner .text03:before {
    content: ">>";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.sec04 {
  position: relative;
  padding: 160px 0 80px;
  overflow: hidden;
  /* 画面内に入った状態 */
}

.sec04:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  border-top: 135px solid #e86d22;
  border-bottom: 135px solid transparent;
  border-left: 25vw solid #e86d22;
  border-right: 25vw solid transparent;
}

.sec04:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  border-top: 135px solid #e86d22;
  border-bottom: 135px solid transparent;
  border-right: 25vw solid #e86d22;
  border-left: 25vw solid transparent;
}

.sec04 .sec_header {
  position: relative;
}

.sec04 .sec_header:before {
  content: "";
  position: absolute;
  left: 65px;
  top: 40px;
  width: 142px;
  height: 136px;
  background: url(../images/index/lion_illust01.png) center/contain no-repeat;
}

.sec04 .sec_header:after {
  content: "";
  position: absolute;
  right: 65px;
  top: 100px;
  width: 132px;
  height: 144px;
  background: url(../images/index/lion_illust02.png) center/contain no-repeat;
}

.sec04 .sec_title {
  position: relative;
  padding: 40px 0 0;
  margin: 0 0 150px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: .05em;
  text-align: center;
}

.sec04 .sec_title:before {
  content: "KATABIRA PROMISE";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 22px;
  color: #e86d22;
}

.sec04 .sec_title:after {
  content: "";
  position: absolute;
  bottom: -120px;
  left: 0;
  right: 0;
  width: 297px;
  height: 86px;
  margin: 0 auto;
  background: url(../images/index/smile.png) center/contain no-repeat;
}

.sec04 .sec_title span {
  vertical-align: middle;
  font-weight: 500;
}

.sec04 .sec_title .color {
  font-weight: 500;
  color: #e86d22;
}

.sec04 .sec_title .large {
  font-size: 53px;
}

.sec04 .cont {
  padding: 0 20px;
  margin: 0 0 100px;
}

.sec04 .cont_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 90px;
}

.sec04 .cont_header .cont_num {
  position: relative;
  margin: 0 40px 0 0;
  text-align: center;
}

.sec04 .cont_header .cont_num:before {
  content: "";
  position: absolute;
  left: -10px;
  bottom: -40px;
  width: 111px;
  height: 32px;
  background: url(../images/index/smile.png) center/contain no-repeat;
}

.sec04 .cont_header .num_text {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1;
}

.sec04 .cont_header .num {
  font-size: 77px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1;
}

.sec04 .cont_header .cont_title {
  font-size: 30px;
  font-weight: 500;
  letter-spacing: .02em;
}

.sec04 .cont_body {
  position: relative;
}

.sec04 .cont_body .cont_image {
  position: absolute;
  z-index: -1;
  top: -30px;
}

.sec04 .cont_body .textbox {
  width: 600px;
}

.sec04 .cont_body .fukidashi {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .02em;
  text-align: center;
}

.sec04 .cont_body .lead_text {
  width: 430px;
  padding: 20px;
  margin: 0 0 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: rgba(232, 109, 34, 0.2);
  font-size: 21px;
  font-weight: 500;
  letter-spacing: .02em;
}

.sec04 .cont_body .cont_text {
  text-align: justify;
  line-height: 2;
}

.sec04 .cont01 .cont_image, .sec04 .cont03 .cont_image {
  left: -250px;
}

.sec04 .cont01 .textbox, .sec04 .cont03 .textbox {
  margin: 0 0 0 auto;
}

.sec04 .cont01 .cont_text, .sec04 .cont03 .cont_text {
  width: 405px;
  margin: 0 0 0 auto;
}

.sec04 .cont01 .fukidashi01, .sec04 .cont03 .fukidashi01 {
  z-index: 2;
  top: -180px;
  right: 80px;
  width: 199px;
  height: 168px;
  background: url(../images/index/fukidashi01.png) center/contain no-repeat;
}

.sec04 .cont01 .fukidashi02, .sec04 .cont03 .fukidashi02 {
  top: -50px;
  right: -20px;
  width: 197px;
  height: 155px;
  padding: 0 0 40px;
  background: url(../images/index/fukidashi02.png) center/contain no-repeat;
}

.sec04 .cont02 .cont_header, .sec04 .cont04 .cont_header {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.sec04 .cont02 .cont_header .cont_num, .sec04 .cont04 .cont_header .cont_num {
  margin: 0;
}

.sec04 .cont02 .cont_header .cont_title, .sec04 .cont04 .cont_header .cont_title {
  margin: 0 40px 0 0;
}

.sec04 .cont02 .cont_image, .sec04 .cont04 .cont_image {
  right: -250px;
}

.sec04 .cont02 .textbox, .sec04 .cont04 .textbox {
  margin: 0 auto 0 0;
}

.sec04 .cont02 .lead_text, .sec04 .cont04 .lead_text {
  margin: 0 0 30px auto;
}

.sec04 .cont02 .cont_text, .sec04 .cont04 .cont_text {
  width: 405px;
  margin: 0 auto 0 0;
}

.sec04 .cont02 .fukidashi01, .sec04 .cont04 .fukidashi01 {
  z-index: 2;
  top: -190px;
  left: 80px;
  width: 217px;
  height: 153px;
  background: url(../images/index/fukidashi03.png) center/contain no-repeat;
}

.sec04 .cont02 .fukidashi02, .sec04 .cont04 .fukidashi02 {
  top: -90px;
  left: -60px;
  width: 233px;
  height: 164px;
  background: url(../images/index/fukidashi04.png) center/contain no-repeat;
}

.sec04 .fadein {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  -webkit-transition: all 500ms;
  transition: all 500ms;
}

.sec04 .fadein.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

@media screen and (max-width: 768px) {
  .sec04 {
    position: relative;
    padding: 120px 0 80px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow: hidden;
  }
  .sec04:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    border-top: 80px solid #e86d22;
    border-bottom: 80px solid transparent;
    border-left: 25vw solid #e86d22;
    border-right: 25vw solid transparent;
  }
  .sec04:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    border-top: 80px solid #e86d22;
    border-bottom: 80px solid transparent;
    border-right: 25vw solid #e86d22;
    border-left: 25vw solid transparent;
  }
  .sec04 .sec_header {
    position: relative;
    width: 360px;
    max-width: 100%;
    margin: 0 auto;
  }
  .sec04 .sec_header:before {
    content: "";
    position: absolute;
    left: 0;
    top: 180px;
    width: 100px;
    height: 96px;
    background: url(../images/index/lion_illust01.png) center/contain no-repeat;
  }
  .sec04 .sec_header:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 180px;
    width: 90px;
    height: 98px;
    background: url(../images/index/lion_illust02.png) center/contain no-repeat;
  }
  .sec04 .sec_title {
    position: relative;
    padding: 40px 0 0;
    margin: 0 0 150px;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: .05em;
    text-align: center;
  }
  .sec04 .sec_title:before {
    content: "KATABIRA PROMISE";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 300px;
    margin: 0 auto;
    font-size: 18px;
    color: #e86d22;
  }
  .sec04 .sec_title:after {
    content: "";
    position: absolute;
    bottom: -60px;
    left: 0;
    right: 0;
    width: 200px;
    height: 58px;
    margin: 0 auto;
    background: url(../images/index/smile.png) center/contain no-repeat;
  }
  .sec04 .sec_title span {
    vertical-align: middle;
    font-weight: 500;
  }
  .sec04 .sec_title .color {
    font-weight: 500;
    color: #e86d22;
  }
  .sec04 .sec_title .large {
    font-size: 30px;
  }
  .sec04 .cont {
    padding: 0;
    margin: 0 0 60px;
  }
  .sec04 .cont_header {
    display: block;
    margin: 0 0 50px;
  }
  .sec04 .cont_header .cont_num {
    position: relative;
    margin: 0 0 30px;
    text-align: center;
  }
  .sec04 .cont_header .cont_num:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -20px;
    width: 80px;
    height: 23px;
    margin: 0 auto;
    background: url(../images/index/smile.png) center/contain no-repeat;
  }
  .sec04 .cont_header .num_text {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1;
  }
  .sec04 .cont_header .num {
    font-size: 40px;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1;
  }
  .sec04 .cont_header .cont_title {
    font-size: 19px;
    font-weight: 500;
    letter-spacing: .02em;
    text-align: center;
  }
  .sec04 .cont_body {
    position: relative;
  }
  .sec04 .cont_body .cont_image {
    position: absolute;
    z-index: -1;
    top: -30px;
  }
  .sec04 .cont_body .cont_image:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, transparent), color-stop(60%, rgba(255, 255, 255, 0.2)), to(rgba(255, 255, 255, 0.8)));
    background: linear-gradient(to bottom, transparent 0, rgba(255, 255, 255, 0.2) 60%, rgba(255, 255, 255, 0.8) 100%);
  }
  .sec04 .cont_body .textbox {
    width: 100%;
    padding: 180px 0 0;
  }
  .sec04 .cont_body .fukidashi {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .02em;
    text-align: center;
  }
  .sec04 .cont_body .lead_text {
    width: auto;
    padding: 20px 10px;
    margin: 0  0 30px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: rgba(232, 109, 34, 0.5);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .02em;
    color: #fff;
  }
  .sec04 .cont_body .cont_text {
    padding: 0 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: justify;
    line-height: 2;
    text-shadow: #fff 1px 1px 1px, #fff -1px 0px 1px, #fff 0px -1px 1px, #fff 0px 1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px, #fff 1px 1px 1px, #fff -1px 1px 1px, #fff 1px -1px 1px, #fff -1px -1px 1px;
  }
  .sec04 .cont01 .cont_image, .sec04 .cont03 .cont_image {
    left: -250px;
    margin: 0 20px 0 0;
  }
  .sec04 .cont01 .textbox, .sec04 .cont03 .textbox {
    margin: 0 0 0 auto;
  }
  .sec04 .cont01 .cont_text, .sec04 .cont03 .cont_text {
    width: 100%;
    margin: 0 0 0 auto;
  }
  .sec04 .cont01 .fukidashi01, .sec04 .cont03 .fukidashi01 {
    z-index: 2;
    top: 80px;
    right: 120px;
    width: 110px;
    height: 93px;
    background: url(../images/index/fukidashi01.png) center/contain no-repeat;
  }
  .sec04 .cont01 .fukidashi02, .sec04 .cont03 .fukidashi02 {
    top: 100px;
    right: 5px;
    width: 120px;
    height: 94px;
    padding: 0 0 40px;
    background: url(../images/index/fukidashi02.png) center/contain no-repeat;
  }
  .sec04 .cont02 .cont_header, .sec04 .cont04 .cont_header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .sec04 .cont02 .cont_header .cont_num, .sec04 .cont04 .cont_header .cont_num {
    margin: 0 0 30px;
  }
  .sec04 .cont02 .cont_header .cont_title, .sec04 .cont04 .cont_header .cont_title {
    margin: 0;
  }
  .sec04 .cont02 .cont_image, .sec04 .cont04 .cont_image {
    right: -250px;
    margin: 0 0 0 20px;
  }
  .sec04 .cont02 .textbox, .sec04 .cont04 .textbox {
    margin: 0 auto 0 0;
  }
  .sec04 .cont02 .lead_text, .sec04 .cont04 .lead_text {
    margin: 0 20px 30px 0;
  }
  .sec04 .cont02 .cont_text, .sec04 .cont04 .cont_text {
    width: 100%;
    margin: 0 auto 0 0;
  }
  .sec04 .cont02 .fukidashi01, .sec04 .cont04 .fukidashi01 {
    z-index: 2;
    top: 80px;
    left: 115px;
    width: 130px;
    height: 91px;
    background: url(../images/index/fukidashi03.png) center/contain no-repeat;
  }
  .sec04 .cont02 .fukidashi02, .sec04 .cont04 .fukidashi02 {
    top: 100px;
    left: 5px;
    width: 130px;
    height: 91px;
    background: url(../images/index/fukidashi04.png) center/contain no-repeat;
  }
  .sec04 .cont04 .cont_image {
    right: -50px;
  }
}

.sec05 {
  padding: 80px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: rgba(254, 227, 62, 0.48);
}

.sec05 .inner {
  position: relative;
}

.sec05 .inner:before {
  content: "";
  position: absolute;
  left: 100px;
  top: 0;
  width: 211px;
  height: 82px;
  background: url(../images/index/cloud_illust01.png) center/contain no-repeat;
}

.sec05 .inner:after {
  content: "";
  position: absolute;
  right: 50px;
  top: 0;
  width: 182px;
  height: 134px;
  background: url(../images/index/cloud_illust02.png) center/contain no-repeat;
}

.sec05 .sec_title {
  position: relative;
  padding: 50px 0 0;
  margin: 0 0 60px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: .02em;
  text-align: center;
}

.sec05 .sec_title:before {
  content: "MESSAGE";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 22px;
  color: #e76200;
}

.sec05 .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 80px;
}

.sec05 .textbox {
  margin: 0 30px 0 0;
}

.sec05 .lead_text {
  margin: 0 0 30px;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.8;
}

.sec05 .image_wrap {
  text-align: center;
}

.sec05 .sec_image {
  width: 253px;
}

.sec05 .image_name {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .02em;
}

.sec05 .box {
  position: relative;
  width: 790px;
  padding: 50px 120px;
  border-bottom: 1px solid #e76200;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
}

.sec05 .box:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 45%;
  height: 1px;
  background: #e76200;
}

.sec05 .box:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 45%;
  height: 1px;
  background: #e76200;
}

.sec05 .box_title {
  position: absolute;
  left: 50%;
  top: -20px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 26px;
}

.sec05 .box_title:before {
  content: "CAREER";
  position: absolute;
  top: -30px;
  left: -25px;
  width: 100px;
  font-size: 22px;
  text-align: center;
  color: #e76200;
}

.sec05 .dlist .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.sec05 .dlist .row:not(:last-of-type) {
  margin: 0 0 10px;
}

.sec05 .dlist .term {
  margin: 0 80px 0 0;
  font-size: 18px;
}

.sec05 .dlist .desc {
  font-size: 18px;
}

@media screen and (max-width: 768px) {
  .sec05 {
    padding: 80px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: rgba(254, 227, 62, 0.48);
  }
  .sec05 .inner {
    position: relative;
  }
  .sec05 .inner:before {
    content: "";
    position: absolute;
    left: 0px;
    top: -40px;
    width: 150px;
    height: 58px;
    background: url(../images/index/cloud_illust01.png) center/contain no-repeat;
  }
  .sec05 .inner:after {
    content: "";
    position: absolute;
    right: -20px;
    top: -55px;
    width: 110px;
    height: 80px;
    background: url(../images/index/cloud_illust02.png) center/contain no-repeat;
  }
  .sec05 .sec_title {
    position: relative;
    padding: 50px 0 0;
    margin: 0 0 60px;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: .02em;
    text-align: center;
  }
  .sec05 .sec_title:before {
    content: "MESSAGE";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-size: 18px;
    color: #e76200;
  }
  .sec05 .flexbox {
    display: block;
    margin: 0 0 80px;
  }
  .sec05 .textbox {
    margin: 0;
  }
  .sec05 .lead_text {
    margin: 0 0 50px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.8;
  }
  .sec05 .image_wrap {
    float: right;
    text-align: center;
    margin: 0 0 10px 10px;
  }
  .sec05 .sec_image {
    width: 120px;
    width: 33.3vw;
  }
  .sec05 .sec_image img {
    width: 100%;
  }
  .sec05 .image_name {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .02em;
    text-align: center;
  }
  .sec05 .box {
    position: relative;
    width: 100%;
    padding: 50px 20px;
    border-bottom: 1px solid #e76200;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: #fff;
  }
  .sec05 .box:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 40%;
    height: 1px;
    background: #e76200;
  }
  .sec05 .box:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 40%;
    height: 1px;
    background: #e76200;
  }
  .sec05 .box_title {
    position: absolute;
    left: 50%;
    top: -20px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-size: 20px;
  }
  .sec05 .box_title:before {
    content: "CAREER";
    position: absolute;
    top: -30px;
    left: -25px;
    width: 100px;
    font-size: 18px;
    text-align: center;
    color: #e76200;
  }
  .sec05 .dlist .row {
    display: block;
  }
  .sec05 .dlist .row:not(:last-of-type) {
    margin: 0 0 30px;
  }
  .sec05 .dlist .term {
    margin: 0 0 10px;
    font-size: 16px;
  }
  .sec05 .dlist .desc {
    font-size: 16px;
  }
}

.link_sec {
  padding: 80px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.link_sec .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.link_sec .blog_link {
  width: 295px;
  margin: 0 0 30px;
}

.link_sec .blog_link a {
  position: relative;
  display: block;
  width: 100%;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: .02em;
}

.link_sec .blog_link a:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 34px;
  height: 34px;
  margin: auto 0;
  background: url(../images/index/arrow.png) center/contain no-repeat;
}

.link_sec .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 540px;
}

.link_sec .item {
  width: 262px;
}

.link_sec .item_image {
  height: 186px;
}

.link_sec .item_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.link_sec .item_title {
  font-size: 23px;
  line-height: 1.2;
  color: #E76200;
}

.link_sec .link_banner01 {
  margin: 0 0 20px;
}

@media screen and (max-width: 768px) {
  .link_sec {
    padding: 80px 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .link_sec .inner {
    display: block;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .link_sec .sec_left {
    margin: 0 0 50px;
  }
  .link_sec .blog_link {
    width: 230px;
    max-width: 100%;
    margin: 0 auto 30px 0;
  }
  .link_sec .blog_link a {
    position: relative;
    display: block;
    width: 100%;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: .02em;
  }
  .link_sec .blog_link a:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 25px;
    height: 25px;
    margin: auto 0;
    background: url(../images/index/arrow.png) center/contain no-repeat;
  }
  .link_sec .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
  .link_sec .item {
    width: 41.6vw;
  }
  .link_sec .item:nth-of-type(1) {
    margin: 0 5.5vw 0 0;
  }
  .link_sec .item_image {
    width: 41.6vw;
    height: 41.6vw;
  }
  .link_sec .item_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .link_sec .item_title {
    font-size: 16px;
    line-height: 1.2;
    color: #E76200;
  }
  .link_sec .sec_right {
    text-align: center;
  }
  .link_sec .link_banner01 {
    margin: 0 0 20px;
  }
}
/*# sourceMappingURL=style.css.map */