.ff_shippori {
  font-family: "Shippori Mincho", serif
}
.ff_albert {
  font-family: "Albert Sans", sans-serif
}
.ir_contents .ir_contents_area {
  padding-top: 0
}
#integrated_head {
  position: relative
}
#integrated_head .txt_area {
  width: 100%;
  padding-top: 4rem;
  position: absolute;
  top: 0;
  left: 0
}
#integrated_head .txt_area:where(#integrated_report *) .inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start
}
#integrated_head .head_label {
  width: 65%;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1;
  padding: .5em 4rem;
  background: linear-gradient(90deg, #fff 0%, #fff 50%, transparent 100%);
  transform: translateX(-4rem)
}
#integrated_head .head_label:where(#integrated_report *) {
  width: 56%
}
#integrated_head .head_catch {
  width: 60%;
  margin: 2.5rem 0 2rem;
  font-size: 2rem;
  font-weight: 700;
  border-bottom: 1px solid #000
}
#integrated_head .head_ttl {
  font-size: 4.3rem;
  font-weight: 700;
  line-height: 1.3
}
#integrated_head .head_txt {
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.4;
  position: absolute;
  bottom: -25%;
  right: 43%;
}
#integrated_head .head_txt.int_top {
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.4;
  position: absolute;
  bottom: -5vw;
  right: 43%;
  text-shadow: 0 0 5px #fff;
}
#integrated_head .head_txt span {
  font-size: 40%
}
#integrated_head .head_btn {
  display: inline-block;
  margin-top: 2.5em;
  font-size: 1.8rem;
  font-weight: 600;
  color: #fff;
  padding: .5em 4em .5em 2em;
  background: #140c0d url(/common/img/icon_arrow_cwr03.png) no-repeat center right 1em/1.5em;
  border-radius: 40px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .4)
}
#integrated_head .head_btn:hover {
  background-color: #636464
}
#integrated_head .head_img img {
  width: 100%
}
#integrated_head.lower .head_label {
  width: auto;
  font-size: 1.9rem;
  line-height: 1.6;
  padding: 0;
  background: rgba(0, 0, 0, 0);
  transform: translateX(0)
}
#integrated_head.lower .head_label span {
  font-size: 90%
}
#integrated_head.lower .head_catch {
  width: auto
}
#integrated_head.type01 {
  background-color: #eff5f3;
  border-bottom-left-radius: 174px
}
#integrated_head.type01 .head_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center
}
#integrated_head.type01 .head_wrap .ttl_area {
  width: 60%
}
#integrated_head.type01 .head_wrap .img {
  padding-top: 1rem;
  width: 35%
}
#integrated_head.type01 .head_wrap .value {
  max-width: 328px
}
#integrated_head.type01 .head_wrap .strengths {
  max-width: 333px
}
#integrated_head.type01 .head_wrap .assignment {
  max-width: 334px
}
#integrated_head.type01 .head_ttl {
  width: fit-content;
  font-size: 4rem;
  padding-bottom: .2em;
  border-bottom: 1px solid #000
}
#integrated_head.type02 {
  overflow: hidden
}
#integrated_head.type02 .txt_inner {
  width: fit-content;
  padding: 4rem 8rem 50% 0;
  background-color: rgba(73, 177, 146, .9);
  border-top-right-radius: 40px;
  position: relative
}
#integrated_head.type02 .txt_inner::before {
  content: "";
  width: calc((100vw - 250px - 900px)/2);
  height: 100%;
  background-color: rgba(73, 177, 146, .9);
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-100%)
}
#integrated_head.type02 .txt_inner::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 20px;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #49b192;
  opacity: .9;
  position: absolute;
  top: 15rem;
  left: 100%
}
#integrated_head.type02 .head_label {
  color: #fff;
  padding: 0 .4em
}
#integrated_head.type02 .head_catch {
  color: #fff;
  padding-bottom: .3em;
  margin: 0 0 .5em;
  font-size: 4rem;
  font-weight: 600;
  border-bottom-color: #fff;
  position: relative
}
#integrated_head.type02 .head_catch::before {
  content: "";
  width: calc((100vw - 250px - 900px)/2);
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateX(-100%)
}
#integrated_head.type02 .head_ttl {
  color: #0e4648;
  font-size: 3rem;
  line-height: 1.6
}
#integrated_head.type02 .head_txt {
  width: fit-content;
  font-size: 2.9rem;
  line-height: 1.3;
  margin: 0 0 0 auto
}
#integrated_head.type02 .person_area {
  position: absolute;
  top: 5%
}
#integrated_head.type02 .person_area .img {
  padding: 0 5%
}
#integrated_head.type02 .person_area .head_txt {
  color: #fff;
  font-size: 2.4rem;
  position: absolute;
  top: 20%;
  right: 0
}
#integrated_head.type02 .person_area .head_txt span {
  display: inline-block;
  line-height: 1.8
}
#integrated_head.type02 .person_area.production {
  right: 27%
}
#integrated_head.type02 .person_area.overseas {
  right: 17%
}
#integrated_head.type02 .person_area.sunsho {
  right: 23%
}
#integrated_head.type02 .person_area.topic01 {
  right: 12%
}
#integrated_head.type02 .person_area.topic02 {
  right: 12%
}
#integrated_head.type02 .person_area.topic03 {
  right: 23%
}
#integrated_head.type02 .head_feature {
  color: #1b8488;
  font-weight: 600;
  text-align: center;
  line-height: 1;
  padding: 7.2rem 1vw 1rem;
  background-color: #0e4648;
  position: absolute;
  top: 4rem;
  left: 0
}
#integrated_head.type02 .head_feature .txt {
  font-size: 1.8rem
}
#integrated_head.type02 .head_feature .num {
  font-size: 4.6rem
}
#integrated_top {
  background-color: #eff5f5
}
#integrated_top .integrated_top_ttl {
  font-size: 2.6rem;
  font-weight: 600;
  width: fit-content;
  padding: .8em .2em .1em .5em;
  border-left: 9px solid #1b8488;
  border-bottom: 1px solid #1b8488
}
#integrated_top .integrated_list {
  display: flex;
  justify-content: space-between
}
#integrated_top .integrated_list li {
  width: 24%
}
#integrated_top .top_area {
  padding-bottom: 8rem;
  background-color: #fff;
  border-bottom-left-radius: 120px
}
#integrated_top .top_area .integrated_list li {
  border-top: 1px solid #1b8488
}
#integrated_top .top_area .integrated_list a:hover .list_btn {
  background-color: #636464;
  background-image: url(/common/img/icon_arrow_cwr04.png)
}
#integrated_top .top_area .integrated_list .img {
  height: 24rem;
  padding: 0 1rem;
  display: flex;
  justify-content: center;
  align-items: flex-end
}
#integrated_top .top_area .integrated_list .list_btn {
  margin-top: 1em;
  height: 5em;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  padding: 1em 1.5em;
  background: #1b8488 url(/common/img/icon_arrow_cwr01.png) no-repeat bottom 1em right 1em/1.5em;
  border: 3px solid #eeeded;
  border-top-left-radius: 20px;
  border-bottom-right-radius: 20px;
  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, .2);
  display: flex;
  align-items: center;
  transition-duration: .5s
}
#integrated_top .btm_area {
  padding-top: 8rem
}
#integrated_top .btm_area .integrated_list {
  margin-top: 3rem
}
#integrated_top .btm_area .integrated_list li {
  width: 46.66666667%
}
#integrated_top .btm_area .integrated_list a:hover img {
  transform: scale(1.1);
  filter: brightness(70%)
}
#integrated_top .btm_area .integrated_list .img {
  overflow: hidden
}
#integrated_top .btm_area .integrated_list .img img {
  transition-duration: .5s
}
#integrated_top .btm_area .integrated_list .list_num {
  font-size: 4rem;
  font-weight: 800;
  color: #1b8488
}
#integrated_top .btm_area .integrated_list .list_ttl {
  font-size: 2rem;
  font-weight: 600;
  margin-left: 1em
}
#integrated_top .btm_area .integrated_list .list_txt {
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: .8em
}
#integrated_top .btm_area .integrated_list .ttl_area {
  margin-top: 1em;
  border-bottom: 2px solid #1b8488;
  display: flex;
  align-items: center
}
#newest {
  margin-top: 8rem
}
.sec_integrated {
  padding: 8rem 0
}
#message .sec_integrated {
  padding: 5rem 0
}
.integrated_sec_ttl {
  font-size: 2.3rem;
  font-weight: 600;
  padding: 0 1.5em .2em;
  width: 100%;
  height: auto;
  aspect-ratio: 900/85;
  background: url(../img/sec_bg_ttl.png) no-repeat center/contain;
  display: flex;
  align-items: center
}
.integrated_sec_txt {
  font-size: 1.8rem;
  line-height: 2
}
.integrated_sec_txt span {
  font-size: 80%
}
.lower_link_area {
  border-top-color: #49b192
}
.lower_link_area .inner {
  max-width: 1000px
}
.lower_link_area .lower_link_wrap {
  align-items: flex-start
}
.lower_link_area .lower_link_ttl {
  margin-right: 2rem;
  white-space: nowrap
}
.lower_link_area .lower_link_list {
  flex-wrap: wrap;
  padding-top: .2em
}
.lower_link_area .lower_link_list li {
  margin-bottom: .5em
}
.lower_link_area .lower_link_list a {
  background-image: url(/common/img/icon_arrow_gr02.png)
}
.lower_link_area .lower_link_list a:hover {
  color: #49b192
}
.bg_gray {
  background-color: #eff5f3
}
@media screen and (min-width: 768px)and (max-width: 1240px) {
  #integrated_head .txt_area {
    padding-top: 3.2vw
  }
  #integrated_head .head_label {
    font-size: 2.2vw
  }
  #integrated_head .head_catch {
    font-size: 1.6vw
  }
  #integrated_head .head_ttl {
    font-size: 2.8vw
  }
  #integrated_head .head_txt {
    font-size: 2.4vw;
    position: absolute;
    bottom: -10%;
    right: 40%;
  }
  #integrated_head .head_btn {
    font-size: 1.4vw;
    margin-top: 1em
  }
  #integrated_head.lower .head_label {
    font-size: 1.5vw
  }
  #integrated_head.type01 .head_ttl {
    font-size: 3.2vw
  }
  #integrated_head.type02 .head_catch {
    font-size: 2.8vw
  }
  #integrated_head.type02 .head_txt {
    font-size: 2.3vw
  }
  #integrated_head.type02 .txt_inner::before {
    width: 1.5rem
  }
  #integrated_head.type02 .head_ttl {
    font-size: 1.8vw
  }
  #integrated_head.type02 .head_feature {
    padding-top: 1rem;
    top: 0
  }
  #integrated_head.type02 .head_feature .txt {
    font-size: 1.4vw
  }
  #integrated_head.type02 .head_feature .num {
    font-size: 3.7vw
  }
  #integrated_head.type02 .person_area .head_txt {
    font-size: 1.6vw
  }
  #integrated_top .top_area .integrated_list .list_btn {
    font-size: 1.4vw
  }
  #integrated_top .integrated_top_ttl {
    font-size: 2vw
  }
  #integrated_top .btm_area .integrated_list .list_num {
    font-size: 3.2vw
  }
  #integrated_top .btm_area .integrated_list .list_ttl {
    font-size: 1.6vw
  }
  #integrated_top .btm_area .integrated_list .list_txt {
    font-size: 1.4vw
  }
  .integrated_sec_ttl {
    font-size: 1.8vw
  }
  .integrated_sec_txt {
    font-size: 1.4vw
  }
  #integrated_head.type02 .person_area.topic01 {
    width: 31%;
    right: 17%
  }
  #integrated_head.type02 .person_area.topic02 {
    width: 30%;
    right: 18%
  }
  #integrated_head.type02 .person_area.topic03 {
    width: 40%
  }
}
@media screen and (max-width: 767px) {
  #integrated_head .txt_area {
    padding-top: 2rem
  }
  #integrated_head .txt_area:where(#integrated_report *) .inner {
    align-items: flex-start;
    padding-left: 8vw
  }
  #integrated_head .head_label {
    font-size: 3.8vw;
    padding: .5em 1.5rem;
    transform: translateX(-1.5rem)
  }
  #integrated_head .head_label:where(#integrated_report *) {
    width: 80%
  }
  #integrated_head .head_catch {
    width: 60%;
    margin: 1rem 0;
    font-size: 2.6vw
  }
  #integrated_head .head_ttl {
    font-size: 5.7vw
  }
  #integrated_head .head_txt {
    margin-top: .2em;
    font-size: 4.5vw
  }
  #integrated_head .head_txt:where(#integrated_report *) {
    margin-right: auto
  }
  #integrated_head .head_btn {
    font-size: 3.3vw
  }
  #integrated_head .head_btn:where(#integrated_report *) {
    margin-top: 5.6em;
    margin-right: auto
  }
#integrated_head .head_txt.int_top {
    font-size: 2rem;
    bottom: 18%;
    left: 9%;
}
  #integrated_head.type01 {
    background-color: #fff;
    border-bottom-left-radius: 0
  }
  #integrated_head.type01 .inner {
    padding: 0
  }
  #integrated_head.type01 .head_wrap {
    display: block
  }
  #integrated_head.type01 .head_wrap .ttl_area {
    width: 100%;
    padding: 2rem 1.5rem 0;
    background-color: #eff5f3;
    position: relative
  }
  #integrated_head.type01 .head_wrap .ttl_area::before {
    content: "";
    width: 100%;
    height: 7rem;
    background-color: #eff5f3;
    border-bottom-left-radius: 87px;
    position: absolute;
    top: 100%;
    left: 0
  }
  #integrated_head.type01 .head_wrap .img {
    padding-top: 0;
    width: 100%;
    margin: 1rem 1.5rem 0 auto;
    position: relative
  }
  #integrated_head.type01 .head_wrap .value {
    max-width: 194px
  }
  #integrated_head.type01 .head_wrap .strengths {
    max-width: 208px
  }
  #integrated_head.type01 .head_wrap .assignment {
    max-width: 167px
  }
  #integrated_head.type01 .head_ttl {
    font-size: 6vw;
    margin-top: .2em
  }
  #integrated_head.type02 .txt_inner {
    padding: 2rem 2rem 12rem .5rem;
    border-top-right-radius: 20px
  }
  #integrated_head.type02 .txt_inner::before {
    width: 1.5rem;
    transform: translateX(-100%)
  }
  #integrated_head.type02 .txt_inner::after {
    border-width: 8px 0 8px 12px;
    top: 8rem
  }
  #integrated_head.type02 .head_catch {
    font-size: 5.6vw
  }
  #integrated_head.type02 .head_catch::before {
    width: 5rem
  }
  #integrated_head.type02 .head_ttl {
    font-size: 4.8vw
  }
  #integrated_head.type02 .head_txt {
    font-size: 4.3vw
  }
  #integrated_head.type02 .person_area .img {
    padding: 0;
    width: 50%;
    margin: 0 0 0 63vw;
  }
  #integrated_head.type02 .person_area.topic02 .img {
    padding: 0;
    width: 50%;
    margin: 0 0 0 56vw;
  }
  #integrated_head.type02 .person_area .head_txt {
    font-size: 3.8vw;
    top: 62%;
    right: 30%
  }
  #integrated_head.type02 .person_area.production, #integrated_head.type02 .person_area.overseas, #integrated_head.type02 .person_area.sunsho {
    right: -5%
  }
  #integrated_head.type02 .person_area.topic01, #integrated_head.type02 .person_area.topic02, #integrated_head.type02 .person_area.topic03 {
    right: -5%
  }
  #integrated_head.type02 .head_feature {
    padding: 3.7rem 1vw 1rem;
    top: 2rem
  }
  #integrated_head.type02 .head_feature .txt {
    font-size: 2.4vw
  }
  #integrated_head.type02 .head_feature .num {
    font-size: 6.4vw
  }
  #integrated_head.type02 .set_feature {
    padding-left: 2.5rem
  }
  #integrated_top .integrated_top_ttl {
    font-size: 4.5vw;
    border-left-width: 4px
  }
  #integrated_top .integrated_list {
    flex-wrap: wrap
  }
  #integrated_top .integrated_list li {
    width: 100%
  }
  #integrated_top .top_area {
    padding-bottom: 4rem;
    border-bottom-left-radius: 60px
  }
  #integrated_top .top_area .integrated_list a {
    padding: 2rem 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-end
  }
  #integrated_top .top_area .integrated_list .img {
    height: auto;
    padding: 0;
    display: block;
    width: 45%
  }
  #integrated_top .top_area .integrated_list .list_btn {
    margin-top: 0;
    width: 48%;
    font-size: 3.4vw;
    padding: 1em 1.2em;
    border-width: 2px
  }
  #integrated_top .btm_area {
    padding-top: 4rem
  }
  #integrated_top .btm_area .integrated_list {
    margin-top: 0
  }
  #integrated_top .btm_area .integrated_list li {
    width: 100%;
    margin-top: 2rem
  }
  #integrated_top .btm_area .integrated_list a {
    display: flex;
    justify-content: space-between;
    align-items: flex-start
  }
  #integrated_top .btm_area .integrated_list .img {
    width: 40%
  }
  #integrated_top .btm_area .integrated_list .list_num {
    font-size: 7.6vw
  }
  #integrated_top .btm_area .integrated_list .list_ttl {
    font-size: 4vw
  }
  #integrated_top .btm_area .integrated_list .list_txt {
    font-size: 3.4vw
  }
  #integrated_top .btm_area .integrated_list .txt_area {
    width: 53%
  }
  #integrated_top .btm_area .integrated_list .ttl_area {
    margin-top: 0;
    border-width: 1px
  }
  #newest {
    margin-top: 4rem
  }
  .sec_integrated {
    padding: 4rem 0
  }
  .integrated_sec_ttl {
    font-size: 4.2vw;
    line-height: 1.4;
    aspect-ratio: 667/101;
    background-image: url(../img/sec_bg_ttl_sp.png)
  }
  .integrated_sec_ttl.line2 {
    font-size: 4.8vw;
    aspect-ratio: 665/161;
    background-image: url(../img/sec_bg_ttl_sp2.png)
  }
  .integrated_sec_ttl.line3 {
    font-size: 4.8vw;
    aspect-ratio: 667/207;
    background-image: url(../img/sec_bg_ttl_sp3.png)
  }
  .integrated_sec_txt {
    font-size: 3.7vw
  }
  .lower_link_area .lower_link_list {
    padding-top: 0
  }
  .lower_link_area .lower_link_list li {
    margin-bottom: 0
  }
  .lower_link_area .lower_link_list li:nth-child(odd) {
    border-right: none
  }
  .lower_link_area .lower_link_list li:nth-child(even) {
    border-right: 1px solid #e4e6e4
  }
  .lower_link_area .lower_link_list li.wide {
    width: 100%
  }
} /*# sourceMappingURL=integrated_report.css.map */